めもめも

このブログに記載の内容は個人の見解であり、必ずしも所属組織の立場、戦略、意見を代表するものではありません。

モンティ・ホール問題をJupyterでシミュレーション

モンティ・ホール問題とは?

[問題]

「プレイヤーの前に3つのドアがあって、1つのドアの後ろには景品の新車が、2つのドアの後ろにはヤギ(はずれを意味する)がいる。プレイヤーは新車のドアを当てると新車がもらえる。プレイヤーがドア1を選択した所、モンティはドア3を開けてヤギを見せた。

ここでプレイヤーは、ドア2に選択を変更しても良いと言われる。プレイヤーはドアを変更すべきだろうか?」


答えをいうと、プレイヤーはドアを変更した方が景品を貰える確率は高くなります。最初に選んだドアが正解の確率は 1/3 ですが、ドアを変えた場合、正解の確率は 2/3 になります。数学的な証明は、こちらにあります。

enakai00.hatenablog.com

しかしながら、数学的な証明はさておき、直感的には確率が2倍になるとはなかなか理解できず、Wikipediaによると、かつて、この問題についての大論争が巻き起こったそうです。数学的な証明を抜きにして、この結果を納得する方法はないのでしょうか?



・・・・・・・


そんな時に役に立つのが Jupyter です!


Jupyterを使えば、このゲームを乱数でシミュレーションするのは、ほんの数行のコードでできてしまいます。シミュレーションを用いて、10000回ぐらいこのゲームをプレイして、勝率がどの程度になるかを実際に確認すれば、ケチのつけようのない答えが得られます。

というわけで、やってみました。

ドアを変更しない戦略の場合、勝率は、0.338 でした。一方、ドアを変更する戦略の場合、勝率は、0.666 です。確かに勝率は2倍になっていることがわかります。このコードに記載されたロジックをじっくり考えると、ドアを変更した方が「当たり」になる確率が高くなる理由も分かってくるのではないでしょうか?