LES ALGORITHMES DE JEUX MOHAMED HENY SELMI E COLE S UPÉRIEURE PR IVÉE D' I NGÉNIERIE ET DE T ECHNOLOGIES [email protected] Mohamed Heny Selmi © ESPRIT
LES
ALGORITHMES DE
JEUX
MOHAMED HENY SELMI
ECOLE SUPÉRIEURE PR IVÉE D 'INGÉNIERIE ET DE TECHNOLOGIES
[email protected] Mohamed Heny Selmi © ESPRIT
HISTORIQUE
Le domaine de jeux est très spécifiable(au sens génie logiciel)
Les règles sont généralement simples
Les interactions avec le monde extérieur sont nulles
aisément accessibles en apparence à un programme
Les informaticiens pensaient(décennie60-70) que la puissance des calculs dans un environnement clos devrait donner un avantage à la machine, or les choses ne passaient pas aussi facilement!
Mohamed Heny Selmi © ESPRIT
TYPE DE JEUX EN IA
Les jeux simples où une analyse exhaustive est possible
Des jeux plus complexes (dames ou échecs)
des algorithmes spécifiques
des méthodes heuristiques de recherche
Des jeux à information partielle (bridge, poker)
Des raisonnements de type probabiliste
Mohamed Heny Selmi © ESPRIT
JEUX ET MÉTHODES
DE RECHERCHE
Les jeux à deux joueurs et à informations complètes utilisent des techniques semblables à la représentation par graphe d’états
• On utilise des systèmes de production pour générer les états
• Les nœuds d’un arbre de jeux : les configurations du damier
• Les branches : le passage d’une situation de jeu à un autre
Un arbre du jeu représente le déplacement de deux adversaires
Un arbre d’espace de recherche représente le déplacement d’un agent de résolution de problème (ou planificateur)
Mohamed Heny Selmi © ESPRIT
BESOIN D’ALGORITHME
DE RECHERCHE
Du fait de la présence de deux joueurs ayant des objectifs antagonistes, la recherche dans ces arbres ne peut se faire en utilisant des algorithmes de recherche de type A*
Contrairement aux systèmes de résolution de problèmes (GPS), le planificateur ne dispose pas de la maitrise complète de l’enchainement des opérateurs, puisque des décisions extérieures à lui sont prises (par l’adversaire)
Il est impossible, dans la plupart des jeux de générer l’ensemble de l’espace d’état
Un arbre de jeu pour les dames (plus difficiles que le Morpion, moins difficile que l’échec) est estimé à10 expo 40 nœuds
Si ces nœuds étaient produits à une cadence de 3milliards/s alors la construction entière prendrait près de 1021 siècles
Mohamed Heny Selmi © ESPRIT
STRATÉGIE SPÉCIFIQUE
AUX JEUX
Il n’existe aucun moyen infaillible d’ordonner les éléments d’un ensemble de situations possibles sur un damier
aucune formule permettant d’ordonner ne peut être calculée
Si ce moyen existait on pourrait choisir le coup conduisant à la meilleur situation possible à l’issue d’un coup unique
On peut utiliser un algorithme de recherche
La décompte des pièces peut être un facteur de choix pour le jeu de dames, mais cette mesure donne en général de mauvais résultats
Une autre stratégie est nécessaire
Mohamed Heny Selmi © ESPRIT
PRINCIPE D’UNE
STRATÉGIE SPÉCIFIQUE
A partir d’une position (état) donnée, on génère l’ensemble des positions qu’on peut atteindre en jouant un coup (niv. de profondeur1)
A partir de chacune des positions de niveau1, on génère l’ensemble des positions que l’adversaire peut atteindre (niv. de profondeur2)
On peut recommencer l’opération aussi longtemps que le permet la puissance de calcul (générer niveaux 3,4,5…n)
L’arbre complet représente toutes les possibilités du jeu. On construit ainsi l’arbre de l’EE du Pb
l’arbre du graphe d’états du Pb représente une partie possible du jeu
Mohamed Heny Selmi © ESPRIT
PRINCIPE D’UNE
STRATÉGIE SPÉCIFIQUE
L’analyse d’une situation ne soit entreprise qu’après développement du jeu sur plusieurs niveaux de coups et de réponses
Si le développement se termine à une profondeur raisonnable, on peut comparer les situations terminales et déduire une option pour le coup suivant
On doit limiter l’exploration à une profondeur maximale de résolution
À cette profondeur on attribue aux (pseudo) feuilles une valeur correspondante à l’estimation de la position à travers une fonction d’évaluation
Mohamed Heny Selmi © ESPRIT
MINIMAX
Mohamed Heny Selmi © ESPRIT
PRINCIPE
Cette estimation peut se faire du point de vue d’un joueur fixe
• il doit à partir du niveau0 (racine)
• jouer le coup de niveau1 qui lui garantit le gain maximal contre toute
défense de son adversaire
• il suppose que son adversaire utilise aussi une stratégie optimale; jouer le
coup de niveau2 qui minimise son gain (le mettre dans la + grande difficulté)
• jouer le coup de niveau3 qui lui garantit le gain maximal, etc.
Mohamed Heny Selmi © ESPRIT
PROPRIÉTÉS
Chaque joueur à une information explicite sur la position de son adversaire (jeu de dames, jeu d’échec, allumettes, etc.) y comprisses choix et mouvements possibles
2 joueurs effectuent alternativement un déplacement ou une opération, aucun élément n’est laissé au hasard
A chaque tour, les règles de jeu définissent:
• Quels mouvements sont acceptés
• Effets de chaque mouvement possible
Choisir parmi les fils, le « meilleur » coup à jouer, c.-à-d. anticiper sur des situations (pas de calcul à court terme, calcul des coups en avant)
Mohamed Heny Selmi © ESPRIT
PROPRIÉTÉS
Le joueur commence par une configuration initiale de pions
Finir par une victoire, une défaite ou un abandon (états finaux)
Le nœud racine est l’état initial au quel c’est au tour du premier joueur d’effectuer un déplacement, ses successeurs sont les états atteints par ce joueur, leurs successeurs sont les états résultants des réponses possibles de l’adversaire, etc.
Chaque chemin de la racine au nœud terminal représente une partie complète et possible du jeu
Mohamed Heny Selmi © ESPRIT
LA STRATÉGIE
la stratégie MinMax : exploration en profondeur limitée
2 joueurs O(ordinateur) et H(adversaire) : illustration de la def. de l’IA
Une fonction h évalue la qualité d’une pos. terminale du pt de vue O
A chaque niveau où O a la main, il choisira le coup de valeur maximale pour
lui (on parle de joueur ou nœud Max)
A chaque niveau où H a la main, O suppose que son adversaire H essaie de
le mettre dans la plus grande difficulté et choisit donc le coup de valeur
minimale pour O; minimiser son gain, (joueur ou nœud Min)
Mohamed Heny Selmi © ESPRIT
OBJECTIFS
Évaluations numériques des appréciations sur les situations du jeu aux pseudo-feuilles d’un arbre de jeu partiellement développée
Un de deux joueurs (la machine) cherche à conserver les plus grands nombres qui correspondent à son avantage, tandis que son adversaire cherche à avoir les plus petits
Mohamed Heny Selmi © ESPRIT
EXEMPLE
Les feuilles indiquent au processus MIN qu’il peut envisager des scores de 2 à 1
Connaissant ces scores, le processus MAX se déplace vers le branchement à partir du quelle le processus MIN ne pourra pas faire mieux que d’abaisser le score à 2
Le processus MAX espère arriver à la situation donnant le score8, mais il sait que le processus MIN ne le permettra pas. Ce dernier peut choisir un coup conduisant à 1
Mohamed Heny Selmi © ESPRIT
PRINCIPE ALGORITHMIQUE
DE MINIMAX
Function MINMAX-DECISION(state) returns an action
v MAX-VALUE(state)
return the action in SUCCESSORS(state) with value v
Function MAX-VALUE (state) returns a utility value
if TERMINAL-TEST (state) then return UTILITY (state)
v - ∞
for s in SUCCESSORS (state) do
v MAX(v, MIN-VALUE (s) )
return v
Function MIN-VALUE (state) returns a utility value
if TERMINAL-TEST (state) then return UTILITY (state)
v + ∞
for s in SUCCESSORS (state) do
v MIN(v, MAX-VALUE (s) )
return v
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
APPLICATION
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = - ∞
v = - ∞
v = + ∞
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = - 3
v = - ∞
v = + ∞
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = - ∞
v = + ∞
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = - ∞
v = + ∞
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = - ∞
v = 15
v = - ∞
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = - ∞
v = 15
v = - 10
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = - ∞
v = 15
v = 3
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = - ∞
v = 3
v = 3
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = 3
v = 3
v = 3
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = 3
v = 3
v = 3
v = + ∞
v = - ∞
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = 3
v = 3
v = 3
v = + ∞
v = 4
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = 3
v = 3
v = 3
v = + ∞
v = 6
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = 3
v = 3
v = 3
v = 6
v = 6
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = 3
v = 3
v = 3
v = 6
v = 6
v = - ∞
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = 3
v = 3
v = 3
v = 6
v = 6
v = -7
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = 3
v = 3
v = 3
v = 6
v = 6
v = 12
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = 3
v = 3
v = 3
v = 6
v = 6
v = 12
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = 6
v = 3
v = 3
v = 6
v = 6
v = 12
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = 6
v = 3
v = 3
v = 6
v = 6
v = 12
v = + ∞
v = - ∞
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = 6
v = 3
v = 3
v = 6
v = 6
v = 12
v = + ∞
v = 4
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = 6
v = 3
v = 3
v = 6
v = 6
v = 12
v = + ∞
v = 8
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = 6
v = 3
v = 3
v = 6
v = 6
v = 12
v = 8
v = 8 v = - ∞
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = 6
v = 3
v = 3
v = 6
v = 6
v = 12
v = 8
v = 8 v = 20
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = 6
v = 3
v = 3
v = 6
v = 6
v = 12
v = 8
v = 8 v = 20
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = 6
v = 3
v = 3
v = 6
v = 6
v = 12
v = 8
v = 8 v = 30
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = 6
v = 3
v = 3
v = 6
v = 6
v = 12
v = 8
v = 8 v = 30
v = - ∞
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = 6
v = 3
v = 3
v = 6
v = 6
v = 12
v = 8
v = 8 v = 30
v = 20
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = 6
v = 3
v = 3
v = 6
v = 6
v = 12
v = 8
v = 8 v = 30
v = 20
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = 6
v = 3
v = 3
v = 6
v = 6
v = 12
v = 8
v = 8 v = 30
v = 20
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = 8
v = 3
v = 3
v = 6
v = 6
v = 12
v = 8
v = 8 v = 30
v = 20
Mohamed Heny Selmi © ESPRIT
15 -3 -5 -10 3 4 6 -7 12 4 8 12 30 20 10 20
L M N S R Q O P X V U T Z A’ Y W
J K I
E H G F
B C
D
A Max
Max
Min
v = 15
v = 8
v = 3
v = 3
v = 6
v = 6
v = 12
v = 8
v = 8 v = 30
v = 20
Mohamed Heny Selmi © ESPRIT
APPLICATION
TIC-TAC-TOE
On dispose de deux processus adversaires
Un processus MIN
Un processus MAX
Mohamed Heny Selmi © ESPRIT
ARBRE DU JEUX
MAX
MIN
Etat final (victoire de MAX)
Ici, on néglige les états “sysmétriques” afin de réduire la taille de l’arbre
Nœuds MIN
Nœuds MAX
Mohamed Heny Selmi © ESPRIT
INDICATIONS
PRATIQUES
On prend la convention suivante :
• une situation gagnante pour le joueur MAX vaut + valeur
• une situation perdante pour le joueur MIN vaut - valeur
• une situation nulle vaut 0
Le MinMax assigne une valeur à chaque feuille, puis fait remonter ces valeurs avec l'hypothèse que chaque joueur choisit le meilleur coup pour lui. Cela signifie en pratique que:
• MAX choisit le coup amenant à l'état de plus grande valeur
• MIN choisit le coup amenant à l'état de plus petite valeur
Mohamed Heny Selmi © ESPRIT
INDICATIONS
PRATIQUES
Le MinMax parcourt un arbre de configurations (graphe d’états)
Lorsqu‘il arrive à une feuille de l'arbre, il utilise la fonction d'évaluation pour donner une valeur à la configuration
Pour les nœuds qui ne sont pas des feuilles, il utilise
• soit le minimum des valeurs des fils si le nœud représente le choix de l'adversaire (c'est donc un nœud Min)
• soit le maximum des valeurs des fils si le nœud représente le choix du joueur MAX (c'est donc un nœud Max)
Mohamed Heny Selmi © ESPRIT
INDICATIONS
PRATIQUES
Dans un programme de jeu, une classe Joueur possède un membre : joueurCourant
La classe joueur Courant représente le type du Joueur pour pouvoir calibrer correctement la fonction d'évaluation
Si dans le jeu de Morpion, la classe joueurcourant joue X et que les X gagnent, alors la fonction devrait rendre +1
Si le type de la classe joueurCourant est O mais c'est toujours les X qui gagnent alors on devrait obtenir -1
On utilise le MinMax avec une profondeur bornée
• On interrompt l'exploration avant d'avoir atteint la fin de partie
• On évalue l'état du jeu à un instant quelconque
• On utilise une heuristique h(e,J) qui évalue la configuration (l’état) e pour le joueur J
• Il existe plusieurs heuristiques pour un même jeu (influencent la stratégie de jeu)
Mohamed Heny Selmi © ESPRIT
IDEE DE BASE :
CHOISIR UNE ACTION
i. En considérant chaque état actuel comme étant état initial,
on construit pour chaque processus actif (MAX ou MIN) l’arbre
du jeu avec une profondeur maximale h (horizon) afin de limiter
le temps d’exécution
ii. Evaluer les états « nœud fils »
iii. Appliquer le principe du MINMAX
Mohamed Heny Selmi © ESPRIT
FONCTION
D’ÉVALUATION
On associe à chaque nœud S un nombre e(S)
e(S) est une heuristique qui estime à quel point S est favorable pour le processus MAX
e(S) > 0 : S est favorable pour MAX
e(S) < 0 : S est favorable pour MIN
e(S) = 0 : S est neutre
Mohamed Heny Selmi © ESPRIT
EXEMPLE DE FONCTION
D’ÉVALUATION
e(S) = nombre des colonnes, lignes ou diagonales ouverts
pour le processus MAX - nombre des colonnes, lignes ou
diagonales ouverts pour le processus MIN
8X 8O= 0 (3+3+2)
6X 4O = 2 3X 3O = 0
Mohamed Heny Selmi © ESPRIT
UTILITÉ DE LA SAUVEGARDE
DES VALEURS
Minmax permet d’obtenir la meilleure évaluation d’une cellule qu’on peut obtenir en supposant que MIN va jouer son meilleur coup
La valeur de minmax obtenue au niveau d’une cellule non-feuille sera meilleure à la valeur obtenue en appliquant directement la fonction d’évaluation e
Mohamed Heny Selmi © ESPRIT
EXERCICE
Jeu d’allumettes : Il y a 9 allumettes, deux joueurs retirent à tour de rôle trois ou deux ou une allumette au choix, celui qui retire les dernières allumettes perd
1. Proposer une fonction d’évaluation heuristique e(s)
2. Sachant que la profondeur maximale d’évaluation est limitée à deux, donner l’arbre de jeux reflétant lepoint de vue du 1er joueur
3. Donner l’arbre de jeu représentant le point de vue du 2ème joueur après que le premier joueur ait joué son meilleur coup
4. Représenter une partie complète du jeu, du point de vue A puis B
Mohamed Heny Selmi © ESPRIT
EXERCICE :
INDICATION
x c’est le nombre d’allumettes restantes
Si e(x)= -1, le joueur est perdant. Avec 9 allumettes, le premier joueur va perdre quelque soit son mouvement.
Mohamed Heny Selmi © ESPRIT
PEUT-ON FAIRE MIEUX ?
3
-1
inutile
-1
3
Cette branche de l'arbre ne peut pas avoir d'effet sur la valeur qui sera sauvegardée(soutenue) à la racine Mohamed Heny Selmi © ESPRIT
APERÇU GÉNÉRAL DE
L’AMÉLIOARATION
Mohamed Heny Selmi © ESPRIT
= 2
2
La valeur beta de MIN est supérieur à la valeur finale sauvegardée : elle ne peut jamais augmenter
APERÇU GÉNÉRAL DE
L’AMÉLIOARATION
Mohamed Heny Selmi © ESPRIT
1
= 1
2
APERÇU GÉNÉRAL DE
L’AMÉLIOARATION
La valeur beta de MIN est supérieur à la valeur finale sauvegardée : elle ne peut jamais augmenter
Mohamed Heny Selmi © ESPRIT
= 1
La valeur alpha de MAX est inférieur à la valeur finale sauvegardée Elle ne peut jamais diminuer
1
= 1
2
APERÇU GÉNÉRAL DE
L’AMÉLIOARATION
Mohamed Heny Selmi © ESPRIT
= 1
1
= 1
2 -1
= -1
APERÇU GÉNÉRAL DE
L’AMÉLIOARATION
Mohamed Heny Selmi © ESPRIT
= 1
1
= 1
2 -1
= -1
La recherche peut être cessée au-dessous de n'importe quel noeud de MIN dont la valeur bêta est moins qu'ou égale à la valeur alpha d'un de ses ancêtres de MAX
APERÇU GÉNÉRAL DE
L’AMÉLIOARATION
Mohamed Heny Selmi © ESPRIT
ALPHA-BÊTA
Mohamed Heny Selmi © ESPRIT
PRINCIPE DE L’ALGORITHME
ALPHA-BÊTA
L’algorithmeα-β élague une partie de l’arbre du jeu. Il s’agit d’une
procédure qui se charge de réduire le nombre de branches de l’arbre à
développer à celui d’évaluation nécessaires
L’idée ressemble plus au moins à celle de la recherche heuristique dans
le sens où l’on déterminera que certains chemins sont mauvais, sans
qu’on ait à les suivre jusqu’à la limite de prévision
Mohamed Heny Selmi © ESPRIT
L’algorithme MinMax a déjà parcouru les 2 premières branches et va s’engager dans la 3ème branche
Durant l’exploration de la 3ème branche, on évalue la 1ère feuille, qui retourne une valeur de 1, son père Min, ne va pas pouvoir dépasser la valeur 1, ceci les valeurs des deux fils inexplorés
Le joueur Max à la racine a garantit une valeur égale à 3 (un de ses fils a déjà été évalué à 3)
Comme le maximiseur sait qu‘il est assuré d’un score de 3 en passant par la branche du milieu, tout ce qu’il a besoin de savoir sur la branche droite est qu’il ne peut pas espérer obtenir un score supérieur à 1 en la prenant
Pour modifier la valeur de la racine (le coup à jouer) il faudrait que ce nœud dépasse la valeur 3
Les deux feuilles restantes sont inintéressantes et ne seront pas explorées par α-β
PRINCIPE DE L’ALGORITHME
ALPHA-BÊTA
Mohamed Heny Selmi © ESPRIT
L’α-β détermine la valeur MinMax de la racine de l’arbre de jeu en traversant l’arbre dans un ordre prédéterminé (de gche à dte) sautant tous les nœuds qui ne peuvent plus influencer la valeur MinMax de la racine
La stratégie α-β nécessite l’entretien de 2 valeurs :
Une borne inf. sur la valeur qu’un nœud maximisant peut se voir attribuer (α)
Une borne sup. sur la valeur qu’un nœud minimisant peut se voir attribuer(β)
PRINCIPE DE L’ALGORITHME
ALPHA-BÊTA
Mohamed Heny Selmi © ESPRIT
Le seuil α pour un nœud MIN « n » est égal à la +grande valeur (connue) de tous les nœuds MAX ancêtres de « n ». Si « n » atteint une valeur < à α, l’exploration de sa descendance devient inutile
Le seuil β pour un nœud MAX « n » est égale à la +petite valeur (connue) de tous les nœuds MIN ancêtres de « n ». Si « n » atteint une valeur > à β, l’exploration de sa descendance devient inutile
PRINCIPE DE L’ALGORITHME
ALPHA-BÊTA
Les nœuds sautés se trouvant à un niveau MAX (resp.MIN), sont appelés des nœuds élagués par une coupure α(resp. β).
Mohamed Heny Selmi © ESPRIT
EXEMPLE
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
Mohamed Heny Selmi © ESPRIT
EXEMPLE
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
0
Mohamed Heny Selmi © ESPRIT
EXEMPLE
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
0
0
Mohamed Heny Selmi © ESPRIT
EXEMPLE
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
0
0 -3
Mohamed Heny Selmi © ESPRIT
EXEMPLE
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
0
0 -3
Mohamed Heny Selmi © ESPRIT
EXEMPLE
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
0
0
0 -3
Mohamed Heny Selmi © ESPRIT
EXEMPLE
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
0
0
0 -3 3
3
Mohamed Heny Selmi © ESPRIT
EXEMPLE
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
0
0
0 -3 3
3
Mohamed Heny Selmi © ESPRIT
EXEMPLE
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
0
0
0
0 -3 3
3
0
Mohamed Heny Selmi © ESPRIT
EXEMPLE
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
0
0
0
0 -3 3
3
0
5
Mohamed Heny Selmi © ESPRIT
EXEMPLE
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
0
0
0
0 -3 3
3
0
2
2
Mohamed Heny Selmi © ESPRIT
EXEMPLE
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
0
0
0
0 -3 3
3
0
2
2
Mohamed Heny Selmi © ESPRIT
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
0
0
0
0 -3 3
3
0
2
2
2
2
EXEMPLE
Mohamed Heny Selmi © ESPRIT
EXEMPLE
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
0
0
0
0 -3 3
3
0
2
2
2
2
Mohamed Heny Selmi © ESPRIT
EXEMPLE
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
0
0
0
0 -3 3
3
0
2
2
2
2
0
Mohamed Heny Selmi © ESPRIT
EXEMPLE
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
0
0
0
0 -3 3
3
0
2
2
2
2
5
0
Mohamed Heny Selmi © ESPRIT
EXEMPLE
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
0
0
0
0 -3 3
3
0
2
2
2
2
1
1
0
Mohamed Heny Selmi © ESPRIT
EXEMPLE
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
0
0
0
0 -3 3
3
0
2
2
2
2
1
1
-3
0
Mohamed Heny Selmi © ESPRIT
EXEMPLE
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
0
0
0
0 -3 3
3
0
2
2
2
2
1
1
-3
0
Mohamed Heny Selmi © ESPRIT
EXEMPLE
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
0
0
0
0 -3 3
3
0
2
2
2
2
1
1
-3
1
1
0
Mohamed Heny Selmi © ESPRIT
EXEMPLE
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
0
0
0
0 -3 3
3
0
2
2
2
2
1
1
-3
1
1
-5
0
Mohamed Heny Selmi © ESPRIT
EXEMPLE
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
0
0
0
0 -3 3
3
0
2
2
2
2
1
1
-3
1
1
-5
0
Mohamed Heny Selmi © ESPRIT
EXEMPLE
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
0
0
0
0 -3 3
3
0
2
2
2
2
1
1
-3
1
1
-5
-5
-5
0
Mohamed Heny Selmi © ESPRIT
EXEMPLE
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
0
0
0
0 -3 3
3
0
2
2
2
2
1
1
-3
1
1
-5
-5
-5
0
Mohamed Heny Selmi © ESPRIT
EXEMPLE
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
0
0
0
0 -3 3
3
0
2
2
2
2
1
1
-3
1
1
-5
-5
-5
1
1
Mohamed Heny Selmi © ESPRIT
EXEMPLE
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
0
0
0
0 -3 3
3
0
2
2
2
2
1
1
-3
1
1
-5
-5
-5
2
2
2
2
1
1
Mohamed Heny Selmi © ESPRIT
EXEMPLE
0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5
0
0
0
0 -3 3
3
0
2
2
2
2
1
1
-3
1
1
-5
-5
-5
1
2
2
2
2
1
Mohamed Heny Selmi © ESPRIT
L’ALGORITHME
ALPHA-BÊTA
Function ALPHA-BETA-SEARCH(state) returns an action
v MAX-VALUE(state, -∞, +∞)
return the action in SUCCESSORS(state) with value v
Function MAX-VALUE (state, α, β) returns a utility value
if TERMINAL-TEST (state) then return UTILITY (state)
v - ∞
for s in SUCCESSORS (state) do
v MAX(v, MIN-VALUE (s, α, β) )
if (v ≥ β) then return v
α MAX(v, α)
return v
Function MIN-VALUE (state, α, β) returns a utility value
if TERMINAL-TEST (state) then return UTILITY (state)
v + ∞
for s in SUCCESSORS (state) do
v MIN(v, MAX-VALUE (s, α, β) )
if (v ≤ α) then return v
β MIN(v, β)
return v
Mohamed Heny Selmi © ESPRIT
APPLICATION
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(- ∞, + ∞)
v = - ∞
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(- ∞, + ∞)
v = - ∞
(- ∞, + ∞)
v = + ∞
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(- ∞, + ∞)
v = - ∞
(- ∞, 3)
v = 3
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(- ∞, + ∞)
v = - ∞
(- ∞, 3)
v = 3
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, + ∞)
v = + ∞
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, + ∞)
v = + ∞
(3, + ∞)
v = - ∞
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, + ∞)
v = + ∞
(3, + ∞)
v = - ∞
(3, + ∞)
v = + ∞
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, + ∞)
v = + ∞
(3, + ∞)
v = - ∞
(3, + ∞)
v = 0
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, + ∞)
v = + ∞
(3, + ∞)
v = - ∞
(3, 0)
v = 0
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, + ∞)
v = + ∞
(3, + ∞)
v = 0
(3, + ∞)
v = 0
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, + ∞)
v = + ∞
(3, + ∞)
v = 0
(3, + ∞)
v = 0
(3, + ∞)
v = + ∞
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, + ∞)
v = + ∞
(3, + ∞)
v = 0
(3, + ∞)
v = 0
(3, 5)
v = 5
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, + ∞)
v = + ∞
(3, + ∞)
v = 0
(3, + ∞)
v = 0
(3, 5)
v = 5
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, + ∞)
v = + ∞
(5, + ∞)
v = 5
(3, + ∞)
v = 0
(3, 5)
v = 5
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, 5)
v = 5
(5, + ∞)
v = 5
(3, + ∞)
v = 0
(3, 5)
v = 5
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, 5)
v = 5
(5, + ∞)
v = 5
(3, + ∞)
v = 0
(3, 5)
v = 5
(3,5)
v = - ∞
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, 5)
v = 5
(5, + ∞)
v = 5
(3, + ∞)
v = 0
(3, 5)
v = 5
(3,5)
v = - ∞
(3,5)
v = ∞
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, 5)
v = 5
(5, + ∞)
v = 5
(3, + ∞)
v = 0
(3, 5)
v = 5
(3,5)
v = - ∞
(3,5)
v = 7
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, 5)
v = 5
(5, + ∞)
v = 5
(3, + ∞)
v = 0
(3, 5)
v = 5
(3,5)
v = - ∞
(3,5)
v = 7
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, 5)
v = 5
(5, + ∞)
v = 5
(3, + ∞)
v = 0
(3, 5)
v = 5
(3,5)
v = 7
(3,5)
v = 7
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, 5)
v = 5
(5, + ∞)
v = 5
(3, + ∞)
v = 0
(3, 5)
v = 5
(3,5)
v = 7
(3,5)
v = 7
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, 5)
v = 5
(5, + ∞)
v = 5
(3, + ∞)
v = 0
(3, 5)
v = 5
(3,5)
v = 7
(3,5)
v = 7
(3,5)
v = - ∞
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, 5)
v = 5
(5, + ∞)
v = 5
(3, + ∞)
v = 0
(3, 5)
v = 5
(3,5)
v = 7
(3,5)
v = 7
(3,5)
v = - ∞
(3,5)
v = ∞
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, 5)
v = 5
(5, + ∞)
v = 5
(3, + ∞)
v = 0
(3, 5)
v = 5
(3,5)
v = 7
(3,5)
v = 7
(3,5)
v = - ∞
(3,4)
v = 4
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, 5)
v = 5
(5, + ∞)
v = 5
(3, + ∞)
v = 0
(3, 5)
v = 5
(3,5)
v = 7
(3,5)
v = 7
(3,5)
v = - ∞
(3,4)
v = 4
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, 5)
v = 5
(5, + ∞)
v = 5
(3, + ∞)
v = 0
(3, 5)
v = 5
(3,5)
v = 7
(3,5)
v = 7
(4,5)
v = 4
(3,4)
v = 4
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, 5)
v = 5
(5, + ∞)
v = 5
(3, + ∞)
v = 0
(3, 5)
v = 5
(3,5)
v = 7
(3,5)
v = 7
(4,5)
v = 4
(3,4)
v = 4
(4,5)
v = ∞
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, 5)
v = 5
(5, + ∞)
v = 5
(3, + ∞)
v = 0
(3, 5)
v = 5
(3,5)
v = 7
(3,5)
v = 7
(4,5)
v = 4
(3,4)
v = 4
(4,5)
v = 2
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, 5)
v = 5
(5, + ∞)
v = 5
(3, + ∞)
v = 0
(3, 5)
v = 5
(3,5)
v = 7
(3,5)
v = 7
(4,5)
v = 4
(3,4)
v = 4
(4,5)
v = 2
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, 5)
v = 5
(5, + ∞)
v = 5
(3, + ∞)
v = 0
(3, 5)
v = 5
(3,5)
v = 7
(3,5)
v = 7
(4,5)
v = 4
(3,4)
v = 4
(4,5)
v = 2
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, 4)
v = 4
(5, + ∞)
v = 5
(3, + ∞)
v = 0
(3, 5)
v = 5
(3,5)
v = 7
(3,5)
v = 7
(4,5)
v = 4
(3,4)
v = 4
(4,5)
v = 2
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(4, + ∞)
v = 4
(- ∞, 3)
v = 3
(3, 4)
v = 4
(5, + ∞)
v = 5
(3, + ∞)
v = 0
(3, 5)
v = 5
(3,5)
v = 7
(3,5)
v = 7
(4,5)
v = 4
(3,4)
v = 4
(4,5)
v = 2
Mohamed Heny Selmi © ESPRIT
7
3 5
0 3 10 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T Y X W U V A6 A5 A4 A3 A2 A1 Z A8 A9 A7
O P N I L M K J
T2 T3
T1
D E F H G
Max
Max
Min
Min
(4, + ∞)
v = 4
(- ∞, 3)
v = 3
(3, 4)
v = 4
(5, + ∞)
v = 5
(3, + ∞)
v = 0
(3, 5)
v = 5
(3,5)
v = 7
(3,5)
v = 7
(4,5)
v = 4
(3,4)
v = 4
(4,5)
v = 2
Mohamed Heny Selmi © ESPRIT
Max
Max
Min
EXERCICE
1. Quel est le meilleur coup pour le joueur Max avec le MinMax?
2. Dans cette arbre de jeu, quels noeuds n’auraient pas besoin d’être examinés en utilisant la procédure α-β ?
7 6 8 5 2 3 0 -2 6 2 5 8 9 2
Mohamed Heny Selmi © ESPRIT
Max
Max
Min
INDICATION
7 6 8 5 2 3 0 -2 6 2 5 8 9 2
7 3 8 0 6 8 9
8
3 8 0
Mohamed Heny Selmi © ESPRIT
Max
Max
Min
7 6 8 5 2 3 0 -2 6 2 5 8 9 2
7 3 8 0 6 8 9
8
3 8 0
INDICATION
Mohamed Heny Selmi © ESPRIT
COMBIEN
GAGNONS-NOUS ?
Mohamed Heny Selmi © ESPRIT
3
= 3
-1
=-1
(4)
3
= 3
4
=4
-1
CONCLUSION
L’algorithmeα-β détermine la valeur MinMax de la racine de l’arbre de jeu en traversant l’arbre en profondeur d’abord, sautant tous les nœuds qui ne peuvent plus influencer la valeur MinMax de la racine
La valeur exacte des nœuds n’est pas importante
L’ordre dans le quel on visite les fils est important
Au mieux, on visite √n nœuds au lieu de n=b expo d
pour MinMax
Mohamed Heny Selmi © ESPRIT