SlideShare une entreprise Scribd logo
1  sur  132
Télécharger pour lire hors ligne
III. REPRÉSENTATION ET RÉSOLUTION DE PROBLÈMES
LES ALGORITHMES
DE JEUX
INTELLIGENCE ARTIFICIELLE ET SYSTÈMES EXPERTS
Mohamed Heny SELMI medheny.selmi@esprit.tn
TYPES DE JEUX
 Les jeux simples où une analyse exhaustive est possible : Tic-Tac-Toe, Reversi,
Moulin, Les Allumettes,
ESPRIT 2012-2013
Mohamed Heny SELMI ©
TYPES DE JEUX
 Desjeux plus complexes: dames,échecs, Othello, Awalé…
 desalgorithmes spécifiques
 desméthodesheuristiques de recherche
ESPRIT 2012-2013
Mohamed Heny SELMI ©
TYPES DE JEUX
 Des jeux à information partielle : Bridge, Poker, Belote, Dominos…
 Des raisonnementsde type probabiliste
ESPRIT 2012-2013
Mohamed Heny SELMI ©
LES MÉTHODES DE RECHERCHES DES JEUX
► Les jeux à deux joueurs et à informations complètes utilisent des
techniquessemblablesà la représentationpar graphe d’états:
 On utilise des systèmes de productionpour générer les états
 Les nœudsd’un arbre de jeux : les configurationsdu damier
 Les branches : le passage d’une situation de jeu à un autre
ESPRIT 2012-2013
Mohamed Heny SELMI ©
► 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ésolutionde problème (ou planificateur)
NÉCESSITÉ D’UN ALGORITHME DE RECHERCHE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
 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, 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 tout l’espace
d’état
 Un arbre de jeu pour les dames, plus difficiles que le Morpion, moins difficile que
l’échec, est estimé à 1040 nœuds.
 Si ces nœuds étaient produits à une cadence de 3 milliards/s alors la construction
entière prendrait près de 1021 siècles
LES STRATÉGIES SPÉCIFIQUES
ESPRIT 2012-2013
Mohamed Heny SELMI ©
Il n’existe aucunmoyeninfaillible d’ordonner les éléments d’unensemble de situations possiblessur undamier
aucune formule permettant d’ordonner ne peut être calculée
Si ce moyen existait on pourraitchoisir le coup conduisantà la meilleur situation possibleà l’issued’un coup unique
On peut utiliser un algorithme de recherche
La décompte des pièces peutêtre unfacteur de choix pourle jeu de dames, mais cette mesure donneen généralde mauvais
résultats
Une autre stratégie est nécessaire !
► A partir d’uneposition(état) donnée,ongénèrel’ensembledespositionsqu’onpeut
atteindreen jouant un coup (niv.de profondeur1)
► A partir de chacune des positionsdeniveau1,on génèrel’ensembledespositionsque
l’adversairepeut atteindre(niv.de profondeur2)
► On peut recommencerl’opérationaussilongtempsque le permetla puissancede calcul
(générerniveaux3,4,5…n)
► L’arbrecomplet représentetoutesles possibilitésdu jeu. On construit ainsil’arbrede l’EE
du Pb
► L’arbredu graphed’étatsdu Pb représenteunepartie possibledujeu
LES STRATÉGIES SPÉCIFIQUES
ESPRIT 2012-2013
Mohamed Heny SELMI ©
Il n’existe aucunmoyeninfaillible d’ordonner les éléments d’unensemble de situations possiblessur undamier
aucune formule permettant d’ordonner ne peut être calculée
Si ce moyen existait on pourraitchoisir le coup conduisantà la meilleur situation possibleà l’issued’un coup unique
On peut utiliser un algorithme de recherche
La décompte des pièces peutêtre unfacteur de choix pourle jeu de dames, mais cette mesure donneen généralde mauvais
résultats
Une autre stratégie est nécessaire !
► 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
MINMAX
ESPRIT 2012-2013
Mohamed Heny SELMI ©
PRINCIPE
i. Cette estimation peut se faire du point de vue d’un joueur fixe
ii. il doit à partir du niveau0 (racine)
iii. jouer le coup de niveau1 qui lui garantit le gain maximal contre toute défense de
son adversaire
iv. 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é)
v. jouer le coup de niveau3 qui lui garantit le gain maximal, etc.
ESPRIT 2012-2013
Mohamed Heny SELMI ©
fonction d’évaluation
PROPRIÉTÉS
 Chaque joueur a une information explicite sur la position de son adversaire (jeu de dames,
jeu d’échec,allumettes, etc.) y comprisseschoixet mouvementspossibles
 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)
 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éponsespossiblesdel’adversaire,etc.
 Chaque chemin de la racine au nœud terminal représente une partie complète et possible
du jeu
ESPRIT 2012-2013
Mohamed Heny SELMI ©
STRATÉGIE DE RECHERCHE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
 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)
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
ESPRIT 2012-2013
Mohamed Heny SELMI ©
ALGORITHME MINMAX
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
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
APPLICATION
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = - ∞
v = - ∞
v = + ∞
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = - 3
v = - ∞
v = + ∞
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = - ∞
v = + ∞
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = - ∞
v = + ∞
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = - ∞
v = 15
v = - ∞
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = - ∞
v = 15
v = - 10
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = - ∞
v = 15
v = 3
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = - ∞
v = 3
v = 3
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = 3
v = 3
v = 3
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = 3
v = 3
v = 3
v = + ∞
v = - ∞
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = 3
v = 3
v = 3
v = + ∞
v = 4
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = 3
v = 3
v = 3
v = + ∞
v = 6
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
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 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
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 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = 3
v = 3
v = 3
v = 6
v = 6
v = -7
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = 3
v = 3
v = 3
v = 6
v = 6
v = 12
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = 3
v = 3
v = 3
v = 6
v = 6
v = 12
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = 6
v = 3
v = 3
v = 6
v = 6
v = 12
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = 6
v = 3
v = 3
v = 6
v = 6
v = 12
v = + ∞
v = - ∞
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = 6
v = 3
v = 3
v = 6
v = 6
v = 12
v = + ∞
v = 4
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = 6
v = 3
v = 3
v = 6
v = 6
v = 12
v = + ∞
v = 8
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = 6
v = 3
v = 3
v = 6
v = 6
v = 12
v = 8
v = 8 v = - ∞
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = 6
v = 3
v = 3
v = 6
v = 6
v = 12
v = 8
v = 8 v = 20
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = 6
v = 3
v = 3
v = 6
v = 6
v = 12
v = 8
v = 8 v = 20
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = 6
v = 3
v = 3
v = 6
v = 6
v = 12
v = 8
v = 8 v = 30
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = 6
v = 3
v = 3
v = 6
v = 6
v = 12
v = 8
v = 8 v = 30
v = - ∞
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = 6
v = 3
v = 3
v = 6
v = 6
v = 12
v = 8
v = 8 v = 30
v = 20
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = 6
v = 3
v = 3
v = 6
v = 6
v = 12
v = 8
v = 8 v = 30
v = 20
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = 6
v = 3
v = 3
v = 6
v = 6
v = 12
v = 8
v = 8 v = 30
v = 20
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = 8
v = 3
v = 3
v = 6
v = 6
v = 12
v = 8
v = 8 v = 30
v = 20
ESPRIT 2012-2013
Mohamed Heny SELMI ©
15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020
L M N SRQO P XVUT Z A’YW
J KIE HGF
B C D
AMax
Max
Min
v = 15
v = 8
v = 3
v = 3
v = 6
v = 6
v = 12
v = 8
v = 8 v = 30
v = 20
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE ‘TIC-TAC-TOE’
Un processus MIN
Un processus MAX
ESPRIT 2012-2013
Mohamed Heny SELMI ©
ARBRE DU JEUX
MAX 
MIN 
Etat final
(victoire de MAX) 
Ici, on néglige les états “symétriques”
afin de réduire la taille de l’arbre
Nœuds MIN
Nœuds MAX
ESPRIT 2012-2013
Mohamed Heny SELMI ©
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
ESPRIT 2012-2013
Mohamed Heny SELMI ©
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ésentele choix du
joueur MAX (c'est doncun nœud Max)
ESPRIT 2012-2013
Mohamed Heny SELMI ©
INDICATIONS PRATIQUES
► Dans un programme de jeu, une classe Joueur possède un membre :
joueurCourant
► La classe joueurCourant représentele type du Joueur pour pouvoir calibrer
correctementla 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 heuristiquespour un même jeu (influencent la stratégie de
jeu
ESPRIT 2012-2013
Mohamed Heny SELMI ©
IDÉE DE BASE : CHOIX D’UNE ACTION
i. En considérant chaque état actuel comme étant état initial,
on construitpour 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
ESPRIT 2012-2013
Mohamed Heny SELMI ©
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
ESPRIT 2012-2013
Mohamed Heny SELMI ©
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
ESPRIT 2012-2013
Mohamed Heny SELMI ©
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
ESPRIT 2012-2013
Mohamed Heny SELMI ©
ALPHABETA
ESPRIT 2012-2013
Mohamed Heny SELMI ©
APERÇU GÉNÉRAL DE L’AMÉLIOARATION
ESPRIT 2012-2013
Mohamed Heny SELMI ©
b = 2
2
La valeur beta de MIN
est supérieure
à la valeur finale
sauvegardée :
elle ne peut jamais
augmenter
APERÇU GÉNÉRAL DE L’AMÉLIOARATION
ESPRIT 2012-2013
Mohamed Heny SELMI ©
1
b = 1
2
La valeur beta de MIN
est supérieure
à la valeur finale
sauvegardée :
elle ne peut jamais
augmenter
APERÇU GÉNÉRAL DE L’AMÉLIOARATION
ESPRIT 2012-2013
Mohamed Heny SELMI ©
a = 1
La valeur alpha de MAX
est inférieure à la valeur
finale sauvegardée :
Elle ne peut jamais
diminuer
1
b = 1
2
APERÇU GÉNÉRAL DE L’AMÉLIOARATION
ESPRIT 2012-2013
Mohamed Heny SELMI ©
a = 1
1
b = 1
2 -1
b = -1
APERÇU GÉNÉRAL DE L’AMÉLIOARATION
ESPRIT 2012-2013
Mohamed Heny SELMI ©
a = 1
1
b = 1
2 -1
b = -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
ESPRIT 2012-2013
Mohamed Heny SELMI ©
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
ESPRIT 2012-2013
Mohamed Heny SELMI ©
PRINCIPE DE L’ALGORITHME ALPHA-BÊTA
ESPRIT 2012-2013
Mohamed Heny SELMI ©
 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 α-β
 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 influencerla valeur MinMax de la racine
 La stratégie α-β nécessite l’entretiende2 valeurs :
Une borne inf. sur la valeur qu’un nœud maximisantpeut se voir attribuer (α)
Une borne sup. sur la valeur qu’un nœud minimisantpeut se voir attribuer(β)
ESPRIT 2012-2013
Mohamed Heny SELMI ©
PRINCIPE DE L’ALGORITHME ALPHA-BÊTA
 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œudssautés se trouvant à un niveau MAX (resp.MIN), sont appelés des
nœuds élaguéspar une coupure α (resp. β).
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
ESPRIT 2012-2013
Mohamed Heny SELMI ©
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
0
EXEMPLE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
0
0
EXEMPLE
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
0
0 -3
EXEMPLE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
0
0 -3
EXEMPLE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
0
0
0 -3
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
0
0
0 -3 3
3
EXEMPLE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
0
0
0 -3 3
3
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
0
0
0
0 -3 3
3
0
EXEMPLE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
0
0
0
0 -3 3
3
0
5
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
0
0
0
0 -3 3
3
0
2
2
EXEMPLE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
0
0
0
0 -3 3
3
0
2
2
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
0
0
0
0 -3 3
3
0
2
2
2
2
EXEMPLE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
0
0
0
0 -3 3
3
0
2
2
2
2
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
0
0
0
0 -3 3
3
0
2
2
2
2
0
EXEMPLE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
0
0
0
0 -3 3
3
0
2
2
2
2
5
0
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
0
0
0
0 -3 3
3
0
2
2
2
2
1
1
0
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
0
0
0
0 -3 3
3
0
2
2
2
2
1
1
-3
0
EXEMPLE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
0
0
0
0 -3 3
3
0
2
2
2
2
1
1
-3
0
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
0
0
0
0 -3 3
3
0
2
2
2
2
1
1
-3
1
1
0
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
0
0
0
0 -3 3
3
0
2
2
2
2
1
1
-3
1
1
-5
0
EXEMPLE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
0
0
0
0 -3 3
3
0
2
2
2
2
1
1
-3
1
1
-5
0
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
0
0
0
0 -3 3
3
0
2
2
2
2
1
1
-3
1
1
-5
-5
-5
0
EXEMPLE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
0
0
0
0 -3 3
3
0
2
2
2
2
1
1
-3
1
1
-5
-5
-5
0
EXEMPLE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
0
0
0
0 -3 3
3
0
2
2
2
2
1
1
-3
1
1
-5
-5
-5
1
1
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
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
EXEMPLE
ESPRIT 2012-2013
Mohamed Heny SELMI ©
0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35
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
ESPRIT 2012-2013
Mohamed Heny SELMI ©
EXEMPLE
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
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
Max
Max
Min
Min
(- ∞, + ∞)
v = - ∞
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
Max
Max
Min
Min
(- ∞, + ∞)
v = - ∞
(- ∞, + ∞)
v = + ∞
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
Max
Max
Min
Min
(- ∞, + ∞)
v = - ∞
(- ∞, 3)
v = 3
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
Max
Max
Min
Min
(- ∞, + ∞)
v = - ∞
(- ∞, 3)
v = 3
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, + ∞)
v = + ∞
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, + ∞)
v = + ∞
(3, + ∞)
v = - ∞
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, + ∞)
v = + ∞
(3, + ∞)
v = - ∞
(3, + ∞)
v = + ∞
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, + ∞)
v = + ∞
(3, + ∞)
v = - ∞
(3, + ∞)
v = 0
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, + ∞)
v = + ∞
(3, + ∞)
v = - ∞
(3, 0)
v = 0
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, + ∞)
v = + ∞
(3, + ∞)
v = 0
(3, + ∞)
v = 0
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, + ∞)
v = + ∞
(3, + ∞)
v = 0
(3, + ∞)
v = 0
(3, + ∞)
v = + ∞
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, + ∞)
v = + ∞
(3, + ∞)
v = 0
(3, + ∞)
v = 0
(3, 5)
v = 5
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, + ∞)
v = + ∞
(3, + ∞)
v = 0
(3, + ∞)
v = 0
(3, 5)
v = 5
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, + ∞)
v = + ∞
(5, + ∞)
v = 5
(3, + ∞)
v = 0
(3, 5)
v = 5
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
Max
Max
Min
Min
(3, + ∞)
v = 3
(- ∞, 3)
v = 3
(3, 5)
v = 5
(5, + ∞)
v = 5
(3, + ∞)
v = 0
(3, 5)
v = 5
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
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 = - ∞
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
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 = ∞
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
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
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
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
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
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
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
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
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
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 = - ∞
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
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 = ∞
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
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
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
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
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
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
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
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 = ∞
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
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
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
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
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
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
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
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
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
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
ESPRIT 2012-2013
Mohamed Heny SELMI ©
7
3 5
0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8
Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7
O PNI L MKJ
T2 T3
T1
D E F HG
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
ESPRIT 2012-2013
Mohamed Heny SELMI ©
Max
Max
Min
EXERCICE
1. Quel est le meilleurcoup pour le joueurMax avec le MinMax?
2. Dans cette arbre de jeu, quelsnoeuds 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
ESPRIT 2012-2013
Mohamed Heny SELMI ©
Max
Max
Min
INDICATION
7 6 8 5 2 3 0 -2 6 2 5 8 9 2
7 38 0 6 8 9
8
3 80
ESPRIT 2012-2013
Mohamed Heny SELMI ©
Max
Max
Min
7 6 8 5 2 3 0 -2 6 2 5 8 9 2
7 38 0 6 8 9
8
3 80
ESPRIT 2012-2013
Mohamed Heny SELMI ©
INDICATION
COMBIEN GAGNONS-NOUS ?
3
a = 3
-1
b=-1
(4)
3
a = 3
4
b=4
-1
ESPRIT 2012-2013
Mohamed Heny SELMI ©
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=bd pour
MinMax
ESPRIT 2012-2013
Mohamed Heny SELMI ©

Contenu connexe

Tendances

Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en EducationRapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en EducationMohamed Amine Mahmoudi
 
Conception d’un logiciel de gestion d’imagerie médicale
Conception d’un logiciel de gestion d’imagerie médicaleConception d’un logiciel de gestion d’imagerie médicale
Conception d’un logiciel de gestion d’imagerie médicaleNIYITEGEKA innocent
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfslimyaich3
 
Intelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsIntelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsMohamed Heny SELMI
 
Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)Mohamed Heny SELMI
 
Soutenance mémoire de fin d'études
Soutenance mémoire de fin d'étudesSoutenance mémoire de fin d'études
Soutenance mémoire de fin d'étudesFabrice HAUHOUOT
 
Sécurité informatique
Sécurité informatiqueSécurité informatique
Sécurité informatiqueoussama Hafid
 
Présentation projet de fin d'étude
Présentation projet de fin d'étudePrésentation projet de fin d'étude
Présentation projet de fin d'étudeDonia Hammami
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Addi Ait-Mlouk
 
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...Madjid Meddah
 
Présentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clientsPrésentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clientsMohamed Ayoub OUERTATANI
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-CorrectionLilia Sfaxi
 
Systèmes d'Exploitation - chp1-introduction
Systèmes d'Exploitation - chp1-introductionSystèmes d'Exploitation - chp1-introduction
Systèmes d'Exploitation - chp1-introductionLilia Sfaxi
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionLilia Sfaxi
 
Présentation PFE : Mise en place d’une solution de gestion intégrée (OpenERP...
Présentation PFE :  Mise en place d’une solution de gestion intégrée (OpenERP...Présentation PFE :  Mise en place d’une solution de gestion intégrée (OpenERP...
Présentation PFE : Mise en place d’une solution de gestion intégrée (OpenERP...Mohamed Cherkaoui
 

Tendances (20)

Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en EducationRapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
Rapport Mini Projet : élaborer un moteur de Recherche spécialisé en Education
 
Conception d’un logiciel de gestion d’imagerie médicale
Conception d’un logiciel de gestion d’imagerie médicaleConception d’un logiciel de gestion d’imagerie médicale
Conception d’un logiciel de gestion d’imagerie médicale
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
 
Intelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes expertsIntelligence Artificielle - Systèmes experts
Intelligence Artificielle - Systèmes experts
 
Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)Data mining - Segmentation(k-means, cah)
Data mining - Segmentation(k-means, cah)
 
Soutenance mémoire de fin d'études
Soutenance mémoire de fin d'étudesSoutenance mémoire de fin d'études
Soutenance mémoire de fin d'études
 
Sécurité informatique
Sécurité informatiqueSécurité informatique
Sécurité informatique
 
Hadoop
HadoopHadoop
Hadoop
 
Support POO Java première partie
Support POO Java première partieSupport POO Java première partie
Support POO Java première partie
 
Présentation projet de fin d'étude
Présentation projet de fin d'étudePrésentation projet de fin d'étude
Présentation projet de fin d'étude
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...
 
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
 
Présentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clientsPrésentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clients
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
Systèmes d'Exploitation - chp1-introduction
Systèmes d'Exploitation - chp1-introductionSystèmes d'Exploitation - chp1-introduction
Systèmes d'Exploitation - chp1-introduction
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
01 correction-td smia-s2-info2
01 correction-td smia-s2-info201 correction-td smia-s2-info2
01 correction-td smia-s2-info2
 
Présentation PFE : Mise en place d’une solution de gestion intégrée (OpenERP...
Présentation PFE :  Mise en place d’une solution de gestion intégrée (OpenERP...Présentation PFE :  Mise en place d’une solution de gestion intégrée (OpenERP...
Présentation PFE : Mise en place d’une solution de gestion intégrée (OpenERP...
 

En vedette

Les outils pour le book trailer
Les outils pour le book trailerLes outils pour le book trailer
Les outils pour le book trailerNatacha DUBOIS
 
Créer un journal scolaire avec Scribus
Créer un journal scolaire avec ScribusCréer un journal scolaire avec Scribus
Créer un journal scolaire avec ScribusNatacha DUBOIS
 
Report on the Tunisian national innovation system
Report on the Tunisian national innovation systemReport on the Tunisian national innovation system
Report on the Tunisian national innovation systemMondher Khanfir
 
Data mining - ACP Analyse en Composantes Principales
Data mining - ACP Analyse en Composantes PrincipalesData mining - ACP Analyse en Composantes Principales
Data mining - ACP Analyse en Composantes PrincipalesMohamed Heny SELMI
 
Data mining - Introduction générale
Data mining - Introduction généraleData mining - Introduction générale
Data mining - Introduction généraleMohamed Heny SELMI
 
Data mining - Classification - arbres de décision
Data mining - Classification - arbres de décisionData mining - Classification - arbres de décision
Data mining - Classification - arbres de décisionMohamed Heny SELMI
 
Powerpoint sage x3
Powerpoint sage x3Powerpoint sage x3
Powerpoint sage x3peterhaack
 
Exercices corrigés
Exercices corrigésExercices corrigés
Exercices corrigéshadhoum
 

En vedette (8)

Les outils pour le book trailer
Les outils pour le book trailerLes outils pour le book trailer
Les outils pour le book trailer
 
Créer un journal scolaire avec Scribus
Créer un journal scolaire avec ScribusCréer un journal scolaire avec Scribus
Créer un journal scolaire avec Scribus
 
Report on the Tunisian national innovation system
Report on the Tunisian national innovation systemReport on the Tunisian national innovation system
Report on the Tunisian national innovation system
 
Data mining - ACP Analyse en Composantes Principales
Data mining - ACP Analyse en Composantes PrincipalesData mining - ACP Analyse en Composantes Principales
Data mining - ACP Analyse en Composantes Principales
 
Data mining - Introduction générale
Data mining - Introduction généraleData mining - Introduction générale
Data mining - Introduction générale
 
Data mining - Classification - arbres de décision
Data mining - Classification - arbres de décisionData mining - Classification - arbres de décision
Data mining - Classification - arbres de décision
 
Powerpoint sage x3
Powerpoint sage x3Powerpoint sage x3
Powerpoint sage x3
 
Exercices corrigés
Exercices corrigésExercices corrigés
Exercices corrigés
 

Algorithmes de jeux

  • 1. III. REPRÉSENTATION ET RÉSOLUTION DE PROBLÈMES LES ALGORITHMES DE JEUX INTELLIGENCE ARTIFICIELLE ET SYSTÈMES EXPERTS Mohamed Heny SELMI medheny.selmi@esprit.tn
  • 2. TYPES DE JEUX  Les jeux simples où une analyse exhaustive est possible : Tic-Tac-Toe, Reversi, Moulin, Les Allumettes, ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 3. TYPES DE JEUX  Desjeux plus complexes: dames,échecs, Othello, Awalé…  desalgorithmes spécifiques  desméthodesheuristiques de recherche ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 4. TYPES DE JEUX  Des jeux à information partielle : Bridge, Poker, Belote, Dominos…  Des raisonnementsde type probabiliste ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 5. LES MÉTHODES DE RECHERCHES DES JEUX ► Les jeux à deux joueurs et à informations complètes utilisent des techniquessemblablesà la représentationpar graphe d’états:  On utilise des systèmes de productionpour générer les états  Les nœudsd’un arbre de jeux : les configurationsdu damier  Les branches : le passage d’une situation de jeu à un autre ESPRIT 2012-2013 Mohamed Heny SELMI © ► 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ésolutionde problème (ou planificateur)
  • 6. NÉCESSITÉ D’UN ALGORITHME DE RECHERCHE ESPRIT 2012-2013 Mohamed Heny SELMI ©  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, 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 tout l’espace d’état  Un arbre de jeu pour les dames, plus difficiles que le Morpion, moins difficile que l’échec, est estimé à 1040 nœuds.  Si ces nœuds étaient produits à une cadence de 3 milliards/s alors la construction entière prendrait près de 1021 siècles
  • 7. LES STRATÉGIES SPÉCIFIQUES ESPRIT 2012-2013 Mohamed Heny SELMI © Il n’existe aucunmoyeninfaillible d’ordonner les éléments d’unensemble de situations possiblessur undamier aucune formule permettant d’ordonner ne peut être calculée Si ce moyen existait on pourraitchoisir le coup conduisantà la meilleur situation possibleà l’issued’un coup unique On peut utiliser un algorithme de recherche La décompte des pièces peutêtre unfacteur de choix pourle jeu de dames, mais cette mesure donneen généralde mauvais résultats Une autre stratégie est nécessaire ! ► A partir d’uneposition(état) donnée,ongénèrel’ensembledespositionsqu’onpeut atteindreen jouant un coup (niv.de profondeur1) ► A partir de chacune des positionsdeniveau1,on génèrel’ensembledespositionsque l’adversairepeut atteindre(niv.de profondeur2) ► On peut recommencerl’opérationaussilongtempsque le permetla puissancede calcul (générerniveaux3,4,5…n) ► L’arbrecomplet représentetoutesles possibilitésdu jeu. On construit ainsil’arbrede l’EE du Pb ► L’arbredu graphed’étatsdu Pb représenteunepartie possibledujeu
  • 8. LES STRATÉGIES SPÉCIFIQUES ESPRIT 2012-2013 Mohamed Heny SELMI © Il n’existe aucunmoyeninfaillible d’ordonner les éléments d’unensemble de situations possiblessur undamier aucune formule permettant d’ordonner ne peut être calculée Si ce moyen existait on pourraitchoisir le coup conduisantà la meilleur situation possibleà l’issued’un coup unique On peut utiliser un algorithme de recherche La décompte des pièces peutêtre unfacteur de choix pourle jeu de dames, mais cette mesure donneen généralde mauvais résultats Une autre stratégie est nécessaire ! ► 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
  • 10. PRINCIPE i. Cette estimation peut se faire du point de vue d’un joueur fixe ii. il doit à partir du niveau0 (racine) iii. jouer le coup de niveau1 qui lui garantit le gain maximal contre toute défense de son adversaire iv. 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é) v. jouer le coup de niveau3 qui lui garantit le gain maximal, etc. ESPRIT 2012-2013 Mohamed Heny SELMI © fonction d’évaluation
  • 11. PROPRIÉTÉS  Chaque joueur a une information explicite sur la position de son adversaire (jeu de dames, jeu d’échec,allumettes, etc.) y comprisseschoixet mouvementspossibles  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)  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éponsespossiblesdel’adversaire,etc.  Chaque chemin de la racine au nœud terminal représente une partie complète et possible du jeu ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 12. STRATÉGIE DE RECHERCHE ESPRIT 2012-2013 Mohamed Heny SELMI ©  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)
  • 13. 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 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 14. ALGORITHME MINMAX 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 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 15. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 APPLICATION L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = - ∞ v = - ∞ v = + ∞ ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 16. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = - 3 v = - ∞ v = + ∞ ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 17. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = - ∞ v = + ∞ ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 18. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = - ∞ v = + ∞ ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 19. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = - ∞ v = 15 v = - ∞ ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 20. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = - ∞ v = 15 v = - 10 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 21. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = - ∞ v = 15 v = 3 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 22. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = - ∞ v = 3 v = 3 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 23. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = 3 v = 3 v = 3 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 24. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = 3 v = 3 v = 3 v = + ∞ v = - ∞ ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 25. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = 3 v = 3 v = 3 v = + ∞ v = 4 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 26. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = 3 v = 3 v = 3 v = + ∞ v = 6 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 27. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = 3 v = 3 v = 3 v = 6 v = 6 Mohamed Heny Selmi © ESPRIT
  • 28. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = 3 v = 3 v = 3 v = 6 v = 6 v = - ∞ Mohamed Heny Selmi © ESPRIT
  • 29. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = 3 v = 3 v = 3 v = 6 v = 6 v = -7 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 30. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = 3 v = 3 v = 3 v = 6 v = 6 v = 12 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 31. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = 3 v = 3 v = 3 v = 6 v = 6 v = 12 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 32. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = 6 v = 3 v = 3 v = 6 v = 6 v = 12 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 33. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = 6 v = 3 v = 3 v = 6 v = 6 v = 12 v = + ∞ v = - ∞ ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 34. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = 6 v = 3 v = 3 v = 6 v = 6 v = 12 v = + ∞ v = 4 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 35. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = 6 v = 3 v = 3 v = 6 v = 6 v = 12 v = + ∞ v = 8 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 36. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = 6 v = 3 v = 3 v = 6 v = 6 v = 12 v = 8 v = 8 v = - ∞ ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 37. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = 6 v = 3 v = 3 v = 6 v = 6 v = 12 v = 8 v = 8 v = 20 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 38. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = 6 v = 3 v = 3 v = 6 v = 6 v = 12 v = 8 v = 8 v = 20 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 39. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = 6 v = 3 v = 3 v = 6 v = 6 v = 12 v = 8 v = 8 v = 30 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 40. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = 6 v = 3 v = 3 v = 6 v = 6 v = 12 v = 8 v = 8 v = 30 v = - ∞ ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 41. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = 6 v = 3 v = 3 v = 6 v = 6 v = 12 v = 8 v = 8 v = 30 v = 20 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 42. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = 6 v = 3 v = 3 v = 6 v = 6 v = 12 v = 8 v = 8 v = 30 v = 20 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 43. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = 6 v = 3 v = 3 v = 6 v = 6 v = 12 v = 8 v = 8 v = 30 v = 20 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 44. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = 8 v = 3 v = 3 v = 6 v = 6 v = 12 v = 8 v = 8 v = 30 v = 20 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 45. 15-3 -5 -10 3 4 6 -7 12 4 8 12 30 20 1020 L M N SRQO P XVUT Z A’YW J KIE HGF B C D AMax Max Min v = 15 v = 8 v = 3 v = 3 v = 6 v = 6 v = 12 v = 8 v = 8 v = 30 v = 20 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 46. EXEMPLE ‘TIC-TAC-TOE’ Un processus MIN Un processus MAX ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 47. ARBRE DU JEUX MAX  MIN  Etat final (victoire de MAX)  Ici, on néglige les états “symétriques” afin de réduire la taille de l’arbre Nœuds MIN Nœuds MAX ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 48. 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 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 49. 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ésentele choix du joueur MAX (c'est doncun nœud Max) ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 50. INDICATIONS PRATIQUES ► Dans un programme de jeu, une classe Joueur possède un membre : joueurCourant ► La classe joueurCourant représentele type du Joueur pour pouvoir calibrer correctementla 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 heuristiquespour un même jeu (influencent la stratégie de jeu ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 51. IDÉE DE BASE : CHOIX D’UNE ACTION i. En considérant chaque état actuel comme étant état initial, on construitpour 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 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 52. 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 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 53. 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 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 54. 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 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 56. APERÇU GÉNÉRAL DE L’AMÉLIOARATION ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 57. b = 2 2 La valeur beta de MIN est supérieure à la valeur finale sauvegardée : elle ne peut jamais augmenter APERÇU GÉNÉRAL DE L’AMÉLIOARATION ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 58. 1 b = 1 2 La valeur beta de MIN est supérieure à la valeur finale sauvegardée : elle ne peut jamais augmenter APERÇU GÉNÉRAL DE L’AMÉLIOARATION ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 59. a = 1 La valeur alpha de MAX est inférieure à la valeur finale sauvegardée : Elle ne peut jamais diminuer 1 b = 1 2 APERÇU GÉNÉRAL DE L’AMÉLIOARATION ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 60. a = 1 1 b = 1 2 -1 b = -1 APERÇU GÉNÉRAL DE L’AMÉLIOARATION ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 61. a = 1 1 b = 1 2 -1 b = -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 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 62. 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 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 63. PRINCIPE DE L’ALGORITHME ALPHA-BÊTA ESPRIT 2012-2013 Mohamed Heny SELMI ©  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 α-β
  • 64.  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 influencerla valeur MinMax de la racine  La stratégie α-β nécessite l’entretiende2 valeurs : Une borne inf. sur la valeur qu’un nœud maximisantpeut se voir attribuer (α) Une borne sup. sur la valeur qu’un nœud minimisantpeut se voir attribuer(β) ESPRIT 2012-2013 Mohamed Heny SELMI © PRINCIPE DE L’ALGORITHME ALPHA-BÊTA
  • 65.  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œudssautés se trouvant à un niveau MAX (resp.MIN), sont appelés des nœuds élaguéspar une coupure α (resp. β). ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 66. EXEMPLE 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 67. 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 0 EXEMPLE ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 68. 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 0 0 EXEMPLE
  • 69. 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 0 0 -3 EXEMPLE ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 70. 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 0 0 -3 EXEMPLE ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 71. 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 0 0 0 -3 ESPRIT 2012-2013 Mohamed Heny SELMI © EXEMPLE
  • 72. 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 0 0 0 -3 3 3 EXEMPLE ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 73. 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 0 0 0 -3 3 3 ESPRIT 2012-2013 Mohamed Heny SELMI © EXEMPLE
  • 74. 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 0 0 0 0 -3 3 3 0 EXEMPLE ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 75. 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 0 0 0 0 -3 3 3 0 5 ESPRIT 2012-2013 Mohamed Heny SELMI © EXEMPLE
  • 76. 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 0 0 0 0 -3 3 3 0 2 2 EXEMPLE ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 77. 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 0 0 0 0 -3 3 3 0 2 2 ESPRIT 2012-2013 Mohamed Heny SELMI © EXEMPLE
  • 78. 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 0 0 0 0 -3 3 3 0 2 2 2 2 EXEMPLE ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 79. 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 0 0 0 0 -3 3 3 0 2 2 2 2 ESPRIT 2012-2013 Mohamed Heny SELMI © EXEMPLE
  • 80. 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 0 0 0 0 -3 3 3 0 2 2 2 2 0 EXEMPLE ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 81. 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 0 0 0 0 -3 3 3 0 2 2 2 2 5 0 ESPRIT 2012-2013 Mohamed Heny SELMI © EXEMPLE
  • 82. 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 0 0 0 0 -3 3 3 0 2 2 2 2 1 1 0 ESPRIT 2012-2013 Mohamed Heny SELMI © EXEMPLE
  • 83. 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 0 0 0 0 -3 3 3 0 2 2 2 2 1 1 -3 0 EXEMPLE ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 84. 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 0 0 0 0 -3 3 3 0 2 2 2 2 1 1 -3 0 ESPRIT 2012-2013 Mohamed Heny SELMI © EXEMPLE
  • 85. 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 0 0 0 0 -3 3 3 0 2 2 2 2 1 1 -3 1 1 0 ESPRIT 2012-2013 Mohamed Heny SELMI © EXEMPLE
  • 86. 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 0 0 0 0 -3 3 3 0 2 2 2 2 1 1 -3 1 1 -5 0 EXEMPLE ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 87. 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 0 0 0 0 -3 3 3 0 2 2 2 2 1 1 -3 1 1 -5 0 ESPRIT 2012-2013 Mohamed Heny SELMI © EXEMPLE
  • 88. 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 0 0 0 0 -3 3 3 0 2 2 2 2 1 1 -3 1 1 -5 -5 -5 0 EXEMPLE ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 89. 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 0 0 0 0 -3 3 3 0 2 2 2 2 1 1 -3 1 1 -5 -5 -5 0 EXEMPLE ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 90. 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 0 0 0 0 -3 3 3 0 2 2 2 2 1 1 -3 1 1 -5 -5 -5 1 1 ESPRIT 2012-2013 Mohamed Heny SELMI © EXEMPLE
  • 91. 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 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 EXEMPLE ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 92. 0 5 -3 25-2 32-3 033 -501 -350 1-55 3 2-35 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 ESPRIT 2012-2013 Mohamed Heny SELMI © EXEMPLE
  • 93. 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 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 94. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG Max Max Min Min (- ∞, + ∞) v = - ∞ ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 95. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG Max Max Min Min (- ∞, + ∞) v = - ∞ (- ∞, + ∞) v = + ∞ ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 96. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG Max Max Min Min (- ∞, + ∞) v = - ∞ (- ∞, 3) v = 3 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 97. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG Max Max Min Min (- ∞, + ∞) v = - ∞ (- ∞, 3) v = 3 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 98. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG Max Max Min Min (3, + ∞) v = 3 (- ∞, 3) v = 3 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 99. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG Max Max Min Min (3, + ∞) v = 3 (- ∞, 3) v = 3 (3, + ∞) v = + ∞ ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 100. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG Max Max Min Min (3, + ∞) v = 3 (- ∞, 3) v = 3 (3, + ∞) v = + ∞ (3, + ∞) v = - ∞ ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 101. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG Max Max Min Min (3, + ∞) v = 3 (- ∞, 3) v = 3 (3, + ∞) v = + ∞ (3, + ∞) v = - ∞ (3, + ∞) v = + ∞ ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 102. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG Max Max Min Min (3, + ∞) v = 3 (- ∞, 3) v = 3 (3, + ∞) v = + ∞ (3, + ∞) v = - ∞ (3, + ∞) v = 0 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 103. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG Max Max Min Min (3, + ∞) v = 3 (- ∞, 3) v = 3 (3, + ∞) v = + ∞ (3, + ∞) v = - ∞ (3, 0) v = 0 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 104. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG Max Max Min Min (3, + ∞) v = 3 (- ∞, 3) v = 3 (3, + ∞) v = + ∞ (3, + ∞) v = 0 (3, + ∞) v = 0 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 105. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG Max Max Min Min (3, + ∞) v = 3 (- ∞, 3) v = 3 (3, + ∞) v = + ∞ (3, + ∞) v = 0 (3, + ∞) v = 0 (3, + ∞) v = + ∞ ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 106. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG Max Max Min Min (3, + ∞) v = 3 (- ∞, 3) v = 3 (3, + ∞) v = + ∞ (3, + ∞) v = 0 (3, + ∞) v = 0 (3, 5) v = 5 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 107. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG Max Max Min Min (3, + ∞) v = 3 (- ∞, 3) v = 3 (3, + ∞) v = + ∞ (3, + ∞) v = 0 (3, + ∞) v = 0 (3, 5) v = 5 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 108. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG Max Max Min Min (3, + ∞) v = 3 (- ∞, 3) v = 3 (3, + ∞) v = + ∞ (5, + ∞) v = 5 (3, + ∞) v = 0 (3, 5) v = 5 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 109. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG Max Max Min Min (3, + ∞) v = 3 (- ∞, 3) v = 3 (3, 5) v = 5 (5, + ∞) v = 5 (3, + ∞) v = 0 (3, 5) v = 5 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 110. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG 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 = - ∞ ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 111. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG 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 = ∞ ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 112. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG 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 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 113. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG 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 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 114. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG 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 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 115. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG 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 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 116. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG 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 = - ∞ ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 117. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG 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 = ∞ ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 118. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG 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 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 119. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG 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 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 120. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG 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 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 121. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG 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 = ∞ ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 122. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG 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 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 123. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG 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 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 124. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG 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 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 125. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG 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 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 126. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG 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 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 127. 7 3 5 0 310 5 6 7 8 8 10 -3 -12 4 2 6 4 5 2 8 Q R S T YXWU V A6A5A4A3A2A1Z A8 A9A7 O PNI L MKJ T2 T3 T1 D E F HG 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 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 128. Max Max Min EXERCICE 1. Quel est le meilleurcoup pour le joueurMax avec le MinMax? 2. Dans cette arbre de jeu, quelsnoeuds 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 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 129. Max Max Min INDICATION 7 6 8 5 2 3 0 -2 6 2 5 8 9 2 7 38 0 6 8 9 8 3 80 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 130. Max Max Min 7 6 8 5 2 3 0 -2 6 2 5 8 9 2 7 38 0 6 8 9 8 3 80 ESPRIT 2012-2013 Mohamed Heny SELMI © INDICATION
  • 131. COMBIEN GAGNONS-NOUS ? 3 a = 3 -1 b=-1 (4) 3 a = 3 4 b=4 -1 ESPRIT 2012-2013 Mohamed Heny SELMI ©
  • 132. 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=bd pour MinMax ESPRIT 2012-2013 Mohamed Heny SELMI ©