連載

あなたはビルゲイツの試験に受かるか?
バックナンバー

その104

現象面に視点を置く

前号へ
  次号へ

 通常の数列だったら、等差数列や等比数列のように一定数を足したり、掛けたりして、その中の規則性を比較的簡単に見つけ出すことがでるのですが、前号の設問の数列は異端とも言えるものでした。
 なぜなら、そこに出ている数列は、数値として出ているものではなく、単なる個々の数字の羅列だったからです。
 したがって数値という概念では解けない問題だったわけで、たとえこのような突飛な数列を見てもあわてることなく、当意即妙に頭を働かせ、まったく新しい斬新な発想で解いていくことができるかどうか、回答者の柔軟な思考能力を見ようとする問題でした。

 さて、今号の設問はどうでしょうか。それでは解説に移ります。

問題 設問104    あるところの年老いた暴君が、跡継ぎの1人息子のため1000粒のゼリービーンが入った瓶を1000個、倉庫に保管していました。ある日、衛兵が倉庫に侵入した敵国のスパイを取り押さえましたが、すでに1つの瓶だけすべてのゼリーがすり替えられたあとでした。拷問をかけられたスパイは、すり替えたすべてのゼリーには毒が仕込んであり、その効き目は1ヵ月後になって初めて現れるが、少しでも口に入れていれば確実に死に至ることを自白しました。瓶もゼリーも、外見上まったく見分けがつきません。そこで暴君は、囚人に毒見させることにしました。1カ月後に、できるだけ少ない囚人数で、毒入りゼリー瓶を見つけるには、どうしたらよいでしょう?

 
暴君と毒入りゼリー瓶

  まずこの設問を見て、設問自体にちょっとした疑問を持った人もあったかもしれません。

  たとえば、普通毒といえば、その結果はすぐに現れるのに、どうして1ヵ月も後になるのか、あるいはまた、スパイが暗躍するようなところの暴君ならば、自分が意のままにできる大きな国の絶大権力者のはずだから、無理矢理にでも1000人の囚人を作って、全部の瓶を試せばいいじゃないか、といった疑問です。

 しかし、毒の効き目がすぐに現れるようだったら、問題として成り立たないことがあるからこそ、また大勢の囚人を集めなくとも、少ない人数で毒入り瓶を見つけ出すことができる方法があるからこそ、この問題の意義が出てくるというわけで、それらを含めて、これから順次解説してまいります。

 たしかに、毒の効き目がすぐに現れるなら、1人でどんどん毒味していくことにより、「できるだけ少ない囚人数」でという課題とともに、犠牲者も1人だけで済むというものです。
 しかし、毒の効き目が1ヵ月後とすることにより、問題が複雑になってくることが、以下でわかります。

囚人大勢1

 ところで1000人の囚人がいればいいではないかと、前述の疑問を持った方は、すでにそこで不合格になります。1000人までも必要ではなく、999人いれば1000個瓶の判別ができることはわかりますね。999個の瓶の結果がわかれば、自動的に1000個目もわかるからです。

 この999人という方法は、犠牲者となる囚人を一番少なくするには何人の囚人がいればいいか?という問題であったならば、たしかにその解答になります。999人の囚人がそれぞれに試せば、犠牲者は0人か1人で済むからです。
 しかし、この設問の暴君は犠牲者の数にはこだわっていなく、ただ、できるだけ少ない囚人数で毒入り瓶を見つけたいと言っているわけです。

 そこで、当連載「その73」で解説した、問題の手がかりや糸口、あるいはその突破口となる例の対処法を参照してみることにしますと、1000という大きな数が出ているこの設問は「複雑に見える問題、数量が多い問題、読んだだけで気後れしてしまう問題、思考が発散してしまいそうな問題、長々とした文章の問題」の項目に該当しそうです。

 そこで、さらにその中にある7つの対処法を見ますと、この設問はできるだけ少ない囚人数を求めていることから「小さな数字や量で単純化、シンプル化してやってみる」や「極端なケースに置き換えてみる」が該当すると思われますので、これでやってみることにします。

囚人1人

 極端に小さな数は1です。つまり前述の1人の場合。
この場合、実際に試さねばならない瓶の数は、最多で999個になりますが、その場合、各1つの瓶の結果が出るのに1ヵ月かかりますので、最大999ヵ月=84年かかるということです。これは論外で、暴君は間違いなく囚人よりも回答者の首をはねる結果になるでしょう。

 もちろんこの場合、一番最初の1瓶目で大当たりすることがあるかもしれません。しかしそれはたまたまのことであって、その確率は1/999ですから、これは首をはねられる類です。
 また最初の確率ではずれますと、次は1/998の確率で2番目の瓶で当たることになりますが、ここまでには2ヵ月もかかり、1ヵ月後に結果を出すという設問の命題をクリアできません。

囚人大勢2

 では、順次人数を増やしていくとして、例えば10人なら、そのうちの9人がそれぞれ100個、1人が99個受け持つことになり、8年以上もかかります。
 そこで、期限の縛りである最短1ヵ月で結果を出せる囚人の数はどうかと、必要な人数を逆算すれば、999人となってしまい、すでに見ていただいたように振り出しに戻ってしまいます。

 ではもう一度、設問をじっくりと見直して、その特徴はどこにあるのかと探りを入れてみますと、瓶の個数が1000という大きな数であるのに対して、要求されているのは、できるだけ少ない囚人数という小さな数であるということに気付きます。
 つまり少ない人数で大きな数をカバーするにはどうすればいいか、がポイントで、その辺に解答がありそうです。

 そこで、7つの対処法の中にあるもう1つの項目「視点を変えたり、発想の転換をしてみる」に従い、ここで視点を変えてみることにします。
 これまで人数ばかりに目を向けていましたが、今度は判定の基準となる現象面に視点を置いてみたらどうか。

 その現象とは、死か生かです。つまりオン、オフです。ここでIT関連の仕事に従事している方たちの中にはピンとくるものがあるのではないでしょうか。特にプログラマーの方たちならば、なおさらだと思います。
 逆に、特定の方たちを除いたそれ以外の皆さんにとって、これ以降の話は難しいかもしれませんので、勉学を広げる意味で見ていってください。

 オン、オフ。つまり二進法です。この二進法と1000という数字と結びつけて、うまくこの設問を解けないものだろうか、ということです。
 二進法の説明については、すでに当連載「その12 コンピューターの原理とその応用」で解説済みですので省きますが、十進法の1000という数は二進法で1111101000と表記できます。

 ということは、1000までの数字はこの10桁のオン・オフで表記できること、つまり10人いればその生死の状態で表現できるということです。
 例えば、ここに10人の囚人が並んでいて、十進法の1000である二進法の数字1111101000の中の1を死、0を生とすると、左の囚人から「死、死、死、死、死、生、死、生、生、生」という形で表現されているということです。

毒入りゼリー瓶

 ここまでくれば、もう解けたも同然なのではないでしょうか。
まずは1000個の瓶にこの二進法の番号を付けます。1番目の瓶は0000000001です。2番目の瓶は0000000010です。そして999番目の瓶は1111100111という具合です。
 また10人の囚人にも各人が識別できるように「A」から「J」までのアルファベットの名札を付けます。

囚人横並び

 そして例えば、囚人「A」は、10桁の二進法で表記された一番左の桁だけを受け持ち、そこが1となっている瓶だけを毒味をするわけです。
 また囚人「B」は、左から2番目の桁を受け持ち、そこが1となっている瓶だけ毒味をします。以下、順次同様にして、囚人「J」は最後の一番右の桁を受け持つわけです。

 このような形で一番多く毒味をしなければならないのは、一番右の番号が1となっている500個もある瓶で、囚人「J」がこの任に当たるわけですが、「J」は毎日17瓶、つまり最低17粒のゼリービーンを毒味することにより、1ヵ月以内で任務が終ります。
 毒の効き目が1ヵ月後と設定したこの設問の理由は、上記以外の方法による少人数での毒味は、この設定下、途方もなく時間がかかってしまい解答にならないこと、そしてまた1 人当たりが無理せず口に摂取できる量を勘案した上でのことだということです。

 1000個の瓶の中で毒入り瓶は1個しかありませんから、こうして1ヵ月後に死に至った囚人のアルファベットを見れば、どの瓶が毒入りだったか、すぐに判明するわけです。
 例えば、死に至ったのが「J」だけだったとすると、瓶の番号は「A」から「I」までの囚人は0で、「J」が1という0000000001だったわけですから、結果、10進法の1である瓶1が毒入り瓶だとわかります。
 また、死に至ったのが、「A」、「B」、「C」だったとすると、同様に瓶の番号は1110000000だったことになり、これは10進法での896ですから、896番の瓶が毒入りだということがわかるわけです。

 この設問はIT企業が出題したもので、二進法で動くコンピューター業界を目指して面接にくる応募者たちが、少なくともこの二進法で解けるということに気付くかどうか、またそれに気付いて欲しいとの願いも込められた出題だということです。

 それでは設問104の解答です。


正解 正解104  各瓶に二進法で1000番までの番号を付ける。また、10人の囚人を選び、それぞれの囚人にはAからJまでの名札を付ける。そしてAは瓶の番号の10桁目、つまり一番左の数が1となっている瓶すべての毒味を、Bは9 桁目、左から2番目の数が1となっている瓶すべての毒味を、以下同様にしてJまで毒味をする瓶を決める。1ヵ月後、左端のAから右端のJまで、亡くなった囚人を1、生きている囚人を0として二進法表記し、それを十進法に換算した番号の瓶が毒入りである。また、囚人の数は10人でよい。

 では、その出題背景を考えながら次の設問を考えてみてください。


問題 設問105  積み重ねると、エンパイアステートビルと同じ高さになる1セント硬貨を、もしもあなたが与えられたとしたら、はたしてあなたは、それらすべての硬貨を普通の1つの部屋に入れることができるだろうか?

前号へ   次号へ


 ビル・ゲイツの出題問題に関しては、HOW WOULD YOU MOVE MOUNT FUJI ? (Microsoft’s cult of the puzzle. How the world’s smartest companies select the most creative thinkers. )By William Poundstore の原書や、筆者の海外における友人たちの情報を参考にしています。
 また連絡先不明などにより、直接ご連絡の取れなかった一部メディア媒体からの引用画像につきましては、当欄上をお借りしてお許しをいただきたく、よろしくお願い申し上げます。

執筆者紹介


執筆者 梶谷通稔
(かじたに みちとし)

テレビ出演と取材(NHKクローズアップ現代、フジテレビ、テレビ朝日、スカパー)

出版

連載

新聞、雑誌インタビュー 多数

※この連載記事の著作権は、執筆者および株式会社あーぷに帰属しています。無断転載コピーはおやめください

Page top