論理パズル的な

Facebookで論理パズル的なものが流れてきたので、びくっと反応してしまいました。こういうの結構好きです。

FBの写真をそのまま使うのもなんなので、自分で書き起こしてみました。

おっそろしく雑な絵ですが、シチュエーションはなんとなくわかるのではないかと思います。

4人の男の子が部屋の中にある。AくんとBCDくんの間には壁があって、お互いの状況を確認することはできない。男の子たちは、

部屋にいるのは4人
帽子はそれぞれ白黒二つずつ

ということが知らされています。また、ルールとして、

自分がかぶっている帽子を見ることは不可能
後ろを振り向いて確認するのも不可能

こういう状況です。

「自分が何色のキャップを被っているかわかった人は声を出して答えてください」と部屋の外から先生が問いかけると、しばらくの沈黙があった後、自分のキャップの色を当てた少年がいます。それはA、B、C、D4人のうち誰で、その理由はなぜ?という問題。

問題は理解できたでしょうか。

では、考えてみましょう。「直感」はひとまず置いておいて、「論理」的に考えていきます。

もちろん、このA〜Dまでの男の子とは論理的推論力を持つエージェントという設定です。

〜自分が考えたい方は、この先読んじゃダメ〜

こうした問題は一つ一つきちんと確認していく作業が大切です。

まず、Aくんから行ってみましょう。

Aくんの前には壁があり、他の三人の帽子的状況は何もわかりません。この段階では何も分かりませんね。

A→わからない

次にBくんです。BくんもAくんと似たような状況に置かれています。よって答えは分かりません。

B→わからない

続いて、Cくん。CくんはBくんががぶっている帽子が見えます。手持ちの材料がAくん、Bくんに比べると多いです。が、現状それだけです。Bくんがかぶっている帽子が分かっただけでは何もわかりません。

C→わからない

最後にDくん。DくんはB、Cくんの帽子が見えます。

しかし、B、Cくんは、それぞれ違った色の帽子をかぶっており、それだけではDくんの自分の帽子が何かはわかりません。もし、B,Cくんが同じ色(白でも黒でも)の帽子をかぶっていれば、帽子の全体量的に、Dくんは自動的に自分の帽子の色が分かります。つまり、B,Cくんがかぶっている帽子とは逆の色を言えばそれが正解になるわけです。

が、現状の帽子のかぶり方では何もわかりません。白の帽子も、黒の帽子もあと一つずつ残っているからです。

D→わからない。

んっと、結局A〜Dまで誰も分からない、という結論になりましたね。これが先ほどの問題文にあった、「しばらくの沈黙」にあたります。

「自分が何色のキャップを被っているかわかった人は声を出して答えてください」と部屋の外から先生が問いかけると、しばらくの沈黙があった後、自分のキャップの色を当てた少年がいます。それはA、B、C、D4人のうち誰で、その理由はなぜ?という問題。

A〜Dくんの状況を一通り考えてみたところで、新しい情報が手に入りました。つまり、それぞれの男の子が答えられていない、という状況。これもヒントになります。

ここで鍵を握るのが、Dくんです。単純に考えて、一番情報量が多いのがDくんです。彼に注目するのは当然でしょう。

その彼が答えられていない状況にCくんが気がつけば、光明が差し込みます。

Dくんの論理的推論をCくんがなぞることができれば、いいかえれば、Dくんが問題直後に答えを出せてないという状況から、かれの頭の動きを知ることができれば、一つの情報が手に入ります。

つまり、(Dくんの目から見て)BくんとCくんは違う色の帽子をかぶっている、という情報です。おそらく成績トップであろう(一番高い場所に座っているから)Dくんが答えを出せていない、それはつまり僕とBくんが違う色の帽子をかぶっているに違いない。そして、Bくんは白色の帽子をかぶっている。つまり、僕の帽子の色は黒に違いない。

とこういう展開になります。よって答えを出せるのは、Cくんです。

蛇足ですが、もしBくんがCくんと同じ論理を展開できて、かつCくんが自分の帽子の色を答えたのを聞くことができれば、BくんはCくんの答えと逆の色を言えば正解にたどり着けます。

しかし、Aくんは、他の人の状況が情報にならないので、答えを出すことはできません。そしてAくんが答えを出せなければDくんも答えを出すことはできません。

と、まあこんな感じです。

こういうのは論理パズルを解くだけではなく、麻雀で相手の手の内を推し量るときなんかにも使えます。便利です。