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