les algorithmes de jeux

Post on 18-Jun-2015

820 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

LES

ALGORITHMES DE

JEUX

MOHAMED HENY SELMI

ECOLE SUPÉRIEURE PR IVÉE D 'INGÉNIERIE ET DE TECHNOLOGIES

medheny.selmi@esprit.tn 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

top related