I.A. Session 2009/2010 E.P.S.I. Bordeaux – C.S.I.I – 2 ème Année – Cours n°6
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.
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.
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
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
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.
Exemple (exemple Wikipedia :
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.
“We are continually faced with a series of great opportunities brilliantly disguised as insoluble problems.” John W. Gardner Authors: Ophir Paz ) Geoffroy Vincens