プログラムTIPS

DEMO PROGRAM ヘキサドライブでは様々な研究開発をしています。その一部を紹介。

確率の問題(2010年1月27日)

あなたは、あるクイズ番組に出場しています。
あなたはそのクイズ番組で優勝し、いよいよ最後の賞品をもらえるゲームにチャレンジすることになりました。
そのゲームとは、中身が見えない3つの箱(A,B,C)の中から、賞品が入っている1つの箱を当てるというもの。

あなたは、Aの箱を選びました。
すると司会者は、次のような行動を取ったのです。

    「Aの箱を選びましたね?
     では私だけ、残りのBとCの箱の中を確認させて頂きます。
     (中身を確認)
     …ふむふむ、なるほど。
     では、賞品の入っていないCの箱をこの場から取り除きます。
     さて、最後のチャンスです。
     今なら、Bの箱に変えてもいいですよ?どうします?」

さて、あなたは最初の選択を信じ、Aの箱のままでいたほうが良いのでしょうか?
それとも、Aの選択をひるがえし、Bの箱を選んだ方が良いのでしょうか?
もちろん司会者は、Cの箱に賞品が入ってるのに取り除く…なんてズルはしてませんよ!


*
 

    「最後に残った2つの箱の内、どちらかに賞品が入ってるんだから、どちらを選ぼうとも確率は1/2でしょ?」

と思いがちですが、実は違うんです。
ポイントは、司会者が箱の中身を確認した上で、ハズレの箱を取り除いているという所にあります。
正解は、10行後!

正解は…最初の選択をひるがえし、司会者が残してくれた箱を選んだ方が賢明です。
最初に自分が選んだ箱が当たる確率は1/3で、司会者が残してくれた箱が当たる確率は、2/3になります。
ちょっと納得できませんか?では話を極端にしてみるとどうでしょう?

 

*

あなたの目の前に、100個の箱があります。
あなたはその内の1つを選びました。
司会者は、残りの99個の中身を確認し、1つを残してハズレである98個を除外してくれました。
さて、あなたは最初の選択を変えずにいるべきでしょうか?
それとも、司会者が99個の中から残してくれた1個を選ぶべきでしょうか?

 

*

これは、
「あなたが最初に選んだ1個が当たる確率と、司会者が確認した99個の中に当たりがある確率、どちらが高いでしょう?」
と聞いているのと同じです。
これなら、後者が正解であることが分かりやすいのではないでしょうか?

まだ納得できませんか?
ではもしあなたがプログラムを組めるのなら、プログラマー独特の検証方法があります!
そうです、実際に上記のクイズをシミュレートするプログラムを組めばいいのです!!
私も試しにプログラムを組んで試してみたところ、
10000回のシミュレーション中、最初の選択を変えずに当たった回数が、3354回。
逆に、変えた方が当たっていた回数が 6646回と、ほぼ 1/32/3 の関係になっていました。

このプログラムを組んでいる最中、実際にシミュレーションを行うまでもなく、

    「あ、これは…選択を変えた方が 2/3 の確率で当たるわ」

というのが理解できるようになるかと思います。
不具合の内容を人に説明している内に、バグの原因が分かる事があるのと同じように、上記のクイズのアルゴリズムを考えながらコーディングしている内に、理屈が腑に落ちるのだと思います。

プログラムを組める方は、是非チャレンジしてみて下さい。

【免責事項】

本サイトが提供している情報に関しては、安全性等、いかなる保証もされません。 株式会社ヘキサドライブは、これらの情報をあなたが利用することによって生ずるいかなる損害に対しても一切責任を負いません。

【著作権】

本サイトが提供しているコンテンツについては、特に断りのある場合を除き、株式会社ヘキサドライブが著作権を有します。