" 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)
|
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.
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)
|
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) |
||||
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!
|
"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" |
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 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)
|
"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)
|
Tourner autour pour
admirer, comme on le ferait pour une sculpture... (Science Museum,
Londres, Angleterre)
|
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)
|
"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
|
Machine Analytique, portion de moulin (unité de calcul) ... | ... et comment la commander! |
(Science Museum,
Londres, Angleterre)
|
"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)
|
"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)
|
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. |
"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)
|
"
[...] 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) |
"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)
|
"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)
|
Machine Analytique,
version alternative du moulin, construite par le fils de Babbage. (Science Museum,
Londres, Angleterre)
|
"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)
|
"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)
|