CODE GALLERY No.26
確率の錯覚ミュージアム
直感と答えがずれる確率を、8つの展示室に集めました。予想してから答え合わせをし、条件を動かして確かめます。自分の「でたらめ」を判定する部屋や、確率を比べる天秤もあります。
「23人いれば、誕生日が同じ2人がいる確率は半分を超える」と聞くと、多くの人は「そんなはずはない」と感じます。確率は、計算すればはっきり答えが出るのに、直感がよく外れる分野です。
このミュージアムでは、まず自分の直感で「何%か」を予想します。そのあと、正確な計算と、実際に何千回も試したシミュレーションの両方で答え合わせをします。最後の出口で、予想した6部屋分の「直感のずれ」をまとめて測ります。
HOW TO USE回り方
- 上の札で部屋を選びます。どの部屋も、問いを読んでスライダーで予想し、「答え合わせ」を押します
- 答え合わせのあとには「実験台」が出ます。人数や扉の数、回数を変えると、答えがどう動くかを試せます
- 3つの扉の部屋では、扉を選んで実際に遊べます。司会がハズレの扉を開けたあと、扉を変えるかどうかを決めます
- 何回で当たるの部屋は、「当たる確率と回数」から1回以上当たる確率を出す計算機です。ガチャや懸賞の見積もりにも使えます
- 人間乱数の部屋では、頭の中でコインを投げたつもりで「表」「裏」を50回押します。本物のでたらめ1万本と比べて、人間が作った並びかどうかを判定します
- 天秤の部屋は、2つのできごとのどちらが起こりやすいかを当てる10問のゲームです
- 回り終えたら「出口」で、あなたの直感ずれ度(予想と答えの差の平均)と、人間乱数・天秤の結果が出ます
HOW IT WORKS答えの出し方
1. 誕生日:全員の誕生日がばらばらになる確率を先に出し、1から引きます。2人目は364/365、3人目は363/365…と、ばらばらでいられる確率が少しずつ減っていきます。
let none = 1; for (let k = 0; k < n; k++) none *= (365 - k) / 365; return 1 - none; // 23人で 0.507
2. 扉:最初に当たりを選んでいる確率は 1/扉の数 です。司会はハズレだけを開けるので、扉を変えて当たるのは「最初に外れを選んでいたとき」と同じになります。3枚なら 2/3、10枚なら 9/10 です。シミュレーションでは、司会の動きをそのまま書いて何千回も遊ばせています。
3. 迷惑メール:ベイズの定理を使います。「迷惑」と判定されたメールは、本物の迷惑メールを見抜いた分と、普通のメールを誤った分の合計です。そのうち本物の分の割合が答えです。
const tp = prior * sens; // 本物を見抜いた const fp = (1 - prior) * fpr; // 普通のメールを誤った return tp / (tp + fp); // 0.01, 0.99, 0.03 で 0.25
4. 連続:「いまの連続が何回目か」ごとの確率を表にして、1回投げるたびに更新します(動的計画法)。同じ面が出れば連続が1つ伸び、違う面なら1に戻ります。指定の回数に届いたものは表から外し、最後に残った分を1から引きます。100回で5回以上なら 97.2% です。
for (let r = 1; r < k; r++) {
q[1] += p[r] / 2; // 違う面:連続は1に戻る
if (r + 1 < k) q[r + 1] += p[r] / 2; // 同じ面:1つ伸びる
}
5. ギャンブラー:10万回投げた並びの中から、裏が続いた直後の1回だけを拾って、表の割合を数えます。何回続いたあとでも、50%前後から動きません。
6. 何回で当たる:1回も当たらない確率 (1−p)n を1から引きます。95%に届く回数は、この式を n について解いた log(0.05) ÷ log(1−p) を切り上げて出しています。「100人で試す」では、一様な乱数から、当たるまでの回数を1人ずつ直接作っています。
const atLeastOnce = 1 - Math.pow(1 - p, n); // 1%・100回で 0.634 const need = Math.ceil(Math.log(1 - 0.95) / Math.log(1 - p)); // 1%なら 299回
7. 人間乱数:並びから「表と裏が入れ替わった回数」と「いちばん長い連続」を数えます。本物のでたらめ50回では、入れ替わりは平均24.5回、最長の連続は平均6回ほどです。人が作ると、入れ替わりが多く連続が短くなりがちです。この2つを本物1万本の平均とばらつきで点数にし、あなたの並びより極端なものが本物の中に何%あるかを出します。それが小さいほど「人間っぽい」と判定します。本物のでたらめでも、5%ほどは「ほぼ確実に人間製」と出ることがあります。
8. 天秤:載せているできごとは、サイコロ・コイン・トランプ・じゃんけん・誕生日のように計算で確率が決まるものと、宝くじのように当せん本数が公表されているものだけです。ロト6は 43個から6個を選ぶ組み合わせの数(6,096,454通り)、年末ジャンボの1等は 1ユニット2,000万枚に1本として計算しています。確率が2.5倍以上離れた2つだけを組にしています。
NOTES注意
- 誕生日の部屋は、閏年の2月29日を数えず、365日のどの日も同じ確率で生まれるものとして計算しています
- シミュレーションは毎回でたらめに試すので、押すたびに値が少しずつ変わります。回数を増やすほど、計算の値に近づきます
- 人間乱数の判定は、50回の並びだけを見た目安です。本物のでたらめでも、ときどき「人間っぽい」と出ます
- 迷惑メールの数字は、問題のために決めた例です。実際のフィルタの性能を表すものではありません
- くじの計算は、毎回の当たる確率が同じで、前の結果に左右されないものとして出しています。天井や確率の変わる仕組みがあるガチャには当てはまりません
※ 予想はこのブラウザの中だけで使い、保存も送信もしません。

