La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 CSI 4506: Introduction à l’Intelligence Artificielle La Recherche Adversariale.

Présentations similaires


Présentation au sujet: "1 CSI 4506: Introduction à l’Intelligence Artificielle La Recherche Adversariale."— Transcription de la présentation:

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)


Télécharger ppt "1 CSI 4506: Introduction à l’Intelligence Artificielle La Recherche Adversariale."

Présentations similaires


Annonces Google