Comment des interactions simples entre des entités extrêmement simples peuvent-elles engendrer des comportements complexes, jusqu'à des mécanismes auto-reproducteurs ?
Les automates cellulaires sont des modèles abstraits simulant le fonctionnement des ordinateurs. Par là, ils sont à rapprocher des machines de Turing. Si cet aspect est important, ce n'est pas celui sur lequel nous allons nous concentrer dans le cadre de ce cours. C'est sur leurs capacités de modéliser des systèmes complexes que nous allons nous focaliser. Ces derniers sont constitués d’un grand nombre d’entités en interaction qui évoluent au cours du temps. Le comportement des entités dépend à la fois de l'environnement et des autres entités qu’elles peuvent observer localement autour d’elles. On peut citer différents exemples comme le trafic routier, les nuées d’oiseaux, occupation de nids d’abeille, tissus cellulaires ...
À partir de règles simples les automates cellulaires permettent de générer des évolutions extrêmement riches.
Les automates cellulaires ont été proposé dans les années 1950 par John von Neumann suite à une suggestion de son ami le mathématicien Stanislaw Ulam. Alors qu'il s'interrogeait sur comment concevoir une machine capable de s'auto-reproduire, Ulam l'orienta vers une question moins vaste : quelle organisation logique est suffisante pour un automate pour être capable de s'autoreproduire ?
Von Neumann fait alors le choix de considérer le problème dans un espace mathématique simple, métaphore du monde réel. L'espace est une grille régulière composée de cellules qui ont un état choisi dans un ensemble fini d'états possibles. L'évolution se fait à chaque pas de temps en fonction de règles locales.
Cette vision initiera tout un développement encore très actif autour des automates cellulaires, c'est ce que nous allons exposer partiellement dans la suite.
Description
Les automates cellulaires sont des machines à états finis évoluant sur une grille infinie, le plus souvent, et de dimension n
. Les dimensions habituelles sont généralement 1 ou 2. La grille définit un espace discret et un voisinage pour chacune des cases de la grille. Cette grille peut être régulière ou non et les cases peuvent prendre différentes formes (rectangulaire, hexagonale ....).
On associe à chaque case de la grille une cellule, cette dernière va alors avoir un état, ce dernier est déterminé par l'état de la cellule considérée, le voisinage et une règle de transition. L'automate cellulaire évolue en fonction de ces modifications qui peuvent se faire de façon synchrone ou asynchrone. Dans ce qui suit nous considérerons uniquement le premier cas.
Soit
-
un réseau régulier (ses éléments sont des cellules) ;
-
un ensemble fini d’états ;
-
un ensemble fini d’indices de voisinage (de taille) tels que
- Une fonction de transition : ;
- Un automate cellulaire est défini par le 4-tuple : ;
- Une configuration est une fonction qui associe un état à chaque cellule du réseau ;
- Le rôle de la fonction de transition est de changerenC_{i+1}selon la relation :C_{i+1}(r) = f(\{C_i(j) | j \in N(r)\}), avecN(r)qui désigne l'ensemble des voisins de le celluler.
Automates de dimension 1
Considérons un ruban infini des deux cotés, subdivisé en cellules. Chaque cellule pouvant prendre une valeur dans un ensemble fini. Par commodité de représentation on va transcrire ces valeurs en une couleur. Ainsi on va utiliser deux couleurs blanc et bleu :
Chaque cellule va alors changer de couleur en fonction de la couleur de ses voisines. L’évolution d'un automate cellulaire de dimension 1 est alors représenté par un diagramme espace-temps.
Si on défini on a la fonction de transition suivante : une cellule est coloriée en bleu au temps
Cela n'est pas sans rappeler les triangles de Sierpiński !
En effet certains automates exhibent des diagrammes espaces-temps fractaux.
Classes d'automate
Wolfram [^1] s'est penché sur le cas des automates de dimension 1 à deux états, en considérant le voisinage immédiat. Pour une case donnée il reste donc à définir l'évolution. On peut rapidement se convaincre qu'il n'y a que 8 états à considérer :
Il n’y a donc que
Dans son atlas, Wolfram énumère et étudie les différentes règles.
On peut déjà constater sur les exemples proposés la diversité de comportement de nos automates cellulaires. Le 126 nous produit une structure fractale alors que le 254 nous offre une pyramide noire.
En modifiant une seule transition pour créer la règle 250 vous obtenez une structure périodique.
La règle 30 est elle plus surprenante car elle nous propose un diagramme espace-temps étonnant.
Au début l'automate cellulaire semble se comporter de manière régulière et d'ailleurs cette impression subsiste si l'on considère la partie gauche du diagramme.
Sur la droite on voit apparaître des triangle de tailles différentes, sans une forme de régularité ou une "logique" sous-jacente. Wolfram a montré que le comportement de cet automate était chaotique. Des règles simples et déterministes peuvent engendrer le chaos !
graph TD;
A-->B;
A-->C;
B-->D;
C-->D;
Automates de dimension 2
Le jeu de la vie
Conception
Automates auto-reproducteurs
[1]: S. Wolfram. (2002) A new kind of science. Champaign, IL: Wolfram Media