Intelligence artificielle dans les jeux RTS IFT 615

  • Slides: 65
Download presentation
Intelligence artificielle dans les jeux RTS IFT 615 – Été 2011 Simon Chamberland

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

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

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

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

Jeux RTS? n Star. Craft ¨ n 1998 - Blizzard Entertainment 3 Races Terran ¨ Protoss ¨ Zerg ¨ 5

Jeux RTS? n Star. Craft 6

Jeux RTS? n Star. Craft 6

Plan Jeux RTS? n IA dans les jeux RTS n ¨ Défis ¨ Compétition

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

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

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

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

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

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!

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

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

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

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

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

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.

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

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

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

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

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

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

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

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

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 29

Agent artificiel SPAR n Architecture 30

Agent artificiel SPAR n Architecture 30

Agent artificiel SPAR n Modules de prise de décision ¨ Objectifs à long terme,

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

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? ? A? ? B? 48

Théorie des jeux n A ou B? Adversaire/ Agent A’ B’ A 2 -2

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%)

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%)

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’

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’

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%)

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’

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’

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

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

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’

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

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

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

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…

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?

Questions?