Le moteur différentiel du Musée des Sciences de Londres , le premier à avoir été réellement construit à partir du modèle de Babbage. Le modèle a la même précision sur toutes les...
Worldlex WikiFrancaisLecture gratuite
Le moteur différentiel du Musée des Sciences de Londres , le premier à avoir été réellement construit à partir du modèle de Babbage. Le modèle a la même précision sur toutes les colonnes, mais dans le calcul des polynômes, la précision sur les colonnes d'ordre supérieur pourrait être inférieure.
Un moteur de différence est une calculatrice mécanique automatique conçue pour tabuler des fonctions polynomiales . Il a été conçu dans les années 1820 et a été créé pour la première fois par Charles Babbage . Le nom de moteur de différence est dérivé de la méthode des différences divisées , une façon d'interpoler ou de tabuler des fonctions en utilisant un petit ensemble de coefficients polynomiaux. Certaines des fonctions mathématiques les plus courantes utilisées en ingénierie, en sciences et en navigation sont construites à partir de fonctions logarithmiques et trigonométriques , qui peuvent être approximées par des polynômes, de sorte qu'un moteur de différence peut calculer de nombreuses tables utiles .
Histoire
Gros plan du moteur différentiel du Musée des sciences de Londres montrant certaines des roues numériques et les engrenages de secteur entre les colonnes. Les engrenages de secteur de gauche montrent très clairement les dents à double hauteur. Les engrenages de secteur du milieu à droite font face à l'arrière du moteur, mais les dents à simple hauteur sont clairement visibles. Remarquez comment les roues sont en miroir, avec un comptage croissant de gauche à droite, ou un comptage décroissant de gauche à droite. Remarquez également la languette métallique entre « 6 » et « 7 ». Cette languette déclenche le levier de transport à l'arrière lorsque « 9 » passe à « 0 » à l'avant pendant les étapes d'addition (étapes 1 et 3).
En 1784, JH Müller , un ingénieur de l' armée hessoise , a conçu et construit une machine à additionner et a décrit les principes de base d'une machine à différences dans un livre publié en 1786 (la première référence écrite à une machine à différences est datée de 1784), mais il n'a pas pu obtenir de financement pour progresser avec l'idée.
Les moteurs à différences de Charles Babbage
Charles Babbage commença à construire une petite machine à différences vers 1819 [ et l'avait achevée en 1822 (machine à différences 0). Il annonça son invention le 14 juin 1822, dans un article à la Royal Astronomical Society , intitulé « Note sur l'application des machines au calcul des tables astronomiques et mathématiques ». Cette machine utilisait le système de numération décimale et était actionnée par la rotation d'une manivelle. Le gouvernement britannique était intéressé, car la production de tables prenait du temps et était coûteuse et il espérait que la machine à différences rendrait la tâche plus économique.
En 1823, le gouvernement britannique donna à Babbage 1 700 £ pour commencer à travailler sur le projet. Bien que la conception de Babbage soit réalisable, les techniques de travail des métaux de l'époque ne permettaient pas de fabriquer de manière économique des pièces avec la précision et la quantité requises. La mise en œuvre s'avéra donc beaucoup plus coûteuse et peu concluante que l'estimation initiale du gouvernement. Selon la conception de 1830 de la machine à différences n° 1, elle devait comporter environ 25 000 pièces, peser 4 tonnes [ et fonctionner sur des nombres à 20 chiffres par différences de sixième ordre. En 1832, Babbage et Joseph Clement produisirent un petit modèle fonctionnel (un septième du plan), qui fonctionnait sur des nombres à 6 chiffres par différences de deuxième ordre. Lady Byron a décrit avoir vu le prototype fonctionnel en 1833 : « Nous sommes tous les deux allés voir la machine pensante (du moins c'est ce qu'il semble) lundi dernier. Elle a élevé plusieurs nombres aux puissances 2 et 3 et a extrait la racine d'une équation quadratique. » Les travaux sur le plus gros moteur ont été suspendus en 1833.
Au moment où le gouvernement abandonna le projet en 1842, Babbage avait reçu et dépensé plus de 17 000 £ pour le développement, ce qui ne permettait toujours pas de parvenir à un moteur fonctionnel. Le gouvernement ne valorisait que le rendement de la machine (des tables produites de manière économique), pas le développement (à un coût imprévisible) de la machine elle-même. Babbage refusait de reconnaître cette situation difficile. Entre-temps, l'attention de Babbage s'était portée sur le développement d'une machine analytique , ce qui minait encore davantage la confiance du gouvernement dans le succès éventuel de la machine à différences. En améliorant le concept en tant que machine analytique, Babbage avait rendu le concept de machine à différences obsolète et le projet de le mettre en œuvre un échec total aux yeux du gouvernement.
Babbage a ensuite conçu son moteur analytique beaucoup plus général, mais a ensuite conçu une conception améliorée du « moteur à différences n° 2 » (nombres à 31 chiffres et différences du septième ordre), entre 1846 et 1849. Babbage a pu tirer parti des idées développées pour le moteur analytique pour que le nouveau moteur à différences calcule plus rapidement tout en utilisant moins de pièces.
Moteur de calcul Scheutzien
Le troisième moteur de différence de Georg Scheutz
Inspiré par la machine à différences de Babbage en 1834, Per Georg Scheutz construit plusieurs modèles expérimentaux. En 1837, son fils Edward propose de construire un modèle fonctionnel en métal et termine en 1840 la partie calculatoire, capable de calculer des séries avec des nombres à 5 chiffres et des différences de premier ordre, qui sera ensuite étendue au troisième ordre (1842). En 1843, après avoir ajouté la partie impression, le modèle est terminé.
En 1851, financée par le gouvernement, la construction de la machine plus grande et améliorée (nombres à 15 chiffres et différences de quatrième ordre) a commencé et s'est terminée en 1853. La machine a été présentée à l' Exposition universelle de Paris en 1855 , puis vendue en 1856 à l' observatoire Dudley d' Albany, New York . Livrée en 1857, c'était la première calculatrice à impression vendue. En 1857, le gouvernement britannique a commandé la prochaine machine à différences de Scheutz , qui a été construite en 1859. Elle avait la même construction de base que la précédente, pesant environ 10 cwt (1 100 lb ; 510 kg ).
Autres
Martin Wiberg a amélioré la construction de Scheutz ( vers 1859 , sa machine a la même capacité que celle de Scheutz : 30 chiffres et sixième ordre) mais n'a utilisé son appareil que pour produire et publier des tables imprimées (tables d'intérêts en 1860 et tables logarithmiques en 1875).
Alfred Deacon de Londres a produit vers 1862 une petite machine à différences (nombres à 20 chiffres et différences de troisième ordre).
L'Américain George B. Grant commença à travailler sur sa machine à calculer en 1869, ignorant les travaux de Babbage et Scheutz (Schentz). Un an plus tard (1870), il découvrit les machines à différences et entreprit d'en concevoir une lui-même, décrivant sa construction en 1871. En 1874, le Boston Thursday Club leva une souscription pour la construction d'un modèle à grande échelle, qui fut construit en 1876. Il pouvait être agrandi pour améliorer la précision et pesait environ 2 000 livres (910 kg).
Christel Hamann a construit une machine (nombres à 16 chiffres et différences de second ordre) en 1909 pour les « Tables de Bauschinger et Peters » (« Tables logarithmiques-trigonométriques à huit décimales »), qui ont été publiées pour la première fois à Leipzig en 1910. Elle pesait environ 40 kilogrammes (88 livres).
La Burroughs Corporation a construit vers 1912 une machine pour le Nautical Almanac Office qui a été utilisée comme machine à différences de second ordre. Elle a été remplacée plus tard en 1929 par une Burroughs Class 11 (nombres à 13 chiffres et différences de second ordre, ou nombres à 11 chiffres et [au moins jusqu'à] différences de cinquième ordre).
Alexander John Thompson a construit vers 1927 une machine d'intégration et de différenciation (nombres à 13 chiffres et différences du cinquième ordre) pour sa table de logarithmes « Logarithmetica britannica ». Cette machine était composée de quatre calculatrices Triumphator modifiées.
Leslie Comrie a décrit en 1928 comment utiliser la machine à calculer Brunsviga -Dupla comme une machine à différences de second ordre (nombres à 15 chiffres). Il a également noté en 1931 que la machine comptable nationale de classe 3000 pouvait être utilisée comme une machine à différences de sixième ordre.
Construction de deux moteurs différentiels n° 2 en état de marche
Dans les années 1980, Allan G. Bromley , professeur associé à l' Université de Sydney , en Australie , a étudié les dessins originaux de Babbage pour les machines à différences et analytiques à la bibliothèque du Science Museum de Londres. Ce travail a conduit le Science Museum à construire une section de calcul fonctionnelle de la machine à différences n° 2 de 1985 à 1991, sous la direction de Doron Swade , alors conservateur de l'informatique. Il s'agissait de célébrer le 200e anniversaire de la naissance de Babbage en 1991. En 2002, l' imprimante que Babbage avait initialement conçue pour la machine à différences a également été achevée. La conversion des dessins de conception originaux en dessins adaptés à l'utilisation des fabricants d'ingénierie a révélé quelques erreurs mineures dans la conception de Babbage (peut-être introduites comme une protection en cas de vol des plans), qui ont dû être corrigées. Le moteur différentiel et l'imprimante ont été construits selon des tolérances réalisables avec la technologie du XIXe siècle, résolvant un débat de longue date sur la question de savoir si la conception de Babbage aurait pu fonctionner en utilisant les méthodes d'ingénierie de l'époque géorgienne. La machine contient 8 000 pièces et pèse environ 5 tonnes.
En plus de financer la construction du mécanisme de sortie du moteur à différences du Science Museum, Nathan Myhrvold a commandé la construction d'un deuxième moteur à différences complet n° 2, qui a été exposé au Computer History Museum de Mountain View, en Californie , de mai 2008 à janvier 2016. Il a depuis été transféré à Intellectual Ventures à Seattle où il est exposé juste à l'extérieur du hall principal.
Le moteur de différence est constitué d'un certain nombre de colonnes, numérotées de 1 à N. La machine est capable de stocker un nombre décimal dans chaque colonne. La machine ne peut ajouter que la valeur d'une colonne n + 1 à la colonne n pour produire la nouvelle valeur de n . La colonne N ne peut stocker qu'une constante, la colonne 1 affiche (et éventuellement imprime ) la valeur du calcul sur l' itération en cours .
Le moteur est programmé en définissant des valeurs initiales dans les colonnes. La colonne 1 est définie sur la valeur du polynôme au début du calcul. La colonne 2 est définie sur une valeur dérivée des dérivées premières et supérieures du polynôme à la même valeur de X. Chacune des colonnes de 3 à N est définie sur une valeur dérivée des dérivées premières et supérieures du polynôme.
Timing
Dans la conception de Babbage, une itération (c'est-à-dire un ensemble complet d'opérations d'addition et de retenue ) se produit pour chaque rotation de l'arbre principal. Les colonnes paires et impaires effectuent alternativement une addition en un cycle. La séquence d'opérations pour la colonne est donc :
Compter en recevant la valeur de la colonne (étape d'addition)
Réinitialiser la valeur du compte à rebours à sa valeur d'origine
Les étapes 1, 2, 3, 4 se produisent pour chaque colonne impaire, tandis que les étapes 3, 4, 1, 2 se produisent pour chaque colonne paire.
Bien que la conception originale de Babbage ait placé la manivelle directement sur l'arbre principal, on s'est rendu compte plus tard que la force nécessaire pour faire tourner la machine aurait été trop importante pour qu'un humain puisse la manipuler confortablement. Par conséquent, les deux modèles qui ont été construits intègrent un réducteur 4:1 au niveau de la manivelle, et quatre tours de manivelle sont nécessaires pour effectuer un cycle complet.
Mesures
Chaque itération crée un nouveau résultat et s'effectue en quatre étapes correspondant à quatre tours complets de la poignée illustrée à l'extrême droite de l'image ci-dessous. Les quatre étapes sont les suivantes :
Toutes les colonnes paires (2, 4, 6, 8) sont ajoutées simultanément à toutes les colonnes impaires (1, 3, 5, 7). Un bras de balayage intérieur fait tourner chaque colonne paire pour que le nombre figurant sur chaque roue soit compté à rebours jusqu'à zéro. Lorsqu'une roue tourne à zéro, elle transfère sa valeur à un engrenage à secteur situé entre les colonnes paires/impaires. Ces valeurs sont transférées à la colonne impaire, ce qui les fait compter. Toute valeur de colonne impaire qui passe de « 9 » à « 0 » active un levier de transport .
C'est comme l'étape 1, sauf que les colonnes impaires (3, 5, 7) sont ajoutées aux colonnes paires (2, 4, 6), et que la colonne 1 voit ses valeurs transférées par un engrenage à secteur au mécanisme d'impression situé à l'extrémité gauche du moteur. Toute valeur de colonne paire qui passe de « 9 » à « 0 » active un levier de report. La valeur de la colonne 1, le résultat du polynôme, est envoyée au mécanisme d'impression connecté.
Ceci est similaire à l'étape 2, mais pour effectuer des opérations sur les colonnes paires et renvoyer les colonnes impaires à leurs valeurs d'origine.
Soustraction
Le moteur représente les nombres négatifs comme des compléments à dix . La soustraction revient à l'addition d'un nombre négatif. Cela fonctionne de la même manière que les ordinateurs modernes effectuent une soustraction, appelée complément à deux .
Méthode des différences
Le principe d'un moteur de différences est la méthode des différences divisées de Newton . Si la valeur initiale d'un polynôme (et de ses différences finies ) est calculée par un moyen quelconque pour une valeur de X , le moteur de différences peut calculer n'importe quel nombre de valeurs voisines, en utilisant la méthode généralement connue sous le nom de méthode des différences finies . Par exemple, considérons le polynôme quadratique
dans le but de tabuler les valeurs p (0), p (1), p (2), p (3), p (4), etc. Le tableau ci-dessous est construit comme suit : la deuxième colonne contient les valeurs du polynôme, la troisième colonne contient les différences des deux voisins de gauche de la deuxième colonne et la quatrième colonne contient les différences des deux voisins de la troisième colonne :
Les nombres de la troisième colonne de valeurs sont constants. En fait, en commençant par un polynôme quelconque de degré n , le nombre de colonnes n + 1 sera toujours constant. C'est le fait crucial qui explique le succès de la méthode.
Ce tableau a été construit de gauche à droite, mais il est possible de continuer à le construire de droite à gauche en diagonale afin de calculer plus de valeurs. Pour calculer p (5), utilisez les valeurs de la diagonale la plus basse. Commencez avec la valeur constante de la quatrième colonne, 4, et copiez-la dans la colonne. Continuez ensuite la troisième colonne en ajoutant 4 à 11 pour obtenir 15. Continuez ensuite la deuxième colonne en prenant sa valeur précédente, 22, et en ajoutant les 15 de la troisième colonne. Ainsi, p (5) est 22 + 15 = 37. Afin de calculer p (6), nous itérons le même algorithme sur les valeurs de p (5) : prenons 4 de la quatrième colonne, ajoutons-le à la valeur 15 de la troisième colonne pour obtenir 19, puis ajoutons-le à la valeur 37 de la deuxième colonne pour obtenir 56, qui est p (6). Ce processus peut être poursuivi à l'infini . Les valeurs du polynôme sont produites sans jamais avoir à multiplier. Un moteur de différence n'a besoin que de pouvoir additionner. D'une boucle à l'autre, il faut stocker 2 nombres, dans cet exemple (les derniers éléments des première et deuxième colonnes). Pour tabuler des polynômes de degré n , il faut un espace de stockage suffisant pour contenir n nombres.
La machine à différences n° 2 de Babbage, finalement construite en 1991, peut contenir 8 nombres de 31 chiffres décimaux chacun et peut donc tabuler des polynômes du 7e degré avec cette précision. Les meilleures machines de Scheutz pouvaient stocker 4 nombres de 15 chiffres chacun.
Valeurs initiales
Les valeurs initiales des colonnes peuvent être calculées en calculant d'abord manuellement N valeurs consécutives de la fonction et en effectuant un retour en arrière (c'est-à-dire en calculant les différences requises).
Col obtient la valeur de la fonction au début du calcul . Col est la différence entre et ...
les valeurs initiales peuvent être calculées directement à partir des coefficients constants a 0 , a 1 , a 2 , ..., a n sans calculer aucun point de données. Les valeurs initiales sont donc :
Col = a 0
Col = a 1 + a 2 + a 3 + a 4 + ... + a n
Col = 2 à 2 + 6 à 3 + 14 à 4 + 30 à 5 + ...
Col = 6 à 3 + 36 à 4 + 150 à 5 + ...
Col = 24 à 4 + 240 à 5 + ...
Col = 120 à 5 + ...
Utilisation des produits dérivés
De nombreuses fonctions couramment utilisées sont des fonctions analytiques , qui peuvent être exprimées sous forme de séries entières , par exemple sous forme de série de Taylor . Les valeurs initiales peuvent être calculées avec n'importe quel degré de précision ; si cela est fait correctement, le moteur donnera des résultats exacts pour les N premières étapes. Après cela, le moteur ne donnera qu'une approximation de la fonction.
La série de Taylor exprime la fonction comme une somme obtenue à partir de ses dérivées en un point. Pour de nombreuses fonctions, les dérivées supérieures sont triviales à obtenir ; par exemple, la fonction sinus à 0 a des valeurs de 0 ou pour toutes les dérivées. En définissant 0 comme le début du calcul, nous obtenons la série de Maclaurin simplifiée
La même méthode de calcul des valeurs initiales à partir des coefficients peut être utilisée que pour les fonctions polynomiales. Les coefficients constants du polynôme auront maintenant la valeur
Ajustement de courbe
Le problème avec les méthodes décrites ci-dessus est que les erreurs s'accumulent et que la série a tendance à s'écarter de la vraie fonction. Une solution qui garantit une erreur maximale constante consiste à utiliser l'ajustement de courbe . Un minimum de N valeurs sont calculées à intervalles réguliers le long de la plage des calculs souhaités. En utilisant une technique d'ajustement de courbe comme la réduction gaussienne, une interpolation polynomiale de degré N −1 de la fonction est trouvée. Avec le polynôme optimisé, les valeurs initiales peuvent être calculées comme ci-dessus.