Vous êtes sur la page 1sur 6

CH2 Relation entre les joueurs

z Dans un jeu, des joueurs peuvent être :


™Coopératifs: Ils veulent atteindre le même but.
but

Les algorithmes z En compétition directe (avec adversaires).


™Un gain pour les uns est une perte pour les autres.

de jeux ™Cas particulier : les jeux à somme nulle (zero-sum games).


–Jeux d’échecs, de dame, tic-tac-toe, Connect5, etc.
™C’est le type
yp de jjeux q
qui nous intéresse aujourd’hui.
j
z Mixte: Il y a tout un spectre entre les jeux purement coopératifs
et les jeux avec adversaires.
adversaires Exemple : jeux d
d’alliances
alliances.

2ème année BI 2

Jeux vs.
vs problèmes de
recherche Jeux entre deux adversaires
zJouer c'est rechercher le mouvement permettant de gagner z Noms des joueurs : Max
z Les jeux de plateau contiennent les notions de: Max vs Min
™état initial et état gagnant (but)

™opérateurs de transition (règles du jeu, déplacements de pièces)


™ Max est le premier* à
z Une fonction heuristique permet d d'estimer
estimer s
s'ilil y a gain,
gain perte ou match nul
jouer («notre joueur»).
z Premiers algorithmes de jeu

™ algorithme pour jeu parfait, J. von Neumann (1944)


™ Min est son
™ horizon fini, évaluation/approximation, K. Zuse (1945), C. Shannon
adversaire.
d i
(1950), A. Samuel (1952)
™ réduction de coût par élagage,
élagage McCarthy (1956) «Premier»
*«Premier» au sens
z Mais il y a d'importantes différences avec un problème standard de «prochain» dans la situation Min
recherche courante.

2ème année BI 3 2ème année BI 4


Arbre de recherche Arbre de recherche tic-tac-toe
z Problème de décision dans un jeu Î problème de recherche dans
un arbre
b :

™ Racine = Un état (configuration) initial.

™ Un ensemble d’opérateurs (coups légaux ou actions légales).

Ces opérateurs génèrent des transitions dans ll’arbre


arbre.

™Un test de terminaison.

Indique si le jeu est terminé.

™Une fonction d’utilité p


pour les états finaux.

2ème année BI 5 2ème année BI 6

Arbre de jeu (2-joueurs) Minimax


z Objectif: Trouver le coup parfait pour un jeu déterministe à
information parfaite
z Principe: maximiser la valeur d'utilité minimax pour Max avec
l'hypothèse que Min joue parfaitement pour la minimiser; Ceci
Max et Min sont les 2 joueurs.
joueurs Un gain pour Max revient à choisir le coup qui mène vers ll’état
état qui a la meilleure
est une perte pour Min et vice‐versa.
+1 pour un gain, ‐1 pour une perte, 0 pour un nul.
valeur possible contre le meilleur jeu de l’adversaire.
La somme des valeurs de la fonction d'évaluation 1)) étendre l'arbre de jjeu
pour les 2 joueurs est nulle à la fin du jeu.
Il faut disposer d'une fonction d'évaluation statique 2) calculer la valeur de la fonction de gain pour chaque
capable de mesurer la qualité d'une configuration nœud terminal
par rapport à un joueur (gén. Max)
car il n'est pas possible de produire tout l'arbre de 3) propager ces valeurs aux nœuds non-terminaux
recherche jusqu'à la fin du jeu, càd au moment z la valeur minimum (adversaire) aux nœuds MIN
où la décision ggain/perte/nul
/p / est claire.
z la
l valeur
l maximum
i (j
(joueur)
) aux nœudsd MAX
2ème année BI 7 2ème année BI 8
Minimax Minimax
z Algorithme: On visite l'arbre de jeu pour faire remonter à la Exemples:
racine une valeur ((appelée
pp « valeur du jjeu »)) q
qui est calculée
récursivement de la façon suivante :
™ minimax(p) = f(p) si p est une feuille de l’arbre où f est une
fonction d’évaluation de la position du jeu
™ minimax(p) = MAX(minimax(O1), …, minimax(On)) si p
est un noeud Joueur avec O1…On comme fils
™ minimax(p) = MIN(minimax(O1), …, minimax(On)) si p
estt un noeud
d Joueur
J avec O1…On
O1 O comme fils
fil

2ème année BI 9 2ème année BI 10

Minimax Minimax
Exemples: Exemples:
max
Min

max

min

2ème année BI 11 2ème année BI 12


Récapitulons: Minimax Application: Minimax
Étant donné un arbre de jeu, la stratégie optimale
peut être obtenue p
p par le calcul comme suit d’une
valeur minimax pour chaque nœud:

MINIMAX-VALUE(n)=
MINIMAX VALUE(n)=
UTILITY(n) si n est un nœud feuille
maxs€successors(n) MINIMAX-VALUE(s)
MINIMAX VALUE( )
si n est un nœud max
minss€successors(n) MINIMAX-VALUE(s)
si n est un nœud min

2ème année BI 13 2ème année BI 14

L’ALGORITHME ALPHA-BÊTA L’ALGORITHME ALPHA-BÊTA


Principe z L’α-β détermine la valeur MinMax de la racine de l’arbre
de jeu en traversant ll’arbre
arbre dans un ordre prédéterminé (de
z L’algorithme α-β élague une partie de l’arbre du jeu. Il s’agit gche à dte) sautant tous les nœuds qui ne peuvent plus
d’une procédure qui se charge
g de réduire le nombre de branches influencer la valeur MinMax de la racine.
de l’arbre à développer à celui d’évaluation nécessaires.

z 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,
mauvais sans qu
qu’on
on ait à les suivre jusqu
jusqu’à
à la
limite de prévision.

2ème année BI 15 2ème année BI 16


L’ALGORITHME ALPHA-BÊTA APPLICATION
zLes nœuds sautés se trouvant à un niveau MAX (resp.MIN), sont
pp
appelés des nœuds élagués
g par une coupure
p p α ((resp.
p β)
β).

z La stratégie
L t té i α-β β nécessite
é it l’entretien
l’ t ti de d 2 valeurs
l :
- Une borne inf. sur la valeur qu’un nœud maximisant peut se voir attribuer (α)
p sur la valeur q
- Une borne sup. qu’un nœud minimisant p
peut se voir attribuer (β)

2ème année BI 17 2ème année BI 18

L’ALGORITHME ALPHA-BÊTA Application

2ème année BI 19 2ème année BI 20


EXERCICE Exercice

1.Quel
1 Quel est le meilleur coup pour le joueur Max avec le MinMax?
2.Dans cette arbre de jeu, quels nœuds n’auraient pas besoin d’être
examinés en utilisant la procédure α-β ?

2ème année BI 21 2ème année BI 22

Vous aimerez peut-être aussi