Algorithme minimax
1- Introduction:
Ce document fait une présentation synthétique d’un algorithme standard, le MinMax ou encore MiniMax, et de son amélioration principale l’élagage AlphaBeta, permettant la sélection d’un coup dans les jeux dits < jeux à deux joueurs à somme nulle et information complète >, famille dans laquelle se trouvent la plupart des jeux de réflexion (Othello, évidemment, mais aussi échecs, morpion, puissance 4, Go, etc) : somme nulle : les gains d’un joueur sont exactement l’opposé des gains de l’autre joueur (ces gains peuvent donc être négatifs) ; information complète : lors de sa prise de décision (i.e. du choix d’un coup à jouer dans le cas qui nous intéresse), chaque joueur connaît précisément
– ses possibilités d’action ;
– les possibilités d’action de son opposant (c’est-à-dire les répliques possibles de l’adversaire dans le cas d’Othello) ;
– les gains résultants de ces actions.
MinMax est un algorithme, et plus généralement une stratégie, qui provient du domaine de la
< Théorie des jeux > et a été identifié par Von Neumann il y a plus de 60 ans. So amélioration la plus connue est l’algorithme < MinMax avec élagage AlphaBeta > qui est encor aujourd’hui à la base, dans des versions quelque peu améliorées, des programmes de jeu les plus évolués (Logistello pour Othello, DeeperBlue, DeepFritz pour les échecs, etc.).
Ce document se décompose de la manière suivante. Dans la section 2 on présente une version idéale de l’algorithme MinMax et on introduit la notion de recherche à profondeur donnée et la nécessité d’avoir une fonction d’évaluation. La section 3 fournit le pseudo-code de Min-
Max et discute quelques-unes de ses limites. Le principe de l’élagage AlphaBeta, qui améliore notablement l’algorithme MinMax, est décrit dans la section 4.
Les algorithmes présentés dans les différentes tables proviennent du site de la Fédération Francçaise d’Othello et sont visibles, dans leur contexte original, à