Agents réactifs

Emergence de formes et de structures sur 
des populations d’agents réactifs

Jean‐Paul Sansonnet
LIMSI‐CNRS – jps@limsi.Fr

Plan de l’exposé
Emergence de formes
― Domaines applicatifs
― Organisation ascendante : Gestalt
― Stabilité structurelle : Autopoïèse
― Modes de voisinage locaux
― Opérateur Nest
― Exemples d’itérations de processus
― Simulation sociale (1)
― Simulation sociale (2)
Intelligence Collective
― L’organicisme
― La marche erratique de la fourmi
― Effets de biaisage
― L’odorat des fourmis
― Tri collectif des proies : coaction
― Patterns de fourragement
― Champ de phéromones
― Champ phéromonal dynamique

Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS

Automates Cellulaires
― Voisinages de base
― Principe du jeu de la vie
― Point fixe d’une trajectoire
― Patterns typiques
― Canon à Gliders
― Eater
― Eaters eat gliders
― Automates autoreproducteurs
― Forme initiale de Langton
― Fonction de transition de l’automate de Langton
― Processus de reproduction
― 400 étapes de Langton

2

Emergence de formes
…

Simulation de systèmes dynamique complexes
ƒ Systèmes dynamiques complexes : équations différentielles continues ou discrètes qui 
sont non intégrables analytiquement
ƒ Recours à la simulation à base de SMA (vue comme une intégration numérique) pour 
observer la dynamique globale des processus
ƒ Principe : réification des dynamiques stables en formes émergentes.

…

Emergence de formes sur une population d’entités
ƒ Notion de population d’entités atomiques [homogènes] en interaction locale
ƒ Connaissance a priori explicite des actions & interactions au niveau local
ƒ Recherche de la forme globale limite

Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS

3

 chimie. de protéines. excitation Æ chaleur. dômes. collectifs d’humains. organisations. amour. oiseaux migrateurs. peur. murs du lac Huron. de virus. ƒ Informatique : ensemble de robots. vitesse Æ dureté de l’eau. chef. d’oiseaux. biologie : gaz sur réseaux. d’un dôme. altruisme. Structurelle : fonctions.Domaines applicatifs … Population  ƒ Ethologie : ensemble d’insectes. ensemble de grains de sable. associations. couleurs. rats de Laborit. de programmes web ƒ Sociologie : groupes. mécanique statistique. … Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 4 . cristaux. guerre des  fourmis. vers ƒ Physique. cellules hexagonales. de  molécules. coopération. … … Emergence ƒ Monde microscopique : propriétés connues / fixées des composants / individus / entités / agents de la  population ƒ Monde macroscopique : propriétés observées sans connexion directe avec les propriétés des  composants … Formes ƒ ƒ ƒ ƒ Géométrique : fleurs. bancs de poissons Physique : molécules Æ gaz Æ eau Æ glace . rôles Comportementale : construction d’une toile d’araignée. bouc.

La Méthode (1). L’organisation lie de façon interrelationnelle des éléments ou des événements ou individus divers qui dès lors deviennent des composants d’un tout. dotée de qualités inconnues au niveau des composants ou individus. » Edgar Morin.Organisation ascendante : Gestalt « Une organisation peut être définie comme un agencement de relations entre composants ou individus qui produit une unité. Elle assure solidarité et solidité relative donc assure au système une certaine possibilité de durée en dépit de perturbations aléatoires. ou système. 1977 Niveau macroscopique TOUT = Organisation « Le Tout est la résultante des parties » Piaget Forces de cohésion Niveau microscopique Qualités et quantités locales Gestalt Théorie (Guillaume 1930) « Le tout est plus que la somme des parties » Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 5 .

Toutefois. ce trou s’agrandit). mais si un composant B rencontre le bord d’un trou dans la membrane. En termes mathématiques. assemblés pour former une surface 2-dimensionnelle (l’automate que l’on considère ici est 3-dimensionnel). il y a une probabilité finie que le composant B passera par le trou sans s’attacher aux bords. et qui (b) constituent le système en tant qu’unité concrète dans l’espace où il existe. A diffuse librement à travers la membrane . d) La membrane est imperméable aux composants B. Il s’ensuit qu’une machine autopoiétique engendre et spécifie continuellement sa propre organisation. 6 . pour former un produit D : C->D. avec une concentration fixe a0. puisque la concentration de A à l’intérieur de la membrane est diminuée par la réaction chimique A+A->B. si le composant C qui vient de se désintégrer était déjà au bord d’un trou. Deux composants B ne se combinent pas . Ainsi. Cette probabilité augmente avec la taille du trou. la vitesse de cette réaction dépend d’un paramètre ks qui correspond à l’efficacité de la catalyse. partiellement si le trou est plus grand. parce qu’elle est continuellement soumise à des perturbations externes. Elle accomplit ce processus incessant de remplacement de ses composants. qui s’accumulent par conséquent dans l’espace intracellulaire. Si un composant B passe effectivement par un trou. a) Les composants C qui sont dans la membrane se désintègrent spontanément. il est perdu vers le milieu extérieur. c) Le substrat A est librement disponible dans le milieu extérieur.. la vitesse de cette réaction dépend d’un paramètre kp qui correspond au taux de désintégration spontanée par unité de surface de la membrane. à relations stables dont l’invariant fondamental est sa propre organisation » [Varela. en termes mathématiques. si le trou est plus grand qu’un composant C. il s’attache à la surface et devient un composant C qui répare le trou complètement si le trou était du à la désintégration d’un seul composant C. 1989] Automate de Tesselation (McMullin & Varela 1997) modifié par (Bourgine & Stewart 2004) Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS L’automate comporte une membrane M . de sorte qu’elle délimite un espace intra-cellulaire.. Cette réaction est catalysée par la surface intérieure de la membrane . laissant derrière lui un trou dans la membrane (ou bien. et constamment forcée de compenser ces perturbations. Le produit D ne s’intègre pas dans la membrane : il s’échappe vers l’environnement extra-cellulaire. Cette membrane est formée de composants C. cette membrane est fermée sur elle-même. il y a un flux net de A vers l’intérieur.Stabilité structurelle : Autopoïèse Maturana et Varela ont proposé le mot « autopoïèse » du grec autos (soi) et poiein (produire) et donne la définition : « Un système autopoiétique est organisé comme un réseau de processus de production de composants qui (a) régénèrent continuellement par leurs transformations et leurs interactions le réseau qui les a produits. en spécifiant le domaine topologique où il se réalise comme réseau. une machine autopoiétique est un système . b) Les composants B sont formés par une réaction entre deux molécules du substrat A : A+A->B.

2. De plus. en  particulier les insectes . On parle alors de réseau cellulaire. Dans le troisième modèle d'organisation. il n'y a pas de structure de voisinage. Minimale Contrainte topologique Maximale Population Swarm Intelligence Réseau Cellulaire Ensemble d’agents SIMD sans topologie de voisinage  Agents SIMD dynamiques se déplaçant sur une grille 2D Agents SIMD statiques munis d’un voisinage 2D Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 7 . on parle alors de Swarm intelligence. donc pas de topologie du domaine. Dans le premier modèle d'organisation.e. définie par une structure de voisinage. On dispose alors d'une population d'agents munie de la structure la plus faible. très proche des automates cellulaires. Ce modèle est très utilisé pour modéliser les sociétés animales. i.Modes de voisinage locaux Le modèle de parallélisme SIMD se décompose en trois sous‐types selon le degré de contrainte topologique appliquée au domaine des agents : 1. Ils sont mobiles ou dynamiques. Les agents  sont libres de se déplacer sur cette topologie. Dans le deuxième modèle d'organisation. 3. l'ensemble des agents est aussi muni d'une topologie. les agents occupent de manière fixe les  points de cette topologie : ils sont statiques. l'ensemble des agents est aussi muni d'une topologie. celle d'ensemble.

 il existe un opérateur d'itération qui permet  d'implémenter de manière aisée des processus dynamiques.19.)&" est une abréviation syntaxique pour dénoter  une « fonction pure » (i. une fonction pure :  (#+1)&.2.23. Voici un  exemple simple de cycle d'ordre 1 (la suite alterne entre deux valeurs) : 8 .4. La notation "(.25} Exemple 2 : la suite des puissances de deux  L’opérateur NestList = trajectoire du processus L'opérateur NestList fonctionne de la même manière mais il renvoie la  liste des itérations intermédiaires.9.1.1024} Exemple 3 : un processus cyclique Trajectoire du processus dynamique Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS Souvent les processus dynamiques produisent des cycles.4.10] Æ {1. i.16.1. 15. comme fonction f.3.16. C'est  l'opérateur Nest. la trajectoire complète du  processus itéré : On obtient la suite des puissances de 2 en multipliant par 2 à chaque  itération l'élément précédent (représenté par #) : NestList[(2*#)&.20.14.7.8.e. une Lambda‐expression en LISP) et que #  représente l'argument de la fonction (auquel on ajoute 1 ici).Opérateur Nest L’opérateur Nest Exemple 1 : un compteur En Mathematica..6. L'opérateur Nest prend trois arguments : Ici nous avons choisi d'utiliser.22.21.12.128.0.64.e.11.13.10.25] Æ{ 0.17.24. ― un nombre entier positif d'itérations NestList[(#+1)&. ― une condition initiale .8.18.256.2.5.32.. ― une fonction de transfert F qui décrit le processus.512.

 les Sumériens connaissaient un algorithme itératif  pour calculer √ 2 a à partir des quatre opérations de base uniquement (+.1. Ici.1. On commence en posant x0= a. on effectue 6 itérations : On voit qu’en valeur numérique on converge très vite : {2.  ‐. *.Exemples d’itérations de processus Algorithme itératif des Sumériens Il y a déjà 4000 ans.41421.1.  Voici les trois premières itérations effectuées de manière symbolique (a  n'est pas défini) Trajectoire scalaire : Attracteur de Lorentz Pour calculer √ 2.1. /).41421} Trajectoire matricielle : Transformation du Boulanger Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 9 . Il s'agit de calculer la suite des (xi) telle que : Pour calculer la liste l des valeurs successives de la suite (xi) il suffit  d'utiliser l'opérateur d'itération NestList.41422.1.1.41421. on pose  x0 = a = 2.5.41667..

 là où il y a de la place.  On considère que les habitants ont le comportement suivant selon  la nature de leur voisinage immédiat : 2 Populations 4 états : ― Si leur voisinage leur ressemble. Malheureux Heureux P=3 Les agents peuvent bouger sur le substrat L’objectif de la simulation est de voir si les agents distribués au  départ de manière aléatoire ont tendance à se regrouper en  quartiers monocolore ou non.Simulation sociale (1) On considère une zone urbaine vierge où l'on installe deux groupes  de population présentant une différence quelconque : un groupe est  dit clair et l'autre foncé. on peut poser : p = 3). ils déménagent un peu plus  loin. En pratique. on considère une grille où le voisinage d'un habitant est  celui de Moore. le nombre de voisins du même groupe n  que peut espérer un habitant est un paramètre de la simulation p  (par exemple. Si ce seuil p n'est pas atteint. ils restent. Les deux groupes sont mélangés au départ. Le seuil de mobilité est déterminé par un paramètre  p. tel que si le nombre de voisins de même groupe n < p alors  l'habitant déménage vers une case voisine libre (si il y en a). ― Si ils n'ont pas assez de voisins du même groupe.  l’agent migre. Le  nombre de voisins de Moore étant de 9 et la distribution initiale  étant aléatoire entre : les cases vides (état 0) le groupe clair (état 1)  et le groupe foncé (état 2). Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 10 .

T0 T0+50 20 20 15 15 10 10 5 5 0 0 0 5 10 15 20 25 30 0 Condition initiale : distribution aléatoire 20 T0+50 20 15 15 10 10 5 5 0 0 0 5 10 15 20 25 P = 2 : il y a un peu d’agglomération Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 5 10 15 20 25 30 P = 3 : il y a plus d’agglomération 30 T0+50 0 5 10 15 20 25 30 P = 4 : il n’y a pas d’agglomération 11 . 3. 4 pour voir si il y a un effet statistique visible.Simulation sociale (2) Expérimentation : On fait varier le paramètre de simulation selon trois valeurs p = 2.

Intelligence Collective … Effets morphogénétiques ƒ Emergence de comportements sociaux ƒ Construction collective d’artefacts  ƒ Résolution distribuée de problèmes  (Ant algorithms) … Individus réactifs ƒ Notion d’état interne atomique (un scalaire) ƒ Fonction de transition itérée :  F[état(individu). état(voisins) ] ƒ Pas de représentation de soi ni des autres … Stygmergie ƒ Communication via l’environnement partagé ƒ Pas de coopération mais de la coaction Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 12 .

la ressemblance à des niveaux différents (fractalisation).. l'organicisme prétend que c'est le Tout (Gestalt) qui explique les Parties. Heackel . au contraire.. les phénomènes d'entraide. Ce concept sera repris par un autre entomologiste.. ne sont que des formes  émergentes a posteriori. Platon et Aristote ont montré l'originalité du Tout par rapport à ses parties : « le tout n'est pas  la somme des parties ». Herbert Spencer : au 19ème siècle. Wheeler Dans « The Ant colony as an organism » (1911). illustrée en France par Bichat. qui insiste sur la spécificité des phénomènes que l'on peut  observer au niveau d'un organisme entier. la différenciation des fonctions (division du travail). Il fait les analogies suivantes : ― ― ― ― ― la croissance inhérente.L’organicisme Bichat L'organicisme représente au départ une conception biologique. W. Tous ses travaux  ont consisté à montrer que l'individu se comporte comme s'il était seul.. et même un superorganisme (1928).  Emerson (1939 ‐ 1959). après Schelling et en même temps que Fechner. il développe une théorie sociologique où la société est vue  comme un organisme (1882). On peut finir avec le concept de Gaïa de James Lovelock (1972) qui suggère que la terre est un être vivant . de division du travail. Le behaviorisme de Rabaud Le postulat fondamental est que la cause unique du comportement d'une société d'insectes se trouve dans l'individu i. Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 13 . la durée de vie (qui sous‐entend la mortalité). Les philosophes grecs  Après la métaphore des membres et de l'estomac d'Esope. Cette conception s'oppose à l'associationnisme cartésien puis positiviste qui propose d'expliquer le Tout  comme une association de Parties . inéluctable (comme "onde porteuse"). la mutuelle détermination des parties (tout se tient). au niveau local.. .M. Alfred E..e.

y}]:= { new_x = Random[{x-1.La marche erratique de la fourmi Trajectoire aléatoire de base On considère un agent particulier : une fourmi (Ant).2000] F Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS S0 100 80 60 40 20 20 40 60 80 100 n 14 .x+1}].  On modélise une telle marche par une « random walk »  d'un seul individu sur une topologie de grille à deux  dimensions.50}. new_y = Random[{y-1. Ce  qui apparaît à l'observation de son comportement  habituel de "fourragement" (foraging) ce sont des  déplacements qui semblent aléatoires au niveau local.{50. RandCoo[{x. en itérant RandCoo (prise  comme fonction de transition T) 2000 fois : Nest[RandCoo.y+1}] } On peut alors modéliser la marche erratique d'une  fourmi par un processus.

 elle. dans la direction EST  (i+1). Cela modélise en quelque sorte la probabilité de  gain de la banque au jeu de la Roulette : une des 36 cases  de la roue est dédiée à la banque (qui. On reprend la marche aléatoire pour 3000 pas. la banque gagne inexorablement : Nous donnons ci‐dessous la marche aléatoire d'un agent  qui part du centre d'une arène 100 x 100 et qui effectue  3000 pas aléatoires : 100 100 100 80 80 80 60 40 60 60 40 40 Départ 20 20 Départ 20 25 25 20 Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 40 60 80 50 50 75 75 100 100 125 125 150 150 175 175 200 200 100 15 .Effets de biaisage Ces deux expériences montrent que l'on peut obtenir des  effets morphogénétiques macroscopiques à partir d'un  processus stochastique local très légèrement biaisé : le  temps et l‘ itérateur font alors émerger le biais pour lui  ‘donner forme’. On voit  qu'avec du temps. Nous donnons ci‐dessous la marche aléatoire d'un agent  qui part du bord d'une arène 100 x 200 et effectue 3000  pas aléatoires à ceci près que nous avons introduit un  biais d'environ 1/36ème [soit ~ 4%]. ne mise pas).

On considère une population mobile de fourmis qui se  déplacent sur une arène dont la topologie est une grille  bidimensionnelle. Elle peut aussi sentir  l'odeur des proies et déterminer ainsi leur position et leur  quantité.j}). nous appellerons proie tout ce qui ‘intéresse’ la fourmi et  qu'elle peut saisir et éventuellement manger et/ou  transporter. Ici.L’odorat des fourmis Les phéromones Environnement de simulation La fourmi possède un bon odorat.j} sur une grille bidimensionnelle t. La fonction Sensor simule le détecteur d'une fourmi située  à la position {i. Elle renvoie  le nombre d'éléments (de proies potentielles) de type x qui  se trouvent dans un voisinage de Moore (les 8 cases voisines  de {i. On suppose que dans l'arène T où se déplacent  les fourmis il existe trois types de proies (●.□. Elle communique avec les  autres fourmis de manière principale avec des odeurs portées  par des substances appelées phéromones [Les phéromones  ne sont pas des odeurs au sens strict].U) qui sont  dispersées au hasard de la manière suivante : Voisinage de Moore : zone de détection des proies 10 · · · Û 8 · Ê · Û Proie Proie Ê 6 · Ê · Û 4 · Û Û Û 2 Ê · Ê Ê · · · Û Ê Ê Ê Û · Û 6 8 0 0 Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 2 4 10 16 .

 Les fourmis ne se concertent pas (on parle de coaction plutôt que de  coopération):  elles ont un comportement individuel. ― une proie est lâchée avec une probabilité proportionnelle à sa présence dans le voisinage. ƒ Au comportement en « random walk ».Tri collectif des proies : coaction ƒ On veut faire effectuer à la population de fourmis une opération de tri : chaque type de proie (●.U) devra être  regroupé en un ou plusieurs tas. déjà vu. nous ajoutons les deux règles locales : ― une proie est saisie avec une probabilité proportionnelle à son isolement dans le voisinage (de Moore). local. ƒ Le tri doit apparaître comme un processus d'émergence sur le système : arène + proie + fourmis.□. 20 · · Ê Û · Ê Ê · 15 · Û Ê Ê Û 10 Û · Û Ê Û · · · · · · Ê · Ê Ê Ê 0 0 Ê Û Ê Ê Û Ê · Ê Ê 5 · Û Ê Û · Û · · · 5 Ê Ê Û · Û Û · Ê Û Û Ê Ê Û · · Û Ê Ê Ê · · Ê · Û Ê Û Ê Ê Ê Ê Û Û Û · Ê Configuration initiale · 15 · Û Û · Û Û · · · · Û Û 15 Û Ê Û · Ê Ê Û 10 · · · · Û Û · 5 · Ê Ê 0 20 · · Ê · Û Ê Ê Û Û Ê · Ê Ê Ê Û Û Ê Û Ê Û Û Ê Û Ê 20 Û Û Ê 10 Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS · 0 · · · Û Û · · · · · Ê Û Û · · · · Ê Ê Ê Ê Ê Ê Ê Tas Tas · · Û Ê Ê Ê Ê · Û Ê Ê Ê Ê Ê Û Û Û Ê Ê Û Û · Û Û Û Û Û Û Ê Ê Û 5 Ê Ê Ê Û Û · Ê Ê Ê Ê Ê Ê Ê Ê Ê Û Û Û Û Ê Ê Ê Ê Ê Ê Û Û Û Û · Tas Ê · · Û Ê 10 15 · · · · 20 Configuration après 10 000 pas 17 . autonome.

 vers l'est.Patterns de fourragement Comportement tropique On considère une population d'agents constituée de  fourmis.  On appelle un tel comportement tropique. Simulation La fonction RandEast simule une fourmi soumise à un  tropisme Ouest Æ Est : la marche est aléatoire en vertical  mais déterministe en horizontal. Une fourmi possède a priori un comportement  erratique. une fourmi peut être attirée dans une  direction privilégiée en fonction du gradient du champ. Champ tropique 50 Cône de déflection 40 30 20 10 20 Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 40 60 80 100 18 . On affiche la  marche tropique de 10 fourmis partant d'un même point. Cependant en présence d'un champ de  phéromones.

Le résultat dépendant peu du choix du point de départ. Pour le modéliser. on utilise une variable qui représente la quantité ph(x. On a donc affaire à un processus dynamique avec une boucle rétroactive. 50 50 40 40 30 30 20 20 10 10 0 0 20 Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 40 60 80 100 20 40 60 80 100 19 . elles déposent des phéromones qui leur servent plus tard pour revenir au nid. Le champ tropique n'est plus statique comme dans RandEast mais il est dynamique.Champ de phéromones Champ de phéromones Les fourmis utilisent les odeurs à base de phéromones pour marquer leur déplacements et pour se diriger. En se déplaçant.t) de phéromones au temps t d'un point x de l'arène où se déplacent les fourmis : ce sera classiquement un tableau à deux dimensions. Au comportement erratique basique se superpose un comportement tropique phéromonal : une fourmi a tendance à aller là où il y a déjà eu un dépôt de phéromones. Pôle de Phéromones Simulation On se donne un champ où les dépôts phéromonaux sont disposés régulièrement sur l'arène pour former un "échiquier" de tropismes Les fourmis suivent les "vallées" du champ (qui n'est pas tout a fait symétrique). On constate que le champ tropique dépend des dépôts de phéromones qui eux‐ mêmes dépendent des déplacements qui dépendent du champ.

50 Ligne de renforcement :  chemin de retour vers le nid 40 30 NID 20 10 Cône de  fourragement 0 0 20 40 60 80 100 Ligne de renforcement :  chemin de retour vers le nid NID 40 30 20 10 0 10 20 20 30 40 60 40 80 Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 100 50 Cône de  fourragement On visualise mieux le fait que les fourmis  empruntent souvent le même chemin grâce à la  fonction ListDensityPlot qui permet de montrer où  sont déposées les phéromones sur le champ Tph.Champ phéromonal dynamique On rend le champ phéromonal dynamique en le faisant  construire pas à pas par les fourmis elles‐mêmes : elles  déposent à chaque pas une unité de phéromone. j0}. On adoucit la fonction de choix RandeastPh avec un poids de  liberté smooth = 0. La fonction  PhWalk effectue une marche de n pas pour une fourmi  partant du point {i0. On trace les chemins en grisé en fonction du taux de  phéromones déposées : on voit que dans le cône  d'exploration il y a une trace noire (donc très odorante) qui  se détache : c'est le chemin qui ramènera les fourmis au nid. On fait partir 50 fourmis à la  queue leu leu du point {1.25 qui fait que les fourmis ne ‘collent’ pas  aussitôt au chemin précédent. . NC/2} qui correspond au nid.

― N = 2 : on a une matrice. à N dimensions : Espace Euclidien à 1 dimension (2 voisins) ― N = 1 : on a un vecteur. ƒ On peut imaginer d'autres types de topologies  discrètes : Espace Euclidien à 2 dimensions (8 voisins) Espace à voisinage hexagonal (six voisins) Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS Espace à voisinage triangulaire (trois voisins) Espace Euclidien à 3 dimensions 21 . on travaille dans un  tableau fini. cette géométrie est de type euclidien  (on dit aussi Manhattan) . etc.Automates Cellulaires … Case possédant un état Topologie discrète ƒ Les automates cellulaires ont pour caractéristique  de posséder un espace substrat des états qui est  muni d'une géométrie discrète. ƒ Souvent.

j Xi. on peut définir  plusieurs types de voisinages pour un point xi.j ƒ Pour un voisinage d'ordre 1 on considère généralement trois types de schémas classiques  : N W Xi.e. une simple matrice.j E Xi. ― des voisinages d'ordre k > 1 : toutes les cases à une distance d ≤ k d'un point quelconque xi. i.j S Voisinage NEWS (ou de Von Neumann) Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS Voisinage en croix Voisinage de Moore 22 .Voisinages de base ƒ Si on considère un espace euclidien à deux dimensions.j de la matrice : ― des voisinages d'ordre 1 : les cases à une distance de d = 1 d'un point quelconque .

 5. On part d'une  configuration initiale aléatoire ou bien ad hoc et on itère le  processus suivant : Soit si.  (0 voisin à 1) ou d'étouffement (4.j(t+1) est défini par : si v = 2 Æ si. elle “meurt” d'isolement.1} choisies aléatoirement. 23 .6] 0 i j j 0 j j j j 0 j j j 0 j j j j j j0 k0 Bordure de zéros 0 0 0 1 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 1 0 0y z 0z z z z 0z z z 0z z z z 0z z z 0{ Zone aléatoire Dans notre implémentation. Conway a proposé un automate cellulaire dont le  fonctionnement est très simple mais dont la richesse des  comportements et la puissance de calcul formel étonnent  encore. MakeRandLife[6. Elle  laisse tout autour de la matrice.j(t) si v = 3 Æ 1 sinon   Æ 0 Intuitivement. cela correspond en fait à la modélisation du  comportement naturel suivant : ― Si une cellule est à 0 et qu'elle est entourée de 3 voisins  elle “naît”. J. une bordure d'épaisseur une‐ case remplie de valeurs 0. 7.Principe du jeu de la vie En 1974. Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS La fonction de service MakeRandLife construit une matrice  initialisée avec des valeurs {0. On calcule le nombre v de voisins  à 1 dans le voisinage de Moore (8 voisins) de celle case. Le jeu de la Vie fonctionne sur une matrice  booléenne (les valeurs d'une case ∈ {0.  L'état si. cette bordure permet de ne pas  tenir compte des bords ce qui simplifie et accélère la fonction  LifeStep qui effectue une transition du processus sur une  matrice m. Dans les autres cas.1}) rebouclée en tore  à deux dimensions (il n'y a pas de bords). 6. elle reste à 1 si elle possède 2 ou  3  voisins à 1. 8 voisins à 1). dans une vision PPSN (Parallel Problem Solving  from Nature). ― Si une cellule est à 1.j(t) l'état de la case .

 c’est‐à‐dire un état S tel que : S(t+1) == F[S(t)] où F est la fonction de transition. Point fixe Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 24 . On voit qu’au bout d’un certain nombre  d’itérations (à t32) . ƒ Cette propriété est appelée un point fixe. le système converge vers une forme fixe qui dès lors se répète à l’infini.Point fixe d’une trajectoire ƒ On exécute 50 étapes à partir d’un situation initiale tirée au hasard.

 possède une période infinie. Ce  déplacement linéaire en diagonale fait que ce pattern. placé sur  une matrice infinie. Nid d’abeille Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS Pattern identique mais décalé de {1. Par exemple. En fait sa  forme a une période fixe (n=4 dans l’exemple)  mais elle se trouve  translatée d'une case à droite et d'une case en bas. 5F z 0z z z 0z z z 0{ Un glider est un pattern qui a et n'a pas de période. 5. 5F z 0z z z 0z z z 0{ 0 i j j 0 j j j j0 LifeTable Bj j j 0 j j j j j0 k0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0y z 0z z z 0z z z. 4. 6F z 0z z z 0z z z 0{ Gliders = quasi cycles Ce pattern évolue aussi vers un état stable : rond ou nid d'abeille 0 i j j 0 j j j 0 j LifeTable Bj j j 0 j j j j j0 k0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0y z 0z z z 0z z z.Patterns typiques Points fixes Clignotants =  cycles de période 2 On étudie les points fixes pour eux‐mêmes.1} 25 . ce  pattern évolue vers un état stable : un carré Ce pattern évolue vers un cycle de période 2. On appelle ce type de  patterns des clignotants 0 i j j 0 j j j j0 LifeTable Bj j j 0 j j j j j0 k0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0y z 0z z z 0z z z. 4.

) alors que le canon reprend une phase de 30 cycles  qui produira un nouveau glider. z z 0z z z 0z z z 0z z z z 0z z z 1z z z 0z z z 0{ t1 … == On constate que la configuration t30 (encadrée) est égale  à la configuration de départ à t0 à ceci près qu'elle a émis  deux scories (deux nids d'abeilles fixes) et un glider que  l'on voit planer vers le nord‐est (configurations  t31 à t39 etc.Canon à Gliders On peut construire des configurations qui ont des  comportements non triviaux : par exemple le « canon à  gliders » ci‐dessous est une configuration qui possède  une quasi‐période longue de 30 cycles et qui produit un  glider. Ce glider se déplace et peut être vu/perçu comme  « éjecté » du canon 1 i j j 0 j j j 0 j j j j 0 j j j 0 j j j 0 j j j 0 j j j0 GliderGun = j j j j 0 j j j 0 j j j 0 j j j j 0 j j j 0 j j j j0 j k0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0 1 1 1 1 0 0 0 0 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0y z 0z z z 0z z z z 0z z z 0z z z 0z z z 0z z z z 0z . Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS t0 Glider envoyé t30 t39 26 .

  Elle passe par 14 formes différentes très caractéristiques   puis redevient elle‐même. z z z z z z z z z z z z z z { == La configuration Eater possède une période de 15 cycles. Elle peut  entrer en collision avec un glider et le détruire sans être  pour autant elle‐même perturbée. Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 27 .Eater La configuration connue sous le nom de « Eater »  (mangeur) possède une période 15 Cycles. 0 i j j 0 j j j j 1 j j j 0 j j j j 0 j Eater = j j j 0 j j j 0 j j j j 1 j j j j j0 k0 1 1 0 1 1 1 1 0 1 1 0 0 1 0 0 0 0 1 0 0 y z z z z z z z z z z z z z z z .

Eaters eat gliders On construit une situation (bien synchronisée !) où le glider éjecté arrive près d'un eater dans la position relative suivante : Eater Séquence de quasi périodes de  4 cycles incluant une  translation diagonale {1. 28 .1} Glider éjecté tous les 30 cycles Glider Gun Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS Le eater a « mangé » le glider et  reprend son cycle normal.

  … 1984 : Automate de Langton ƒ En 1984. Cette forme initiale est formée de l'image des états  internes de l'automate. 5. Il s'agit de construire un automate cellulaire capable de reproduire la forme  initiale qu'il possède sur sa matrice cellulaire. Langton a proposé un automate cellulaire capable de se reproduire et ne possédant que  8 états internes : 0. Dans les années 80. John Von Neumann a étudié le problème de l'autoreproduction des  automates cellulaires. 4. 3.Automates autoreproducteurs … 1950 : Automate de John Von Neumann ƒ Au début des années 50. Forme initiale 1 2 Au bout de quelques étapes … 3 1 2 3 1 2 Forme auto reproduite 3 Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 29 . 7. C. 1. Byl a proposé une version ayant  moins d'états mais elle est moins ‘lisible’). 2. cet automate est devenu le fer de lance de  l'école dite « Artificial Life » auquel il a servi de paradigme (depuis. John Von Neumann a découvert un automate à 29 états qui possède cette  propriété mais sa table de transition est d'une complexité extrême.

.212......’ ....71.5 10 1 7.222222.... 272.Forme initiale de Langton La forme initiale de l'automate de Langton est donnée  par la matrice 10 x 15 d'états ∈ [0...... 2.5 7 5 2.212....71...5 0 0 5 10 Ce qui donne sous forme plus lisible. 21222222122222.. où les états ayant  pour valeur 0 sont représentés par des ‘.142...14. 217..212. 212.. 0z z z z 0z z z 0z z z 2z z z 0{ 0 15 2 12. 2..7111112 ..22222222..2.2222222222222. On peut aussi représenter l’automate avec des états  colorés ou encore exprimés en trois dimensions  Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 4 15 20 25 30 15 10 5 6 4 2 0 5 10 15 20 30 ....7] suivante : 0 i j j 2 j j j 2 j j j j 2 j j j 2 j Langton = j j j2 j j j 2 j j j 2 j j j j j2 k0 2 1 0 7 1 0 7 1 0 2 2 7 2 2 2 2 2 2 7 2 2 0 2 0 0 0 0 2 1 2 2 1 2 0 0 0 0 2 0 2 2 4 2 0 0 0 0 2 7 2 2 0 2 0 0 0 0 2 1 2 2 1 2 2 2 2 2 2 0 2 2 4 0 1 1 1 1 1 7 2 0 2 2 2 2 2 2 2 1 2 0 0 0 0 0 0 0 2 1 2 0 0 0 0 0 0 0 2 1 2 0 0 0 0 0 0 0 2 1 2 0 0 0 0 0 0 0 2 1 2 0y z 0z z z 0z z z z 0z z z 0z z z....2....212. 2.. 272...

04212. 27221.14212.16000.06212.52200.w) Æ état 1}.25120. {liste des configurations (v.s.07002.27722.. 25021. 23220.24203.12210.07521.n.14232.16242. 34000.15242.27720.11010.14012.27622.12001.w) Æ état 2}.32010.15112.17012.14122.17202. 32000.21000.15420.02010.22200.e.s.07621.15422. LangtonFunction.01000.61000.13221.25200.26220.22211.16402.32001}.16212.26002.22001.13212.73202}.35102.23202.22100. (** 5 **) { 02120.e.77000 }}.27202.57002.22020.06002.25502. 75202}.13202.11110. {liste des configurations (v.07000.12121.23210.n.24201.26224.17122. 27205.57212.04221. 24002.27420. la valeur de cet élément à l'instant t+1 est calculé en fonction de la  valeur v de cet élément à l'instant t et des valeurs des 4 voisins (voisinage  NEWS) à l'instant t..17002. 37000. (** 4 **){ 14112.26221.03212.52121. 27020. 12221.23120.26202.16112.14222.52020.52120.23200.14202. 63121. n.34200.25520.53002.27022.12120.14322.22010.25001. 17232.04421.27220.05200. s. .07512.24221.14022.26122.11000.07251.22011.62221.06200.24220.24422.27222.15100.22120. (** 3 **) { 06000. 07221. e.07721.22201.w) Æ état 7} } (** sinon l'état est 0 par défaut **) Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS LangtonTable = { (** 1 **) { 07214.22220.55021.17026.24200. N W V(t) E V(t+1) S LangtonFunction[v.22000. (** sinon 0 **) 31 . 24202.17112.05212.03202.57202}.52000.06251. 43202}. 72220.27200.01100. 31000.04321.e.07212.25221.25220.27002.12111.25210.03001.17022.25100.14002.22210.07200. w] La table contient 5 entrées et une sortie : LangtonTable = { {liste des configurations (v.17222. (** 2 **) { 02100.25020.n.27206. 17252. 54022}.22221. 15211.05220.62000. 27201.43220. 52100.12211.75022.36200.12100. 26112. 42220.07252.s.16202.27000.27120.27005.24000.24122.Fonction de transition de l’automate de Langton La fonction de Transition de l'automate de Langton. 54212. (** 7 **) { 17212.11100.27122. 16022.23020.23002.17000.25024.15122. (** 6 **) { 12020.02001. 62121. est  de type classique : Pour un élément (t) de la matrice cellulaire à l'instant  t.

15 12.5 0 0 5 10 15 20 25 30 32 .5 5 2.5 10 7. On obtient deux formes égales.5 5 2. l’automate a fait pousser une nouvelle branche 15 12.5 0 22222222 214 14 112 2 22222212 272 212 212 212 2 2 272 272 2 2 21222222122222 2 71 71 71 7112 2222222222222 22222222 24 14 1112 2122222212 2 2 212 272 272 212 2 2 2 2 212 27222222722222 21 71 71 71 712 2222222222222 t3 22222222 214 111112 2 22222272 242 2 2 212 212 2 2 272 272 2 2 21222222122222 2 71 71 71 7111 2222222222222 t4 22222222 24 1111172 21222222 2 2 2 212 242 272 212 2 2 2 2 212 272222227222222 21 71 71 71 7112 22222222222222 t6 Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS t7 22222222 3 14 11112 2422222212 212 272 2 2 2 2 272 212 212 272 2 222222 22222 271 71 71 71 72 2222222222222 t5 22222222 3 111117 2 2422222212 212 272 2 2 2 2 242 212 212 272 2 222222 222222 271 71 71 71 712 22222222222222 t8 0 5 10 15 20 25 30 Une reproduction complète prend environ 150 étapes.5 10 7.Processus de reproduction On donne les 8 premières étapes sous la forme textuelle : 22222222 217 14 142 2 222222 2 272 212 212 212 2 2 212 272 212 21222222122222 2 71 71 7111112 2222222222222 22222223 27 14 14 2 2122222212 2 2 212 272 212 212 212 2 2 212 27222222722222 21 71 71 711112 2222222222222 t0 t1 22222222 2 14 14 12 2722222212 212 212 2 2 212 272 212 212 272 2 222222 22222 271 71 71 71112 2222222222222 t2 Au bout de 100 étapes. en rotation par rapport à la forme initiale qui donneront 2 nouvelles formes au bout de 150 nouvelles étapes etc.

400 étapes de Langton 40 30 20 10 0 0 Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 10 20 30 40 50 60 33 .

Sign up to vote on this title
UsefulNot useful