Intelligence artificielle dans les jeux RTS IFT 615

































































- Slides: 65
Intelligence artificielle dans les jeux RTS IFT 615 – Été 2011 Simon Chamberland
Plan Jeux RTS? n IA dans les jeux RTS n ¨ Défis ¨ Compétition AIIDE 2010 ¨ Agent artificiel SPAR n Techniques ¨ Planification ¨ Théorie des jeux
Plan Jeux RTS? n IA dans les jeux RTS n ¨ Défis ¨ Compétition AIIDE 2010 ¨ Agent artificiel SPAR n Techniques ¨ Planification ¨ Théorie des jeux
Jeux RTS? n Real-Time Strategy n But typique: anéantir l’adversaire! Joueurs jouent simultanément n ¨ ¨ ¨ Acquérir des ressources Construire une base Recruter des unités 4
Jeux RTS? n Star. Craft ¨ n 1998 - Blizzard Entertainment 3 Races Terran ¨ Protoss ¨ Zerg ¨ 5
Jeux RTS? n Star. Craft 6
Plan Jeux RTS? n IA dans les jeux RTS n ¨ Défis ¨ Compétition AIIDE 2010 ¨ Agent artificiel SPAR n Techniques ¨ Planification ¨ Théorie des jeux
IA dans les jeux RTS n n n 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? n IA dans les jeux RTS n ¨ Défis ¨ Compétition AIIDE 2010 ¨ Agent artificiel SPAR n Techniques ¨ Planification ¨ Théorie des jeux
Défis n Temps réel ¨ n Prendre une décision rapidement! Multitude d’unités ¨ Beaucoup d’actions possibles… 10
Défis n Concurrence 5 actions sans concurrence ¨ 25 actions avec concurrence ¨ n Environnement dynamique ¨ n Que fera l’adversaire? Information incomplète ¨ Brouillard de guerre 11
Plan Jeux RTS? n IA dans les jeux RTS n ¨ Défis ¨ Compétition AIIDE 2010 ¨ Agent artificiel SPAR n Techniques ¨ Planification ¨ Théorie des jeux
Compétition AIIDE 2010 n n Star. Craft En marge d’une conférence sur les jeux (AIIDE) 13
Compétition AIIDE 2010 n Première compétition l’année dernière 28 participants ¨ Revient cette année! ¨ 14
Compétition AIIDE 2010 n Différents tournois Contrôle d’unités (micromanagement) 2. Contrôle d’unités + terrain non trivial 3. Partie avec tech. limitée 4. Partie complète 1. Muta/scourges vs muta/scourges 15
Compétition AIIDE 2010 n Différents tournois Contrôle d’unités (micromanagement) 2. Contrôle d’unités + terrain non trivial 3. Partie avec tech. limitée 4. Partie complète 1. 10 dragoons vs 10 dragoons 16
Compétition AIIDE 2010 n Différents tournois Contrôle d’unités (micromanagement) 2. Contrôle d’unités + terrain non trivial 3. Partie avec tech. limitée 4. Partie complète 1. Tech ≤ dragoons, information parfaite 17
Compétition AIIDE 2010 n Différents tournois Contrôle d’unités (micromanagement) 2. Contrôle d’unités + terrain non trivial 3. Partie avec tech. limitée 4. Partie complète 1. GL HF! 18
Compétition AIIDE 2010 n Exemple « épique » (partie complète) http: //www. youtube. com/v/Kr_5 XICVSEE 19
Compétition AIIDE 2010 n Overmind (UC Berkeley) – gagnant http: //www. youtube. com/v/d. OIg. Fkyf. Stg 20
Compétition AIIDE 2010 n Overmind (UC Berkeley) – gagnant ¨ Haut niveau: planificateur n n Contraintes de ressources Assure une progression technologique de l’agent 21
Compétition AIIDE 2010 n Overmind (UC Berkeley) – gagnant ¨ Haut niveau: planificateur n n ¨ Contraintes de ressources Assure une progression technologique de l’agent Bas niveau: microcontrôleurs n n Trajectoires: A* avec reconnaissance de menace Champs de potentiel 22
Compétition AIIDE 2010 n Sherbrooke AI – Steve Tousignant, Anthony Jo Quinto et Frédéric St-Onge 2 e (sur 7) dans le tournoi #1 ¨ Carte d’influence ¨ n n n Visibilité Densité d’unités Menaces 23
Compétition AIIDE 2010 n AIIDE - Techniques utilisées Machines à états finis ¨ Scripts ¨ Cartes d’influence ¨ Champs de potentiel ¨ 24
Compétition AIIDE 2010 n 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 n 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? n IA dans les jeux RTS n ¨ Défis ¨ Compétition AIIDE 2010 ¨ Agent artificiel SPAR n Techniques ¨ Planification ¨ Théorie des jeux
Agent artificiel SPAR n Objectifs ¨ Testbed pour les algorithmes de planification/reconnaissance de plan ¨ Participer à AIIDE 2011! 28
Agent artificiel SPAR n Architecture 29
Agent artificiel SPAR n Architecture 30
Agent artificiel SPAR n 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 n Modules de prise de décision Inférence par cas? Planification Ad hoc Machines à états finis 32
Agent artificiel SPAR n Modules de prise de décision Inférence par cas? Planification Ad hoc Machines à états finis 33
Plan Jeux RTS? n IA dans les jeux RTS n ¨ Défis ¨ Compétition AIIDE 2010 ¨ Agent artificiel SPAR n Techniques ¨ Planification ¨ Théorie des jeux
Planification n Un seul agent ¨ n Environnement potentiellement non-déterministe Objectif: trouver des actions (un plan) permettant d’atteindre un but 35
Planification n Classique ¨ On a n n n Un état initial Un ensemble d’actions (déplacer, attaquer…) Un but à atteindre 36
Planification n Classique ¨ On a n n n ¨ Un état initial Un ensemble d’actions (déplacer, attaquer…) Un but à atteindre Simuler des actions dans le temps n Jusqu’à atteindre le but Déplacer Défendre Attaquer 37
Planification n Classique ¨ Choisir le « meilleur plan » n n ¨ Qui respecte les contraintes Qui optimise une métrique / fonction d’utilité A* 38
Plan Jeux RTS? n IA dans les jeux RTS n ¨ Défis ¨ Compétition AIIDE 2010 ¨ Agent artificiel SPAR n Techniques ¨ Planification ¨ Théorie des jeux
Théorie des jeux n n 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 n Hypothèses principales ¨ Agent rationnel n ¨ Agent égoïste n n Voulant maximiser son utilité N’est pas concerné par l’utilité des autres Très utilisée en économie 41
Théorie des jeux n Jeux séquentiels à deux joueurs (Avec information parfaite et somme nulle) ¨ On a ¨ n n Un ensemble d’actions, {Agent} et {Adversaire} Une fonction d’utilité 42
Théorie des jeux n Jeux séquentiels à deux joueurs (Avec information parfaite et somme nulle) ¨ On a ¨ n n ¨ Un ensemble d’actions, {Agent} et {Adversaire} Une fonction d’utilité Trouver des actions maximisant l’utilité de l’agent n Selon un modèle de l’adversaire 43
Théorie des jeux n Jeux séquentiels à deux joueurs ¨ Minimax (ou alpha-beta pruning) n n On assume que l’adversaire joue optimalement Maximiser son pire gain 44
Théorie des jeux n Jeux simultanés à deux joueurs ¨ L’agent et l’adversaire jouent en même temps n Ex: ciseau-roche-papier 45
Théorie des jeux n Jeux simultanés à deux joueurs ¨ L’agent et l’adversaire jouent en même temps n ¨ Ex: ciseau-roche-papier Le résultat dépend des deux actions Ciseaux Roche Papier Ciseaux 0 -1 1 Roche 1 0 -1 Papier -1 1 0 46
Théorie des jeux n Jeux simultanés à deux joueurs (Avec information imparfaite et somme nulle) ¨ On a ¨ n n ¨ Un ensemble d’actions, {Agent} et {Adversaire} Une fonction d’utilité Trouver des actions maximisant l’utilité de l’agent n Selon un modèle de l’adversaire 47
Théorie des jeux n A ou B? ? A? ? B? 48
Théorie des jeux n A ou B? Adversaire/ Agent A’ B’ A 2 -2 B -4 3 A’: attaquer base A B’: attaquer base B A: défendre base A B: défendre base B 49
Théorie des jeux n n A ou B? Adversaire/ Agent A’ (60%) B’ (40%) A 2 -2 B -4 3 A’: attaquer base A B’: attaquer base B A: défendre base A B: défendre base B Si on connaît a priori le modèle de probabilité de l’adversaire: ¨ Processus de décision de Markov 50
Théorie des jeux n n A ou B? Adversaire/ Agent A’ (60%) B’ (40%) A 2 -2 B -4 3 Action = A V = 0. 4 Si on connaît a priori le modèle de probabilité de l’adversaire: ¨ Processus de décision de Markov 51
Théorie des jeux n n A ou B? Adversaire/ Agent A’ (? ) B’ (? ) A 2 -2 B -4 3 A’: attaquer base A B’: attaquer base B A: défendre base A B: défendre base B Si on n’a aucune information 52
Théorie des jeux n n A ou B? Adversaire/ Agent A’ (? ) B’ (? ) A 2 -2 B -4 3 A’: attaquer base A B’: attaquer base B A: défendre base A B: défendre base B Si on n’a aucune information ¨ Équilibre de Nash n n On assume que l’adversaire joue optimalement Chaque stratégie est la meilleure face à l’autre 53
Théorie des jeux n n A ou B? Adversaire/ Agent A’ (45%) B’ (55%) A (64%) 2 -2 B (36%) -4 3 Action = (64% A, 36% B) V = -0. 18 Si on n’a aucune information ¨ Équilibre de Nash n n On assume que l’adversaire joue optimalement Chaque stratégie est la meilleure face à l’autre 54
Théorie des jeux n Game Tree s 1 A B A’ B’ B’ A’ 55
Théorie des jeux n Game Tree s 1 ? A B 2 A’ B’ B’ A’ -2 -4 3 Feuilles 56
Théorie des jeux Game Tree n A’: attaquer base A B’: attaquer base B A: défendre base A B: défendre base B ? A B 2 -2 -4 Adversaire/ Agent A’ B’ A 2 -2 B -4 3 3 57
Théorie des jeux Game Tree n A’: attaquer base A B’: attaquer base B A: défendre base A B: défendre base B -0. 18 A B 2 -2 -4 3 Adversaire/ Agent A’ (45%) B’ (55%) A (64%) 2 -2 B (36%) -4 3 Action = (64% A, 36% B) V = -0. 18 58
Théorie des jeux n Game Tree C C’ D’ -0. 18 -4 D C’ D’ 1 -1 Adversaire/ Agent C’ D’ C -0. 18 -4 D 1 -1 59
Théorie des jeux n Game Tree -1 C -0. 18 -4 D 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 n Jeux simultanés à deux joueurs ¨ Somme générale (non-constante) n Ex: dilemme des prisonniers 1/2 Se taire Dénoncer Se taire (-0. 5, -0. 5) (-10, 0) Dénoncer (0, -10) (-5, -5) 61
Théorie des jeux n Jeux simultanés à deux joueurs ¨ Somme générale (non-constante) n Ex: dilemme des prisonniers 1/2 Se taire Dénoncer Se taire (-0. 5, -0. 5) (-10, 0) Dénoncer (0, -10) (-5, -5) Un seul équilibre (de Nash): (Dénoncer, Dénoncer)! 62
Conclusion n 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?