MinMax et AlphaBeta (TD)
par
popularité : 7%
Exercice MinMax
Soit un jeu dans lequel deux joueurs ont le choix entre trois possibilités d’actions à chaque étape du jeu.
Il y a : le déplacement à gauche (g), le déplacement devant au centre (c), ou lr déplacement à droite (d).
Un des joueurs est IA, une machine utilisant le principe du MiniMax qui se base sur le fait q’un joueur tente de minimiser le gain maximum de l’adversaire.
A partir d’une situation donnée, un arbre des situations futures possibles est généré sur les deux coups à venir.
IA a évalué les feuilles de cet arbre.
- arbre de jeu pour le TD minimax
En supposant que l’Humain joue toujours le coup parfait, c’est-à-dire le coup minimisant le gain pour l’IA, quelle est la meilleure action possible pour l’IA à partir de la situation initiale (au sommet de l’arbre ?).
Exercice Alpha-Beta
Pour un jeu à somme nulle quelconque, vous utilisez l’algorithme alpha-beta pour programmer l’IA de la machine.
Supposons l’arbre des états suivant :
- arbre de jeu pour le TD Alpha-Beta
- Donnez les valeurs des nœuds (a) à (p) qui correspondent aux actions d’élagage par l’algorithme alpha-beta.
Les valeurs sont entières, positives ou nulle.
Tic-Tac-Toe (morpion)
Dans le jeu du morpion (ou Tic-Tac-Toe en anglais), deux joueurs s’affrontent à tour de rôle sur une grille de 3x3.
Une joueur place 1 croix, l’autre un cercle.
Le premier des deux qui a aligné 3 de ses jetons (en colonne, ligne ou diagonale) a gagné.
- Supposons le cas suivant où l’IA prend les croix X et l’humain les ronds O :
X | . | . |
O | O | X |
X | O | . |
- Supposons que l’IA ne réfléchisse qu’à une profondeur de 2 (elle estime juste le coup suivant de l’adversaire pour sélectionner son action).
- Sachant que la valuation des coups est la suivante :
- 3 jetons alignés = +100 pour le joueur qui les a alignés et - 100 pour l’adversaire
- 2 jetons alignés et une case vide permettant un alignement ensuite = +50 pour le joueur qui les a alignés et - 50 pour l’adversaire
- 1 jeton seul sur une ligne,colonne ou diagonale = +10 ou - 10 selon le joueur
Générer l’arbres des futurs possibles à partir de la situation ci-dessus, estimez les feuilles, et donnez la meilleure action à réaliser pour l’IA...
Evaluation dépendante de l’état mix-max
Un évaluation plus « intelligente » devrait prendre en compte le fait que l’on soit dans un état min ou max, c’est-à-dire dans une situation où l’IA doit jouer ensuite, ou non.
Ainsi, un état proposant deux croix alignés (xx., x.x, .xx) avec un jeu à suivre pour l’IA est plus valuée qu’un état proposant deux ronds alignés dans les même conditions..
On peut réécrire les valuations ainsi :
-
- 3 jetons alignés = +100 pour le joueur qui les a alignés et - 100 pour l’adversaire
- 2 jetons alignés et une case vide permettant un alignement ensuite = +50 pour le joueur qui les a alignés et - 50 pour l’adversaire +-10 selon le jeu à venir
- 1 jeton seul sur une ligne,colonne ou diagonale = +10 ou - 10 selon le joueur +- 5 selon le jeu à venir
- Supposons le cas suivant où l’IA prend les croix X et l’humain les ronds O :
X | . | . |
O | O | . |
X | . | . |
- Supposons que l’IA ne réfléchisse qu’à une profondeur de 2 (elle estime juste le coup suivant de l’adversaire pour sélectionner son action).
Générer l’arbres des futurs possibles à partir de la situation ci-dessus, estimez les feuilles, et donnez la meilleure action à réaliser pour l’IA...