http://blogs.wankuma.com/rti/archive/2008/01/22/118565.aspx
以前アップした問題ですが
以前の解答がわかりにくいとか、ややこしいとか、そんな話もあったので自分なりに
解答
を書きなおしてみました。
解を得るために考えるべき事柄は以下の通りです。これらを順に解決することで解答が得られます。
- 有効な質問内容を作る
- 「わん」と「くま」から正しい回答を得る
- 3回の質問による特定方法の手順
1.有効な質問内容を作る
有効な質問を作るための方法は、次の通りです。
1-1.有効な回答者、無効な回答者を分類する
1-2.個人を特定する問題を検証する
1-3.正しい回答を得るための質問を考える
順に行きます。
-----------------
1-1.有効な答えをする人、そうでない人を分類
有効な質問内容は有効な回答者からしか得られないので、各回答者が有効か無効かを見極めます。
「ぽぴ王子」
常に正直に回答するため有効な回答者です。
「IIJIMASさん」
正しい時と、嘘をつく時があるため無効な回答者です。
「Rさん」
Rさんは常に嘘をつきますが、回答を逆転させれば常に正直な回答が得られます。
つまり、Rさんも有効な回答者です。
-----------------
1-2.個人を特定する問題を検証する
各人を特定するので「あなたは「ぽぴ王子」ですか?」のような質問になります。
この場合の有効な回答者の回答パターンを見てみます。
ぽぴ王子:常に「はい」と答える
Rさん:常に「はい」と答える
つまり、どちらも常に「はい」と答えることがわかります。しかし、この質問のままでは意味をなしません。
Rさんが「いいえ」と答える問題を考える必要があることがわかります。
-----------------
1-3.正しい回答を得るための質問を考える
ぽぴ王子は正直なので先ほどの質問に「はい」と答えます。
後は、Rさんが「いいえ」と回答する方法だけを考えれば良いのです。
Rさんは嘘つきですから、先の質問のように常に回答は「逆転」します。
同時に、更に「逆転」させれば常に正しい回答を返すことになります。
「あなたは「ぽぴ王子」ですか?」は、Rさんにとって常に「はい」と答える質問です。
この「必ず「はい」と答える」ことを利用して、上記の質問に対して「はいと答えますか?」を最初の質問に加えます。
- あなたは「ぽぴ王子」ですか?、と尋ねられたら「はい」と答えますか? -
ぽぴ王子は、もちろん「はい」と答えます。
Rさんは「ぽぴ王子」ではないので「いいえ」が正しい答えです。しかし嘘つきなので「はい」と答えます。
しかし、更に「はい」と答えますか?、と聞かれたら「はい」が正しい答えなので更に嘘をついて「いいえ」と答えます。
以上から、「- あなたは「ぽぴ王子」ですか?、と尋ねられたら「はい」と答えますか?」という質問に対して、ぽぴ王子は「はい」と答え、Rさんは「いいえ」と答える質問ができたことがわかります。
2.「わん」と「くま」から正しい回答を得る
上記で作成した質問ですが、回答は「わん」か「くま」で返され、どちらが「はい」か「いいえ」なのかは不明です。
この問題を解決するための方法は、次の通りです。
2-1.全質問と回答パターンを列挙してみる
2-2.全質問と回答パターンから規則性を探す
2-3.規則をまとめる
順に行きます。
-----------------
2-1.全質問と回答パターンを列挙してみる
「あなたはXXですか?、と聞かれたら「わん」と答えますか?」という質問に置き換えて全てのパターンを検証してみます。
「あなたは「ぽぴ王子」ですか?、と尋ねられたら「わん」と答えますか?」
「わん」が「はい」の時 → ぽぴ王子=わん / Rさん:くま
「わん」が「いいえ」の時 → ぽぴ王子:わん / Rさん:くま
「あなたは「Rさん」ですか?、と尋ねられたら「わん」と答えますか?」
「わん」が「はい」の時 → ぽぴ王子:くま / Rさん:わん
「わん」が「いいえ」の時 → ぽぴ王子:くま / Rさん:わん
「あなたは「IIJIMASさんですか?」ですか?、と尋ねられたら「わん」と答えますか?」
「わん」が「はい」の時 → ぽぴ王子:くま / Rさん:くま
「わん」が「いいえ」の時 → ぽぴ王子:くま / Rさん:くま
-----------------
2-2.全質問と回答パターンから規則性を探す
・「XXですか?」で「わん」と答えた人がXXになる。
・「わん」が「はい・いいえ」どちらの場合でも変わらない。
・XXがどちらでもなければ、二人とも「くま」と回答。
*あくまで有効な回答者である「ぽぴ王子・Rさん」のみの規則。
-----------------
2-3.規則をまとめる
・有効な回答者2人(ぽぴ王子・Rさん)はの回答は信頼できる回答である
・間違った回答をするのは無効な回答者である IIJIMAS さんしかいない
・「わんと答えますか?」と質問した場合「わん=はい」「くま=いいえ」である
後は、これを元に3人を特定すれば良いだけなので簡単です。
3.3回の質問による特定方法の手順
* 3 回のみの質問を無効な回答者である IIJIMAS さんに使わないため、早めに IIJIMAS さんを特定します。
1に質問です。3は「IIJIMASさん」かと聞かれたら「わん」と答えますか?
→「わん(はい)」
2に質問です。3は「IIJIMASさん」かと聞かれたら「わん(はい)」と答えますか?
→「わん(はい)」
1・2共に「3が「IIJIMASさん」」と回答。
1か2が「IIJIMASさん」なら1・2共に無効な回答になる。
有効な回答者は2人で、無効な回答者は「IIJIMASさん」だけ。
なので、3は「IIJIMASさん」と特定完了。
1に質問です。2は「ぽぴ王子」かと聞かれたら「わん」と答えますか?
3が「IIJIMASさん」なので1は有効な回答者。
回答は有効なので1の回答から残りを特定。
→「くま(いいえ)」
1・2の回答が違うので、どちらかが無効な回答者、つまり「IIJIMASさん」。
つまり、最初の質問で「3は「IIJIMASさん」だ」と回答した1は無効な回答。
なので1は「IIJIMASさん」と特定完了。
2に質問です。3は「ぽぴ王子」かと聞かれたら「わん」と答えますか?
既に無効な回答者は特定済みなので、この回答から残りを特定。
→「くま(いいえ)」
1が「IIJIMASさん」でないなら、1は有効な回答者なので3は「IIJIMASさん」では無い
1が「IIJIMASさん」ならば、他の人は有効な回答者なので3は「IIJIMASさん」では無い
上記どちらの可能性も、3は有効な回答者であることを意味するため3は「IIJIMASさん」では無い
3に質問です。2は「IIJIMASさん」かと聞かれたら「わん」と答えますか?
→「わん(はい)」
3は有効な回答者なので2は「IIJIMASさん」と特定。
残り一つの質問は上記と同様に行えば特定できるので省略。
→「くま(いいえ)」
3は有効な回答者なので2は「IIJIMASさん」ではない。
更に3は既に有効な回答者であることがわかっているため残りの1が「IIJIMASさん」と特定
残り一つの質問は上記と同様に行えば特定できるので省略。