La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

IFT 615 – Intelligence Artificielle Algorithmes de recherche pour des jeux avec des adversaires (adversarial search) Éric Beaudry Département dinformatique.

Présentations similaires


Présentation au sujet: "IFT 615 – Intelligence Artificielle Algorithmes de recherche pour des jeux avec des adversaires (adversarial search) Éric Beaudry Département dinformatique."— Transcription de la présentation:

1 IFT 615 – Intelligence Artificielle Algorithmes de recherche pour des jeux avec des adversaires (adversarial search) Éric Beaudry Département dinformatique Université de Sherbrooke

2 Objectifs Se familiariser avec les sujets suivants : – Jeux entre deux adversaires – Algorithme minimax – Élagage alpha-beta – Décisions imparfaites en temps réelle – Généralisation à plusieurs joueurs – Généralisation à des jeux avec incertitude Se préparer au travail pratique – Implémentation dun joueur artificiel pour le jeu Connect5

3 Rappel sur A* Notion détat (configuration) État initial Fonction de transition (successeurs) Fonction de but (configuration finale) ? Nord Est Ouest Sud

4 Vers les jeux avec adversité … Q : Est-il possible dutiliser A* pour des jeux entre deux adversaires ? – Q : Comment définir un état pour le jeu déchecs ? – Q : Quelle est la fonction de but ? – Q : Quelle est la fonction de transition ? R : Non. Pas directement. Q : Quelle hypothèse est violée dans les jeux ? R : Dans les jeux, le monde nest pas statique, mais est dynamique. Le joueur adverse peut modifier lenvironnement. Q : Comment peut-on résoudre ce problème ? R : Cest le sujet daujourdhui !

5 Relation entre les joueurs Dans un jeu, des joueurs peuvent être : – Coopératifs Ils veulent atteindre le même but. – Des adversaires en compétition Un gain pour les uns, est une perte pour les autres. Cas particulier : les jeux à somme nulle (zero-sum games). – Jeux déchecs, de dame, tic-tac-toe, Connect5, etc. – Mixte Il y a tout un spectre entre les jeux purement coopératifs et les jeux avec adversaires. Ex: alliances.

6 Hypothèses Pour linstant, nous aborderons les : – Jeux à deux adversaires – Jeux à tour de rôle – Jeux à somme nulle – Jeux avec observation totale – Jeux déterministes (sans hasard ou incertitude) Il sera possible de généraliser plus tard

7 Jeux entre deux adversaires Noms des joueurs : Max vs Min – Max est le premier à jouer (notre joueur) – Min est son adversaire Max Min

8 Arbre de recherche Un problème de jeu peut être vu comme un problème de recherche dans un arbre : – Un état (configuration) initial – Un ensemble dopérateurs (coups légaux ou actions légales) Ces opérateurs génèrent des transitions dans larbre – Un test de terminaison Indique si le jeu est terminé – Une fonction dutilité pour les états finaux

9 Arbre de recherche tic-tac-toe

10 Algorithme minimax Idée : à chaque tour, choisir laction qui correspond à la plus grande valeur minimax EXPECTED-MINIMAX-VALUE(n) = UTILITY(n)Si n est un nœud terminal max s successors(n) EXPECTED-MINIMAX-VALUE(s) Si n est un nœud Max min s successors(n) EXPECTED-MINIMAX-VALUE(s) Si n est un nœud Min Ces équations donnent la programmation récursive des valeurs jusquà la racine de larbre

11 Algorithme minimax

12 Idée: À chaque tour, choisir laction menant à la plus grande valeur minimax. – Cela donne la meilleure action optimale (plus grand gain) contre un joueur optimal. Exemple simple: © Éric Beaudry & Froduald Kabanza 12IFT615

13 Propriétés de minimax Complet ? – Oui (si larbre est fini) Optimal ? – Oui (contre un adversaire qui joue de façon optimale) Complexité en temps ? – O(b m ): b: le nombre maximum coups (actions) légaux à chaque étape m: nombre maximum de coups dans un jeu (profondeur maximale de larbre). Complexité en espace mémoire ? – O(bm), vue que recherche en profondeur. Pour le jeu déchec: b 35 et m 100 pour un jeu « raisonnable » – Il nest pas réaliste despérer trouver une solution exacte en un temps raisonnable.

14 MINIMAX AVEC ÉLAGAGE ALPHA- BETA (alpha-beta pruning) IFT615 - Été 2011© Éric Beaudry et Froduald Kabanza14

15 Élagage alpha-beta [-, +] Bornes pour les valeurs possibles © Éric Beaudry & Froduald Kabanza 15IFT615

16 Élagage alpha-beta [-,3] [-,+] © Éric Beaudry & Froduald Kabanza 16IFT615

17 Élagage alpha-beta [-,3] [-,+] © Éric Beaudry & Froduald Kabanza 17IFT615

18 Élagage alpha-beta [-,+] [-,3] © Éric Beaudry & Froduald Kabanza 18IFT615

19 Élagage alpha-beta [3,+] [-,3] © Éric Beaudry & Froduald Kabanza 19IFT615

20 Élagage alpha-beta [3,2] [3,+] [-,3] Ce noeud est pire pour MAX © Éric Beaudry & Froduald Kabanza 20IFT615

21 Élagage alpha-beta [3, 2] [3, +] [-,3][3,14] IFT61521 © Éric Beaudry & Froduald Kabanza

22 Élagage alpha-beta [3,2] [3, +] [-,3][3,5] © Éric Beaudry & Froduald Kabanza 22IFT615

23 Élagage alpha-beta [3,2] [3, +] [-,3] © Éric Beaudry & Froduald Kabanza 23IFT615

24 Élagage alpha-beta [3,2] [3, +] [-,3] © Éric Beaudry & Froduald Kabanza 24IFT615

25 Dou vient le nom alpha-beta ? Lalgorithme alpha-beta tire son nom des paramètre suivant décrivant les bornes des valeurs dutilité enregistrée durant le parcourt. – α est la valeur du meilleur choix pour Max (c.-à-d., plus grande valeur) trouvé jusquici: Si le nœud v a une valeur pire que α, Max nira jamais à v: couper la branche – β est défini de manière analogue pour Min. © Éric Beaudry & Froduald Kabanza 25IFT615

26 Algorithme avec élagage alpha-beta © Éric Beaudry & Froduald Kabanza 26IFT615

27 Algorithme avec élagage alpha-beta (2) © Éric Beaudry & Froduald Kabanza 27IFT615

28 Propriétés de lalgorihme alpha-beta Lélagage naffecte pas le résultat final de minimax. Dans le pire des cas, lélagage alpha-beta (alpha-beta pruning) ne fait aucun élagage; il examine b m nœuds terminaux comme lalgorithme minimax: b: le nombre maximum dactions/coups légales à chaque étape m: nombre maximum de coup dans un jeu (profondeur maximale de larbre). Un bon ordonnancement des actions à chaque nœud améliore lefficacité. – Dans le meilleur des cas (ordonnancement parfait), la complexité en temps est de O(b m/2 ) Si le temps de réflexion est limité, la recherche peut être jusquà deux fois plus profonde comparé à minimax ! © Éric Beaudry & Froduald Kabanza 28IFT615

29 Version unifiée de lalgorithme minimax avec élagage alpha-beta fonction SearchAlphaBeta(state, α, β ) /* α < β */ if TerminalTest(state) then return Utility(state) else best - for (a,s) in Sucessors(state) v -SearchAlphaBeta(s,- β,- α ) if v > best then best v if best > α then α best if α >= β then return best IFT615© Éric Beaudry & Froduald Kabanza29

30 DÉCISIONS EN TEMPS RÉEL Avec lalgorithme alpha-beta IFT615 - Été 2011© Éric Beaudry et Froduald Kabanza30

31 Décisions en temps réel En général, des décisions imparfaites doivent être prises en temps réel: – Supposons quon a 60 secs pour réagir et que lalgorithme explore 10 4 nœuds/sec – Cela donne 6*10 5 nœuds à explorer par coup. Approche standard: – Couper la recherche: Par exemple, limiter la profondeur de larbre. Voir le livre pour dautres idées. – Fonction dévaluation Estimer des configurations par rapport à leur chance dêtre gagnantes. IFT615© Éric Beaudry & Froduald Kabanza31

32 Exemple de fonction dévaluation Pour le jeu déchec, une fonction dévaluation typique est une somme (linéaire) pondérée de features estimant la qualité de la configuration: Eval(s) = w 1 f 1 (s) + w 2 f 2 (s) + … + w n f n (s) Par exemple: – w 1 = 9, f 1 (s) = (number of white queens) – (number of black queens), – etc IFT615© Éric Beaudry & Froduald Kabanza32

33 Eval(s) = if s is win for Max, + if s is win for Min, - else (nombre de ligne, colonnes et diagonales disponibles pour Max) - (nombre de ligne, colonnes et diagonales disponibles pour Min) Eval(s) = = 2 Eval(s) = = 1 Exemple de fonction dévaluation IFT615© Éric Beaudry & Froduald Kabanza33 l Pour le tic-tac-toe, supposons que Max joue avec les X. XO X O X O

34 Généralisation aux actions aléatoires Par exemple, des jeux où on lance un dé pour déterminer la prochaine action. IFT615© Éric Beaudry & Froduald Kabanza34 IFT615 EXPECTED-MINIMAX-VALUE(n) = UTILITY(n)Si n est un nœud terminal max s successors(n) MINIMAX-VALUE(s) Si n est un nœud Max min s successors(n) MINIMAX-VALUE(s) Si n est un nœud Min s successors(n) P(s) * EXPECTEDMINIMAX(s) Si n est un nœud chance Ces équations donne la programmation récursive des valeurs jusquà la racine de larbre.

35 Quelques succès et défis Jeu de dames: En 1994, Chinook a mis fin aux 40 ans de règne du champion du monde Marion Tinsley. Chinook utilisait une base de données de coups parfaits pré-calculés pour toutes les configurations impliquant 8 pions ou moins: 444 milliards de configurations! Jeu déchecs: En 1997, Deep Blue a battu le champion du monde Garry Kasparov dans un match de six parties. Deep Blue explorait 200 million de configurations par seconde.. Othello: les champions humains refusent la compétition contre des ordinateurs, parce que ces derniers sont trop bons! Go: les champions humains refusent la compétition contre des ordinateurs, parce que ces derniers sont trop mauvais! Dans le jeu GO, le facteur de branchement (b) dépasse 300! La plupart des programs utilisent des bases de règles empiriques pour calculer le prochain coup. IFT615© Éric Beaudry & Froduald Kabanza35

36 Autre exemple: Question #2 – 2009H Max Min Max Min Max -,+ 6, + 7,+ -,+ -, 6 -,+ 6, + -,+ -, 6 -,+ 6 6, + 6, 4 -,6 14,6 -, 6 -,14 6, + 7, + 6, + 6, 7 9,7 6, Légende de lanimation α, β Valeur si feuille Nœud de larbre pas encore visité Nœud en cours de visite (sur pile de récursivité) Nœud visité Arc élagué (pruning) Valeur retournée Décision: prendre laction ayant mené à une valeur 7, cest-à- dire la deuxième action.

37 Résumé Il est amusant de pratiquer lIA avec les jeux Les recherches sur les jeux révèlent des aspects fondamentaux intéressants applicables à dautres domaines. La perfection est inatteignable dans les jeux: il faut approximer. Alpha-beta a la même valeur pour la racine de larbre de jeu que minimax. Dans le pire des cas, il se comporte comme minimax (explore tous les nœuds). En général il peut être deux fois plus rapide que minimax. IFT615© Éric Beaudry & Froduald Kabanza37


Télécharger ppt "IFT 615 – Intelligence Artificielle Algorithmes de recherche pour des jeux avec des adversaires (adversarial search) Éric Beaudry Département dinformatique."

Présentations similaires


Annonces Google