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

 ensemble de grains de sable. dômes. couleurs. ƒ Informatique : ensemble de robots. peur. organisations. vers ƒ Physique.Domaines applicatifs … Population  ƒ Ethologie : ensemble d’insectes. collectifs d’humains. murs du lac Huron. amour. cristaux. d’un dôme. d’oiseaux. cellules hexagonales. de protéines. de  molécules. vitesse Æ dureté de l’eau. de virus. mécanique statistique. coopération. de programmes web ƒ Sociologie : groupes. bancs de poissons Physique : molécules Æ gaz Æ eau Æ glace . guerre des  fourmis. chimie. rôles Comportementale : construction d’une toile d’araignée. excitation Æ chaleur. associations. … Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 4 . bouc. chef. oiseaux migrateurs. altruisme. rats de Laborit. Structurelle : fonctions. biologie : gaz sur réseaux. … … 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.

ou système. dotée de qualités inconnues au niveau des composants ou individus. 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 . » Edgar Morin. 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. La Méthode (1). Elle assure solidarité et solidité relative donc assure au système une certaine possibilité de durée en dépit de perturbations aléatoires.Organisation ascendante : Gestalt « Une organisation peut être définie comme un agencement de relations entre composants ou individus qui produit une unité.

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

Dans le troisième modèle d'organisation. les agents occupent de manière fixe les  points de cette topologie : ils sont statiques. Dans le deuxième modèle d'organisation. l'ensemble des agents est aussi muni d'une topologie. Ils sont mobiles ou dynamiques. très proche des automates cellulaires. définie par une structure de voisinage. celle d'ensemble. 2. on parle alors de Swarm intelligence. On dispose alors d'une population d'agents munie de la structure la plus faible.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. i. On parle alors de réseau cellulaire. l'ensemble des agents est aussi muni d'une topologie. 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 . 3. De plus. Dans le premier modèle d'organisation. Ce modèle est très utilisé pour modéliser les sociétés animales.e. Les agents  sont libres de se déplacer sur cette topologie. donc pas de topologie du domaine. il n'y a pas de structure de voisinage. en  particulier les insectes .

16.20. ― une fonction de transfert F qui décrit le processus. C'est  l'opérateur Nest.e.)&" est une abréviation syntaxique pour dénoter  une « fonction pure » (i. ― un nombre entier positif d'itérations NestList[(#+1)&. Voici un  exemple simple de cycle d'ordre 1 (la suite alterne entre deux valeurs) : 8 .32.2.23.1.24.17.21.1.25] Æ{ 0.19. ― une condition initiale .9.64.22.256. i. 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*#)&.. comme fonction f.14.8.Opérateur Nest L’opérateur Nest Exemple 1 : un compteur En Mathematica.10] Æ {1.e.10.128.4. une Lambda‐expression en LISP) et que #  représente l'argument de la fonction (auquel on ajoute 1 ici).3.4.5..13.512.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. une fonction pure :  (#+1)&.16. 15. La notation "(.12. il existe un opérateur d'itération qui permet  d'implémenter de manière aisée des processus dynamiques.0.11.2.1024} Exemple 3 : un processus cyclique Trajectoire du processus dynamique Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS Souvent les processus dynamiques produisent des cycles.8.6.7.18. L'opérateur Nest prend trois arguments : Ici nous avons choisi d'utiliser.

  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.. /).5. Ici.  ‐.41667.1. 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.1. 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.1.1. les Sumériens connaissaient un algorithme itératif  pour calculer √ 2 a à partir des quatre opérations de base uniquement (+. On commence en posant x0= a.41421.41422. on pose  x0 = a = 2.1.41421.41421} Trajectoire matricielle : Transformation du Boulanger Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 9 . *.1.

En pratique. 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). 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. Le seuil de mobilité est déterminé par un paramètre  p. ils déménagent un peu plus  loin. on peut poser : p = 3). Si ce seuil p n'est pas atteint. Les deux groupes sont mélangés au départ. 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. 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). on considère une grille où le voisinage d'un habitant est  celui de Moore.  l’agent migre. ils restent.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é. ― Si ils n'ont pas assez de voisins du même groupe. Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 10 .  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. là où il y a de la place.

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.Simulation sociale (2) Expérimentation : On fait varier le paramètre de simulation selon trois valeurs p = 2. 4 pour voir si il y a un effet statistique visible.

 é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 .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).

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

 en itérant RandCoo (prise  comme fonction de transition T) 2000 fois : Nest[RandCoo.{50.50}.  On modélise une telle marche par une « random walk »  d'un seul individu sur une topologie de grille à deux  dimensions.La marche erratique de la fourmi Trajectoire aléatoire de base On considère un agent particulier : une fourmi (Ant). 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.y+1}] } On peut alors modéliser la marche erratique d'une  fourmi par un processus. new_y = Random[{y-1.x+1}].2000] F Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS S0 100 80 60 40 20 20 40 60 80 100 n 14 . RandCoo[{x.y}]:= { new_x = Random[{x-1.

 dans la direction EST  (i+1). 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 . ne mise pas). elle. On voit  qu'avec du temps. On reprend la marche aléatoire pour 3000 pas. 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%].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’. 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 considère une population mobile de fourmis qui se  déplacent sur une arène dont la topologie est une grille  bidimensionnelle. Ici.j}). 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]. nous appellerons proie tout ce qui ‘intéresse’ la fourmi et  qu'elle peut saisir et éventuellement manger et/ou  transporter.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 . La fonction Sensor simule le détecteur d'une fourmi située  à la position {i.j} sur une grille bidimensionnelle t.□. On suppose que dans l'arène T où se déplacent  les fourmis il existe trois types de proies (●. Elle peut aussi sentir  l'odeur des proies et déterminer ainsi leur position et leur  quantité.L’odorat des fourmis Les phéromones Environnement de simulation La fourmi possède un bon odorat. 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.

 local. 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. 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 . ƒ Au comportement en « random walk ».U) devra être  regroupé en un ou plusieurs tas.□. déjà vu.Tri collectif des proies : coaction ƒ On veut faire effectuer à la population de fourmis une opération de tri : chaque type de proie (●. ƒ Le tri doit apparaître comme un processus d'émergence sur le système : arène + proie + fourmis. autonome. nous ajoutons les deux règles locales : ― une proie est saisie avec une probabilité proportionnelle à son isolement dans le voisinage (de Moore).

  On appelle un tel comportement tropique. Champ tropique 50 Cône de déflection 40 30 20 10 20 Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 40 60 80 100 18 . vers l'est.Patterns de fourragement Comportement tropique On considère une population d'agents constituée de  fourmis. Cependant en présence d'un champ de  phéromones. Une fourmi possède a priori un comportement  erratique. On affiche la  marche tropique de 10 fourmis partant d'un même point. 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 peut être attirée dans une  direction privilégiée en fonction du gradient du champ.

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 . 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.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. on utilise une variable qui représente la quantité ph(x. Le résultat dépendant peu du choix du point de départ. Le champ tropique n'est plus statique comme dans RandEast mais il est dynamique. 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. On a donc affaire à un processus dynamique avec une boucle rétroactive. 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. elles déposent des phéromones qui leur servent plus tard pour revenir au nid. Pour le modéliser.

On adoucit la fonction de choix RandeastPh avec un poids de  liberté smooth = 0. 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.25 qui fait que les fourmis ne ‘collent’ pas  aussitôt au chemin précédent. . NC/2} qui correspond au nid. 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 fait partir 50 fourmis à la  queue leu leu du point {1. La fonction  PhWalk effectue une marche de n pas pour une fourmi  partant du point {i0.

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. à N dimensions : Espace Euclidien à 1 dimension (2 voisins) ― N = 1 : on a un vecteur. etc. ƒ 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 . cette géométrie est de type euclidien  (on dit aussi Manhattan) . on travaille dans un  tableau fini. ― N = 2 : on a une matrice.

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

 elle “meurt” d'isolement.1} choisies aléatoirement.  L'état si.  (0 voisin à 1) ou d'étouffement (4. 7.j(t) l'état de la case . dans une vision PPSN (Parallel Problem Solving  from Nature).j(t) si v = 3 Æ 1 sinon   Æ 0 Intuitivement. 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. 6. On calcule le nombre v de voisins  à 1 dans le voisinage de Moore (8 voisins) de celle case. Elle  laisse tout autour de la matrice. Le jeu de la Vie fonctionne sur une matrice  booléenne (les valeurs d'une case ∈ {0. Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS La fonction de service MakeRandLife construit une matrice  initialisée avec des valeurs {0. MakeRandLife[6. 5.j(t+1) est défini par : si v = 2 Æ si. ― Si une cellule est à 1. une bordure d'épaisseur une‐ case remplie de valeurs 0. elle reste à 1 si elle possède 2 ou  3  voisins à 1. On part d'une  configuration initiale aléatoire ou bien ad hoc et on itère le  processus suivant : Soit si. Dans les autres cas.Principe du jeu de la vie En 1974. 8 voisins à 1). 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. 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. 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.1}) rebouclée en tore  à deux dimensions (il n'y a pas de bords).

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

 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. 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. Nid d’abeille Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS Pattern identique mais décalé de {1. 4. Par exemple. ce  pattern évolue vers un état stable : un carré Ce pattern évolue vers un cycle de période 2.Patterns typiques Points fixes Clignotants =  cycles de période 2 On étudie les points fixes pour eux‐mêmes. Ce  déplacement linéaire en diagonale fait que ce pattern. 5F z 0z z z 0z z z 0{ Un glider est un pattern qui a et n'a pas de période. 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.1} 25 . 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. placé sur  une matrice infinie. possède une période infinie. 5. 4.

 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 .) 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.

 Elle peut  entrer en collision avec un glider et le détruire sans être  pour autant elle‐même perturbée. 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.Eater La configuration connue sous le nom de « Eater »  (mangeur) possède une période 15 Cycles. Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 27 . 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 .  Elle passe par 14 formes différentes très caractéristiques   puis redevient elle‐même.

28 .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.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.

 1. Cette forme initiale est formée de l'image des états  internes de l'automate.  … 1984 : Automate de Langton ƒ En 1984. 7. 4. C. 2. 3. 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 . 5. John Von Neumann a étudié le problème de l'autoreproduction des  automates cellulaires. Langton a proposé un automate cellulaire capable de se reproduire et ne possédant que  8 états internes : 0. Il s'agit de construire un automate cellulaire capable de reproduire la forme  initiale qu'il possède sur sa matrice cellulaire. 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.Automates autoreproducteurs … 1950 : Automate de John Von Neumann ƒ Au début des années 50. Byl a proposé une version ayant  moins d'états mais elle est moins ‘lisible’). Dans les années 80. cet automate est devenu le fer de lance de  l'école dite « Artificial Life » auquel il a servi de paradigme (depuis.

.2..5 7 5 2..2.212.. 212...71.142.’ ..212.. 2. 272. 2....... 0z z z z 0z z z 0z z z 2z z z 0{ 0 15 2 12.2222222222222.........222222. 21222222122222..212..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... 272..71. 2.5 0 0 5 10 Ce qui donne sous forme plus lisible...212.. 217. 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 .7111112 ...... où les états ayant  pour valeur 0 sont représentés par des ‘....5 10 1 7.....14.Forme initiale de Langton La forme initiale de l'automate de Langton est donnée  par la matrice 10 x 15 d'états ∈ [0.22222222.

27120.57202}. 52100.n.02001.w) Æ état 2}.07251.27200.16212.22120.14222.22220. est  de type classique : Pour un élément (t) de la matrice cellulaire à l'instant  t.22200.11010.17022.24220.34200.27720.27420.12120.52200.04421.27005.32001}.w) Æ état 1}.13221.06212.07721.22020.12210.27222.22221.23202. {liste des configurations (v..12001.17112. {liste des configurations (v.27122. 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.21000. 75202}.57002. 63121.15420.07212.n.36200.03001.17222.n.25024. (** 6 **) { 12020.06200. 54212.22001.24000.e.16402. 27221. 32000.75022.24122.25020. N W V(t) E V(t+1) S LangtonFunction[v.05212. 17232.12111. n.16000.52020.15112.22010. 07221.22211.26224.26220. 42220..24422. (** 4 **){ 14112. (** 5 **) { 02120. 24002.55021.s.24201. e.22210.15122.03202.23020.35102.14012.14322.12211.25200.13212.14122.11000.53002.05200. 43202}.07200. 27205.25221.s. 62121. 15211.07000. (** sinon 0 **) 31 .01100.25520.77000 }}.25210.17012. (** 3 **) { 06000.12100.16242.25220. s.e.01000. 23220.14022. LangtonFunction.17202.57212.23210.s.12121.27022. 25021.26002. (** 2 **) { 02100.22000. 17252.11100. .17122.16202.62000.32010.14002. 34000. 12221.17002.22201.07002.04321.26122.13202.24221.04221.04212.27202. 26112.06251. 24202.05220. 16022.07512. (** 7 **) { 17212.15242.25120.43220.23120.25100.52000.e.06002. 72220.61000.27000.26221.14212. 37000.07621.14202.52120. 31000. w] La table contient 5 entrées et une sortie : LangtonTable = { {liste des configurations (v.17026.27722.26202.w) Æ état 7} } (** sinon l'état est 0 par défaut **) Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS LangtonTable = { (** 1 **) { 07214.24200.52121.73202}. 27201.62221.14232.24203.27002.11110.27206.17000.25502. 54022}.15100.22011.03212.22100.07521.16112.25001.27220.Fonction de transition de l’automate de Langton La fonction de Transition de l'automate de Langton.15422.02010.23002. 27020.27622.07252.23200.

On obtient deux formes égales. 15 12. l’automate a fait pousser une nouvelle branche 15 12.5 10 7.5 5 2.5 0 0 5 10 15 20 25 30 32 . en rotation par rapport à la forme initiale qui donneront 2 nouvelles formes au bout de 150 nouvelles étapes etc.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 5 2.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.

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