CSI 4506: Introduction lIntelligence Artificielle - PowerPoint PPT Presentation

About This Presentation
Title:

CSI 4506: Introduction lIntelligence Artificielle

Description:

Chaque joueur doit reflechir de maniere strategique a la facon dont son adversaire repondra a son coup, dont lui repondra au coup de l'adversaire, etc... 4 ... – PowerPoint PPT presentation

Number of Views:66
Avg rating:3.0/5.0
Slides: 19
Provided by: nat1151
Category:

less

Transcript and Presenter's Notes

Title: CSI 4506: Introduction lIntelligence Artificielle


1
CSI 4506 Introduction à lIntelligence
Artificielle
  • La Recherche Adversariale

2
Plan du Cours
  • Description
  • Terminologie
  • Strategie Naïve de Jeux
  • Desavantages de la Strategie Naive
  • Recherche Minimax
  • Desavantages de la Recherche Minimax
  • Recherche ???

3
Recherche Adversariale Description (1)
  • La recherche adversariale correspond aux
    techniques de recherche pour les jeux a deux
    personnes tels que les echecs, les dames,
    Tic-Tac-Toe, etc Dans ces jeux
  • Les deux joueurs alternent leur tour
  • Les deux joueurs ont toutes les information
    possibles sur la partie (different du Bridge, par
    exemple, ou les joueurs cachent leurs cartes)
  • Chaque joueur doit reflechir de maniere
    strategique a la facon dont son adversaire
    repondra a son coup, dont lui repondra au coup de
    ladversaire, etc

4
Recherche Adversariale Description (2)
  • La recherche adversariale doit considerer
    differentes sequences de coups alternatifs
    potentiels des deux joueurs afin destimer les
    consequences de leurs diverses options
    immediates.
  • Les joueurs peuvent alors decider, a partir de
    cette recherche dans lespace des sequences
    potentielles, quelle option a la plus grande
    chance de mener a une victoire.

5
Terminologie (1)
  • Arbre de Jeu arbre qui consiste en des noeuds
    qui representent les options des joueurs dans un
    jeux a deux joueurs. Les noeuds de cet arbre
    alternent entre les options des deux joueurs.
  • Tours/Couches Les differents niveaux dans un
    arbre de jeux sappellent les tours ou les
    couches (ply/plies).
  • Noeuds Finaux dans un Arbre de Jeu Les noeuds
    terminaux indiquent la fin du jeux, cest a dire
    une configuration gagnante ou perdante (1 ou 1)
    pour le joueur dont on a pris le point de vue.
    Sil y a match nul, la valeur est de 0.

6
Terminologie (2)
  • Maximizer Cest le joueur dont le but est
    datteindre un noeud final de valeur 1.
  • Minimizer Cest le joueur dont le but est
    datteindre un noeud final de valeur 1.
  • Match nul Un joueur doit preferer une victoire
    plutot quun match nul, et un match nul plutot
    quune defaite.

7
Examples
  • 1. Illustration des definitions
  • 2. Arbre de Jeu pour Tic-Tac-Toe
  • Ces illustration et example seront presentes en
    classe.

8
Strategie de Jeux
  • Afin de choisir le coup suivant, un joueur doit
    evaluer les consequences de chaque option dont
    celles correspondant a des noeuds internes de
    larbre de jeu ?
  • On assigne 1 a un noeud n, si n est sur une
    couche de maximizer et lun des enfants de n a la
    valeur 1 ou si n est sur une couche de minimizers
    et tous les enfants de n ont la valeur 1.
  • On assigne 1 a un noeud n, si n est sur une
    couche de minimizers et lun des enfants de n a
    la valeur 1 ou si n est sur une couche de
    maximizers et tous les enfants de n ont la valeur
    1.
  • (Voir Illustration et Example en Classe)

9
Problemes associes a cette Strategie Naive
  • Elle utilise un montant de memoire exponentiel en
    terme de la profondeur de larbre!!!!
  • ? Il vaut mieux utiliser lalgorithme de
    recherche Minimax qui reduit le montant de
    memoire requis pour determiner la valeur dun
    noeud m particulier en performant une recherche
    Depth-First de larbre de jeu dont la racine est
    m.

10
Recherche Minimax
  • (Voir larbre au tableau)
  • N a
  • na Na ? N b,c,d,a
  • nb Nb,c,d,a ? Ne,b,c,d,a
  • ne Ne,b,c,d,a ? Nh,i,e,b,c,d,a
  • nh Nh,i,e,b,c,d,a ? Nh-1,i,e,b,c,d,a
  • nh Nh,i,e,b,c,d,a ? Ni,e,b,c,d,a
  • ni Ni,e,b,c,d,a ? Nl,m,n,i,e,b,c,d,a
  • nl Nl,m,n,i,e,b,c,d,a ?
    Nl-1,m,n,i,e,b,c,d,a
  • nl Nl,m,n,i,e,b,c,d,a ? Nm,n,i,e,b,c,d,a
  • nm Nm,n,i,e,b,c,d,a ? Nm1,n,i,e,b,c,d,a
  • nm Nm,n,i,e,b,c,d,a ? Nn,i,e,b,c,d,a
  • nn Nn,i,e,b,c,d,a ?Nn1,i,e,b,c,d,a etc...

11
Desavantage de la Recherche Minimax
  • La recherche Minimax nest pas tres utile en
    pratique car larbre de jeu de la plupart des
    jeux interessants est extremement grand!!!
  • ?
  • Plutot que danalyser un jeu jusquau bout
    (jusqua une victoire ou un match nul), on peut
    vouloir chercher assez loin pour calculer une
    bonne estimation de la chance a une victoire a
    partir de differents noeuds internes.

12
La Recherche dans un Arbre de Jeu avec une
fonction devaluation La Recherche ??? (1)
  • 1. On definie une fonction devaluation e() telle
    que e(n) ?-1, 1 pour tous les noeuds n.
  • e(n) -1 ? victoire pour le minimizer avec 100
    de certitude.
  • e(n)1 ? victoire pour le maximizer avec 100 de
    certitude.
  • e(n)0 ? pas davantage dun cote ou de lautre
  • -1 lt e(n) lt0 ? victoire pour le minimizer avec
    different degres de certitude (lt 100)
  • 0lt e(n) lt 1 ? victoire pour le maximizer avec
    differents degres de certitudes (lt 100)

13
La Recherche dans un Arbre de Jeu avec une
fonction devaluation La Recherche ??? (2)
  • Example aux Echecs
  • e(n) ( w(n) - b(n) ) / ( w(n) b(n) )
  • avec
  • w(n) somme des valeurs de toutes les pieces
    blanches de lechequier
  • b(n) somme des valeurs de toutes les pieces
    noires de lechequier

14
La Recherche dans un Arbre de Jeu avec une
fonction devaluation La Recherche ??? (3)
  • 2. Etant donne une fonction devaluation e(),
    certains noeuds nont pas besoin detre etendus
  • (Les deux cas seront donnes en classe)

15
La Recherche ???
  • Visitez larbre dans un ordre Depth-First
  • Lorsque vous rencontrerez un nouveau noeud, n,
  • Si n est un noeud final, alors appliquer la
    fonction devaluation e(n)
  • Si n nest pas un noeud terminal et na pas recu
    de valeur, alors donnez lui la valeur de -? si
    cest un noeud de couche maximazer ou de ? si
    cest un noeud de couche minimizer.
  • Lorsque vous donnez une valeur a un noeud en
    utilisant la fonction devaluation, vous devez
    distribuer (back-up) cette valeur a ses ancetres
  • Lorsque vous visitez un noeud n, vous pouvez
    decider de le tailler (prune) sil ny a pas de
    raison de letendre.

16
Regles de Distribution et de Taillage (1)
  • Regle de Distribution (Back-up)
  • Soit v la valeur courante de n
  • Soit m, le parent de n et u la valeur courante de
    m.
  • Si m est un noeud de couche maximizer, alors la
    valeur de m doit devenir max(u,v).
  • Si m est un noeud de couche minimizer, alors la
    valeur de m doit devenir min(u,v).
  • Si m est la racine ou si la valeur de m ne change
    pas, alors, il faut sarreter. Sinon, on
    distribue la valeur de m a son parent (appel
    recursif).

17
Regles de Distribution et de Taillage (2)
  • Regle de Taillage
  • Si n est un noeud de couche maximizer, alors,
    soit v, le min des valeurs des freres de n et
    soit u, le max des valeurs des freres des
    ancetres de n qui sont des noeuds de couche
    minimizer (!)
  • Si v gt u, alors vous pouvez retirer n et ses
    freres ainsi que nimporte lesquels des
    successeurs de n et de ses freres de la queue.
  • Si m est un noeud de couche minimizer, alors vous
    pouvez faire la meme chose en remplacant max par
    min, min par max et lt par gt.

18
Examples
  • (Deux Examples seront presentes en classe)
Write a Comment
User Comments (0)
About PowerShow.com