Jeux et recherche adversariale

Découvre comment les programmes choisissent leurs coups dans des jeux contre des adversaires. Modélise un jeu comme un problème de recherche et trace son arbre de jeu, trouve le meilleur coup avec minimax et accélère la recherche grâce à l'élagage alpha-bêta et à un bon ordonnancement des coups. Conçois des fonctions d'évaluation pour les recherches qui doivent s'arrêter avant la fin, traite les dés et les adversaires imprévisibles avec expectimax, attribue à chaque joueur sa propre utilité dans les jeux multijoueurs et estime la valeur des coups à partir de parties simulées avec la recherche arborescente de Monte-Carlo et UCB1.

IntermédiaireUnité 4 sur 10 de la formation Formation : Intelligence artificielle : agents, recherche et apprentissage

Ce que tu vas apprendre

  1. Formalise précisément un jeu au tour par tour, classe-le selon les propriétés qui déterminent la méthode de recherche adaptée et représente ses parties possibles par un arbre de jeu.
    • Formaliser un jeu et déterminer son type
      Écris les composantes qui définissent un jeu et distingue les jeux déterministes, stochastiques, à information parfaite, à information imparfaite, à somme nulle et à somme générale.
    • Construire et lire un arbre de jeu
      Trace l'arbre des coups d'un jeu, utilise correctement les demi-coups, la profondeur et le facteur de branchement, et estime la taille d'un arbre de jeu complet.
  2. Calcule les valeurs minimax pour trouver le meilleur coup contre un adversaire qui joue parfaitement, implémente l'algorithme et étends cette idée aux jeux où plusieurs joueurs ont chacun leur propre utilité.
    • Calculer les valeurs minimax et la décision minimax
      Fais remonter les valeurs depuis les feuilles d'un arbre de jeu pour trouver la valeur minimax de chaque position et le coup que MAX doit jouer.
    • Implémenter la recherche minimax
      Transforme la définition de minimax en un algorithme récursif en profondeur d'abord, indique son coût en temps et en mémoire et évite les erreurs habituelles d'implémentation.
    • Effectuer une recherche dans des jeux à plusieurs joueurs ayant chacun leur propre utilité
      Utilise des vecteurs d'utilités pour choisir les coups lorsque plus de deux joueurs participent ou que leurs intérêts ne sont pas strictement opposés.
  3. Ignore les parties de l'arbre de jeu qui ne peuvent pas modifier la décision, suis alpha-bêta à la main et ordonne les coups pour que l'élagage économise autant de travail que possible.
    • Suivre pas à pas l'élagage alpha-bêta
      Suis les valeurs d'alpha et de bêta pendant la recherche, reconnais quand un sous-arbre peut être élagué et explique pourquoi le résultat correspond à celui de minimax.
    • Ordonner les coups pour rendre l'élagage efficace
      Explique comment l'ordre des coups détermine les économies réalisées par alpha-bêta et utilise les heuristiques d'ordonnancement, l'approfondissement itératif et les tables de transposition.
  4. Arrête la recherche avant la fin de la partie, estime la valeur des positions non terminales avec une fonction d'évaluation et traite les erreurs introduites par une limite de profondeur.
    • Concevoir une fonction d'évaluation
      Construis une fonction d'évaluation à partir des caractéristiques d'une position, calcule-la pour des positions concrètes et vérifie qu'elle satisfait aux exigences d'une bonne évaluation.
    • Interrompre la recherche de manière fiable
      Remplace le test de fin de partie par un test de coupure, explore plus profondément dans un temps limité et reconnais et réduis l'effet d'horizon et les autres erreurs dues à une limite de profondeur.
  5. Ajoute des nœuds de hasard aux arbres de jeu, calcule les valeurs expectiminimax et expectimax et conçois des fonctions d'évaluation qui conservent leur sens lorsque les issues sont moyennées.
    • Explorer des arbres comportant des nœuds de hasard
      Modélise les lancers de dés et les adversaires aléatoires avec des nœuds de hasard, calcule les valeurs expectiminimax pas à pas et reconnais quand l'élagage reste possible.
    • Mettre les évaluations à l'échelle et choisir entre minimax et expectimax
      Explique pourquoi les espérances nécessitent des évaluations correctement mises à l'échelle, vérifie quelles transformations préservent les décisions et choisis un modèle de l'adversaire adapté à la situation.
  6. Estime la valeur des coups à partir de parties simulées, équilibre l'exploration de nouveaux coups et l'exploitation des bons coups avec UCB1, et détermine quand la recherche arborescente de Monte-Carlo ou alpha-bêta convient le mieux à un jeu.
    • Exécuter les quatre phases de la recherche arborescente de Monte-Carlo
      Développe un arbre de recherche par sélection, développement, simulation et rétropropagation, mets à jour les nombres de visites et de victoires et choisis le coup final.
    • Équilibrer exploration et exploitation avec UCB1
      Applique la formule UCB1 pendant la sélection, calcule-la pour des nombres concrets et observe comment la constante d'exploration modifie le choix.
    • Comparer la recherche arborescente de Monte-Carlo à l'élagage alpha-bêta et choisir une méthode
      Évalue les forces et les faiblesses d'alpha-bêta et de la recherche arborescente de Monte-Carlo, relie-les à des programmes de jeu marquants et choisis une méthode selon les propriétés d'un jeu.

Recherche adversariale : cours

6 chapitres

1

Transformer un jeu en problème de recherche

Un programme a besoin d'une description précise d'un jeu avant de pouvoir choisir un coup. Cette description doit indiquer qui agit, ce qui peut se produire ensuite et comment une partie terminée est évaluée. L'arbre de jeu présente alors les suites possibles. Pour le lire, il faut suivre les tours, la profondeur et les positions répétées, tout en gardant à l'esprit qu'un adversaire contrôle certaines branches.

1.1 États, règles et joueurs

Une recherche dans un jeu commence par un état : suffisamment d'informations pour déterminer ce qui peut se produire ensuite. Au morpion, il s'agit de la grille et du joueur au trait. La grille seule est incomplète, car la prochaine marque dépend du joueur dont c'est le tour.

Définir les six composantes

Un modèle de jeu fournit :

  • Un état initial, S0.
  • Une fonction, Joueur(s), qui indique le joueur agissant dans l'état s.
  • Les coups autorisés, Actions(s).
  • Un modèle de transition, Reˊsultat(s,a), qui donne l'état après l'action a.
  • Un test de fin de partie, Est-Terminal(s), qui détecte la fin de la partie.
  • Une fonction d'utilité, Utiliteˊ(s,p), qui donne le gain numérique du joueur p dans un état terminal.

Au morpion, on part d'une grille vide de 3×3 cases et X joue en premier. Une action choisit une case vide. La transition place la marque du joueur au trait et passe le tour à l'autre joueur. La partie se termine dès qu'un joueur aligne trois marques sur une ligne, une colonne ou une diagonale, ou lorsque la grille pleine donne une partie nulle. Du point de vue de X, attribue +1 à une victoire, 0 à une partie nulle et −1 à une défaite. Le test de fin de partie doit être exécuté avant de placer une autre marque : la partie ne continue pas après une victoire.

Classer le jeu selon des axes distincts
PropriétéSignificationExemple
DéterministeUn état et un coup déterminent l'état suivant sans événement aléatoire.Échecs
StochastiqueDes événements aléatoires contribuent à déterminer ce qui se produit.Backgammon
Information parfaiteChaque joueur peut observer l'état complet du jeu.Go
Information imparfaiteUne partie pertinente de l'état est cachée.Poker
Deux joueurs ou multijoueurLe nombre de joueurs détermine le nombre d'intérêts à modéliser.Échecs ou jeu à trois joueurs
Somme nulle ou somme généraleLes intérêts sont strictement opposés ou les joueurs peuvent gagner ensemble.Victoire ou défaite, ou récompenses partagées

Ces axes sont indépendants. Les dés rendent le backgammon stochastique même si son plateau est visible. Les cartes cachées concernent l'information, et non le caractère aléatoire d'une action elle-même. Dans un jeu à information cachée, un joueur raisonne sur les états possibles compatibles avec ses observations, qui forment un état de croyance.

Garder un point de vue fixe sur les gains

Dans un jeu à deux joueurs à somme nulle, le gain d'un joueur est la perte de l'autre. Les scores à somme constante se comportent de la même façon : 1 pour une victoire, 0 pour une défaite et ½ pour chaque joueur en cas de partie nulle donnent toujours un total de 1. Un seul nombre suffit pour exprimer cette opposition. Appelons MAX le joueur qui souhaite l'augmenter et MIN celui qui souhaite le réduire. Ce sont des rôles : MAX n'est pas nécessairement toujours les Blancs ou X.

Une recherche ordinaire peut choisir chaque action le long d'un chemin. Un agent qui joue doit répondre à des coups qu'il ne contrôle pas. Sa solution est une stratégie, qui précise quoi faire dans chaque situation qu'il pourrait rencontrer. Un plan qui ne fonctionne que si l'adversaire donne une réponse favorable ne suffit pas.

Points clés

  • Indique le joueur au trait dans l'état.
  • Définis les actions autorisées, les transitions, la fin de partie et les utilités avant la recherche.
  • Le hasard et l'information cachée sont des propriétés distinctes.
  • MAX et MIN comparent une même utilité mesurée du point de vue de MAX.
  • Une stratégie doit traiter les réponses possibles de l'adversaire.

1.2 Lire la taille et la forme d'un arbre de jeu

Un arbre de jeu part de l'état courant. Chaque arête sortante représente un coup autorisé et son enfant est l'état obtenu. Indique à chaque nœud non terminal le joueur qui y agit. Dans un jeu à deux joueurs qui jouent chacun leur tour, les niveaux de MAX et de MIN alternent.

Compter les tours individuels

Un demi-coup est un coup joué par un joueur. Aux échecs, un coup complet comprend généralement un tour des Blancs et un tour des Noirs, soit deux demi-coups. Une recherche à la profondeur 4 depuis le tour des Blancs atteint les positions obtenues après que les Blancs, les Noirs, les Blancs puis les Noirs ont joué. Compte les arêtes à partir de la racine, dont la profondeur est zéro.

Soit b le facteur de branchement et m la profondeur maximale. Un arbre uniforme a bd nœuds à la profondeur d et bm feuilles. Son nombre total de nœuds est :

1+b+b2+⋯+bm.

Pour b>1, les niveaux les plus profonds dominent, ce qui donne une croissance exponentielle. Avec quatre coups par position, la profondeur 3 compte 64 feuilles et la profondeur 4 en compte 256. Un demi-coup supplémentaire multiplie le nombre de feuilles par quatre et non par un.

Distinguer les parties des positions

Le morpion compte au plus 9!=362 880 ordres pour remplir la grille. Beaucoup continueraient après une victoire et ne sont pas des parties complètes autorisées. En s'arrêtant immédiatement à chaque victoire, on obtient 255 168 parties complètes : 131 184 victoires de X, 77 904 victoires de O et 46 080 parties nulles. Dans les parties autorisées, il n'existe que 5 478 positions distinctes sur la grille, grille vide comprise.

L'écart vient en partie des transpositions : des ordres de coups différents qui atteignent le même état. X peut jouer dans un coin, O au centre, puis X dans le coin opposé, ou X peut jouer ces deux coins dans l'ordre inverse. Les deux chemins aboutissent à la même grille et au même joueur au trait. Un arbre conserve les deux chemins ; un graphe de jeu peut stocker une seule fois leur état commun. Pour réutiliser le travail, il faut identifier les états complets, et non seulement les grilles visuellement semblables.

Comprendre pourquoi la recherche complète devient impossible

On modélise souvent les échecs avec environ 35 coups autorisés par position et une partie de 100 demi-coups, soit 50 coups par joueur. On obtient cet ordre de grandeur :

35100≈10154.

Les branches réelles se terminent à des profondeurs différentes et présentent des nombres de coups différents, mais cette estimation suffit à expliquer pourquoi il est irréaliste d'énumérer un arbre de jeu d'échecs entier. Sur un plateau de go vide de 19×19 cases, la première pierre dispose à elle seule de 361 points possibles.

L'arbre de recherche est ce qu'un algorithme génère effectivement. Pour un jeu fini qu'il explore jusqu'au bout, minimax simple génère l'arbre de jeu complet sous l'état considéré. L'élagage, les limites de profondeur et la simulation sélective en génèrent moins. Une feuille de coupure peut donc être une position non terminale, même si une feuille de l'arbre de jeu complet est terminale.

Visualiser une stratégie dans l'arbre

Un sous-arbre de stratégie pour MAX conserve une arête choisie à chaque nœud de MAX et toutes les arêtes autorisées à chaque nœud de MIN. MAX choisit sa propre action mais doit conserver une réponse à tout coup de l'adversaire. Un seul chemin de la racine à une feuille ne décrit qu'une partie possible. Il ne peut pas montrer que le plan choisi résiste aux autres réponses.

Points clés

  • Un demi-coup est le coup d'un joueur ; la profondeur de la racine est zéro.
  • Un arbre uniforme a environ b à la puissance m feuilles.
  • Les transpositions répètent des états atteints par différents ordres de coups.
  • Une stratégie conserve une réponse à chaque coup possible de l'adversaire.
2

Choisir des coups contre un adversaire

L'issue qui paraît la meilleure peut être inaccessible parce qu'un adversaire peut choisir une autre réponse. Minimax remonte à partir des issues pour trouver ce que chaque joueur peut garantir. Sa forme récursive transforme ce raisonnement en programme. Lorsque les joueurs ont des intérêts différents, le même processus de remontée doit conserver un gain pour chacun et utiliser la préférence du joueur dont c'est le tour.

2.1 Faire remonter les valeurs minimax

Minimax choisit le meilleur résultat que MAX peut garantir face à un adversaire optimal. L'utilité de chaque feuille est mesurée pour MAX. Un grand nombre favorise MAX, même lorsque le nœud évalué appartient à MIN.

Remonter des feuilles vers la racine

À un nœud terminal, renvoie son utilité. À un nœud de MAX, renvoie la plus grande valeur des enfants. À un nœud de MIN, renvoie la plus petite. Continue jusqu'à ce que la racine reçoive une valeur :

V(s)={Utiliteˊ(s,MAX)si s est terminalmaxaV(Reˊsultat(s,a))si MAX joueminaV(Reˊsultat(s,a))si MIN joue.

La valeur d'un enfant résume déjà la suite optimale à partir de cet enfant. C'est pourquoi un parent compare les valeurs renvoyées au lieu de rouvrir chaque feuille située en dessous. La récursion fonctionne quel que soit le nombre de niveaux alternés.

Suivre une décision sur deux demi-coups

MAX dispose de trois coups qui mènent chacun à un nœud de MIN :

Coup de MAXUtilités terminales accessibles à MINValeur remontée
A4, 9, 64
B2, 15, 132
C5, 8, 105

Prends d'abord le minimum de chaque ligne. MIN peut ramener la valeur de A à 4, celle de B à 2 et celle de C à 5. MAX prend ensuite le maximum de ces trois résultats :

max⁡(4,2,5)=5.

La valeur minimax est 5. La décision minimax est le coup vers C. La première est un nombre qui décrit la position ; la seconde est une action que le programme peut jouer.

La plus grande feuille, 15, se trouve sous B, mais MAX ne contrôle pas la réponse qui y mène. MIN choisirait 2. La moyenne des feuilles de B vaut 10, ce qui paraît également attrayant, mais une moyenne modélise un choix aléatoire avec des probabilités adaptées. Face à un adversaire optimal, il faut prendre un minimum.

Lire la variante principale

La variante principale est la suite suivie lorsque les joueurs choisissent des coups optimaux. Ici, MAX joue C et MIN choisit sa feuille de valeur 5. Dans un arbre plus profond, suis le maximum ou le minimum choisi à chaque niveau. L'utilité terminale de cette suite correspond à la valeur de la racine. Si plusieurs coups sont ex æquo, plusieurs suites optimales peuvent exister.

Comprendre la garantie

Dans un jeu fini, déterministe, à deux joueurs, à somme nulle et à information parfaite, suivre la stratégie minimax garantit au moins la valeur de la racine. Un adversaire optimal limite MAX à cette valeur. Une erreur de l'adversaire peut permettre un meilleur résultat : 5 est donc un minimum garanti, et non une prédiction selon laquelle chaque partie se termine exactement à 5.

Un programme peut exploiter une faiblesse tout en conservant ce minimum garanti. Si deux coups ont tous deux une valeur minimax de 5, il peut préférer celui qui donne davantage d'occasions à l'adversaire de se tromper. Choisir un coup de valeur minimax 2 parce qu'il contient un 15 tentant revient à abandonner la garantie de 5. La différence tient au fait que le coup conserve ou non la meilleure valeur dans le pire cas.

Points clés

  • Fais remonter un minimum aux nœuds de MIN et un maximum aux nœuds de MAX.
  • La valeur minimax est un nombre ; la décision est un coup.
  • La plus grande feuille ne suffit pas à déterminer le meilleur coup.
  • Une variante principale suit les choix optimaux à chaque niveau.
  • Minimax complet garantit sa valeur face à un adversaire optimal.
  • Un adversaire plus faible peut permettre un résultat supérieur à cette garantie.

2.2 Écrire un programme minimax récursif

La définition de minimax est déjà un programme récursif. Une fonction de valeur prend un état et renvoie un nombre. Une fonction de recherche compare les premiers coups possibles et renvoie l'action à jouer.

Séparer le choix du coup du calcul de la valeur

Le pseudocode suivant suppose que MAX joue à la racine et que les tours alternent :

MINIMAX-SEARCH(s):
    if Is-Terminal(s): return no action
    bestMove = no action
    bestValue = -infinity
    for a in Actions(s):
        value = MIN-VALUE(Result(s, a))
        if value > bestValue:
            bestValue = value
            bestMove = a
    return bestMove

MAX-VALUE(s):
    if Is-Terminal(s): return Utility(s, MAX)
    v = -infinity
    for a in Actions(s):
        v = max(v, MIN-VALUE(Result(s, a)))
    return v

MIN-VALUE(s):
    if Is-Terminal(s): return Utility(s, MAX)
    v = +infinity
    for a in Actions(s):
        v = min(v, MAX-VALUE(Result(s, a)))
    return v

Initialise MAX à l'infini négatif pour que n'importe quel enfant améliore sa valeur ; initialise MIN à l'infini positif. Teste la fin de partie avant de générer les successeurs. Une grille de morpion pleine sans alignement gagnant est une partie nulle, et non une position non terminale dont il faut choisir le meilleur coup dans une liste vide.

Suivre ce que découvre la récursion

Considère cette grille de morpion, où X est au trait et un point représente une case vide :

X O X
. O .
. . .

O menace de compléter la colonne du milieu. Si X joue ailleurs qu'en bas au milieu, O peut gagner au tour suivant. Ces coups ont une valeur de −1 pour X. Jouer en bas au milieu bloque la victoire immédiate et permet une partie nulle si les deux joueurs jouent au mieux, ce qui donne la valeur 0. La racine renvoie la case du bas au milieu. L'algorithme n'a pas besoin d'une instruction distincte indiquant cette menace : les issues terminales déterminent les valeurs.

Évaluer le coût en temps et en mémoire

Minimax en profondeur d'abord examine O(bm) nœuds pour un facteur de branchement b et une profondeur maximale m. Stocker tous les nœuds frères générés à chaque niveau actif nécessite une mémoire O(bm). Générer les successeurs un par un réduit le stockage de la recherche active à O(m), indépendamment de la représentation de l'état. Le temps exponentiel, et non la pile de récursion, constitue généralement le principal obstacle.

Respecter la convention de calcul des scores

Dans le code MAX/MIN, chaque appel renvoie l'utilité de MAX. N'inverse pas son signe simplement parce que MIN joue ensuite. Negamax utilise une autre convention : chaque valeur est donnée du point de vue du joueur au trait ; la valeur d'un enfant est donc changée de signe avant que le parent ne la maximise :

V(s)=max⁡a(−V(Reˊsultat(s,a))).

Pour un jeu qui se termine en moins de 100 demi-coups, on peut tenir compte du moment de l'issue en attribuant à une victoire de MAX à la profondeur d le score 100−d, à une défaite le score −100+d et à une partie nulle le score 0. Les victoires plus rapides obtiennent alors un meilleur score et les défaites retardées sont moins négatives. La limite stricte de profondeur garantit que chaque victoire reste positive et chaque défaite négative.

Par exemple, les victoires aux demi-coups 3 et 7 valent 97 et 93 : la victoire la plus rapide est donc préférée. Les défaites à ces profondeurs valent −97 et −93, ce qui rend la défaite plus tardive préférable, même si les deux restent moins bonnes qu'une partie nulle.

Points clés

  • Teste les états terminaux avant de développer les coups.
  • Renvoie des actions depuis la fonction de recherche et des nombres depuis les fonctions de valeur.
  • Minimax en profondeur d'abord prend un temps exponentiel.
  • Toutes les utilités MAX/MIN conservent le point de vue de MAX.
  • Negamax change de point de vue et inverse le signe de chaque valeur renvoyée par un enfant.

2.3 Conserver un gain pour chaque joueur

Une seule utilité pour MAX suffit lorsque les intérêts de deux joueurs sont strictement opposés. Avec plusieurs joueurs ou des intérêts qui se rejoignent, conserve un vecteur d'utilités. Pour les joueurs A, B et C, le vecteur (1, 2, 6) donne leurs gains dans cet ordre.

Choisir selon la composante du joueur actif

À un nœud où C joue, compare les troisièmes composantes des vecteurs des enfants. Renvoie le vecteur entier de l'enfant préféré par C. À un nœud de B, compare les deuxièmes composantes des vecteurs renvoyés ; à un nœud de A, compare les premières.

Ne maximise pas chaque composante indépendamment. Si les issues possibles sont (1, 2, 6) et (4, 2, 3), C choisit (1, 2, 6). La combinaison (4, 2, 6) n'est pas une issue possible et ne peut pas être remontée.

Remonter les choix de trois joueurs

A joue en premier, puis B et enfin C. Après le coup de gauche de A, B choisit entre deux nœuds de C :

  • Le premier a pour feuilles (1, 2, 6) et (4, 2, 3). C choisit (1, 2, 6).
  • Le second a pour feuilles (6, 1, 2) et (7, 4, 1). C choisit (6, 1, 2).

B compare les deuxièmes composantes, 2 et 1 : la branche de gauche renvoie donc (1, 2, 6).

Après le coup de droite de A :

  • C choisit (5, 4, 5) plutôt que (2, 5, 4), car 5 dépasse 4 dans la troisième composante.
  • C choisit (5, 2, 4) plutôt que (7, 7, 1), car 4 dépasse 1 dans la troisième composante.

B compare les deuxièmes composantes, 4 et 2 : la branche de droite renvoie donc (5, 4, 5). Enfin, A compare les premières composantes, 1 et 5, et choisit la droite. La racine reçoit le vecteur entier (5, 4, 5).

Préciser comment les ex æquo sont départagés

Si C peut choisir (2, 3, 4) ou (6, 1, 4), les deux donnent 4 à C. Le gain final de A pourrait être 2 ou 6. Une prédiction nécessite une règle de départage ou un modèle du choix de C. L'indifférence d'un autre joueur n'est pas nécessairement sans conséquence pour le joueur à la racine.

ModèlePréférence de chacun des autres joueurs
Remontée des vecteurs d'utilitésUne valeur plus grande dans sa propre composante du vecteur
Plusieurs adversaires MINUne valeur plus petite de l'unique utilité de MAX
Recherche paranoïaqueChaque autre joueur est modélisé comme membre d'une coalition contre le joueur à la racine

Si deux poursuivants veulent tous deux capturer MAX, un tour comprend un niveau MAX et un niveau MIN pour chaque poursuivant. Avec deux poursuivants, un tour représente trois demi-coups. Ce modèle diffère de celui de trois joueurs indépendants qui poursuivent leurs propres récompenses.

Admettre que les intérêts peuvent se rejoindre

Dans un jeu à somme générale, les deux joueurs peuvent préférer (100, 100) à des gains conjoints plus faibles. Les joueurs peuvent aussi tirer temporairement avantage d'une attaque contre un meneur commun. Un tel comportement, semblable à une alliance, peut découler de leurs propres préférences et changer lorsque la position change.

Les coupures alpha-bêta ordinaires reposent sur des intérêts opposés et ne s'appliquent pas directement aux vecteurs d'utilités. Le modèle paranoïaque rétablit une opposition entre deux joueurs, ce qui permet la recherche alpha-bêta, mais il peut prédire une hostilité coordonnée que les autres joueurs ne choisiraient pas réellement.

Points clés

  • Un vecteur d'utilités conserve un gain par joueur.
  • Le joueur actif choisit selon sa propre composante et renvoie le vecteur entier.
  • Les ex æquo nécessitent une règle lorsque les choix à égalité affectent différemment les autres joueurs.
  • Plusieurs niveaux MIN conviennent à des adversaires qui partagent le but de réduire l'utilité de MAX.
  • Le modèle paranoïaque suppose une coalition contre le joueur à la racine.
3

Ignorer les branches qui ne peuvent pas modifier le choix

Minimax peut passer l'essentiel de son temps à confirmer des choix qu'un joueur ne permettrait jamais. Alpha-bêta transmet des bornes le long du chemin courant pour pouvoir arrêter ces recherches plus tôt. L'ordre des coups détermine la rapidité avec laquelle des bornes utiles apparaissent. L'approfondissement itératif et les résultats stockés aident un programme à trouver cet ordre et à réutiliser le travail antérieur sans confondre une estimation inachevée avec une valeur exacte.

3.1 Suivre alpha et bêta dans l'arbre

L'élagage alpha-bêta donne la même valeur à la racine que minimax sur le même arbre avec les mêmes valeurs aux feuilles. Il économise du travail en démontrant que certaines branches ne peuvent pas améliorer le choix. Des coups optimaux ex æquo peuvent être renvoyés dans un ordre différent.

Transmettre une fenêtre de recherche le long du chemin

Deux bornes décrivent les choix disponibles au-dessus du nœud courant :

  • α est la meilleure valeur disponible pour MAX le long du chemin : MAX peut déjà obtenir au moins cette valeur.
  • β est la meilleure valeur disponible pour MIN le long du chemin : MIN peut déjà limiter MAX à cette valeur au plus.

Initialise la racine avec l'infini négatif et l'infini positif. Chaque enfant récursif reçoit les bornes courantes. Ce sont des arguments locaux, et non des nombres globaux partagés entre des recherches de nœuds frères sans lien.

À un nœud de MAX, conserve la plus grande valeur d'enfant rencontrée. Arrête-toi lorsqu'elle atteint ou dépasse bêta : MIN, plus haut, dispose déjà d'une autre possibilité qui ne dépasse pas bêta. Sinon, augmente alpha lorsque MAX trouve une amélioration. À un nœud de MIN, conserve la plus petite valeur d'enfant rencontrée. Arrête-toi lorsqu'elle atteint alpha ou lui devient inférieure : MAX, plus haut, dispose déjà d'une autre possibilité au moins aussi bonne. Sinon, diminue bêta.

MAX-VALUE(s, alpha, beta):
    if Is-Terminal(s): return Utility(s, MAX)
    v = -infinity
    for a in Actions(s):
        v = max(v, MIN-VALUE(Result(s, a), alpha, beta))
        if v >= beta: return v
        alpha = max(alpha, v)
    return v

MIN-VALUE(s, alpha, beta):
    if Is-Terminal(s): return Utility(s, MAX)
    v = +infinity
    for a in Actions(s):
        v = min(v, MAX-VALUE(Result(s, a), alpha, beta))
        if v <= alpha: return v
        beta = min(beta, v)
    return v

La racine compare les actions et conserve alpha entre elles :

ALPHA-BETA-SEARCH(s):
    if Is-Terminal(s): return no action
    alpha = -infinity
    beta = +infinity
    bestMove = no action
    for a in Actions(s):
        v = MIN-VALUE(Result(s, a), alpha, beta)
        if v > alpha:
            alpha = v
            bestMove = a
    return bestMove
Suivre une coupure à un nœud de MIN

Explore de gauche à droite les branches de MIN A = (4, 9, 6), B = (2, 15, 13) et C = (5, 8, 10). A doit examiner ses trois feuilles et renvoie 4. La racine a maintenant un alpha de 4. La première feuille de B vaut 2. Son minimum final ne peut que rester à 2 ou diminuer : B ne peut donc pas surpasser A. Ignore les deux feuilles restantes de B. C examine ses trois feuilles et renvoie 5. La racine choisit C après avoir examiné sept feuilles sur neuf.

Suivre une coupure à un nœud de MAX

Supposons qu'un parent de MIN possède déjà un enfant de valeur 3, ce qui fixe bêta à 3. Son enfant de MAX suivant trouve une feuille de valeur 6. La valeur de cet enfant est d'au moins 6 : MIN préférera donc la valeur 3 dont il dispose déjà. Ignore les enfants restants de ce nœud de MAX. Le raisonnement justifiant la coupure utilise l'autre possibilité de MIN, même si le nœud courant est celui de MAX.

Un nœud de MIN élagué peut renvoyer une borne supérieure ; un nœud de MAX élagué peut renvoyer une borne inférieure. Leurs valeurs exactes restent inconnues. La valeur obtenue à la racine est exacte pour l'arbre exploré. L'égalité permet aussi une coupure, car une branche qui peut au mieux égaler la meilleure valeur courante ne peut pas l'améliorer.

Points clés

  • Alpha est la borne inférieure disponible pour MAX ; bêta est la borne supérieure disponible pour MIN.
  • MAX augmente alpha et effectue une coupure à bêta.
  • MIN diminue bêta et effectue une coupure à alpha.
  • Transmets les bornes vers le bas comme arguments locaux.
  • Le résultat d'une coupure peut être une borne plutôt qu'une valeur exacte du nœud.
  • L'élagage préserve la valeur minimax de la racine, y compris lorsque les coupures ont lieu en cas d'égalité.

3.2 Trouver tôt des bornes utiles et réutiliser les recherches

Alpha-bêta économise le plus de travail lorsque les coups forts sont explorés tôt. Les valeurs ne changent pas avec l'ordre des coups, mais le moment où la recherche peut justifier une coupure change.

Comparer deux ordres

Pour les trois branches de MIN A = (4, 9, 6), B = (2, 15, 13) et C = (5, 8, 10), commencer par A conduit à examiner sept feuilles. Commence plutôt par C. Ses trois feuilles fixent alpha à 5. A trouve ensuite immédiatement 4 et effectue une coupure ; B trouve immédiatement 2 et effectue une coupure. Seules cinq feuilles sont évaluées et la réponse reste C, de valeur 5.

Pour un arbre uniforme avec un ordonnancement parfait, le nombre de feuilles est :

b⌈m/2⌉+b⌊m/2⌋−1.

Cela représente environ O(bm/2) au lieu de O(bm) pour minimax. Le facteur de branchement effectif descend à environ b, ce qui permet d'atteindre environ deux fois la profondeur pour un budget comparable. Avec b=35, la recherche à la profondeur 8 avec un ordonnancement parfait évalue 3 001 249 feuilles ; minimax ordinaire à la profondeur 4 en compte 1 500 625. La comparaison porte sur l'ordre de grandeur et non sur un temps d'exécution identique.

OrdonnancementCoût approximatif en feuilles
ParfaitO(bm/2)
Aléatoire, pour des facteurs de branchement modérésEnviron O(b3m/4)
Pire casO(bm)

Dans le pire ordre, alpha-bêta peut examiner chaque feuille de minimax. Ses vérifications supplémentaires des bornes ajoutent un surcoût même lorsqu'elles n'économisent aucune feuille.

Utiliser des indices d'ordonnancement peu coûteux

Le meilleur coup exact est inconnu avant la recherche. Les programmes utilisent des estimations rapides. Aux échecs, ils peuvent essayer les prises, puis les menaces, puis les coups calmes. Un coup tueur a provoqué une coupure ailleurs à la même profondeur de recherche et est essayé tôt dans une autre position. Ces indices influencent l'efficacité ; ils ne justifient pas d'écarter les autres coups autorisés.

L'approfondissement itératif recherche jusqu'à la profondeur 1, puis 2, puis 3 et ainsi de suite. Un coup fort de l'itération précédente devient un candidat examiné tôt dans la suivante. Le résultat de l'itération achevée la plus profonde est aussi prêt si le temps est écoulé.

Le coût du travail répété varie selon l'élagage. Pour une recherche uniforme sans élagage avec un facteur de branchement de 35, toutes les itérations moins profondes ajoutent environ 1/(35−1)≈2,9% à la recherche finale. Pour alpha-bêta avec un ordonnancement parfait, les profondeurs 1 à 7 réunies évaluent 1 677 159 feuilles, soit environ 56 % du nombre de feuilles à la profondeur 8. Un meilleur ordonnancement peut malgré tout rendre l'ensemble du processus avantageux.

Mettre les positions en mémoire avec leur signification

Une table de transposition stocke des résultats indexés par état de jeu complet. Si un autre ordre de coups atteint cet état, le programme peut réutiliser une entrée adaptée. Stocke la profondeur explorée et indique si le résultat est exact, une borne inférieure ou une borne supérieure. Une entrée peu profonde ne remplace pas les informations nécessaires à une recherche plus profonde. Une borne peut resserrer une fenêtre ou justifier une coupure, mais ne doit pas être traitée comme une valeur exacte.

Points clés

  • L'ordre des coups modifie le travail d'alpha-bêta, pas la valeur de sa racine.
  • Un ordonnancement parfait réduit le coût exponentiel à environ b à la puissance m/2.
  • L'approfondissement itératif fournit un coup issu d'une recherche achevée et améliore l'ordonnancement.
  • Une entrée de transposition doit indiquer la profondeur et préciser si la valeur est exacte, une borne inférieure ou une borne supérieure.
4

Évaluer les positions non terminales dans un temps limité

Les grands jeux obligent à arrêter la recherche avant la fin de la partie. Une fonction d'évaluation donne à ces positions de la frontière des scores utilisables, que la recherche fait remonter à travers les choix des joueurs. La règle d'arrêt compte autant que le score : une position au milieu d'une séquence de prises peut paraître trompeusement forte. Les extensions sélectives et les consultations de valeurs exactes aident un programme à consacrer son temps limité aux situations où le résultat est le plus sensible.

4.1 Construire et interpréter une fonction d'évaluation

Une fonction d'évaluation estime à quel point une position non terminale est favorable à MAX. Elle rend possible la recherche à profondeur limitée : la frontière reçoit des valeurs estimées que minimax ou alpha-bêta peut faire remonter.

Rendre les scores utiles à la recherche

Une bonne fonction d'évaluation est rapide, respecte l'ordre des issues terminales réelles et donne des valeurs corrélées au succès à partir des positions non terminales. Les états terminaux eux-mêmes doivent recevoir leur utilité exacte. Une victoire de MAX doit obtenir un score supérieur à toute estimation non terminale, afin que gagner des pièces ne puisse pas devenir plus attrayant que gagner la partie.

Une façon de voir l'évaluation consiste à regrouper les positions selon leurs caractéristiques communes. Si un tel groupe produit 72 % de victoires, 8 % de parties nulles et 20 % de défaites, avec les utilités 1, ½ et 0, son utilité moyenne est :

0,72×1+0,08×0,5+0,20×0=0,76.

Cette interprétation dépend de la façon dont les positions et leurs suites ont été échantillonnées. C'est une estimation de la qualité de l'issue, et non une preuve de victoire forcée.

Ajouter des caractéristiques pondérées

Une conception courante utilise une somme pondérée :

Eˊval(s)=∑i=1nwifi(s).

Chaque caractéristique fi(s) mesure une propriété de la position ; chaque poids wi indique sa contribution. Les différences entre les camps rendent le point de vue explicite. Une différence matérielle positive signifie que MAX a plus de matériel.

Les valeurs traditionnelles aux échecs sont : pion 1, cavalier 3, fou 3, tour 5 et dame 9. Aucune valeur matérielle de pièce capturable n'est attribuée au roi. Supposons que MAX joue les Blancs. Les Blancs ont une dame, deux tours, un fou et six pions :

9+2×5+3+6=28.

Les Noirs ont deux tours, deux cavaliers, un fou et sept pions :

2×5+2×3+3+7=26.

La caractéristique matérielle vaut donc 28−26=2. Si les Blancs ont 30 coups autorisés et les Noirs 24, la différence de mobilité est de 6. Avec un poids de 1 pour le matériel et de 0,1 pour la mobilité :

Eˊval=1×2+0,1×6=2,6.

Ce 2,6 est un score de caractéristiques, et non une probabilité de victoire de 260 %. Les poids définissent son échelle.

Tenir compte des interactions entre caractéristiques

Une somme linéaire simple donne à chaque caractéristique une contribution fixe indépendante des autres. La valeur réelle dans le jeu peut dépendre de combinaisons : une paire de fous peut valoir plus que la somme de leurs effets séparés et l'importance d'un pion peut changer en finale. Des caractéristiques combinées, des poids dépendant de la phase de jeu ou des fonctions d'évaluation non linéaires peuvent rendre compte de ces effets. Les poids peuvent être choisis par jugement ou ajustés aux résultats de parties enregistrées.

Davantage de caractéristiques prennent aussi plus de temps. Une fonction d'évaluation élaborée qui empêche d'explorer un demi-coup supplémentaire utile peut nuire à la décision, même si ses estimations individuelles s'améliorent.

Adapter l'échelle à la règle de remontée

Dans minimax déterministe, des transformations strictement croissantes appliquées de manière cohérente préservent l'ordre à travers les maxima et les minima. Élever au carré uniquement des scores positifs, par exemple, conserve leur ordre. Élever au carré des scores de signes quelconques ne le conserve pas. Aux nœuds de hasard, les écarts réels entre les utilités comptent, car les valeurs sont moyennées. Un score conçu uniquement pour classer les positions doit être calibré avant de pouvoir représenter une espérance d'utilité.

Points clés

  • Évalue les états non terminaux de la frontière et utilise l'utilité exacte aux états terminaux.
  • Une véritable victoire doit dépasser toute estimation non terminale.
  • Une fonction d'évaluation pondérée additionne les caractéristiques mesurées multipliées par leurs poids.
  • Les scores de caractéristiques ne sont pas nécessairement des probabilités.
  • Les interactions peuvent nécessiter des caractéristiques combinées ou des poids variables.
  • Les nœuds de hasard nécessitent des valeurs d'utilité sur une échelle qui a un sens.

4.2 Choisir où arrêter la recherche et où l'approfondir

Minimax heuristique s'arrête avant la fin de la partie. Sa réponse est optimale pour l'arbre exploré avec les scores attribués à sa frontière. Il peut tout de même choisir un coup perdant dans le jeu réel lorsque ces estimations ne rendent pas compte de ce qui se produit ensuite.

Distinguer les états terminaux des coupures

Un état terminal a une issue connue. Une coupure en profondeur laisse la partie inachevée et nécessite une estimation. Effectue les tests dans cet ordre :

H-MINIMAX(s, d):
    if Is-Terminal(s): return Utility(s, MAX)
    if Is-Cutoff(s, d): return Eval(s)
    if To-Move(s) == MAX:
        return max over a of H-MINIMAX(Result(s, a), d + 1)
    return min over a of H-MINIMAX(Result(s, a), d + 1)

Le test de coupure vérifie généralement si la profondeur a atteint une limite. Alpha-bêta peut élaguer ce même arbre heuristique. Son élagage reste exact relativement à ces valeurs de frontière ; il ne transforme pas les estimations en véritables issues du jeu.

Lorsque le temps est limité, l'approfondissement itératif conserve l'action de l'itération achevée la plus profonde. Une recherche plus profonde mais inachevée à la racine peut favoriser la première branche simplement parce que les autres n'ont pas encore été évaluées.

Terminer un échange tactique

Une position quiescente est suffisamment calme pour qu'une courte suite forcée ait peu de chances de modifier fortement son évaluation. La recherche de quiescence se poursuit au-delà de la profondeur normale dans les positions instables, généralement en suivant les prises jusqu'à ce que l'échange se stabilise.

Supposons que la dame blanche prenne un pion exactement à la limite de profondeur. Le score matériel s'améliore de 1. Mais les Noirs peuvent reprendre cette dame au demi-coup suivant. Le changement net de matériel est :

1−9=−8.

S'arrêter après la première prise indique +1 ; une courte extension des prises révèle −8. Le problème vient de l'évaluation au milieu d'un échange, et non d'une défaillance de la règle de remontée de minimax.

Reconnaître les pertes retardées

L'effet d'horizon se produit lorsqu'un programme retarde une perte inévitable jusqu'à ce qu'elle se trouve au-delà de la profondeur de recherche. Un fou piégé peut tout de même être perdu après plusieurs échecs donnés avec des pions. Si la recherche voit les échecs mais s'arrête avant la prise du fou, elle peut sacrifier des pions pour masquer cette perte future.

Une extension singulière explore plus profondément un coup qui se distingue nettement des autres possibilités. Les programmes prolongent aussi les échecs contraignants ou les reprises. Les extensions consacrent une profondeur supplémentaire à certaines suites ; elles nécessitent un budget pour que la recherche puisse tout de même se terminer.

TechniqueRaison de réduire ou d'augmenter le travail
Alpha-bêtaUne borne prouve qu'une branche ne peut pas améliorer la décision.
Élagage anticipéUne heuristique prédit que certains coups sont sans importance.
Extension de quiescence ou tactiqueUne suite instable ou contraignante nécessite plus de profondeur.

L'élagage anticipé, qui consiste par exemple à ne conserver que quelques-uns des meilleurs coups, peut écarter le coup gagnant. Les économies réalisées ne bénéficient pas de la garantie d'alpha-bêta.

Remplacer la recherche par des connaissances exactes stockées

Une bibliothèque d'ouvertures fournit des coups de début de partie étudiés. Les tables de finales remontent depuis des issues connues par analyse rétrograde. Les tables de finales d'échecs à sept pièces comprennent les deux rois et fournissent des résultats exacts pour les finales qu'elles couvrent. Les règles et les informations sur l'état utilisées pour consulter une table doivent correspondre au jeu en cours.

Points clés

  • Utilise l'utilité exacte pour les états terminaux et une évaluation pour les positions non terminales où la recherche est interrompue.
  • Joue la meilleure action de l'itération achevée la plus profonde.
  • La recherche de quiescence termine les échanges tactiques avant l'évaluation.
  • L'effet d'horizon peut récompenser des retards coûteux d'une perte inévitable.
  • L'élagage anticipé peut écarter le meilleur coup ; alpha-bêta prouve que ses coupures sont sûres.
  • Les bibliothèques d'ouvertures et les tables de finales fournissent des connaissances stockées à la place d'une nouvelle recherche.
5

Faire remonter les issues aléatoires avec leurs probabilités

Certaines branches sont choisies par un joueur, d'autres par le hasard. La règle de remontée doit respecter cette différence à chaque nœud. Les moyennes pondérées permettent à un programme de traiter les dés ou un modèle de comportement imprévisible, mais elles rendent aussi importante l'échelle numérique de la fonction d'évaluation. Le bon choix dépend à la fois des règles du jeu et de la précision avec laquelle le programme modélise son adversaire.

5.1 Calculer les valeurs à travers les nœuds de hasard

Un nœud de hasard représente un événement aléatoire. Ses branches indiquent les issues possibles et leurs probabilités, dont la somme vaut 1. Aucun joueur ne choisit la branche qui lui est la plus favorable.

Utiliser la règle propre à chaque nœud
NœudValeur remontée
TerminalSon utilité
MAXLa valeur maximale des enfants
MINLa valeur minimale des enfants
HasardLa moyenne des valeurs des enfants pondérée par leurs probabilités

Pour des issues r, un nœud de hasard a pour valeur :

∑rP(r)V(Reˊsultat(s,r)).

Expectiminimax combine les quatre règles. Expectimax utilise MAX et le hasard lorsqu'il n'y a pas de joueur qui minimise. Un modèle probabiliste d'un adversaire aléatoire peut fournir des branches de hasard même dans un jeu dont les règles de déplacement sont déterministes.

Remonter à travers le hasard et l'opposition

MAX choisit L ou R. Chaque coup mène à un événement aléatoire, suivi d'un choix de MIN.

Après L, une pièce équilibrée donne deux nœuds de MIN. Leurs feuilles sont (3, 7) et (8, 4). MIN renvoie 3 et 4. Le nœud de hasard donne alors :

0,5×3+0,5×4=3,5.

Après R, les probabilités 0,25 et 0,75 mènent à des nœuds de MIN dont les feuilles sont (10, 1) et (6, 5). Leurs valeurs sont 1 et 5, donc :

0,25×1+0,75×5=4.

MAX choisit R car 4 dépasse 3,5. Calculer d'abord la moyenne des feuilles terminales brutes laisserait le hasard remplacer la décision de MIN. Traite chaque nœud après avoir résolu ses enfants.

Attribuer les bonnes probabilités

Deux dés équilibrés ont 36 issues ordonnées équiprobables. Le backgammon regroupe les ordres inversés, comme 3-5 et 5-3, en un même lancer. On obtient ainsi 21 lancers distincts : six doubles de probabilité 1/36 chacun et 15 lancers sans double de probabilité 1/18 chacun. La vérification donne :

6×136+15×118=1.

Attribuer la probabilité 1/21 à chacun des 21 lancers compterait trop les doubles et pas assez les autres lancers. Des branches qui semblent équivalentes n'ont pas nécessairement des probabilités égales.

Si chaque étape de décision comporte b coups autorisés et un événement aléatoire à n issues, explorer m étapes de ce type coûte environ O(bmnm). La convention de profondeur doit tenir compte de la fréquence des événements aléatoires. Avec environ 20 coups autorisés et 21 lancers, les branches de hasard supplémentaires du backgammon limitent rapidement l'anticipation exhaustive.

Par exemple, deux étapes comportant chacune 21 issues aléatoires et 20 actions produisent (21×20)2=176 400 chemins. Compte les événements aléatoires séparément des demi-coups des joueurs pour estimer ce coût.

N'élaguer que lorsque les issues non examinées sont bornées

Une moyenne partielle n'est pas une borne minimax. Si les utilités sont comprises entre 0 et 10 et que la première de deux issues équiprobables vaut 2, la valeur du nœud entier est comprise entre 1 et 6. En particulier :

V≤0,5×2+0,5×10=6.

Si MAX dispose déjà d'un autre coup de valeur 7, ce nœud de hasard ne peut pas le surpasser et l'issue restante peut être ignorée. Sans borne adaptée sur les valeurs non examinées, une issue extrême pourrait encore modifier suffisamment la moyenne pour inverser le choix.

Points clés

  • Les nœuds de hasard renvoient des moyennes pondérées, et non des maxima ou des minima.
  • Résous les enfants avant de combiner leurs valeurs à leur parent.
  • Vérifie que la somme des probabilités des issues aléatoires vaut 1.
  • Au backgammon, les doubles et les autres lancers ont des probabilités différentes.
  • Les branches de hasard multiplient le coût de la recherche.
  • Des bornes sur les issues non examinées peuvent justifier une coupure à un nœud de hasard.

5.2 Choisir une échelle d'utilité et un modèle de l'adversaire

Minimax cherche le résultat qu'un adversaire peut imposer. Expectimax cherche l'utilité moyenne qui découle d'un modèle probabiliste. Leurs décisions peuvent différer même sur un même arbre, car elles représentent des comportements différents.

Comparer une opposition optimale et une opposition aléatoire

Pour les branches de MIN A = (4, 9, 6), B = (2, 15, 13) et C = (5, 8, 10), minimax choisit C avec une garantie de 5. Si l'adversaire choisit plutôt chaque réponse uniformément, les espérances sont d'environ 6,33, 10 et 7,67. Expectimax choisit B.

Ce choix est raisonnable selon le modèle uniforme, mais un adversaire expérimenté peut répondre à B par 2. Expectimax ne suppose pas que l'adversaire minimise une moyenne. Il utilise les probabilités indiquées. Avec un modèle correct, il maximise l'espérance d'utilité ; la protection dans le pire cas est plus faible que celle de minimax. Sa performance moyenne peut égaler celle de minimax lorsque les deux recommandent le même coup.

Un arbre peut mélanger les modèles. Le nœud d'un agent hostile prend un minimum, tandis que celui d'un agent aléatoire prend une moyenne pondérée. Utilise la règle de l'agent qui agit au nœud considéré, et non une même règle pour chaque niveau autre que MAX.

Comprendre pourquoi l'ordre seul ne suffit pas

Supposons que le coup A donne 2 avec une probabilité de 0,6 et 3 avec une probabilité de 0,4. Le coup B donne 1 avec une probabilité de 0,6 et 4 avec une probabilité de 0,4 :

E[A]=0,6×2+0,4×3=2,4, E[B]=0,6×1+0,4×4=2,2.

A a la plus grande espérance. Élève maintenant chaque valeur terminale au cube. Leur classement reste le même, mais les espérances deviennent :

E[A3]=0,6×8+0,4×27=15,6, E[B3]=0,6×1+0,4×64=26,2.

B l'emporte maintenant dans la comparaison. Calculer la moyenne des issues transformées diffère de transformer leur moyenne. La mise au cube amplifie suffisamment l'avantage de l'issue élevée de B pour modifier la décision.

Préserver les décisions avec les bonnes transformations
Règle de remontéeTransformation qui préserve les décisions
MinimaxToute transformation strictement croissante appliquée de manière cohérente
Espérance d'utilitéUne transformation affine strictement croissante, ax+c avec a>0

Une transformation affine strictement croissante multiplie chaque espérance par le même nombre positif et ajoute la même constante. Appliquer 10x+5 donne à A une valeur de 29 et à B une valeur de 27 : A reste préféré.

Si A et B étaient des nœuds de MIN, leurs valeurs seraient 2 et 1 avant la mise au cube, puis 8 et 1 après. Leur ordre resterait inchangé. Les maxima et les minima sélectionnent la valeur d'un enfant ; les moyennes combinent les grandeurs de plusieurs valeurs.

Une fonction d'évaluation utilisée en présence de hasard devrait donc estimer l'espérance d'utilité visée sur une échelle cohérente, comme la probabilité de victoire ou une transformation affine strictement croissante de celle-ci. Un score de classement non linéaire peut convenir à minimax déterministe tout en conduisant à de mauvais compromis face au risque en présence de hasard.

Points clés

  • Choisis minimax face à une opposition optimale et l'espérance pour un modèle probabiliste.
  • Un modèle probabiliste correct optimise l'utilité moyenne, avec une protection plus faible dans le pire cas.
  • Les transformations strictement croissantes préservent les décisions minimax.
  • Les transformations affines strictement croissantes préservent les décisions fondées sur l'espérance d'utilité.
  • Une transformation non linéaire peut modifier un choix fondé sur une moyenne.
6

Utiliser des simulations pour guider un arbre de recherche en développement

Lorsque l'espace des coups est immense, un programme peut estimer les issues en simulant des suites de jeu et diriger le travail ultérieur vers les branches utiles. La recherche arborescente de Monte-Carlo stocke ces résultats dans un arbre qui se développe. Sa règle de sélection équilibre les coups qui semblent déjà forts et ceux dont les estimations restent incertaines. Le choix d'une action finale nécessite d'évaluer les éléments accumulés, tout en reconnaissant les réponses tactiques que la simulation peut manquer.

6.1 Exécuter une itération de recherche arborescente de Monte-Carlo

La recherche arborescente de Monte-Carlo estime les coups à partir de parties simulées tout en construisant un arbre qui guide les simulations futures. Une suite simulée jusqu'à la fin est une simulation de partie ou partie simulée. Sa politique peut choisir des coups autorisés au hasard ou utiliser des connaissances peu coûteuses pour produire un jeu plus raisonnable.

Stocker les éléments observés à chaque nœud

Conserve un nombre de visites N(n) et une récompense cumulée U(n). Dans un jeu à deux joueurs avec victoire ou défaite, compte les victoires du joueur qui a joué le coup menant au nœud n. Une partie nulle ajoute généralement une demi-victoire. Alors, U(n)/N(n) estime le taux de réussite de ce joueur.

La racine n'a pas de coup entrant. Ses visites comptent tout de même chaque itération ; ses victoires peuvent être suivies du point de vue du joueur à la racine si nécessaire. Les scores des enfants, qui guident la sélection, doivent toujours utiliser le point de vue du joueur ayant joué le coup entrant.

Répéter les quatre phases
  1. Sélection : depuis la racine, suivre une politique de sélection parmi les enfants existants jusqu'à atteindre un nœud terminal ou un nœud possédant un coup non essayé.
  2. Développement : si le nœud n'est pas terminal, ajouter un enfant pour un coup autorisé non essayé.
  3. Simulation : simuler une partie depuis cet enfant jusqu'à une issue terminale.
  4. Rétropropagation : mettre à jour les visites et les récompenses des nœuds sur le chemin sélectionné.

Si la sélection atteint un nœud terminal, ignore le développement et la simulation. Son issue connue peut être remontée immédiatement. La suite temporaire d'une simulation n'a pas besoin d'être stockée sous forme de nouveaux nœuds de l'arbre : le développement ordinaire ajoute un enfant par itération.

Suivre une mise à jour des récompenses

Les Blancs jouent à la racine. La sélection et le développement suivent :

  • n1, atteint par un coup des Blancs ;
  • n2, atteint par un coup des Noirs ;
  • n3, atteint par un coup des Blancs.

La partie simulée se termine par une victoire des Noirs. Augmente les visites de un à la racine ainsi qu'à n1, n2 et n3. Parmi ces trois nœuds enfants, augmente les victoires uniquement à n2, car le joueur ayant joué le coup entrant de n2 était les Noirs. Les nœuds enfants des Blancs ne reçoivent aucune victoire supplémentaire. Si la convention utilise le point de vue du joueur à la racine, le total des victoires de la racine reste lui aussi inchangé.

Une partie nulle ajouterait 0,5 à la récompense de chaque enfant. Compter la victoire des Noirs comme un succès à chaque nœud conduirait les Blancs à choisir des coups qui aident les Noirs.

Laisser l'arbre se développer de manière inégale

Les itérations répétées concentrent les simulations sur les branches prometteuses ou incertaines. Les coups qui semblent forts tendent à acquérir des sous-arbres plus grands, tandis que les mauvais coups reçoivent moins de travail. La recherche n'impose pas une profondeur fixe à chaque suite. Dès qu'un coup autorisé est disponible, elle peut s'arrêter à la limite de temps et utiliser les statistiques accumulées.

L'action finale est généralement celle qui mène à l'enfant de la racine le plus visité. Un coup ayant deux victoires en deux simulations a un taux observé parfait, mais peu d'éléments à l'appui. Un coup très visité a été examiné bien plus souvent pendant la recherche.

La recherche de Monte-Carlo pure attribue aux coups à la racine des simulations indépendantes sans développer d'arbre de décision. Elle peut manquer à plusieurs reprises une réponse forte de l'adversaire, car la suite du jeu reste régie par la politique de simulation. La recherche arborescente de Monte-Carlo apprend où développer l'arbre plus profondément à mesure qu'elle accumule des résultats, même si une réfutation tactique rare peut encore prendre du temps à être découverte.

Points clés

  • La recherche arborescente de Monte-Carlo stocke les nombres de visites et les récompenses cumulées dans un arbre qui se développe.
  • Utilise la sélection, le développement, la simulation et la rétropropagation.
  • Pour un nœud terminal sélectionné, il suffit de faire remonter son issue connue.
  • Les récompenses d'un enfant comptent les succès du joueur qui a joué le coup menant à cet enfant.
  • L'action finale est généralement celle qui mène à l'enfant de la racine le plus visité.

6.2 Équilibrer les récompenses connues et les coups incertains

La recherche arborescente de Monte-Carlo doit décider où une simulation supplémentaire sera la plus utile. L'exploitation revisite les coups qui semblent déjà forts. L'exploration examine les coups pour lesquels on dispose de moins d'éléments et qui pourraient se révéler meilleurs. Chercher toujours le plus grand taux de victoire observé peut enfermer la recherche dans un résultat initial dû à la chance.

Calculer un score UCB1

Le score de borne supérieure de confiance pour l'enfant n est :

UCB1(n)=U(n)N(n)+Cln⁡N(Parent(n))N(n).

Le premier terme est le taux de victoire observé. Le second est un bonus d'exploration. Il augmente lorsque le parent accumule des visites et diminue lorsque l'enfant en reçoit davantage. Le logarithme est népérien. Pendant la sélection, choisis l'enfant dont le score total est le plus élevé.

Considère qu'un enfant non visité a une priorité infinie au lieu de diviser par zéro. Chaque coup autorisé à un nœud est essayé avant que la sélection ne favorise à plusieurs reprises les possibilités déjà visitées. La recherche arborescente de Monte-Carlo utilisant cette règle de sélection est appelée UCT, pour bornes supérieures de confiance appliquées aux arbres.

Comparer trois enfants

Un parent compte 50 visites. Ses enfants ont pour nombres de victoires et de visites 21/30, 7/12 et 3/8. Avec C=2 et ln⁡50≈3,912 :

EnfantTaux de victoireBonus d'explorationTotal
Premier0,7000,5111,211
Deuxième0,5830,8071,391
Troisième0,3750,9891,364

Le deuxième enfant est sélectionné. Son taux de victoire actuel est inférieur à celui du premier, mais son bonus d'incertitude est plus élevé. Le troisième est encore moins visité, mais son taux de victoire plus faible laisse son total légèrement en dessous de celui du deuxième.

Avec C=0,5, les mêmes totaux deviennent environ 0,881, 0,869 et 0,725. La sélection favorise alors le premier enfant. Aucune issue n'a changé ; le programme a modifié le poids qu'il accorde à l'incertitude.

Interpréter la constante d'exploration

Une valeur positive de C plus grande donne plus de poids à l'exploration. La fixer à zéro supprime le bonus et conduit à choisir uniquement selon la moyenne observée. La formulation du problème du bandit avec des récompenses comprises entre 0 et 1 motive le choix de C=2 dans cette forme de l'équation ; les programmes de jeu utilisés en pratique ajustent la constante. Modifier l'échelle des récompenses modifie aussi l'équilibre avec le terme d'exploration.

À chaque parent, ses enfants enregistrent les victoires du joueur qui y choisit. Maximiser UCB1 a donc un sens au tour de chacun des deux joueurs. Stocker uniquement les victoires des Blancs dans tout l'arbre tout en maximisant chaque score conduirait les Noirs à favoriser les succès des Blancs.

Distinguer la priorité de recherche de la qualité d'un coup

UCB1 choisit où consacrer la prochaine simulation. Un grand bonus d'incertitude peut rendre intéressant l'examen d'un coup peu échantillonné. À la fin de la recherche, choisis l'enfant de la racine le plus visité, et non celui qui a le score UCB1 actuel le plus élevé. Dans les conditions d'UCT pour un jeu fini et avec une exploration continue, une recherche illimitée converge vers le comportement minimax ; un budget fini laisse toutefois une incertitude d'échantillonnage.

Points clés

  • UCB1 ajoute à la récompense moyenne observée un bonus d'exploration.
  • Une valeur de C plus grande encourage davantage l'exploration.
  • Les enfants non visités sont prioritaires sans division par zéro.
  • La sélection maximise la réussite espérée du joueur actif.
  • UCB1 sélectionne les simulations ; le choix du coup final utilise généralement les visites.
  • Un nombre fini de simulations laisse une incertitude même lorsque la règle est correcte.

6.3 Choisir des méthodes de recherche selon les jeux

Une méthode de recherche s'adapte à la taille de l'espace des coups, à la qualité de l'évaluation disponible et au type d'incertitude présent dans le jeu. Un même budget de temps peut produire des décisions très différentes selon ce que la méthode examine.

Comparer la couverture tactique et la simulation
Caractéristique du jeuApproche utileRaison
Branchement modéré, bonne évaluation, tactiques aiguësAlpha-bêta avec ordonnancement des coupsIl vérifie les réponses pertinentes dans les limites de sa profondeur.
Branchement immense ou évaluation écrite à la main peu performanteRecherche arborescente de Monte-CarloLes simulations dirigent les efforts vers les parties prometteuses de l'arbre.
Hasard avec un arbre peu profond de taille gérableExpectiminimax ou expectimaxLes probabilités explicites peuvent être remontées directement.
Nombreuses issues aléatoiresRecherche arborescente de Monte-Carlo avec échantillonnage des événements aléatoiresL'échantillonnage estime les espérances sans énumérer chaque issue à chaque itération.
Préférences indépendantes des joueursVecteurs d'utilitésUn seul nombre ne peut pas représenter l'intérêt de chaque joueur.

Alpha-bêta peut trouver une réfutation tactique unique dans les limites de sa profondeur de recherche. La recherche arborescente de Monte-Carlo peut d'abord préférer un coup qui gagne la plupart des simulations aléatoires mais perd face à une réponse précise. À mesure que son arbre se développe, elle peut découvrir cette réponse, mais un petit budget de simulations peut la manquer. Un taux de victoire élevé dans les simulations ne garantit donc pas le résultat dans le pire cas.

Relier les méthodes à des programmes marquants

En 1997, Deep Blue d'IBM a utilisé la recherche alpha-bêta, du matériel spécialisé et une évaluation des positions d'échecs pour battre le champion du monde Garry Kasparov 3½ à 2½ en six parties. Son succès a montré ce qu'une recherche performante et une évaluation propre au jeu pouvaient accomplir ensemble.

Le go rendait cette association plus difficile. Un plateau vide de 19×19 offre 361 placements de pierre, et il est difficile d'évaluer une position à partir de caractéristiques simples. La recherche arborescente de Monte-Carlo est devenue une approche performante parce qu'elle pouvait estimer les issues en jouant et développer un arbre sélectif sans nécessiter de fonction d'évaluation statique écrite à la main.

AlphaGo associait la recherche arborescente de Monte-Carlo à des réseaux de neurones qui suggéraient des coups et évaluaient les positions. Sa description dans Nature en 2016 a précédé sa victoire 4 à 1 sur Lee Sedol en mars 2016. AlphaZero a ensuite utilisé une évaluation par réseau de neurones à la place des simulations aléatoires et a atteint un niveau surhumain aux échecs, au shogi et au go. Ces programmes montrent qu'un cadre de recherche peut utiliser différentes sources de valeurs pour les positions.

Distinguer un jeu performant de la résolution d'un jeu

Un programme peut battre un champion sans démontrer la valeur de la position initiale. En 2007, l'équipe de Jonathan Schaeffer a utilisé la recherche et de grandes bases de données de finales pour établir que le jeu de dames est nul si les deux camps jouent parfaitement. Résoudre le jeu établit une issue face à toute stratégie adverse possible, et pas seulement face aux adversaires rencontrés en match.

Adapter la méthode au modèle

Dans un jeu stochastique, échantillonne les issues aléatoires selon leurs probabilités réelles pendant le parcours de l'arbre et les simulations. Un événement de probabilité 0,8 devrait se produire environ quatre fois plus souvent qu'un événement de probabilité 0,2 sur un grand nombre de tirages. On estime ainsi la même espérance pondérée que celle calculée par la remontée explicite des valeurs aux nœuds de hasard.

Toute approche dépend encore de règles et de transitions d'état correctes. Alpha-bêta à profondeur limitée dépend de sa fonction d'évaluation ; la recherche arborescente de Monte-Carlo dépend de sa politique de simulation ou d'évaluation et de son budget fini d'échantillons. Modéliser un adversaire hostile comme aléatoire peut coûter cher, quel que soit le mécanisme de recherche utilisé pour calculer la réponse de ce modèle.

Points clés

  • Alpha-bêta est performant pour les tactiques dans les limites d'une profondeur de recherche gérable.
  • La recherche arborescente de Monte-Carlo convient aux grands facteurs de branchement et aux cas où une fonction d'évaluation est difficile à concevoir.
  • Une moyenne de simulations peut manquer une réfutation décisive rare.
  • L'échantillonnage des événements aléatoires doit respecter leurs probabilités.
  • Jouer au niveau d'un champion et prouver qu'un jeu est résolu sont deux réalisations différentes.
  • Une évaluation apprise peut être combinée à l'un ou l'autre cadre de recherche.

Recherche adversariale : exemples

6 Leçons Interactives

1

Modéliser les règles et tracer les parties possibles

11 étapes
Construis un état de jeu complet, classe le jeu et utilise un petit arbre pour distinguer une stratégie d'une partie possible.
  1. 1
    IntroductionPartir d'un jeu que le programme peut examiner

    Un programme de jeu a besoin de règles qu'il peut appliquer à un état. Il doit savoir à qui revient le tour, quelles actions sont autorisées, ce que chaque action modifie et quand attribuer un score à une issue.

    Une fois ces composantes explicites, un arbre de jeu peut montrer les suites possibles. Certaines branches appartiennent au programme ; d'autres appartiennent à son adversaire. Cette différence modifie ce qui constitue un plan utilisable.

  2. 2
    ExempleDéfinir le morpion

    Utilise une grille de 3×3 cases et le joueur au trait comme état. Commence avec une grille vide et X au trait.

    Une action choisit une case vide. La transition y place la marque du joueur au trait et passe le tour à l'autre joueur. Un alignement de trois marques met immédiatement fin à la partie ; une grille pleine sans alignement donne une partie nulle. Attribue aux issues terminales les scores +1, 0 ou −1 pour X. Ces règles fournissent les six composantes dont un programme de recherche a besoin.

  3. 3
    Point cléDistinguer le hasard de l'état caché

    Un plateau visible peut tout de même comporter des événements aléatoires : le backgammon ajoute des lancers de dés. Un jeu peut aussi cacher une partie de son état, comme le poker cache les cartes.

    Ce sont des axes de classification distincts. Le hasard détermine comment les issues sont produites ; l'information détermine ce qu'un joueur peut observer. Le nombre de joueurs et le caractère strictement opposé ou non de leurs gains sont d'autres choix de modélisation.

  4. 4
    DéfiClasser un nouveau jeu

    Un jeu de pions à deux joueurs a un état entièrement visible. Avant chaque tour, une roue détermine les coups autorisés. Chaque issue terminale donne 1 à un joueur et 0 à l'autre. Comment classer ce jeu selon le hasard, l'information et la structure des gains ?

    ---reveal---

    Il est stochastique, à information parfaite et à somme constante avec des intérêts strictement opposés. La roue ajoute du hasard sans cacher l'état ; le total fixe des gains permet d'utiliser un modèle MAX/MIN.

  5. 5
    ExplicationCompter les demi-coups depuis la racine

    Place la position courante à la profondeur zéro. Chaque arête ajoute un demi-coup : une action d'un joueur. Lorsque les joueurs alternent, la profondeur 1 suit l'action de MAX et la profondeur 2 la réponse de MIN.

    Un coup complet aux échecs comprend généralement les deux tours. Une recherche qui atteint deux coups de chaque joueur a donc une profondeur de 4, et non de 2. Indiquer les tours évite de dissocier la profondeur des règles de remontée.

  6. 6
    ExempleDévelopper un petit arbre uniforme

    Imagine trois actions autorisées à chaque nœud non terminal. La profondeur 1 compte 3 positions, la profondeur 2 en compte 9 et la profondeur 3 compte 27 feuilles.

    3×3×3=27.

    Chaque nouveau demi-coup multiplie le nombre de chemins. Dans le jeu réel, les parties peuvent se terminer plus tôt et le nombre de coups peut changer, mais l'estimation uniforme rend visible le coût de la profondeur avant le choix d'un algorithme.

  7. 7
    LienReconnaître les états répétés

    X peut jouer dans un coin, O au centre, puis X dans le coin opposé. Inverser l'ordre des deux coins de X mène à la même grille avec le même joueur au trait.

    L'arbre contient deux chemins vers un même état. C'est une transposition. Un graphe ou une mémoire cache peut partager le résultat de cet état, à condition que la clé inclue le joueur au trait et toute autre composante des règles qui modifie la suite du jeu.

  8. 8
    DéfiDéterminer la taille et la profondeur de l'arbre

    Un jeu alterné offre deux actions à chaque nœud. La recherche couvre deux tours de MAX et deux de MIN. Quelle est la profondeur de l'arbre uniforme et combien de feuilles compte-t-il ?

    ---reveal---

    Il a une profondeur de 4 demi-coups et 24=16 feuilles. Chaque joueur agit deux fois : il y a donc quatre actions individuelles le long de chaque chemin. Une profondeur de 2 ne comprendrait qu'un tour par joueur.

  9. 9
    Point cléUne stratégie conserve les réponses

    Un seul chemin décrit une partie complète, mais un adversaire peut choisir une autre branche. Une stratégie de MAX conserve donc une action choisie à chaque nœud de MAX et chaque réponse autorisée à chaque nœud de MIN.

    L'action ultérieure de MAX peut dépendre de la réponse qu'il observe effectivement. La stratégie peut contenir de nombreux chemins tout en fixant le comportement de MAX dans chaque situation accessible.

  10. 10
    DéfiCorriger un plan fragile

    Un programme stocke un premier coup prévu et une réponse attendue de l'adversaire, suivis d'une suite gagnante. Son modèle de jeu indique trois réponses possibles de l'adversaire. Que faut-il modifier dans le plan pour qu'il décrive une stratégie complète ?

    ---reveal---

    Le programme a besoin d'une règle d'action après chaque réponse possible et après les choix ultérieurs de l'adversaire. Connaître une seule suite gagnante ne suffit pas, car l'adversaire contrôle laquelle de ces branches de réponse se réalise.

  11. 11
    RécapitulatifDes règles à un espace de recherche utilisable

    Un état complet et un modèle des règles déterminent les suites possibles. Classe le hasard, la visibilité, les joueurs et les gains avant d'attribuer des règles aux nœuds.

    Lis la profondeur en demi-coups individuels, estime la croissance du branchement et reconnais les transpositions comme des états répétés. Une stratégie choisit les actions du joueur tout en conservant des réponses à chaque coup de l'adversaire ; l'arbre rend ces responsabilités visibles.

2

Faire remonter les issues pour trouver un coup

13 étapes
Suis minimax avec une valeur unique, relie sa récursion au choix d'un coup et fais remonter des gains distincts dans un arbre multijoueur.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionRaisonner à rebours depuis les issues
  2. 2
    ExempleCommencer par les réponses de l'adversaire
  3. 3
    ExemplePrendre la décision à la racine
  4. 4
    DéfiFaire remonter les valeurs d'un nouvel arbre
  5. 5
    ExplicationDonner un rôle précis aux appels récursifs
  6. 6
    ConseilTraiter la fin avant le coup suivant
  7. 7
    DéfiConvertir une valeur renvoyée par negamax
  8. 8
    ExplicationRenvoyer le vecteur d'utilités entier
  9. 9
    ExempleRésoudre d'abord le choix du joueur le plus profond
  10. 10
    DéfiUtiliser la règle de départage d'un autre joueur
  11. 11
    LienChoisir le bon modèle de l'adversaire
  12. 12
    DéfiCombiner les choix de vecteurs à la racine
  13. 13
    RécapitulatifUtiliser la préférence du joueur qui agit
3

Suivre l'élagage et améliorer l'ordre de recherche

12 étapes
Suis alpha et bêta dans les deux types de coupure, puis observe comment l'ordonnancement des coups et les bornes mises en mémoire réduisent le travail.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionProuver qu'une branche ne peut pas aider
  2. 2
    ExplicationGarder les bornes associées au chemin
  3. 3
    ExempleÉtablir une autre possibilité pour MAX
  4. 4
    ExempleArrêter l'exploration d'une branche de MIN
  5. 5
    DéfiTrouver la coupure inverse
  6. 6
    Point cléUne borne suffit pour rejeter une branche
  7. 7
    ExempleExplorer d'abord la branche la plus forte à la racine
  8. 8
    ExplicationObtenir des indices d'ordonnancement à faible coût
  9. 9
    DéfiInterpréter une borne mise en mémoire
  10. 10
    LienLire le coût dans le meilleur cas
  11. 11
    DéfiCombiner l'ordonnancement et le comptage des coupures
  12. 12
    RécapitulatifÉlaguer à partir des résultats et conserver leur signification
4

Évaluer une frontière sans cacher la réponse suivante

13 étapes
Calcule un score de caractéristiques, distingue l'utilité terminale des estimations et suis une prise au-delà d'une coupure en profondeur.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionAttribuer un score aux positions non terminales
  2. 2
    ExplicationMesurer les caractéristiques d'un même point de vue
  3. 3
    ExempleCompter le matériel aux échecs
  4. 4
    ExempleAjouter une contribution de mobilité
  5. 5
    DéfiCalculer un autre score de caractéristiques
  6. 6
    ExplicationVérifier la fin de partie avant la limite de profondeur
  7. 7
    ExempleRemarquer une prise trompeuse
  8. 8
    ExempleTerminer l'échange
  9. 9
    DéfiÉvaluer un nouvel échange
  10. 10
    Point cléDistinguer une extension d'un élagage non sûr
  11. 11
    DéfiUtiliser le résultat d'une recherche achevée
  12. 12
    LienUtiliser les connaissances stockées sur le jeu
  13. 13
    RécapitulatifApprofondir là où le score peut fortement changer
5

Calculer les espérances et tester le modèle

12 étapes
Étudie les niveaux de hasard et de MIN, puis observe pourquoi l'échelle d'utilité et les hypothèses sur l'adversaire influent sur la réponse.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionLaisser chaque type de nœud agir différemment
  2. 2
    ExplicationUtiliser une moyenne pondérée au nœud de hasard
  3. 3
    ExempleRésoudre les choix de MIN après le lancer de pièce
  4. 4
    ExempleComparer la seconde action à la racine
  5. 5
    DéfiCombiner une nouvelle paire de types de nœuds
  6. 6
    ConseilNe pas supposer que les lancers distincts sont équiprobables
  7. 7
    ExplicationChoisir comment modéliser l'adversaire
  8. 8
    ExempleChanger l'échelle sans changer les rangs
  9. 9
    DéfiTester une transformation
  10. 10
    Point cléUtiliser des bornes avant d'ignorer des issues aléatoires
  11. 11
    DéfiTrouver l'effet d'un mauvais modèle de l'adversaire
  12. 12
    RécapitulatifAdapter la moyenne à la décision
6

Développer un arbre de simulation et choisir où chercher

16 étapes
Suis les statistiques de la recherche arborescente de Monte-Carlo pendant une itération, calcule les priorités UCB1 et distingue la prochaine simulation de l'action finale.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionAccumuler des résultats en construisant l'arbre
  2. 2
    ExplicationEnregistrer les visites et les récompenses du joueur ayant joué le coup entrant
  3. 3
    ExplicationSuivre les quatre phases
  4. 4
    ExempleSuivre le joueur associé à chaque enfant
  5. 5
    DéfiMettre à jour un autre résultat
  6. 6
    ExplicationAjouter un bonus pour l'incertitude
  7. 7
    ExempleCalculer le score du premier candidat
  8. 8
    ExempleComparer les candidats restants
  9. 9
    DéfiModifier l'équilibre
  10. 10
    Point cléTerminer la recherche avec les résultats accumulés
  11. 11
    LienFaire attention à une réfutation rare
  12. 12
    ExempleVoir ce que les programmes hybrides ont changé
  13. 13
    DéfiChoisir une méthode pour un nouveau jeu
  14. 14
    ConseilÉchantillonner le hasard selon ses poids réels
  15. 15
    DéfiDistinguer la priorité d'essai du choix du coup
  16. 16
    RécapitulatifDistinguer résultats, exploration et jeu

Recherche adversariale : QCM

50 Questions Pratiques en 5 séries

Série 1 : Modéliser les jeux et suivre les décisions de base10 Questions Pratiques

Question 1 sur 10

Un jeu de plateau comporte des pièces visibles, des tours alternés et un lancer de dé avant chaque tour. Comment le classer selon le hasard et l'information ?
  1. Déterministe à information parfaite.
  2. Stochastique à information imparfaite.
  3. Stochastique à information parfaite.
  4. Déterministe à information imparfaite.
Afficher la réponseMasquer la réponse
Réponse : C
Le dé introduit du hasard, ce qui rend le jeu stochastique. Les pièces visibles et le lancer observable rendent l'état complet accessible : le jeu est donc à information parfaite. Le caractère aléatoire de ce qui se produit ensuite diffère d'une information cachée sur l'état courant.

Question 2 sur 10

Un arbre de jeu uniforme offre 5 actions à chaque nœud non terminal et est exploré jusqu'à une profondeur de 3 demi-coups. Combien de feuilles possède-t-il ?
  1. 15 feuilles.
  2. 125 feuilles.
  3. 25 feuilles.
  4. 156 feuilles.
Afficher la réponseMasquer la réponse
Réponse : B
Le nombre de feuilles est 53=125, car chacun des trois niveaux multiplie le nombre de chemins par 5. Le nombre 156 comprend la racine et les nœuds internes en plus des feuilles. Additionner 5 trois fois décrirait une croissance linéaire, et non un branchement.

Question 3 sur 10

MAX choisit entre les nœuds de MIN L de feuilles (−2, 8), M de feuilles (3, 6) et R de feuilles (1, 11). Quels coup et valeur minimax renvoie-t-il ?
  1. M, de valeur 3.
  2. L, de valeur 8.
  3. R, de valeur 11.
  4. R, de valeur 6.
Afficher la réponseMasquer la réponse
Réponse : A
Les nœuds de MIN renvoient respectivement −2, 3 et 1. MAX choisit donc M de valeur 3. R contient la plus grande feuille, 11, mais MIN peut choisir sa feuille de valeur 1 : cette issue attrayante ne peut donc pas déterminer la décision à la racine.

Question 4 sur 10

Un programme minimax atteint une grille de morpion pleine sans alignement gagnant. Que doit faire ensuite sa fonction de valeur ?
  1. Maximiser sur une liste de coups vide.
  2. Renvoyer le score du dernier joueur.
  3. Générer le coup suivant.
  4. Renvoyer l'utilité d'une partie nulle.
Afficher la réponseMasquer la réponse
Réponse : D
La grille pleine est terminale : la fonction de valeur renvoie donc son utilité de partie nulle avant de générer les successeurs. Maximiser sur une liste d'actions vide n'attribue pas à la partie nulle son score correct. Le traitement des états terminaux fournit une valeur définie lorsqu'il n'existe plus de coup autorisé.

Question 5 sur 10

À une racine de MAX, un coup entièrement exploré vaut 6. Le coup suivant mène à un nœud de MIN dont les feuilles sont explorées dans l'ordre 9, 4, 8, 7. Combien de feuilles de ce nœud de MIN alpha-bêta évalue-t-il ?
  1. Une feuille.
  2. Deux feuilles.
  3. Trois feuilles.
  4. Quatre feuilles.
Afficher la réponseMasquer la réponse
Réponse : B
La première valeur, 9, pourrait encore surpasser le 6 dont MAX dispose déjà : la recherche continue donc. Après avoir trouvé 4, ce nœud de MIN vaut au plus 4 et ne peut pas améliorer le choix à la racine ; les deux dernières feuilles sont donc ignorées. S'arrêter à 9 utiliserait la coupure dans le mauvais sens.

Question 6 sur 10

Un nœud de MIN a déjà trouvé un enfant de MAX de valeur 5. Son enfant de MAX suivant examine les feuilles dans l'ordre 2, 7, 9. Quand cet enfant peut-il s'arrêter ?
  1. Après 2, en renvoyant la valeur exacte 2.
  2. Après 7, en renvoyant la borne supérieure 7.
  3. Après 7, en renvoyant la borne inférieure 7.
  4. Après 9, en renvoyant la borne supérieure 9.
Afficher la réponseMasquer la réponse
Réponse : C
Le parent de MIN peut déjà choisir 5. Dès que son enfant de MAX suivant trouve 7, cet enfant vaut au moins 7 et ne peut pas être préféré par MIN : la feuille restante est donc ignorée. Le 7 renvoyé est une borne inférieure, car un autre enfant non exploré pourrait augmenter le maximum.

Question 7 sur 10

Une fonction d'évaluation est E=2f+0,25g. MAX a une caractéristique matérielle f=−1 et une caractéristique de mobilité g=12. Quel score renvoie-t-elle ?
  1. 2,75.
  2. −5.
Afficher la réponseMasquer la réponse
Réponse : A
Les contributions sont 2×(−1)=−2 et 0,25×12=3, soit un total de 1. La caractéristique matérielle négative doit conserver son signe. Renvoyer 5 transformerait le désavantage matériel en avantage avant d'ajouter la mobilité.

Question 8 sur 10

Un nœud de hasard mène à la valeur −4 avec une probabilité de 0,25 et à la valeur 8 avec une probabilité de 0,75. Quelle valeur est remontée ?
Afficher la réponseMasquer la réponse
Réponse : D
La valeur pondérée est 0,25×(−4)+0,75×8=−1+6=5. Les probabilités rendent l'issue favorable trois fois plus probable que l'issue défavorable. Une moyenne non pondérée de 2 considère à tort les deux issues comme équiprobables.

Question 9 sur 10

La sélection dans une recherche arborescente de Monte-Carlo atteint un nœud où la partie est déjà terminée. Que se passe-t-il ensuite dans l'itération ?
  1. Développer un enfant et commencer une simulation.
  2. Rétropropager le résultat connu.
  3. Commencer une nouvelle simulation depuis ce nœud.
  4. Mettre à jour les seules visites de ce nœud terminal.
Afficher la réponseMasquer la réponse
Réponse : B
Un nœud terminal possède déjà une issue : l'itération omet donc le développement et la simulation et met à jour le chemin sélectionné. Une nouvelle simulation ne peut pas ajouter d'information à une partie terminée. Mettre à jour uniquement le dernier nœud ferait perdre les résultats nécessaires à ses ancêtres.

Question 10 sur 10

Un parent UCT compte 16 visites. L'enfant A a 6 victoires en 12 visites ; l'enfant B a 1 victoire en 4 visites. Utilise C=1 et ln⁡16≈2,773. Quel enfant reçoit la prochaine simulation et quel coup est joué si la recherche s'arrête maintenant ?
  1. Simuler B ; jouer A.
  2. Simuler A ; jouer A.
  3. Simuler B ; jouer B.
  4. Simuler A ; jouer B.
Afficher la réponseMasquer la réponse
Réponse : A
A obtient environ 0,5+0,481=0,981, tandis que B obtient environ 0,25+0,833=1,083 : la sélection choisit donc B. Le choix final utilise les visites, ce qui donne A avec 12. Choisir B pour les deux décisions confond le bonus d'incertitude avec les résultats accumulés en faveur d'un coup.
Série 2 : Appliquer les remontées de valeurs et vérifier les hypothèses de recherche10 Questions Pratiques

Enregistre cette unité pour voir chaque réponse et t'entraîner sur chaque série.

Question 1 sur 10

Un jeu à deux joueurs attribue (7, 0), (0, 7) ou (3,5 ; 3,5) à la fin de la partie. Comment la recherche peut-elle représenter les préférences opposées des joueurs ?
  1. Utiliser la somme des gains des deux joueurs et la maximiser à chaque nœud de décision.
  2. Utiliser le gain d'un joueur et le maximiser aux deux types de nœuds de décision.
  3. Utiliser le plus grand gain terminal et le minimiser à chaque nœud de décision.
  4. Utiliser le gain d'un joueur, le maximiser pour lui et le minimiser pour l'autre.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 2 sur 10

Un jeu déterministe à deux joueurs à somme nulle a une valeur minimax de 2 à la racine. Deux coups ont chacun une valeur minimax de 2, mais l'un offre davantage d'occasions à l'adversaire de se tromper. Que devient la garantie si MAX choisit ce coup et poursuit sa stratégie minimax ?
  1. La garantie reste d'au moins 2.
  2. La garantie descend sous 2.
  3. Le résultat vaut toujours exactement 2.
  4. La garantie devient la plus grande feuille.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 3 sur 10

Le joueur B choisit entre les vecteurs terminaux (8, 2, 4) et (3, 6, 1), dans l'ordre des joueurs A, B, C. Quel vecteur est remonté ?
  1. (8, 2, 4).
  2. (8, 6, 4).
  3. (3, 6, 1).
  4. (3, 2, 1).
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 4 sur 10

Une entrée de transposition alpha-bêta contient une valeur et une profondeur explorée. Quelle information supplémentaire faut-il pour interpréter un résultat issu d'un sous-arbre élagué ?
  1. Si sa valeur dépasse son nombre de coups.
  2. Si elle est exacte, une borne inférieure ou une borne supérieure.
  3. Si l'état a été atteint à un tour précédent.
  4. Si la racine avait un facteur de branchement plus grand.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 5 sur 10

Une recherche à profondeur limitée s'arrête juste après qu'une tour a pris un pion, alors qu'une reprise immédiate de la tour est autorisée. Quelle technique de recherche aide directement à terminer cet échange avant l'évaluation ?
  1. La recherche de quiescence suivant les prises.
  2. L'ordonnancement selon les visites antérieures.
  3. Un test de fin de partie sur le matériel courant.
  4. Une consultation de la bibliothèque d'ouvertures à chaque feuille.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 6 sur 10

MAX choisit P ou Q. Après P, les probabilités 0,4 et 0,6 mènent aux feuilles de MIN (−1, 7) et (4, 9). Après Q, les probabilités 0,7 et 0,3 mènent aux feuilles de MIN (2, 6) et (5, 8). Quelle est la décision de MAX ?
  1. P, de valeur 2,0.
  2. P, de valeur 8,2.
  3. Q, de valeur 6,6.
  4. Q, de valeur 2,9.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 7 sur 10

Un programme remplace chaque utilité de feuille x par 3x − 4, puis recalcule une recherche avec hasard. Quel effet cela a-t-il sur les coups préférés ?
  1. Cela inverse les préférences aux nœuds de hasard.
  2. Cela préserve seulement les préférences déterministes.
  3. Cela préserve toutes les préférences d'utilité.
  4. Cela préserve seulement les préférences supérieures à zéro.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 8 sur 10

Un chemin de recherche arborescente de Monte-Carlo atteint n1 après un coup de Rouge, n2 après un coup de Bleu et n3 après un coup de Rouge. Une partie simulée depuis n3 se termine par une partie nulle. Avec des récompenses d'une demi-victoire, quelles mises à jour ces trois nœuds reçoivent-ils ?
  1. Chacun reçoit 1 visite et 0,5 de récompense.
  2. Seul n3 reçoit 1 visite et 0,5 de récompense.
  3. Chacun reçoit 1 visite ; seul n2 reçoit 0,5 de récompense.
  4. Chacun reçoit 0,5 visite et 0,5 de récompense.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 9 sur 10

À un nœud UCT, un enfant autorisé n'a jamais été visité alors que les autres ont des nombres de visites positifs. Comment cet enfant est-il traité pendant la sélection ?
  1. Lui attribuer un taux de victoire observé de un.
  2. Lui donner priorité sur les enfants visités.
  3. L'exclure jusqu'au doublement des visites du parent.
  4. Lui donner un score nul sans bonus.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 10 sur 10

Un arbre de jeu uniforme, déterministe, à deux joueurs et à somme nulle a un facteur de branchement de 4. Un programme peut évaluer 130 feuilles et dispose d'un ordonnancement parfait des coups. Une réfutation décisive se trouve à la profondeur de 6 demi-coups. Quelle méthode peut achever cette profondeur dans le budget et tenir compte de la réfutation ?
  1. Minimax à la profondeur 6, avec 64 feuilles.
  2. Alpha-bêta à la profondeur 5, avec 127 feuilles.
  3. Alpha-bêta à la profondeur 6, avec 127 feuilles.
  4. Monte-Carlo à la racine avec 130 simulations gagnantes.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Série 3 : Combiner les valeurs de recherche avec des résultats limités10 Questions Pratiques

Enregistre cette unité pour voir chaque réponse et t'entraîner sur chaque série.

Question 1 sur 10

MAX agit, puis deux adversaires agissent chacun une fois, et le cycle se répète. Une recherche se termine après deux cycles complets. Quelle est sa profondeur en demi-coups ?
  1. 2 demi-coups.
  2. 6 demi-coups.
  3. 4 demi-coups.
  4. 8 demi-coups.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 2 sur 10

Un appel negamax à somme nulle reçoit les valeurs d'enfants −6, 2 et −1, chacune du point de vue du joueur au trait dans l'enfant. Quelle valeur le parent renvoie-t-il ?
  1. −6.
  2. −2.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 3 sur 10

A choisit L ou R ; B choisit ensuite l'un de deux nœuds de C. Sous L, leurs feuilles sont {(2, 5, 7), (9, 6, 3)} et {(6, 4, 8), (8, 9, 2)}. Sous R, elles sont {(4, 3, 6), (7, 8, 1)} et {(5, 7, 5), (9, 2, 4)}. Que choisit A, les utilités étant dans l'ordre A, B, C ?
  1. R, avec le vecteur (5, 7, 5).
  2. L, avec le vecteur (2, 5, 7).
  3. L, avec le vecteur (8, 9, 2).
  4. R, avec le vecteur (7, 8, 1).
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 4 sur 10

Deux recherches utilisent le même arbre fixe et les mêmes valeurs aux feuilles. L'une explore d'abord les bons coups et l'autre les mauvais. Qu'est-ce qui peut différer avec alpha-bêta ?
  1. La valeur minimax de la racine et le nombre d'issues terminales du jeu.
  2. Les coups autorisés dans un état et le meilleur gain garanti disponible.
  3. Le nombre de feuilles évaluées et le coup optimal ex æquo renvoyé.
  4. L'échelle des utilités terminales et l'ordre des préférences du joueur à la racine.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 5 sur 10

MAX peut imposer une véritable victoire de score 20, mais sa fonction d'évaluation peut renvoyer 30 pour une position non terminale. Quel changement de score faut-il apporter pour qu'une estimation non terminale ne dépasse pas une victoire ?
  1. Placer chaque estimation non terminale sous l'utilité d'une victoire.
  2. Placer chaque caractéristique matérielle au-dessus de l'utilité d'une victoire.
  3. Fixer l'utilité d'une victoire à la valeur de l'estimation moyenne.
  4. Placer les valeurs terminales et non terminales dans deux listes non ordonnées.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 6 sur 10

La recherche à la profondeur 5 est achevée et préfère le coup K. Une itération à la profondeur 6 n'examine que le coup J avant que le temps soit écoulé. Quel résultat un joueur utilisant l'approfondissement itératif devrait-il utiliser ?
  1. J, issu de l'itération inachevée à la profondeur 6.
  2. La moyenne des scores renvoyés pour J et K.
  3. K, issu de l'itération achevée à la profondeur 5.
  4. Le coup ayant le plus de réponses autorisées à la profondeur 1.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 7 sur 10

Le coup A donne une utilité de 2 avec certitude. Le coup B donne 0 avec une probabilité de 0,75 et 6 avec une probabilité de 0,25. Comment les choix fondés sur l'espérance d'utilité se comparent-ils avant et après la mise au carré de chaque feuille ?
  1. Choisir A avant et après la mise au carré.
  2. Choisir B avant et après la mise au carré.
  3. Choisir B avant la mise au carré, puis A.
  4. Choisir A avant la mise au carré, puis B.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 8 sur 10

Un chemin de recherche arborescente de Monte-Carlo atteint l'enfant u après un coup de Vert, v après un coup de Doré et w après un coup de Vert. Doré gagne la partie simulée. Quelles récompenses d'enfants augmentent de un selon la convention du joueur ayant joué le coup entrant ?
  1. Seulement celle de w.
  2. Seulement celle de v.
  3. Celles de u et w.
  4. Celles de u, v et w.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 9 sur 10

Une racine UCT compte 40 visites. L'enfant X a 18 victoires en 30 visites ; Y en a 4 en 10 visites. Avec C=2 et ln⁡40≈3,689, quel enfant est sélectionné ensuite et quel coup est joué si la recherche s'arrête ?
  1. Sélectionner X ensuite ; jouer X à l'arrêt.
  2. Sélectionner Y ensuite ; jouer Y à l'arrêt.
  3. Sélectionner Y ensuite ; jouer X à l'arrêt.
  4. Sélectionner X ensuite ; jouer Y à l'arrêt.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 10 sur 10

Un programme bat un champion lors d'un match. Quel résultat supplémentaire faut-il pour dire qu'un jeu fini est résolu depuis sa position initiale ?
  1. Une preuve de l'issue si les deux camps jouent parfaitement.
  2. Une plus longue série de victoires contre ce champion.
  3. Un score moyen supérieur dans des simulations aléatoires.
  4. Un arbre de recherche plus grand que celui du programme du champion.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Série 4 : Suivre des conséquences plus profondes et comparer les modèles10 Questions Pratiques

Enregistre cette unité pour voir chaque réponse et t'entraîner sur chaque série.

Question 1 sur 10

Un moteur de règles met les positions en mémoire en utilisant seulement la disposition des pièces. Son jeu permet la même disposition avec l'un ou l'autre joueur au trait, et des actions autorisées différentes. Pourquoi la mémoire cache peut-elle donner un résultat incorrect ?
  1. Elle sépare des états identiques atteints par d'autres ordres de coups.
  2. Elle donne des échelles d'utilité différentes aux positions répétées.
  3. Elle fusionne des états dont les joueurs au trait et les suites diffèrent.
  4. Elle transforme un coup déterministe en événement aléatoire.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 2 sur 10

Un jeu alterné uniforme a un facteur de branchement de 4. La profondeur de recherche passe d'un coup complet par camp à deux coups complets par camp. Par quel facteur le nombre de feuilles augmente-t-il ?
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 3 sur 10

MAX choisit L ou R. Chacun mène à un nœud de MIN ayant deux enfants de MAX. Les enfants de MAX sous L ont pour feuilles terminales (−3, 7) et (4, 5). Ceux sous R ont (6, 8) et (2, 9). Quels décision et valeur obtient-on à la racine ?
  1. L, de valeur 5.
  2. R, de valeur 9.
  3. L, de valeur 7.
  4. R, de valeur 8.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 4 sur 10

A choisit L, de vecteur (4, 2, 0), ou R, où C choisit entre (1, 8, 5) et (7, 3, 5). C départage les ex æquo en choisissant le plus petit gain pour A. Que choisit la recherche avec vecteurs d'utilités et que se passe-t-il si C favorise plutôt le plus grand gain pour A ?
  1. Choisir d'abord R ; choisir L avec la règle modifiée.
  2. Choisir d'abord L ; choisir R avec la règle modifiée.
  3. Choisir d'abord L ; garder L avec la règle modifiée.
  4. Choisir d'abord R ; garder R avec la règle modifiée.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 5 sur 10

Explore de gauche à droite avec alpha-bêta. MAX dispose de L et R, chacun étant un nœud de MIN avec deux enfants de MAX. Sous L, les feuilles de MAX sont (5, 1) et (7, 8). Sous R, elles sont (4, 2) et (9, 10). Combien de feuilles terminales sont évaluées si les coupures en cas d'égalité sont permises ?
  1. 5 feuilles.
  2. 4 feuilles.
  3. 6 feuilles.
  4. 8 feuilles.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 6 sur 10

Une table de transposition stocke une borne supérieure de 3 pour une position à la profondeur de recherche requise. Un appel ultérieur l'atteint avec alpha égal à 5. Que justifie le résultat stocké ?
  1. Remplacer sa valeur réelle par exactement 3 à chaque appel futur.
  2. Porter alpha à 3 avant d'explorer chaque enfant restant.
  3. Effectuer une coupure car la position ne peut pas améliorer alpha.
  4. Inverser la borne car la position a été atteinte deux fois.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 7 sur 10

Une fonction d'évaluation aux échecs utilise la différence de matériel plus 0,2 fois la différence de mobilité, du point de vue des Blancs. Les Blancs ont une tour et trois pions ; les Noirs ont un fou et quatre pions. Les Blancs ont 14 coups autorisés et les Noirs 19. Avec les valeurs usuelles des pièces, quel est le score ?
  1. −1.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 8 sur 10

Les utilités appartiennent à [−6 ; 10]. MAX dispose d'un coup entièrement exploré de valeur 5 et d'un autre coup R menant à MIN. Le premier enfant de R est un nœud de hasard : une issue examinée a une probabilité de 0,7 et une valeur de 2, tandis qu'une probabilité de 0,3 reste non examinée. R possède un autre enfant non exploré. Quel travail alpha-bêta avec des bornes sur le hasard peut-il ignorer ?
  1. Seulement l'autre enfant de R ; les issues aléatoires doivent être examinées.
  2. Seulement les issues aléatoires restantes ; l'autre enfant de R doit être exploré.
  3. Ni les issues aléatoires restantes ni l'autre enfant de R.
  4. Les issues aléatoires restantes et l'autre enfant de R.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 9 sur 10

Un jeu comporte un adversaire hostile optimal et un agent dont les coups suivent des probabilités connues. Comment leurs nœuds devraient-ils faire remonter l'utilité de MAX ?
  1. Utiliser des minima pour l'agent hostile et des moyennes pondérées pour l'agent aléatoire.
  2. Utiliser des moyennes pondérées pour les deux agents selon leurs nombres de coups autorisés.
  3. Utiliser des minima pour les deux agents car ils agissent hors du contrôle de MAX.
  4. Utiliser des maxima pour l'agent hostile et des moyennes pondérées pour l'agent aléatoire.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 10 sur 10

Un jeu stochastique comporte trop d'issues aléatoires pour les énumérer à chaque nœud de recherche. Comment la recherche arborescente de Monte-Carlo peut-elle représenter ces événements ?
  1. Choisir l'issue la plus favorable à chaque fois.
  2. Échantillonner les issues selon leurs probabilités.
  3. Donner la même fréquence à chaque issue distincte.
  4. Remplacer chaque événement par son utilité minimale.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Série 5 : Diagnostiquer les échecs de recherche et appliquer les méthodes ailleurs10 Questions Pratiques

Enregistre cette unité pour voir chaque réponse et t'entraîner sur chaque série.

Question 1 sur 10

Un arbre de stratégie à deux joueurs conserve toutes les réponses de l'adversaire mais un seul coup choisi chaque fois que MAX agit. Pourquoi peut-il tout de même contenir de nombreux chemins de la racine aux feuilles ?
  1. Chaque chemin est un autre premier coup que MAX prévoit de jouer.
  2. Chaque état répété doit avoir une utilité différente.
  3. MAX choisit chaque branche après le coup de l'adversaire.
  4. Les différentes réponses de l'adversaire nécessitent des suites différentes.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 2 sur 10

Une implémentation de minimax en profondeur d'abord stocke les b successeurs générés à chacun des m niveaux actifs. Quel changement réduit le stockage de la recherche active de O(bm) vers O(m), indépendamment de la représentation de l'état ?
  1. Générer tout le dernier niveau avant de faire remonter les valeurs.
  2. Générer et explorer les successeurs un par un.
  3. Remplacer chaque fonction MIN par une autre fonction MAX.
  4. Enregistrer chaque état évalué sans limite de profondeur.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 3 sur 10

Explore de gauche à droite avec alpha-bêta. MAX dispose de L et R, chacun étant un nœud de MIN avec deux enfants de MAX. Les feuilles des enfants de L sont (3, 6) et (5, 9). Celles de R sont (4, 7) et (2, 8). Combien de feuilles terminales sont évaluées ?
  1. 5 feuilles.
  2. 6 feuilles.
  3. 8 feuilles.
  4. 7 feuilles.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 4 sur 10

Une fonction d'évaluation comprend un bonus activé seulement lorsqu'un joueur possède ses deux fous. À quelle limite d'une simple somme des valeurs séparées des pièces cela répond-il ?
  1. L'interaction entre les deux fous.
  2. La probabilité que l'un des fous joue ensuite.
  3. La valeur du roi comme pièce capturable.
  4. Le facteur de branchement de l'arbre de jeu.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 5 sur 10

À matériel initialement égal, MAX peut choisir L : une dame prend une tour et est immédiatement reprise, ou R : une tour prend un fou et est immédiatement reprise. Une recherche matérielle à profondeur fixe s'arrête après la prise de MAX. Compare son choix, celui d'une recherche prolongée jusqu'aux reprises et celui d'une recherche qui ne garde que le coup préféré à profondeur fixe avant de prolonger. Utilise les valeurs conventionnelles des pièces d'échecs. Quelle suite de choix obtient-on ?
  1. R, puis L, puis R.
  2. L, puis R, puis L.
  3. L, puis L, puis R.
  4. R, puis R, puis L.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 6 sur 10

MAX choisit A ou B. Sous A, un événement aléatoire équiprobable mène à des nœuds de MIN dont les feuilles sont (0, 9) et (6, 8). Sous B, un événement équiprobable mène à des nœuds de MIN dont les feuilles sont (4, 5) et (1, 7). Que choisit expectiminimax et que choisirait-on en remplaçant les deux nœuds de hasard par des nœuds de MIN ?
  1. Expectiminimax : B ; modèle de remplacement : A.
  2. Expectiminimax : A ; modèle de remplacement : B.
  3. Les deux choisissent A avec la même valeur à la racine.
  4. Les deux choisissent B avec la même valeur à la racine.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 7 sur 10

A donne une utilité de 3 avec certitude. B donne 1 avec une probabilité de 0,5 et 6 avec une probabilité de 0,5. Compare les choix dans trois modèles : l'espérance d'utilité, l'espérance d'utilité après transformation de chaque feuille par 2x+7, et des réponses adversariales de MIN remplaçant le hasard.
  1. B, puis B, puis A.
  2. A, puis B, puis A.
  3. B, puis A, puis B.
  4. A, puis A, puis B.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 8 sur 10

Une itération de recherche arborescente de Monte-Carlo suit racine → a après un coup des Blancs → b après un coup des Noirs → c après un coup des Blancs, puis les Noirs gagnent. Avant l'itération, les nombres sont a : N=12, U=8 ; b : N=7, U=3 ; c : N=2, U=1. Quels sont les nombres mis à jour des enfants selon la convention du joueur ayant joué le coup entrant ?
  1. a : 13, 9 ; b : 8, 3 ; c : 3, 2.
  2. a : 13, 9 ; b : 8, 4 ; c : 3, 2.
  3. a : 12, 8 ; b : 7, 3 ; c : 3, 2.
  4. a : 13, 8 ; b : 8, 4 ; c : 3, 1.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 9 sur 10

Une racine UCT compte 100 visites. L'enfant A a 54 victoires en 90 visites ; B en a 4 en 10 visites. Utilise ln⁡100≈4,605. Quel enfant est sélectionné pour C=1, lequel pour C=0,2 et lequel est joué si la recherche s'arrête ?
  1. A pour 1 ; B pour 0,2 ; jouer A.
  2. B pour 1 ; B pour 0,2 ; jouer B.
  3. B pour 1 ; A pour 0,2 ; jouer A.
  4. A pour 1 ; A pour 0,2 ; jouer B.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 10 sur 10

Un jeu comporte des milliers de coups autorisés par état et aucune fonction d'évaluation utile écrite à la main, mais des simulations rapides de parties respectant les règles sont disponibles. Quelle approche de recherche constitue un point de départ naturel ?
  1. La recherche arborescente de Monte-Carlo avec une politique de simulation adaptée.
  2. Minimax complet jusqu'à chaque état terminal.
  3. Alpha-bêta avec des scores constants aux feuilles.
  4. Une recherche vectorielle donnant le même score à tous les joueurs.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Tu bloques sur ton propre exercice ? Aide aux Devoirs

Mots-Clés

71 Mots-Clés, chacun avec sa définition

A

Alpha
Alpha est la meilleure borne inférieure disponible pour MAX le long du chemin de recherche courant, établie par une autre possibilité déjà examinée.
Avec alpha égal à 6, un enfant de MIN qui trouve 4 peut être rejeté, car son minimum final ne peut pas dépasser 4.
Analyse rétrograde
L'analyse rétrograde remonte à partir d'issues connues pour classer les états prédécesseurs et construire des informations exactes pour les positions couvertes.
Une table de finales peut marquer une position comme gagnante lorsqu'un coup autorisé atteint une position déjà connue comme perdante pour l'adversaire.
Approfondissement itératif
L'approfondissement itératif achève des recherches à des profondeurs croissantes, conserve un résultat jouable et utilise les choix antérieurs pour ordonner les recherches suivantes.
Si l'itération à la profondeur 7 est interrompue, le coup de la recherche achevée à la profondeur 6 reste disponible.
Arbre de jeu
Un arbre de jeu représente les suites possibles depuis un état, avec les coups autorisés comme arêtes et les états obtenus comme nœuds enfants.
L'alternance des niveaux MAX et MIN montre quel joueur contrôle chaque décision menant à une issue.
Arbre de recherche
Un arbre de recherche est la partie des suites de jeu possibles effectivement générée par un algorithme ; ses feuilles peuvent être des états terminaux ou des positions non terminales où la recherche est interrompue.
Minimax à profondeur limitée évalue sa frontière même si la partie réelle peut continuer au-delà de ces feuilles.
Argmax
Un argmax est une entrée ou une action qui atteint la plus grande valeur d'une fonction, distincte de la valeur maximale numérique elle-même.
Si le coup K renvoie 6 et le coup L renvoie 2, l'argmax est K tandis que la valeur maximale renvoyée est 6.

B

Bêta
Bêta est la meilleure borne supérieure disponible pour MIN le long du chemin de recherche courant, établie par une autre possibilité déjà examinée.
Avec bêta égal à 3, un enfant de MAX qui trouve 7 peut s'arrêter, car MIN dispose déjà de la meilleure possibilité 3.
Bibliothèque d'ouvertures
Une bibliothèque d'ouvertures stocke des coups de début de partie étudiés qu'un programme peut consulter au lieu de les redécouvrir par une nouvelle recherche.
Un joueur peut choisir une suite d'ouverture établie et garder davantage de son budget de recherche pour les tours suivants.
Borne de coupure
Une borne de coupure limite la valeur possible d'un sous-arbre sans l'établir exactement : un sous-arbre de MAX élagué donne une borne inférieure et un sous-arbre de MIN élagué une borne supérieure.
Un sous-arbre de MAX qui renvoie 8 après une coupure pourrait contenir un 12 non examiné : sa valeur exacte reste donc inconnue.

C

Caractéristique
Une caractéristique est une propriété numérique extraite d'une position, comme une différence de matériel, qui contribue à un score d'évaluation.
Soustraire le nombre de coups autorisés des Noirs de celui des Blancs produit une caractéristique de mobilité du point de vue des Blancs.
Cas de base de la récursion
Un cas de base de la récursion renvoie un résultat sans nouvel appel récursif ; dans minimax complet, un état terminal fournit son utilité.
Une grille pleine donnant une partie nulle renvoie son score de partie nulle avant que l'algorithme ne tente d'examiner une liste vide de coups.

D

Décision minimax
Une décision minimax est une action qui atteint la plus grande valeur remontée à une racine de MAX, les coups ultérieurs étant évalués en supposant un jeu optimal.
La recherche renvoie le coup vers la branche offrant la meilleure garantie, et non simplement le nombre qui lui est attribué.
Demi-coup
Un demi-coup est un coup joué par un joueur, utilisé comme unité de profondeur de recherche ; un coup complet aux échecs couvre généralement deux demi-coups.
Une recherche couvrant les tours des Blancs, des Noirs, des Blancs puis des Noirs atteint la profondeur 4 depuis la position de départ.
Développement
Le développement est la phase de la recherche arborescente de Monte-Carlo qui ajoute un nouvel enfant à l'arbre pour une action autorisée non essayée à un nœud non terminal sélectionné.
Après l'ajout d'un enfant, l'itération peut simuler la partie jusqu'à la fin sans stocker chaque coup ultérieur comme nœud de l'arbre.

É

Échantillonnage des événements aléatoires
L'échantillonnage des événements aléatoires tire les issues d'un événement selon leur loi de probabilité afin que des essais de recherche répétés estiment leur contribution attendue.
L'échantillonnage d'un lancer de backgammon devrait produire chaque lancer précis sans double environ deux fois plus souvent que chaque double précis.
Élagage alpha-bêta
L'élagage alpha-bêta ignore les branches dont les bornes montrent qu'elles ne peuvent pas améliorer un choix disponible, tout en préservant la valeur de minimax sur le même arbre.
Dès qu'une branche de MIN descend sous l'autre possibilité connue de MAX, ses réponses non examinées ne peuvent plus sauver cette branche.
Élagage anticipé
L'élagage anticipé ignore des coups jugés peu importants sans prouver qu'ils ne peuvent pas aider, en échangeant un coût de recherche réduit contre un risque d'erreur.
Ne conserver que quelques coups très bien évalués peut écarter un coup calme qui aurait gagné après une analyse plus profonde.
État de croyance
Un état de croyance représente les états sous-jacents possibles du jeu qui sont compatibles avec les observations d'un joueur lorsque certaines informations sont cachées.
Un joueur de cartes envisage les mains possibles de l'adversaire, car les cartes visibles ne permettent pas d'identifier un état exact unique.
État du jeu
Un état du jeu enregistre toutes les informations nécessaires pour déterminer les suites autorisées, notamment le plateau et le joueur dont c'est le tour.
Deux dispositions de pièces identiques avec des joueurs au trait différents peuvent offrir des actions et des issues différentes.
Évaluation par réseau de neurones
Une évaluation par réseau de neurones utilise un réseau entraîné pour estimer la qualité d'une position et fournit des valeurs qu'une recherche peut faire remonter à la place de simulations aléatoires.
AlphaZero associe la recherche arborescente à des estimations par réseau de neurones aux échecs, au shogi et au go, au lieu de terminer des parties simulées aléatoirement.

E

Effet d'horizon
L'effet d'horizon conduit une recherche limitée à préférer retarder une perte inévitable au-delà de sa profondeur visible, parfois au prix de matériel supplémentaire.
Un programme peut sacrifier des pions en donnant échec pour repousser la prise d'un fou piégé après sa coupure.
Espérance d'utilité
L'espérance d'utilité est la moyenne des gains des issues possibles pondérée par leurs probabilités ; elle mesure la valeur d'un choix selon un modèle probabiliste.
Une probabilité de 0,25 d'obtenir 8 et de 0,75 d'obtenir 0 donne une espérance d'utilité de 2, même si 2 n'est pas une issue possible.
Expectimax
Expectimax combine des choix maximisants et des moyennes aux nœuds de hasard lorsque l'incertitude suit des probabilités plutôt que de venir d'un joueur qui minimise.
Un adversaire uniformément aléatoire donne la même probabilité à chacun de ses coups autorisés au lieu de choisir délibérément la pire réponse pour MAX.
Expectiminimax
Expectiminimax explore des arbres contenant des nœuds MAX, MIN et de hasard, en faisant remonter respectivement des maxima, des minima et des moyennes pondérées.
Un événement aléatoire peut choisir quelle position de MIN se produit, après quoi cet adversaire sélectionne toujours sa meilleure réponse.
Exploitation
L'exploitation consacre des recherches aux coups qui semblent déjà prometteurs selon leurs récompenses observées, afin d'affiner l'estimation de leur force.
Sans bonus d'exploration, la moyenne observée d'un enfant visité détermine sa priorité par rapport aux autres enfants visités.
Exploration
L'exploration consacre des recherches aux coups pour lesquels les résultats sont limités, ce qui réduit l'incertitude et donne une chance de découvrir des coups forts négligés.
Un enfant moins visité peut recevoir la prochaine simulation même si son taux de victoire observé est inférieur à celui d'un autre enfant.
Extension singulière
Une extension singulière explore plus profondément un coup qui se distingue nettement des autres possibilités, en concentrant les efforts sur cette suite.
Lorsqu'une réponse domine les autres coups, la recherche peut la prolonger au-delà de la limite de profondeur normale.

F

Facteur de branchement
Le facteur de branchement est le nombre de successeurs autorisés à un nœud, ou une moyenne utilisée pour estimer la croissance d'un arbre de jeu.
Avec quatre actions à chaque position, ajouter un demi-coup multiplie par quatre le nombre de feuilles de l'arbre uniforme.
Fonction d'évaluation
Une fonction d'évaluation estime à faible coût l'utilité d'une position non terminale, ce qui permet à une recherche d'attribuer des valeurs à sa frontière de profondeur.
Un avantage matériel peut augmenter l'estimation d'une position d'échecs même lorsque la recherche n'a pas atteint la fin de la partie.

H

Heuristique du coup tueur
L'heuristique du coup tueur essaie tôt un coup parce qu'il a provoqué une coupure alpha-bêta ailleurs à la même profondeur de recherche.
Un coup qui a réfuté une autre suite devient un indice d'ordonnancement, sans prouver que les autres coups sont sans intérêt.
Hypothèse paranoïaque
L'hypothèse paranoïaque modélise tous les autres joueurs comme une coalition unique qui minimise l'utilité du joueur à la racine dans une recherche multijoueur.
Elle permet un raisonnement alpha-bêta à deux joueurs, mais peut prédire une coopération entre des adversaires qui ont des buts distincts.

I

Information imparfaite
L'information imparfaite signifie qu'un joueur ne peut pas observer une partie pertinente de l'état courant du jeu lorsqu'il choisit un coup.
Un joueur de poker voit ses propres cartes mais doit envisager plusieurs mains cachées possibles chez son adversaire.
Information parfaite
L'information parfaite signifie que chaque joueur peut observer l'ensemble de l'état pertinent du jeu lorsqu'il choisit sa prochaine action.
Un plateau de backgammon visible donne une information parfaite même si les futurs lancers de dés introduisent du hasard.
Interaction entre caractéristiques
Une interaction entre caractéristiques se produit lorsque la contribution d'une propriété de la position dépend d'une autre, au-delà d'une somme fixe de contributions indépendantes.
Un bonus pour la paire de fous saisit une valeur qui peut être manquée en additionnant la même valeur isolée pour chaque fou.

J

Jeu à somme générale
Un jeu à somme générale admet des intérêts qui ne sont pas strictement opposés : le gain d'un joueur n'est donc pas nécessairement la perte d'un autre.
Deux joueurs peuvent tous deux préférer une issue commune à gains élevés à une issue qui leur donne moins à chacun.
Jeu à somme nulle
Un jeu à somme nulle présente des intérêts strictement opposés : le gain d'un joueur est une perte pour l'autre ; les jeux à somme constante se comportent de la même façon.
Attribuer (1, 0) à une victoire et (0,5 ; 0,5) à une partie nulle maintient l'opposition entre les joueurs malgré un total fixe de 1.
Jeu déterministe
Un jeu déterministe ne comporte aucun événement aléatoire : un état complet et une action autorisée choisie déterminent l'état obtenu.
Les échecs nécessitent toujours un modèle de l'adversaire, même si les règles n'introduisent pas de hasard dans un coup autorisé.
Jeu résolu
Un jeu résolu a une issue démontrée si les joueurs jouent parfaitement depuis la position de départ indiquée, établie contre toute stratégie adverse possible.
Il a été démontré que le jeu de dames est nul si les deux camps jouent parfaitement ; battre un humain fort ne suffirait pas à prouver ce résultat.
Jeu stochastique
Un jeu stochastique comprend des événements aléatoires qui influent sur le jeu et nécessite les probabilités des issues en plus des choix délibérés des joueurs.
Au backgammon, l'arbre se ramifie selon un lancer de dés avant que le joueur ne choisisse parmi les coups autorisés par ce lancer.

M

Minimax
Minimax fait remonter des maxima pour MAX et des minima pour MIN afin de trouver la meilleure valeur garantie contre une opposition optimale dans un jeu à deux joueurs à somme nulle.
MAX rejette une branche contenant un gain élevé si MIN y dispose d'une réponse qui impose un résultat inférieur.
Minimax heuristique
Minimax heuristique fait remonter des valeurs estimées aux coupures non terminales tout en conservant l'utilité exacte pour les issues terminales.
La racine peut être optimale pour sa frontière évaluée tout en conduisant à un mauvais choix si cette frontière manque une réponse tactique.
Mobilité
La mobilité mesure les coups autorisés dont dispose un joueur et peut servir de caractéristique d'évaluation, souvent en comparaison avec la mobilité de l'adversaire.
Une position avec 30 coups pour les Blancs et 24 pour les Noirs présente une différence de mobilité de +6 du point de vue des Blancs.
Modèle de l'adversaire
Un modèle de l'adversaire précise comment un autre agent choisit ses actions, par exemple par une opposition optimale ou selon une loi de probabilité sur les coups.
Un joueur qui s'attend à des réponses aléatoires peut choisir un coup risqué qu'un adversaire agissant délibérément réfuterait.
Modèle de transition
Un modèle de transition précise l'état successeur obtenu en appliquant une action autorisée à l'état courant d'un jeu.
Au morpion, la transition place la marque du joueur au trait dans une case vide et passe le tour à l'autre joueur.

N

Negamax
Negamax exprime la recherche dans un jeu à deux joueurs à somme nulle du point de vue du joueur courant, en inversant le signe des valeurs des enfants avant d'en prendre le maximum.
Une valeur d'enfant de −5 devient +5 pour son adversaire au parent : oublier d'inverser le signe inverse donc la signification.
Nœud de hasard
Un nœud de hasard représente un événement aléatoire et fait remonter une moyenne pondérée par les probabilités, la somme de ses probabilités sortantes valant un.
Un nœud représentant une pièce équilibrée donne le même poids aux deux valeurs renvoyées par les suites, au lieu de choisir l'une d'elles.
Nombre de visites
Un nombre de visites enregistre combien d'itérations achevées de recherche arborescente de Monte-Carlo sont passées par un nœud ; il sert aux estimations de récompense et au choix final à la racine.
Un enfant de la racine testé de nombreuses fois fournit davantage de résultats accumulés qu'un enfant ayant un taux parfait après deux essais.

O

Ordonnancement des coups
L'ordonnancement des coups détermine quelles actions autorisées la recherche examine en premier, ce qui aide alpha-bêta à établir des bornes utiles et à élaguer plus tôt.
Essayer d'abord la branche la plus forte à la racine peut réduire le nombre de feuilles évaluées tout en préservant la même valeur minimax.

P

Poids
Un poids est un coefficient qui détermine l'importance de la contribution d'une caractéristique au score d'une fonction d'évaluation pondérée pour une position.
Un poids de mobilité de 0,1 fait contribuer un avantage de six coups à hauteur de 0,6 point à l'évaluation.
Politique de simulation
Une politique de simulation choisit les coups d'une suite simulée en utilisant des actions autorisées aléatoires ou des connaissances peu coûteuses sur le jeu.
Une politique de simulation plus performante peut produire des suites plus raisonnables que le choix répété et uniforme de n'importe quel coup autorisé.

R

Recherche arborescente de Monte-Carlo
La recherche arborescente de Monte-Carlo développe un arbre sélectif en utilisant des issues simulées et des statistiques accumulées pour diriger la suite de la recherche vers les branches utiles.
Un coup prometteur reçoit davantage de visites et un sous-arbre plus grand à mesure que les simulations fournissent des résultats sur sa suite.
Recherche de quiescence
La recherche de quiescence prolonge les positions tactiquement instables au-delà de la limite de profondeur normale afin que l'évaluation suive une suite plus stable.
Une extension limitée aux prises peut révéler le pion qui reprend une dame semblant juste avoir gagné du matériel.
Recherche en profondeur d'abord
La recherche en profondeur d'abord suit récursivement une suite avant de revenir aux nœuds frères, en conservant le chemin actif plutôt qu'une frontière entière.
Un appel minimax explore un sous-arbre enfant et renvoie son nombre avant d'évaluer l'enfant suivant.
Réfutation tactique
Une réfutation tactique est une réponse ou une suite précise qui met en échec un coup envisagé, même si de nombreuses réponses moins précises permettent sa réussite.
Les simulations aléatoires peuvent rarement choisir l'unique réponse qui fait perdre, alors qu'une recherche alpha-bêta achevée la trouve dans les limites de sa profondeur.
Règle de départage
Une règle de départage précise quel enfant un joueur choisit lorsque plusieurs enfants lui donnent le même gain préféré.
Lorsque deux enfants donnent à C des troisièmes composantes égales, leurs gains différents pour A peuvent modifier le coup que A devrait choisir auparavant.
Rétropropagation
Dans la recherche arborescente de Monte-Carlo, la rétropropagation met à jour les totaux de visites et de récompenses du chemin sélectionné à partir de l'issue de la simulation achevée.
Une victoire des Noirs augmente les visites le long du chemin et les victoires aux enfants dont le coup entrant a été joué par les Noirs.

S

Sélection
La sélection est la phase de la recherche arborescente de Monte-Carlo qui suit les nœuds enfants existants selon une politique jusqu'à atteindre un point de développement ou un résultat terminal connu.
UCB1 peut guider le chemin sélectionné vers des coups qui semblent prometteurs ou pour lesquels peu de résultats de simulation sont encore disponibles.
Simulation de partie
Une simulation de partie est une suite simulée depuis une position jusqu'à la fin du jeu, qui produit une issue utilisée pour estimer la qualité d'un coup.
Une politique de coups autorisés aléatoires peut terminer rapidement une partie et renvoyer une victoire, une défaite ou une partie nulle à l'arbre de recherche.
Stratégie
Une stratégie précise l'action qu'un joueur choisira dans chaque situation qu'il pourrait rencontrer, notamment après différentes réponses de l'adversaire.
Une stratégie peut répondre à chacune de deux réponses de l'adversaire, même si une seule se produit dans une partie donnée.

T

Table de finales
Une table de finales stocke des résultats exacts pour un ensemble couvert de positions de fin de partie, permettant une consultation à la place d'une évaluation heuristique.
Une consultation d'échecs à sept pièces compte les deux rois et peut déterminer si une position couverte est gagnante, nulle ou perdante.
Table de transposition
Une table de transposition met en mémoire les positions explorées avec leurs valeurs, les profondeurs explorées et une indication précisant si chaque valeur est exacte, une borne inférieure ou une borne supérieure.
Un état répété peut réutiliser une borne adaptée pour resserrer la fenêtre de recherche sans prétendre qu'elle est exacte.
Test de fin de partie
Un test de fin de partie détermine si la partie est terminée, afin qu'une recherche puisse attribuer un score à l'issue au lieu de générer un autre coup.
Au morpion, la partie se termine immédiatement lorsqu'un alignement de trois marques apparaît, même s'il reste des cases vides.
Transformation affine strictement croissante
Une transformation affine strictement croissante associe à chaque utilité x la valeur ax + c avec une pente positive, en préservant toutes les comparaisons d'espérances d'utilité.
Multiplier chaque issue par 4 et soustraire 2 transforme chaque espérance de la même manière cohérente.
Transformation strictement croissante
Une transformation strictement croissante donne une sortie plus grande pour toute entrée plus grande, ce qui préserve les rangs mais peut modifier les écarts d'utilité.
Élever les issues au cube préserve leur ordre tout en modifiant parfois la loterie qui a la plus grande espérance.
Transposition
Une transposition se produit lorsque différentes suites de coups autorisés atteignent le même état complet, ce qui permet de partager le travail de recherche répété.
Jouer les deux marques de X dans les coins en ordre inverse autour du coup de O au centre peut mener à une même position.

U

UCB1
UCB1 attribue à un enfant un score égal à sa récompense moyenne observée plus un bonus d'incertitude contrôlé par C, afin de guider le choix de la prochaine simulation.
Un bonus d'incertitude peut rendre intéressant l'examen d'un taux observé de 0,5 avant celui d'un taux de 0,7 bien plus testé.
UCT
UCT est la recherche arborescente de Monte-Carlo utilisant des bornes supérieures de confiance pendant la sélection pour équilibrer exploration et exploitation aux nœuds de l'arbre.
UCT sélectionne les essais avec UCB1, mais joue généralement le coup menant à l'enfant de la racine le plus visité lorsque le temps est écoulé.
Utilité
Une utilité est un gain numérique attribué à une issue terminale, qui exprime à quel point cette issue est souhaitable pour un joueur donné.
Une victoire, une partie nulle et une défaite peuvent recevoir les utilités +1, 0 et −1 du point de vue du premier joueur.

V

Valeur minimax
La valeur minimax d'un état est l'utilité de MAX lorsque les deux joueurs jouent de façon optimale à partir de cet état dans un jeu fini, déterministe et à somme nulle.
Une valeur de 0 à la racine peut signifier qu'une partie nulle est assurée, même si une erreur de l'adversaire pourrait permettre une victoire.
Variante principale
Une variante principale est une suite de choix optimaux depuis la racine à travers l'arbre exploré, qui montre la suite attendue si les joueurs jouent au mieux.
Suivre les maxima et minima choisis mène de la valeur de la racine à une feuille de valeur correspondante.
Vecteur d'utilités
Un vecteur d'utilités indique un gain par joueur et préserve leurs intérêts distincts lorsqu'une seule valeur ne peut pas décrire les préférences de tous.
Pour les joueurs A, B et C, (2, 7, 1) donne à B le gain du milieu, 7, quel que soit le joueur dont c'est le tour ensuite.

À propos de cette unité

Par StudeliSignaler une erreur

Crée ton propre Matériel d'Étude

Transforme tes notes, diapos et documents en Guides d'Étude, Questions Pratiques, Flashcards et 6 autres outils.

Commencer