Title: CSI 4506: Introduction lIntelligence Artificielle
1CSI 4506 Introduction à lIntelligence
Artificielle
- La Recherche Adversariale
2Plan du Cours
- Description
- Terminologie
- Strategie Naïve de Jeux
- Desavantages de la Strategie Naive
- Recherche Minimax
- Desavantages de la Recherche Minimax
- Recherche ???
3Recherche 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
4Recherche 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.
5Terminologie (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.
6Terminologie (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.
7Examples
- 1. Illustration des definitions
- 2. Arbre de Jeu pour Tic-Tac-Toe
- Ces illustration et example seront presentes en
classe.
8Strategie 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)
9Problemes 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.
10Recherche 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...
11Desavantage 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.
12La 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)
13La 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
14La 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)
15La 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.
16Regles 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).
17Regles 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.
18Examples
- (Deux Examples seront presentes en classe)