the hardest logic puzzle ever

L’énigme la plus difficile du monde est le titre d’un article du journal “La Repubblica” écrit par George Boolos. Il s’est lui-même inspiré de Raymond Smullyan pour créer une énigme difficile qu’il décrit comme la plus compliquée au monde.

Cette affirmation est évidemment subjective mais vous allez voir qu’elle est loin d’être simple.

L’énoncé de l’énigme

Derrière trois personnages A, B et C se cachent les dieux Vrai, Faux et Aléatoire.

Vrai répond toujours la vérité, Faux répond toujours le contraire de la vérité, et Aléatoire choisit ses réponses au hasard.

Le but est de trouver les identités de A, B et C en ne posant que trois questions dont la réponse est vrai ou faux.

Chaque question ne peut être posée qu’à un seul dieu. Les dieux comprennent le français mais ils répondent dans leur propre langue, c’est-à-dire par da et ja. Vous ne savez pas à quoi ceux-ci correspondent.

Précisions de l’auteur

George Boolos a donné 3 informations supplémentaires pour compléter l’énoncé :

  • Vous pouvez interroger un dieu plusieurs fois (donc un dieu ne sera pas du tout questionné).
  • La 2ème question et à qui s’adresse celle-ci peut dépendre de la réponse à la première question. De même pour le choix de la 3ème.
  • Aléatoire peut être considéré comme décidant ses réponses à toute question vrai-faux par un jet à pile ou face : si la pièce tombe sur face, il dira da ; si elle tombe sur pile, ja.

 Solution

Voici la solution proposée par Tim S. Roberts. Elle se passe en trois étapes.

Première étape. Demander à B, « Si je vous demandais “Est-ce que A est Aléatoire ?”, répondriez-vous ja ? ». Si B répond ja, alors ou B est Aléatoire (et a répondu au hasard), ou B n’est pas Aléatoire, et sa réponse indique que A l’est. Dans les deux cas, C n’est pas aléatoire. Si B répond da, alors B est Aléatoire, ou sa réponse indique que A n’est pas Aléatoire ; dans les deux cas, A n’est pas Aléatoire.

Deuxième étape. Demander au dieu identifié comme non aléatoire à l’étape 1 (A ou C) : « Si je vous demandais “Êtes-vous Vrai”, répondriez-vous ja ? ». Comme il n’est pas Aléatoire, s’il répond ja, il est Vrai et sinon il est Faux.

Troisième étape. Demander au même dieu : « Si je vous demandais “Est-ce que B est Aléatoire ?”, répondriez-vous ja ? ». Selon que ce dieu est Vrai ou Faux, on en déduit si B est Aléatoire ou non puis on finit par élimination.