Adloun

Le jeu des allumettes

Exercice · niveau 2 · informatique (MP2I/MPI), chapitre 27 — Jeux, stratégies et recherche heuristique

Énoncé

Un tas de allumettes. Chacun leur tour, les deux joueurs en retirent , ou . Celui qui prend la dernière gagne. Modéliser en jeu d'accessibilité, puis déterminer les positions perdantes pour le joueur qui doit jouer.

Corrigé

Le modèle. Un état est un couple : le nombre d'allumettes et le joueur qui doit jouer. Le graphe est biparti par construction — chaque coup change de joueur —, ce qui est exactement la forme demandée par le programme. Les états de sont les , ceux de les , et l'arc existe pour , . La cible de est : « il ne reste rien, et c'est à de jouer » signifie que vient de prendre la dernière.

Le calcul. L'attracteur, calculé sur les états pour , donne :

gagne ?GGGGGGGGG

et le motif se répète jusqu'à . Les positions perdantes sont exactement les multiples de : .

Pourquoi. Si , tout coup laisse non multiple de ; l'adversaire peut alors reprendre et rétablir un multiple de . La suite des multiples de décroît strictement — c'est encore un variant — et l'on finit à , où le joueur qui doit jouer ne peut plus rien prendre : il a perdu. Réciproquement, si , on retire et l'on impose le multiple de à l'adversaire.

La stratégie est sans mémoire, et tient en une ligne : retirer allumettes. Elle ne regarde ni les coups passés ni le nombre de tours — la restriction du programme aux stratégies sans mémoire n'est pas une simplification pédagogique, c'est ce que le calcul des attracteurs produit naturellement.

Généralisation, mesurée (par le calcul direct du problème 27.1) : Avec l'ensemble de retraits , les positions perdantes sont :

les multiples de
les multiples de
les multiples de
ou
ou

Pour la réponse est « les multiples de », et la démonstration est celle ci-dessus. Pour les autres , le motif reste périodique mais la période ne se lit plus sur : c'est le sujet du problème 27.1.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.