Les automates cellulaires 3.1 Définition Un automate cellulaire

publicité
Université Du Havre, Master : Mathématiques-Informatique (Matis)
MIS7 : Modèles discrets: évolution, auto-organisation
2010/2011
Nakechbandi M.
moustafa.nakechbandi.univ-lehavre.fr
Chapitre 4 : Les automates cellulaires
3.1 Définition
Un automate cellulaire (AC) est un 4-uplet (d,Q,V,δ) où :
• d est la dimension de l'automate, son réseau est alors
, l'espace
discret de dimension d ;
• Q, un ensemble fini, est son alphabet ;
•
•
est son voisinage (un sous-ensemble fini de sommets
réseau) ; V=(v1, v2, … va )=(vi ϵ Zd; 1≤j≤a)
est sa règle de transition et a = |V|.
On appelle alors configuration l'attribution d'un état à chaque cellule du réseau :
une configuration est une fonction de
dans Q.
3.2 Exemples
Exemple 1 : Automate cellulaire simple.
Il s’agit d’un automate A =(Zd=1,Q,V,δ)où :
• Q= {0,1}
• V : Les voisins d’une cellule i sont les cellules : i, i-1 et i+1 Pour simplifier
ce voisinage peut être décrit par le triplet V =(-1,0,1)
• δ est une transition qui est définie par le tableau suivant :
(q1,q2,q3)
voisinage possible de la cellule centrale
δ(q1,q2,q3)
Valeur suivante de la cellule centrale
111 110 101 100 011 010 001 000
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 ».
1
Il s’agit d’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.
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.
Exercice.
Dans l’automate précédent on considère une fonction d’évolution δ décrite comme
suite : δ (q1 , q2 , q3 ) = q1 + q2 + q3 modulo 2 .
1. Décrire le tableau d’évolution de cet automate cellulaire
(q1,q2,q3) 111 110 101 100 011 010 001 000
δ(q1,q2,q3)
2. Si l'on part d'une grille initiale décrite ci-dessous, on veut demande de décrire 4
itérations d’évolution.
Itération 0 0 0 0 1 0 1 1 0 0 0 0
t=0
t=1
t=2
t=3
t=4
Exemple 2 (Le jeu de la vie)
Le jeu de la vie est un automate cellulaire A =(Z2,V,Q,δ) où
• Q = {0,1} : Si une cellule est dans un etat =1 on dit qu’elle vivante sinon
elle morte.
• V= (v0=(0,0), v1=(-1,-1),… V8=(1,1))
v1 V2 V3
V4 v0 V5
V6 V7 V8
• La transition δ est définie comme suite :
- 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.
2
- Si la cellule est morte et entourée par exactement trois cellules vivantes, elle
naît à la génération suivante.
Exemple d’évolution :
0
0
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
0
0
0
On remarque que après 4 itérations, on retrouve la figure de départ, mais translatée
(-1, -1).
Une configuration est dite stable si après une transition l’automate se trouve dans
les mêmes états. Exemple pour l’automate précédent, la configuration :
0 1 0
1 0 1
0 1 0
est une configuration stable
Exercice 1 : Trouver d’autres configuration stable pour l’automate précédent.
Exercice 2 : Décrire formellement la loi de transition de l’automate précédent
3
D’autres exemples :
Exercice : soit A =(Zd=1,Q={B, G, N},V =(-1,0,1),δ. La grille ci-dessous
montre l’evolution de cette automate.
(le temps va de bas en haut)
Trouver la loi d’évolution de cet automate.
4
La définition d’un AC et les exemples précédents mettent en évidence trois
propriétés fondamentales des automates cellulaires :
1. Le parallélisme, rappelons qu’un système est dit parallèle si ses constituants
évoluent simultanément et de manière indépendante.
2. La proximité : Le nouvel état d'une cellule ne dépend que de son
état actuel et de l'état du voisinage.
3. L'homogénéité : Les lois sont universelles, c'est-à-dire communes à
l'ensemble de l'espace de l'automate.
3.3 Histoire
• Année 50 et 60, Von Neumann avec ses travaux sur l’auto reproduction invente
le premier automate cellulaire.
• En 1969, G. A. Hedlund publie un article qui pose les bases mathématiques de
l'étude des automates cellulaires comme des systèmes dynamiques particuliers.
• En 1969 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, John Conway invente « le jeu de la vie », c’est un
automate cellulaire à deux dimensions et deux états qui a connu un grand
succès, particulièrement parmi la communauté informatique naissante.
• Années 80 Stephen Wolfram : Étude expérimentale, problématique de la
classification. Wolfram publia 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.
3.4 Étude de comportement d’un AC
3.4.1/ Complexité du problème
De façon générale, il est extrêmement difficile de déterminer le comportement
global d'un automate cellulaire en examinant sa règle locale de transition. Ceci se
traduit par des résultats d'indécidabilité touchant les propriétés les plus simples.
Dans ce domaine Jarkko Kari (1992) a montré que les problèmes suivants étaient
indécidables :
5
savoir si un automate cellulaire est nilpotent (A est nilpotent si il existe une
configuration c0 telle que quelque soit la configuration c il existe un i tel que Ai(c) =
c0. (toute les configurations mènent au bout d'un temps fini vers une même),
•
savoir si un automate cellulaire de dimension peut atteindre toutes les
configurations après une étape,
•
savoir si un automate cellulaire de dimension est réversible.
D’autres problèmes sont également indécidables :
•
•
savoir si, étant donné un motif m présent initialement au centre, un motif m' va
apparaître au centre au bout d'un certain temps,
savoir si un motif m peut apparaître arbitrairement tard dans l'évolution ou, au
contraire, s'il existe un temps au delà duquel m n'apparaît plus quelle que soit la
configuration de départ.
3.4.2/ Classes remarquables d'automates cellulaires
Comme expliqué plus haut, les règles locales d'automates cellulaires sont trop
nombreuses pour une étude exhaustive et la prédiction du comportement en
fonction de la règle local est un problème très difficile en général. C'est pourquoi
l'étude des automates cellulaires s'est souvent restreinte à des familles
particulières, soit parce qu'elles se prêtent plus facilement à l'analyse, soit parce
qu'elles correspondent à une propriété intéressante.
Automates réversibles
Un automate cellulaire A est réversible s'il existe un automate cellulaire B tel que les
deux fonctions d'évolution sont inverses l'une de l'autre Intuitivement.
Formellement : Quelque soit la configuration c et quelque soit i, Bi(Ai(c)) = c. (B
"remonte le temps" de l'évolution de A et, inversement, A "remonte le temps" de
l'évolution de B).
Cette classe a été très étudiée, notamment car elle fournit un modèle qui se
rapproche du monde physique réel, supposé réversible à l'échelle microscopique
Automates linéaires
Un automate d'alphabet Q est dit linéaire si l'on peut munir Q d'une loi de groupe
telle que :
•
Dans ce cas, si l'on étend
des configurations.
à une opération agissant cellule à cellule sur l'espace
La linéarité facilite considérablement l'étude de la dynamique des automates. Ainsi,
il suffit de connaître la dynamique d'un automate linéaire sur une de l'espace de ses
configurations pour en déduire par linéarité son comportement sur tout l'espace. On
peut choisir pour une telle base l'ensemble (fini) des configurations partout égales à
e (neutre de ) sauf éventuellement en la cellule centrale.
6
Automates additifs
cette familles est introduite par O. Martin, A. Odlyzko et S. Wolfram [20]. Ces
automates sont définis de la façon suivante :
•
•
,
où les coefficients ai sont fixés et caractérisent l'automate
L'exemple typique est celui où tous les coefficients ai sont égaux à 1 : la règle locale
consiste alors à faire la somme modulo n de toutes les cellules du voisinage. Ainsi,
en dimension 1, l'automate cellulaire élémentaire 90 est additif : sa fonction de
transition consiste à faire la somme modulo 2 des états de la cellule et de ses deux
voisines. Il suffit de connaître le comportement de cet automate sur la configuration
c0 partout égale à 0 sauf au centre où elle vaut 1 pour en déduire son
comportement général par le principe de superposition :
Automates totalistiques.
Un automate cellulaire est totalistique si l'état ultérieur d'une cellule ne dépend que
de la somme des états de ses voisines ; (la position des voisines d'une cellule
n’influe pas sur son état ultérieur).
3.5 Le problème des classifications (Stephen Wolfram en 1983)
Cette classification est basée sur évolution de l’automates cellulaires à partir de
configurations initiales aléatoires. Wolfram propose quatre classes de
comportement :
•
Classe 1 : presque toute configuration initiale conduit à un état homogène. Il est
impossible de construire des motifs stables périodiques.
•
Classe 2 : des structures stables ou périodiques émergent, mais rien de plus.
•
Classe 3 : comportement chaotique avec des motifs apériodiques. À long terme
les fréquences d'apparitions des différents motifs se stabilisent.
•
Classe 4 : émergence de structures complexes capables de se propager. Le jeu
de la Vie en est un parfait exemple.
7
3.6 AC Généralisé (problèmes ouverts en recherche)
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.
3.7 Applications des automates cellulaires.
Notre Univers est soumis aux lois de la Physique. Ces lois ne sont que
partiellement connues et apparaissent hautement complexes. Dans un automate
cellulaire, les lois sont simples et complètement connues. On peut ainsi tester et
analyser le comportement global d'un univers simplifié. Voici quelques exemples
d'application :
•
Simulation du comportement d'un gaz. Un gaz est composé d'un ensemble de
molécules dont le comportement est fonction de celui des molécules voisines.
•
Étude des matériaux magnétiques dont chaque nœud est dans un état
magnétique donné dépend de l'état des nœuds voisins.
•
Simulation de Trafic urbain.
•
Simulation et étude du développement urbain.
•
Dans un domaine différent, les automates cellulaires peuvent être utilisés comme
alternative aux équations différentielles.
•
Conception d'ordinateurs massivement parallèles (Algorithme systolique).
•
Simulation des processus de cristallisation.
•
Simulation de la propagation des feux de forêt.
•
Étude de l’évolution de population (proie/prédateur)
•
Simulation socio-physique : La constitution d’opinion dans la société
•
…
8
Exemple de modélisation d’une application : Trafic routier.
Il s’agit d’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
, où vi
représentent la présence d'un véhicule roulant à la vitesse vi (v1 représente l'arrêt) ;
le fonctionnement est le suivant :
• chaque véhicule accélère d'un cran (passe de vi à vi + 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 vj à vj − 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.
Le model de Trafic routier linaire précédent peut être facilement généralisable vers des
models plus compliqués :
9
Références
1. Charles Corges, Machines de Turing & Automates Cellulaires du Trait Grave au Tres
Anime, Ed. Ellipses, 2008.
2. J.-Ph. Rennard, Introduction aux Automates Cellulaires, polycopies, École de
Management de Grenoble, 12-2000.
3. G. Theyssier, Automates cellulaires, polycopies LIP, ENS Lyon.
4. http://fr.wikipedia.org/wiki/Automate_cellulaire.
10
Téléchargement