難易度: 5/5(かなり難しい)
同じ難易度の問題を見る
問題(3体のロボットを見分けて!)
宇宙船の中で、ゆらちはA・B・Cの3体のロボットに出会いました。
3体の役割は、次のどれかです。同じ役割のロボットはいません。
- 正直者:必ず本当のことを答えます。
- うそつき:必ず本当と反対のことを答えます。
- 気まぐれ:質問の内容に関係なく、そのつどランダムに「ピコ」か「ポコ」を答えます。
3体は、人の言葉を理解していますが、返事には「ピコ」と「ポコ」の2つの言葉しか使いません。
どちらかが「はい」、もう一方が「いいえ」です。ただし、どちらがどちらなのか、ゆらちにはわかりません。言葉の意味は3体とも共通で、途中で変わりません。
ロボットたちは、自分とほかの2体の役割をすべて知っています。
ゆらちができるのは、はい・いいえで答えられる質問を、合計3回することだけです。
- 1回の質問で聞ける相手は、1体だけです。
- 同じロボットに何回聞いてもかまいません。
- 返事を聞いてから、次の質問や相手を変えられます。
どんな返事が返ってきても、3体の役割をすべて見分けるには、誰に何を聞けばよいでしょう?🧠
ヒント
最初から3体の役割を全部決めようとせず、「次の質問を安心して聞ける相手」を探してみましょう。
そして、「もし○○と聞いたら、あなたは『ピコ』と答えますか?」という聞き方を考えてみてください👀
問題の答え
毎回、次の形で質問します。
「もしあなたに『○○ですか?』と質問したら、あなたは『ピコ』と答えますか?」
正直者とうそつきは、どちらも、○○が本当なら「ピコ」、本当でなければ「ポコ」と答えます。この理由は、下の詳しい解説で確かめます。
| 順番 | 聞く相手と質問 | 返事を聞いたら |
|---|---|---|
| 1問目 | Aに「もしあなたに『Bは気まぐれですか?』と質問したら、あなたは『ピコ』と答えますか?」 | ピコ→次はCへ ポコ→次はBへ |
| 2問目 | 1問目で選んだ相手に「もしあなたに『Aは気まぐれですか?』と質問したら、あなたは『ピコ』と答えますか?」 | ピコ→Aが気まぐれ ポコ→Aでも質問相手でもない残りの1体が気まぐれ |
| 3問目 | 2問目と同じ相手に「もしあなたに『あなたは正直者ですか?』と質問したら、あなたは『ピコ』と答えますか?」 | ピコ→質問相手が正直者 ポコ→質問相手がうそつき |
3問目で質問相手の役割が決まり、2問目で気まぐれもわかっています。残る1体は、まだ決まっていない役割です。
詳しい解説
「最初に気まぐれへ聞いてしまったら、どうするの?」と思いますよね。
そこも含めて、質問する→返事を聞く→残る可能性を確かめるの順番で追ってみましょう😊
準備:「ピコ」の意味がわからなくても使える聞き方
まず、正直者とうそつきの両方に使える質問の形を用意します。
「もしあなたに『○○ですか?』と質問したら、あなたは『ピコ』と答えますか?」
これは、○○そのものを直接聞く質問ではありません。「その質問をされたら、自分は『ピコ』と答えるか」を聞いています。
例として、○○に「1+1は2」を入れます。これは本当の内容です。
「もしあなたに『1+1は2ですか?』と質問したら、あなたは『ピコ』と答えますか?」
まず、「ピコ=はい」の場合を見てみましょう。
- 正直者は、「1+1は2?」と直接聞かれたら「はい=ピコ」と答えます。だから「あなたはピコと答えますか?」への返事も「はい=ピコ」です。
- うそつきは、直接聞かれたら「いいえ=ポコ」と答えます。つまり「自分はピコと答える」は本当ではありません。その問いにもうそをつくので、「はい=ピコ」と答えます。
次に、「ピコ=いいえ」の場合です。このときは「ポコ=はい」です。
- 正直者は、直接聞かれたら「はい=ポコ」と答えます。「自分はピコと答える」は本当ではないので、「いいえ=ピコ」と答えます。
- うそつきは、直接聞かれたら「いいえ=ピコ」と答えます。「自分はピコと答える」は本当です。でも、その問いにもうそをつくので、「いいえ=ピコ」と答えます。
どの組み合わせでも、最後の返事は「ピコ」になりました。表でも整理しておきます。
| 相手 | ピコの意味 | 直接「1+1は2?」なら | 実際の質問への返事 |
|---|---|---|---|
| 正直者 | はい | ピコ | ピコ |
| うそつき | はい | ポコ | ピコ |
| 正直者 | いいえ | ポコ | ピコ |
| うそつき | いいえ | ピコ | ピコ |
本当ではない内容を入れた場合は、逆にどの組み合わせでも「ポコ」になります。
| 相手 | ピコの意味 | 直接「1+1は3?」なら | 「自分はピコと答える」は? → 実際の返事 |
|---|---|---|---|
| 正直者 | はい | ポコ | 本当でない → いいえ=ポコ |
| うそつき | はい | ピコ | 本当 → うそをつき、いいえ=ポコ |
| 正直者 | いいえ | ピコ | 本当 → はい=ポコ |
| うそつき | いいえ | ポコ | 本当でない → うそをつき、はい=ポコ |
この聞き方なら、気まぐれ以外の相手は「中身が本当ならピコ、本当でなければポコ」と答えます。
気まぐれには、この決まりは使えません。そこで、1問目で「気まぐれではない相手」を選びます。
1問目:Aだけに質問します
「もしあなたに『Bは気まぐれですか?』と質問したら、あなたは『ピコ』と答えますか?」
この時点では、Aの役割はわかりません。全員に聞くのではなく、Aだけに1回聞きます。
Aが「ピコ」と答えたら
Aが気まぐれではない場合、先ほどの決まりが使えます。「Bは気まぐれ」が本当なので、Bが気まぐれです。
A自身が気まぐれだった場合は、返事の内容を信用できません。でも、その場合、気まぐれはAなので、BとCはどちらも気まぐれではありません。
| Aの可能性 | 気まぐれは誰? | Cは? |
|---|---|---|
| Aは正直者かうそつき | B | 気まぐれではない |
| A自身が気まぐれ | A | 気まぐれではない |
どちらの場合でも、Cは気まぐれではありません。だから、次はCに聞きます。
Aが「ポコ」と答えたら
Aが気まぐれではない場合、「Bは気まぐれ」は本当ではありません。AもBも気まぐれではないので、気まぐれはCです。
A自身が気まぐれだった場合は、BとCはどちらも気まぐれではありません。
| Aの可能性 | 気まぐれは誰? | Bは? |
|---|---|---|
| Aは正直者かうそつき | C | 気まぐれではない |
| A自身が気まぐれ | A | 気まぐれではない |
どちらの場合でも、Bは気まぐれではありません。だから、次はBに聞きます。
1問目が終わった時点で、わかっていること
| 1問目の返事 | 残っている気まぐれの候補 | 2問目・3問目を聞く相手 |
|---|---|---|
| ピコ | AかB | C |
| ポコ | AかC | B |
ここでBとCを分けるのは、Aが気まぐれではなかった場合にも対応するためです。
たとえば、Aが正直者でBが気まぐれなら、返事は「ピコ」です。ここでBに聞いてしまうと、気まぐれに当たります。だからCを選びます。
Aが正直者でCが気まぐれなら、返事は「ポコ」です。今度はCを避けるため、Bを選びます。
Aが気まぐれだった場合は、BとCのどちらを選んでも大丈夫です。Aのランダムな返事から役割を読み取っているのではなく、どちらの返事でも安全な相手を選べるようにしているのですね。
2問目:選んだ相手に質問します
1問目が「ピコ」ならC、「ポコ」ならBに、次の質問をします。
「もしあなたに『Aは気まぐれですか?』と質問したら、あなたは『ピコ』と答えますか?」
今の質問相手は、必ず正直者かうそつきです。ここからは、質問の中身が本当なら「ピコ」、本当でなければ「ポコ」という決まりを使えます。
- ピコなら、「Aは気まぐれ」が本当。気まぐれはAです。
- ポコなら、「Aは気まぐれ」は本当ではありません。Aも、今の質問相手も気まぐれではないので、残った1体が気まぐれです。
| 1問目 | 2問目の相手 | 2問目 | 決まった気まぐれ |
|---|---|---|---|
| ピコ | C | ピコ | A |
| ピコ | C | ポコ | B |
| ポコ | B | ピコ | A |
| ポコ | B | ポコ | C |
これで、気まぐれが誰かが決まりました。ただし、残る2体のどちらが正直者で、どちらがうそつきかは、まだわかりません。
3問目:2問目と同じ相手に質問します
「もしあなたに『あなたは正直者ですか?』と質問したら、あなたは『ピコ』と答えますか?」
ここでも、質問の形を省略しないことが大切です。単に「あなたは正直者ですか?」と聞くのではなく、「そう聞いたら、あなたはピコと答えますか?」まで含めて聞きます。
- ピコなら、「あなたは正直者」が本当。質問相手は正直者です。
- ポコなら、「あなたは正直者」は本当ではありません。質問相手は気まぐれではないので、うそつきです。
気まぐれは2問目で決まりました。今の質問相手の役割も決まりました。だから、残る1体は、まだ決まっていない役割になります。
実際に「ピコ → ポコ → ピコ」と返ってきたら?
| 時点 | 行ったこと | その時点でわかること |
|---|---|---|
| 1問目 | Aに「Bは気まぐれ?」を入れた質問 → ピコ | 気まぐれはAかB。Cは気まぐれではない |
| 2問目 | Cに「Aは気まぐれ?」を入れた質問 → ポコ | Aは気まぐれではない。残ったBが気まぐれ |
| 3問目 | Cに「あなたは正直者?」を入れた質問 → ピコ | Cが正直者。残ったAがうそつき |
この場合の答えは、A=うそつき、B=気まぐれ、C=正直者です。
それぞれの質問では、ここまで説明した「もしあなたに〜と質問したら、あなたは『ピコ』と答えますか?」という形を使っています。
3回の流れを振り返ると
- 1問目で、次に聞ける相手を選ぶ。
- 2問目で、気まぐれを見つける。
- 3問目で、正直者とうそつきを見分ける。
1問目に気まぐれへ聞いてしまっても、その後に聞く相手は必ず気まぐれではありません。だから、3回で最後まで見分けられます✨
まとめ
3体のロボットを、見分けられましたか?😊
難しい問題でしたね。すぐに解けなくても、納得できるまでゆっくり考える時間を楽しんでもらえたらうれしいです。
家族や友だちにも、ぜひ出題してみてください!
出典・参考
この問題は、George Boolosが1996年に紹介した「The Hardest Logic Puzzle Ever」(原典ではRaymond Smullyanの問題として紹介)をもとに、舞台や登場人物、気まぐれの返答条件を調整し、問題文と解説を当サイトで書き起こしたものです。
George Boolos, “The Hardest Logic Puzzle Ever,” The Harvard Review of Philosophy, 1996(原典・英語PDF)
次の問題にも挑戦
同じ難易度の問題:12枚のコインの問題


[…] 同じ難易度の問題:3体のロボットを見分けて! […]