Jeu de Marienbab simplifié

publicité
EA3
TD8
L2 INFO
2015–2016
Jeu de Marienbab simplifié
Deux joueurs disposent de n allumettes. À tour de rôle ils doivent enlever une, deux ou trois
allumettes. Le joueurs enlevant la dernière allumette a perdu.
1. Construire l’arbre des solutions : les cellules auront deux informations : c->Nbr, le nombre
d’allumette en jeu, c->Joueur, le joueur qui doit jouer ensuite. Elles pointeront aussi
vers trois autres cellules, en fonction des trois coups possibles du joueurs c->joueur
(enlever une, deux ou trois allumettes).
(a) écrivez cet arbre pour n = 5
(b) Écrivez un algorithme construisant cet arbre pour un n donné.
2. Si les joueurs jouent aléatoirement, lequel a le plus de chance de gagner ? Répondez à
cette question avec les aides suivantes :
(a) Un chemin de la racine de l’arbre à une feuille représente une partie. Comment
peut-on voir qui l’a gagnée ?
(b) Qui a le plus de chance de gagner quand n = 5 ?
(c) Écrivez un algorithme de parcours de l’arbre et affichant toutes les différentes fins
possibles des parties.
(d) Écrivez un algorithme donnant la probabilité que le joueur a gagne.
3. On dit que le joueur A a une stratégie gagnante s’il peut jouer de telle sorte que, quelque
soit la façon dont joue le joueur B, A gagne.
(a) Le joueur A a-t-il une stratégie gagnante pour n = 5 ?
(b) Écrire un algorithme qui dit si A a une stratégie gagnante pour n quelconque.
(c) Au début de la partie, le joueur A n’a sans doute pas de stratégie gagnante. Plus
on avance dans la partie, plus la stratégie devient claire. Écrivez un algorithme
attendant en entrée c, une cellule de l’arbre des solutions du jeu de Marienbab à n
allumettes et rendant true si une partie s’étant déroulée jusqu’à c a une stratégie
gagnante pour A.
4. Vous cherchez des jeux amusants à faire seuls ? Écrivez une intelligence artificielle qui
jouera à la place de A.
(a) Vous cherchez à définir la stratégie que A peut adopter à la cellule c. Si A a une
stratégie gagnante, alors appliquez la.
(b) Sinon, regardez parmi ses descendants lequel a une stratégie gagnante. S’il n’y en a
qu’un, allez y.
(c) S’il y en a plusieurs, vous devez faire des choix de stratégie :
— Vous pouvez aller vers la stratégie gagnante arrivant le plus vite
— Vous pouvez aller au fils qui a la plus grande probabilité de gagner
— Vous pouvez aller au fils où l’adversaire n’a pas de stratégie gagnante, mais vous
si.
(d) Pour optimiser votre IA, après avoir créer l’arbre des solutions, vous pouvez l’étiqueter. Mettez à chaque noeud une note. L’IA choisira ensuite le noeud ayant la
plus haute note. Par exemple la note peut être la probabilité que le joueur A gagne
si les deux joueurs jouent aléatoirement.
1
Téléchargement