Aller au contenu
Kudos AI

Minimax et élagage alpha-bêta

Propager les valeurs dans un arbre de jeu sous hypothèse d'adversaire optimal, et couper les branches qui ne peuvent pas changer le résultat.

IntermédiaireModule 130 min · 120 XP
La figure 5.2 déroulée deux fois : les valeurs remontées dans l’arbre, puis le même arbre sous alpha-bêta, coupant deux feuilles sans déplacer la réponse.

Dans un jeu à deux joueurs, à somme nulle et à information parfaite, les deux joueurs savent tout et le gain de l’un est la perte de l’autre. MAX veut une utilité finale grande ; MIN la veut petite. Le jeu optimal contre un adversaire parfait a une définition exacte, et il se calcule de bas en haut.

La valeur minimax

MINIMAX(s)={UTILITY(s)if s is terminal,max⁡aMINIMAX(RESULT(s,a))if MAX moves at s,min⁡aMINIMAX(RESULT(s,a))if MIN moves at s.\text{MINIMAX}(s) = \begin{cases} \text{UTILITY}(s) & \text{if } s \text{ is terminal},\\ \max_{a} \text{MINIMAX}(\text{RESULT}(s,a)) & \text{if MAX moves at } s,\\ \min_{a} \text{MINIMAX}(\text{RESULT}(s,a)) & \text{if MIN moves at } s. \end{cases}

Lisez-la comme une hypothèse sur l’adversaire : MAX suppose que MIN répondra toujours par le pire coup pour MAX. La valeur est ce que MAX peut garantir même face à un jeu parfait - une borne inférieure indiscutable, non une prédiction de ce que fera un adversaire faible.

Exemple résolu

L’arbre standard à deux demi-coups. Une racine MAX a trois enfants MIN, dont les feuilles sont

B:(3,12,8),C:(2,4,6),D:(14,5,2).B: (3, 12, 8) , \qquad C: (2, 4, 6) , \qquad D: (14, 5, 2) .

Remontez les nœuds MIN. Chacun prend le minimum de ses feuilles :

B=min⁡(3,12,8)=3,C=min⁡(2,4,6)=2,D=min⁡(14,5,2)=2.B = \min(3,12,8) = 3 , \quad C = \min(2,4,6) = 2 , \quad D = \min(14,5,2) = 2 .

Remontez la racine MAX. Elle prend le maximum de ses enfants :

root=max⁡(3,2,2)=3.\text{root} = \max(3, 2, 2) = 3 .

La valeur minimax est 3\mathbf{3}, et le coup optimal est celui qui mène à BB.

Notez le piège du nœud DD : il contient la plus grande feuille de tout l’arbre, 1414. Il vaut 22, parce que MAX ne choisit pas quelle feuille de DD est atteinte - c’est MIN qui choisit, et MIN prendra le 22. Une branche vaut ce que votre adversaire autorisera, non ce qu’elle contient.

L’élagage alpha-bêta

Le minimax examine chaque nœud, ce qui est en O(bm)O(b^m) et sans espoir pour de vrais jeux. Mais vous n’avez pas besoin de voir chaque nœud pour connaître la valeur de la racine.

Supposons que MAX ait déjà établi que BB garantit 33. Examinez maintenant CC et trouvez que sa première feuille vaut 22. Le nœud CC est un nœud MIN, donc sa valeur finale est au plus 22 - MIN peut toujours prendre ce 22, et les feuilles suivantes ne peuvent que l’abaisser. Comme 2<32 < 3, MAX ne choisira jamais CC. Les feuilles restantes de CC ne peuvent pas changer la valeur de la racine : elles n’ont donc pas à être examinées du tout.

C’est toute l’idée, suivie au moyen de deux bornes : α\alpha, la meilleure valeur que MAX peut déjà garantir, et β\beta, la meilleure que MIN peut déjà garantir.

Ce que l’élagage change. Appliqué à un arbre minimax standard, l’alpha-bêta renvoie le même coup que le minimax, tout en élaguant des branches qui ne peuvent en rien influencer la décision finale. Il est exact, non approché : la valeur est identique, seul le travail diffère. Quiconque le décrit comme une approximation plus rapide l’a mal compris.

Interactif : les feuilles qu’il n’a jamais à regarder

MAX à la racine, MIN en dessous, douze feuilles.

3MAX3B3128≤2C246≤2D1452
Examinées
7 / 9
Jamais examinées
2
Valeur racine
3
Ordre des coups:

2 des douze feuilles n’ont jamais été évaluées, et la réponse est identique à celle du minimax. Notez le nœud D : il contient la plus grande feuille de tout l’arbre, 14, et il vaut 2, car ce n’est pas MAX qui choisit quelle feuille de D est atteinte, c’est MIN. Une branche vaut ce que votre adversaire vous laissera, pas ce qu’elle contient. Notez aussi que la valeur d’un nœud coupé s’affiche comme au plus une valeur et non comme une égalité : la recherche s’est arrêtée avant de savoir jusqu’où il descendait, et c’est précisément le travail économisé.

L’ordre des coups

L’élagage dépend entièrement de l’examen précoce des bons coups. Si le meilleur coup est cherché en premier, α\alpha monte immédiatement et les branches ultérieures sont coupées rapidement. Avec un ordre parfait, le facteur de branchement effectif tombe de bb à environ b\sqrt{b}, ce qui permet à une recherche d’aller à peu près deux fois plus profond dans le même temps. Avec l’ordre du pire cas, rien n’est élagué et vous avez payé le coût complet du minimax.

C’est pourquoi les vrais moteurs investissent lourdement dans des heuristiques d’ordonnancement avant d’approfondir la recherche.

Avant le quiz

Sachez remonter les valeurs dans un petit arbre, énoncer que l’alpha-bêta renvoie la valeur identique en examinant moins de nœuds, et expliquer pourquoi DD vaut 22 bien qu’il contienne 1414. Voyez La recherche adversariale et le minimax.

Références et lectures complémentaires

  • Stuart Russell, Peter Norvig, Artificial Intelligence: A Modern Approach, Pearson (3rd edition), 2010· Bibliothèque de référence Kudos AI

Les œuvres protégées par le droit d’auteur sont citées à titre de référence uniquement et ne sont pas hébergées ici ; veuillez consulter l’éditeur pour y accéder.

Débloquez tout le parcours

Cette première leçon est gratuite. Inscrivez-vous pour passer le quiz de maîtrise, gagner de l’XP et débloquer tous les modules, avec d’autres exemples interactifs et exécutables.