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