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

Recherche adversiale (Jeux à 2 joueurs) Chapter 6 Section 1 – 4.

Présentations similaires


Présentation au sujet: "Recherche adversiale (Jeux à 2 joueurs) Chapter 6 Section 1 – 4."— Transcription de la présentation:

1 Recherche adversiale (Jeux à 2 joueurs) Chapter 6 Section 1 – 4

2 Plan Décisions optimales Élagage (pruning) α-β Décisions imparfaites en temps réel

3 Jeux vs. problèmes de recherche Ladversaire "imprévisible" Choisir un mouvement pour chaque réponse de ladversaire Limites de temps, lespace trop grand ne pourra pas trouver un but, doit faire une approximation

4 Arbre de jeu (2 joueurs, déterministe, chacun son tour)

5 Minimax Décision « parfaire » dans des jeux déterministes Idée: choisir un pas vers une position avec la valeur minimax la plus élevée –= meilleurs rendement atteignable contre le meilleur jeu (en supposant que ladversaire essaie de faire la même chose) E.g., Jeu à 2 plis

6 Algorithme Minimax

7 Propriétés de minimax Complète? Oui (si larbre est fini) Optimal? Oui (contre un joueur optimal qui utilise la même stratégie) Temps? O(b m ) Espace? O(bm) (exploration en profondeur dabord) Pour les échecs, b 35, m 100 pour un jeu « raisonnable » solution exacte infaisable

8 Limiter la profondeur Nb de plis à développer –Pli (ply) = un couche de jeu, par Max ou par Min Changement à faire dans lalgorithme if TERMINAL-TEST(state) then return UTILITY(state) If DEPTH-LIMIT(state) then return EVAL(state) …

9 Algorithme α-β – pour ne pas explorer des nœuds inutiles Sur un chemin, on a des limites connues pour la valeur à trouver [α,β] (initialisées à [-,+]) Max a déjà trouvé une solution α, et Min ne va pas permettre à choisir une solution plus grande que β sur cette branche –Pour un nœud Max A, on tente de maximiser. Si un enfant B génère une valeur > β, alors le nœud parent (Min) ne va jamais choisir ce nœud A. On coupe le reste de la branche. –Pour un nœud Min, on tente de minimiser. Si un enfant génère une valeur < α, alors son parent (Max) ne va jamais choisir le nœud. On coupe le reste de la branche A [α,β] MAX B >β MIN MIN

10 Algorithme α-β

11

12 Exemple

13 Exemple de lélagage α-β

14

15

16

17

18 Propriété de α-β Lélagage naffecte pas le résultat final –Élaguer seulement les nœuds qui ne sont pas compétitifs La quantité de nœuds élagués dépend de lordre de nœuds Avec un ordre parfait, complexité en temps = O(b m/2 ) Doubler la profondeur de recherche

19 Pourquoi appelé α-β? α est la valeur du meilleur choix trouvé jusquici pour tous les points de choix le long le chemin pour max Si v est la plus grande valeur quon peut espérer dune branche, et qui est pire que α, alors max ne va pas choisir la branche Élaguer la branche Définir β similairement pour min

20 Limites de ressource Supposons quon a100 secs, et on peut explorer 10 4 nœuds/sec 10 6 nœuds par pas Approche standard : Test de cutoff : e.g., limite de profondeur (peut-être ajouter la recherche de quiescence (certains nœuds sont quiet): permettre plus de profondeur pour les nœuds prometteurs) Fonction dévaluation = désirabilité dune position

21 Fonction dévaluation Pour les échecs, typiquement une somme pondéré sur les caractéristiques (features) Eval(s) = w 1 f 1 (s) + w 2 f 2 (s) + … + w n f n (s) e.g., w 1 = 9 avec f 1 (s) = (# reines blanc) – (# reines noire) e.g. tic-tac-toe: f 1 (s) = 3* (#lignes avec 2 O) + (#lignes avec 1 O) – [3*(#lignes avec 2 X) + (#lignes avec 1 X)] etc.

22 Couper (Cutting off) la recherche MinimaxCutoff est identique à MinimaxValue excepté 1.Terminal? Est remplacer par Cutoff? 2.Utility est remplacé par Eval Q: Penser comment implanter ça dans le package de Java Est-ce que ça fonctionne en pratique? b m = 10 6, b=35 m=4 Un joueur qui examine 4 plis en avant est un joueur médiocre! –4-ply novice humain –8-ply PC typique, master humain –12-ply Deep Blue, Kasparov

23 Jeux déterministes en pratique Checkers: Chinook ended 40-year-reign of human world champion Marion Tinsley in 1994. Used a precomputed endgame database defining perfect play for all positions involving 8 or fewer pieces on the board, a total of 444 billion positions. Chess: Deep Blue defeated human world champion Garry Kasparov in a six-game match in 1997. Deep Blue searches 200 million positions per second, uses very sophisticated evaluation, and undisclosed methods for extending some lines of search up to 40 ply. Othello: human champions refuse to compete against computers, who are too good. Go: human champions refuse to compete against computers, who are too bad. In go, b > 300, so most programs use pattern knowledge bases to suggest plausible moves.

24 Histoire sur les échecs (http://aitopics.org/topic/chess) "Machines" that played chess appeared in the 1700 and 1800s, but they were all hoaxes. In the 1950s, the first papers on programs to play chess were published by Claude Shannon and Alan Turing. In the 1956, the alpha-beta search algorithm was invented. Alpha-beta is a very common search technique for adversarial games, including chess. In the 1960s, computer chess programs started playing each other. In the 1970s, computer chess programs began being successful in tournaments with humans. In the 1980s, computers started beating masters and grandmasters in tournament play, and also received master titles of their own. In 1997, Deep Blue beat Gary Kasparov, the world champion, in a six game match. Current chess programs continue to beat the world champions. Chess programs now have their own tournaments.

25 Sommaire Les jeux sont amusants à travailler Ils illustrent plusieurs aspects dintelligence et motivent des approches en IA La perfection est inatteignable one doit faire lapproximation La décision dépend de ladversaire Minimax suppose que ladversaire utilise la même stratégie et la même fonction dévaluation –Solution optimale dans ce contexte –Et si ladversaire est différent? Fonction dévaluation: selon lexpérience Souvent combiné avec des jeux stockés (ending games) ou des jeux représentatifs


Télécharger ppt "Recherche adversiale (Jeux à 2 joueurs) Chapter 6 Section 1 – 4."

Présentations similaires


Annonces Google