
モンティ・ホール問題はなぜ2/3? 100万回の実験と、1/2に変わる司会者の条件
モンティ・ホール問題は、たぶん確率の話題でいちばん有名なものだ。
ドアが3枚あって、1枚の後ろに車、2枚の後ろにヤギがいる。あなたが1枚選ぶと、中身を知っている司会者が残り2枚のうちヤギのドアを1枚開けてみせる。ここで「選び直しますか?」と聞かれる。変えるべきか、変えないべきか。
答えは「変えるべき」で、勝率は1/3から2/3に上がる。私もそれは知っている。知っているのだが、毎回どこかで引っかかる。ドアが2枚に減ったのだから五分五分ではないのか、という感覚が消えない。
そこで、引っかかっている部分を切り分けるために実際に回した。特に確かめたかったのは、「司会者が中身を知っている」という条件を外したらどうなるかだ。
実験に使ったコードの全文はGitHubに置いています。
なぜ2/3なのか、まず3通りで考える
変更して勝つのは、最初の選択が外れだったとき。 最初に外す確率は2/3なので、変更の勝率も2/3になる。
あなたはドアAを選んだとする。車の位置は次の3通りで、それぞれ同じ確率だ。
| 車の位置 | 司会者が開けるドア | 変更した結果 |
|---|---|---|
| A(最初から当たり) | BかCのヤギ | 外れ |
| B | Cのヤギ | 当たり |
| C | Bのヤギ | 当たり |
これは、司会者が中身を知り、必ず未選択のヤギを開け、毎回変更を提案するルールでの話。「2枚残った」という見た目だけでは、確率は決まらない。司会者がいつ、どんな基準でドアを開けたかまでが問題の条件になる。
まず100万回
3枚のドアで100万回。司会者は中身を知っていて、必ずヤギのドアを開ける。
| 戦略 | 実測 | 理論値 |
|---|---|---|
| 変更しない | 0.33397 | 1/3 = 0.33333 |
| 変更する | 0.66603 | 2/3 = 0.66667 |
教科書通りだ。ここに驚きはない。
司会者から「知識」を取り上げる
次に、司会者の設定だけを変える。司会者も中身を知らず、プレイヤーが選ばなかった2枚から適当に1枚開けるとする。当然、車を開けてしまうことがある(実測33.34%)。その回はゲームとして成立しないので除外し、残った「たまたまヤギが出た回」だけで勝率を測る。
プレイヤーから見える光景は、1本目の実験と完全に同じだ。自分が1枚選び、別の1枚が開いてヤギがいて、2枚が残っている。それでも——

0.4990。 五分五分だ。
ここで重要なのは、除外した回の偏りだ。最初に車を選んでいれば、司会者がどちらを開けてもヤギなので必ず残る。最初にヤギを選んでいた場合は、司会者が車を開ける半分の回が除かれる。
| 最初の選択 | 起きる確率 | ヤギが開いて残る確率 | 残り、かつ変更で勝つ確率 |
|---|---|---|---|
| 車 | 1/3 | 1/3 × 1 = 1/3 | 0 |
| ヤギ | 2/3 | 2/3 × 1/2 = 1/3 | 1/3 |
残る回は全体の2/3、そのうち変更で勝つ回は全体の1/3。だから、ヤギが開いたという条件のもとでの勝率は (1/3) ÷ (2/3) = 1/2になる。「ランダムに開いたヤギには情報がない」のではなく、その観測によって最初の選択が当たりだった可能性も高まるのだ。
100枚のドアで見る
3枚だと差が小さくて実感しにくい。ドアを100枚に増やし、司会者に98枚開けてもらう。

最初に選んだ1枚が当たっている確率は1/100だ。司会者が中身を知り、毎回必ず98枚のヤギを開けるルールでは、変更して勝つのは最初に外した99/100の回になる。実測でも0.9900だった。
ただし、これは「司会者が98枚も消してくれる」からこその数字だ。枚数を変えて測るとはっきりする。

司会者が1枚しか開けてくれないなら、ドアが100枚あっても変更にほぼ意味がない(0.0099 対 0.0097)。変更が得になるのは「変更先の候補が絞られているから」であって、「ドアが減ったから」ではない。
枚のうち司会者が枚開ける場合、変更したときの勝率は
になる。これは司会者が必ず未選択のヤギを枚開け、プレイヤーが残る変更先から一様ランダムに1枚選ぶ場合の式だ。なら理論値は約0.01010で、変更しない0.01000との差は小さい。実測値が少し前後するのも、この差に対して試行の揺らぎがあるためだ。とを動かして眺められるようにした。
何回で差が見えるか。ただし「途中で有意」は別問題
最後に、少し実務的なことを測った。この手の話は「自分で試してみればわかる」と言われがちだが、実際に何回まわせば「1/2ではない」と言い切れるのか。
勝率2/3のコインを振り続け、帰無仮説「勝率は1/2」に対する片側二項検定が初めて5%を切る試行数を、2,000回ぶん記録した。

この手順で初めて閾値を超えた回数は、中央値21回、90%点62回だった。ただし、これは「21回あれば5%の誤判定率で証明できる」という意味ではない。
毎回p値を計算し、0.05を下回った瞬間に止めると、通常の固定標本数の検定が想定する5%の誤判定率を保てない。 この図は閾値に初めて到達するまでの実験記録として読む必要がある。実際の比較実験では、回数を先に決めるか、途中監視を前提にした逐次検定を使う。Johariらの研究が、この問題と対処を扱っている。
ただし、途中経過を見ると気は抜けない。

40人が同時に試したとして、序盤は勝率が1.0の人も0.3の人もいる。数十回では「たまたま」がまだ効いている。見せかけの回帰の回で見たのと同じ構図で、少ない試行から読み取れることは思ったより少ない。
まとめ
- 3枚・100万回で、変更しない0.334、変更する0.666。理論通り
- 司会者が中身を知らず、たまたまヤギを開けた場合は0.499。 プレイヤーから見える光景は全く同じ
- 勝率を決めるのは、司会者の開け方と、どの回を集計に残すかという条件
- 枚に一般化すると、変更の得は司会者が消してくれる枚数で決まる。100枚でも1枚しか開かないなら0.0099で、変更しない場合とほぼ同じ
- p値が初めて0.05を下回るまでの実測は中央値21回。ただし、毎回検定して止める方法を通常の5%検定として解釈してはいけない
自分で確かめるなら、ここを変える
モンティ・ホールのシミュレーターで、最初は3枚のドアと中身を知る司会者を選ぶ。変更する・しないの勝率を確認したら、司会者が中身を知らない条件と比べてほしい。全試行数と、ヤギが開いて集計に残った回数を分けて見ると、1/2になる理由を追いやすい。
同じように「何をまとめて数えるか」で結論が変わる話を、シンプソンのパラドックスでも実験している。
腑に落ちたのは確率の側ではなく、情報の出所のほうだった。
司会者が開けたドアの中身は、どちらの設定でもヤギだ。目の前の事実は同じ。違うのは、その事実が生まれた経緯のほうにある。必ずヤギが開く実験と、ヤギが開いた回だけを残す実験では、集計している集団が違う。
同じことを、私は仕事でも取り違えている気がする。誰かが「これは大丈夫でした」と報告してくれたとき、その言葉の価値は、その人が何を確認しなかったかで決まる。全項目を見た上での「大丈夫」と、目についた範囲での「大丈夫」は、文字列としては同じものだ。受け取る側からは区別がつかない。
区別する方法はひとつしかない。中身ではなく、手順のほうを聞くことだ。
このブログでは、機械学習の仕組みを実際にコードで実装して確かめた実験をテーマ別に整理しています(拡散モデル・Transformer・強化学習・多様体学習・過学習など)。


