1 Le premier article scientifique de l’histoire de l’informatique ? par Françoi

1 Le premier article scientifique de l’histoire de l’informatique ? par François Rechenmann Directeur de recherches à INRIA Menabrea. Si ce nom ne vous évoque, au mieux, que le souvenir d’une bière piémontaise (excellente au demeurant) et que vous vous intéressez aux origines de l’ordinateur, vous aurez à cœur de découvrir un personnage que l’histoire de l’informatique a laissé dans l’ombre malgré une contribution significative. Figure 1: Luigi Federico Menabrea (1809-1896) Lithographie ca. 1861. Ingénieur, militaire, scientifique, diplomate et politique, Luigi Federico Menabrea naît en 1809 à Chambéry, quelques années avant le retour de la Savoie au Royaume de Piémont-Sardaigne. Enseignant de mécanique à l’École militaire et à l’université de Turin, Menabrea est reconnu pour ses contributions au calcul des pressions et des tensions dans les systèmes élastiques tels que des réseaux de poutres. On lui doit un théorème, certes mineur et contesté, qui porte son nom. Il fut membre de l’Académie des Sciences de Turin et de l’Académie des Lynx (Accademia dei Lincei) fondée en 1603, et à ce titre la plus ancienne académie scientifique d'Europe. 2 Son implication dans l’histoire du calcul automatique est fortuite. En 1840, se tient à Turin le Congrès des Scientifiques Italiens. Charles Babbage, qui n’a jusque-là pas réussi à recueillir la reconnaissance de ses travaux en Angleterre, est invité par l’astronome Giovanni Plana à venir présenter son projet de « machine analytique ». Cette toute première présentation des travaux de Babbage à un public scientifique retient l’attention de ses confrères italiens, et les discussions se prolongent au sein de plusieurs séminaires d’audience plus restreinte. Babbage espère que Plana rédigera un compte-rendu de ces échanges, mais c’est finalement à Luigi Federico Menabrea que la tâche est confiée. Babbage est quelque peu déçu, car Menabrea est loin de jouir alors de la même réputation scientifique que Plana ; il interagit néanmoins avec lui lors la rédaction de ces notes. Figure 2 : Charles Babbage (1791-1871) Portrait par Samuel Laurence, ca. 1845, National Portrait Gallery (WikiCommons) @@@@@@@ Ce qui est peut-être le premier article scientifique dans le domaine du calcul automatique est publié, en français, dans le 41e tome de la Bibliothèque Internationale de Genève en octobre 1842 sous le titre « Notions sur la machine analytique de M. Charles Babbage » (p. 352). Coincées entre une « Comparaison entre les mers de Brest et de Lorient, de Cancale et de Lorient, et de Cancale et de Noirmoutier ; et inclinaison de la Manche, du Pas-de-Calais à Brest » et une 3 « Exposition d’un nouveau procédé pour obtenir, par la pression sur du cuivre métallique, des copies de médailles et d’autres objets semblables », les 25 pages de l’article rédigé par Menabrea décrivent les principes sur lesquels repose le projet de Babbage d’une machine propre non seulement à effectuer les calculs arithmétiques élémentaires, mais aussi à les enchaîner sans intervention humaine afin de calculer, vite et sans erreur, la valeur d’expressions algébriques complexes. Menabrea commence par rappeler le premier projet de Charles Babbage de « machine aux différences ». Ce dispositif mécanique est destiné à calculer les tables de fonctions polynomiales, et par là de fonctions complexes, logarithmiques ou encore trigonométriques, dont des approximations peuvent être obtenues par des polynômes. Le principe de la machine est de calculer les valeurs successives d’un polynôme de degré N à l'aide de ses différences finies d’ordre 1, 2, …, N, sachant que les différences finies d’ordre N sont égales entre elles. La machine met en œuvre un double schéma itératif simple qui permet de calculer les valeurs du polynôme de proche en proche. Différences finies et calcul itératif des valeurs d’une fonction polynomiale Pour une fonction f et des valeurs de sa variable x équidistantes x0, x1, …, xn, xn+1, … , les différences finies d’ordre 1 sont d(1) n = f(xn) – f(xn-1). Les différences d’ordre 2 sont les différences finies des différences d’ordre 1, soit d(2) n = d(1) n – d(1) n-1, etc. Or, les différences finies d’ordre N d’un polynôme de degré N, notées d(N), ont toutes la même valeur, comme on peut l’établir facilement : Soit un polynôme f(y) = aNyN + aN-1yN-1 +…+ a1y + a0 La différence d’ordre 1, avec une constante k (équidistance), s’écrit f(y+k) – f(y) : c’est un polynôme en y d’ordre (N-1) (en effet le terme de degré le plus élevé, aNyN, disparaît dans la soustraction). De même, la différence d’ordre 2 est un polynôme en y d’ordre (N-2) ; enfin la différence d’ordre N est un polynôme en y d’ordre 0, c'est-à-dire une constante. @@@@@@@ f(xn+1) peut alors se calculer comme étant égale à f(xn) + d(1) n+1 (par définition de la différence d’ordre 1) ; d(1) n+1 peut à son tour être calculée comme la somme d(1) n + d(2) n+1 (par définition de la différence d’ordre 2) et ainsi de suite, l’idée étant de n’avoir progressivement que des indices inférieurs en n, en sachant que le dernier, d’ordre N, est fixe, ne dépendant plus de l’indice n : 4 f(xn+1) = f(xn) + d(1) n+1 = f(xn) + d(1) n + d(2) n+1 = f(xn) + d(1) n + d(2) n + d(3) n+1 = f(xn) + d(1) n +….+ d(N-2) n + d(N-1) n+1 = f(xn) + d(1) n +….+ d(N-2) n + d(N-1) n + dN De ce fait, à partir de N+1 valeurs initiales [f(xn), d(1) n, d(2) n,… , d(N-1) n, d(N)], un double schéma itératif relativement simple, n’impliquant que des additions ou des soustractions, permet de calculer de proche en proche les valeurs successives de la fonction. Sur le nouvel ensemble de valeurs obtenu [f(xn+1), d(1) n+1, d(2) n+1,… , d(N- 1) n+1, d(N)], le même schéma de calcul s’applique pour obtenir f(xn+2). De proche en proche, il est ainsi possible de calculer les valeurs successives de la fonction polynomiale. Figure 3 : Menabrea donne l’exemple de la fonction polynomiale f : x → x2. La colonne de gauche (A) affiche les valeurs de f(x) pour x=1, 2, 3, … ; la colonne à sa droite (B) les valeurs successives des différences finies d’ordre 1 correspondantes ; et la dernière colonne (C) celles des différences finies d’ordre 2. Celles-ci sont toutes égales à 2. À partir du triplet de valeurs [9, 5, 2] (sur la diagonale a ↔ b), il est élémentaire de calculer la différence première suivante 7 = 5 + 2 et, de là, la valeur de f(4), 9 + 7. Le nouveau triplet de valeurs ainsi obtenu [16, 7, 2] (sur la diagonale c ↔ d) sert de base à l’itération suivante pour calculer f(5) = (7 + 2) + f(4) et ce faisant le nouveau triplet [25, 9, 2], et ainsi de suite. Dans l’exemple des valeurs du polynôme x2 donné par Menabrea, les différences d’ordre 2 sont toutes égales à 2. Les valeurs successives du 5 polynôme se calculent de proche en proche à partir d’un triplet composé de valeurs connues de la fonction et de ses différences finies, par exemple [9, 5, 2]. C’est pour exécuter ce schéma itératif que la machine aux différences de Babbage était conçue. Babbage ne parvint pas à réaliser son projet, dont il fit néanmoins plusieurs versions. Mais il inspira le suédois Georg Scheutz (1785-1873) qui, aux alentours de 1850, fit construire plusieurs machines fondées sur ce principe et les commercialisa. Le plus jeune fils de Babbage, Henry Prevost, réalisa six maquettes très partielles de la machine, dont une, envoyée à Harvard, attirera en 1930 l’attention d’un des pionniers de l’informatique moderne, Howard Aiken (1900-1973). Il faudra cependant attendre l’année 2000 pour que soit construite une machine conforme aux plans de Babbage, y compris le mécanisme d’impression des résultats. Figure 4 : (en haut : photo Carsten Ullrich, Wikipédia) Le Science Museum de Londres abrite une réalisation moderne de la machine aux différences. Partiellement aboutie en 1991, bicentenaire de la naissance de Babbage, elle est conforme au dernier projet de Babbage (en bas). On y distingue les colonnes dont les rotations exécutent les calculs d’addition ou de soustraction requis. Ce « codage » mécanique des nombres (qui apparaissent dans les roues), solution unique pour l’époque, se retrouve dans le projet de machine analytique. Depuis 2008, une réplique fonctionne aussi au Computer History Museum en Californie. 6 LA MACHINE ANALYTIQUE En page 357, Menabrea passe à l’exposé de l’autre projet de Babage, et nous fournit la transition : Telle est la première machine imaginée par Mr Babbage. On voit que son emploi est limité aux cas où les nombres demandés sont susceptibles d’être obtenus par de simples additions ou soustractions, qu’elle n’est pour ainsi dire que l’expression d’un théorème particulier d’analyse, et qu’enfin elle ne s’étend point à la solution d’une infinité d’autres questions qui sont du ressort de l’analyse mathématique. C’est en songeant au vaste champ qui lui restait encore à parcourir, que Mr Babbage, renonçant à ses premiers essais, conçut le plan d’un autre système de mécanisme dont l’usage devait avoir la généralité de l’écriture algébrique même, uploads/Ingenierie_Lourd/ babage-menabrea-analyse.pdf

  • 19
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager