Title: CSI 4506: Introduction lintelligence artificielle
1CSI 4506 Introduction à lintelligence
artificielle
- La recherche adversairiale
2Plan 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 ???
3Recherche 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
4Recherche 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.
5Terminologie (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.
6Terminologie (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.
7Exemples
- 1. Illustration des définitions
- 2. Arbre de Jeu pour Tic-Tac-Toe
- Ces illustration et exemples seront présentés en
classe.
8Straté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)
9Problè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.
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...
11Dé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.
12La 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)
13La 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
14La 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)
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 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.
16Rè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).
17Rè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.
18Exemples
- (Deux exemples seront présentés en classe)