Retour au numéro
Partager sur :
Vue 21 fois
16 avril 2007

Et l’ordinateur tomba du ciel

Notre cher camarade Hoffsaes a rappelé -- peut-être fait découvrir -- à nos chers camarades nés après l’Apple-II que la hache de silex exista avant le laser à couper les tissus. Ils ne peuvent pas réaliser que l’ordinateur permit aux statisticiens-économistes de pénétrer ce monde désespérément matérialiste : le monde de l’entreprise.

Avant, pour les industriels, la statistique dépassait rarement la moyenne pondérée et l’économie n’était qu’une mathématisation austère de préceptes philosophiques et moraux (et passablement oiseux). Quand il devint possible d’inverser une matrice 10x10 d’un coup de doigt sur un clavier, et de voir le résultat s’afficher en moins d’une seconde, les plus fumeuses théories devinrent soudain dignes d’attention. Cela pouvait rapporter de l’argent.

L’ordinateur a donc changé notre vie, plus encore que celle du citoyen moyen. Mais d’où vient cette miraculeuse machine ? Pour lui trouver un père, il faut commencer par bien connaître l’enfant. En l’espèce, deux écoles s’affrontent : les Darwiniens et les Turingiens. Si l’ordinateur est le produit d’une évolution continue, ses pères sont français : Blaise Pascal (1623-1662) et Joseph Jacquard (1752-1834). S’il est la matérialisation d’une machine céleste capable de résoudre tous les problèmes, son unique père est britannique : Alan Turing (1912-1954) . Il eut aussi quelques oncles, naturellement, mais nous ferons leur connaissance en cours de route. Et que les féministes ne s’offensent pas de ce que je ne parle qu’au masculin : c’est tout de même bien le père qu’on a le plus de mal à identifier !

la conception Darwinienne

Si l’ordinateur résulte d’une évolution continue, c’est certainement une machine à calcul qu’on a progressivement enrichie de fonctions logiques, graphiques et autres. C’est en tout cas ce que croient ceux qui ont vu les kilo-octets se changer en mégas, puis en gigas tandis que les écrans devenaient WYSIWYG. L’ancêtre est donc la première machine à calcul, inventée et construite par Pascal. Elle n’avait qu’un inconvénient : son inventeur n’a jamais réussi à la faire fonctionner.

Toutefois cette machine manquait des attributs qui font le principal intérêt de l’ordinateur : la programmation et la mémorisation. L’opération effectuée (en supposant que la machine fonctionne), il fallait recopier le résultat et passer à autre chose, sans rien conserver de l’effort de saisie des données ni des tâches accomplies pour obtenir le résultat arithmétique. Impossible d’effectuer un autre calcul sur les mêmes données, ou le même calcul sur des données différentes. Ces attributs existaient dans le métier à tisser de Jacquard, où les fils de trame étaient tirés automatiquement suivant les instructions d’une carte de carton perforée. Le tissu obtenu était la mémorisation du travail accompli. Les cartes conservées permettaient de répéter le motif du tissage sur un long coupon de tissu ou de le recommencer en remplaçant la soie par du coton.

La première machine à calcul qui ait réellement effectué des opérations arithmétiques fut celle de l’anglais Charles Babbage (1972-1871). Elle ressemblait à une horloge, en plus compliqué dedans, et fonctionnait selon le principe des différences constantes (si quelqu’un peut m’expliquer ce que ça veut dire, je suis preneur). Mais elle n’avait pas de mémoire et n’imprimait pas. Babbage essaya de construire une machine à cartes perforées, mais il n’en vit pas le bout.

L’américain Hermann Hollerith (1860-1929) enregistra les données sur des cartes perforées (en 1880 !) et construisit des machines capables de lire les cartes, de les classer et d’effectuer des opérations arithmétiques sur les informations enregistrées. Ces machines figuraient dans le catalogue de la compagnie CTR, loin derrière les horloges pointeuses et les balances Roberval. Elles devinrent le produit-phare grâce à la seconde guerre mondiale (nous verrons d’autres bienfaits de cette horreur) qui exigea beaucoup de logistique : les machines, embarquées dans des camions, assuraient la comptabilité de l’armée américaine. Entre-temps, CTR était devenu IBM. La mécanique de précision était la compétence principale de l’entreprise, au point qu’IBM fabriqua des armes légères pendant la guerre.

Il n’était venu à l‘idée de personne de remplacer la mécanique par l’électronique, alors que la radio était connue depuis des décennies. La radio de Marconi joua un rôle illustre dans le naufrage du Titanic en 1911. Le radar fut inventé par Robert Watson-Watt en 1935, dit-on, mais en réalité des expériences de même nature étaient réalisées depuis 1920. Il existait, depuis la première guerre mondiale, des calculateurs « géants », mais ils étaient mécaniques : ils étaient embarqués dans la chambre de tir des grands navires de guerre pour commander l’artillerie. Un artilleur près de son canon terrestre peut orienter seul son arme en fonction de la distance, du vent, etc. mais sur un navire le problème est beaucoup plus complexe : le navire bouge, notamment sous l’effet du recul quand un de ses canons tire. Or il faut tirer loin, juste et vite car la cible bouge aussi. Il faut aussi s’abstenir de faire tirer tous les canons du même côté en même temps, car le recul ferait chavirer le navire. On voit ici apparaître des tâches de logique, la prise en compte de conditions que les machines à calcul ignoraient. Mais ce n’est pas là que naquit ce qu’on connaît actuellement comme ordinateur.

la divine intuition Turingienne

Au début du vingtième siècle un professeur de mathématiques de l’université de Tübingen, David Hilbert (1862-1943) constata qu’on avait fait le tour de l’arithmétique et de l’analyse. Pour lui, l’important, c’était la logique ; il proposa aux mathématiciens du siècle naissant de s’attaquer à 23 propositions dont la somme est le « programme de Hilbert ». Ses propositions étaient du genre « une affirmation est-elle soit vraie soit fausse ? » ou encore « existe-t-il une méthode définie et unique par application de laquelle on peut prouver ou invalider n’importe quelle affirmation ? ». Gödel, von Neumann et quelques autres suèrent sur ce programme.

Alan Turing s’était déjà rendu célèbre par un article sur les « nombres calculables », concept intermédiaire entre les rationnels et les transcendants. Il aurait reçu la médaille Fields si celle-ci avait existé (elle fut instituée en 1936). Il démontra la proposition de Hilbert en supposant l’existence d’une machine très simple, qui ressemblait à un télex : une bande de papier, divisée en cases numérotées, se déplace au travers d’un boîte. Dans chaque case, il y a un symbole binaire. La boîte ne sait effectuer que quelques opérations : se rendre à une case donnée, lire le symbole, le changer (ou pas), se rendre à une autre case, changer ou pas son contenu selon le contenu de la case précédente, recommencer. Est-ce que cela ne ressemble pas furieusement à un ordinateur ? Turing démontrait que cette machine pouvait résoudre tous les problèmes, moyennant un nombre variable (assurément très grand, mais pas infini) d’opérations. Il ne crut jamais nécessaire de construire la machine en question ; il avait eu deux intuitions géniales :
- la numération binaire, seule sérieusement utilisable par une machine
- la dualité entre hardware et software, observant aussi que moins on a de l’un plus il faut de l’autre, et qu’une substitution est toujours possible
Il n’y avait plus qu’à construire cette machine.

que la guerre est jolie !

Vint alors la deuxième guerre mondiale, fantastique accélérateur de création. On comprend facilement la motivation qu’engendre un grand danger. Pourtant, cela n’engendre pas forcément la clairvoyance : les allemands, peut-être échaudés par l’incident du télégramme Zimmermann au cours de la précédente, décidèrent de coder leurs communications secrètes avec la machine Enigma. Cette machine avait été inventée dès 1919 par le néerlandais Koch puis améliorée, construite et offerte dans le commerce par l’allemand Scherbius en 1923. Sans aucun succès. Elle était brevetée en Angleterre depuis 1927.

C’est un peu compliqué, surtout parce qu’aucun auteur (que j’aie lu) ne semble capable de l’expliquer clairement. Le code le plus simple qu’on puisse imaginer consiste à remplacer une lettre par un symbole convenu. Cela ne résiste pas longtemps à l’analyse, car les lettres ont une fréquence connue dans une langue ; par exemple, E est la lettre la plus fréquente en français. Dans un message français ainsi codé, le symbole qui revient le plus fréquemment est sûrement un E. Quand le message est partiellement décodé, plus on connaît de lettres, plus il est facile de deviner la suivante, de même que dans un puzzle, plus il y a de pièces en place, plus il est facile de mettre une pièce nouvelle en place. Quand on a identifié 25 transpositions, la dernière est évidente. Enigma effectue une telle transposition, mais à chaque lettre transposée la règle change : le premier A du message devient Z, mais le second devient G, etc.

La machine (cf. schéma ci-dessous) comprend extérieurement un clavier, comme une machine à écrire, et un tableau lumineux : quand on appuie sur une touche marquée d’une lettre, une autre lettre s’illumine sur l’écran : c’est la transposition. La touche envoie un courant électrique dans un circuit compliqué et changeant. Dans la machine, il y a trois roues plates (comme des camemberts) enfilées sur un axe commun et qui se touchent. Sur leur pourtour, il y a les caractères du clavier. Le courant entre dans une roue en un point qui correspond à une lettre ; à l’intérieur de la roue, un fil envoie le courant vers une autre lettre, qui communique avec la roue voisine par un plot. Le courant entre alors dans la deuxième roue en un point correspondant à une autre lettre ; il est encore détourné à l’intérieur de cette roue. L’opération est répétée dans la troisième roue, qui touche un « miroir » qui renvoie le courant dans le système, en sens inverse. Chaque fois qu’on tape sur une touche, la première roue bouge d’un cran ; quand elle a accompli un tour complet, elle entraîne la deuxième, qui entraîne ultérieurement la troisième. Donc, chaque fois qu’on tape une lettre, on change la règle de transposition.

Les alliés connaissaient l’existence et la nature de cette machine, grâce à des résistants polonais. Mais on comprend que pour décoder un message, il faut savoir dans quel ordre on enfile les roues sur l’axe (elle ne sont pas semblables) et comment chaque roue est positionnée au départ. Le nombre de solutions est grand, pas réellement énorme : six possibilités pour l’ordre des roues, 26 au cube pour les positions de départ des roues, en supposant qu’on connaisse le câblage à l’intérieur des roues (ce qui n’est évidemment pas le cas au début). En cours de guerre, la Kriegsmarine ajoutera une quatrième roue à la machine pour augmenter le nombre des solutions possibles. Mais il faut aller vite : un message décodé après une semaine n’a plus aucun intérêt militaire. Les militaires allemands en campagne ont un livre d’instructions qui leur dit comment initialiser leur machine chaque jour.

Les anglais réunissent à Bletchley Park leurs meilleurs mathématiciens, dont Turing, pour résoudre le double problème : d’abord découvrir le plan de câblage exact des roues des machines allemandes, puis décoder dans un délai raisonnable les messages captés par radio. Les experts éliminent d’abord un grand nombre de solutions par des considérations mises en mathématiques, par exemple : une lettre ne peut jamais être transposée en elle-même, cela provoquerait un court-circuit. La machine fonctionne réflectivement : si A devient Z, alors Z devient A dans la même position des roues. Message par message, ils prennent des raccourcis ; par exemple, il y a des mots qu’on retrouve souvent : les allemands ont la faiblesse de donner aux personnages leur titre officiel exact et complet, le message n’est jamais destiné à « EW » mais « au maréchal Erwin Rommel ». Puis ils reconnaissent que la solution pratique est de construire une machine qui simule Enigma ; cette machine essaie une combinaison d’initialisation possible, transpose le message, s’arrête si le résultat est intelligible ou bien essaie une nouvelle combinaison, sans intervention humaine. Comment sait-elle, misérable machine illettrée, que le message est intelligible ? Par la fréquence des lettres obtenues (cf. supra). Pour égarer le statisticien les allemands adjoignent à Enigma un tableau à fiches qui transpose encore une fois les lettres, d’une façon totalement fixe, mais les anglais ont bien vite franchi ce barrage qui semblait multiplier le nombre de solutions possibles par des milliards, toujours grâce à des observations logiques comme la réflexivité.

Cette fois, cette machine qui simule et qui fait des comparaisons, c’est bien l’ordinateur que nous connaissons. Elle comporte des milliers de relais électromécaniques qui cliquettent pendant des heures avant de rendre leur verdict. La machine imprime le résultat et mémorise la combinaison d’initialisation pour décoder les autres messages de la même génération. Après la guerre, Turing devient professeur à l’université de Manchester. Il construit d’autres machines. Il expérimente la mémorisation en utilisant un écho sonore dans un tube de carton, puis la rémanence sur un écran cathodique. Il déplore qu’on n’en attende rien d’autre que des calculs numériques; par exemple, le nombre pi avec des centaines de décimales, ou une tabulation des fonctions de Bessel, ce qu’il trouve scandaleusement vulgaire. C’est un travail dégradant pour sa divine machine.

Dans le même temps, les américains (qui avaient décodé l’Enigma japonaise sous le nom de Purple) expérimentent les machines ENIAC, où les relais électro-mécaniques sont remplacés par des lampes radio (qui s’appellent valve en anglais, ce qui exprime bien la similarité avec les relais qui ne sont que des robinets à électricité).

que la paix est triste !

Le principe de l’ordinateur est achevé. Après, les lampes seront remplacées par des transistors, puis par des circuits intégrés obéissant à la loi de Moore, ce qui fait qu’aujourd’hui il y a des millions de « relais » sur un centimètre-carré de silicium (la machine de Bletchley Park, de la puissance d’une pauvre calculette de poche, occupait une salle immense). Le courant électrique n’ayant que des microns à parcourir au lieu de centimètres, on peut aller beaucoup plus vite . Quand les « relais » atteindront la taille d’une molécule, ce qui est pour bientôt, il faudra trouver autre chose. Mais ce ne sera qu’un progrès continu, améliorant la puissance et la rapidité d’une machine sans la changer dans sa philosophie. Il y a eu des essais d’intelligence artificielle pour remplacer le cerveau humain, utilisant très peu de mémoires élémentaires (les neurones) et beaucoup de logiciel (l’éducation progressive et autonome du cerveau) ; ce fut un bide total.

Le dédain de Turing pour le calcul numérique existe encore. J’utilise un micro-ordinateur portable pour mon travail et la nécessité de voyager en avion fait que ma première exigence, avant les giga-octets et les giga-Hertz, est que la machine entre réellement dans une sacoche au format A4. Les vendeurs me toisent : « bof, évidemment, si vous ne faites que de la bureautique… ». Ben oui, jouer à Tomb Raider après une journée au bureau, le nez sur l’écran, ça ne me branche pas. Sur ma machine, je ne fais que des simulations financières en tableur ; gagner une nano-seconde ne m’intéresse absolument pas. Turing doit s’en retourner dans sa tombe.

Autrice

Pierre Morichau (1967)

Articles liés par des tags

Commentaires

Aucun commentaire

Vous devez être connecté pour laisser un commentaire. Connectez-vous.