Files
TermNSI/Projets/jeu_de_la_vie

Projet - Le Jeu de la Vie

En 1970, le mathématicien John Horton Conway invente un automate cellulaire capable de générer une vie artificielle à partir de quatre règles simples. Cinquante ans plus tard, des chercheurs utilisent encore ce modèle pour simuler des phénomènes biologiques, sociaux et physiques.

Contexte

Le Jeu de la Vie est un automate cellulaire qui se déroule sur une grille infinie (ou torique) de cellules. Chaque cellule est soit vivante, soit morte. À chaque génération, l'état de chaque cellule évolue selon quatre règles appliquées simultanément :

  1. Une cellule vivante avec moins de 2 voisins vivants meurt (sous-population).
  2. Une cellule vivante avec 2 ou 3 voisins vivants survit.
  3. Une cellule vivante avec plus de 3 voisins vivants meurt (surpopulation).
  4. Une cellule morte avec exactement 3 voisins vivants devient vivante (reproduction).

Ces règles font émerger des comportements complexes : structures stables, oscillateurs, planeurs...

Compétences mobilisées

Notion Chapitre du cours
Listes 2D (grille) Programmation
Fonctions pures Paradigmes
Classes et objets POO
Récursivité / itération Récursivité
Visualisation (matplotlib / Pyxel) -

Cahier des charges

Fonctionnalités minimales

  • Représenter la grille sous forme de liste 2D (ou dictionnaire)
  • Calculer le nombre de voisins vivants d'une cellule
  • Appliquer les 4 règles pour calculer la génération suivante
  • Afficher la grille dans le terminal (caractères / .)
  • Lancer la simulation sur N générations

Extensions possibles

  • Affichage graphique animé (Pyxel, matplotlib, tkinter)
  • Grille torique (les bords se rejoignent)
  • Charger des configurations célèbres (planeur, canon à planeurs, pulsar...)
  • Compter et tracer l'évolution du nombre de cellules vivantes
  • Permettre à l'utilisateur de dessiner une configuration initiale
  • Détecter automatiquement les structures stables et les oscillateurs

Ressources


Auteur : Florian Mathieu - Licence CC BY NC