Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parSophie Léonard Modifié depuis plus de 9 années
1
1 CSI 4506: Introduction à l’Intelligence Artificielle La Recherche Adversariale
2
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
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 l’adversaire, etc…
4
4 Recherche Adversariale: Description (2) La recherche adversariale doit considerer differentes sequences de coups alternatifs potentiels des deux joueurs afin d’estimer les consequences de leurs diverses options immediates. Les joueurs peuvent alors decider, a partir de cette recherche dans l’espace des sequences potentielles, quelle option a la plus grande chance de mener a une victoire.
5
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 s’appellent les tours ou les couches (ply/plies). Noeuds Finaux dans un Arbre de Jeu: Les noeuds terminaux indiquent la fin du jeux, c’est a dire une configuration gagnante ou perdante (+1 ou –1) pour le joueur don’t on a pris le point de vue. S’il y a match nul, la valeur est de 0.
6
6 Terminologie (2) Maximizer: C’est le joueur dont le but est d’atteindre un noeud final de valeur +1. Minimizer: C’est le joueur dont le but est d’atteindre un noeud final de valeur –1. Match nul: Un joueur doit preferer une victoire plutot qu’un match nul, et un match nul plutot qu’une defaite.
7
7 Examples 1. Illustration des definitions 2. Arbre de Jeu pour Tic-Tac-Toe Ces illustration et example seront presentes en classe.
8
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 l’arbre de jeu – On assigne +1 a un noeud n, si n est sur une couche de maximizer et l’un 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 l’un 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
9 Problemes associes a cette Strategie Naive Elle utilise un montant de memoire exponentiel en terme de la profondeur de l’arbre!!!! Il vaut mieux utiliser l’algorithme de recherche Minimax qui reduit le montant de memoire requis pour determiner la valeur d’un noeud m particulier en performant une recherche Depth-First de l’arbre de jeu don’t la racine est m.
10
10 Recherche Minimax (Voir l’arbre au tableau) N= a n=aN=a N= b,c,d,a n=bN=b,c,d,a N=e,b,c,d,a n=eN=e,b,c,d,a N=h,i,e,b,c,d,a n=hN=h,i,e,b,c,d,a N=h=-1,i,e,b,c,d,a n=hN=h,i,e,b,c,d,a N=i,e,b,c,d,a n=i N=i,e,b,c,d,a N=l,m,n,i,e,b,c,d,a n=l N=l,m,n,i,e,b,c,d,a N=l=-1,m,n,i,e,b,c,d,a n=lN=l,m,n,i,e,b,c,d,a N=m,n,i,e,b,c,d,a n=mN=m,n,i,e,b,c,d,a N=m=1,n,i,e,b,c,d,a n=mN=m,n,i,e,b,c,d,a N=n,i,e,b,c,d,a n=nN=n,i,e,b,c,d,a N=n=1,i,e,b,c,d,a etc...
11
11 Desavantage de la Recherche Minimax La recherche Minimax n’est pas tres utile en pratique car l’arbre de jeu de la plupart des jeux interessants est extremement grand!!! Plutot que d’analyser un jeu jusqu’au bout (jusqu’a 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
12 La Recherche dans un Arbre de Jeu avec une fonction d’evaluation: La Recherche (1) 1. On definie une fonction d’evaluation 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 d’avantage d’un cote ou de l’autre -1 < e(n) <0 victoire pour le minimizer avec different degres de certitude (< 100%) 0< e(n) < 1 victoire pour le maximizer avec differents degres de certitudes (< 100%)
13
13 La Recherche dans un Arbre de Jeu avec une fonction d’evaluation: 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 l’echequier – b(n) = somme des valeurs de toutes les pieces noires de l’echequier
14
14 La Recherche dans un Arbre de Jeu avec une fonction d’evaluation: La Recherche (3) 2. Etant donne une fonction d’evaluation e(), certains noeuds n’ont pas besoin d’etre etendus (Les deux cas seront donnes en classe)
15
15 La Recherche Visitez l’arbre dans un ordre Depth-First Lorsque vous rencontrerez un nouveau noeud, n, – Si n est un noeud final, alors appliquer la fonction d’evaluation e(n) – Si n n’est pas un noeud terminal et n’a pas recu de valeur, alors donnez lui la valeur de - si c’est un noeud de couche maximazer ou de + si c’est un noeud de couche minimizer. Lorsque vous donnez une valeur a un noeud en utilisant la fonction d’evaluation, vous devez distribuer (back-up) cette valeur a ses ancetres Lorsque vous visitez un noeud n, vous pouvez decider de le tailler (prune) s’il n’y a pas de raison de l’etendre.
16
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 s’arreter. Sinon, on distribue la valeur de m a son parent (appel recursif).
17
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 >= u, alors vous pouvez retirer n et ses freres ainsi que n’importe 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 =.
18
18 Examples (Deux Examples seront presentes en classe)
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.