L'étude des jeux : attracteurs et minmax
Cours · informatique (tronc commun des prépas scientifiques), chapitre 20 · prépas scientifiques, tronc commun · le début du chapitre, la suite sur Adloun
20.1 Introduction et motivation
Peut-on gagner à coup sûr ? La question hante les jeux depuis toujours — et l'informatique lui a donné un sens précis et des réponses : le morpion est un match nul si personne ne se trompe ; le puissance 4 est gagné par le premier joueur ; les dames sont nulles (calcul achevé en 2007, après dix-huit ans de machine). Derrière ces verdicts, une seule idée : un jeu à deux joueurs est un graphe — les sommets sont les positions, les arcs les coups — et « bien jouer » est un problème de parcours, justiciable de tout l'arsenal des chapitres 12 à 14.
Ce chapitre construit la théorie sur les jeux d'accessibilité : deux joueurs déplacent un jeton, l'un veut atteindre certaines positions finales, l'autre veut l'en empêcher. On y définit ce qu'est une stratégie, une stratégie gagnante, une position gagnante — et l'on calcule tout cela par l'algorithme des attracteurs, un parcours de graphe à rebours d'une élégance rare. Puis on affronte la réalité : l'arbre des échecs a plus de positions que l'univers d'atomes — quand le calcul exact est hors de portée, on explore à profondeur bornée et l'on évalue les positions frontières par une heuristique : c'est l'algorithme minmax, cœur de tous les programmes de jeu classiques, et le second visage — après l'A* du chapitre 14 — de cette idée maîtresse de l'intelligence artificielle : injecter du jugement approximatif là où le calcul exact ne passe plus.
20.2 Les jeux comme graphes
20.2.1 L'arène
Un jeu se modélise par un graphe orienté biparti : l'ensemble des états (positions) se partage en — les états où c'est à de jouer — et — ceux où a le trait ; les arcs sont les coups légaux (d'un état de , on va vers des états de , et réciproquement). Les états sans successeur sont les états finals, de trois types : gagnants pour , gagnants pour , ou match nul. Dans le jeu d'accessibilité, cherche à amener la partie dans l'ensemble de ses états gagnants ; s'y oppose.
Deux joueurs annoncent tour à tour un total, en ajoutant ou au total précédent (départ , commence) ; qui dit gagne. États : les couples (total, joueur au trait), de à ; coups : et — et symétriquement ; états finals : — c'est qui vient de dire — gagnant pour , et gagnant pour . Vingt-deux états, un graphe qu'on dessine sur un coin de table — et déjà toute la structure du problème : le morpion et les échecs ont exactement cette forme, en plus grand.
20.2.2 Stratégies et positions gagnantes
Une stratégie pour est une fonction qui, à chaque état de , associe un coup — sans mémoire : le choix ne dépend que de la position courante, pas de l'historique (le programme se limite à ces stratégies, et il se trouve qu'elles suffisent pour les jeux d'accessibilité). Une stratégie de est gagnante depuis l'état si toute partie partant de où la suit — quels que soient les coups de — atteint . L'état est une position gagnante pour s'il existe une stratégie gagnante depuis .