À la découverte des cellulars automata : Le jeu de la vie de John Conway

Le 05/10/2017

Dans Développement

Les automates cellulaires sont par bien des aspects fascinant, avec cette impression de 'hasard organisé', et c'est ce que je vais essayer de vous faire découvrir à travers une petite série d'article à leur sujet, en commençant par le plus connu d'entre eux ; le jeu de la vie.

Qu'est-ce qu'un automate cellulaire ?

Un automate cellulaire consiste en une grille de cellules, régulière ou non (Ce peut aussi bien être de simples carrés qu'une grille voronoï randomisée) et dans laquelle les cellules possèdent une regle régissant leur état automatiquement en fonction de leur entourage.

Cela peut paraitre un peu complexe comme ça, mais vous allez voir que c'est assez simple, une fois qu'on sait lire les règles de chacune des grandes familles !

Ils peuvent être en couleur ou en noir et blanc, permettre de générer des images ou être en permanente évolution, symétrique ou non.

Ils sont utilisés en mathématique pour tenter d'expliquer ou prédire des phénomènes complexes, mais nous n'irons pas jusque là et resterons au plus simple. Je vous encourage donc à vous renseigner plus en avant si le sujet vous interesse !

John Conway's Game of life

Le jeu de la vie à été inventé par le professeur en mathématiques John Horton Conway en 1970, et consiste en une grille de cellules carrées avec des rêgles de vie et de mort :

Pour "naître" (Brith), une cellule doit être entourée d'exactement 3 cellules vivantes.
Pour rester vivante (Survive), une cellule doit être entourée de 2 ou 3 cellules vivantes.

Note : il est possible d'écrire ces règles S23/B3, ou tout simplement 23/3. C'est cette dernière notation que nous allons adopter ici.

Comme une illustration est souvent mieux qu'un long discour, je vous propose de découvrir une implémentation du Game of life que j'ai fait en Vue.js

See the Pen John Conway's Game of life using Vue.js by Benjamin SANCHEZ (@B_Sanchez) on CodePen.

Une simple petite règle pour organiser le chaos

Maintenant que vous avez vu l'exemple suivant, je vous propose de changer la règle 23/3 pour 1234/3, qui se lit exactement de la même manière : les cellules naissent sur le 3 et restes vivantes s'il y a strictement moins de 5 cellules vivantes autour d'eux. 

Pour les plus flemards d'entre vous j'ai configuré un second per avec cette valeur.

Comme vous pouvez le voir, ce simple changement a totalement modifié le comportement de nos cellules, maintenant capable de créer des labyrinthes !

Il existe de nombreuses autres familles d'automates cellulaires, avec de très nombreuses règles, et je vais essayer à travers cette petite série d'articles irréguliers de vous en présenter quelques-unes. J'espère que ce sujet vous intéresse, et vous donne rendez-vous jeudi prochain pour la reprise de notre dossier sur vue !