Table des matières
1 Recherche stratégique dans un espace d’états 2
1.1 Introduction........................................ 2
1.2 Notions : Arbre de jeu et stratégies des joueurs . . . . . . . . . . . . . . . . . . . . . 2
1.3 Lalgorithmeminimax .................................. 3
1.4 Lalgorithmealpha-beta.................................. 4
1
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é preprésentent l’ensemble des positions accessibles en un coup depuis
pet 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, Nulle, 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 corres-
pond 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 kde 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
Vmax (V(Succ(p)))
SINON
Vmin (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é aest supérieure à αl’interval est réduite à [a, β]. Si à un moment donné αde-
vient 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é
best 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
Page 5
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
i1
fin F AUX
TANTQUE inET non fin FAIRE
SI p est un nœud max ALORS
aV(pi, α, β)
SI a > α ALORS
αa
FIN SI
SI αβALORS
res β
fin V RAI
SINON
SI i=n ALORS
res α
FIN SI
ii+ 1
FIN SI
SINON
bV(pi, α, β)
SI b < β ALORS
βb
FIN SI
SI αβALORS
res α
fin V RAI
SINON
SI i=n ALORS
res β
FIN SI
ii+ 1
FIN SI
FIN SI
FIN TANTQUE
FIN SI
RETOURNER res
Maria Malek - EISTI
1 / 6 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !