「薬入りワイン問題」を解けたらIQ136! 詳しく解説
掲示板に投稿された「IQ136」の問題
こんにちは、ふみびとです。今回はインターネット上で見付けた面白い数学の問題をご紹介します。
問題文は次のようなものです(残酷な表現があるため、一部を変更しています)。
1,000本のワインがあります。1,000本中の1本だけに睡眠薬が入っていますが、どのワインかはわかりません。
睡眠薬入りのワインは、1滴でも飲めば10時間〜20時間以内に眠ってしまいます。
被験者にワインを飲んでもらい、どれが睡眠薬入りかを24時間以内に特定するには、最低何人の被験者が必要でしょうか?
この問題を解ける人は本当にIQが136以上あると言えるのか、なぜIQ130でも140でもなく136なのかはよくわかりませんが、面白い問題ですね。
さて、正解は何人でしょうか? 1,000本のワインの中から薬が入った1本を当てるのですから、1,000人は必要な気がしますが……。先ほどの掲示板で答えと解説を見てみましょう。
- 正解は10人。被験者の並びを2進数で表記すれば良い。
- 2^10(2の10乗)は1,024パターンなので、1,000本のワインに対応できる。
……? たった10人で24時間以内に1,000本のワインから1本を当てるとは、どういう意味なんでしょうか? 「2進数」と書かれているので、コンピューターが関係ありそうですが。
コンピューターで2進数といえば、ビットのオンとオフ(1と0)ですね。つまり、被験者を1と0に分けるんでしょうか? よくわかりません。
10ビットなら、たしかに1,024パターンを表現できますが、この場合は10ビットではなく被験者10人ですよね。もしも被験者がビットならば……あっ!
数分間考えこんで、ようやく問題の意味と解法がわかりました。詳しく説明していきましょう。
ワインに番号を振り、対応する2進数を被験者で表現する
話をわかりやすくするために、「10本中1本のワインに睡眠薬が入っている時、薬入りのワインを特定するには何人の被験者が必要か」というケースを想定してみましょう。
なお、この場合の答えは「4人」です。
「睡眠薬入りのワインを飲めば10時間〜20時間以内に眠る」「24時間以内に解かなければならない」という箇所はあまり重要ではありません。「被験者がワインを飲んでから眠るまでには時間がかかる」くらいに考えておけばOKです。
まず、ワインが10本あるので、それぞれに1から10までの番号を振ります。
ワイン番号を10進数から4桁の2進数に変換します。1番は0001、2番は0010、10番は1010ですね。
次に、4人の被験者で4桁の2進数を表現しましょう。Aさんは1桁目(一番右)、Bさんは2桁目、Cさんは3桁目、Dさんは4桁目です。
2の4乗は16ですから、4人をビットに見立てれば1〜15までの15パターンを2進数で表現できます(本来は16パターンですが、「0番のワイン」が存在しないのでマイナス1パターンです)。
ワインを飲む状態を1、飲まない状態を0とします。たとえば1010ならば、BさんとDさんがワインを飲んだことになります。そして、1010は10番のワインです。
1番から10番までのワインを2進数で表記し、4人の被験者に「ワインを飲む・飲まない状態」を割り当てていきましょう。
ワイン番号 (10進数) | 2進数 | 被験者(●=飲む) |
---|---|---|
1 | 0001 | ○○○● |
2 | 0010 | ○○●○ |
3 | 0011 | ○○●● |
4 | 0100 | ○●○○ |
5 | 0101 | ○●○● |
6 | 0110 | ○●●○ |
7 | 0111 | ○●●● |
8 | 1000 | ●○○○ |
9 | 1001 | ●○○● |
10 | 1010 | ●○●○ |
そして、1番から10番までのワインを順番に被験者に飲んでもらいます。当たりのワインは1滴飲むだけで眠りますから、被験者にも1滴ずつ飲んでもらえば時間がかかりませんね。
1番のワインは0001なのでAさんだけが飲み、2番は0010ですからBさんだけが飲みます。先ほど例として挙げたように、10番は1010でBさんとDさんが飲みます。
すべてのワインを被験者が飲み終えたら、20時間ほど待ちましょう(問題文に従いますが、時間はあまり重要ではありません)。何が起きるでしょうか?
Zzz●○○●zzZ
おや、AさんとDさんが眠ってしまいました。Aさんは1桁目(一番右)でDさんは4桁目ですから、2進数なら1001の時にワインを飲んだ人が眠ったことになりますね。
つまり、1001を10進数に直した9番目のワインに睡眠薬が入っていたということです。
ワインが1,000本の場合も、被験者を10人(0番を除く1,023パターン)に増やせば同じ方法で睡眠薬入りのワインを特定できます。
もっと数学っぽく言うと、「ワインの本数 < 2^被験者数」という式が成り立つ最小の冪指数(べきしすう)が答えの人数です。解き方がわかると本当に面白いですね!
余談ですが、上記の掲示板に投稿された改変前の問題は「毒入りワインを奴隷に飲ませる」という内容なんですよね……。数学の問題としては面白かったですが、頭の良い人が考える事は恐ろしいです。
今回は以上です。ごきげんよう、さようなら。