Docstoc

Planification dans les jeux RTS

Document Sample
Planification dans les jeux RTS Powered By Docstoc
					Intelligence artificielle
dans les jeux RTS

IFT615 – Été 2011
Simon Chamberland
Plan
 Jeux RTS?
 IA dans les jeux RTS
     Défis
     Compétition   AIIDE 2010
     Agent artificiel SPAR

   Techniques
     Planification
     Théorie   des jeux
Plan
 Jeux RTS?
 IA dans les jeux RTS
     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
       1998 - Blizzard Entertainment

   3 Races
     Terran
     Protoss
     Zerg




                                        5
Jeux RTS?
   StarCraft




                6
Plan
 Jeux RTS?
 IA dans les jeux RTS
     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
     Défis
     Compétition   AIIDE 2010
     Agent artificiel SPAR

   Techniques
     Planification
     Théorie   des jeux
Défis
   Temps réel
       Prendre une décision
        rapidement!



   Multitude d’unités
       Beaucoup d’actions
        possibles…


                               10
Défis
   Concurrence
     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
     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)




                                             13
Compétition AIIDE 2010
   Première compétition l’année dernière
     28 participants
     Revient cette année!




                                            14
Compétition AIIDE 2010
    Différents tournois
    1. 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


                                   Muta/scourges vs muta/scourges




                                                              15
Compétition AIIDE 2010
    Différents tournois
    1. 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
                                   10 dragoons vs 10 dragoons




                                                            16
Compétition AIIDE 2010
    Différents tournois
    1. 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
                                   Tech ≤ dragoons, information parfaite




                                                                  17
Compétition AIIDE 2010
    Différents tournois
    1. 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
                                   GL HF!




                                            18
Compétition AIIDE 2010
   Exemple « épique » (partie complète)




               http://www.youtube.com/v/Kr_5XICVSEE
                                                      19
Compétition AIIDE 2010
   Overmind (UC Berkeley) – gagnant




              http://www.youtube.com/v/dOIgFkyfStg
                                                     20
Compétition AIIDE 2010
   Overmind (UC Berkeley) – gagnant
       Haut niveau: planificateur
           Contraintes de ressources
           Assure une progression technologique de l’agent




                                                          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




                                                          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    Réseaux de neurones
 Scripts                   Swarm intelligence
 Cartes d’influence        Inférence probabiliste
 Champs de potentiel       Algorithmes
                             génétiques




                                                25
Compétition AIIDE 2010
   AIIDE - Techniques utilisées
 Machines à états finis    Réseaux de neurones
 Scripts                   Swarm intelligence
 Cartes d’influence        Inférence probabiliste
 Champs de potentiel       Algorithmes
                             génétiques




                                                26
Plan
 Jeux RTS?
 IA dans les jeux RTS
     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
     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
           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 »
            Qui respecte les contraintes
            Qui optimise une
             métrique / fonction d’utilité
       A*




                                             38
Plan
 Jeux RTS?
 IA dans les jeux RTS
     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
       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
              Ciseaux       0         -1     1
              Roche         1         0      -1
              Papier        -1        1      0

                                                    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
    Adversaire/
                  A’   B’   B’: attaquer base B
      Agent
        A         2    -2   A: défendre base A
        B         -4   3    B: défendre base B




                                                  49
Théorie des jeux
   A ou B?
                                  A’: attaquer base A
    Adversaire/     A’      B’
                                  B’: attaquer base B
      Agent       (60%)   (40%)
        A          2       -2     A: défendre base A
        B          -4      3      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
   A ou B?
    Adversaire/     A’      B’
      Agent       (60%)   (40%)   Action = A
        A          2       -2     V = 0.4
        B          -4      3

   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
   A ou B?
                              A’: attaquer base A
    Adversaire/    A’   B’
                              B’: attaquer base B
      Agent       (?)   (?)
        A         2     -2    A: défendre base A
        B         -4    3     B: défendre base B


   Si on n’a aucune information




                                                    52
Théorie des jeux
   A ou B?
                                        A’: attaquer base A
    Adversaire/    A’   B’
                                        B’: attaquer base B
      Agent       (?)   (?)
        A         2      -2             A: défendre base A
        B         -4     3              B: défendre base 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


                                                              53
Théorie des jeux
   A ou B?
    Adversaire/     A’      B’
      Agent       (45%)   (55%)    Action = (64% A, 36% B)
        A (64%)    2       -2      V = -0.18
     B (36%)       -4      3

   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


                                                            54
Théorie des jeux
   Game Tree




                 s1
                      A B
                             B’
                A’ B’   A’




                                  55
Théorie des jeux
   Game Tree




                 s1 ?

                      A B
                             B’
                A’ B’   A’

            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/
                                       A’         B’
                          Agent
         A B
                            A          2          -2
                            B          -4         3

2   -2         -4   3



                                                       57
Théorie des jeux
        Game Tree
                             A’: attaquer base A
                             B’: attaquer base B

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


     -0.18               Adversaire/     A’      B’
                           Agent       (45%)   (55%)
         A B
                          A (64%)       2          -2
                          B (36%)       -4         3

2   -2         -4   3
                        Action = (64% A, 36% B)
                        V = -0.18
                                                        58
Théorie des jeux
   Game Tree

               C   D
                        D’
          C’ D’    C’



    -0.18 -4             1   -1   Adversaire/
                                                 C’     D’
                                    Agent
                                      C         -0.18   -4
                                      D          1      -1




                                                             59
Théorie des jeux
    Game Tree
                   -1
               C        D




    -0.18 -4                1   -1    Adversaire/    C’       D’
                                        Agent       (0%)    (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
        Se taire    (-0.5, -0.5)    (-10, 0)
    Dénoncer         (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
        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
   Intelligence artificielle dans les jeux RTS:
    plus compliqué que jouer aux échecs…
       Tirer profit de la reconnaissance de plan



           Reconnaissance
                                    Prise de décision
               de plan




                                                        63
Questions?

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:9
posted:8/4/2011
language:French
pages:65