A / B / C / D / E / F / G / H / I / J / K / L / M / N / O / P / Q / R / S / T / U / V / W / X / Y / Z

A

Abaque

Une abaque est un graphique, ou une table de nombres, qui facilite les calculs : par exemple on trace une famille de fonctions comme les logarithmes avec des axes soigneusement millimétrés. On peut alors lire la valeur approximative d'un logarithme donné en regardant sur la bonne courbe à quelle valeur cela correspond, pour une abscisse donnée. Il est amusant de noter que ce mot vient du latin abacus et du grec abax, qui signifie table à poussière.

Adresse

Un nom permettant d'identifier un nœud du réseau. Dans un réseau téléphonique, l'adresse est constituée par le numéro de téléphone.
Autre exemple, une adresse IP est une suite de quatre octets qui peuvent se lire comme quatre nombres entre 0 et 255.

Adresse IP

Sur Internet, chaque ordinateur connecté est identifié par une adresse qui lui est propre : l'adresse IP (Internet Protocol). Elle se compose de 32 bits, soit encore 4 octets qui peuvent se lire comme des nombres entre 0 et 255, par exemple « 125.32.217.4 ».

AES

AES signifie « Advanced Encryption Standard », il s'agit du standard de chiffrement avancé.

Algèbre de Boole

Règles de calcul, inventées par George Boole en 1854, qui traduisent une pensée logique sous forme mathématique : « vrai/faux », « oui/non », « circuit ouvert/fermé » et, en binaire, « 0/1 ».

Algorithme de descente locale

Un algorithme de descente locale est une méthode de résolution qui va passer itérativement d'une solution à une autre, la dernière solution étant toujours voisine de la précédente et meilleure. Cet algorithme est qualifié de « descente » car on descend vers une meilleure solution, et de « locale » car on s'approche ainsi de la meilleure solution au voisinage de la solution initiale. Il n'y a aucune garantie que la solution obtenue soit la solution optimale du problème.

Algorithme génétique

Un algorithme génétique a pour but de trouver la meilleure solution à un problème compliqué. Il opère sur des ensembles de données codées sous une forme destructurée pour qu'elles puissent être traitées de manière similaire à un gène biologique formel, la simplicité de cet objet devant rendre efficace la recherche de solution. À chaque étape, le hasard (simulé par l'ordinateur) est sollicité pour explorer les solutions possibles, en diversifiant les choix afin d'éviter de rester « coincé » autour d'une solution pas forcément optimale. Les solutions sont ensuite comparées et éventuellement améliorées pour retenir la mieux adaptée. On utilise un vocabulaire issu de la génétique pour décrire ce procédé, car il en est inspiré. On parle de croisement et de mutation, qui sont des opérateurs d'exploration de l'espace, et de sélection, qui fait évoluer la « population » de solutions vers les optima d'un problème.

Algorithme glouton

Un algorithme est dit glouton (greedy en anglais) lorsqu'il fait le choix de l'optimum local à chaque étape. Par exemple, un algorithme de routage glouton choisit à chaque étape de continuer vers le voisin qui est le plus proche de sa cible, dans le but de minimiser le nombre total d'étapes. Il est à noter que si le choix est optimal localement à chaque étape, la solution trouvée par un algorithme glouton n'est pas forcément optimale globalement.

Analyse en ondelettes

Elle permet d'analyser les signaux dont les propriétés varient dans le temps, et par exemple de détecter des variations courtes ou brusques dans des signaux audio, sismiques ou médicaux.

Arrondi

Un nombre réel, par exemple 1/3, n'est en général pas exactement représentable par un nombre flottant. Il faut choisir l'un des deux nombres flottants l'encadrant, ici 0,33333 ou 0,33334. Ce choix est fait en fonction du mode d'arrondi donné par l'utilisateur : l'arrondi vers 0 ou vers -∞ donne 0,33333, l'arrondi vers +∞ donne 0,33334, et l'arrondi au plus proche donne 0,33333.

Attracteur

Dans l'étude des systèmes dynamiques, un attracteur est un ensemble (une courbe par exemple) vers lequel un système évolue de façon irréversible en l'absence de perturbations. Un point d'équilibre ou une trajectoire périodique vers lequel le système évolue sont des exemples d'attracteurs.

B

Bande passante

Capacité de transmission d'une liaison de transmission, c'est-à-dire la quantité d'informations qui peut être transmise chaque seconde (généralement comptée en bits par seconde, par exemple 1 Mbits/s pour 1 million de bits par seconde).

Bibliothèque

Au contraire d'un programme, qui est une entité qu'on peut directement exécuter, une bibliothèque est une sorte de « boîte à outils », un ensemble de fonctions effectuant une tâche bien précise qui peuvent être intégrées à un programme.
Par exemple, la bibliothèque X Window System définit des routines graphiques pour créer et/ou modifier des fenêtres dans un environnement graphique.

Bifurcation

Dans l'étude des systèmes dynamiques, une bifurcation correspond au moment où, en changeant ses paramètres, le système change la forme de son comportement. Par exemple, lorsqu'un système passe d'un point où il est à l'équilibre à un mode où il oscille. Le flambage d’une poutre, la perte d’équilibre d’un solide sur un plan incliné, correspondent à des bifurcations des systèmes physiques correspondants.

Bit

Mot construit à partir de binary digit, « chiffre binaire ». Unité élémentaire d'information qui peut prendre deux valeurs : 0 ou 1. C'est la plus petite quantité d'information que peut mémoriser un ordinateur.

Branchement

Une instruction de branchement est un point dans la séquence d'instructions d'un programme pour lequel l'instruction suivante n'est pas forcément celle qui suit dans la mémoire d’instructions. Ces instructions sont de deux types : branchement inconditionnel (instructions goto ou jump...) ou conditionnel (des clauses de type if-then-else...). Pour les branches conditionnelles, la décision de prendre ou non une branche dépend de certaines conditions qui doivent être évaluées. Durant ce temps d'évaluation, le processeur exécute, de façon spéculative, des instructions de l'une des options, plutôt que d'attendre à l'arrêt le retour de la décision finale. S'il se trouve que la spéculation était conforme à la décision, alors l'exécution continue sans plus attendre. Dans le cas contraire, la mauvaise prédiction a fait perdre quelques cycles d'horloge.

C

Canaux cachés

Les attaques par canaux cachés sont basées sur l'exploitation d'informations obtenues par l'observation d'un système, plutôt que par l'exploitation de faiblesses algorithmiques. Par exemple, des données sur le courant électrique ou des fuites électromagnétiques peuvent aider à percer des systèmes. D'où l'intérêt de protéger certains équipements dans des cages de Faraday.

Cepstral

Le domaine cepstral fournit une représentation d'un signal propice à l'analyse de la parole, car dans ce cas il tend à dissocier l'influence des cordes vocales de l'influence du conduit vocal.
Mathématiquement, le cepstre est défini comme la Transformée de Fourier inverse du module d'un spectre exprimé en échelle logarithmique.

Chaîne de Markov

En mathématiques, une chaîne de Markov (du nom du mathématicien russe Andrei Markov qui l'a définie) est un processus stochastique où la prédiction du futur à partir du présent ne nécessite pas la connaissance du passé. La seule mémoire du processus est son état actuel.

Cheval de Troie

Un Cheval de Troie (en anglais trojan horse) est un programme informatique, limité à quelques lignes, qui effectue des opérations malveillantes à l'insu de l'utilisateur. Généralement, il donne un accès à l'ordinateur sur lequel il est exécuté en ouvrant une porte dérobée (en anglais backdoor). Il est extrêmement difficile de détecter un tel programme.

Clusters de PC

C'est un ensemble de plusieurs dizaines ou centaines de PC standard connectés par un réseau très rapide. C'est aujourd'hui une alternative compétitive par rapport aux supercalculateurs de moyenne gamme, car moins onéreux et tout aussi performant.

Code assembleur

Le code assembleur est une représentation sous forme de texte du code machine, qui lui est représenté sous forme de nombres (les fameux « zéros et uns »).   Par exemple,

10111000 00000001 00000000 00000000 00000000

est un code machine du processeur Intel, et sa représentation en code assembleur est

mov eax, 1

qui se lit : « placer [to move] la constante 1 dans le registre eax ».

La traduction automatique du code assembleur au code machine s'appelle la phase d'assemblage.

Dans un compilateur, le code assembleur est la dernière étape avant de produire le code machine.

Compilateur

Un compilateur est un programme chargé de transformer un programme écrit dans un langage de « haut niveau » comme C ou Pascal en un programme écrit en « langage machine ».

Complexité

La complexité d'un algorithme représente la quantité de ressources qui lui sont nécessaires pour résoudre le problème auquel il est destiné, les ressources les plus couramment considérées étant le temps (que l'on mesure en nombre d'opérations élémentaires à effectuer en fonction de la taille des données d'entrée) et l'espace (que l'on mesure en quantité de mémoire à allouer).

Convexe

On dit qu'un polygone est convexe si tout segment de droite ayant ses deux extrémités à l'intérieur du polygone est entièrement dans le polygone.

Coût d'un algorithme

C'est l'ordre de grandeur du nombre d'opérations arithmétiques ou logiques que doit effectuer un algorithme pour résoudre le problème auquel il est destiné, ce coût donne donc une indication de la rapidité de l'algorithme. Cet ordre de grandeur dépend évidemment de la taille N des données en entrée. On parlera de coût linéaire ou de l'ordre de N, si ce coût est proportionnel à cette taille, de coût quadratique s'il est proportionnel au carré de N. Les algorithmes se classent en deux grands groupes : ceux dont le coût est linéaire, quadratique ou polynomial en fonction de N, et ceux - plus complexes - où le coût est au moins exponentiel en fonction de N. La théorie de la complexité definition permet d'évaluer de tels coûts.

CSNET

Le CSNET (Computer Sciences Network) est un réseau d’ordinateurs universitaires reliés entre eux.

Cybercar

Les cybercars sont des véhicules routiers avec des capacités de conduite automatique. Assemblés en flotte, ces véhicules forment un système de transport de marchandises et de personnes sur un réseau routier, à la demande, et de porte à porte. Cette flotte est sous contrôle d'un système de gestion central. Dans leur version initiale, les cybercars sont destinés aux courtes distances en environnement urbain ou sur des sites privés.

À plus long terme, les cybercars pourront rouler automatiquement à haute vitesse sur des pistes dédiées. Avec le développement de ces infrastructures, les véhicules particuliers pourront aussi utiliser ces pistes, tout en passant en mode manuel sur les routes standards.

D

DES

DES signifie « Data Encryption Standard », il s'agit du standard de chiffrement de données qui utilise des clefs de 56 bits.

Discret

Les nombres réels évoluent de façon continue. Intuitivement, cela signifie qu'ils varient doucement, sans « saut » discontinu entre deux valeurs réelles successives. Par opposition, les mathématiques discrètes s'intéressent à des structures mathématiques qui sont séparées les unes des autres, comme le sont par exemple les nombres entiers ou les graphes.

Distance de Bhattacharya

La distance de Bhattacharya calcule la distance entre deux distributions statistiques ; plus précisément, elle mesure de combien deux répartitions aléatoires sont séparées. Le calcul correspond à une mesure de corrélation entre les deux échantillons de chaque distribution. Un tel calcul a été proposé explicitement par Jensen en 1986. Son nom vient de Rabi Bhattacharya, chercheur en probabilités et statistique, professeur à l'université d'Arizona.

Distance de Mahanalobis

La distance de Mahanalobis (nommée d'après Prasantra Chandra Mahanalobis, scientifique indien, chercheur en statistique) permet de comparer deux échantillons : ils sont d'autant plus différents pour cette distance que leurs valeurs moyennes sont différentes et que leur précision est grande. En effet, si leur précision est grande, alors une différence entre leurs moyennes est significative, et on peut les considérer comme différents. En revanche, si la précision est faible, donc que la dispersion est grande, alors une différence entre leurs moyennes n'est pas significative, elle est peut-être uniquement due au manque de précision.
Bref, comme toujours en statistique, on peut parfois affirmer que deux quantités diffèrent, mais jamais qu'elles sont vraiment égales : on peut parfois dire non, jamais oui !
Mathématiquement, cette distance quadratique est la différence entre les deux moyennes au carré, pondérée par leur précision (plus précisément, divisée par la somme de leur variance).

Double précision

Le format double précision est le plus couramment utilisé sur les ordinateurs actuels pour représenter les nombres en virgule flottante. Stocké sur 64 bits, il correspond à une mantisse de 53 bits, soit environ 16 chiffres décimaux, et permet de représenter des nombres de valeur absolue comprise entre 4,94 x 10-324 et 1,80 x 10308.

É

Échantillonnage

Lors d'un échantillonnage, on fait une approximation d'un objet continu, une courbe par exemple, par un ensemble de points suffisamment rapprochés pour bien représenter cette courbe.
Dans l'ordinateur, les images sont échantillonnées et représentées par un tableau à deux dimensions de « pixels » de couleur, chacun de ces échantillons correspond à une approximation de la couleur de l'image autour de ce point. Tous ensemble, ils nous donnent une vue fidèle de l'image initiale. Une bonne image a 1000 x 1000 échantillons. De même, un son est échantillonné avec quelques milliers de valeurs par secondes. Une surface est échantillonnée par de petites facettes planes, etc. Une intégrale mathématique s'échantillonne par une somme. Mathématiquement, on sait souvent calculer combien il faut d'échantillons pour obtenir une approximation correcte de l'objet continu considéré.

Émergence

Dans l'étude des systèmes dynamiques, il y a émergence quand, d'un ensemble d'éléments simples en interaction, émergent de nouvelles propriétés qui ne s'expliquent pas à partir des propriétés de chaque élément. Cela se produit à partir d'un seuil critique de complexité pour des éléments qui interagissent de manière non linéaire (c'est-à-dire pas seulement additive). Un réseau de neurones artificiels peut ainsi faire des calculs ou mémoriser des structures, sans rapport avec les propriétés de chaque neurone.
En biologie, l'apparition de la vie à partir de l'inanimé, et l'émergence de la conscience sont des exemples qui restent à élucider.

E

Ergodique

Un signal est ergodique si on peut calculer sa moyenne en répétant la même expérience plusieurs fois plutôt que d'observer plusieurs expériences simultanées. On peut faire une analogie avec le lancer de dé : si au lieu de lancer 100 dés, on lance 100 fois le même dé, le résultat est identique. Mais si le dé était modifié après chaque lancer, ce ne serait pas le cas.

F

Factorisation des entiers

Considérons un nombre entier, très grand, dont on sait qu'il est le produit de deux nombres premiers, mais on ne sait pas lesquels. Le problème de la factorisation est de trouver ces deux nombres. C'est un problème simple à poser, mais difficile à résoudre. En effet, s'il faut n chiffres pour écrire notre nombre, on ne connaît encore aucune méthode, ni à la main, ni avec les ordinateurs actuels, qui garantisse qu'on puisse trouver ces deux facteurs en effectuant moins de en/3 opérations élémentaires (e = 2,71828...) : les seuls algorithmes connus pour la factorisation sont de complexité exponentielle.
Paradoxalement, l'obstacle que constitue cette complexité présente un grand intérêt, car c'est précisément sur la difficulté à le franchir que repose la sécurité des systèmes de cryptage les plus répandus, comme ceux qui sont utilisés sur internet pour transmettre des informations confidentielles.

Filtre de Kalman

Le filtre de Kalman-Bucy permet d'estimer à partir d'une série de mesures une quantité qui évolue avec le temps. Il tient compte des erreurs de mesure. C'est un outil majeur en automatique et en traitement du signal, qui a de multiples déclinaisons et généralisations. Il est utilisé dans une large gamme de domaines technologiques (radar, vision électronique, communication...), mais aussi dans des domaines aussi variés que la biologique ou la finance.
Ce filtre se décompose en deux étapes, l'une de prédiction de la quantité à partir des informations passées, l'autre de mise à jour de cette estimation à l'arrivée d'une nouvelle mesure, et calcule la meilleure combinaison de toutes ces sources d'information. Le calcul inclut l'estimation de la moyenne, mais aussi de la précision (en fait, de la co-variance ou précision quadratique) de la quantité estimée.
Grâce aux hypothèses choisies, pour estimer l'état courant, sans avoir besoin de tout l'historique : seuls l'état précédent et les mesures actuelles sont nécessaires. C'est un estimateur récursif. Il est même optimal sous ces hypothèses.
Plus précisément : il minimise la somme des carrés des erreurs de mesure et de l'estimation initiale pondérées par leur précision. Cela correspond à l'hypothèse suivante : un bruit additif gaussien ajouté aux mesures et des équations linéaires.

FPGA

Les FPGA (Field Programmable Gate Array) se situent à mi chemin entre les microprocesseurs et les circuits à façon. Les premiers sont entièrement programmables, alors que la fonctionnalité des seconds est définitivement figée dans le silicium. Un FPGA, quant à lui, est bâti sur une matrice d'éléments dont on peut spécifier, par programmation, à la fois la fonctionnalité et l'interconnexion des éléments. Il possède donc un aspect programmable, puisque l'ensemble peut être configuré selon les besoins, et il se comporte comme un circuit à façon une fois la configuration établie.

G

Gigaflops

Un milliard de flops. Flops est l'acronyme utilisé pour Floating-point Operations per Second, qui se traduit par « opérations en virgule flottante par seconde ». C'est l'unité de mesure de la vitesse de calcul d'un ordinateur ou d'un processeur.

Un gigaflops correspond donc à un milliard d'opérations en virgule flottante par seconde. De même, on peut parler de mégaflops (1 million de flops), téraflops (1000 milliards de flops), etc.

GPRS

GPRS signifie « Global Packet Radio Service », il s'agit d'une évolution du standard GSM qui permet des transferts de données par paquets et qui prépare l'arrivée de l'UMTS.

Graphe d'interconnexion

Graphe où les nœuds représentent les objets informatiques et où les objets sont reliés par un arc s'ils peuvent communiquer.

Grid computing

On appelle « Grid » ou « grille informatique » un ensemble coordonné de ressources informatiques, à grande échelle, dont le but est de fournir une qualité de service très performante. Il ne s'agit pas simplement d'échanger des fichiers, mais de permettre un accès direct aux ordinateurs, aux logiciels, aux données et autres ressources qui composent la grille. Un tel système n'est pas assujetti à une commande centralisée, mais utilise des protocoles et des interfaces normalisés ouverts, d'usage universel.
Le nom « Grid computing » a été choisi par analogie avec le réseau électrique (Electric Power Grid), l'énergie électrique arrivant à la prise de courant sans que l'utilisateur se soucie de son origine.
Le « Grid computing » présente de nombreuses problématiques de recherche. En France par exemple, le projet Grid'5000 construit une plateforme expérimentale, répartie sur 8 sites, afin de réaliser des expériences aussi bien sur les aspects réseau, système, programmation que sur les applications, notamment dans le domaine de l'imagerie médicale.

GSM

GSM signifie « Global System for Mobile Communications ». Initialement, c'étaient les initiales de « Groupe Spécial Mobile ». Il s'agit d'un standard de téléphonie mobile utilisé principalement en Europe et en Asie.

H

Heuristique

Démarche de résolution de problème qui ne garantit pas l’obtention d’une solution, ni son optimalité.

Horloge (processeur)

Permet la synchronisation de toutes les actions de l'unité centrale. Elle est présente dans les processeurs dits synchrones (c'est le cas de la plupart des processeurs et plus largement, des circuits de logique séquentielle). Cela signifie qu'ils fonctionnent au rythme d'un signal de synchronisation.

I

IEEE

L'IEEE (Institute of Electrical and Electronics Engineers) est une association qui compte plus de 380 000 membres, originaires de 150 pays. Elle fait autorité dans les domaines de l'ingéniérie informatique, de la technologie biomédicale, des télécommunications, de l'électricité, de l'électronique… Une grande part de son activité consiste à établir et maintenir des normes (environ 900 standards actifs actuellement, et 700 en préparation).

IETF

IETF signifie « Internet Engineering Task Force », c'est l'organisme de standardisation d'Internet, qui définit l'évolution de l'architecture et du fonctionnement du réseau. Chaque protocole standardisé est publié sous la forme d'un RFC (Request For Comment) numéroté et téléchargeable sur Internet. Le protocole IP est par exemple spécifié dans le RFC 791.

Indécidabilité / Indécidable

Une propriété mathématique est dite indécidable s'il n'existe aucun algorithme permettant de la résoudre en toute généralité. Des cas particuliers peuvent être résolus, mais pas tous.

Suivant cette définition, « déterminer si l'exécution d'un programme, lancée sur une donnée particulière, se termine » est un problème indécidable. Remarquons que lancer l'exécution ne répond pas à la question, car on ne sait pas faire la différence entre une exécution qui ne se termine pas et une exécution qui dure excessivement longtemps.

L'indécidabilité n'est pas le simple constat que personne n'a trouvé d'algorithme pour résoudre tel ou tel problème, il s'agit d'une propriété qui est prouvée formellement.

Informatique ambiante

Intégration de systèmes informatiques communicants dans tous les lieux et objets de notre quotidien. On parle également d'informatique ubiquitaire ou pervasive.

Informatique vestimentaire

Intégration de systèmes informatiques aux vêtements, aux bijoux, aux accessoires portés (lunettes, oreillettes, etc.).

Intelligence en essaim

Le terme « intelligence en essaim » ou en anglais « swarm intelligence », a été créé par Gerardo Beni en 1989 (Proceedings of the Seventh Annual Meeting of the Robotics Society of Japan) :
« Swarm Intelligence is a property of systems of non-intelligent robots exhibiting collectively intelligent behavior. »
c'est-à-dire « L'intelligence en essaim est une propriété de systèmes de robots non-intelligents qui montrent collectivement un comportement intelligent ».
Dans la préface de leur livre intitulé « Swarm intelligence », paru en 1999, Éric Bonabeau, Marco Dorigo et Guy Théraulaz proposent cette définition plus générale :
« ... swarm intelligence, the collective intelligence of groups of simple agents »
soit : « l'intelligence en essaim, l'intelligence collective de groupes d'agents simples ».

Interface haptique

Une interface haptique est un système à retour d'effort. Il permet à son utilisateur d'interagir avec une application logicielle ou un objet virtuel par l'intermédiaire du sens du toucher et se compose d'une structure mécanique articulée équipée de moteurs et de capteurs. Lorsqu'un utilisateur prend en main l'extrémité de la structure, il peut la déplacer librement dans le monde réel et virtuel. Sa main virtuelle entre alors en contact avec un objet numérique et un courant est envoyé aux moteurs, qui simulent un contact réel.

Internet

Le réseau mondial des réseaux. Internet est un réseau de réseaux : chaque organisation disposant d'un réseau peut connecter son réseau à Internet, en connectant certains de ses routeurs à des routeurs d'autres réseaux participant déjà à Internet. Des accords bilatéraux avec les organisations possédant ces routeurs définissent la manière dont ce nouveau réseau va s'intégrer. Le plan d'adressage IP permet de rendre cohérent cet enchevêtrement de réseaux.

Interopérabilité

L'interopérabilité est le fait que plusieurs systèmes, souvent hétérogènes, puissent communiquer sans ambiguïté et travailler ensemble. L'interopérabilité nécessite que les communications obéissent à des normes, clairement établies et univoques. Internet est l'exemple planétaire de système communiquant où potentiellement tous les ordinateurs peuvent interopérer. Les formats de données standard constituent la brique de base pour que les programmes interopèrent en s'échangeant des données. D'autres normes permettent à des logiciels d'interopérer de manière beaucoup plus étroite en s'échangeant directement des requêtes de calcul, des ressources diverses, etc.

IP (Internet Protocol)

Le protocole qui définit le format des paquets qui circulent sur Internet. Il définit entre autres le format des adresses.

IPSec

IPSec signifie « Internet Protocol Security », c'est un protocole visant à sécuriser les échanges au niveau du protocole Internet.

L

Lambda-calcul

Le lambda-calcul, défini par Alonzo Church dans les années 1930, est une formalisation de la notion de calcul. Toute fonction calculable par une machine de Turing peut également être formulée et calculée au moyen du lambda-calcul, et réciproquement : c’est la thèse de Church-Turing, qui affirme que ces deux modèles de calcul sont équivalents. Le lambda-calcul peut aussi être considéré comme un langage de programmation abstrait et, à ce titre, il appartient aux fondements théoriques de la programmation, notamment pour la définition des langages de programmation fonctionnels.

Lien

Une connexion entre deux nœuds du réseau, par exemple une fibre optique, une liaison radio, une connexion ADSL...

Log

Un fichier de log est un fichier dans lequel, au fur et à mesure de son exécution, un algorithme écrit des informations pour permettre de suivre son fonctionnement, analyser ses performances, détecter des erreurs, faire des statistiques sur son fonctionnement. Cette trace est analysée par un autre outil, découplé du premier pour ne pas perturber son fonctionnement.

Loi de Moore

En 1965, Gordon Moore, co-fondateur de la société Intel, prédit que le nombre de transistors pour une même surface de circuits intégrés doublera tous les ans. En 1980, il affine cette loi en énonçant que le nombre de transistors des microprocesseurs doublera tous les 18 mois. Jusqu'à maintenant, cette loi s'est à peu près vérifiée. Elle devrait être valide jusqu'en 2015, date à laquelle les limites technologiques devraient commencer à contrarier cette prédiction. En effet, formulée autrement, cette loi énonce aussi que la quantité de matière nécessaire à la représentation d’une unité d’information est divisée par 2 tous les 18 mois. Une extrapolation de la loi de Moore juqu’en 2015 montre que cette quantité de matière se réduira alors à une particule élémentaire.

M

Machine de Turing

Mécanisme virtuel exécutant une procédure bien définie en changeant le contenu des cases d’un tableau infini. C’est un modèle abstrait de tous les ordinateurs actuels. Il en fournit une définition précise et est largement utilisé pour étudier la complexité des algorithmes.

Mathématiques incarnées

Elles décrivent les mathématiques qui se font avec l’informatique. Ce domaine scientifique a bouleversé les mathématiques en permettant des calculs numériques vertigineux, en obligeant à comprendre jusqu’à quel point les dérivations mathématiques sont mécanisables…

Méthode tabou

C'est une méthode d'optimisation qui explore un espace à la recherche d'optimum locaux et de leurs voisinages, tout en mémorisant des zones à ne plus explorer, les tabous. L'idée est d'éviter d'enfermer la recherche dans un optimum local en lui permettant d'explorer le voisinage, tout en lui évitant de retomber dans un optimum local déjà exploré. Cette méthode appartient à la famille des méthodes d'optimisation itératives par perturbation d'une recherche locale.

Micro-instruction

Un programme est  écrit dans un langage de haut niveau qu'un microprocesseur ne peut pas interpréter directement. Il faut le traduire dans un langage de plus bas niveau, composé d'instructions élémentaires, compréhensibles par le microprocesseur et  appelées micro-instructions.

Middleware

Un middleware ou intergiciel est un logiciel intermédiaire qui crée un réseau d'échange d'informations entre différentes applications informatiques.

Mode client serveur

Un ordinateur, le client, émet une demande qu'on appelle une requête. Il l'émet à destination d'un autre ordinateur, le serveur, qui contient le fichier recherché et l'envoie au client. Le mode client serveur est, par exemple, le mode de fonctionnement de la navigation sur internet. L'internaute, grâce au navigateur, émet à partir de son ordinateur une requête au serveur du site internet qu'il consulte. Le serveur lui envoie en réponse les fichiers de la page web, les images, les vidéos, etc.

Modèle mathématique

Représentation d’un système, biologique ou autre, par un ensemble de variables et de relations mathématiques entre ces variables, comme des équations différentielles. Un modèle simplifie, par définition, la réalité, mais préserve les aspects importants pour étudier un phénomène donné.

Monte Carlo

Les méthodes de Monte Carlo reposent sur la loi des grands nombres : en répétant un grand nombre de fois une expérience, de façon soigneusement indépendante avec des valeurs aléatoires à chaque fois, on simule le hasard et on obtient une approximation de plus en plus fiable de la valeur de l'espérance mathématique du phénomène observé en le simulant.

MP3

Terminée en 1994, la norme MP3 est la spécification sonore de la norme MPEG-1. C’est une compression d’un facteur 4 à 12 des données qui annule les sons les moins perçus. La perte de qualité sonore de la musique est acceptable pour l'oreille humaine.

MPEG

Élaboré en 1988, le codage MPEG (Moving Picture Experts Group) est une norme de compression, décompression, traitement et codage d’images animées pour la vidéo numérique. Elle tire parti de la très grande redondance statistique des images aussi bien dans le domaine temporel, d’une image à la suivante, que dans le domaine spatial, entre pixels adjacents sur une même image.

N

Nœud

Une entité du réseau, par exemple un ordinateur ou un téléphone.

Non-déterminisme

Un algorithme est non-déterministe si, à partir d'un état donné, il peut passer non pas à un seul autre état, mais à plusieurs. Ainsi, de proche en proche, il ne définira pas une séquence d'opérations, mais un arbre d'opérations possibles. Un tel mécanisme abstrait peut facilement explorer des problèmes à combinaisons multiples. Il peut être réalisé concrètement au prix, au pire, d'une complexité exponentielle.

NP-complet

Le terme NP-complet renvoie à la théorie de la complexité. L'ouvrage de référence sur le sujet est celui de Garey et Johnson Computers and intractability. A guide to the theory of NP-completness publié en 1979.
Un problème de décision consiste à déterminer pour une instance quelconque fournie en entrée s'il existe une solution satisfaisant des contraintes décrivant une propriété d'intérêt, par exemple, s'il existe une façon de compléter une grille donnée de sudoku vérifiant les contraintes imposées par ce jeu.
Un problème de décision est NP-complet si :
- il est dans la classe de complexité NP (Non déterministe polynomial), c'est-à-dire : on peut vérifier qu'une solution potentielle de taille n satisfait les contraintes du problème par un algorithme dont le temps de calcul est majoré par une fonction polynome de n,
- et il est NP-difficile, c'est-à-dire : si on trouve un algorithme déterministe polynomial pour le résoudre, alors on saura résoudre en temps polynomial n'importe quel problème de NP.
Le sous-ensemble des problèmes NP-complets constitue le noyau dur de la classe de complexité NP. Trouver un algorithme efficace pour résoudre l'un d'entre eux permettrait de prouver que P=NP (et de devenir millionnaire). Si on admet que P est différent de NP, alors il n'existe pas de résolution informatique efficace des problèmes NP-complets que l'on rencontre dans de nombreux problèmes réels, sauf si on les restreint à des cas particuliers plus simples.
La résolution des problèmes NP-complets se heurte à l'explosion combinatoire du nombre de solutions potentielles à vérifier, qui peut nécessiter un temps de calcul exponentiel.
C'est toute la nuance entre « trouver une solution » et « vérifier une solution ».

O

Octet

Suite de 8 bits, soit encore un nombre entre 0 (00000000 en binaire) et 255 (11111111 en binaire).
Par exemple, la suite 10000110 s'interprète comme le nombre 134 écrit en binaire : 134 = 1×27 + 0×26 + ... + 0×23 + 1×22 + 1×2 + 0×1.
C'est aussi l'unité élémentaire pour un fichier texte, où chaque caractère est généralement codé sur un octet.
Les octets se comptent en kilo, en méga, en giga ou en téra : 1 Ko vaut 1024 octets, 1 Mo vaut 1024 Ko, 1 Go vaut 1024 Mo, 1 To vaut 1024 Go.

Octree

Pour accélérer certains calculs géométriques dans l’espace, il existe une technique qui consiste à découper récursivement cet espace en huit sous-espaces, organisés dans une structure de données arborescente, l’octree, qui représente la hiérarchie de localisation. Cette subdivision s’effectue jusqu’à un certain seuil qui constitue alors la hauteur de l’arbre.

P

Paquet

Les informations qui circulent sur un réseau sont scindées en paquets de données de petite taille. Un paquet est l'unité élémentaire d'information pouvant être envoyée d'un routeur à un autre. Un flux important de données doit donc être découpé en une multitude de paquets pour pouvoir être acheminé dans un réseau. Chaque paquet contient en plus des données les informations nécessaires à ce qu'il puisse circuler sur le réseau vers son destinataire. On parle de routage de paquets pour l'opération qui consiste à les véhiculer d'un ordinateur à l'autre sur un réseau.

Parallaxe

La parallaxe provoque le déplacement apparent d’un objet observé à partir de deux points différents. On observe facilement ce phénomène en levant un doigt devant soi et en fermant un œil : en déplaçant la tête, l’index change de place par rapport au fond. Cet effet de mouvement parallactique est souvent utilisé dans les jeux vidéos où l'on exploite l'immobilisme du décor en fond de scène comparativement aux premiers plans très mobiles (un tel effet est particulièrement visible dans un jeu de course automobile par exemple).

Parallélisation

La parallélisation d'un logiciel consiste à en décomposer les opérations pour qu'elles soient exécutées en parallèle sur plusieurs calculateurs (ou plusieurs unités centrales d'un même calculateur). Selon la nature du calcul, la parallélisation peut être aisée et très efficace (si toutes les opérations sont indépendantes) ou limitée (dans le cas par exemple où chaque opération dépend du résultat de la précédente). La parallélisation constitue un véritable domaine de recherche. Selon la façon dont les éléments de calcul mis en parallèle communiquent (en partageant une mémoire commune ou en s'envoyant des messages) et selon la technologie qui réalise la parallélisation (ordinateurs en réseau, calculateurs mis sur une même carte...), le problème est très différent. Dans un ordinateur domestique, l'unité centrale, la carte graphique et les autres périphériques (réseau, etc.) ont des processeurs qui travaillent en parallèle pour une meilleure efficacité.

Pare-feu

Un pare-feu (appelé aussi coupe-feu ou firewall en anglais), est un système qui filtre les paquets de données échangés par un ordinateur avec le réseau. Le pare-feu sert à repérer les connexions suspectes de la machine, mais également à les empêcher. Il protège ainsi cet ordinateur des intrusions provenant du réseau et contrôle l'accès au réseau des applications installées sur la machine. En effet, il existe une catégorie de virus, appelés chevaux de Troie, qui ouvrent une brêche dans le système d'exploitation pour permettre une prise en main à distance de la machine par un pirate informatique.

Parseur

Un parseur est un composant logiciel qui vérifie la syntaxe d'un fichier d'entrée et construit une structure de données ou lève des événements à partir de sa lecture.

Pétaflops

Flops est la contraction de Floating-Point Operations Per Second, « opérations à virgule flottante par seconde ». La vitesse d’un ordinateur se mesure au nombre de ces opérations sur des nombres réels par seconde. Actuellement, les pétaflops ne concernent que quelques superordinateurs au monde, 1 pétaflops = 1 million de milliards de flops.

Pixel

Le terme « pixel » est la contraction de l'expression anglaise « picture element ». En informatique, le pixel est le plus petit élément d'une image susceptible d'être manipulé par des programmes ou logiciels.

Point d’intérêt

En traitement d’images, on désigne par point d’intérêt une zone de l’image particulièrement saillante (frontière d’un objet, changement de texture, de couleur, etc.).

Portabilité

Capacité du code source d'une application à être « porté » d'une plate-forme à une autre.

Portage de code

C'est le fait de transformer le code source d'une application conçue pour une plate-forme (par exemple, Mac OS) afin d'obtenir le code source de cette même application, mais pour une autre plate-forme (par exemple, Windows).

Porte logique

C'est le composant de base de tous les circuits intégrés. Elle est composée de quelques transistors et assure toutes les fonctions élémentaires logiques (ET, OU, NON). À partir de ces briques de base, on construit des éléments plus ou moins complexes comme une mémoire ou unité arithmétique et logique. Un microprocesseur intègre plusieurs dizaines de millions de portes logiques.

Précision arbitraire

La précision arbitraire consiste à calculer sur n chiffres, où l'entier n est spécifié par l'utilisateur, et peut aller de quelques unités à plusieurs millions.

Précondition

Une précondition est une condition ou une propriété qui doit être vérifiée avant l'exécution d'un algorithme ou d'une instruction. Cela permet de garantir que le calcul sera bien défini et correctement exécuté, sur des données du bon type.

Programmation par objets

La programmation par objets (object-oriented programming) organise le développement des programmes autour d'entités informatiques appelées objets. Celles-ci sont censées représenter des entités du monde réel et les actions qu'il est possible de leur appliquer, c'est-à-dire les méthodes.
Intimement reliée à la programmation objet, on trouve la notion d'héritage qui permet d'organiser les objets en classes, les plus spécifiques héritant des plus générales de leurs méthodes ou les redéfinissant.
La programmation par objets permet donc d'organiser un programme autour d'objets proches de l'intuition tout en favorisant la généricité et la réutilisation du logiciel.

Programme source

C’est simplement le texte du programme qui est saisi dans un traitement de texte par exemple. Ce fichier source est voué à être compilé, c’est-à-dire à être traduit en langage machine.

Protocole

Une spécification de comment doivent fonctionner et communiquer les nœuds d'un réseau. Un protocole spécifie en particulier les formats des messages échangés (au bit près) et comment ces messages doivent être traités. Les protocoles d'Internet sont labellisés par l'IETF.

R

Racine d'une fonction

On dit d'un réel x* qu'il est racine d'une fonction f : RR, si x* annule la fonction f, c'est-à-dire si f(x*) = 0. Ce concept, en apparence simple, peut modéliser des situations relativement complexes. Par exemple, si y(t) désigne la hauteur d'un projectile au dessus du sol en fonction du temps t, calculer le temps de chute revient à trouver t tel que y(t) = 0.

Si, au lycée, on se concentre sur la détermination de formules pour calculer la ou les racines de fonctions simples (telles que f(x) = ax² + bx + c), cette démarche est en général vouée à l'échec, même pour des fonctions élémentaires (comme par exemple f(x) = e x + x). Le mathématicien se concentre alors sur l'existence de racines, leur nombre, leurs propriétés (positivité, rationalité...) et développe des algorithmes pour permettre à l'ordinateur de les estimer plus précisément.

Raisonnement par récurrence

Un raisonnement par récurrence (ou de proche en proche, on dit aussi par induction) permet de démontrer toute une suite de propriétés, en vérifiant seulement deux conditions : que la première propriété est vraie (initialisation), puis que si une propriété est vraie, alors la suivante l'est aussi (héritage) ; de même que pour grimper en haut d'une échelle, il suffit de remplir deux conditions : atteindre le premier barreau, et être capable de passer d'un barreau au barreau suivant.
C'est à Blaise Pascal que l'on doit la première utilisation du raisonnement par récurrence, dans le Traité du triangle arithmétique en 1654. Il en existe de multiple variantes.

Recuit simulé

Le recuit simulé est une méthode d'optimisation inspirée d'un processus utilisé en métallurgie, qui alterne des cycles de refroidissement lent et de réchauffage (recuit) qui tendent à minimiser l'énergie du matériau. Pour résoudre des problèmes d'optimisation difficiles, cet algorithme utilise un échantillonnage probabiliste, alternativement très aléatoire (chaud) puis complètement déterminé (froid), combinant donc des phases exploratoires et des phases d'affinage pour trouver la meilleure solution globale à un problème et pas uniquement un optimum partiel et local.

Registre

Un registre est une mémoire de petite taille (quelques octets), situé à l'intérieur même du processeur, contrairement à la mémoire vive. Utilisés tout le temps, les registres sont très rapides, de manière à ce que l'UAL — Unité Arithmétique et Logique —, qui gère les calculs arithmétiques sur les nombres entiers et les tests, puisse manipuler leur contenu à chaque cycle de l'horloge.

Requête à un oracle

En algorithmique, on appelle oracle une source d’information sur une donnée nécessaire à un calcul. C’est en général la seule source d’information dont l’algorithme dispose sur cette donnée, et le fonctionnement interne de l’oracle n’a pas à être connu. Chaque fois qu’une nouvelle information sur cette donnée est nécessaire, l’algorithme soumet une requête à l’oracle, sous un format fixé. La réponse de l’oracle, elle-même sous un format fixé, ne dépend que des paramètres de la requête. Ainsi, un graphe dont les sommets sont numéroté de 1 à n peut n’être accessible par un algorithme qu’au moyen des réponses qu’un oracle donnera à des requêtes de la forme « quel est le ke voisin du sommet numéro p ? », à laquelle l’oracle répondra par un numéro de sommet.

Réseau

Un réseau est constitué de nœuds reliés par des liens, ce qui se modélise souvent par un graphe. Par exemple, des routeurs peuvent être reliés par des fibres optiques.

Routage

Le processus qui dans un réseau permet d'acheminer de proche en proche un paquet de données jusqu'à une destination.

Route

Une route est une suite de nœuds permettant de cheminer d'un nœud source vers un nœud destination. Formellement, il s'agit d'une suite de nœuds telle que chaque nœud est relié au suivant, le premier nœud étant la source et le dernier la destination.

Routeur

Un ordinateur dédié à la retransmission d'information. Généralement un routeur est relié à plusieurs autres routeurs et permet d'acheminer des données des uns vers les autres.

S

SIFT

SIFT est l’acronyme de Scale-Invariant Feature Transform, ce qui en français désigne l’opération consistant à extraire d’une image des caractéristiques invariantes par changement d’échelle.

Simulation informatique

Prédiction par ordinateur de scénarios du comportement d’un système réel, à partir de son modèle et des conditions initiales choisies.

SSL

SSL signifie Secure Sockets Layer. Ce protocole de communication, développé au départ par la société californienne Netscape, a été adopté par de nombreuses institutions financières pour le commerce sur Internet. De nombreuses versions du SSL reposent sur un cryptage par RSA. Développé en 1977 par le trio Rivest, Shamir and Adleman, le RSA est le système de cryptage par clé publique le plus répandu. Cet algorithme est largement utilisé par les protocoles de commerce électronique. En général, les clés RSA sont longues de 1024 à 2048 bits.

Stochastique

Vient du grec « stokhazein » qui signifie « tirer à l’arc vers une cible » ; se dit d'une distribution partiellement aléatoire, dont le caractère aléatoire est associé à un processus de sélection.
La géométrie stochastique permet de modéliser de façon probabiliste des ensembles ou configurations de points ou d'objets, en leur associant une loi de probabilité sur l'espace des configurations possibles. Elle est utilisée notamment pour modéliser les réseaux de télécommunication. Depuis une dizaine d'années, elle trouve aussi une application dans le domaine du traitement d'images.

Super-utilisateur

Sur un ordinateur, le super-utilisateur (aussi appelé root en anglais) possède tous les droits pour administrer le système d'exploitation de l'ordinateur, définir les droits d'accès d'autres utilisateurs, réparer des problèmes logiciels. Au-delà de ses compétences techniques, il doit respecter des règles strictes de confidentialité, puisqu'il peut accéder à toute l'information stockée et la modifier.

Supercalculateur

C'est un ordinateur très puissant composé de quelques dizaines à quelques dizaines de milliers de processeurs connectés très étroitement les uns avec les autres. Les plus performants sont capables d'exécuter jusqu'à 50 × 1012 opérations par seconde (voir le top500 document externe au site qui recense les ordinateurs les plus puissants).

Superscalaire

L'architecture superscalaire implémente une forme de calcul parallèle sur un seul processeur, ce qui permet un meilleur rendement CPU qu'en fonctionnement temporel classique. Le processeur exécute plusieurs instructions simultanément, chacune dans un pipeline différent. Pour ce faire, il anticipe des instructions qu'il envoie simultanément au traitement.

Système d'exploitation

Le système d'exploitation est le logiciel « chef d'orchestre » d'une machine. En particulier, c'est lui qui fait l'interface entre le matériel (disque dur, processeur…) et l'utilisateur.

Système dynamique à structure dynamique

Système dynamique dont l'état a une structure elle-même susceptible de changer dans le temps.

T

Table de routage

Table utilisée par les routeurs et les stations pour décider vers quelle direction envoyer les paquets de données reçus en fonction du destinataire du paquet.

Tables

Les tables de fonctions trigonométriques (sinus, cosinus, tangente) et les tables de logarithmes étaient bien connues des lycéens avant la généralisation de l'utilisation des calculatrices en cours de math et pour les examens. Les élèves se servaient de ces tables, qui donnaient des valeurs arrondies pour une série de nombres espacés d'un pas régulier, pour effectuer les calculs numériques.

Temps partagé

C'est une méthode d'exploitation de l'unité de calcul d'un ordinateur selon laquelle les différents traitements en cours sur l'ordinateur (par exemple édition de texte, lecture MP3, téléchargement, gestion de l'écran...) utilisent l'unité de calcul tour à tour par tranches de temps dont la durée est fixée à l'avance par le système d'exploitation. On appelle cela une stratégie d'allocation de l'unité de calcul. Pour se figurer cette méthode, on peut imaginer un guichet avec sa file d'attente de clients, où le préposé ne consacrerait qu'une minute par client, et où si un client en demande plus, il reprend la file après chaque minute.

Les tranches de temps sont généralement très courtes relativement au temps total demandé par un traitement, et celui-ci devra donc utiliser plusieurs tranches en attendant avant chaque tranche que son tour revienne. Les tranches de temps sont aussi très courtes relativement aux durées auxquelles est sensible un utilisateur ; cela lui donne l'impression que tous les traitements sont simultanés.

En réalité, les ordinateurs ont plusieurs unités de calcul, même les ordinateurs grand public. Mais le temps partagé reste utile car il y a souvent moins d'unités de calcul que de traitements à réaliser. On peut alors se figurer un service avec plusieurs guichets.

Temps réel

Un logiciel est dit « temps réel » si son temps d'exécution obéit à des contraintes, donc peut être contrôlé. Ainsi, le logiciel qui contrôle une machine à laver est temps réel, bien que ses constantes de temps soient de l'ordre de la minute, car des contraintes temporelles font partie de ses spécifications. En revanche, le réseau Internet ne l'est pas, malgré des constantes de temps de quelques fractions de secondes, car il répond « au plus vite » mais sans garantie sur un délai. Dans un système temps réel, le temps de réaction à une entrée ou le temps de calcul d'un résultat doit être prédictible.

Test de Fisher

Il s'agit d'un test statistique, pour comparer la dispersion de deux échantillons ou de deux ensembles de mesures (au niveau mathématique : leur variance lien externe au site). On calcule le rapport de ces deux dispersions, puis on vérifie s'il dépasse une certaine valeur théorique, que l'on cherche dans la table de Fisher.
Si le rapport calculé est plus grand que la valeur théorique, alors on peut définitivement rejeter l'hypothèse d'égalité des deux dispersions. Mais s'il est inférieur, on ne peut aboutir à une conclusion : les deux dispersions sont peut-être identiques, mais il est aussi possible que nous manquions de valeurs pour voir la différence.
Le test de Fisher est utilisé par exemple pour comparer deux modèles, et voir si un modèle est définitivement moins précis qu'un autre.

Thèse de Church-Turing

Cette thèse affirme que tout traitement réalisable mécaniquement peut être accompli par un ordinateur. C’est une thèse et non un théorème démontrable, mais le fait que toutes les tentatives pour formaliser le concept d’algorithme aient conduit à des résultats équivalents la rend unanimement plausible.

Topologie (géométrie)

La topologie est une science qui étudie les propriétés géométriques invariantes d'un objet quand celui-ci est étiré, tordu ou rétréci de manière continue. Un cube et une boule sont ainsi topologiquement équivalents, mais pas un tore (une chambre à air ou un beignet) puisqu'il y a un trou. Un tore et une tasse sont équivalents.

Topologie (réseau)

Le terme topologie prend un sens différent de son sens géométrique lorsqu'il s'agit de réseau.
La topologie d'un réseau désigne la façon dont ses nœuds sont interconnectés (en anneau, en étoile, etc.). Elle est modélisée par le graphe d'interconnexions.

U

Ubiquitous computing

Ubiquitous computing, traduit par ubiquité numérique, informatique diffuse ou informatique omniprésente, désigne les technologies qui favorisent l'accès aux informations partout, à tout moment et à travers de multiples interfaces, par une connexion permanente au réseau, et par la miniaturisation des dispositifs électroniques et leur intégration dans n'importe quel objet du quotidien.

UMTS

UMTS signifie « Universal Mobile Telecommunications System ». Il s'agit du système de téléphonie mobile également appelé 3G (troisième génération) permettant des échanges de données jusqu'à 2 Mbps.

V

VPN

VPN signifie « Virtual Private Network », soit réseau privé virtuel. Il s'agit d'un mécanisme qui permet à des ordinateurs distants géographiquement d'être reliés virtuellement comme s'ils appartenaient au même domaine.

W

Wi-Fi

Wi-Fi est l'abréviation de « Wireless Fidelity » rassemblant plusieurs normes de réseau sans fil définies par l'IEEE telles que 802.11b et 802.11g qui sont les plus connues.

X

XML

XML (eXtensible Markup Language, ou langage de balisage extensible), format unifié, aide à donner un sens aux données, mais permet aussi de réaliser des programmes « génériques » qui peuvent manipuler ou échanger des données de tous types sans avoir besoin de les interpréter.

La norme XML n'établit pas une liste prédéfinie d'étiquettes mais standardise la façon d'en créer selon les besoins pour chaque type de données : pages web (XHTML), graphiques (SVG), partitions musicales (MusicXML). D'où le X... comme eXtensible !