CSII2 – 06 – L`algorithme Min-Max - Nova-box

publicité
L’algorithme Min-Max
L’algorithme Min-Max
I.A. Session 2009/2010
E.P.S.I. Bordeaux – C.S.I.I – 2ème Année – Cours n°6
L’algorithme Min-Max
Définition
• Dans le cadre d’un jeu, l’algorithme Min-Max
permet de trouver le coup le plus favorable à
un joueur en passant en revue toutes les
possibilités.
L’algorithme Min-Max
Conditions d’application
• Le jeu doit être pour deux joueurs
• Le jeu doit se dérouler au tour par tour
• Le jeu doit être à somme nulle
– On doit déterminer une méthode pour calculer à chaque
tour les gains et les pertes de chacun des joueurs tels que :
• Gains(joueur) + Gains(adversaire) = 0
– Si les gains d’un joueur sont négatifs, on considère ceux-ci
comme des pertes.
L’algorithme Min-Max
Principe
• On construit d’abord l’arbre de jeu :
– On calcule la liste des coups possibles
– Pour chaque coup possible :
• Si le jeu est fini
– On calcule la valeur du jeu pour l’état atteint
• Sinon
– On applique réapplique l’algorithme pour le coup courant
L’algorithme Min-Max
Principe
• Une fois l’arbre de jeu construit, on fait remonter
les valeurs aux nœuds de l’arbre selon
l’algorithme suivant :
– En partant des feuilles :
• La valeur d’un nœud parent vaut :
– Le maximum de ses fils s’il représente un coup du joueur
– Le minimum de ses fils s’il représente un coup de l’adversaire
– On applique l’algorithme au nœud parent
• Le coup à effectuer est celui correspondant à la
valeur affectée au sommet de l’arbre
L’algorithme Min-Max
Explication
• L’algorithme permet de choisir parmi tous les
coups possibles celui qui maximise les gains de
l’adversaire et minimise les pertes du joueur.
• Puisqu’on se trouve dans un jeu à somme
nulle, « minimiser les pertes du joueur »
correspond à maximiser ses gains en
considérant que l’adversaire joue
parfaitement.
L’algorithme Min-Max
Exemple
(exemple Wikipedia : http://fr.wikipedia.org/wiki/Algorithme_MinMax)
L’algorithme Min-Max
Attention
• L’algorithme d’évaluation du jeu n’est pas
toujours trivial à définir
• Pour des raisons de performance, dans la
plupart des cas il n’est pas possible de
construire un arbre de jeu complet. On limite
alors la profondeur de l’arbre.
L’algorithme Min-Max
Authors:
Ophir Paz ([email protected] )
Geoffroy Vincens ([email protected])
Merci.
“We are continually faced with a series of great opportunities
brilliantly disguised as insoluble problems.”
John W. Gardner
Téléchargement