Histoire
Dans les années 1940,
Stanislaw Ulam étudiait la croissance des
cristaux au
Laboratoire national de Los Alamos, en la modélisant sur une grille. Dans le même temps,
John von Neumann, collègue d'Ulam à Los Alamos, travaillait sur des systèmes auto-réplicatifs et rencontrait des difficultés pour expliciter son modèle initial d'un robot qui se copierait tout seul à partir d'un ensemble de pièces détachées. Ulam lui suggéra de s'inspirer de ses travaux, ce qui conduisit von Neumann à concevoir un modèle mathématique abstrait pour son problème. Le résultat fut le « copieur et
constructeur universel » (
universal copier and constructor en anglais), le premier automate cellulaire : il était basé sur une grille à deux dimensions où chaque cellule pouvait prendre 29 états. Von Neumann y construisit un motif particulier et démontra qu'il pouvait produire sans fin des copies de lui même .
En 1969, G. A. Hedlund publie Endomorphisms and Automorphisms of the Shift Dynamical System, une monographie de 60 pages environ qui synthétise 10 ans de recherche d'une communauté travaillant dans le domaine de la dynamique symbolique (une branche de l'étude des systèmes dynamiques en mathématiques, fondée notamment par M. Morse et G. A. Hedlund ). C'est cette publication qui pose les bases mathématiques de l'étude des automates cellulaires comme des systèmes dynamiques particuliers.
En 1969 également, Konrad Zuse publia Rechnender Raum (« Calculer l'espace ») où il émettait l'hypothèse que les lois physiques étaient discrètes et que l'Univers était le résultat d'un gigantesque automate cellulaire.
Dans les années 1970, un automate cellulaire à deux dimensions et deux états nommé « le jeu de la vie », inventé par John Conway, connut un grand succès, particulièrement parmi la communauté informatique naissante. Il fut popularisé par Martin Gardner dans un article du Scientific American .
En 1983, Stephen Wolfram publia la première d'une série de publications où il analysait de façon systématique un type d'automates cellulaires très simples . La complexité de leur comportement, induit par des règles élémentaires, le poussa à conjecturer que des mécanismes similaires pourraient expliciter des phénomènes physiques complexes, idées qu'il développa dans son livre A New Kind of Science paru en 2002
Exemples
Les automates cellulaires les plus simples
L'automate cellulaire non-trivial le plus simple que l'on puisse concevoir consiste en une grille unidimensionnelle de cellules ne pouvant prendre que deux états (« 0 » ou « 1 »), avec un voisinage constitué, pour chaque cellule, d'elle-même et des deux cellules qui lui sont adjacentes.
Chacune des cellules pouvant prendre deux états, il existe 23=8 configurations (ou motifs) possibles d'un tel voisinage. Pour que l'automate cellulaire fonctionne, il faut définir quel doit être l'état, à la génération suivante, d'une cellule pour chacun de ces motifs. Il y a 28=256 façons différentes de s'y prendre, soit donc 256 automates cellulaires différents de ce type.
Les automates de cette famille sont dit 'élémentaires'. On les désigne souvent par un entier entre 0 et 255 dont la représentation binaire est la suite des états pris par l'automate sur les motifs successifs 111, 110, 101, etc.
À titre d'exemple, considérons l'automate cellulaire défini par la table suivante, qui donne la règle d'évolution :
| Motif initial
| 111
| 110
| 101
| 100
| 011
| 010
| 001
| 000
|
| Valeur suivante de la cellule centrale
| 0
| 0
| 0
| 1
| 1
| 1
| 1
| 0
|
(cela signifie que si par exemple, à un temps
t donné, une cellule est à l'état « 1 », sa voisine de gauche à l'état « 1 » et sa voisine de droite à l'état « 0 », au temps
t+1 elle sera à l'état « 0 ».)
Si l'on part d'une grille initiale où toutes les cellules sont à l'état « 0 » sauf une, on aboutit à :
où chaque ligne est le résultat de la ligne précédente.
Par convention cette règle est nommée « règle 30 », car 30 s'écrit 00011110 en binaire et 00011110 est la deuxième ligne du tableau ci-dessus, décrivant la règle d'évolution.
Le jeu de la vie
Le « jeu de la vie » est un automate cellulaire bidimensionnel où chaque cellule peut prendre deux valeurs (« 0 » ou « 1 », mais on parle plutôt de « vivante » ou « morte ») et où son état futur est déterminé par son état actuel et par le nombre de cellules vivantes parmi les huit qui l'entourent :
- Si la cellule est vivante et entourée par deux ou trois cellules vivantes, elle reste en vie à la génération suivante, sinon elle meurt.
- Si la cellule est morte et entourée par exactement trois cellules vivantes, elle naît à la génération suivante.
En apparence simples, ces règles font émerger une forte complexité.
On peut sur le même principe imaginer un grand nombre de règles en faisant varier les seuils de naissance ou de survie, ou en ajoutant des états supplémentaires, etc. Parmi ces variations, on peut citer :
Certains ne prennent en compte pour déterminer les changements d'état d'une cellule que les voisins immédiats de la case considérée, mais d'autres prennent également en compte l'état des cellules voisines dans un rayon de deux cases, voire plus. D'autres attribuent aussi un poids plus important à certaines cases du voisinages qu'à d'autres (WeightedLife).
Tous les autres...
Les règles possibles pour définir un automate cellulaires sont très nombreuses, même avec un petit nombre d'états et un petit voisinage :
|
| 2 états
| 3 états
| 4 états
| 5 états
|
| 2 voisins
| 16
| 19 683
| 4 294 967 296
|
|
| 3 voisins
| 256
| 7 625 597 484 987
|
| ''
|
| 4 voisins
| 65 536
|
|
|
|
| 5 voisins
| 4 294 967 296
|
|
|
|
| 6 voisins
|
|
|
|
|
Le modèle des automates cellulaire offre donc un terrain d'exploration immense. Il n'est pas difficile de programmer un simulateur d'automates cellulaires et La Toile regorge de réalisations plus ou moins abouties. Le site de Mirek Wojtowicz propose par exemple un logiciel de simulation et une gallerie d'exemples très riche : Mirek's Cellebration
. Un autre exemple de simulateur intéressant est Golly
. Il est dédié principalement au Jeu de la vie et optimisé pour cet automate en utilisant notamment des quadtree combinés avec du hachage.
Théorie des automates cellulaires
Si la popularité du modèle des automates cellulaires vient en grande partie d'une approche expérimentale, il fut dès l'origine abordé comme un objet mathématique par Von Neumann . La plupart des travaux formels sur les automates cellulaires utilisent la définition ci-dessous bien que le modèle admette de nombreuses généralisations et variations intéressantes.
Une définition formelle
Un automate cellulaire est un -uplet où :
- est la dimension de l'automate, son réseau est alors , l'espace discret de dimension ;
- , un ensemble fini, est son alphabet ;
- est son voisinage (un sous-ensemble fini du réseau) ;
- est sa règle locale de transition et est l'arité de l'automate.
On appelle alors
configuration l'attribution d'un état à chaque cellule du réseau : une configuration est un élément de
, c'est à dire une fonction de
dans
.
À cette description finie et locale, on associe la fonction globale d'évolution de l'automate, , qui agit sur les configurations et qui est définie par
pour toute configuration (où ).
Systèmes dynamiques
Les automates cellulaires ont été étudiés comme des systèmes dynamiques dès les années 1960 avec les travaux de G. A. Hedlund. Lorsque la dimension et l'alphabet sont fixés, ont peut munir l'espace des configurations de la métrique de Cantor par la distance définie par dans les autres cas.
Par superposition, on en déduit une expression directe de l'état de la cellule centrale après t étape partant d'une configuration quelconque c :
- \sum_{i=0}^t c(i){{t}\choose {t-i}} \pmod 2.
Automates totalistiques
Dans un automate cellulaire totalistique, l'état ultérieur d'une cellule ne dépend que de la somme des états de ses voisines ; c'est le cas du jeu de la vie où une cellule vivante le reste si deux ou trois de ses voisines sont vivantes, et une cellule morte naît si trois de ses voisines sont vivantes. Un automate totalistique ne prend donc pas en compte la position des voisines d'une cellule par rapport à celle-ci.
Si un automate cellulaire n'est pas totalistique, en plus de leur état propre, la position des voisines d'une cellule influe sur son état ultérieur. Par exemple, pour un automate cellulaire à une dimension, on peut faire une différence entre la cellule voisine de gauche et la voisine de droite.
Automates conservatifs
Le problème des classifications
Classification de Wolfram
Cette classification fut introduite par
Stephen Wolfram en 1983 dans son article
Universality and complexity in cellular automata et représente la première tentative pour classifier non pas les règles d'un automate cellulaire mais le devenir général de configurations initialement aléatoires. Il classa les possibilités d'évolution en quatre classes, selon un ordre arbitraire de la moins intéressante à la plus digne d'intérêt :
- Classe I : presque toutte configuration initiale conduit à un état homogène. Il est impossible de construire des motifs stables périodiques.
- Classe II : des structures stables ou périodiques émergent.
- Classe III : comportement chaotique avec des motifs apériodiques. À long terme les fréquences d'apparitions des différents motifs se stabilisent.
- Classe IV : émergence de structures complexes capables de se propager. Le jeu de la Vie en est un parfait exemple.
Classification d'Eppstein
Une des critiques de la classification de Wolfram réside dans son impossibilité à dire si un automate cellulaire donné est
Turing-universel ; d'ailleurs, des automates cellulaires universels ont été trouvés pour chacune des classes proposées par Wolfram. Cet état de fait provient de ce que Wolfram n'a considéré que des conditions initiales aléatoires, mais pas des structures particulières créées spécifiquement pour l'occasion. En particulier, la transmission d'information, par exemple par l'intermédiaire de
vaisseaux, n'est pas prise en compte.
David Eppstein a proposé une alternative a cette classification :
- Expansion obligatoire des motifs : n'importe quel motif initial s'étend indéfiniment dans toutes les directions. Aucun vaisseau ne peut exister.
- Expansion impossible : un motif ne peut jamais s'étendre au-delà de ses limites initiales. Aucun vaisseau ne peut exister.
- Contraction impossible : un motif ne s'étend pas forcément indéfiniment, mais il ne peut jamais réduire en deça de ses limites initiales. Aucun vaisseau ne peut exister.
- Expansion et contraction possibles : seuls ces cas peuvent contenir des vaisseaux.
A priori, seuls les derniers cas permettent l'universalité, même si tous les automates cellulaires qui y répondent ne le sont pas. En revanche, il n'a pas été non plus démontré qu'il est impossible de construire des structures universelles pour les autres cas, d'autres structures que les vaisseaux pouvant également transmettre des informations.
Généralisation et variations sur le modèle
Réseau de cellules
Dans la définition formelle ci-dessus, le réseau est systématiquement de la forme Z^d. On peut généraliser sans problème à d'autres graphes infinis réguliers.
Asynchronisme
La première classification d'un automate cellulaire concerne la façon dont les règles sont appliquées sur la grille :
- Pour les automates cellulaires à traitement parallèle, l'état de toutes les cellules est mis à jour à chaque tour.
- Pour les automates cellulaires à traitement série, seul l'état d'une ou plusieurs cellules est mis à jour.
Autres
Il est possible de généraliser le concept d'automate cellulaire, par exemple :
- en utilisant des probabilités pour l'état d'une cellule à la génération suivante
- en modifiant le voisinage au cours du temps
Les automates continus fonctionnent sur le même principe que les automates cellulaires, mais utilisent des grilles ou des états continus (le plus souvent entre 0 et 1). De tels automates peuvent simuler par exemple la diffusion d'un liquide.
Modélisation et Applications
On peut, en première approximation, considérer le modèle des automates cellulaires comme le pendant discret des équations aux dérivées partielles. Ainsi, à chaque fois qu'un phénomène physique est décrit par des équations aux dérivées partielles, on peut en proposer une discrétisation sous forme d'automate cellulaire. Il reste à déterminer dans quelle mesure le modèle cellulaire est pertinent pour expliquer et/ou prédire le phénomène étudié. Rien n'est garanti dans le cas général et caractériser la dynamique globale du modèle cellulaire en fonction de sa définition locale peut être au moins aussi difficile que de résoudre le système d'équations aux dérivées partielles.
En revanche, l'automate cellulaire peut être simulé facilement par ordinateur !
Ainsi, en analyse numérique, de nombreuse méthodes consistent à discrétiser certaines grandeurs (espace, temps, valeur) pour effectuer des simulations numériques (voir la méthode des éléments finis, des volumes finis ou des différences finies).
Modélisation en physique
Par nature, les automates cellulaires sont de bons candidats pour la modélisation en physique statistique, à condition bien sûr de discrétiser toutes les grandeurs. Parmi les modèles qui ont été très étudiés, on peut citer les automates de gaz sur réseau (lattice gaz automata en anglais) qui modélise des particules de gaz régies par une version discrète du modèle de Maxwell-Boltzmann.
La première formulation de ce modèle, connu sous le nom de HPP, (il s'agit d'un automate cellulaire de dimension 2) est due à J. Hardy, Y. Pomeau et O. Pazzis dans les années 70. Une seconde formulation, FHP, a été proposé dans les années 80 par U. Frisch, B. Hasslacher et Y. Pomeau : elle améliore la précédente en remplaçant le réseau de cellule Z^2 par un réseau hexagonal.
Phénomènes biologiques
Les motifs de certains coquillages, comme les cônesee et les cymbiola, sont générés par des mécanismes s'apparentant au modèle des automates cellulaires. Les cellules responsables de la pigmentation sont situées sur un bande étroite le long de la bouche du coquillage. Chaque cellule sécrète des pigments selon la sécrétion (ou l'absence de sécrétion) de ses voisines et l'ensemble des cellules produit le motif de la coquille au fur et à mesure de sa croissance. Par exemple, l'espèce conus textile présente un motif ressemblant à la règle 30 décrite plus haut.

Conus textile présentant sur sa coquille un motif similaire à certains automates cellulaires
Trafic routier
K. Nagel et M. Schreckenberg ont proposé dans les années 90 un modèle de trafic autoroutier basé sur un automate cellulaire de dimension 1 :
- les cellules de l'automate représentent différentes portions de l'autoroute ;
- une cellule est soit dans l'état vide, soit dans l'un des états \{v_1,\ldots,v_n\}, où v_i représentent la présence d'un véhicule roulant à la vitesse v_i (v_1 représente l'arrêt) ;
- le fonctionnement est schématiquement le suivant :
chaque véhicule accélère d'un cran (passe de
v_i à
v_{i+1}) en limitant sa vitesse afin de ne pas parcourir en 1 unité de temps plus que la distance qui le sépare du véhicule devant lui,
la vitesse obtenue est diminuée d'un cran (passage de v_j à v_{j-1}) avec une certaine probabilité p,
chaque véhicule avance d'une distance proportionnelle à sa vitesse ainsi déterminée.
Ce modèle correspond à un automate cellulaire si la perturbation aléatoire est absente (
p=0). Si de plus
n=2 (un véhicule est soit à l'arrêt, soit à sa vitesse maximum), le modèle se réduit à l'automate cellulaire élémentaire 184 : les cellules peuvent prendre uniquement deux valeurs correspondant à
vide ou
présence d'un véhicule.
Voir aussi
Articles connexes
Domaines apparentés
Règles particulières
Liens externes
Bibliographie
John von Neumann, Arthur W. Burks, Theory of Self-Reproducing Automata, University of Illinois Press (1966)
Konrad Zuse, Rechnender Raum, Schriften zur Datenverarbeitung Band, Friedrich Vieweg & Sohn, Braunschweig (1969)
Martin Gardner, Mathematical Games. The fantastic combinations of John Conway's new solitaire game « life », Scientific American n°223 (Octobre 1970), p. 120-123
Stephen Wolfram, Universality and Complexity in Cellular Automata, Physica D n°10 (Janvier 1984), p. 1-35
Stephen Wolfram, A New Kind of Science, Wolfram Media (2002) - ISBN 1579550088
G. A. Hedlund, Endomorphisms and Automorphisms of the Shift Dynamical System (Mathematical Systems Theory, vol. 3, no. 4, 1969)
J. Kari, The Nilpotency Problem of One-dimensional Cellular Automata, SIAM Journal on Computing 21 (1992), pp. 571-586
J. Kari, Reversibility and Surjectivity Problems of Cellular Automata, Journal of Computer and System Sciences 48, 1 (1994), pp. 149-182
T. Toffoli et N. Margolus, Invertible Cellular Automata: a review, Physica D, 45 (1990), pp. 229-253
E. Czeizler et J. Kari, A tight linear bound on the neighborhood of inverse cellular automata, ICALP 2005, Lecture Notes in computer Science 3580, pp. 410-420, Springer-Verlag
O. Martin, A. Odlyzko et S. Wolfram, Algebraic Properties of Cellular Automata, Communications in Mathematical Physics (1984), n°93, p. 219
M. Morse et G. A. Hedlund, Symbolic Dynamics (American journal of Mathematics, vol. 60, 1938)
E. R. Banks, Universality in cellular automata, Eleventh Annual
Symposium on Switching and Automata Theory (Santa Monica, California, 1970), IEEE
B. Durand et Z. Róka, The game of life :universality revisited dans Cellular Automata : a Parallel Model, vol. 460 of Mathematics and its Applications. Kluwer Academic Publishers, 1999, pp. 51-74
M. Cook, Universality in Elementary Cellular Automata, Complex Systems, 15(1), 2004, pp. 1-40.
N. Ollinger, The quest for small universal cellular automata, International Colloquium on Automata, Languages and Programming (2002), Lecture Notes in Computer Science, pp. 318-330.
Notes et références