Vous êtes sur la page 1sur 2

Universit Paris 7 - M1 Ingnierie Informatique

Anne 2013-2014

TD de Prolog et programmation par contraintes n 5

Morpion
Morpion est un jeu a deux jouer, qui se joue sur un matrice de dimension 3. Au dbut, les 9 cases de la matrice sont libres. Chaque joueur, son tour, choisit une case libre et la marque (disons que max joue des cercles et min des croix) ; la case en question devient alors occupe et ne peut plus tre choisie. Un joueur gagne sil arrive a marquer une ligne, une colonne ou une des deux diagonales de la matrice. Le but de cet exercice est dimplementer ce jeu, en utilisant un algorithmeminimax arbre de recherche. Les positions du jeu sont rprsentes par des listes de longueur 9, avec lnumration des cases suivante: 1 2 3 4 5 6 7 8 9 Par exemple, la liste reprsente la position:

Exercice 1 Dnir un prdicat qui russit si la position est atteignable partir de la position quand a la main. Exercice 2 Dnir un prdicat qui russit si est une position nale du jeu, et dans ce cas vaut , ou selon les cas ( savoir: le joueur max a gagn - le joueur min a gagn - match nul). Exercice 3 Dnir un prdicat qui value une position. Voici une des spcications possibles de ce prdicat: la valeur dune position nale est: 100 si le gagnant est . 100 si le gagnant est . 0 pour un match nul. la valeur dune position non nale est le nombre de possibilits de gain de max. Par exemple, la valeur de la position est 2 (restent ouvertes la colonne centrale et la diagonale principale). 1

Exercice 4 Dnir un prdicat qui choisit le prochain coup de sur la base de lalgorithme minimax arbre de recherche. Rappel sur lalgorithme minimax arbre de recherche: le prdicat est tel que: si est une position nale, ou bien si est 0, alors est calcule en utilisant le prdicat de lexercice prcdent (et nest pas calcule). sinon, on calcule lensemble P des positions atteignables par un coup de partir de , on applique rcursivement chacune de ces position le prdicat , en dcrementant et en changeant de joueur, puis, on choisit comme nouvelle position llment de P dont la valeur est maximale, si est max (resp. minimale, si est min). Sur la base de cette description de , interprter le rsultats des requtes suivants (la constante est utilise la place de la constante dans ces exemples): erreur de stratgie lentame pour max profondeur 1:


stratgie correcte lentame pour min profondeur 1:


Exercice 5 Dnir un prdicat qui permet lutilisateur de jouer au morpion contre la machine. La machine joue en utilisant le prdicat profondeur . Si vaut , lutilisateur commence, si vaut , la machine commence. Vrier quel sont les niveaux de jeu auxquels il est possible de gagner contre la machine.

Vous aimerez peut-être aussi