Charles Babbage et l’initiation de la première machine à calculer programmable
Sujet : Charles Babbage et l’initiation de la première machine à calculer programmable
Introduction
L’histoire de la machine à calculer programmable est un chapitre entier de la revolution industrielle, l’époque où Charles Babbage et ses collaborateurs ont vécu. Les inventeurs avant Babbage ont pu créer des machines à calculer dont les fonctions sont très limités à deux opérations arithmétiques comme celle de Leibniz et Pascal. Babbage a vecu dans une époque où reine le capitalisme comme régime de régulation économique et la technique est dominée par la révolution industrielle. C’est la raison qui pousse les économistes à réfléchir sur l’industrialisation et l’automatisation de production telle que le tisserand qui a inspiré le fameux Adam Smith à écrire son œuvre majeur sur la recherche de la nature et des causes de richesse de la nation. Smith s’intéresse à la division de travail qu’il a entièrement détaillé dans son ouvrage, et que Babbage s’inspira ensuite. La division de travail physique et mentale de Smith, doublée de la volonté de corriger les erreurs des tables mathématiques sont les raisons qui ont poussé les recherches de Babbage à fond. Alors, Babbage est-il un génie de son temps avec son invention, est-il un vrai inventeur qui arrive au bout de ses recherches ?
- Charles Babbage et son temps
Charles Babbage, père de l’informatique, est né le 26 décembre 1791 à Teignmouth en Royaume-Uni, il a obtenu son maitrise à l’Université de Cambridge en 1847 après avoir entamé 4 ans d’étude en logique et en mathématique.
En 1820, ils ont été trois à créer une Société d’analyse avec Herschel et Peacock
En 1823, sous l’appui du gouvernement, il travaillait sur le moteur de la différence.
En 1827, il a édité la table de logarithme de 1 à 108000
En 1828, il a été nommé président lucasien de mathématiques à Cambridge
En 1831, il a fondé l’Association britannique pour l’avancement des sciences
En 1823, il a écrit un livre sur l’économie des manufactures et machines
En 1834 ; il a fondé la Société statistique de Londres
Il a succombé en 1871.
L’invention de Babbage sur l’ordinateur numérique implique la combinaison des techniques mathématiques et des inventions de ces précédents comme les chaines, les sous ensembles et les cartes perforées[1].
Charles Babbage et sa machine calculatrice
D’après les écrits de Doron Swade, Babbage n’a jamais réussi la matérialisation de ses premiers plans concernant la démarche de la machine à calculer, pourtant ses hypothèses et ses démarches ne comportent pas autant d’erreurs graves. C’est la réussite des expériences entreprises par l’équipe de musée de Londres en 1985 qui justifie l’exactitude des plans de Babbage lors du montage de la machine à différence n°2.
L’inspiration de Babbage trouve son origine dans la constatation des erreurs incorporés dans les tables mathématiques utilisés par les scientifiques de l’époque comme les navigateurs, les banquiers et les ingénieurs. Mais la découverte de ces erreurs fut aussi démontrée par deux scientifiques célèbres qui sont Lardner et Herschel. En 1834, Dionysius Lardner a démontré l’existence de 3700 erreurs après l’édition de 400 volumes de table mathématique. Ensuite, avec l’appui de John Herschel, Babbage a découvert une discordance étonnante lors d’une comparaison de deux ensembles de calcul pour l’établissement des tables astronomiques. A l’appui de ces découvertes, l’espérance de Babbage reposait sur le fait que son invention éviterait les sources d’erreurs dans les tables mathématiques tant utilisés par de grand nombre de techniciens. Pour ce faire, les résultats seront imprimés sur les bandes de papier ou des plaques métalliques afin de les automatiser et de garder la constance des valeurs à chaque impression. En d’autres termes, les deux principales raisons de l’invention de la première machine à calculer pour cet inventeur sont :
- La volonté d’éliminer les erreurs à l’impression des tables mathématiques, une ambition de mathématicien qui voulait faire progresser son domaine.
- L’automatisation des résultats qui diminuerait les calculs fastidieux et la perte de temps a chaque fois que quelqu’un en a besoin.
La concrétisation de la machine à différence
En 1822, l’inventeur a commencé à travailler sur un model expérimental d’une machine à différence 1 ou machine différentielle, une appellation issue du nom de procédé mathématique qu’il a utilisé pour effectuer les calculs des valeurs, qui est la méthode de différence finie.
La méthode de différence finie est un mode de calcul des valeurs successives d’un polynôme en recourant à des additions et des soustractions pour chaque étape du calcul. L’avantage de son option réside sur le fait de ne pas recourir à la mécanisation de la multiplication et de la division. Pourtant, l’exactitude de la dernière réponse dépend substantiellement de celle des résultats successifs précédents[2]. D’une manière générale, la machine de Babbage rassemble les différents procédés mathématiques et logiques d’autres chercheurs, telle est le cas de l’utilisation des fonctions arithmétiques de Pascal et de Leibniz, l’utilisation de la logique mathématique de Georges Boole, ainsi, la combinaison des systèmes analytiques et numériques. Concernant l’automatisation, il doit faire appel à l’utilisation des cartes perforées, des engrenages et des leviers pour le montage technique de son projet[3].
L’aspect technique de la machine de Babbage
L’aspect mathématique repose sur la méthode de la différence, l’utilisation du système décimale, l’exploitation des fonctions arithmétique de Pascale et de Leibniz et la recours à l’algèbre de Boole.
Le calculateur mécanique de Babbage utilise le système de numération décimal au détriment du système de numération binaire pour pouvoir économiser le nombre d’opération. Le système décimal est formé de 10 chiffres ou 10 digits, dont 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, sa dénomination en mathématique est un système de numération à base 10. Par contre, le système binaire n’est composé que de 0 et de 1, d’où son appellation système binaire, avec lequel chaque chiffre est représenté par une suite de ces deux digits, comme les exemples suivants : 0 en décimal s’écrit 0 en binaire, le 1 s’écrit 1, le 2 s’écrit 10, le 3 s’écrit 11, le 4 s’écrit 101 et ainsi de suite. Les appareils numériques d’aujourd’hui utilisent davantage le système binaire car il est associé à un certain voltage électrique comme par exemple le 0 volt signifie 0 et le 5 volt signifie 1. D’après ce constat, le système binaire utilise de plus en plus de série de chiffre, qui exige en parallèle de plus en plus de roues, donc de plus en plus d’espace, de matériels et de coûts. C’est la raison de l’utilisation des roues gravées par les chiffres décimaux 0 jusqu’à 9, ces roues sont dentées et tournent par l’effet d’un système de commande mécanique par 1/10 de tours à chaque fois.
Illustration :
En système décimal, le chiffre 2500 utilise 4 roues dont les faces visibles sont 2, 5, 0 et 0
En système binaire, ce même chiffre s’écrit 100111000100, nécessite 12 roues marquées de 0 et de 1, or les roues ont besoin d’espace pour pouvoir être montés et leur fabrication nécessite des coûts vu que la recherche de Babbage est financée par son gouvernement à l’époque.
L’inspiration de la machine de Pascal
L’utilisation du système décimal est inspirée de l’invention de Blaise Pascal en 1642 de la « Pascaline» ou machine de Pascal. Pendant cette époque, Etienne Pascal et son fils Blaise Pascal s’entraident pour la fabrication d’une machine capable d’effectuer des simples opérations d’addition et de soustraction pour simplifier et pour justifier les opérations de collecte d’impôts. C’est grâce à cette invention que Babbage a appris la manipulation des roues à système décimal comportant les 10 chiffres de 0 à 9. La « Pascaline » est formée par un boitier contenant un tambour autour duquel sont montées roues pour l’inscription. Les chiffres 0 à 9 sont gravés autour de chaque roue avec un intervalle régulier pour garder l’automatisation et l’exactitude de chaque tour. Pascal a mis en place un petit poignet pour pouvoir faire tourner le tambour et en parallèle les roues qui y sont fixés. Il y a deux rangées de chiffres sur le tambour, sur le haut une rangée de chiffre 9 à 0 et sur la rangée du bas, une série de chiffre de 0 à 9. Au fur et à mesure qu’on fait tourner le tambour, les chiffres que les rangées défilent et s’affichent successivement sur une petite lucarne en dessus, et l’option d’affichage peut être modifié par une baguette mobile, c’est-à-dire, le chois entre la rangée du haut et du bas. La machine de Pascal est très ingénieux et ne présente aucune erreur surtout avec le système de gestion des retenus lors des calculs plus complexes.
L’inspiration de la machine de Leibniz
En outre, le travail de Babbage fait appel à l’invention de Leibniz concernant la machine arithmétique. Si la machine de Pascal se limite à deux fonctions arithmétiques dont la soustraction et l’addition, celle créé par Leibniz s’étend à la manipulation de deux autres fonctions qui sont la multiplication et la division. La première esquisse de la machine de Leibniz a été rendu publique en 1673 à Londres et à Paris. Mais malgré les temps dispensés et le budget alloué à l’invention, il n’a pas pu faire marcher la machine correctement. La machine de Leibniz compose une partie mobile et une partie fixe. La partie fixe enregistre les résultats intermédiaires au fur et à mesure de l’avancement du calcul, et la partie mobile permet de dissocier la pose du multiplicande. Ensuite, la partie mobile décale vers la gauche en fonction du changement de la puissance du multiplicateur considéré. En principe, l’utilisation de cette machine implique la décomposition du multiplicande en ppcm ou plus petit commun multiple, comme par exemple si le multiplicande est égal à 100, on la décompose en 4x5x5. La machine dispose de trois affichages, l’une, plus bas, reçoit le nombre à multiplier, la troisième, reçoit les résultats, quant à la deuxième, elle reçoit le multiplicande déjà décomposé comme la démonstration précédente, donc, l’opérateur pose d’abord le 5, et tourne la manivelle 5 fois pour avoir le premier résultat, ensuite, il décale la partie mobile de l’appareil vers d’un chiffre afin de poser le 5 et tourne une deuxième fois la manivelle pour obtenir le deuxième résultat. Enfin, il décale la partie mobile une deuxième fois pour poser le 4 et tourne la manivelle 4 fois pour effectuer la dernière opération, ainsi, le résultat final est obtenu.
La technologie de cartes perforées de Jacquard
L’aspect technologique de la machine de Babbage reprend en partie l’utilisation des cartes perforées inventées par Joseph Marie Jacquard. En fait, les cartes perforées sont en forme de plaque de papier très rigide sur lesquels les informations sont gravées en forme de trou et de non-trou. Ils sont considérés comme l’origine des compacts disques d’aujourd’hui. C’est en 1728 que les premières cartes perforées sont inventées à l’intention de remplacer les rubans de papier perforés qui sont jugées plus fragiles, ces cartes sont utilisés afin de rendre automatique les métiers à tisser. Mais Jacquard les a perfectionnées en 1801 en vue de les rendre flexible et fiable pour améliorer leur emploi. Babbage les a reprises et les a utilisées comme composante principale de sa machine entant que carte de données et carte d’instruction.
Georges Boole et Charles Babbage
Ces deux mathématiciens ont effectué chacun de leur côté leurs propres recherches. Pour Babbage, son ambition s’est surtout focalisée dans la construction de la machine analytique ou analytic engine, qui était une « calculatrice automatique et mécanique à programme externe ». Quant à Georges Boole, il a entamé une recherche approfondie sur le processus de mathématisation de la logique par le biais de l’algèbre qui porte son nom, et tant utilisé dans des nombreux domaines comme les portes logiques d’un circuit électronique. En 1847, il publié un ouvrage intitulant : « The mathematical analysis of logic », dans le quel il a démontré la façon de décrire la logique par une formalisation mathématique. Même si ces travaux sont souvent pris indépendamment dans la littérature scientifique, Boole et Babbage sont tous les deux disciples de l’Ecole Algébrique Anglaise, un courant très invoqué dans la moitié du 19ème siècle. L’école avait pour mission de faire avancer l’algèbre par la conception symbolique et algorithmique de celle-ci.
- La collaboration de Babbage et d’Ada lovelace
Biographie d’Ada Lovelace
Ada lovelace ou Augusta Ada King est une comtesse généralement appelée Ada lovelace, qui est née à Londres le 10 décembre 1815, elle est la fille du poète Lord Byron et de son épouse Anne Isabelle Milabanke qui divorça de son mari quelques années plus tard, elle a été élevée par sa mère. Ada Lovelace est particulièrement habile dans les chiffres et les calculs mathématiques. Elle épousa William King un homme de 10 ans de son ainé en 1835 qui fût promu au rang de compte en 1838, ils ont eu 3 enfants dont Byron, né le 12 mai 1836, Annabela, née le 22 septembre 1837 et Ralph Gordon, né le 2 juillet 1839, Ada lovelace mourut en 1852. Ada est en effet, un personnage assez connu dans les pays anglo-saxons et en Allemagne, mais est peu célèbre en France.
L’apparition d’Ada dans les Mathématiques
Pour éviter la poésie jugée comme dangereuse par sa mère, Ada fût éduquée à travers les mathématiques et la musique, à 17 ans elle a rencontré Charles Babbage un professeur de mathématique à Cambridge en son temps. Celui-ci se rendait compte assez vite de la compétence très poussée d’Ada Lovelace sur les mathématiques, et a proposé le problème de la machine analytique à celle-ci. Ada a tout de suite compris le fonctionnement de la machine et la logique de celle-ci, elle a donc apporté son aide pour la construction de la machine analogique avec Babbage. Elle a été connue comme étant le premier programmeur de l’histoire avec le langage qui porte son nom ADA.
La concrétisation de leur collaboration
La collaboration d’Ada Lovelace dans la fabrication de la machine analogique commençait d’abord par la traduction annotée et d’une description assez précise de la machine analytique de Babbage qui est un ancêtre mécanique de l’ordinateur. Elle travaillait donc sur plusieurs points à savoir :
- Traduction du premier algorithme destiné à être exécuté par une machine
- Description des possibilités offertes par le calculateur universel
- Conception des diagrammes qui permettaient d’expliquer le fonctionnement et les procédures à suivre pour arriver aux résultats recherchés lors de l’utilisation des machines qui, en se temps, fonctionnaient avec des engrenages.
- Traduction des notes de l’italien Louis Menabrea
- Traduction des mémoires de l’italien Federico Luigi avec une analyse des concepts mathématiques de celui-ci.
Description des actions entreprises lors de leur collaboration
Après la création de la machine différentielle n°1 par Charles Babbage, celui-ci a voulu avancer dans ses travaux et cherche à élaborer une machine analytique avec l’aide d’Ada Lovelace. En effet, en 1834 à 1836 Charles Babbage et Ada Lovelace ont conçu ensemble la machine analytique, Ada aidait Charles dans la conception des diagrammes destinés à faire fonctionner la machine. Elle traduit les mémoires et les notes en langues étrangères grâce à sa connaissance linguistiques. Mais pour des causes techniques et financières, ils n’ont pas pu crée la machine puisque celle-ci a été jugée comme étant trop grande et trop complexe et nécessitant ainsi un lourd budget qui équivalait le budget nécessaire à la construction du train à vapeur. Le principe de la machine analytique est basé sur les méthodes de séparation des symboles de variables et d’opérations d’Arbogast[4].
Ensuite, Ada Lovelace et Charles Babbage ont travaillé sur une machine à différence n°2 de 1847 à 1849. Cette machine était une grande évolution de la machine à différence n°1. Mais en réalité cette machine était une suite logique de la machine analytique qui n’a pu être terminé. C’est en effet une simplification de la machine analytique jugée trop complexe, la machine différentielle n°2 nécessite moins de pièces que la machine analytique. En outre, entre ces deux personnes il y avait une force créatrice et innovateur permettant la création de la machine mais également constituant un ancêtre de la programmation et de l’informatique. La machine différentielle permet de calculer les polynômes, c’est à une relation entre une fonction inconnue et ses dérivées de degrés différents, comme par exemple : f’= a* f +b avec a et b des réels et f la fonction et f’ sa dérivée[5].
- Les procédés mathématiques
La machine de Babbage avait marché avec un procédé mathématique rigoureux concernant la méthode de différence finie. La matérialisation initiale de cette méthode se présente comme suit[6] :
- Les différences troisièmes des nombres carrées sont nulles
0 | 1 | 4 | 9 | 16 | 25 | 36 | 49 | 64 | ||||||||
1 | 3 | 5 | 7 | 9 | 11 | 13 | 15 | |||||||||
2 | 2 | 2 | 2 | 2 | 2 | 2 | ||||||||||
0 | 0 | 0 | 0 | 0 | 0 |
- Les différences secondes des entiers naturels sont nulles
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ||||||||
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |||||||||
0 | 0 | 0 | 0 | 0 | 0 | 0 |
Avec la méthode de différences finies, il est facile d’obtenir une table mathématique en utilisant seulement une suite d’addition parce que le premier nombre est déjà connu. Ici, le premier schéma montre comment obtient-on la table des carrées des nombres. La différence entre les carrées des nombres est un nombre premier dont l’intervalle entre le premier et le second est égale à une constante 2. Donc pour obtenir la table des carrées des nombres entiers, il suffit d’additionner le premier nombre par cette différence en augmentant à chaque position à 2 après le 1, qui est un nombre neutre en multiplication car 1n = 1 pour tout n appartenant à l’ensemble N.
Illustration :
0²=0, 1²=1, 2²=4, 3²=9
La différence entre 0 et 1 égale à 1, celle de 1 et 4 égale 3, et la différence entre 1 et 3 vaut 2.
Pour obtenir le carré de 3, il suffit d’additionner 3 et 2, puis 3, 2 et 4 pour obtenir 9
Pour obtenir le carré de 4, il faut additionner 4 et 3, et puis 4, 3 et le carré du nombre précédent qui est celui de 3 dont 9 pour obtenir 16[7].
Démonstration de l’Algèbre de Boole[8]
Le système est formé par deux éléments dont 0 et 1. L’algèbre booléenne comporte trois opérateurs logiques qui sont :
-et/and : a.b ou ab
-ou/or : a+b
-non/not : ā
La table de vérité démontre les opérations de base avec les variables booléens
a | ā |
0 | 1 |
1 | 0 |
a | b | a+b | a.b |
0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 1 | 1 |
Cette illustration de Boole s’étend à l’utilisation des portes logiques de base en électronique numérique, en incorporant d’autres fonctions à savoir le non-et, le non-ou et le ou-exclusif.
En tout, il existe cinq types de porte logique :
E1 | E2 | E1 et E2 | E1 ou E2 | E1 non-et E2 | E1 non-ou E2 | E1 ou-exclusif E2 |
0 | 0 | 0 | 0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 0 | 0 | 0 |
De ce constat, les portes logiques exigent une transcription des nombres en modes binaires pour pouvoir les affecter à des opérations arithmétiques comme l’addition et la soustraction.
Illustration : addition binaire
L’addition en système binaire suit le même principe qu’en décimal en ce qui concerne les retenus. Lorsqu’on effectue la somme de deux nombres, les réponses suivent les 4 cas possibles suivants :
0 + 0 = 0, on écrit 0, 1 + 0 = 1, et on écrit 1, 1 + 1 = 10n on pose 0 et retient 1, et 1 + 1 + un retenu 1 = 11, on pose 1 et retient 1
L’addition de 2 + 3 = 5 s’écrit de la façon suivante :
1 | 0 | (2) | |
+ | + | ||
1 | 1 | (3) | |
1 | 0 | 1 | (5) |
Conclusion
Les travaux de Charles Babbage sont jugés par la littérature comme initiation à l’ordinateur grâce à la réussite des plans qu’il a édité pour la fabrication de la machine à différence 1 et 2. Ils poussent ses recherches très loi que celles effectuées par ces précédents qui sont les inventeurs des machines arithmétiques à fonctions limitées. Pourtant il a repris des nombreuses théories et outils techniques pour la fabrication de sa machine analytique, ensuite il a été aidé par d’autres personnes comme Herschel et Lovelace dans les parties mathématiques des travaux. De ce fait, Babbage ne peut pas être classé comme inventeur anonyme de telle sorte que ses inspirations se focalisent sur le perfectionnement des éléments déjà découvert par ses prédécesseurs, en vérité, il peut être dénommé comme combineur réussi. En principe, la partie du calcul différentiel a été inspiré du développement de Taylor, l’utilisation des cartes perforées a été déjà initié auparavant dans les industries textiles, les deux machines à calculer sont déjà les inventions de Leibniz et de Pascal, il ne fait que combiner tous ces outils pour fabriquer sa machine. Pourtant il dépasse les technologies utilisées auparavant concernant la machine à calculer c’est pour cette raison qu’il est dénommé le père de l’informatique.
Bibliographie
Doron Swade, Le calculateur mécanique de Charles Babbage, avril 1993, Pour la science n°186
Marie José DURAND RICHARD, Babbage et Boole : les lois du calcul symbolique, Intellica 2004
Marie José DURAND RICHARD, Des machines pour résoudre les équations différentielles, Université Paris 8, Equipe REHSEIS
- Perez, Du doigt à la machine, le calcul, Le petit journal
Eric Cariou, Algèbre de Boole, Université des Pau et des Pays d’Adour, http://web.univ-pau.fr/~ecariou/cours/archi/cours-2-boole.pdf,
Lee Jan, http://ei.cs.vt.edu/~history/Babbage.html, 30 septembre 1994
[1] Lee Jan, http://ei.cs.vt.edu/~history/Babbage.html, 30 septembre 1994
[2] Doron Swade, Le calculateur mécanique de Charles Babbage, avril 1993, Pour la science n°186, page 78
[3] V. Perez, Du doigt à la machine, le calcul, Le petit journal, page 9
[4] Marie José DURAND RICHARD, Babbage et Boole : les lois du calcul symbolique, Intellica 2004, page 46
[5] Idem, page 98
[6] Marie José DURAND RICHARD, Des machines pour résoudre les équations différentielles, Université Paris 8, Equipe REHSEIS, page 7
[7] Transcription de la méthode énoncé dans Pour la science n°186, avril 1993, page 82, concernant le principe mathématique de la différence finie, Doron Swade
[8] Eric Cariou, Algèbre de Boole, Université des Pau et des Pays d’Adour, http://web.univ-pau.fr/~ecariou/cours/archi/cours-2-boole.pdf,
Nombre de pages du document intégral:11
€24.90