Memorandums?

This blog is written about technical-discoveries and daily-events.

Monty Hall Problemシミュレーション

What's モンティホール問題?

確率論(事後確率関連)でもっとも有名な問題のひとつがモンティホール問題です。
そんなモンティホール問題(Monty Hall Problem)とは、

これは、クイズ番組です。
3つの閉じられたドアがあります。
これらのドアのどれか1つを開けると、そこには高級車があり、それをもらえます。
しかし、間違ったドア(高級車の無いドア)を開けると、そこにはヤギしかおらず、挑戦は失敗となります。

挑戦者は、まず、1つドアを選びます。
すると、ドアのどれが正解かを知っている司会者が、
挑戦者が選んでいないドアかつ、正解でないドアを開け、こういいます。
「あなたが選ばなかったこのドアには、ヤギがいました。
今なら、まだ開けていないもう1つのドアに変更しても構いません。
どうしますか?」
このとき、挑戦者は、ドアを変えるべきでしょうか?
それとも、自分の決定を信じて、変えないほうがよいでしょうか?
(確率的にどちらが良いか)

という問題です。
この問題は、事後確率の問題であり、人間が直感で判断するのは、厳しい問題です。
IQが最も高いと言われるマリリン・ボス・サバント氏は、この問題を正解しました。
(この人が最初に答えを提唱したといわれている)

さて、確率はいくらでしょう?




シミュレーション

今回は、シミュレーションから答えを導いてみます。
一様分布擬似乱数により、ドアを選択し、変更した時としなかった時の確率を算出し、比較します。
実装言語はRです。

ソースコードGitHubにて公開します。
MITライセンスです。
github.com


こんな感じでシミュレーションします。
結果はこうなりました。

f:id:meriyasu_blog:20150919070454p:plain

この図を見れば、確率は言うまでもなく明らかです。
確率は、NotChangeが32.49%、Changeが67.32%でした。
では、これをできるだけ直感的に考えるべく、ドアの数を増やしてみます。
問題設定を少し変えてみます。

これは、クイズ番組です。
100個の閉じられたドアがあります。
これらのドアのどれか1つを開けると、そこには高級車があり、それをもらえます。
しかし、間違ったドア(高級車の無いドア)を開けると、そこにはヤギしかおらず、挑戦は失敗となります。

挑戦者は、まず、1つドアを選びます。
すると、ドアのどれが正解かを知っている司会者が、
挑戦者が選んでいないドアかつ、正解でないドアを98個開け、こういいます。
「あなたが選ばなかったこのドア98個には、ヤギがいました。
今なら、まだ開けていない残り1つのドアに変更しても構いません。
どうしますか?」
このとき、挑戦者は、ドアを変えるべきでしょうか?
それとも、自分の決定を信じて、変えないほうがよいでしょうか?
(確率的にどちらが良いか)

100個ドアを用意するのです。
同様にシミュレーションしてみました。
プログラムは、door変数の値を変えただけです。

f:id:meriyasu_blog:20150919071100p:plain

確率は、NotChangeが0.96%、Changeが98.93%となりました。
この二つのシミュレーションから推測できるように、
NotChangeの当たる確率は、
 P=\frac{1}{DOOR}
となり、
Chageの当たる確率は、
 P=\frac{DOOR-1}{DOOR}
となります。
ドアを変えない場合は、当然の確率ですね。(司会者が開けても開けなくても関係ないから)
ドアが100個あると、挑戦者が正解を選ばなかった場合、司会者は一つしか無い正解を除いて、
98個のドアの可能性を除外してくれたというわけで、
変えたほうが確率が高くなるのは直感的であると思います。

ですが、元の問題文からは回答者が決めた後、司会者が1つ開けるという問題設定しかされていないため、
100コの扉にしたときに、司会者は1つだけ開けるのか、98コ開けるのか明確でありません。
そこで、それ以外の考え方として、このような説明もあります。
回答者は選択を変えない限り、確率は1/3で一定です。
注目すべきは、「司会者は答えを知っていて、正解でないほうの扉を開けている」という点。
回答者がAを選び、正解がAなら、どちらを司会者が開けても関係ありません。
ところが、正解がBかCなら、司会者は正解でないほうを開けるので必ず残った扉は正解です。
まとめると、正解がAなら変えたら×、Bなら変えたら○、Cなら変えたら○。
よって、確率は2/3になります。

この説明であれば、問題設定を変えないため、より納得しやすいかもしれません。
筆者も初めにこの問題を知ったときは、100コの扉の方が理解しやすかったですが、
完全な理解のためには、やはり後者の説明のほうが、正当派な気がしています。