有名な「モンティ・ホール問題」を、100連の試行で体で納得するゲームです。3つのドアのうち1つに車、2つにヤギ。あなたが1つ選んだあと、司会者が残りからハズレのドアを1つ開けて聞きます——「変えますか?」。直感では確率は五分に見えますが、実は『変えたほうが2倍勝てる』。手動でもボタン一発の連続試行でも試せて、勝率が理論値に近づいていく様子を目の当たりにできます。
納得のカギは、司会者が『答えを知っていて、必ずハズレを開ける』という点です。この行動によって、残った1枚のドアに「最初に選ばなかった2枚ぶんの確率(2/3)」が集約されます。つまり『変える』とは、『最初の自分は外れていた』という3分の2の確率に賭けること。頭で納得できなくても、100連ボタンを何度か押せば、変えた場合の勝率がはっきり2/3に寄っていくのが見えます。まず体で納得してください。
モンティ・ホール問題は、数学者ポール・エルデシュですらシミュレーションを見るまで納得しなかったと言われる、直感が裏切られる代表例です。だからこそ『理屈で説得する』より『1万回引かせて見せる』ほうが早い。確率の直感の落とし穴を体で知る教材として作りました。
連続試行はモンテカルロ法で、変える戦略・変えない戦略を同じ条件で走らせて勝率を比較します。計算はすべてブラウザ内。実在の番組やゲームの再現ではなく、確率の原理を体感するための抽象モデルです。
まずドアを1枚選びます。すると司会者がハズレを1枚開けて「変えますか?」と聞いてくるので、変えない/変える!のどちらかを押します。画面には「変えない勝率」「変える勝率」「プレイ回数」が並んで出るので、自分の手の結果がそのまま統計になっていきます。
手で回すのが面倒になったら、🤖 100連オートと⚡ 1万連のボタンを使ってください。勝率の推移グラフには、緑=変える/赤=変えない の2本の線と、理論値 2/3 と 1/3 の破線が引かれます。押すたびに線が破線へ吸い寄せられていくのが、この作品の見どころです。
「残り2枚なら五分五分では?」という感覚は、ほとんどの人が最初に通る道です。数学者ポール・エルデシュもシミュレーションを見るまで納得しなかったと言われています。
カギは司会者が答えを知っていて、必ずハズレのドアを開けるという点です。最初の選択が当たりの確率は 1/3。裏を返せば「外れている確率が 2/3」。司会者の行動は、その2/3ぶんの確率を、開けられずに残った1枚のドアへ丸ごと集約します。だから「変える」とは、「最初の自分は外れていた」ほうに賭けることと同じで、2/3で勝ちます。もし司会者がランダムに開けていたり、たまたま車を開けてしまう余地があったりすれば、この結論は成立しません。「知っていて、必ずハズレを開ける」がすべてです。
1ラウンドの処理は monty.js に切り出してあり、画面とテストで同じコードを共有しています。司会者は「あなたが選んだドアでも、車のドアでもない」ものだけを開ける実装で、乗り換え先は残った1枚に決まります。乱数はmulberry32でシードを与えられるので、同じ条件なら同じ結果が再現できます。
検証は monty.test.js の3ゲート。T1は5000ラウンド回して、司会者が車のドアも選択済みのドアも決して開けないこと、乗り換え先が正しく残りの1枚になることを確認。T2は10万回ずつのシミュレーションで、変える戦略が 2/3、変えない戦略が 1/3 から誤差1ポイント以内に収まることを確認。T3は同じシードなら結果が完全一致すること(決定論)を確認しています。
計算はすべてブラウザ内で完結し、外部への送信はありません。実在の番組の再現ではなく、確率の原理を体感するための抽象モデルです。