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

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

» Edgar Morin. 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 . 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. ou système. 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. dotée de qualités inconnues au niveau des composants ou individus.Organisation ascendante : Gestalt « Une organisation peut être définie comme un agencement de relations entre composants ou individus qui produit une unité.

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

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

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

41421.1.41421} Trajectoire matricielle : Transformation du Boulanger Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 9 .41422. On commence en posant x0= a. *.1.  ‐.5.1. les Sumériens connaissaient un algorithme itératif  pour calculer √ 2 a à partir des quatre opérations de base uniquement (+.1.Exemples d’itérations de processus Algorithme itératif des Sumériens Il y a déjà 4000 ans. on effectue 6 itérations : On voit qu’en valeur numérique on converge très vite : {2. /).1.41421. on pose  x0 = a = 2.  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. 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.. Ici.41667.1.

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

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

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

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

 en itérant RandCoo (prise  comme fonction de transition T) 2000 fois : Nest[RandCoo.{50.  On modélise une telle marche par une « random walk »  d'un seul individu sur une topologie de grille à deux  dimensions. 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. RandCoo[{x.50}.y+1}] } On peut alors modéliser la marche erratique d'une  fourmi par un processus.x+1}].y}]:= { new_x = Random[{x-1. new_y = Random[{y-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 .

 ne mise pas).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 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 . 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. 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%]. On voit  qu'avec du temps. elle. dans la direction EST  (i+1).

j} sur une grille bidimensionnelle t.j}). Ici. 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 considère une population mobile de fourmis qui se  déplacent sur une arène dont la topologie est une grille  bidimensionnelle. nous appellerons proie tout ce qui ‘intéresse’ la fourmi et  qu'elle peut saisir et éventuellement manger et/ou  transporter.L’odorat des fourmis Les phéromones Environnement de simulation La fourmi possède un bon odorat.□.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 . 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é. 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]. La fonction Sensor simule le détecteur d'une fourmi située  à la position {i.

 autonome. 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 . nous ajoutons les deux règles locales : ― une proie est saisie avec une probabilité proportionnelle à son isolement dans le voisinage (de Moore). local. ƒ Au comportement en « random walk ». Les fourmis ne se concertent pas (on parle de coaction plutôt que de  coopération):  elles ont un comportement individuel. ƒ Le tri doit apparaître comme un processus d'émergence sur le système : arène + proie + fourmis.U) devra être  regroupé en un ou plusieurs tas. ― une proie est lâchée avec une probabilité proportionnelle à sa présence dans le voisinage. 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 (●.□.

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

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

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

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

j de la matrice : ― des voisinages d'ordre 1 : les cases à une distance de d = 1 d'un point quelconque .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.Voisinages de base ƒ Si on considère un espace euclidien à deux dimensions.j ƒ Pour un voisinage d'ordre 1 on considère généralement trois types de schémas classiques  : N W Xi. i.e. ― des voisinages d'ordre k > 1 : toutes les cases à une distance d ≤ k d'un point quelconque xi.j Xi. une simple matrice.

 6.  (0 voisin à 1) ou d'étouffement (4. 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.1}) rebouclée en tore  à deux dimensions (il n'y a pas de bords).j(t) si v = 3 Æ 1 sinon   Æ 0 Intuitivement. On part d'une  configuration initiale aléatoire ou bien ad hoc et on itère le  processus suivant : Soit si.j(t+1) est défini par : si v = 2 Æ si. 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”.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. 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. 7. Dans les autres cas. elle reste à 1 si elle possède 2 ou  3  voisins à 1. Elle  laisse tout autour de la matrice.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. 23 . une bordure d'épaisseur une‐ case remplie de valeurs 0. 5. MakeRandLife[6. dans une vision PPSN (Parallel Problem Solving  from Nature).j(t) l'état de la case . elle “meurt” d'isolement. 8 voisins à 1). J. ― Si une cellule est à 1.1} choisies aléatoirement. 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.

 c’est‐à‐dire un état S tel que : S(t+1) == F[S(t)] où F est la fonction de transition.Point fixe d’une trajectoire ƒ On exécute 50 étapes à partir d’un situation initiale tirée au hasard. Point fixe Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 24 . ƒ 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. On voit qu’au bout d’un certain nombre  d’itérations (à t32) .

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

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. Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS t0 Glider envoyé t30 t39 26 . 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 .) alors que le canon reprend une phase de 30 cycles  qui produira un nouveau glider.

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

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.

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

... 212.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..222222.142...7111112 ........ 0z z z z 0z z z 0z z z 2z z z 0{ 0 15 2 12..5 0 0 5 10 Ce qui donne sous forme plus lisible. 2....... 217.2.212..2222222222222.. 2. 272.5 7 5 2.71..... 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 . 21222222122222.71.....5 10 1 7.212.2..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.212. où les états ayant  pour valeur 0 sont représentés par des ‘.’ ..... 272.14.... 2...

32000.12100. 62121.w) Æ état 1}.26220.n. 26112.27622. 27201.12121.75022.17122.21000.14022. s.53002.15422. 16022. 27205.57212.16212.01100.15122.24201.16402.22201.17012.07521. .07721. (** 6 **) { 12020. 17252.25001.15112.14012.36200.12001.25200. 24202.07251.22221.n.27122.14322.27222.73202}.13221.25024.22120.s.26224.24220.17222.22001.w) Æ état 7} } (** sinon l'état est 0 par défaut **) Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS LangtonTable = { (** 1 **) { 07214.11100. 63121.23202.n.77000 }}. 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.23002.17022.34200.22100. w] La table contient 5 entrées et une sortie : LangtonTable = { {liste des configurations (v.07000.17202.25100.05220. 17232.27000.27005. 07221.07002.05212.26202.52020.11000. 23220.62000. {liste des configurations (v. 24002.06251.15100.35102. LangtonFunction.14212.27722.04212.23120.22011.07200.27220.04321.24203.16000. 75202}.57002.e.02010.16202.01000.32001}.03202. 54212.26002.12111.. 72220. e.25220. est  de type classique : Pour un élément (t) de la matrice cellulaire à l'instant  t.23200.32010.52121.22210.14202.24122.27206.02001.03212.27720.26122. (** 7 **) { 17212.17000.27420.27200.27002.22000.w) Æ état 2}.17112.24221.23020.22211. N W V(t) E V(t+1) S LangtonFunction[v.07621.22020. (** 5 **) { 02120. 25021.12211. 27020.06212.s.26221.11010.61000.05200. (** 3 **) { 06000. 37000.27120.57202}.13212.25520. 12221.62221.15420. 54022}.25020.e.Fonction de transition de l’automate de Langton La fonction de Transition de l'automate de Langton.52000.24422. (** 4 **){ 14112.06200. (** 2 **) { 02100.55021.14122.25120.06002.52120.12210.11110.e.03001. 52100.s.17002.17026. 34000.43220.04421.16242. (** sinon 0 **) 31 . 27221.14002.22200.27022.12120.14222.22220.22010.13202. 31000.25210. n.24000.07212.14232.25502..23210.04221. {liste des configurations (v.52200.25221.07512. 15211.15242. 43202}. 42220.07252.27202.24200.16112.

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

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

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.