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

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

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

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

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

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

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

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

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

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

RandCoo[{x.x+1}].  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}]:= { new_x = Random[{x-1.{50. new_y = Random[{y-1. en itérant RandCoo (prise  comme fonction de transition T) 2000 fois : Nest[RandCoo.50}.2000] F Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS S0 100 80 60 40 20 20 40 60 80 100 n 14 .y+1}] } On peut alors modéliser la marche erratique d'une  fourmi par un processus.

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

 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. Ici.□. On considère une population mobile de fourmis qui se  déplacent sur une arène dont la topologie est une grille  bidimensionnelle.j} sur une grille bidimensionnelle t. 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]. Elle peut aussi sentir  l'odeur des proies et déterminer ainsi leur position et leur  quantité. 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 .j}). On suppose que dans l'arène T où se déplacent  les fourmis il existe trois types de proies (●.L’odorat des fourmis Les phéromones Environnement de simulation La fourmi possède un bon odorat. La fonction Sensor simule le détecteur d'une fourmi située  à la position {i.

□. ― une proie est lâchée avec une probabilité proportionnelle à sa présence dans le voisinage. local. Les fourmis ne se concertent pas (on parle de coaction plutôt que de  coopération):  elles ont un comportement individuel.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. 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. autonome. nous ajoutons les deux règles locales : ― une proie est saisie avec une probabilité proportionnelle à son isolement dans le voisinage (de Moore). déjà vu.

Patterns de fourragement Comportement tropique On considère une population d'agents constituée de  fourmis. On affiche la  marche tropique de 10 fourmis partant d'un même point. vers l'est. Cependant en présence d'un champ de  phéromones. une fourmi peut être attirée dans une  direction privilégiée en fonction du gradient du champ. Une fourmi possède a priori un comportement  erratique. Simulation La fonction RandEast simule une fourmi soumise à un  tropisme Ouest Æ Est : la marche est aléatoire en vertical  mais déterministe en horizontal.  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 .

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). Le champ tropique n'est plus statique comme dans RandEast mais il est dynamique. 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. 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 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. On a donc affaire à un processus dynamique avec une boucle rétroactive. on utilise une variable qui représente la quantité ph(x. Pour le modéliser.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 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. En se déplaçant.

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

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

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

 On voit qu’au bout d’un certain nombre  d’itérations (à t32) . le système converge vers une forme fixe qui dès lors se répète à l’infini. Point fixe Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 24 .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. c’est‐à‐dire un état S tel que : S(t+1) == F[S(t)] où F est la fonction de transition.

 placé sur  une matrice infinie. possède une période infinie. 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. Nid d’abeille Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS Pattern identique mais décalé de {1. 4. Par exemple. 5.1} 25 . 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. 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. Ce  déplacement linéaire en diagonale fait que ce pattern. ce  pattern évolue vers un état stable : un carré Ce pattern évolue vers un cycle de période 2. 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.

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 .) alors que le canon reprend une phase de 30 cycles  qui produira un nouveau 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 . 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.

  Elle passe par 14 formes différentes très caractéristiques   puis redevient elle‐même.Eater La configuration connue sous le nom de « Eater »  (mangeur) possède une période 15 Cycles. 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. Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 27 . 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 .

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

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

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

22100.s.14002.25120.36200.27722.w) Æ état 2}.05200.03212.12211.07512.27202.e.16000.17112.62000.23202.22001.24000.75022.27220.26202.24221.04321.13212.07212.77000 }}.23210.23120.01000.15100.26220.52020.15242.23020. 34000.11010. 27201.57002. 12221.52121.e.43220.73202}.14122.11100. 43202}.04221.15420. N W V(t) E V(t+1) S LangtonFunction[v.27200.57202}.22201.35102.05220.14222.14212.27222. e.27005.22210.07251. (** 2 **) { 02100.07621..w) Æ état 1}.61000.17202. 31000.25502.25020.26224.e. 52100.07000. 54022}.22211.32001}.12121. 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.24422.27206. 23220. .n. w] La table contient 5 entrées et une sortie : LangtonTable = { {liste des configurations (v.27000.27720. 24002.13202.14202.15122.w) Æ état 7} } (** sinon l'état est 0 par défaut **) Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS LangtonTable = { (** 1 **) { 07214.22000.17002.27420. (** 4 **){ 14112.23002. 42220.14012.25200. 62121.n.14022. 24202. (** 5 **) { 02120.17000. 32000.57212. 15211.27120.12001. 26112.11110.17222.03001.Fonction de transition de l’automate de Langton La fonction de Transition de l'automate de Langton.27122.04421. {liste des configurations (v.14232.06002.17012.32010.22120.17022.27002.s. 54212. {liste des configurations (v.25100.03202.07521. 27221.05212.34200.23200.12120.25221. (** sinon 0 **) 31 ..06212.26122.25210. 63121.12111.02010. n.13221.16212.22200.06200.27022.27622.25520.01100.16242.17122.55021.22220.07200.21000.24122. (** 6 **) { 12020.24201.22020.25220. 16022.15112.12100. 72220.07721. 25021.16202. 27205.53002. 07221.16112.07002.24203. est  de type classique : Pour un élément (t) de la matrice cellulaire à l'instant  t. 17232.07252.52120.26002.22011.14322.11000.04212. (** 3 **) { 06000.25024. s.62221.25001.22010. LangtonFunction.22221.06251.52000. 17252.n.17026.s.15422.12210.26221.24220.24200.02001. (** 7 **) { 17212. 27020.52200.16402. 37000. 75202}.

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

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