65
Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

Embed Size (px)

Citation preview

Page 1: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

Intelligence artificielle dans les jeux RTS

IFT615 – Été 2011

Simon Chamberland

Page 2: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

Plan Jeux RTS? IA dans les jeux RTS

DéfisCompétition AIIDE 2010Agent artificiel SPAR

TechniquesPlanificationThéorie des jeux

Page 3: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

Plan Jeux RTS? IA dans les jeux RTS

DéfisCompétition AIIDE 2010Agent artificiel SPAR

TechniquesPlanificationThéorie des jeux

Page 4: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

4

Real-Time Strategy But typique: anéantir l’adversaire! Joueurs jouent simultanément

Acquérir des ressources Construire une base Recruter des unités

Jeux RTS?

Page 5: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

5

StarCraft 1998 - Blizzard Entertainment

Jeux RTS?

3 Races Terran Protoss Zerg

Page 6: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

6

StarCraft

Jeux RTS?

Page 7: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

Plan Jeux RTS? IA dans les jeux RTS

DéfisCompétition AIIDE 2010Agent artificiel SPAR

TechniquesPlanificationThéorie des jeux

Page 8: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

8

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

IA dans les jeux RTS

Page 9: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

Plan Jeux RTS? IA dans les jeux RTS

DéfisCompétition AIIDE 2010Agent artificiel SPAR

TechniquesPlanificationThéorie des jeux

Page 10: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

10

Temps réel Prendre une décision

rapidement!

Multitude d’unités Beaucoup d’actions

possibles…

Défis

Page 11: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

11

Concurrence 5 actions sans concurrence 25 actions avec concurrence

Environnement dynamique Que fera l’adversaire?

Information incomplète Brouillard de guerre

Défis

Page 12: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

Plan Jeux RTS? IA dans les jeux RTS

DéfisCompétition AIIDE 2010Agent artificiel SPAR

TechniquesPlanificationThéorie des jeux

Page 13: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

13

StarCraft En marge d’une conférence sur les jeux

(AIIDE)

Compétition AIIDE 2010

Page 14: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

14

Première compétition l’année dernière 28 participants Revient cette année!

Compétition AIIDE 2010

Page 15: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

15

Différents tournois1. 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

Compétition AIIDE 2010

Muta/scourges vs muta/scourges

Page 16: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

16

Différents tournois1. 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

Compétition AIIDE 2010

10 dragoons vs 10 dragoons

Page 17: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

17

Différents tournois1. 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

Compétition AIIDE 2010

Tech ≤ dragoons, information parfaite

Page 18: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

18

Différents tournois1. 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

Compétition AIIDE 2010

GL HF!

Page 19: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

19

Exemple « épique » (partie complète)

Compétition AIIDE 2010

http://www.youtube.com/v/Kr_5XICVSEE

Page 20: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

20

Overmind (UC Berkeley) – gagnant

Compétition AIIDE 2010

http://www.youtube.com/v/dOIgFkyfStg

Page 21: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

21

Overmind (UC Berkeley) – gagnant Haut niveau: planificateur

Contraintes de ressources Assure une progression technologique de l’agent

Compétition AIIDE 2010

Page 22: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

22

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

Compétition AIIDE 2010

Page 23: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

23

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

Compétition AIIDE 2010

Page 24: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

24

Machines à états finis Scripts Cartes d’influence Champs de potentiel

Compétition AIIDE 2010 AIIDE - Techniques utilisées

Page 25: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

25

Machines à états finis Scripts Cartes d’influence Champs de potentiel

Compétition AIIDE 2010 AIIDE - Techniques utilisées

Réseaux de neurones Swarm intelligence Inférence probabiliste Algorithmes

génétiques

Page 26: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

26

Machines à états finis Scripts Cartes d’influence Champs de potentiel

Compétition AIIDE 2010 AIIDE - Techniques utilisées

Réseaux de neurones Swarm intelligence Inférence probabiliste Algorithmes

génétiques

Page 27: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

Plan Jeux RTS? IA dans les jeux RTS

DéfisCompétition AIIDE 2010Agent artificiel SPAR

TechniquesPlanificationThéorie des jeux

Page 28: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

28

Objectifs Testbed pour les algorithmes de

planification/reconnaissance de plan

Participer à AIIDE 2011!

Agent artificiel SPAR

Page 29: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

29

Architecture

Agent artificiel SPAR

Page 30: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

30

Architecture

Agent artificiel SPAR

Page 31: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

31

Modules de prisede décision

Agent artificiel SPAR

Objectifs à long terme, i.e. composition de l’armée

Actions à accomplir (déplacer, attaquer, construire…)

Exécution des actions

Réactions (si → alors…)

Page 32: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

32

Agent artificiel SPAR

Inférence par cas?

Planification

Ad hoc

Machines à états finis

Modules de prisede décision

Page 33: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

33

Agent artificiel SPAR

Inférence par cas?

Planification

Ad hoc

Machines à états finis

Modules de prisede décision

Page 34: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

Plan Jeux RTS? IA dans les jeux RTS

DéfisCompétition AIIDE 2010Agent artificiel SPAR

TechniquesPlanificationThéorie des jeux

Page 35: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

35

Un seul agent Environnement potentiellement non-déterministe

Objectif: trouver des actions (un plan) permettant d’atteindre un but

Planification

Page 36: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

36

Classique On a

Un état initial Un ensemble d’actions (déplacer, attaquer…) Un but à atteindre

Planification

Page 37: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

37

Classique On a

Un état initial Un ensemble d’actions (déplacer, attaquer…) Un but à atteindre

Simuler des actionsdans le temps

Jusqu’à atteindrele but

Planification

Déplacer Défendre

Attaquer

Page 38: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

38

Classique Choisir le « meilleur plan »

Qui respecte les contraintes Qui optimise une

métrique / fonction d’utilité

A*

Planification

Page 39: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

Plan Jeux RTS? IA dans les jeux RTS

DéfisCompétition AIIDE 2010Agent artificiel SPAR

TechniquesPlanificationThéorie des jeux

Page 40: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

40

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!

Théorie des jeux

Page 41: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

41

Hypothèses principales Agent rationnel

Voulant maximiser son utilité

Agent égoïste N’est pas concerné par

l’utilité des autres

Très utilisée en économie

Théorie des jeux

Page 42: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

42

Jeux séquentiels à deux joueurs (Avec information parfaite et somme nulle) On a

Un ensemble d’actions, {Agent} et {Adversaire} Une fonction d’utilité

Théorie des jeux

Page 43: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

43

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

Théorie des jeux

Page 44: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

44

Jeux séquentiels à deux joueurs Minimax (ou alpha-beta pruning)

On assume que l’adversaire joue optimalement Maximiser son pire gain

Théorie des jeux

Page 45: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

45

Jeux simultanés à deux joueurs L’agent et l’adversaire jouent en même

temps Ex: ciseau-roche-papier

Théorie des jeux

Page 46: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

46

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

Théorie des jeux

Ciseaux Roche Papier

Ciseaux 0 -1 1

Roche 1 0 -1

Papier -1 1 0

Page 47: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

47

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

Théorie des jeux

Page 48: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

48

A ou B?

Théorie des jeux

A? B?

? ?

Page 49: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

49

A ou B?

Théorie des jeux

Adversaire/Agent

A’ B’

A 2 -2

B -4 3

A’: attaquer base AB’: attaquer base B

A: défendre base AB: défendre base B

Page 50: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

50

A ou B?

Si on connaît a priori le modèle de probabilité de l’adversaire:

Processus de décision de Markov

Théorie des jeux

Adversaire/Agent

A’ (60%)

B’ (40%)

A 2 -2

B -4 3

A’: attaquer base AB’: attaquer base B

A: défendre base AB: défendre base B

Page 51: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

51

A ou B?

Si on connaît a priori le modèle de probabilité de l’adversaire:

Processus de décision de Markov

Théorie des jeux

Adversaire/Agent

A’ (60%)

B’ (40%)

A 2 -2

B -4 3

Action = AV = 0.4

Page 52: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

52

A ou B?

Si on n’a aucune information

Théorie des jeux

Adversaire/Agent

A’(?)

B’(?)

A 2 -2

B -4 3

A’: attaquer base AB’: attaquer base B

A: défendre base AB: défendre base B

Page 53: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

53

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

Théorie des jeux

Adversaire/Agent

A’(?)

B’(?)

A 2 -2

B -4 3

A’: attaquer base AB’: attaquer base B

A: défendre base AB: défendre base B

Page 54: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

54

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

Théorie des jeux

Action = (64% A, 36% B)V = -0.18

Adversaire/Agent

A’(45%)

B’(55%)

A (64%) 2 -2

B (36%) -4 3

Page 55: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

55

Game Tree

Théorie des jeux

s1

A’ B’B’

A’

A B

Page 56: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

56

Game Tree

Théorie des jeux

2 -2 -4 3

A B

?s1

A’ B’B’

A’

Feuilles

Page 57: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

57

Game Tree

Théorie des jeux

2 -2 -4 3

A B

?

A’: attaquer base AB’: attaquer base B

A: défendre base AB: défendre base B

Adversaire/Agent

A’ B’

A 2 -2

B -4 3

Page 58: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

58

Game Tree

Théorie des jeux

2 -2 -4 3

A B

-0.18

A’: attaquer base AB’: attaquer base B

A: défendre base AB: défendre base B

Adversaire/Agent

A’(45%)

B’(55%)

A (64%) 2 -2

B (36%) -4 3

Action = (64% A, 36% B)V = -0.18

Page 59: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

59

Game Tree

Théorie des jeux

-4 1 -1-0.18 Adversaire/Agent

C’ D’

C -0.18 -4

D 1 -1

C D

C’ D’D’

C’

Page 60: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

60

Game Tree

Théorie des jeux

-0.18 -4 1 -1

-1

Adversaire/Agent

C’(0%)

D’(100%)

C (0%) -0.18 -4

D (100%) 1 -1

Action = D (domination stricte)

V = -1

C D

Page 61: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

61

Jeux simultanés à deux joueurs Somme générale (non-constante)

Ex: dilemme des prisonniers

Théorie des jeux

1/2 Se taire Dénoncer

Se taire (-0.5, -0.5) (-10, 0)

Dénoncer (0, -10) (-5, -5)

Page 62: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

62

Jeux simultanés à deux joueurs Somme générale (non-constante)

Ex: dilemme des prisonniers

Théorie des jeux

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

Page 63: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

63

Intelligence artificielle dans les jeux RTS: plus compliqué que jouer aux échecs…

Tirer profit de la reconnaissance de plan

Conclusion

Reconnaissance de plan

Prise de décision

Page 64: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland

Questions?

Page 65: Intelligence artificielle dans les jeux RTS IFT615 – Été 2011 Simon Chamberland