Aller au contenu
Kudos AI
Read in English
Recherche et jeux

La recherche adversariale et le minimax

Comment un programme joue contre un adversaire qui cherche à le battre : la valeur minimax, pourquoi l’élagage alpha-bêta atteint la même réponse en examinant moins de nœuds, et un arbre de jeu élagué coup par coup.

7 min de lectureKudos AI
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.

Chercher un itinéraire diffère de jouer à un jeu sur un point décisif : dans un jeu, quelqu’un d’autre joue ensuite, et il cherche à vous faire perdre. Vous ne pouvez pas planifier une suite fixe d’actions, car les réponses de votre adversaire ne vous appartiennent pas. La recherche adversariale traite cela en supposant que l’adversaire joue aussi bien que possible, et en calculant la meilleure réponse à cela.

A. L’arbre de jeu

Deux joueurs, conventionnellement MAX (qui joue en premier et maximise) et MIN (qui minimise la même quantité). Un arbre de jeu a la position initiale à la racine, une branche par coup légal, des couches alternées de nœuds MAX et MIN, et des positions terminales aux feuilles portant une utilité - le gain pour MAX.

Comme l’utilité de MIN est l’opposée de celle de MAX, c’est un jeu à somme nulle : ce que l’un gagne, l’autre le perd exactement. C’est ce qui permet à un seul nombre par feuille de décrire l’issue pour les deux.

B. La valeur minimax

La valeur d’un nœud se définit récursivement :

\textscMinimax(s)={\textscUtility(s)if s is terminal,max⁡a\textscMinimax(\textscResult(s,a))if s is a MAX node,min⁡a\textscMinimax(\textscResult(s,a))if s is a MIN node.\textsc{Minimax}(s) = \begin{cases} \textsc{Utility}(s) & \text{if } s \text{ is terminal},\\[4pt] \max_{a} \textsc{Minimax}(\textsc{Result}(s, a)) & \text{if } s \text{ is a MAX node},\\[4pt] \min_{a} \textsc{Minimax}(\textsc{Result}(s, a)) & \text{if } s \text{ is a MIN node}. \end{cases}

MAX choisit la plus grande valeur parmi les enfants ; MIN choisit la plus petite. Les valeurs se propagent des feuilles jusqu’à la racine, et le meilleur coup de MAX à la racine est celui qui mène à l’enfant dont la valeur égale celle de la racine.

Ce que l’hypothèse achète, et ce qu’elle coûte. Le minimax suppose un adversaire qui joue optimalement. Contre un adversaire optimal, la valeur est exactement ce que MAX peut garantir : c’est donc une vraie garantie du pire cas, non une prédiction. Contre un adversaire faible elle est conservatrice : elle peut renoncer à un piège dans lequel un adversaire faillible serait tombé.

C. Dérouler un arbre à la main

Un arbre à trois demi-coups : la racine est MAX, ses trois enfants sont des nœuds MIN, chacun avec trois enfants terminaux.

Nœud MINValeurs terminales
BB3, 12, 8
CC2, 4, 6
DD14, 5, 2

La couche MIN. Chaque nœud MIN prend le minimum de ses enfants :

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

La racine. MAX prend le maximum :

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

MAX devrait aller en BB, garantissant au moins 3.

Remarquez le peu d’importance des grandes valeurs de feuilles. Le 1212 sous BB et le 1414 sous DD ne sont jamais obtenus, car MIN ne les autoriserait jamais - MIN va respectivement au 33 et au 22. Seuls les minima de chaque branche survivent.

D. L’élagage alpha-bêta

Le minimax examine chaque feuille, ce qui est sans espoir pour de vrais jeux - l’arbre croît exponentiellement avec la profondeur. L’élagage alpha-bêta calcule la valeur identique en sautant les branches dont on peut prouver qu’elles ne peuvent pas l’affecter.

Deux valeurs sont transportées dans la recherche, définies par Russell et Norvig ainsi :

  • α\alpha - la valeur du meilleur choix (le plus élevé) trouvé jusqu’ici en tout point de choix le long du chemin, pour MAX ;
  • β\beta - la valeur du meilleur choix (le plus bas) trouvé jusqu’ici le long du chemin, pour MIN.

La recherche élague les branches restantes d’un nœud dès qu’on sait que la valeur du nœud est pire que l’α\alpha courant (pour MAX) ou le β\beta courant (pour MIN).

E. Élaguer l’arbre, pas à pas

En parcourant le même arbre de gauche à droite :

Nœud BB. On examine 33, 1212, 88. Rien ne peut être élagué - c’est la première branche et MAX n’a pas encore d’α\alpha. B=3B = 3, la racine pose donc α=3\alpha = 3 : MAX peut déjà garantir 3.

Nœud CC. On examine la première feuille, 22. CC est un nœud MIN, donc sa valeur finale est au plus 22 - MIN ne peut que descendre à partir d’ici.

Or MAX dispose déjà d’un 3 garanti ailleurs. Une branche valant au plus 2 ne sera jamais préférée à une branche valant 3, quel que soit le contenu des feuilles restantes. Les feuilles 44 et 66 ne sont donc jamais examinées. C’est l’élagage.

Nœud DD. On examine 1414 : valeur provisoire 1414, encore au-dessus de α=3\alpha = 3, pas d’élagage. On examine 55 : valeur provisoire 55, encore au-dessus de 33. On examine 22 : valeur 22. D=2D = 2.

Racine. max⁡(3,2,2)=3\max(3, 2, 2) = 3 - la même réponse que le minimax complet.

L’alpha-bêta a examiné 7 des 9 feuilles, en élaguant les deuxième et troisième enfants de CC.

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é.

Python

S'exécute dans votre navigateur. La première exécution télécharge l'environnement Python (~10 Mo), puis il est mis en cache.

Son exécution affiche la valeur 3 par les deux méthodes, examined: [3, 12, 8, 2, 14, 5, 2] (sept feuilles), et les deux feuilles élaguées.

F. Pourquoi l’ordre des coups décide de tout

L’élagage dépend de la découverte précoce des bons coups. Si le meilleur coup de MAX est examiné en premier, α\alpha monte immédiatement et élague agressivement. S’il est examiné en dernier, il n’y a rien contre quoi élaguer avant la fin.

Avec un ordre parfait, l’alpha-bêta examine à peu près O(bm/2)O(b^{m/2}) nœuds au lieu de O(bm)O(b^m) pour un facteur de branchement bb et une profondeur mm. Cet exposant divisé par deux signifie chercher deux fois plus profond dans le même temps - la différence entre un programme amateur et un programme expert.

L’ordre parfait suppose de connaître la réponse d’avance : les vrais programmes l’approchent donc par des heuristiques - essayer d’abord les prises, essayer le coup qui était le meilleur à la profondeur inférieure précédente, et ainsi de suite.

G. Quand l’arbre est trop grand malgré tout

Même divisé par deux, l’exposant défait des jeux comme les échecs ou le go. Les programmes pratiques s’arrêtent tôt et appliquent une fonction d’évaluation aux positions non terminales, estimant l’utilité au lieu de la calculer.

Cela introduit deux nouveaux problèmes qui méritent d’être nommés. L’effet d’horizon est la tendance à repousser une perte inévitable juste au-delà de la profondeur de recherche, si bien qu’elle semble évitée alors qu’elle est simplement hors de vue. Et la fonction d’évaluation doit être appliquée à des positions quiescentes - s’arrêter au milieu d’un échange donne une estimation gravement fausse, la recherche est donc prolongée jusqu’à ce que les choses se stabilisent.

Historiquement, la recherche alpha-bêta fut conçue par John McCarthy en 1956 ; sa correction et sa complexité en temps furent établies par Knuth et Moore en 1975.

À retenir

  • La recherche adversariale suppose un adversaire optimal, ce qui fait de la valeur minimax une garantie du pire cas.
  • MAX maximise, MIN minimise, et les valeurs se propagent des feuilles à la racine.
  • Notre arbre : nœuds MIN 3,2,23, 2, 2 ; valeur racine 33 ; MAX joue vers BB.
  • L’alpha-bêta renvoie la valeur identique en sautant des branches prouvablement hors sujet - 7 feuilles au lieu de 9 ici.
  • α\alpha est la meilleure garantie de MAX jusqu’ici, β\beta celle de MIN ; une branche est coupée dès qu’elle ne peut plus les battre.
  • L’ordre des coups détermine le bénéfice ; un ordre parfait divise à peu près par deux l’exposant de profondeur effective.

La suite

Le minimax suppose une opposition stricte. La plupart des situations stratégiques réelles ne sont pas à somme nulle - les joueurs peuvent gagner tous les deux ou perdre tous les deux, et « jeu optimal » demande à être redéfini. Cette généralisation est La théorie des jeux et l’équilibre de Nash.

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.

Lecture associée

7 min de lectureRecherche et jeux

La planification classique : schémas, relaxations et graphes

Pourquoi la planification reçoit sa propre représentation au lieu d’être une note de bas de page de la recherche, comment supprimer des morceaux de la description d’une action produit une heuristique gratuitement, et ce qu’un graphe de planification remarque que les heuristiques but par but manquent systématiquement.

Intelligence artificielleRecherche et planification
8 min de lectureRecherche et jeux

La recherche classique : de la largeur d’abord à A*

Transformer un problème en espace d’états et laisser un algorithme le parcourir : ce que coûtent vraiment la complétude et l’optimalité, pourquoi c’est la mémoire et non le temps qui met en échec la recherche en largeur, et les deux conditions sur une heuristique qui rendent A* prouvablement optimal.

Recherche et planificationIntelligence artificielle
8 min de lectureRecherche et jeux

La théorie des jeux et l’équilibre de Nash

Le raisonnement stratégique quand les joueurs ne sont pas strictement opposés : stratégies dominantes, le dilemme du prisonnier déroulé depuis sa matrice de gains, l’équilibre de Nash, l’optimalité de Pareto, et pourquoi équilibre et efficacité peuvent s’opposer.

Théorie des jeuxIntelligence artificielleMathématiques
← Retour à tous les articles