IA : Algorithme MINIMAX

L’algorithme minimax est optimisé dans la prise de décision binaire (deux choix), où :

  • on maximise la réponse en ayant le meilleur résultat (meilleur score)
  • on essaye de minimiser les pertes potentielles liées à cette même réponse (le pire score),

En cas, de choix multiple, la combinatoire va vite augmenter et les performances de l’algorithme vont se dégrader. L’arbre de décision devient rapidement énorme.

Nombre de combinaisons pour 10 choix de position par tours à anticiper.

  • profondeur 1 tour : 10 positions
  • profondeur 2 tours : 100 positions
  • profondeur 3 tours : 1 000 positions
  • profondeur 4 tours : 10 000 positions
  • profondeur 5 tours : 100 000 positions

Exemple dans un jeu

Par exemple, dans un jeu, “L’algorithme choisis le coup en supposant que son adversaire répondra toujours de la façon la plus pénible pour lui.”

Minimax est très utilisé dans des jeux, le nombre de coups possible par tour varie selon les jeux :

  • morpion (tic-tac-toe) : il y a 9 coups possibles maximum par tour,
  • go, il y a 250 coups possibles pour chaque tour
  • échecs (avec variantes et approximations) : il y a 30 coups possibles par tour,
  • puissance 4 : il y a 7 coups possibles, etc.

Si l’on augmente la profondeur de jeu (nombre de tours à anticiper), et plus la combinatoire augmente.

Comment ça marche

  1. Tu regardes tous les coups possibles depuis la situation actuelle.
  2. Pour chaque coup, tu imagines la réponse de l’adversaire.
  3. Puis ta réponse, la sienne, etc., comme un arbre de possibilités.
  4. Quand tu arrives à la fin (ou à une profondeur limite), tu donnes une note (score) à chaque position finale.
  5. Tu “remontes” les notes :
  • aux tours de MAX (toi), tu gardes le maximum des scores possibles,
  • aux tours de MIN (adversaire), tu gardes le minimum (car il choisira ce qui t’arrange le moins).

Le meilleur coup est alors celui qui mène au meilleur score garanti, même si l’adversaire joue parfaitement.

    Pas à pas

    Imaginons un mini-jeu dans lequel tu dois choisir entre 2 coups : A ou B.
    Ensuite, l’adversaire choisit lui aussi entre deux réponses.
    À la fin, on obtient un score (plus grand = meilleur pour toi).

    Arbre des possibilités

    C’est à ton tour de jouer. Tu cherches à MAXimiser tes chances.

    • Coup A
      • L’adversaire pour MINimiser peut répondre à A :
      • A1 → score final = 3
      • A2 → score final = 5
    • Coup B
      • L’adversaire pour MINimiser peut répondre à B :
      • B1 → score final = 2
      • B2 → score final = 9

    Étape 1 : choix de l’adversaire (MIN)

    L’adversaire veut te pénaliser, donc il choisit le plus petit score dans chaque branche.

    • Si tu joues A : MIN choisit entre 3 et 5 → tu retiens 3
    • Si tu joues B : MIN choisit entre 2 et 9 → tu retiens 2

    Étape 2 : ton choix (MAX)

    Tu choisis le coup qui maximise le résultat garanti soit 3 (max(3, 2) = 3) alors le meilleur coup est A. L’algorithme minimax te fait jouer A, car même si l’adversaire répond au mieux, tu es sûr d’obtenir au moins 3. Tandis que B semble parfois incroyable (9), mais l’adversaire ne te laissera jamais avoir 9 : il choisira B1 (2).