En 1974, J. Conway a proposé un automate cellulaire dont le fonctionnement est très simple mais dont la richesse des comportements et la puissance de calcul formel étonnent encore.
Le jeu de la vie fonctionne sur une matrice booléenne (0 ou 1, vrai ou faux, noir ou blanc…) rebouclée en tore à deux dimensions (il n’y a pas de bords).
On part d’une configuration initiale aléatoire ou bien ad hoc et on itère le processus suivant :
Pour chaque cellule, selon le nombre de voisins v (au sens de Moore, c’est-à-dire les 8 cellules adjacentes) :
– v=2, alors on ne change rien ;
– v=3, alors la valeur passe à 1 ;
– sinon la valeur passe à 0.
Intuitivement, cela correspond à la modélisation du comportement naturel suivant :
– si une cellule est à 0 et qu’elle est entourée de trois voisins elle « naît » ;
– si une cellule est à 1, elle reste à 1 si elle possède deux ou trois voisins à 1 ;
– dans les autres cas elle « meurt » d’isolement (aucun voisin à 1) ou d’étouffement (4 à 8 voisins à 1).
On observera qu’il existe des patterns typiques du jeu de la vie :
– des scories (états fixes) ;
– des états clignotants ;
– des gliders, qui sont périodiques et se déplacent ;
– des canons à gliders qui produisent périodiquement scories ou gliders ;
– des eaters, qui « mangent » les gliders sans être affectés.
Tester le jeu de la vie (sur dcode.fr)