L’histoire de l’informatique et l’histoire des mathématiques : rencontres, opportunités et écueils

Piste bleue 29 septembre 2015  - Ecrit par  Maarten Bullynck Voir les commentaires

Les débuts de l’ordinateur sont étroitement liés aux mathématiques. Les premières machines ont été construites pour faire des calculs en balistique ou en comptabilité. Lorsque l’informatique est devenue une discipline à part entière, dans les années 1960-1980, c’est également sur le modèle de l’histoire des mathématiques qu’elle a commencé à écrire sa propre histoire.

JPEG - 139.9 ko
Début de l’article de Donald E. Knuth sur les algorithmes babyloniennes, paru dans une volume d’anniversaire des Communications of the ACM (1972)

Parmi les premiers textes historiographiques sur l’ordinateur et ses sciences, on peut notamment citer deux travaux parus en 1972 : le livre d’Herman H. Goldstine, The computer – from Pascal to von Neumann ainsi qu’un article de Donald E. Knuth, « Ancient Babylonian Algorithms », rapidement devenu très célèbre dans le domaine de l’histoire des mathématiques.

JPEG - 64 ko
Otto Neugebauer (1899-1990)

Ces deux auteurs prenaient modèle sur l’un de leurs illustres prédécesseurs : Otto Neugebauer, historien des mathématiques issu de la grande tradition de Göttingen au temps de David Hilbert. Depuis les années 1960, l’historiographie de l’informatique s’est peu à peu diversifiée et enrichie, en lien avec la diversification progressive des usages de l’ordinateur. Mais il faut souligner que cette historiographie a tout d’abord cherché un modèle et une légitimité dans l’histoire des mathématiques.

Mais si l’histoire de l’informatique a indéniablement hérité de l’histoire des mathématiques, nous pouvons aussi aujourd’hui nous poser la question inverse : l’histoire de l’informatique peut-elle inspirer l’histoire des mathématiques ?

La naissance de l’ordinateur a sans aucun doute renouvelé l’intérêt des historiens et historiennes pour certains aspects des mathématiques, comme les questions d’approximation et de précision dans le calcul numérique, les enjeux des ressources de temps et de mémoire nécessaires pour exécuter un algorithme, l’organisation logique des programmes complexes etc. Tous ces aspects ont non seulement participé de l’organisation du calcul sur un ordinateur mais ils ont aussi stimulé le développement de (nouvelles) branches des mathématiques et de la logique.

Mais il y a plus. L’histoire des mathématiques accorde aujourd’hui aussi un grand intérêt aux rôles joués par les machines, bien concrètes et matérielles, pour la réalisation des calculs, ou, plus généralement, des algorithmes. Les recherches historiques sur les algorithmes et leurs réalisations ne se limitent pas à l’époque récente mais s’étendent à l’antiquité et aux cultures non-européennes. Certes, l’intérêt des historiens et historiennes pour les algorithmes n’est pas uniquement inspiré par l’avènement de l’ordinateur. L’histoire des algorithmes n’en en pas moins un point de rencontre et de dialogue entre histoire de l’informatique et histoire des mathématiques. Cette rencontre peut être à la fois source d’opportunités et d’écueils comme je vais à présent l’illustrer par l’exemple de travaux du savant Jean Henri Lambert au XVIIIe siècle.

JPEG - 62.6 ko
Jean Henri Lambert (1728-1777)

Dans le livre Anlage zu Architectonic, oder Theorie des Ersten und des Einfachen in der philosophischen und mathematischen Erkenntniss (1771), Lambert décrit une procédure mathématique pour engendrer certaines suites de chiffres décimaux. Cette procédure - appelons-la P1 - débute par la donnée de deux premiers chiffres (ici 1 et 3). En additionnant ces deux chiffres, on obtient le troisième terme de la suite (ici 4) en ne conservant que le chiffre des unités (modulo 10, dirait-on aujourd’hui). Pour obtenir le quatrième terme de la suite, on itère le processus sur les deuxième et troisième termes (3 et 4) que l’on additionne à nouveau pour obtenir 7. On peut continuer ainsi pour obtenir le nombre 134718976392134718976392... Bien que les chiffres semblent être ordonnés de manière aléatoire, la suite obtenue devient en réalité périodique après 12 termes.

JPEG - 149.2 ko
Page avec la description de la procédure P1, tirée du livre Anlage zur Architectonic de J.H. Lambert (1771)

Lambert introduit un raffinement avec une nouvelle procédure, appelons-la P2, visant à obtenir une suite dont la période semble apparemment infinie : 134858143859267584... Chaque terme de la suite est à présent construit en additionnant les trois précédents (et en ne conservant que les unités). De plus, pour tous les chiffres à la $n$-ième place, avec $n$ multiple de 6, on ajoute encore le chiffre qui est à la place $\frac{n}{6}$. Ainsi, pour le sixième chiffre, on additionne 4+8+5=17, on garde 7, et puis on ajoute encore 1, ce qui donne 8.

Lambert accompagne sa construction de suites aléatoires d’une discussion philosophique sur l’ordre et le hasard, ainsi que sur la distinction entre ce qui est connu avant le calcul et ce qui ne peut être connu qu’après le calcul.

Un lecteur versé en informatique aura probablement reconnu dans la procédure P1 une méthode pour générer des suites pseudo-aléatoires. Dans le contexte de la naissance de l’ordinateur, la question de la génération de suites numériques aléatoires a commencé à se poser avec insistance et a donné lieu au développement des méthodes Monte-Carlo à partir de 1947. On retrouve notamment la procédure de Lambert parmi les divers algorithmes développés à cette époque.

JPEG - 53.6 ko
Début du rapport technique qui décrit les générateurs Fibonacci (1955)

En 1953 les mathématiciens hollandais H.J.A. Duparc, C.G. Lekkerkerker, et W. Peremans définissent ainsi les « générateurs à la Fibonacci » , algorithmes où chaque chiffre est généré par la somme des deux précédents. Cette procédure est rapidement devenue très populaire. Et ce non seulement car cet algorithme se mariait bien à une technologie déjà existante, les« shift registers » (registres à décalage), mais aussi car il était possible de développer la théorie mathématique des suites de Fibonacci. Les registres à décalage servent comme soutien de mémoire et comme outil pour synchroniser des signaux dans les systèmes numériques.

JPEG - 115.9 ko
Circuit intégré MOS pour un registre à décalage (1964)

À chaque signal de l’horloge interne de la machine, les contenus dans les cellules du registre sont transférés à la cellule voisine à droite : ils « bougent » tous à droite. Avec un registre de décalage à rétroaction (« feedback shift register ») on obtient aussi une valeur pour la première cellule par l’injection à gauche de cette cellule du calcul de la combinaison des contenus du registre. Dans l’exemple ci-dessous, les deux dernières cellules (14 et 15) sont additionnés modulo 2 et deviennent le contenu de la première cellule du registre.

PNG - 10.2 ko

On peut développer mathématiquement la théorie de ces suites en utilisant la théorie de Galois des polynômes modulo un nombre premier. La théorie mathématique permet de calculer exactement la période engendrée et de sélectionner de bons candidats polynômes pour générer des nombres pseudo-aléatoires. Cette théorie est notamment décrite par Solomon Golomb dans son livre Shift Register Sequences (Aegean Park, 1967). Avec cette théorie, Golomb donne aussi une approche pratique de la notion de « nature aléatoire » ou « randomness ».

Il peut paraître étonnant de trouver dès le XVIIIe siècle dans les travaux de Lambert une discussion combinant :

  • une procédure produisant des chiffres en ordre aléatoire qui ne trouvera son application que deux siècles plus tard
  • une discussion sur la nature de l’ordre et du hasard qui semble préfigurer les discussions modernes sur les « suites aléatoires ».

Mais si l’informatique nous amène à voir aujourd’hui dans la discussion de Lambert un texte intéressant pour l’histoire des mathématiques, il faut néanmoins user avec prudence des concepts de l’informatique moderne lors de l’interprétation des textes historiques. Il ne faut pas seulement voir les ressemblances mais aussi les différences. Ces différences ne se trouvent pas seulement au niveau mathématique, Lambert ne connaissant pas encore la théorie de Galois ou une notion plus élaborée de l’aléatoire ; elles se trouvent aussi et surtout dans l’expérience, concrète et matérielle, de la réalisation des calculs mathématiques ainsi que dans le contexte historique des débats philosophiques sur la notion d’ordre et de hasard.

Une première différence est évidente : les exemples de Lambert sont calculés modulo 10, tandis que les algorithmes modernes le sont modulo 2. Ceci reflète la différence entre la pratique d’écriture décimale du mathématicien et le langage binaire de l’ordinateur.

Une deuxième différence renforce la première. Les suites de Golomb sont devenues populaires car elles étaient réalisables sur un matériel spécifique, le registre à décalage, qui permettait de générer facilement et rapidement des milliers, ou même millions, de bits aléatoires. Quant au travail de Lambert, il prend forme selon une matérialité tout autre, celle du papier et de l’encre. L’introduction de la procédure P2 est indissociable de ce support matériel : pour obtenir la valeur à la place $6n$, il est nécessaire de reprendre la valeur que l’on avait noté préalablement la place $n$. Cette nécessité ne pose bien entendu aucun problème lorsque l’on travaille sur papier. Elle n’est au contraire pas adaptée à un registre à décalage qui n’enregistre pas les chiffres obtenus : il s’agit précisément de ne pas alourdir la mémoire de l’ordinateur avec des chiffres aléatoires mais de les engendrer ad hoc lorsque l’on en a besoin. La procédure P2 de Lambert est parfaitement adaptée au papier mais gaspillerait les ressources d’un ordinateur.

Enfin, si Lambert et Golomb s’appuient tous deux sur des procédures générant des suites de nombres afin d’élaborer leurs idées sur la nature de l’aléatoire, leurs réflexions s’exercent dans deux contextes complètement différents. Pour Lambert, la discussion relève d’un enjeu philosophique et épistémologique. Il s’agit de savoir comment, à partir d’un phénomène dans la nature qui n’a pas d’ordre apparent, on peut obtenir des règles ou des régularités. Alors ces règles seraient pour Lambert des indices d’une régularité plus profonde de la nature, d’une loi naturelle comme p.ex. la gravitation. Autrement dit, en utilisant un exemple de calcul, Lambert discute du problème de savoir comment on peut, à partir de l’observation d’une chose ou d’une suite de choses dans la nature, trouver des lois qui régissent ou produisent cette chose. Pour Golomb, la question de l’aléatoire relève d’un enjeu pratique. Si l’on utilise des suites aléatoires dans une simulation ou un cryptage, toute déviation de l’aléatoire peut mener à des faux résultats, pour le cas d’une simulation Monte-Carlo, ou à des brèches de sécurité, pour le cas d’un cryptage. C’est précisément la capacité de la théorisation mathématique de fixer les limites de la nature aléatoire de ces suites qui rend ces dernières utiles et fiables dans la pratique.

En somme, l’informatique nous invite à voir certains chapitres de l’histoire des mathématiques selon une nouvelle perspective, mais il ne faut pas se laisser séduire par les apparences du « même » historique : il faut traquer les différences pour mesurer, comprendre et apprécier la distance temporelle. Un résultat mathématique a toujours une histoire et change de signification dans le cours de cette histoire. Il en va de même d’un résultat en informatique.

Post-scriptum :

Pour en savoir plus, n’hésitez pas à visionner en ligne la captation audiovisuelle de cette séance du Séminaire d’histoire des mathématiques de l’IHP.

L’auteur remercie Baptiste Mélès pour sa relecture de ce texte, la rédaction d’Images des Mathématiques et l’auteur remercient également pour leur relecture attentive : alchymic666, Paul Laurain et Claire Wenandy.

Article édité par Frédéric Brechenmacher

Partager cet article

Pour citer cet article :

Maarten Bullynck — «L’histoire de l’informatique et l’histoire des mathématiques : rencontres, opportunités et écueils» — Images des Mathématiques, CNRS, 2015

Crédits image :

img_14695 - Courant Institute.

Commentaire sur l'article

Laisser un commentaire

Forum sur abonnement

Pour participer à ce forum, vous devez vous enregistrer au préalable. Merci d’indiquer ci-dessous l’identifiant personnel qui vous a été fourni. Si vous n’êtes pas enregistré, vous devez vous inscrire.

Connexions’inscriremot de passe oublié ?

Suivre IDM