Les Merveilleuses Machines de

Monsieur Babbage


"Si vous savez un peu quelque chose sur les ordinateurs, vous pensez que leur histoire a commencé dans les années 30-40.

C'est tout à fait exact, sauf que vous vous trompez de siècle!
Le premier ordinateur a été conçu vers 1830-40, et non 1930-40"

John GRAHAM-CUMMING


C'est dans une grande page de l'archéologie informatique (et d'abord, vous doutiez-vous que cela pût exister?) que le  Mathouriste souhaite vous entraîner. Notre héros, Charles Babbage (1791-1871), est Anglais, et c'est à Londres essentiellement que nous trouverons tout à la fois quelques vestiges et d'extraordinaires projets, bien de notre siècle,  pour concrétiser enfin ses rêves.
Il est plus que probable que, si vous lisez cette page, vous utilisez un ordinateur (ou une tablette, mais cela revient au même). En ce cas, vous payez un tribut, encore involontaire -mais plus pour longtemps!- à ce pionnier de l'Informatique.



Charles Babbage et un objet qu'il a (presque) inventé...
(National Museum of Computing, Bletchley, Angleterre)
... et (une partie de) ce qu'il a vraiment inventé!
(Science Museum, Londres, Angleterre)

Babbage est l'inventeur de deux types de machines radicalement différentes, mais partageant des éléments communs: la Machine à Différences et la Machine Analytique. Cette histoire pourrait se raconter sans parler des premières (vous pouvez donc sauter ce qui les concerne si vous êtes pressé de savoir pourquoi nos deux images ci-dessus sont deux instances du même concept)... mais ce serait tout de même dommage!

Les Machines à Différences

Déjà, leur nom a pour le profane un parfum de mystère. Ou le titre d'un célèbre roman ayant fondé le genre steampunk.

" Un gentleman m'adressa ainsi sa question:
 - S'il vous plait, Monsieur Babbage, pourriez-vous m'expliquer en deux mots quel est le principe de cette machine?
N'eût-il eu qu'une familiarité
moyenne  avec les mathématiques, j'aurais pu le satisfaire en quatre mots en lui répondant:
- La Méthode des Différences.
Et d'ailleurs, on pourrait y fournir une réponse en six caractères
Δ7ux = 0
mais une telle information serait inintelligible à de tels questionneurs. "

C. Babbage, Fragments de la Vie d'un Philosophe ( 1864)

Brièvement dit, ce sont des calculateurs dédiés à un seul type de tâche, le calcul des polynômes; or beaucoup de calculs de fonctions qu'utilisent astronomes et ingénieurs peuvent s'y ramener, dans de bonnes condition
s d'approximation. Et puis, et surtout, c'est un mode de calcul malin, car il n'utilise que des additions, alors qu'on s'attendrait à devoir faire additions et multiplications. Pour autant, cela n'a rien à voir avec un ordinateur, qui peut effectuer une infinité de tâches différentes grâce à des programmes: les Machines à Différences ne sont pas  programmables.

Mais qu'est-ce  que c'est ?



Le petit coin de la technique: le Calcul des Différences



Babbage aimait à prendre pour exemple le 
célèbre polynôme (dû à l'ingénieux Euler) qui produit des nombres premiers pour tous les entiers de 0 à 40:
T (X) = X² + X + 41

À partir des valeurs X = 0, 1, 2, 3, on calcule T(0), T(1), T(2), T(3), puis leur différences (deuxième colonne depuis la droite):

Δ (1) = T (1) - T (0) , Δ (2) = T (2) - T (1) , ...

puis les différences de ces différences (troisième colonne depuis la droite):

Δ² (2) = Δ (2) - Δ (1) , Δ² (3) = Δ (3) - Δ (2) , ...
Ces différences, dites différences secondes, sont constantes pour un polynôme de degré 2, comme notre calcul le vérifie au départ; et très généralement, en réitérant, les différences troisièmes sont constantes pour un polynôme de degré 3, etc...
Réciproquement, on a donc un moyen très simple de calculer les valeurs suivantes de T, en faisant fonctionner l'algorithme en sens inverse: on inscrit la valeur constante dans la dernière colonne, par somme on calcule la différence première
Δ, puis encore par somme la valeur de la fonction T: ci-dessous, les flèches rouges montre la succession des calculs, à partir de la valeur encerclée.


Calcul de T(4) par 2 sommes successives...
... puis de T(5), etc...
L'extrémité commune de deux flèches bleues est leur différence, celle de deux flèches rouges est leur somme.

Avec son fameux 
Δ7ux = 0 , la méthode de Babbage permettait donc de calculer exactement tout polynôme de degré 6.

La tâche "flèches rouges" peut parfaitement être confiée à un individu ignorant ce qu'est un polynôme, mais sachant faire des additions: simplement, il ne saura jamais ce qu'il calcule...
(Un enfant venant d'apprendre seulement l'addition, à l'école primaire, peut ainsi calculer des valeurs de polynômes, alors qu'a priori cla semblait requérir l'usage de la multiplication!)


Et dans ses Mémoires, comment Babbage présente-t-il l'affaire?
Fort pédagogiquement!
1/ En évoquant d'abord un petit garçon (ou une petite fille, il le précise!) qui veut déterminer le nombre de billes d'un arrangement triangulaire au sol. Pour former le nième tas, il ajoute n billes au tas précédent... bref, il somme une progression arithmétique, et trouver la formule est presqu'un jeu d'enfant: c'est d'ailleurs un enfant, un peu plus habile que la moyenne, certes, un certain Karl Friedrich Gauss, qui l'avait trouvé pour se débarasser d'une punition stupide.  Le nombre cherché est
T (n= n.(n + 1) / 2  = (n² + n) / 2 
Mais c'est une expression du second degré en n, donc calculable par l'algorithme précédent (saurez vous disposer les flèches bleues et rouges?), dont l'intérêt est l'interprétation naturelle des différences premières et secondes.


2/ Et maintenant, nous dit-il, pourquoi ne pas empiler ces triangles les uns sur les autres, comme à l'Arsenal (sic): eh oui, celui des fameux Gunners!
Nos triangles précédents sont les différences premières, les autres colonnes se décalent; nous utilisons maintenant les différences successives jusqu'à la troisième, où l'on trouve un nombre constant. Pas surprenant, la formule (que l'on peut établir par récurrence) est de degré 3 cette fois:
T (n= n.(n + 1).(n + 2) / 6  = (n3 + 3n2+ 2n) / 6 
De nouveau, saurez vous disposer les flèches bleues et rouges?

Dans la forteresse de Rhodes (Grèce)


Tableaux et dessins extraits de

C. Babbage, Fragments de la Vie d'un Philosophe ( 1864)


Mais ... à quoi ça sert ?

L'astronomie et la navigation étaient les principaux "consommateurs" de tables numériques précises; Babbage déplorait les nombreuses erreurs qu'elles contenaient, et il avait compris que ce défaut leur était, en quelque sorte, congénital: du calcul à la compoition typographique, de nombreux reports d'interminables lignes et colonnes de chiffres les rendaient, la fatigue humaine aidant, difficiles à éviter; des relectures étaient censées en venir à bout, mais elles étaient soumises aux mêmes risques.

"Un soir, je me tenais assis dans les salons de la Société Analytique de Cambridge, la tête penchée sur la table, de manière rêveuse, une table de logarithmes ouverte devant moi. Un autre membre entra dans la pièce, et me croyant à moitié endormi, me lança:
- Eh bien, Babbage, à quoi rêvez vous donc?
à quoi je répliquai, lui montrant du doigt les logarithmes,
- Je me disais que toutes ces tables devraient être calculées par une machine!
[...] Cela devait se passer en 1812 ou 1813."

C. Babbage, Fragments de la Vie d'un Philosophe ( 1864)
Table de logarithmes, début du XIXème siècle (source:e-rara,  ETH Zurich)

Cette idée prit du temps pour mûrir; en 1819 une nouvelle occasion la "reveilla", à l'occasion d'un voyage en France avec son ami John Herschel: il put voir à l'Observatoire les manuscrits d'un "monument" resté inédit faute de crédits suffisants pour l'impression, qui aurait comporté 18 volumes: les tables de logarithmes et fonction trigonométriques de Gaspard de Prony, commandées par le gouvernement de la République pour accorder les mesures d'angle au système métrique décimal, avec une nouvelle unité, le grade, divisant en 100 parties l'angle droit. Leur précision devait faire date: des sinus à 25 décimales, des logarithmes à 14 ou 19 décimales. Le travail s'était échelonné de 1794 à 1797.



Extrait d'une table (partielle)  de G. De Prony
Remarquer la division de la minute en 100 secondes (choix du grade comme unité d'angle)
Gaspard Riche de Prony
(Buste par A. Ottin - École Polytechnique)
"Ce n'est pas tant l'étendue d'une entreprise aussi aventureuse que l'organisation du travail qui attira l'attention de Babbage. De Prony avait appliqué à la production des tables les principes de division du travail théorisés par l'économiste Adam Smith dans son célèbre traité La Richesse des Nations publié à Londres en 1776. De Prony divisa son personnel en trois équipes, chacune chargée d'un niveau de travail différent. La première était constituée de 5 ou 6 mathématiciens de premier plan, parmi lesquels Adrien Marie Legendre et Lazare Carnot, qui choisirent les formules à employer. Armées de celles-ci, la seconde, formée de huit calculateurs humains, calculait des valeurs "jalons"[...] et des tables de différences à partir desquelles les valuers intermédiaires seraient calculées."

D. Swade, The Difference Engine

Là réside l'intérêt du calcul des différences: sur de "petites portions", entre les valeurs-pivots, une fonction peut être calculée par des polynômes qui l'approchent (un degré plus élevé permettant a priori plus de souplesse et de précision). La méthode n'avait rien de nouveau, elle remonte (au moins!) à Newton, qui en avait souligné l'intérêt pour le calcul des trajectoires des comètes. Il suffit de choisir un pas constant, que l'on ramène à 1 par un facteur multiplicatif convenable, pour pouvoir appliquer le calcul précédent. C'est, en somme, une façon primitive d'opérer en virgule flottante!

"Le troisième groupe, sur qui reposait la partie la plus laborieuse des opérations, comportait 60 à 80 personnes, dont peu avaient un savoir dépassant les règles de base de l'arithmétique; elles recevaient du deuxième des valeurs et des différences, avec lesquelles elles complétaient l'ensemble des tables en exécutant des additions et soustractions dans un ordre qui leur avait été prescrit."

C. Babbage, lettre au président de la Royal Society (1822)
"Babbage avait remarqué que des individus ayant une expertise mathématique plus grande commettaient, dans cette routine de sous-tabulation, plus de fautes que les tâcherons du niveau inférieur.
La plupart de ceux-ci étaient d'anciens coiffeurs. En guillotinant l'aristrocratie, on avait créé un marasme dans le commerce de la coiffure, qui concernait l'élite. Les coiffures élaborées étaient devenues un symbole exécré de l'ancien régime, et nombres de coiffeurs avaient abandonné leurs ciseaux pour l'arithmétique rudimentaire."

D. Swadeop. cit.
 
Babbage ne manqua pas de faire remarquer au président de la Royal Society l'intérêt d'une mécanisation complète des tâches répétitives, en termes de rapidité, d'économie (point qui devait s'avérer plus que discutable, le coût de sa machine n'étant pas inclus!) mais aussi de sécurité dans l'élimination des erreurs. Bien sûr, on vérifiait les calculs, par exemple en les confiant à deux équipes indépendantes et en comparant leurs résultas, et on publait des errata, des errata sur les errata, etc... Le pire n'était pas les erreurs détectées, c'était les erreurs NON détectées, pour qui l'ami de Babbage, John Herschel, avait trouvé une comparaison très suggestive, propre à convaincre les autorités maritimes de financer les machines de Babbage:
       

"Une erreur non détectée dans une table de logarithmes est comme un écueil encore inconnu dans la mer: on ne peut prédire quel naufrage s'y produira"

Confrontant en 1821, avec ce même John Herschel, les résultats de deux équipes affectées au calcul des tables, Babbage excédé déclarait de nouveau:

"Je voudrais que Dieu fasse que ces calculs soient exécutés par une machine à vapeur!"

Or, il avait en tête la solution définitive:  automatiser entièrement la chaîne de production, du calcul à l'impression: c'était marquer une rupture radicale avec toutes les machines ayant existé jusque-là, personne n'avait envisagé une idée aussi audacieuse. Dès le départ, il construisit lui-même et expérimenta des dispsitifs variés pour que des plombs typographiques, placés sur les "derniers" rouages affichant les résultats, laissent leur marque dans un matériau meuble qui durcirait au bout de quelques heures; il évoque par exemple un mélange à base de plâtre de Paris (en Français dans le texte!).

La Machine n°1

Dix années se passent entre l'idée et la première réalisation, assemblée par lui-même à partir de rouages qu'il fait confectionner selon ses plans. Ce petit modèle  "de démonstration" 1ui sert, en 1822 à solliciter des crédits gouvernementaux. Il obtient 1700 £, s'adjoint un maître-horloger, Joseph Clément, très capable mais qui fait augmenter considérablement les coûts et les délais. En 1833, la machine a cette allure, et constitue un modèle de démonstration que l'inventeur présente lors de conférences à l'étranger, ou à l'exposition de 1862. Sa construction n'ira jamais plus loin, et elle sera donnée au musée de Kensington, précurseur du London Science Museum.



croquis de l'auteur, en page de titre
 dans les Mémoires de Charles Babbage

Machine à différences n°1, partie construite en 1833
 Arithmeum, Bonn (Allemagne)

La machine complète, sept fois plus encombrante pour le seul calculateur, aurait comporté 25000 pièces et pesé 7 tonnes. Aurait, car sa construction s'arrête à ce stade.

Une nouvelle exigence de Babbage -il demande à Clement de  déménager pour installer son atelier  à côté de chez lui!-  déclenche une violente dispute;  le  Gouvernement n'est pas moins exaspéré: de  fil en aiguille, il a investi -englouti, estime-t-il- 17 500
£ (dix fois plus que le projet initial... les dépassements de budget ne sont pas un mal nouveau), soit l'équivalent de 22 locomotives de Stephenson, au prix d'usine 1831!
Des locomotives de série, mais à peu près similaires au prototype Rocket; elles ont fait l'ouverture de la ligne Manchester-Liverpool en Novembre 1830. Des engins "simples", certes, mais la comparaison utilité/coût est terrible....
La Rocket, au Science Museum de Londres


Dès ce modèle, Babbage s'était soucié de ce que l'on appelle aujourd'hui la complexité algorithmique du calcul:  il remarque qu'additionner deux nombres à n chiffres selon la méthode habituelle, coûte un temps proportionnel à n, en raison de l'attente d'une retenue éventuelle pour passer à la tranche suivante. Or, note-t-il, ce temps serait fixe si l'on effectuait simultanément  l'addition dans chaque tranche, soit dans le cas sans retenue (ex: 6023+1970), soit dans celui où des retenues ne se propogent pas 
(ex: 2648+4564): on calcule sans retenue, mais en mémorisant leur place, et on les ajoute après coup.
Reste, bien sûr, le cas le plus gênant, celui où il y aura propagation, qu'il illustre avec 8473+1528. Pour résoudre cette question, il pense à une possibilité que les concepteurs des premiers ordinateurs n'envisageront que dans les années 1950, l'additionneur parallèle à retenue anticipée: en gros, gérer deux retenues, la retenue engendrée et la retenue propagée (voir les détails dans cette page sur les circuits additionneurs)
 
"À la fin, ayant épuisé, après des années de labeur, le principe des retenues successives, l'idée me vint qui était possible d'enseigner au mécanisme un autre processus mental, à savoir la prévision. Cette idée me vint en Octobre 1834. Elle ma coûté beaucoup de réflexion, mais le principe me vint assez vite. Dès que je l'eus trouvé, l'étape suivante consistait à enseigner à la machine comment mettre en œuvre cette prévision. Ce ne fut pas trop difficile: j'ai assez vite conçu certains moyens mécaniques, qui, sans être d'une  simplicité immédiate, étaient tout à fait suffisants pour établir la possibilité d'un tel dispositif.
Le processus de simplification de la gestion des retenues m'a ainsi occupé, par intervalles, pendant de nombreuses années ."

C. Babbage, Fragments de la Vie d'un Philosophe ( 1864)

Quand on voit la place occupée par cette question pendant 50 ans de progrès fabuleux sur les circuits de calcul (cf J.M. MULLER, Arithmétique des Ordinateurs, Masson), on mesure mieux combien Babbage était en avance sur son temps.
[retour à la page ADA si désiré]

Intermède: la Machine Suédoise

Pendant que Babbage devait se résoudre à jeter l'éponge et laisser sa Machine n°1 en état incomplet, une machine fut bâtie en Suède par Georg et Edvard (son fils) Scheutz. Une dizaine d'année et l'aide du gouvernement furent nécessaires, et si des difficultés comparables dans l'exécution furent rencontrées, elle furent surmontées, et la machine, prête en 1853, fut présentée avec succès à Paris en 1855, puis achetée par un observatoire américain bien convaincu, lui, qu'elle serait utile à la construction de tables astronomiques.  Un deuxième modèle fut achetée en 1858 par l'État Civil Britannique; c'est lui que l'on peut voir au Science Museum.


Machine à différences de Scheutz, 1853
(Science Museum, Londres, Angleterre)


Le travail avait été effectué à partir d'un article de 1834 décrivant en détails la mécanique de la machine de Babbage, mais sans figure: cela explique la différence d'allure générale. Elle manipulait des nombres de 15 chiffres siginficatifs et calculait jusqu'à la différence quatrième. Elle fut présentée et primée à l'Exposition Universelle de Paris en 1855... où l'Angleterre n'avait pas cru bon de se faire représenter par la machine de Babbage!


La Machine n°2

 
"Ce n'est pas avant 1848, une fois maîtrisée la question de la Machine Analytique, que je décidais de faire un ensemble complet de dessins pour la Machine à Différences n°2. Je me proposais de tirer bénéfice de toutes les améliorations et simplifications que des années de travail infatigable avaient produit pour la Machine Analytique.
En 1852, le Comte de Rosse [Président de la Royal Society], qui avait témoigné le plus grand intérêt pour l'application de mécanismes aux fins de calcul, [...] s'enquit auprès de moi de savoir si j'étais prêt à les donner au Gouvernement contre l'engagement de construire la machine. Mon sentiment était, après la triste expérience passée, de ne pas y sacrifier une minute supplémentaire de ma vie. Si, toutefois, ils choisissaient de fabriquer la
Machine à Différences, j'étais prêt à donner l'ensemble de mes plans, ainsi que les notes démontrant la possibilité de la construire [...]"

C. Babbage, Fragments de la Vie d'un Philosophe ( 1864)

Ces plans d'origine ne devinrent pourtant une  réalisation concrète qu'en... 1991, pour le bicentenaire de la naissance de son créateur. Le projet avait été lancé en 1985 par Allan G. Bromley, et dirigé par Doron Swade, conservateur du département de Calcul du Musée londonien. Si Babbage avait effectivement réduit des deux tiers le nombre de pièces, abaissé à 8000, l'assemblage final occupe un espace au sol de 3m x 1m, sur une hauteur de 2m, pèse 5 tonnes, et... fonctionne impeccablement!



En majesté, dans sa nouvelle présentation au Science Museum de Londres  (2016)


Tourner autour pour admirer, comme on le ferait pour une sculpture...
(Science Museum, Londres, Angleterre)

Ses impressionnantes colonnes de rouages... pourraient l'être encore plus, ou aussi bien un peu moins; leur hauteur est fixée par la précision souhaitée pour la machine.  Chacune stocke en effet une valeur numérique, représentée en base 10. Cette machine a été conçue pour manipuler des nombres à 31 chiffres; chaque colonne est donc un empilage de 31 roues dentées toutes identiques entre elles. Le modèle de démonstration de la machine n°1 n'en comportait que 6; la Machine Analytique, qui utilisera le même système pour la représentation des nombres qu'elle manipule, sera prévue à 50.



Les colonnes de la machine; chacune donne l'état numérique d'une variable
(Science Museum, Londres, Angleterre)


" En deux occasions, il me fut demandé:
 - S'il vous plait, Monsieur Babbage, si vous entrez dans la Machine des valeurs fausses, est-ce qu'elle donnera les bonnes réponses?
La question émana, une fois d'un membre de la Chambre Haute du Parlement, et une autre fois
d'un membre de la Chambre Basse. Je suis parfaitement incapable d'appréhender quelle confusion des idées peut provoquer de pareilles questions. "

C. Babbage, Fragments de la Vie d'un Philosophe ( 1864)





Au cœur du processeur... ... comment le faire tourner!
(Science Museum, Londres, Angleterre)

Pour la voir en action, cette vidéo (16') ou celle-ci (24'); les deux ont été réalisées sur une copie de machine présentée aux U.S.A.
Et... pourquoi ne pas en fabriquer une en Lego®?


Évidemment, malgré le soutien de ses amis et de la Royal Society quant à l'utilité de l'engin, c'est au sourcilleux détenteur des cordons de la bourse que le projet dut de ne jamais dépasser le stade des magnifiques dessins de son auteur.

 
"Cette Machine à Différences si décriée est, cependant, tout comme sa fière parente, la Machine Analytique, un être de sensibilité, de spontanéité et de puissance.
Elle peut non seulement calculer les millions gaspillés par l'ex-Ministre des Finances, elle peut manipuler les quantités les plus infimes, et qui plus est détecter les zéros (elle peut trouver les racines des équations en contrôlant la nullité de tous les chiffres d'une colonne).
Lors, si quelque imprévu dans le cours des 
évènements élève à nouveau l'ex-Ministre des Finances à son ancien poste, je suis sur qu'elle pourra être son amie dès lors qu'il sera convaincu qu'elle peut lui être utile. Peut-être même pourrait-elle l'aider à désembrouiller ses propres comptes, et...
Mais je n'ai aucune envie de le crucifier, je préfère laisser son nom dans l'ombre.
L'Érostrate de la Science, s'il échappe à l'oubli, aura partie liée avec le destructeur du Temple d'
Éphèse."

C. Babbage, Fragments de la Vie d'un Philosophe ( 1864)

Les mots en gras sont soulignés par Babbage lui-même (NdT)
"Mais Massé, qui avait des lettres, intervint à ce moment:
- Je le connais votre type, me dit-il. Il s'appelle Érostrate. Il voulait devenir illustre et il n'a rien trouvé de mieux que de brûler le temple d’Éphèse, une des sept merveilles du monde.
- Et comment s'appelait l'architecte de ce temple ?
- Je ne me rappelle plus, confessa-t-il, je crois même qu'on ne sait pas son nom.
- Vraiment ? Et vous vous rappelez le nom  d'Érostrate ? Vous voyez qu'il n'avait pas fait un si mauvais calcul."

Jean-Paul Sartre, Érostrate in Le Mur

La Machine Analytique

Ce projet se place entre les deux machines à différences, mais il est d'une tout autre portée: c'est celui qui, avec 100 ans d'avance, préfigure l'ordinateur moderne. Les deux images ci-dessous constituent un raccourci de l'innovation de son concepteur:



Machine Analytique, portion de moulin (unité de calcul) ... ... et comment la commander!
(Science Museum, Londres, Angleterre)

C'est, cette fois, une machine universelle, qui sera apte à faire toute séquence de calcul, qu'elle ait été pensée avant ou après la fabrication de la machine. La machine à différences se bornait à calculer des polynômes ; celle-ci pourra résoudre des systèmes, intégrer des équations différentielles (de façon approchée!), calculer un profil d'aile d'avion... comment, vous protestez que l'avion n'a pas encoré été inventé? Certes, mais quand il le sera, quel que soit le calcul nécessité, on pourra l'effectuer sur cette machine: il suffira de préparer le bon "jeu de cartes". Babbage n'en a, ne peut en avoir aucune idée, mais il sait que "tout ce qui est calculable", aussi complexe cela soit-il, pourra être ramené à la fabrication d'une suite d'instructions transformable en pile de petits cartons perforés.

Babbage ne cache pas qu'il a été influencé par le métier à tisser de Jacquard, qui utilise la même idée: une famille de cartons perforés pour une infinité de motifs possibles, connus ou à inventer. D'ailleurs, Jacquard lui-même avait, en ce domaine, des précurseurs! Personne n'avait en revanche songé à associer  ce système à une machine à calculs.

Bouchon (1725)
Falcon (1728) Jacquard (1801)
Musée des Arts & Métiers (Paris)


"Ceux qui sont familiarisés avec le métier à tisser de Jacquard et les formules analytiques se feront, sans grande difficulté, une idée générale de la façon dont la Machine exécute les opérations.[...]
Le manufacturier peut utiliser, pour la chaîne et la trame de son ouvrage, des fils de la même couleur; supposons qu'il s'agit de fils blancs. En ce cas, le tissus sera d'une seule couleur, mais avec un motif damassé choisi par l'artiste.
Mais l'ouvrier peut utiliser les mêmes cartes, tout en choisissant des fils de chaîne d'autres couleurs. Chaque fil peut avoir une couleur différente, ou une nuance différente d'une même couleur; dans tous les cas la forme du motif sera la même -  les couleurs
seules différeront.
L'analogie de la Machine Analytique avec ce processus bien connu est presque parfaite.
"

C. Babbage, Fragments de la Vie d'un Philosophe ( 1864)

Sa "complice" dans le développement de la Machine, Ada Lovelace, le dit en des termes encore plus poétiques...

"La caractéristique distinctive de la Machine Analytique, et ce qui a rendu possible de doter le mécanisme de possibilités si vastes qu'elles permettent d'espérer faire de cette machine le bras armé de l'algèbre abstraite, c'est d'y avoir introduit le principe qu'a employé Jacquard pour confectionner, au moyen de cartons perforés, les motifs les plus complexes dans la fabrication des étoffes de brocart. Il n'existe rien de tel dans la Machine à Différences. Nous pouvons dire avec la plus grande justesse que la Machine Analytique tisse des motifs algébriques comme le métier de Jacquard tisse des fleurs et des feuilles."

A. Lovelace, Notes Additionnelles à la Description de la Machine Analytique, 1842


Les mots en gras sont soulignés par Ada Lovelace elle-même (NdT)

plus poétiques...... mais aussi plus forts, plus visionnaires: c'est elle, et non Babbage, qui l'imagine déjà comme un bras armé de l'algèbre abstraite!

Architecture Générale

Redonnons la parole à Babbage, qui n'en a pas fini avec les innovations marquantes:

La Machine Analytique se compose de deux parties:
1) Le magasin dans lequel sont placées toutes les variables sur lesquelles on va opérer, aussi bien que toutes les quantités qui résulteront d'opérations;
2) Le moulin 
dans lequel sont amenées les quantités sur lesquelles seront faites les opérations."

C. Babbage, Fragments de la Vie d'un Philosophe ( 1864)

Babbage vient ici d'ajouter un nouvel élément essentiel des ordinateurs à venir: une mémoire (le magasin). Dans un premier temps, elle était équivalente à 675 octets, soit la moitié environ du fabuleux 1 Ko du Sinclair ZX81 (1981)! Babbage avait prévu de l'étendre à 20 Ko (l'expression est bien sûr anachronique), tout en insistant sur le fait qu'il n'y avait aucune limite -il suffisait d'adjoindre plus d'éléments tous identiques. L'imprimante, héritée  de la Machine à Différences n°1, était présente, ainsi que le son: une cloche alerterait l'opérateur en certaines circonstances, par exemple, pour lui demander l'introduction de nouvelles cartes.

La vitesse du processeur était de l'ordre de 7Hz, donnée... par les coups de manivelle, à comparer avec le s 3 MHz du ZX 81, les 100
MHz du Pentium (1995) et le franchissement de la barre 1 GHz au tournant du millénaire. Bien sûr, une rotation régulière et sans fatigue serait assurée par l'énergie triomphante de l'époque: la machine à vapeur! Babbage n'avait-il pas déclaré, dès le début de ses recherches, qu'il rêvait de tables de logarithmes "confectionnées à la vapeur"? (Voir plus haut)

La conclusion s'impose: si la mécanique ne peut, en vitesse, en capacité, rivaliser avec ce que permettra l'électricité (mais en 1831, Faraday vient tout juste de découvrir l'induction électromagnétique, et la lampe à incandescence ne verra le jour qu'après la mort de Babbage), tous les éléments constitutifs, toute l'architecture d'un ordinateur sont bien présents.

Source des Images:

- plan: Computer History Museum
(Mountain View, California, USA)
- dessin: 
publié dans The Guardian, extrait d'une BD de Sidney Padua

N.B.: pour une meilleure correspondance "verticale" entre les deux, le plan a été retourné à 180°; en cliquant vous le verrez dans son orientation originale.



Enfin la machine intègre des périphériques: lecteur de cartes perforées en entrée, et imprimante en sortie:



La sûreté des tables produites par la machine tiendra, outre l'impossibilité d'erreurs de calcul, à l'élimination de tout traitement humain dans leur production: c'est le prolongement des idées déjà développées pour la Machine à Différences: elle aura comme périphériques une (ou deux!) imprimantes, un moyen de mouler des stéréotypes (au sens technique de l'imprimerie: caractères en relief!) , une perforatrice automatique de cartes.
Ci-contre, le module d'impression de la Machine à Différences n°2 (reconstruite selon les plans d'origine).
Postérieure à la Machine Analytique, elle héritait de ses "périphériques":
- impression sur papier, entre les deux rouleaux (flèche rouge)
- moulage de dtéréotypes, dans le "tiroir" fléché en vert.

Les Variables


"Dans tous les calculs, les colonnes des Variables pourront être divisées en trois catégories:
1) Celles dans lesquelles sont inscrites les données;
2)
Celles qui vont recevoir les résultats;
3) Celles qui doivent recevoir des combinaisons, intermédiaires et temporaires des données primitives, qui ne seront pasz conservées en permanence, mais sur lesquelles on va travailler pour parvenir aux résultats visés. Celles-là sernt dénommées données secondaires. Elles sont en fait autant d'états successifs dans la progression vers le résultat. Les colonnes qui les recçoivent sont pour cette raison nommées Variables de Travail, car leur rôle est de nature purement accessoire. Elles contiennent une classe intermédiaire et transitoire de résultats, qui unissent données originales et résulatas définitifs.

Les Variables-Résultats, parfois, participent de la nature des 
Variables de Travail. Il arrive fréquemment, en effet, qu'une variable destinée à recevoir un résultat final contienne successivement, pendant le déroulement du processus, une ou plusieurs valeurs intermédiaires. De même, les Variables de Donnéesdeviennent souvent des Variables de Travail, ou des Variables-Résultats, voire même successivement les deux"

A. Lovelace, Notes Additionnelles à la Description de la Machine Analytique, 1842


Les mots en gras sont soulignés par Ada Lovelace elle-même (NdT)

Concrètement, pour un système de deux équations à deux inconnues
Ada propose la séquence d'opérations suivantes dans ce tableau, qui met en évidence la progression des opérations, correspondant au calcul classique (nous nous sommes contentés d'en colorier les différents types de variable pour les identifier plus immédiatement)


Les valeurs des entrées sont données sous forme de cartons perforés, du modèle ci-dessous: une colonne correspond à une position (unités, dizaines, centaines, etc...), et dans celle-ci le nombre de trous au chiffre de 0 à 9 à y inscrire.
[retour à la page ADA si désiré]

Les Tables de Fonctions Précalculées (Bibliothèques)


"  [...] quand la machine voudrait un nombre tabulé, disons un logarithme, elle s'arrêterait en faisant sonner une cloche. L'opérateur verrait, sur une certaine partie de la machine, qu'elle attend un logarithme, disons celui de 2303. Il ouvrirait alors un tiroir contenant les cartons constituant sa table de logarithmes, prendrait la carte requise et l'introduirait dans la machine. Celle-ci contôlerait d'abord si l'assistant lui a donné une valeur correcte; si oui, elle la prendrait et continuerait son travail. Mais en cas d'erreur, elle ferait entendre un son de cloche plus fort et s'arrêterait. L'opérateur pourrait alors lire le message: "Valeur tabulée incorrecte", découvrir son erreur et remplacer par la bonne carte.
Sur ce, le Professeur MacCullagh me demanda naturellement pourquoi, si la machine était capable de dire si le logarithme était correct, le demander à un opérateur? Je répondis que les moyens employés étaient si ridiculement simples que je ne les lui expliquerais pas pour l'instant, mais que s'il voulait bien revenir dans quelques jours, je le ferais. Trois ou quatre jours plus tard, Bessel et Jacobi, juste débarqués en Angleterre, étaient assis à mes côtés, me questionnant sur
 la Machine Analytique, quand mon ami MacCullagh fut annoncé. La conversation se poursuivit agréablement, et au bout de quelques instants Bessel me posa la même question que MacCullagh auparavant. Là-dessus, Jacobi remarqua qu'il était en train de s'interroger lui aussi sur ce point au moment où Bessel posait la question.
Je leur expliquai alors le moyen très simple par lequel la vérification s'accomplissait.
À côté des cartes qui dictent la nature des opérations à effectuer, de celles portant les variables et constantes sur qui agir, il y a une nouvelle classe de cartes, appelées cartes de nombres. Elles sont d'un usage 
moins général que les autres, quoique nécessairement de taille plus grande.
Tout nombre que
la Machine Analytique peut utiliser ou produire peut, si besoin est, être exprimée par une carte perforée comme celle-ci:
Elle contient onze rangées verticales pour les trous, chacune ayant au plus neuf trous. Dans cet exemple, le nombre tabulé est 3622939, et son numéro d'ordre dans la table 2303. En fait, le premier est le logarithme du second.
[...]

Bien sûr, la Machine calculera toutes les Tables dont elle pourrait elle-même avoir besoin. Ces cartes seront ainsi garanties sans erreur. [...]
Quand l'opérateur placera une telle carte dans la Machine, , la première étape sera de vérifier le numéro d'ordre de la carte, en le soustrayant de 2303, nombre dont on a demandé le logarithme. Si le résultat est nul, alors la Machine est certaine que le logarithme est le bon, puisqu'elle l'a calculé et perforé elle-même.
"

C. Babbage, Fragments de la Vie d'un Philosophe ( 1864)

Les Instructions de Programme

Ainsi, la machine est-elle prévue pour effectuer des tests, éléments-clefs de tous les langages de programmation.
Mais elle peut aussi réaliser des boucles, comme le précise Ada dans ses notes explicatives


"Un cycle d'opérations doit être compris comme un ensemble quelconque d'opérations qui est répété plus d'une fois. Et il méritera le nom de cycle, que la répétition se produise deux fois seulement, ou bien un nombre indéfini de fois; car c'est le fait de répéter ce groupe qui le qualifie comme tel. Dans beaucoup de cas de l'analyse se présente un groupe récurrent de un ou plusieurs cycles, c'est à dire un cycle de cycles. C'est par exemple le cas lorsqu'on développe en série le quotient de deux séries:
(1)       a + bx + cx² + ...  / a' + b'x + c'x² + ...

 la simple considération de (1) et des étapes de la division algébrique montre que (en supposant qu'on limite le dénominateur à p termes) le premier quotient partiel s'obtient par une division, p produits et p soustractions; le second par la même suite d'opérations, mais où le premier reste prend la place du dividende original.[...] Le processus complet de division, si l'on se propose d'obtenir n termes du quotient, consistera à répéter n fois le cycle  de calcul d'un quotient partiel, qui est lui même un cycle à p répétitions [...]."

A. Lovelace, Notes Additionnelles à la Description de la Machine Analytique, 1842


Les mots en gras sont soulignés par Ada Lovelace elle-même (NdT)

Ada prend encore l'exemple de l'élimination successive des variables dans un système de 10 équations à 10 inconnues: dans la deuxième ligne, on fait 10 fois la même séquence de deux produits, une soustraction, puis idem dans les autres lignes, soit 9 x 10 fois la séquence d'opérations ( x , x - ) Puis 8 x 9 fois pour éléminer la deuxième variable, etc...soit 330 fois cette séquence; grâce à la boucle (contrôlée par des variables compteurs supplémentaires) 3 cartes d'opération suffiront, et non 3 x 330.

Comment cela peut-il fonctionner?  Grâce à un artifice mécanique tout simple!


"Le mode d'utilisation des cartes, tel qu'il a été employé jusqu' ici dans l'art du tissage, n'a cependant pas paru assez puissant pour atteindre les buts assignés à la Machine Analytique, compte tenu de la variété et de la complexité des processus à réaliser. Une méthode, techniquement appelée réemploi, a été mise au point pour y parvenir. L'objet en est d'assurer la possibilité d'amener une carte, ou un jeu de plusieurs cartes, à être utilisée successivement, un nombre de fois quelqconque dans le calcul demandé.
Ceux qui ont compris le fonctionnement du mécanisme du métier [de Jacquard] verront que cette amélioration est facilement réalisée en pratique, en permettant au prisme sur lequel passe le train de cartes du motif de se mouvoir également en arrière, et pas simplement en avant, au gré des circonstances [dictées par le programme]; c'est ainsi que chaque
carte ou ensemble de  cartes, qui a effectué son travail une fois,"

A. Lovelace, Notes Additionnelles à la Description de la Machine Analytique, 1842


Les mots en gras sont soulignés par Ada Lovelace elle-même (NdT)


Le lecteur un peu averti de théorie de la Calculabilité ne pourra manquer de faire un parallèle entre le métier de Jacquard et les automates finis d'une part (lecture d'instructions sur un ruban défilant à sens unique), la Machine Analytique et la Machine de Turing d'autre part: la possibilité de faire reculer le ruban (et d'y écrire, ce qui correspond à des modifications de valeurs de variables) a fait passer d'un reconnaisseur de motifs (l'automate) au modèle théorique universel d'un ordinateur actuel, capable d'exécuter séquences, tests, boucles, bref TOUS les programmes informatiques écrits jusquà ce jour. La Machine Analytique faisait aussi bien, elle avait la même étendue de possibilités de calcul (On n'a pas dit la même rapidité!)

[retour à la page ADA si désiré]

Épilogue 1: Construire la Machine Analytique... enfin!

Son plus jeune fils, Henry Prevost Babbage (1824–1918), le plus intéressé par ses travaux, et, en quelque sorte, légataire spirituel , construisit, outre 6 modèles de démonstration de la Machine à Différences n°1, une partie centrale de la Machine Analytique, en 1910.



Machine Analytique, version alternative du moulin, construite par le fils de Babbage.
(Science Museum, Londres, Angleterre)


Mais ce n'est pas tout!
Après la belle réussite qu'est la construction de la Machine à Différences, un projet encore plus audacieux, animé par
John Graham-Cumming (l'informaticien qui lança la pétition pour que le gouvernement britannique fasse son mea culpa pour le traitement infligé à Alan Turing)  et une équipe londonienne, est de bâtir cet ordinateur à vapeur.
La presse généraliste s'en est fait l'écho (BBC, The Guardian...). Un site, dénommé Plan 28 (la référence du plus beau plan d'ensemble de Babbage, celui que nous avons utilisé plus haut) et son blog vous tiennent au courant de l'avancement.
Confiant dans la progression actuelle, 
John Graham-Cumming fixe comme terme du projet l'horizon 2021, pour commémorer le 150ème anniversaire de la mort de Babbage.

Épilogue 2: Un Cerveau qui voit loin...


Babbage est un visionnaire qui, alors même que ses machines sont à l'état de plans, ne cesse de les modifier, au risque -tristement avéré- de différer éternellement leur réalisation. Mais comment ne pas être frappé par la portée de ses vues, quand il interroge l'avenir? Voici deux exemples de sa clairvoyance.

Le premier porte sur ce que l'on appelle aujourd'hui complexité algorithmique: pour faire mieux, la priorité n'est pas de construire une machine plus rapide mais d'écrire le programme le plus performant; dans les mots de Babbage:


"Dès que la Machine Analytique existera, elle guidera nécessairement le cours de la science. Car quel que soit le résultat que l'on recherchera avec son aide, une question surgira: quelle méthode de calcul employer pour que la Machine parvienne à ces résultats dans le temps le plus court? "

C. Babbage, Fragments de la Vie d'un Philosophe ( 1864)

Les mots en gras sont ici soulignés par Babbage lui-même (NdT)

Le second a pour objet les algorithmes de calcul des fonctions élémentaires par la machine. Après avoir présenté la construction de tables de fonction que la machine elle-même utilisera, il s'interroge sur l'avenir de ce procédé comparé à un recalcul direct, le tout, une nouvelle fois, en termes d'efficacité optimale:

"Une intéressante question, que seul le temps pourra résoudre, sera de savoir si de telles tables de cartes seront toujours requises pour la Machine. Les tables sont utilisées pour gagner du temps, en évitant de recalculer continuellement certaines valeurs. Mais les opérations que peut effectuer la Machine sont si rapides qu'il semble plus que probable qu'il sera plus court de les faire calculer directement à partir de formules appropriées que d'avoir recours à ses propres tables. "

C. Babbage, Fragments de la Vie d'un Philosophe ( 1864)

C'est de fait la stratégie qu'adopteront les premiers "gros" ordinateurs, suivis par les calculatrices programmables et les ordinateurs personnels, usant de procédés d'approximation variés et mathématiquement intéressants (polynômes, fractions rationnelles -presque jamais ceux auxquels on penserait en sortant d'un cours de maths!), avant d'utiliser une stratégie mixte, l'utilisation de quelques valeurs tabulées très bien choisies et d'algorithmes de calcul rapides entre ces valeurs: CORDIC (voir ici aussi) de Volder (1959) et Walther (1971) en est l'exemple le plus célèbre, constituant une sorte de synthèse des deux points de vue présentés par Babbage!

Et si ses contemporains se montrèrent sceptiques d'une machine dont Ada, mieux que lui-même, entrevit des possibilités préfigurant l'Intelligence Artificielle (au sens et avec les limites qu'il faut donner à cette expression aujourd'hui), ils furent curieux d'un cerveau d'exception... Singulière tendance de son époque, chimère, espoir insensé, on imaginait alors pouvoir percer les secrets de l'intelligence humaine en étudiant les cerveaux de grands savants (le cas d'Einstein -en 1955!- est sans doute le plus célèbre; voir ici ou , et prendre un peu de distance critique...). Quoi qu'il en soit, c'est ainsi que celui de Babbage fut extrait et conservé... en deux moitiés, l'une dans une faculté de médecine, l'autre au Musée des Sciences. Sans doute pas le meilleur moyen d'étudier ce que l'intelligence doit à la connexion des deux hémisphères!

Une moitié du cerveau de Charles Babbage.
(Science Museum, Londres, Angleterre)

Références et Liens...

Sur la Toile

Livres


Aller à notre Page Ada Lovelace

Revenir à la Home Page du Mathouriste