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