Table des matières 1 Recherche stratégique dans un espace d’états 1.1 Introduction . . . . . . . . . . . . . . . . . . . 1.2 Notions : Arbre de jeu et stratégies des joueurs 1.3 L’algorithme minimax . . . . . . . . . . . . . 1.4 L’algorithme alpha-beta . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 2 3 4 Chapitre 1 Recherche stratégique dans un espace d’états 1.1 Introduction Nous nous intéressons à la modélisation d’un jeu qui se passe entre deux joueurs. Le joueur qui joue en premier s’appelle max et son but est de maximiser le gain. Le joueur qui joue en second s’appelle min et son but est de minimiser le gain de max. Nous allons modéliser les possibilités du jeu par un arbre. La racine de l’arbre se trouve au niveau 0. Les nœuds de l’arbre correspondent aux possibilités qu’ont les joueurs. Les nœuds appartenant à un niveau pair correspondent aux choix que peut avoir max tandis que les les nœuds appartenant à un niveau impair correspondent aux choix demin. Les successeurs d’un nœuds donné p représentent l’ensemble des positions accessibles en un coup depuis p et est noté Succ(p). On peut déterminer pour les nœuds terminaux (les feuilles) une estimation de la valeur intrinsèque vi de la position atteinte. Cette estimation peut être un score numérique ou bien elle peut prendre sa valeur dans l’ensemble {P erdant, N ulle, Gagnant}. Noter bien que les scores associés ici correspondent aux scores de max seulement. 1.2 Notions : Arbre de jeu et stratégies des joueurs Nous avons vu que nous modélisons les étapes du jeu par un arbre G. La racine de l’arbre correspond au début de jeu quand max va jouer. Les feuilles correspondent à la fin du jeu o ? à l’arrêt sur une étape ou une évaluation de toutes les feuilles soit possible. De point de vue de max, la valeur associée à un nœud donné p est calculée de la façon suivante : 1. max{V (Succ(p))}, s’il s’agit de score numérique, 2. sinon – G si l’un des successeurs est gagnant. – P si tous les successeurs sont perdants. – N si l’un des successeurs est Nul est aucun n’est gagnant. De même, selon le point de vue de min, la valeur associée à un nœud donné p est calculé de la façon suivante : 1. min{V (Succ(p))}, s’il s’agit de score numérique 2 1.3. L’ALGORITHME MINIMAX Page 3 2. sinon – P si l’un des successeurs est perdant. – G si tous les successeurs sont gagnant. – N si l’un des successeurs est Nul est aucun n’est perdant. Nous appelons stratégie de max un sous-arbre G+ de G qui contient au moins un successeur pour chaque somment max et tous les successeurs pour chaque sommet min. Cet arbre commence à la racine de G. Autrement dit une stratégie de max est défini par un choix précis et unique chaque fois que max a la main. De même, nous appelons stratégie de min un sous arbre G- de G qui contient au moins un successeur pour chaque somment min et tous les successeurs pour chaque sommet max. Cet arbre commence à la racine de G. Autrement dit une stratégie de min est défini par un choix précis et unique chaque fois que min a la main. Les valeurs intrinsèques associés ont deux significations selon le fait que le nœud soit terminal ou non : – Si le nœud est terminal, la valeur intrinsèque est associée selon les règles de jeux. – Si le nœud n’est pas terminal et appartient au niveau k de l’arbre, sa valeur est calculée à partir de certaines valeurs trouvées au niveau k + 1. Le calcul de ce cette valeur laisse entendre que le joueur en question a fait le meilleur choix à partir de ce nœud (voir les règles de calculs pour min et max mentionnées là haut). 1.3 L’algorithme minimax L’algorithme minimax a comme but de calculer les valeurs V(p) associées aux différents nœuds de l’arbre. Algorithm 1 l’algorithme minimax FONCTION minimax(p) VAR V :score SI p est un nœud terminal ALORS V (p) ← vi(p) SINON SI p est un nœud max ALORS V ← max (V (Succ(p))) SINON V ← min (V (Succ(p))) FIN SI FIN SI Nous remarquons que l’arbre complet doit être développé pour pouvoir calculer l’évaluation de la racine. Maria Malek - EISTI 1.4. L’ALGORITHME ALPHA-BETA Page 4 1.4 L’algorithme alpha-beta L’algorithme alpha-beta est un algorithme qui permet de trouver la valeur de la racine sans être obligé de construire l’arbre complet. Le principe de l’algorithme est le suivant : α correspond au min que peut prendre la valeur du nœud en question, β correspond au max. Si la fonction est appelée sur un nœud de type max, et si la valeur d’un successeur donné a est supérieure à α l’interval est réduite à [a, β]. Si à un moment donné α devient supérieure ou égale à β alors le nœud en question prend sa valeur définitive qui est β. De même, si la fonction est appelée sur un nœud de type min, et si la valeur d’un successeur donné b est inférieure à β l’interval est réduite à [α, b]. Si à un moment donné β devient inférieure ou égale à α alors le nœud en question prend sa valeur définitive qui est α. Maria Malek - EISTI 1.4. L’ALGORITHME ALPHA-BETA Algorithm 2 l’algorithme alpha-beta FONCTION V(p, α, β) VAR res,a,b : REEL i : ENTIER fin : BOOLEEN SI p est un nœud terminal ALORS res ← vi(p) SINON i←1 f in ← F AU X TANTQUE i ≤ n ET non fin FAIRE SI p est un nœud max ALORS a ← V (pi , α, β) SI a > α ALORS α←a FIN SI SI α ≥ β ALORS res ← β f in ← V RAI SINON SI i=n ALORS res ← α FIN SI i←i+1 FIN SI SINON b ← V (pi , α, β) SI b < β ALORS β←b FIN SI SI α ≥ β ALORS res ← α f in ← V RAI SINON SI i=n ALORS res ← β FIN SI i←i+1 FIN SI FIN SI FIN TANTQUE FIN SI RETOURNER res Maria Malek - EISTI Page 5 Bibliographie [1] R. Agrawal, T. Imielinski, and A. Swami. Mining association rules between sets of items in large databases. In ACM SIGMOD Conference on Management of Data, 1993. [2] Dean, Allen, and Aloimonos. Artificial Intelligence : Theory and Practice. Benjamin/Cummings Publishing Company, Inc. Redwood City,CA 94065, 1995. [3] N. Nilsson. Spécification algébriques, algorithmique et programmation. Morgan Kaufman, 1998. [4] S.J. Russel and P. Norvig. Artificial Intelligence : A Modern Approach. Prentice Hall, Upper Saddle River,New Jersey 07458, 1995. [5] L. Sterling and E. Shapiro. The Art of Prolog. MIT Press, England, 1994. 6