CSI 4506: Introduction lintelligence artificielle - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

CSI 4506: Introduction lintelligence artificielle

Description:

Chaque joueur doit r fl chir de mani re strat gique la fa on dont son adversaire r pondra son coup, dont lui r pondra au coup de l'adversaire, etc... 4 ... – PowerPoint PPT presentation

Number of Views:30
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 adversairiale

2
Plan du Cours
  • Description
  • Terminologie
  • Stratégie naïve de jeux
  • Désavantagés de la Stratégie Naïve
  • Recherche minimax
  • Désavantages de la recherche minimax
  • Recherche ???

3
Recherche Adversairiale Description (1)
  • La recherche adversairiale correspond aux
    techniques de recherche pour les jeux a deux
    personnes tels que les échecs, les dames,
    Tic-Tac-Toe, etc Dans ces jeux
  • Les deux joueurs alternent leur tour
  • Les deux joueurs ont toutes les informations
    possibles sur la partie. (différent du Bridge,
    par exemple, ou les joueurs cachent leurs cartes)
  • Chaque joueur doit réfléchir de manière
    stratégique à la façon dont son adversaire
    répondra à son coup, dont lui répondra au coup de
    ladversaire, etc

4
Recherche adversairiale Description (2)
  • La recherche adversairiale doit considérer
    différentes séquences de coups alternatifs
    potentiels des deux joueurs afin destimer les
    conséquences de leurs diverses options
    immédiates.
  • Les joueurs peuvent alors décider, à partir de
    cette recherche dans lespace des séquences
    potentielles, quelle option à la plus grande
    chance de mener a une victoire.

5
Terminologie (1)
  • Arbre de Jeu arbre qui consiste en des noeuds
    qui représentent les options des joueurs dans un
    jeux à deux joueurs. Les noeuds de cet arbre
    alternent entre les options des deux joueurs.
  • Tours/Couches Les différents 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)
  • Maximiser Cest le joueur dont le but est
    datteindre un noeud final de valeur 1.
  • Minimiser Cest le joueur dont le but est
    datteindre un noeud final de valeur 1.
  • Match nul Un joueur doit préférer une victoire
    plutôt quun match nul, et un match nul plutôt
    quune défaite.

7
Exemples
  • 1. Illustration des définitions
  • 2. Arbre de Jeu pour Tic-Tac-Toe
  • Ces illustration et exemples seront présentés en
    classe.

8
Stratégie de jeux
  • Afin de choisir le coup suivant, un joueur doit
    évaluer les conséquences de chaque option dont
    celles correspondant à des noeuds internes de
    larbre de jeu ?
  • On assigne 1 à un noeud n, si n est sur une
    couche de maximiser et lun des enfants de n à la
    valeur 1 ou si n est sur une couche de minimisés
    et tous les enfants de n ont la valeur 1.
  • On assigne 1 a un noeud n, si n est sur une
    couche de minimiser et lun des enfants de n a la
    valeur 1 ou si n est sur une couche de maximiser
    et tous les enfants de n ont la valeur 1.
  • (Voir Illustration et exemple en classe)

9
Problèmes associés à cette stratégie naïve
  • Elle utilise un montant de mémoire exponentiel en
    terme de la profondeur de larbre!!!!
  • ? Il vaut mieux utiliser lalgorithme de
    recherche Minimax qui réduit le montant de
    mémoire 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
Désavantage de la recherche Minimax
  • La recherche Minimax nest pas très utile en
    pratique car larbre de jeu de la plupart des
    jeux intéressants est extrêmement grand!!!
  • ?
  • Plutôt 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 à une victoire à
    partir de différents noeuds internes.

12
La recherche dans un arbre de Jeu avec une
fonction dévaluation La recherche ??? (1)
  • 1. On définie une fonction dévaluation e() telle
    que e(n) ?-1, 1 pour tous les noeuds n.
  • e(n) -1 ? victoire pour le minimiser avec 100
    de certitude.
  • e(n)1 ? victoire pour le maximiser avec 100 de
    certitude.
  • e(n)0 ? pas davantage dun cote ou de lautre
  • -1 lt e(n) lt0 ? victoire pour le minimiser avec
    différent degrés de certitude (lt 100)
  • 0lt e(n) lt 1 ? victoire pour le maximiser avec
    différents degrés de certitudes (lt 100)

13
La recherche dans un arbre de jeu avec une
fonction dévaluation La recherche ??? (2)
  • Exemple aux échecs
  • e(n) ( w(n) - b(n) ) / ( w(n) b(n) )
  • avec
  • w(n) somme des valeurs de toutes les pièces
    blanches de léchiquier
  • b(n) somme des valeurs de toutes les pièces
    noires de léchiquier

14
La recherche dans un arbre de jeu avec une
fonction dévaluation La recherche ??? (3)
  • 2. Étant donné une fonction dévaluation e(),
    certains noeuds nont pas besoin dêtre étendus
  • (Les deux cas seront donnés 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 dévaluation e(n)
  • Si n nest pas un noeud terminal et na pas reçu
    de valeur, alors donnez lui la valeur de -? si
    cest un noeud de couche maximiser ou de ? si
    cest un noeud de couche minimiser.
  • Lorsque vous donnez une valeur à un noeud en
    utilisant la fonction dévaluation, vous devez
    distribuer (back-up) cette valeur a ses ancêtres
  • Lorsque vous visitez un noeud n, vous pouvez
    décider de le tailler (prune) sil ny a pas de
    raison de létendre.

16
Règles de distribution et de taillage (1)
  • Règle 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 maximiser, alors la
    valeur de m doit devenir max(u,v).
  • Si m est un noeud de couche minimiser, 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 sarrêter. Sinon, on
    distribue la valeur de m a son parent (appel
    récursif).

17
Règles de distribution et de taillage (2)
  • Règle de Taillage
  • Si n est un noeud de couche maximiser, alors,
    soit v, le min des valeurs des frères de n et
    soit u, le max des valeurs des frères des
    ancêtres de n qui sont des noeuds de couche
    minimiser (!)
  • Si v gt u, alors vous pouvez retirer n et ses
    frères ainsi que nimporte lesquels des
    successeurs de n et de ses frères de la queue.
  • Si m est un noeud de couche minimiser, alors vous
    pouvez faire la même chose en remplacent max par
    min, min par max et lt par gt.

18
Exemples
  • (Deux exemples seront présentés en classe)
Write a Comment
User Comments (0)
About PowerShow.com