Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland
Plan Jeux RTS? IA dans les jeux RTS Techniques Défis Compétition AIIDE 2010 Agent artificiel SPAR Techniques Planification Théorie des jeux
Plan Jeux RTS? IA dans les jeux RTS Techniques Défis Compétition AIIDE 2010 Agent artificiel SPAR Techniques Planification Théorie des jeux
Jeux RTS? Real-Time Strategy But typique: anéantir l’adversaire! Joueurs jouent simultanément Acquérir des ressources Construire une base Recruter des unités 4
Jeux RTS? StarCraft 3 Races 1998 - Blizzard Entertainment Terran Protoss Zerg 5
Jeux RTS? StarCraft 6
Plan Jeux RTS? IA dans les jeux RTS Techniques Défis Compétition AIIDE 2010 Agent artificiel SPAR Techniques Planification Théorie des jeux
IA dans les jeux RTS Moins d’efforts que sur l’aspect graphique Performance laissant habituellement à désirer Sauf si l’IA « triche » Informations complètes sur la carte Rythme plus élevé d’acquisition de ressources 8
Plan Jeux RTS? IA dans les jeux RTS Techniques Défis Compétition AIIDE 2010 Agent artificiel SPAR Techniques Planification Théorie des jeux
Défis Temps réel Multitude d’unités Prendre une décision rapidement! Beaucoup d’actions possibles… 10
Défis Concurrence Environnement dynamique Information incomplète 5 actions sans concurrence 25 actions avec concurrence Environnement dynamique Que fera l’adversaire? Information incomplète Brouillard de guerre 11
Plan Jeux RTS? IA dans les jeux RTS Techniques Défis Compétition AIIDE 2010 Agent artificiel SPAR Techniques Planification Théorie des jeux
Compétition AIIDE 2010 StarCraft En marge d’une conférence sur les jeux (AIIDE) http://eis.ucsc.edu/StarCraftAICompetition Certaines images tirées de [http://eis.ucsc.edu/sites/default/files/AIIDECompetition.pdf] 13
Compétition AIIDE 2010 Première compétition l’année dernière 28 participants Revient cette année! http://eis.ucsc.edu/StarCraftAICompetition 14
Compétition AIIDE 2010 Différents tournois Contrôle d’unités (micromanagement) Contrôle d’unités + terrain non trivial Partie avec tech. limitée Partie complète Muta/scourges vs muta/scourges 15
Compétition AIIDE 2010 Différents tournois Contrôle d’unités (micromanagement) Contrôle d’unités + terrain non trivial Partie avec tech. limitée Partie complète 10 dragoons vs 10 dragoons 16
Compétition AIIDE 2010 Différents tournois Contrôle d’unités (micromanagement) Contrôle d’unités + terrain non trivial Partie avec tech. limitée Partie complète Tech ≤ dragoons, information parfaite 17
Compétition AIIDE 2010 Différents tournois Contrôle d’unités (micromanagement) Contrôle d’unités + terrain non trivial Partie avec tech. limitée Partie complète GL HF! 18
Compétition AIIDE 2010 Exemple « épique » (partie complète) 19 http://www.youtube.com/v/Kr_5XICVSEE
Compétition AIIDE 2010 Overmind (UC Berkeley) – gagnant http://www.youtube.com/v/dOIgFkyfStg
Compétition AIIDE 2010 Overmind (UC Berkeley) – gagnant Haut niveau: planificateur Contraintes de ressources Assure une progression technologique de l’agent http://overmind.cs.berkeley.edu/ Article: http://arstechnica.com/gaming/news/2011/01/skynet-meets-the-swarm-how-the-berkeley-overmind-won-the-2010-starcraft-ai-competition.ars 21
Compétition AIIDE 2010 Overmind (UC Berkeley) – gagnant Haut niveau: planificateur Contraintes de ressources Assure une progression technologique de l’agent Bas niveau: microcontrôleurs Trajectoires: A* avec reconnaissance de menace Champs de potentiel http://overmind.cs.berkeley.edu/ Article: http://arstechnica.com/gaming/news/2011/01/skynet-meets-the-swarm-how-the-berkeley-overmind-won-the-2010-starcraft-ai-competition.ars 22
Compétition AIIDE 2010 Sherbrooke AI – Steve Tousignant, Anthony Jo Quinto et Frédéric St-Onge 2e (sur 7) dans le tournoi #1 Carte d’influence Visibilité Densité d’unités Menaces 23
Compétition AIIDE 2010 AIIDE - Techniques utilisées Machines à états finis Scripts Cartes d’influence Champs de potentiel 24
Compétition AIIDE 2010 AIIDE - Techniques utilisées Machines à états finis Scripts Cartes d’influence Champs de potentiel Réseaux de neurones Swarm intelligence Inférence probabiliste Algorithmes génétiques 25
Compétition AIIDE 2010 AIIDE - Techniques utilisées Machines à états finis Scripts Cartes d’influence Champs de potentiel Réseaux de neurones Swarm intelligence Inférence probabiliste Algorithmes génétiques 26
Plan Jeux RTS? IA dans les jeux RTS Techniques Défis Compétition AIIDE 2010 Agent artificiel SPAR Techniques Planification Théorie des jeux
Agent artificiel SPAR Objectifs Testbed pour les algorithmes de planification/reconnaissance de plan Participer à AIIDE 2011! 28
Agent artificiel SPAR Architecture 29
Agent artificiel SPAR Architecture 30
Agent artificiel SPAR Modules de prise de décision Objectifs à long terme, i.e. composition de l’armée Actions à accomplir (déplacer, attaquer, construire…) Exécution des actions Réactions (si → alors…) 31
Agent artificiel SPAR Modules de prise de décision Inférence par cas? Planification Ad hoc Machines à états finis 32
Agent artificiel SPAR Modules de prise de décision Inférence par cas? Planification Ad hoc Machines à états finis 33
Plan Jeux RTS? IA dans les jeux RTS Techniques Défis Compétition AIIDE 2010 Agent artificiel SPAR Techniques Planification Théorie des jeux
Planification Un seul agent Environnement potentiellement non-déterministe Objectif: trouver des actions (un plan) permettant d’atteindre un but 35
Planification Classique On a Un état initial Un ensemble d’actions (déplacer, attaquer…) Un but à atteindre 36
Planification Classique On a Simuler des actions dans le temps Un état initial Un ensemble d’actions (déplacer, attaquer…) Un but à atteindre Simuler des actions dans le temps Jusqu’à atteindre le but Déplacer Défendre Attaquer 37
Planification Classique Choisir le « meilleur plan » A* Qui respecte les contraintes Qui optimise une métrique / fonction d’utilité A* 38
Plan Jeux RTS? IA dans les jeux RTS Techniques Défis Compétition AIIDE 2010 Agent artificiel SPAR Techniques Planification Théorie des jeux
Théorie des jeux Contexte multi-agent Objectif: trouver des actions maximisant l’utilité d’un agent Problème: l’utilité dépend des décisions des autres agents! 40
Théorie des jeux Hypothèses principales Très utilisée en économie Agent rationnel Voulant maximiser son utilité Agent égoïste N’est pas concerné par l’utilité des autres Très utilisée en économie 41
Théorie des jeux Jeux séquentiels à deux joueurs (Avec information parfaite et somme nulle) On a Un ensemble d’actions, {Agent} et {Adversaire} Une fonction d’utilité 42
Théorie des jeux Jeux séquentiels à deux joueurs (Avec information parfaite et somme nulle) On a Un ensemble d’actions, {Agent} et {Adversaire} Une fonction d’utilité Trouver des actions maximisant l’utilité de l’agent Selon un modèle de l’adversaire 43
Théorie des jeux Jeux séquentiels à deux joueurs Minimax (ou alpha-beta pruning) On assume que l’adversaire joue optimalement Maximiser son pire gain 44
Théorie des jeux Jeux simultanés à deux joueurs L’agent et l’adversaire jouent en même temps Ex: ciseau-roche-papier 45
Théorie des jeux Jeux simultanés à deux joueurs L’agent et l’adversaire jouent en même temps Ex: ciseau-roche-papier Le résultat dépend des deux actions Ciseaux Roche Papier -1 1 46
Théorie des jeux Jeux simultanés à deux joueurs (Avec information imparfaite et somme nulle) On a Un ensemble d’actions, {Agent} et {Adversaire} Une fonction d’utilité Trouver des actions maximisant l’utilité de l’agent Selon un modèle de l’adversaire 47
Théorie des jeux A ou B? ? ? A? B? 48
Théorie des jeux A ou B? A’: attaquer base A B’: attaquer base B A: défendre base A B: défendre base B Adversaire/ Agent A’ B’ A 2 -2 B -4 3 49
Théorie des jeux A ou B? Si on connaît a priori le modèle de probabilité de l’adversaire: Processus de décision de Markov A’: attaquer base A B’: attaquer base B A: défendre base A B: défendre base B Adversaire/ Agent A’ (60%) B’ (40%) A 2 -2 B -4 3 50
Théorie des jeux A ou B? Si on connaît a priori le modèle de probabilité de l’adversaire: Processus de décision de Markov Adversaire/ Agent A’ (60%) B’ (40%) A 2 -2 B -4 3 Action = A V = 0.4 51
Théorie des jeux A ou B? Si on n’a aucune information A’: attaquer base A B’: attaquer base B A: défendre base A B: défendre base B Adversaire/ Agent A’ (?) B’ A 2 -2 B -4 3 Généralisation de minimax aux jeux simultanés 52
Théorie des jeux A ou B? Si on n’a aucune information Équilibre de Nash On assume que l’adversaire joue optimalement Chaque stratégie est la meilleure face à l’autre A’: attaquer base A B’: attaquer base B A: défendre base A B: défendre base B Adversaire/ Agent A’ (?) B’ A 2 -2 B -4 3 Généralisation de minimax aux jeux simultanés 53
Théorie des jeux A ou B? Si on n’a aucune information Équilibre de Nash On assume que l’adversaire joue optimalement Chaque stratégie est la meilleure face à l’autre Adversaire/ Agent A’ (45%) B’ (55%) A (64%) 2 -2 B (36%) -4 3 Action = (64% A, 36% B) V = -0.18 Généralisation de minimax aux jeux simultanés 54
Théorie des jeux Game Tree s1 A B B’ A’ A’ B’ 55
Théorie des jeux Game Tree s1 ? A B B’ A’ A’ B’ 2 -2 -4 3 Feuilles 56
Théorie des jeux Game Tree A’: attaquer base A B’: attaquer base B A: défendre base A B: défendre base B ? Adversaire/ Agent A’ B’ A 2 -2 B -4 3 A B 2 -2 -4 3 57
Théorie des jeux Game Tree Action = (64% A, 36% B) V = -0.18 A’: attaquer base A B’: attaquer base B A: défendre base A B: défendre base B -0.18 Adversaire/ Agent A’ (45%) B’ (55%) A (64%) 2 -2 B (36%) -4 3 A B 2 -2 -4 3 Action = (64% A, 36% B) V = -0.18 58
Théorie des jeux Game Tree C D D’ C’ C’ D’ -0.18 -4 1 -1 Adversaire/ Agent C’ D’ C -0.18 -4 D 1 -1 59
Théorie des jeux Game Tree Action = D (domination stricte) V = -1 -1 C -0.18 -4 1 -1 Adversaire/ Agent C’ (0%) D’ (100%) C (0%) -0.18 -4 D (100%) 1 -1 Action = D (domination stricte) V = -1 60
Théorie des jeux Jeux simultanés à deux joueurs Somme générale (non-constante) Ex: dilemme des prisonniers 1/2 Se taire Dénoncer (-0.5, -0.5) (-10, 0) (0, -10) (-5, -5) 61
Théorie des jeux Jeux simultanés à deux joueurs Somme générale (non-constante) Ex: dilemme des prisonniers 1/2 Se taire Dénoncer (-0.5, -0.5) (-10, 0) (0, -10) (-5, -5) Un seul équilibre (de Nash): (Dénoncer, Dénoncer)! 62
Reconnaissance de plan Conclusion Intelligence artificielle dans les jeux RTS: plus compliqué que jouer aux échecs… Tirer profit de la reconnaissance de plan Reconnaissance de plan Prise de décision 63
Questions?