「シェリルの誕生日」を解くために
論理学 へ戻る
大学生のための数学 へ戻る
2025.09.13


 私たちは、Aさん、B君、C君 の3人がテーブルを囲んで話しているのを、隣のテーブルから観察しています。
 Aさんは次の表を2人に見せ、自分の誕生日が 〇印 を付けた中にあることを伝えました。

 次に、AさんはB君の耳元でこっそり何かつぶやいたかと思うと、今度はC君の耳元でこっそりとつぶやきました。

 それから、Aさんはこう言いました。
 「 私は今、B君には私の生まれた月を伝え、C君には私の生まれた日を伝えたよ。 そこで私の誕生日が分かったら、分かり次第だまって手を挙げてね。」

 すると、約3分間の沈黙後にC君が手を挙げました。すると間もなくB君も手を挙げました。

 はたして、Aさんの誕生日はいつなのでしょうか?

 B君はAさんが何月生まれかを知っていて、C君はAさんが何日生まれかを知っていて、私たちはそれらのことを知りません。この表と彼らのリアクションのみで、本当にAさんの誕生日が分かるのでしょうか? 考えていきましょう。

 まず、私たちはC君がすぐに手を挙げないのを見て、Aさんの誕生日が5日と6日と7日でないことを理解します。この時点でB君もそのことは認識しているはずです。すると今度は、私たちはB君がなかなか手を挙げないのを見て、Aさんの誕生日が1月と2月と5月でないことを理解します。この時点でC君もそのことは理解しているはずです。したがって、私たちは次の範囲だけで考えればよくなりました。

 すると、C君がAさんの誕生日がいつなのか分かって手を挙げるのですが、このことによって、まず、B君と私たちはAさんの誕生日が1日でないことを理解します。すると、B君がAさんの誕生日がいつなのか分かって手を挙げるのですが、このことによって、まず、私たちはAさんの誕生日が4月でないことを理解します。すると、私たちはAさんの誕生日がいつなのか分かります。それは 3月3日 です。


 では、Aさんの誕生日が分かったところで、今度はB君とC君の立場になって、最初からもう一度考えてみましょう。
 まず、B君には Aさんの誕生日が 3月1日 か 3月3日 のどちらかであるという情報が与えられ、C君には Aさんの誕生日が 1月3日 か 3月3日 のどちらかであるという情報が与えられます。したがって、彼らの思いは次のようになります。

Aさんの生まれた月を知っているB君の思い :
   Aさんの誕生日は 3月1日 か 3月3日 のどちらかである。
   C君は 「 1日 」 または 「 3日 」 と聞かされている。
   したがって、C君が候補に上げているAさんの誕生日は次の2パターンだ。
     3月1日 か 4月1日
     1月3日 か 3月3日
Aさんの生まれた日を知っているC君の思い :
   Aさんの誕生日は 1月3日 か 3月3日 のどちらかである。
   B君は 「 1月 」 または 「 3月 」 と聞かされている。
   したがって、B君が候補に上げているAさんの誕生日は次の2パターンだ。
     1月3日 か 1月7日
     3月1日 か 3月3日
 というわけで、実際にB君やC君の身になって考えてみると、答えが半分わかっているだけに、かえって私たちよりも事実を認識しづらくなっていることが解ります。


  Aさんの誕生日を、 B君、C君、そして私たちのそれぞれがどのようにして推理していったのか? まずそれぞれに異なる情報があって、その上にみんなに共通する情報とそれに対する他人のリアクションという新たな情報が加わり、さらにまたそれに対する他人のリアクションという新たな情報が加わって情報量が増えていき、真相にたどりつくわけですが、人によってその推理内容が微妙に異なることは興味深いと思います。私たちはそれぞれに自分の世界を持っていて、それが情報でつなげられながら自分の世界が動かされているんだなと思います。縁起( 依他起性 )というものが少し解ったような気がしました。私たちの脳は常に情報を「 分別 」によって自分勝手な色づけをしていますが、「 第三者的情報( 他人が観察したことをそれに他人の分別が加わって伝わってきた情報 )」 は 「 当事者的情報 」 以上に私たちを迷わしているんじゃないかと思います。


 あっ! 余計なことを言ったみたいです。それはさておき、上記の問題によく似た問題があります。それは、九九表の数当てゲームです。
 CさんがA君とB君に九九表を見せて言います。「この中に書かれてある2桁の数を1つ私は心に決めています。それがどの数かを2人に当ててもらいます。」
 その後CさんはA君の耳元で内緒声でこう言います。「その数の10の位の数は〇よ。」そして続いてCさんはB君の耳元で内緒声でこう言います。「その数の1の位の数は□よ。」それからCさんは2人にこう言います。「私はたった今、A君には私が思っている数の10の位の数を教え、B君には私が思っている数の1の位の数を教えたわ。これで私が思っている数が分かるはずよ。分かったら分かったと言って頂戴。でも、私が聞くまでその数は言わないでね。」それから、30秒後、A君は「分かった。」と言いました。それからさらに 30秒後、B君も「分かった。」と言いました。その数は何でしょう?

 答えは、64 です。
 A君もB君もすぐに分かったと言わなかったので、Cさんの思っている数は 27 と 63 と 72 と 81 ではないことが分かります。
 30秒後にA君が「分かった。」と言ったことより、Cさんの思っている数は 64 であることが分かります。その理由は、27 と 63 と 72 と 81 を除いた九九表の中で、10の位の数が同じであるものが存在しないのは 64 だけだからです。だから、さらに 30秒後、B君も「分かった。」と言ったのです。

 A君はこう考えたのです。「答えは 63 または 64 である。もし 63 ならば、1の位の数が3の2桁の数は 63 だけだから、B君は即座に分かったというだろう。B君が分からないということは、64 だ。」
 B君はこう考えました。「答えは 14 または 24 または 54 または 64 である。もし、Cさんが私に3とか7とかの数を教えてくれてたのだったら、私はすぐにCさんの思っている数が分かるのだが。私がすぐに分かったと言わないことを見て、A君はCさんの思っている数が 27 と 63 でないことは分かっただろう。30秒後にA君が分かったということは、27 と 63 を除いた九九表の中の 10の位の数が1または2または5または6の数の2桁の数の中で、10の位の数が同じであるものが存在しない数が1つだけあるはずだ。あった。それは 64 だ。」


 前置きが随分と長くなってしまいましたが、では、いよいよ 数学オリンピックの過去問「 シェリルの誕生日 」に挑戦してみましょう。

 アルバートには誕生した月のみが教えられ、バーナードには誕生した日のみが教えられます。問題では、表を見せられたとたんに、アルバートが「 2人ともシェリルの誕生日がいつなのか絶対に分からないよ。」と言います。すると、まもなくバーナードが「 ああ! シェリルの誕生日がいつなのか分かったよ。」と言います。すると、アルバートも「 今、僕もシェリルの誕生日がいつなのか分かったよ。」と言います。

 では、解いていきましょう。まず、先ほどの問題でやったことをしてみます。最初のうち2人とも答えが分からなかったわけですから、除外される日が分かります。

           
           
           

 上の表を前提に、アルバートが「 2人ともシェリルの誕生日がいつなのか絶対に分からないよ。」と言ったということを考えると、その通りで、それから先に全く進めなくなってしまいます。アルバートがここまで洞察して発した言葉であるならば、彼の言葉の行間には何も意味はありません。しかし、彼はここまで洞察せずに言葉を発しているので、彼の言葉には意味があるのです。表を見せられたとたんにアルバートは言葉を発しています。そこのところが味噌なのです。「しばらくして」ではなく「表を見せられたとたんに」なのです。

 そこで、再び、元の表に戻りましょう。
 表を見せられたとたんに、アルバートが「 2人ともシェリルの誕生日がいつなのか絶対に分からないよ。」と言ったということは、「 僕もそうなんだけど、この表を一目しただけでは、バーナードがシェリルの誕生日がいつなのか分かる可能性は0だよ。」と言ったということに等しくて、「 もし、5月または6月がシェリルの誕生日なら、バーナードがすぐに分る可能性があるのだけども、残念ながらシェリルの誕生日は5月でも6月でもないよ。」と言ったのに等しいのです。


 上の表からバーナードが「 ああ! シェリルの誕生日がいつなのか分かったよ。」と言ったということは「 シェリルの誕生日は14日ではない。」と言ったのに等しいのです。だから、その後すぐにアルバートもシェリルの誕生日が分かったということは、アルバートには8月でなくて7月であるということが教えられていたということです。こうして、シェリルの誕生日は 7月16日 であることが判明したわけです。

バーナードの思い: アルバートの思い: シェリルの誕生日の解法を十進BASIC のプログラムにしてみました。