目次
はじめに
ベイズの法則が重要な役割を果たす問題として有名なものに
「モンティ・ホール問題」があります。
(ベイズの法則の基本的な説明に関しては
下記の記事を参考にしてください
待ち合わせに遅れる彼女、ベイズの定理、そして例題 - MY ENIGMA)
「モンティ・ホール問題」の詳しい説明は
上記の記事を参考にしてもらうとして、
数式を使わずにこの問題のトリックを説明すると、
"扉を変えないという選択肢をすると、
3つの内1つの宝(ヤギ)を選ぶ問題になるが、
扉を変えるという選択肢をすると、
3つの内の2つのハズレを選んで宝を得る問題になるので、
(ハズレの扉を選べば、司会者がもう片方のハズレの扉を開けてくれる)
扉を変えたほうが2倍確率が高い"
ということです。
論理的には上記の説明でOKですが、
これをベイズの式を使用して数式的に計算してみようと思います。
ベイズの式を利用した確率の計算
まず初めに自分が選んだ扉をAとします。
そしてその結果、司会者が開けてくれた扉をCとします。
するとCには宝は無いので、AかBのどちらかに宝はあることになります。
ということで、AとBのそれぞれに宝がある確率を
ベイズの式を使用して計算してみましょう。
Aに宝がある確率
Aに宝がある確率をP(A)、
Cの扉が司会者によって開けられる確率をP(Copen)とすると、
上記のCの扉が司会者によって開けられて、
Aに宝がある条件付き確率P(A|Copen)は、ベイズの式より
P(A|Copen)=P(Copen|A)×P(A)/P(Copen)となります。
ここで,P(Copen|A)はAに宝があった場合に
Cが開けられる確率なので、
司会者はBとCのどちらを開けても良いことを考えると、
P(Copen|A)=1/2
となります。
そして、P(A)はAに宝がある確率なので
3つ扉のうちどれかに宝があることを考えると
P(A)=1/3
となります。
P(Copen)はとりあえずそのままにしておきます。
Bに宝がある確率
同様に、
Bに宝がある確率をP(B)、
Cの扉が司会者によって開けられる確率をP(Copen)とすると、
Bに宝がある条件付き確率P(B|Copen)は、ベイズの式より
P(B|Copen)=P(Copen|B)×P(B)/P(Copen)となります。
ここで,P(Copen|B)はBに宝があった場合に
Cが開けられる確率なので、
司会者はハズレの扉を開かなくてはならないので、
Cしか開けることができないことを考えると、
P(Copen|B)=1
となります。
(Bには宝がありますし、Aはあなたが選んでいるので開けられません)
そして、P(B)はBに宝がある確率なので
3つ扉のうちどれかに宝があることを考えると
P(B)=1/3
となります。
P(Copen)はとりあえずそのままにしておきます。
AとBに宝がある確率の比較
上記の結果より、P(A|Copen)とP(B|Copen)の確率を比較します。
上記の式より、P(A|Copen)とP(B|Copen)の分母は
P(Copen)で共通なので、無視をして分子だけを比較します。
すると、
P(A|Copen)の分子= 1/2 × 1/3 = 1/6
P(B|Copen)の分子= 1 × 1/3 = 1/3
ということで、2×P(A|Copen)=P(B|Copen)となり、
Bの方に宝がある確率の方が2倍高いことになります。
つまり、Aを最初に選んだ時に、
そのAに宝がある確率よりも
司会者が選ばなかったBの扉に変更したほうが
宝のある確率が2倍になるので、
扉を変更したほうがお得ということです。
モンティ・ホール問題のPythonシミュレータ
上記の説明を見ても、確率は変わるはずない!!と、
どうしても納得できない人のためにシミュレータを作成しました(笑)
下記のPythonスクリプトを起動すると、
指定した回数分モンティ・ホールゲームを実施し、
扉を変えなかった時と、扉を変えた時の勝った回数を表示します。
下記のスクリーンショットは
それぞれ1000回のゲームをした場合の、
シミュレーション結果の出力結果です。
このように、扉を変えたほうが勝ち数が約二倍になり、
勝率が60%ほどになっていることがわかります。
これでも信じられない人はこの問題のことは忘れましょう(笑)
参考資料
ベイズ推定に関する
基本的な概念を理解するためには
下記の本がオススメです。
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com