Recherche adversiale (Jeux - PowerPoint PPT Presentation

About This Presentation
Title:

Recherche adversiale (Jeux

Description:

Title: Adversarial Search Author: Min-Yen Kan Last modified by: Jian-Yun Nie Created Date: 12/17/2003 6:37:42 AM Document presentation format: Pr sentation l ... – PowerPoint PPT presentation

Number of Views:70
Avg rating:3.0/5.0
Slides: 26
Provided by: MinYe3
Category:

less

Transcript and Presenter's Notes

Title: Recherche adversiale (Jeux


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

2
Plan
  • Décisions optimales
  • Élagage (pruning) a-ß
  • 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(bm)
  • 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 a-ß pour ne pas explorer des nœuds
inutiles
  • Sur un chemin, on a des limites connues pour la
    valeur à trouver a,ß (initialisées à -8,8)
  • Max a déjà trouvé une solution a, 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 gt ß, 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 lt a, alors son parent
    (Max) ne va jamais choisir le nœud. ? On coupe le
    reste de la branche

MIN
A a,ß MAX
B gtß MIN
10
Algorithme a-ß
11
Algorithme a-ß
12
Exemple
13
Exemple de lélagage a-ß
14
Exemple de lélagage a-ß
15
Exemple de lélagage a-ß
16
Exemple de lélagage a-ß
17
Exemple de lélagage a-ß
18
Propriété de a-ß
  • 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(bm/2)
  • ? Doubler la profondeur de recherche

19
Pourquoi appelé a-ß?
  • a 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 a, 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
    104 nœuds/sec? 106 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) w1 f1(s) w2 f2(s) wn fn(s)
  • e.g., w1 9 avec
  • f1(s) ( reines blanc) ( reines noire)
  • e.g. tic-tac-toe
  • f1(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é
  • Terminal? Est remplacer par Cutoff?
  • Utility est remplacé par Eval
  • Q Penser comment implanter ça dans le package de
    Java
  • Est-ce que ça fonctionne en pratique?
  • bm 106, b35 ? m4
  • 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 gt 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
Write a Comment
User Comments (0)
About PowerShow.com