Algorithme en recherche d’ascendance… Retour aux origines

Les algorithmes sont partout, au cœur de nos ordinateurs, de nos smartphones, des objets connectés qui envahissent chaque jour davantage notre société. Mais, qui a inventé l’algorithme, ce « ressort » indispensable qui instruit et conditionne toutes les fonctions de ces outils numériques ?

La réponse à cette question est loin d’être univoque ! Elle supposerait de pouvoir donner une origine à ce que l’on définit par « une suite d’instructions précises et ordonnées permettant de résoudre un problème ou d’obtenir un résultat ». Or, des suites d’instructions précises… même ordonnées et calculables, cela remonte à l’Antiquité, avec l’apparition de l’écriture et des tablettes (d’argile !). Paradoxe, parce qu’à la base, la logique de l’algorithme n’induit pas la notion stricto sensu de calcul. C’est une suite d’instructions et de conditions applicables aussi bien à… la façon de réaliser des confitures qu’à celle d’assembler un moteur ! Mais ce n’est pas sous ce jour que l’algorithme a fondé sa notoriété. Il nous évoque davantage l’informatique et les Intelligences Artificielles qui sont en train de bouleverser la société.

Le premier domaine de prédilection des algorithmes : les mathématiques

Les premiers algorithmes répertoriés le sont dans des territoires ayant recours à l’impôt (dont l’histoire remonte à la IIème dynastie de l’ancienne Égypte). Les algorithmes servent à en élaborer le calcul. Même dans le champ des mathématiques, la généalogie de l’algorithme remonte à trois siècles avant notre ère et reste donc relativement imprécise. Le plus connu des algorithmes mathématiques (à défaut d’être le premier) est celui d’Euclide qui aurait vécu aux environs de -300 avant notre ère. L’algorithme d’Euclide permet de déterminer le plus grand commun diviseur de deux nombres entiers, sans connaître leur factorisation (livre VII des Éléments d’Euclide).

A la même période, deux noms apparaissent aussi parmi les ascendants de l’algorithme. Celui d’Archimède (-287) parce qu’il établit la somme d’une série infinie donnant une approximation de Pi d’une remarquable précision. Egalement celui d’Eratosthène (-276), mathématicien Grec, parce qu’il établit « le crible d’Ératosthène », un algorithme qui permet de déterminer par exclusion tous les nombres premiers.

A défaut de dater précisément sa naissance, l’item « algorithme » quant à lui vient un peu plus tard du nom d’un mathématicien persan Al Khwarizmi né en 780. Il est notamment l’auteur de « l’abrégé du calcul par la restauration et la comparaison », à l’origine de l’algèbre.

Leibniz, un grand algorithmicien !

Le 17ème siècle permet de placer précisément un nom sur l’arbre généalogique de l’algorithme, celui du philosophe, mathématicien Allemand Leibniz (1646-1716). Ses travaux mathématiques se trouvent dans « le Journal des sçavans » dont le premier numéro parut à Paris le 5 janvier 1665. Il invente le concept du calcul infinitésimal et apporte une contribution notable à l’algorithme mathématique avec le calcul binaire.

Il est un des premiers mathématiciens à évoquer la notion de « codage » à partir des mathématiques avec l’algorithme « différentio-intégral ». Pour lui, mathématiques et pensée métaphysique ne font qu’un. Il travaille à un algorithme permettant d’analyser un tout et ses parties : « toute chose intègre des petits éléments dont les variations concourent à l’unité ». A partir de cette idée, il travaille sur une symbolique mathématique, qu’il nomme « caractéristique universelle ».

« J’ai présenté à la Société Royale de Londres en 1673 un exemplaire de la Machine Arithmétique, que j’ai inventée dans mon adolescence. L’Académie Royale de Paris en a vu, peu après, un modèle amélioré. Et maintenant, un certain Maître Matthion, mathématicien érudit de Paris, ayant réalisé une tablette gravée en cuivre grâce à laquelle il divisait en 1000 parties égales l’Orgyia (Toise), qu’il utilisait pour faire des opérations courantes, nota que, grâce à ma Machine, qu’il avait vue, les calculs pouvaient être menés à bonne fin par un petit enfant. Le très célèbre Tschirnhausen la mentionna également dans une très récente édition de la Médecine de la Pensée. Des grands hommes, Antoine Arnauld, Christian Huygens et Melchisedec Thevenot, qui l’ont vue, ont témoigné par écrit combien ils l’estimaient et ils ont appelé à ce qu’elle ne tombe pas dans l’oubli. La Machine consiste en deux parties, l’une fixe, l’autre mobile. Dans la partie fixe, on distingue dans douze ouvertures de petites molettes, et sur celles-ci le nombre 000000111085. Dans la partie mobile, on distingue des cadrans, un grand et huit petits. Sur le grand cadran sont inscrits dans un cercle extérieur et un cercle intérieur les signes 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, et entre ces cercles, on trouve un limbe rotatif avec 10 perforations en regard des chiffres. Les mêmes chiffres figurent sur chacun des huit petits cadrans qui comportent un indicateur rotatif permettant d’afficher le nombre 00001709, de telle sorte que l’on puisse lire en ligne d’un seul coup d’œil le nombre apparaissant à travers les œillets des disques ».

Pour le philosophe mathématicien Leibniz, il était dommage que « des personnes remarquables » perdent du temps à exécuter des calculs faciles, alors qu’avec l’utilisation d’une machine, chacun pourrait calculer rapidement et correctement ! Il est difficile de ne pas faire le rapprochement entre la philosophie qui prévaut à l’invention de cette machine et celle qui inspire les travaux algorithmiques de Leibniz, avec celle qui a nourri l’informatique trois siècles plus tard !

Etape importante dans la généalogie de l’algorithme : la machine de Turing

Si un algorithme est avant tout une méthode permettant d’exécuter des instructions de différentes natures, on comprend qu’il ait été historiquement lié à la manipulation des nombres, aux calculs. Mais si la particularité de l’algorithme est d’apporter des réponses à la façon systématique d’exécuter des tâches : calculer, organiser, orienter… on comprend également qu’il ait été progressivement développé pour des organisations plus complexes.

C’est ainsi qu’il s’est tout naturellement retrouvé à bord des machines à automatismes, comme par exemple le régulateur à boules de James Watt (1788) ou le métier à tisser Jacquard (1801), programmé par utilisation de cartes perforées.

Autre portrait à accrocher sur l’arbre généalogique de l’algorithme, celui d’Alan Turing (1912-1954), mathématicien et cryptologue britannique. On le considère d’ailleurs comme le père fondateur de l’informatique. En effet, en 1936, il rédige un article intitulé « Théorie des nombres calculables, suivie d’une application au problème de la décision ». Cet article décrit ce que sera l’ordinateur quelques décennies plus loin. Il est en quelques sortes le « code source » de la fameuse « Machine de Turing » qui démontre qu’une machine peut calculer diverses tâches pourvu qu’elles soient précisément définies et ordonnées, ce qui est l’essence-même de l’algorithme.

Sur le même sujet :