À la suite d'un projet réalisé durant ma deuxième année de master, et après avoir vu une excellente vidéo sur ce sujet, j'ai eu envie de partager également ce jeu, aux règles simples, créant la complexité. Ce billet n'a aucun but exhaustif et j'espère qu'il apportera de nouvelles pistes de réflexion pour de futurs chercheurs ou bien des vétérans de laboratoires !
Le Jeu de la vie : Game of life
En 1970, John Horton Conway, un professeur de mathématiques à Cambridge, crée une simulation mathématique intitulée "Game of Life". Cette simulation possède des caractéristiques très simples à comprendre, mais qui peut créer une complexité que l'on peine encore à appréhender pleinement aujourd'hui. Cette dernière, d'ailleurs, continue de nourrir des publications à ce jour (3416 articles depuis 10 ans. L'année dernière, il y a eu 476 articles, et cette année, 382…).
C'est un jeu à zéro joueur qui procède par générations successives. Vous voulez y jouer ? Rien de plus simple :
Prenez une grille en deux dimensions, qui s'étend théoriquement à l'infini. Chaque carré (que l'on appellera cellule) composant cette grille peut être dans deux états : vivante ou morte.
En blanc, les cellules sont mortes. En noire, les cellules sont vivantes.
Une cellule possède 8 voisines, qui sont soit orthogonales, soit diagonales. À chaque génération, chaque cellule est observée dans son état actuel afin de savoir si elle peut naître, rester en vie ou mourir. Pour déterminer cela, il n'y a que deux règles à suivre :
- Si une cellule morte possède exactement 3 voisines vivantes, elle naît (la vie, en bonne quantité, créer la vie).
- Si une cellule vivante possède exactement 2 ou 3 voisines vivantes, elle reste en vie. Autrement, elle meurt (phénomène de sur/sous population).
Reprenons notre exemple précédent, et voyons ce qui se passe dans l'algorithme au cours de la première génération lorsqu'on lui propose cette configuration initiale.
- Les cellules en rouge vont naître. Elles possèdent toutes les deux exactement 3 voisines vivantes, ce qui permet de les faire naître.
- La cellule en bleu va mourir. Il n'y a aucune cellule vivante autour d'elle, donc selon la 2ᵉ règle, elle meurt.
- Les cellules entourées en vert restent en vie. Chacune possède exactement 3 voisines vivantes, et se maintient donc en vie.
Ainsi, la prochaine génération de notre exemple sera ainsi.
Aller, selon vous : à quoi ressemblera la 3ᵉ génération ? Et la 4ᵉ ?
Quel niveau de complexité ?
On a vu les bases du Jeu de la vie. C'est bien, mais… que peut-on faire de plus ?
Eh bien, de nombreuses personnes, pas forcément liées à John H. Conway, ont décidé de contribuer à ce sujet un peu fou : celui de découvrir le plus de structures possible que le jeu peut générer. On a donc des structures stables (comme le carré qu'on a vu précédemment), des oscillateurs, ou encore des automates cellulaires, que l'on va simplement appeler vaisseaux.
Attendez… des vaisseaux ?
On peut créer des choses qui se déplacent toutes seules, c'est déjà impressionnant. John H. Conway, au début, ne pensait pas que des structures pouvaient grandir indéfiniment. Il a mis en place une récompense de 50 $ pour toute personne arrivant à le contredire ou à prouver sa pensée.
Et ce prix, il a été gagné ! Par une équipe au Massachusetts avec le "Gosper glider gun". Donc, on commence avec les vaisseaux, des gliders, et… pourquoi ne pas en produire sans fin ?
En principe, il y a deux oscillateurs qui se rencontrent et leur rencontre produit les gliders, et ce, de manière infinie. Les oscillateurs sont des structures qui mettent une ou plusieurs générations avant de revenir à leur état d'origine.
Je pense que les plus observateurs d'entre vous (ou ceux qui baignent dedans) ont remarqué que ce canon est possible uniquement grâce à la structure stable la plus basique : le carré. Cette génération à l'infini de gliders est possible grâce à cette structure. Cependant, on peut remarquer que ce carré a deux états… Celui où il y a 4 cellules en vie, et celui où il y a une case morte. Est-ce que… Cela veut dire que l'on peut stocker deux états ? Comme…du binaire ?
Attendez, attendez, attendez… Stocker des informations binaires ? Comme dans un disque dur ? Donc par extensions, on pourrait…faire des boucles OR, XOR, AND… ?
Oui. On peut créer des ordinateurs dans le jeu de la vie de Conway. Ceci indique que le jeu de la vie de Conway est Turing complet : il a un pouvoir expressif équivalent à celui d'une machine de Turing… donc d'un ordinateur.
Et donc, le jeu de la vie a pu être créé… dans le jeu de la vie de Conway. La boucle est ainsi bouclée.
Modélisation de la vie
Maintenant que vous avez certains éléments du jeu de la vie de Conway, qui est une étude purement informatique, est-ce qu'il est possible de l'utiliser dans d'autres domaines ? On l'utilise à la base comme jeu, et on peut modéliser des ordinateurs, peut-être peut-on modéliser d'autres choses ?
Est-ce que le terme de soupe primordiale vous parle ?
(CC BY-NC Ashok Boghani)
À gauche une run du pattern "soup" . À droite, une représentation de la soupe primordiale (CC BY-NC Ashok Boghani).
La soupe primordiale est une hypothèse sur l'origine de la vie sur Terre : au commencement de notre planète, il n'y avait qu'une immense soupe contenant divers nutriments. De ce mélange primordial ont émergé des structures et des mécanismes infiniment complexes : la vie. Ce phénomène peut être expliqué par le principe d'auto-organisation, qui est la capacité des composants simples à former des structures complexes de manière autonome, sans intervention extérieure.
Grâce à ce principe, les molécules simples de la soupe primordiale ont pu interagir et s'agencer spontanément, donnant naissance à des systèmes vivants sophistiqués.
Cette idée de développement de la vie trouve un parallèle fascinant dans le jeu de la vie. Après tout, la plupart des structures trouvées à ce jour ont été soit réfléchies, soit trouvées à partir de la soupe. Les règles et les conditions basiques permettent la création d'éléments et de mécanismes très élaborés grâce au principe d'auto-organisation.
Par exemple, avec quelques règles de survie et de reproduction, le jeu de la vie peut générer des motifs très sophistiqués qui rappellent la diversité et la complexité des formes de vie issues de la soupe primordiale. Ce jeu illustre comment des interactions simples peuvent engendrer des comportements complexes et auto-organisés, similaires à ceux observés dans la nature.
Ainsi, nous avons une modélisation de la soupe primordiale, un système ne suivant aucune logique autre que la sienne, montré par un processus qui ne repose que sur la logique. C'est beau, non ?
La vie artificielle…
Est-il possible d'aller encore plus loin ? Oui bien sûr que oui, la vraie question est : Où est-ce que nous ne pourrions pas aller ?
Est-ce que… le terme de vie artificielle vous parle ? C'est un domaine de recherche interdisciplinaire qui explore les propriétés et les comportements des systèmes vivants à travers la simulation informatique. Son objectif principal est de comprendre les mécanismes fondamentaux de la vie, en recréant des systèmes qui présentent des caractéristiques vivantes dans des environnements artificiels.
Pour étudier cela, on peut utiliser les automates cellulaires (Rappelez-vous : Les Vaisseaux !), et une adaptation du jeu de la vie de Conway. La cellule n'est pas uniquement morte (0) ou vivante (1) mais peut exister dans une infinité d’états entre ces deux seuils, ajoutant ainsi une intrication au système. Cela nous permet d'observer comment ce système évolue et s'adapte à son environnement.
Le mouvement d'un planeur dans Lenia (CC BY-SA Bridgeram)
L'un des objectifs principaux de cette étude est de comprendre si de nouvelles formes et structures peuvent émerger dans ce contexte élargi. Il permet également d'analyser les interactions entre les cellules : comment se forment-elles et mènent-elles à des comportements complexes et à l'apparition de propriétés novatrices ? Ces questions sont essentielles pour valider ou invalider des hypothèses biologiques à travers des simulations informatiques.
…pour étudier la vie biologique
En utilisant ce cadre, nous ouvrons la porte à de nombreuses perspectives de recherche.
Par exemple, comment des comportements sophistiqués émergent de règles épurées ? Nous avons vu des structures, des vaisseaux qui peuvent trouver leurs analogies avec le cytosquelette et les macrophages respectivement. Mais comment s'organisent-ils ? Quel est l'environnement qui permet un tel développement ? Comment est-ce que…"la vie" est arrivée à la conclusion qu'il fallait ces mécanismes pour survivre ?
C'est en posant des questions que la recherche progresse. Cependant, sans moyens d'observation et de test, ces questions demeurent de simples hypothèses. Cette approche informatique apporte une solution précieuse à ce problème en permettant de générer des hypothèses testables en laboratoire.
Elle offre également un espace de simulation sophistiqué, où il est possible d'observer des phénomènes élaborés et difficiles à étudier par des méthodes traditionnelles. Grâce à ces simulations, les chercheurs peuvent explorer des scénarios variés, affiner leurs hypothèses et concevoir des expériences plus ciblées, rendant ainsi la recherche plus efficace et innovante.
Ainsi, un peu à l'image du jeu de la vie de Conway, ce domaine d'étude nous invite à regarder au-delà de ce que nous connaissons et à toujours défier la complexité. En étudiant la vie artificielle, nous pourrions dévoiler des trésors insoupçonnés de la nature, surgissant d'une simplicité initiale pour révéler une complexité infinie.
On ne dirait pas un poisson ? Pour moi, c'est un poisson.
Merci d'avoir lu ce petit billet sur le Jeu de la vie de Conway. Il y a tellement de choses dont je n'ai pas parlé qu'il me faudrait au moins 5 ou 6 billets pour pouvoir tout expliquer sur le jeu de la vie de Conway. Si vous êtes curieux, je vous invite à en savoir plus par ici.
Merci infiniment à Gwenaelle, azerin, Mathurin, Azerin,… pour la relecture !
Et merci énormément aux admins, plus particulièrement à ZaZoOo !
Laisser un commentaire