Le jeu de la vie est un automate simple, et aussi un exercice courant en programmation. Sur un plateau de "cases", on a des "cellules" et des règles pour les faire naître, vivre et mourir.
Imaginons une "ligne" de dix cellules.
Selon les règles ci-dessus, les deux cellules des extrémités n'ont qu'une voisine et meurent.
Les huit cellules "du milieu" ont deux voisines et survivent.
Une erreur classique est de "tuer" la cellule de gauche (la première que croise votre algo),
puis cette cellule étant "morte" la suivante n'a qu'une voisine vivante et meurt aussi,
et ainsi de suite... jusqu'à ce que toutes les cellules meurent au lieu de deux.
Il faudra alors trouver une astuce pour bien séparer l'état de la génération N
de celui de la génération N+1, ou de ce qui "est déjà calculé" opposé à "ce qui reste à calculer".