On a tendance à opposer le monde artificiel et technologique des algorithmes au monde naturel et biologique du vivant. Et pourtant, de nos jours, les algorithmes sont devenus incontournables pour étudier la complexité du vivant. D’où l’importance croissante des outils informatiques, exacerbée par la prolifération des données : témoin, le séquençage des génomes. Cependant, la science du numérique n’est là qu’un outil au service de la biologie. La nature même du vivant, dit-on souvent, n’a rien à voir avec les algorithmes. Et bien si ! Depuis plusieurs décennies déjà, la biologie et l’algorithmique se côtoient régulièrement. Mieux encore, c’est souvent en étudiant la vie avec un angle algorithmique, ou en s’inspirant du vivant pour penser les algorithmes, que les plus belles découvertes dans ces deux disciplines ont eu lieu.
Pour comprendre cette symbiose, arrêtons-nous un instant sur la notion d’algorithme. Intuitivement, on a tendance à associer cette notion aux machines à calculer. Pourtant, au IXe siècle, quand Al-Khwarizmi introduisit la notion d’algorithmes, les machines à calculer n’existaient pas. À quoi pensait donc Al-Khwarizmi, ce génie dont le nom est devenu le mot « algorithme » . De façon intrigante, les algorithmes d’Al-Khwarizmi étaient avant tout des outils conçus pour un large public. Al-Khwarizmi voulut rendre tout citoyen capable de résoudre des problèmes mathématiques basiques : par exemple, déterminer le poids d’une pomme, sachant que trois pommes pèsent autant qu’une pomme plus 200 grammes. Le génie d’Al-Khwarizmi fut de se rendre compte que résoudre ces problèmes ne requiert en fait… Aucun génie. Il suffisait d’écouter et d’appliquer « mécaniquement » les instructions d’Al-Khwarizmi pour y arriver.
Un algorithme, c’est « bête et méchant »…
C’est justement cela un algorithme. Un algorithme est une suite d’instruction qu’il suffit de suivre de façon bête et méchante. De façon étonnante, toutefois, une fois la suite d’instruction suivie, des problèmes extrêmement abstraits et complexes peuvent être résolus !
Ainsi, je pourrais vous donner une liste d’instruction à suivre pour résoudre une équation comme x3 + 5x = 1. Je ne vais pas le faire là, car lister ces instructions serait plutôt ennuyeux. Cependant, armé uniquement de patience et d’attention, en suivant mes instructions pas à pas, vous finiriez par résoudre ce problème. Et si vous aviez ainsi résolu ce problème en Italie au XVIe siècle, vous auriez été glorifié et adulé comme étant l’un des plus grands savants de l’époque !
Un algorithme est donc tout simplement une liste d’instruction à exécuter. Mais il y a une magie : des listes d’instruction très succinctes peuvent résoudre des problèmes d’apparence très difficiles. Mieux encore, si concevoir des algorithmes performants pour des problèmes importants est un travail de recherche poussée, exécuter les instructions d’un algorithme ne requiert aucun génie. Ceci peut se faire mécaniquement. Si mécaniquement que même des machines pourraient y arriver !
Cette observation paraît simpliste. Pourtant, il aura fallu des siècles pour que les mathématiciens s’en rendent compte. En particulier, en 1936, le grand Alan Turing formalisa enfin la mécanisation de l’exécution des algorithmes. Cette formalisation devint la machine de Turing.
Au fil du XXe siècle, l’industrie des nouvelles technologies a ensuite transformé la machine purement théorique de Turing en une panoplie de gadgets qui s’appuient sur les idées de Turing. Ces gadgets sont les ordinateurs, les serveurs, les tablettes ou encore les téléphones. Leurs puissances et capacités de stockage ont atteint des niveaux technologiques phénoménaux. Néanmoins, toutes ces machines ne font finalement qu’exécuter bêtement et mécaniquement les instructions qui leur sont données, gouvernées par des algorithmes.
Qu’est-ce que la vie ?
Maintenant qu’on a fait le point sur les algorithmes, passons à l’autre concept majeur de cet article : le vivant. Si l’on croit intuitivement mieux savoir ce qu’est le vivant, il se trouve que ce concept est en fait formidablement plus complexe et subtil que celui d’algorithmes. Durant deux millénaires, les philosophes ont proposé des définitions et des conceptions diverses et variées du vivant, et rares sont les consensus qui se sont formés.
Pis encore, même les biologistes modernes sont bien embêtés si on leur demande de définir le vivant. Certains évoqueront les molécules clés du vivant, comme l’ADN et l’ARN. Cependant, les propriétés stupéfiantes de stockage d’informations et de stabilité de ces molécules pourraient faire d’elles un composant central des technologies du numérique du futur. Et il sera alors étrange d’affirmer que ces technologies, parce qu’elles ont le même support chimique que le vivant, sont elles aussi vivantes.
A contrario, de nombreux biologistes insisteront davantage sur certaines propriétés caractéristiques du vivant. Ces propriétés incluent typiquement l’hérédité et la variabilité. Là encore, toutefois, il semble que de nombreuses entités, comme les virus informatiques, satisfont ces critères sans toutefois avoir l’air vivantes.
« Si les gens ne croient pas que les mathématiques sont simples, c’est uniquement qu’ils ne réalisent pas à quel point la vie est compliquée », disait le mathématicien John von Neumann. Von Neumann est, aux côtés de Turing, l’un des pères de l’informatique. Comme Turing, von Neumann comprit l’importance des algorithmes et leur omniprésence, y compris dans le monde du vivant.
Automates cellulaires
Ainsi, avant même la découverte de la structure de l’ADN, von Neumann se demanda si une structure purement mécanique pouvait acquérir toutes les propriétés caractéristiques du vivant. Pour répondre à cette question, le chercheur imagina une simulation virtuelle, appelée automate cellulaire. Dans cette simulation, il introduisit une structure composée d’une espèce de code source. De façon étonnante, en obéissant à des règles pourtant purement mécaniques, le code source construisit une machine, qui ensuite effectuait une copie du code source. Mieux encore des mutations pouvaient avoir lieu au moment de cette copie.
Incroyable ! Von Neumann venait de construire une entité virtuelle purement mécanique qui possédait toutes les propriétés caractéristiques du vivant. Mieux encore, on sait aujourd’hui que la structure de von Neumann repose sur le même mécanisme que le vivant, puisque le code source se comporte en fait comme un brin d’ADN. En cherchant à déterminer un algorithme vivant, von Neumann avait découvert l’algorithme fondamental du vivant !
La quête des algorithmes du vivant
Cette découverte, et tant d’autres, notamment celles du physicien Erwin Schrödinger, attira l’attention des biologistes sur les mécanismes du vivant plutôt que sur une description exhaustive des composants du vivant. « La vie est un processus qui peut être abstrait du média », aurait affirmé von Neumann.
Au grand dam de certains biologistes, l’approche algorithmique de la biologie de von Neumann nous invite à ignorer de nombreux détails dans le fonctionnement du vivant, pour nous concentrer sur ce que ces détails calculent. Cette approche simplificatrice peut paraître scandaleuse. Pourtant, c’est exactement ainsi que les théoriciens raisonnent au moment de développer des algorithmes qui seront exécutés par des machines. Fort heureusement pour les théoriciens, les détails des machines ne sont pas nécessaires à comprendre.
D’ailleurs, les détails des machines modernes, de votre téléphone aux centres de données de Google, sont aujourd’hui si complexes que presque personne n’en comprend tous les détails techniques. Certainement pas moi… Malgré cela, il est possible de comprendre une bonne partie du monde du numérique moderne en n’étudiant que les algorithmes des nouvelles technologies.
Mon pari, qui semble être celui d’un nombre croissant de chercheurs, est qu’il est également possible de comprendre une bonne partie du monde biologique en n’étudiant que les algorithmes du vivant.
Et si, dans cet article, je ne vous ai donné que l’exemple de la vie artificielle de von Neumann, je vous donne rendez-vous à TEDxSaclay pour découvrir les exemples de la morphogénèse de Turing et de l’apprentissage de Solomonoff.
Lê Nguyên Hoang, Enseignant et vulgarisateur, Tedxsaclay, École Polytechnique – Université Paris-Saclay
La version originale de cet article a été publiée sur The Conversation.
Image d’en-tête : Conus textile a sur sa coquille un motif similaire à certains automates cellulaires