comportements d’agents...
TRANSCRIPT
![Page 1: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/1.jpg)
--
Comportements d’agents virtuels
Nicolas Bredèche Professeur des Universités (ISIR, SU) [email protected]
Module: 2i013Dernière mise à jour : 2019-02-04
Vie artificielle, robotique et jeux vidéos
• Modélisation de comportements
• Objectif : comportement autonome dans un monde ouvert
• Liens avec:
• Vie Artificielle
• Architecture de contrôle en robotique
• Jeux vidéos
![Page 2: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/2.jpg)
Fourmis de Langton
• Modélisation individu-centrée• Fourmi de Langton et Turmites : structure émergente
• Modèle computationnel• Modélisation et simulation de la propagation d’un virus
![Page 3: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/3.jpg)
• Principes
• La simulation discrète permet de simuler des agents localisés
• La mise à jour est faîte de manière distribuée pour chaque agent
• On peut capturer les par ticularités environnementales et comportementales
• Applications:
• Toute unité capable de se déplacer (molécules, individus, groupes, …)
Automate cellulaire ≠ simulation agent-centrée
• Automate cellulaire, c’est…• un automate 2D• une tête de lecture/écriture• état(s) interne(s)
• Une simulation basée agent, c’est…• un ou plusieurs agent(s)‣ chaque agent est localisé‣ chaque agent peut avoir des états internes
• un environnement‣ dimensions : 0D (“soupe”), 1D, 2D, 3D… ou plus‣ dynamique ou non
…mais on peut combiner les deux! (cf. projet)
![Page 4: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/4.jpg)
Fourmi de Langton
• Un «agent»• Un état interne : orientation• Des actions possibles : rotation, avancer, changer l’état d’une case
• Un environnement (ie. ensemble de cases)
• Deux états: noir ou blanc (présence de phéromone ou non)
• Deux actions:• Si [blanc] alors: inverse état, tourne à 90° vers la gauche, avance• Sinon ([noir]) : inverse état, tourne à 90° vers la droite, avance
[Langton, 1986]
source: wikipedia
Emergence au niveau macroscopique
source: http://mpej.unige.ch/~coppex/cours/
Fourmi de Langton
EmergenceApparition d’une nouvelle caractér istique (structurelle ou comportementale) observable à une échelle macroscopique et résultant de phénomènes agissant au niveau microscopique.
Ici: convergence vers une stratégie comportementale particulière
Règles au niveau microscopique
![Page 5: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/5.jpg)
“Turmites”“Turing termites”
turmite à1 état(miroir de la fourmi
de Langton)
turmites à 2 étatsexemple 1
turmites à 2 étatsexemple 2
turmites à 2 étatsexemple 3
source: http://mathworld.wolfram.com/Turmite.html
Turmite à deux états
t=0 t=1 t=2 t=3 t=4
en environnement “toroïdal”
Exercice: sur un environnement 3x2 partant du centre, dérouler les 4 premières itérations de cette turmite.
environnement toroïdal
1
![Page 6: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/6.jpg)
Turmite à deux états
1 2
t=0 t=1 t=2 t=3 t=4
en environnement “toroïdal”
22
2
environnement toroïdal
Epidémiologiele modèle SIR
![Page 7: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/7.jpg)
Epidémiologie• Le modèle SIR
• S: sain
• I: infecté
• R: guéri (ou mort)
• Modélisation mathématique [Kermack, McKendrick, 1927]
source équations: wikipedia
Résolution analytique triviale si on considère une soupe, mais que se passe t’il si les agents sont localisés?
Propagation de Virus (1/2)
• Population d’agents • état: sain, infecté ou guéri
• actions: N,S,E,W
• un agent par case
• Règles:• Infection: un agent infecté contamine les agents voisins
• Guérison: après N itérations
![Page 8: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/8.jpg)
Propagation de Virus (1/2)
• Population d’agents • état: infecté ou sain
• actions: N,S,E,W
• un agent par case
• Règles:• Infection: un agent infecté contamine les agents voisins
• Guérison: après N itérations sans ré-infection
Modélisation non trivialeIl faut modéliser les comportements des agents
DEMO epidemiology.py
Effet de la densitéEffet de la stochasticité
![Page 9: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/9.jpg)
Propagation de Virus (2/2)
Impact de la topologie Impact de l’environnement
Impact de la topologie
Propagation de Virus (2/2)
Impact de l’environnement
Modélisation non triviale Il faut modéliser la topologie de l’environnement
![Page 10: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/10.jpg)
Architecture de comportements
•Objectifs• Combiner des comportements plus simples
• Sélectionner le comportement adéquat selon le contexte
•Modélisation• Règles, arbres, automates, etc.
![Page 11: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/11.jpg)
21
Behavior trees
“Behavior Tree”
• Facile à comprendre, facile à modifier
• Modification temps réel possible
• Duplication de sous arbres facile
Arbre de comportements
source: Pillosu, AIgamedev Paris 2009
![Page 12: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/12.jpg)
source: Pillosu, AIgamedev Paris 2009
• Un noeud = condition + action (la condition est validée)
• Ordre et séquence (les actions aux feuilles peuvent être enchainées)
• Comportement défini au niveau des feuilles de l’arbre
Crysis (exemple)
source: Pillosu, AIgamedev Paris 2009
![Page 13: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/13.jpg)
Crysis (exemple)
source: Pillosu, AIgamedev Paris 2009
Façade
• Dramatic world inhabited by computer controlled characters (believable agents)
• The user (player) plays a protagonist within the story, first-person point of view
• The player experiences a story with a dramatic arc
source: Mateas+Stern, GDC2004
![Page 14: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/14.jpg)
Active Behavior TreeRoot
behavior
Goal1 Goal2
Seq. Behavior1
Par. Behavior2
Mental Act Goal3
Available for execution
Behavior libraryBehavior1
Behavior2
Behaviorn
Working memoryWME1 WME2
WMEn
SensorsSensor1
World
Façade
source: Mateas+Stern, GDC2004
![Page 15: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/15.jpg)
29
Etude de cas: PACMANLes images des transparents suivants sont issues du site « The Pacman Dossier » de Jamey Pittman
Source: http://home.comcast.net/~jpittman2/pacman/pacmandossier.html (au 2016-2-2, cette page n’est pas accessible) Une copie de ce dossier se trouve ici: http://www.gamasutra.com/view/feature/3938/the_pacman_dossier.php
PACMAN
Source: http://home.comcast.net/~jpittman2/pacman/pacmandossier.html
![Page 16: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/16.jpg)
PACMAN
Source: http://home.comcast.net/~jpittman2/pacman/pacmandossier.html
PACMAN
Source: http://home.comcast.net/~jpittman2/pacman/pacmandossier.html
Comportements de dispersion (« scatter », chaque fantôme à un zone de confort définie)
en vert: comportement « mort »
![Page 17: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/17.jpg)
PACMAN
Source: http://home.comcast.net/~jpittman2/pacman/pacmandossier.html
PACMAN
Source: http://home.comcast.net/~jpittman2/pacman/pacmandossier.html
Cible: pacman
![Page 18: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/18.jpg)
PACMAN
Source: http://home.comcast.net/~jpittman2/pacman/pacmandossier.html
Cible: 4 cases devant pacman
PACMAN
Source: http://home.comcast.net/~jpittman2/pacman/pacmandossier.html
Cible: repère: 2 cases devant pacmandouble le vecteur (rouge,repère)
![Page 19: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/19.jpg)
PACMAN
Source: http://home.comcast.net/~jpittman2/pacman/pacmandossier.html
Cible: si pacman est à plus de 8 cases: chasse comme « blinky »sinon: rejoint sa zone de confort (en bas, à gauche)
PACMAN
Source: http://home.comcast.net/~jpittman2/pacman/pacmandossier.html
Pacman tourne plus vite!
![Page 20: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/20.jpg)
PACMAN
Source: http://home.comcast.net/~jpittman2/pacman/pacmandossier.html
Rendu vs. état du monde: dans quelle case suis-je ?
4 animations pour une même case
40
Automates à état finis
![Page 21: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/21.jpg)
41
Source: wikipedia
Conclusions
• Des compor tements simples peuvent générer des dynamiques individuelles et collectives complexes
• Plus les comportements sont complexes (arbres, mémoire, etc .) , plus les interact ions (entre agents , avec l’environnement) sont difficiles à prévoir
![Page 22: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/22.jpg)
Recherche de chemins
44
Comment atteindre le drapeau?
![Page 23: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/23.jpg)
45
Recherche avec une méthode naïvehypothèse: il suffit de se rapprocher de la cible
46
Recherche avec une méthode naïve
cas 1: déplacement NSEWavec préférence déplacement horizontal
succès!
![Page 24: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/24.jpg)
47
Recherche avec une méthode naïve
cas 2: déplacement NSEWavec préférence déplacement vertical
bloqué!
48
Recherche avec une méthode naïve
cas 3: déplacement 8 directions
bloqué!
![Page 25: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/25.jpg)
49
Je ne suis pas très intelligent, mais ça suffit!
Dans ce labyrinthe, pas de blocage possible pour Blinky
50
Recherche en largeur d’abordhypothèse: direction dans les 8 directions possibles
![Page 26: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/26.jpg)
51
Recherche en largeur d’abord
explore toutes les cases autour de la case de départ
52
Recherche en largeur d’abord
pour toutes les cases explorées, explore les cases voisines
![Page 27: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/27.jpg)
53
Recherche en largeur d’abord
etc.
54
Recherche en largeur d’abord
![Page 28: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/28.jpg)
55
Recherche en largeur d’abord
56
Recherche en largeur d’abord
![Page 29: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/29.jpg)
57
Recherche en largeur d’abord
Exemple dans le pire cas(mais cela dépend du problème)
succès!
58
Recherche en profondeur d’abordhypothèse: direction dans les 8 directions possibles
![Page 30: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/30.jpg)
59
Recherche en profondeur d’abord
explore dans une direction choisie au hasard jusqu’à ne plus pouvoir se déplacer sans repasser sur une case déjà visitée
60
Recherche en profondeur d’abord
reprend l’exploration à partir de la dernière caseavec une voisine pas encore explorée
succès!
![Page 31: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/31.jpg)
Algorithme de recherche de chemins
• Méthodes exhaustives• Largeur d’abord
• Profondeur d’abord
➡potentiellement très coûteuse
• Méthodes “naïves“• Avance vers la cible. Si obstacle, suit le contour de l’objet
• Avance vers la cible. Si obstacle, recule (direction et nombre de cases aléatoires)
➡ blocage possible, mais peut exploiter des régularités (cf. pacman)
• Méthodes heuristiques• Recherche best-first (nécessite une heuristique pour évaluer les déplacements)
• Algorithme A* (extension de Dijkstra, c’est une sorte de best-first)
• Améliorations de A* (D*, IDA*, Fringe, FSA*, GAA*, LPA*, SMA*, Jump point search, Theta*, …, UCT)
61
62
exploration case par case définition de waypoints
Découpage de l’environnement
Quelques pointeurs http://en.wikipedia.org/wiki/Pathfinding
http://gamedev.stackexchange.com/questions/28041/path-finding-algorithmshttp://fr.wikipedia.org/wiki/Algorithme_A*
![Page 32: Comportements d’agents virtuelspages.isir.upmc.fr/~bredeche/Teaching/2i013/2018-2019/2I...Comportements d’agents virtuels Nicolas Bredèche Professeur des Universités (ISIR, SU)](https://reader033.vdocuments.pub/reader033/viewer/2022041822/5e5e86697ee87b42753398c5/html5/thumbnails/32.jpg)
Synthèse
Synthèse
• Ce que l’on a vu• Comportements réactifs simples
• Comportements complexes, avec et sans mémoire
• Recherche de chemins
• Ce qu’il faut retenir• Comment concevoir des comportements
‣ Fourmi de Langton, propagation de Virus
‣ Base de règles, arbres, graphes de comportements
‣ Heuristiques comportementales