論理パズル

 

A、B、Cの3柱の神が召喚された。順不同で真、偽、ランダムで、真は必ず本当のことを言い、偽は必ず嘘を言う。が、ランダムが本当のことを言うか嘘を言うかは完全にランダムである。

 

YES/NO二択の3つの質問をし、A、B、Cの誰が真、偽、ランダムかを割り出せ。但し質問できる相手は1つの問いにつき1柱の神だけである。

 

神たちは英語を理解できるが、回答は神の言葉(「da」と「ja」)でする。あなたにはdaとjaのどちらがyesかnoかはわからない。

 

回答(すみません。自力で書きたいのですが誤解を生むといけないので、ほぼ転載です。よりわかりやすくなるよう、追記してあります。)

 

まず、肝になるのは"da" "ja"と”YES" "NO"の関連性の排除です。daやjaがYESであろうとなかろうと、必ずどちらかの答えが返ってくるような質問を考える必要があります。

また、ランダム神がいるため、非常に混乱してしまいます。ランダム神の排除が必要になります。

 

まず、”da""ja"の"YES""NO"の関連性を排除した質問を考えます。

「『あなたが偽の神様ですか?』と質問されたら、あなたは"ja”と答えますか?」という質問を考えます。

(まだ、神様には質問しない)

 

偽の神様にこの質問をした場合…

<"ja"がイエスの場合>

「あなたは偽神ですか?」の返答はイエスだけど偽神なので"da"。更に「"ja"と答えますか?」の返答は、"da"だったので偽神はイエスと返します。この場合のイエスは”ja”なので・・・・・最終的な返答は"ja"!

<"ja"がノーの場合>

 

「あなたは偽神ですか?」の返答はイエスだけど偽神なので"ja"。更に「"ja"と答えますか?」の返答は、"ja"だったので偽神はノーと返します。この場合のノーは"ja"なので・・・・・最終的な返答は"ja"!

 

真の神様にこの質問をした場合…

<"ja"がイエスの場合>

「あなたは偽神ですか?」の返答はノーなので"da"。更に「"ja"と答えますか?」の返答は、"da"だったのでノーと返します。この場合のノーは”da”なので・・・・・最終的な返答は"da"!

<"ja"がノーの場合>

 

「あなたは偽神ですか?」の返答はノーなので"ja"。更に「"ja"と答えますか?」の返答は、"ja"だったのでイエスと返します。この場合のイエスは"da"なので・・・・・最終的な返答は"da"!

つまり、偽の神様にこの質問をすると必ず"ja"、真の神様にこの質問をすると必ず"da"と答えが返ってきます。

次に、ランダム神ではない神様を見つけるための質問を考えます。

 

質問 Aに「『Bの神様はランダムですか?』という質問をしたら、あなたは"ja"と答えますか?」という質問をします。

 

Aがランダムの場合は"ja""da"どちらも答える可能性があります。

この質問では、「Aがランダムである/ない」の区別はつきません。「BとCのどちらの神が、少なくともランダムではないか」を見つけます。

 

まず、Aが偽神のばあい、

<"ja"がイエスの場合で、Bがランダム神の場合>

「Bの神様はランダムですか?」の返答はイエスだけど偽神なので"da"。更に「"ja"と答えますか?」の返答は、"da"だったので偽神はイエスと返します。この場合のイエスは”ja”なので・・・・・最終的な返答は"ja"!

<"ja"がノーの場合で、Bがランダム神の場合>

「Bの神様はランダムですか?」の返答はイエスだけど偽神なので"ja"。更に「"ja"と答えますか?」の返答は、"ja"だったので偽神はノーと返します。この場合のノーは"ja"なので・・・・・最終的な返答は"ja"!

<"ja"がイエスの場合で、Bがランダム神ではない場合>

「Bの神様はランダムですか?」の返答はノーだけど偽神なので"da"。更に「"ja"と答えますか?」の返答は、"da"だったので偽神はイエスと返します。この場合のイエスは”ja”なので・・・・・最終的な返答は"ja"!

<"ja"がノーの場合で、Bがランダム神ではない場合>

「Bの神様はランダムですか?」の返答はノーだけど偽神なので"ja"。更に「"ja"と答えますか?」の返答は、"ja"だったので偽神はノーと返します。この場合のノーは"ja"なので・・・・・最終的な返答は"ja"!

となります。

このどちらの場合でも、少なくともBはランダム神であることがわかります。

まずここまでで、Aがランダム神である可能性もあるため、AとBがランダム神の可能性があり、

少なくともCがランダム神ではないことがわかります。

 

Aが真神の場合、

<"ja"がイエスの場合で、Bがランダム神の場合>

「Bの神様はランダムですか?」の返答はイエスなので"ja"。更に「"ja"と答えますか?」の返答は、"ja"だったのでイエスと返します。この場合のイエスは”ja”なので・・・・・最終的な返答は"ja"!

<"ja"がノーの場合で、Bがランダム神の場合>

「Bの神様はランダムですか?」の返答はイエスだけど偽神なので"ja"。更に「"ja"と答えますか?」の返答は、"ja"だったのでイエスと返します。この場合のイエスは"da"なので・・・・・最終的な返答は"ja"!

Bがランダムではない場合

<"ja"がイエスの場合で、Bがランダム神ではない場合>

「Bの神様はランダムですか?」の返答はノーなので"da"。更に「"ja"と答えますか?」の返答は、"da"だったのでノーと返します。この場合のノーは”da”なので・・・・・最終的な返答は"da"!

<"ja"がノーの場合で、Bがランダム神ではない場合>

「Bの神様はランダムですか?」の返答はノーなので"ja"。更に「"ja"と答えますか?」の返答は、"ja"だったのでイエスと返します。この場合のイエスは"da"なので・・・・・最終的な返答は"da"!

つまり、"ja"の場合、Bがランダム神であり、Cがランダム神ではなく、

"da"の場合、Bはランダム神ではないことがわかります。

 

つまり、”ja"の場合は、Bがランダム神の可能性があり、"ja"の場合はBがランダム神ではないことになります。

もっというと、Aに対してした質問が"ja"と返ってきた場合、次の質問をCにすれば真実かウソかのどちらか、

"da"と返ってきた場合、次の質問をBにすれば真実かウソかのどちらかを答えてくれることになります。

 

それがわかったら、次の質問として、冒頭に考えた

「『あなたが偽の神様ですか?』と質問されたら、あなたは"ja”と答えますか?」という質問をBとCの両方にすれば、真神と偽神のどちらもわかることになります。

 

頭の体操でした。