Math World Lab

誕生日問題(直感に反する確率のパラドックス)

「わずか23人で50%以上が同じ誕生日?」人間の直感がバグる組み合わせ爆発の謎

🎂🎂MATCH!わずか23人で 50.7%
この単元の発見をシェア
3行要約(Key Takeaways / AIOサマリー)
1
誕生日問題(直感に反する確率のパラドックス)の本質的な定義と直感的ビジュアルをシミュレーターで体験できる。
2
公式や証明の背景にある数学的意味と、厳密な導出ステップを解説。
3
実社会における工学応用(ハッシュ関数の衝突確率評価(誕生日攻撃シミュレータ))のTypeScript実装コードを収録。

なぜこれを学ぶのか? — 現実社会とテクノロジーでの価値

Purpose & Motivation

なぜ生まれたのか?

「わずか23人で誕生日が一致する確率が50%を超える」という直感の裏切りを通じて、組み合わせ爆発(nC2)の凄まじさを理解するために生まれた。

身につく武器・思考力

「自分と誰か」ではなく「あらゆるペアの比較」という多対多の思考法が身につき、暗号技術やサイバーセキュリティの根本脆弱性を直感できる。

実社会・ITでの活躍現場

  • •暗号理論における「誕生日攻撃(Birthday Attack)」とハッシュ衝突耐性検証
  • •ブロックチェーン(ビットコイン等)の暗号学的安全性の根拠(SHA-256)
  • •大規模データベースにおけるUUID・プライマリキーの衝突リスク試算
  • •会議や懇親会の自己紹介アイスブレイク(実際に一致して盛り上がる実用ネタ)

Layer 1 — 直感・シミュレーター

部屋に集まった人数(nn人)をスライダーで 2人 〜 60人 まで動かしてみよう。「自分と同じ誕生日の人がいる確率」ではなく「誰か2人の誕生日が一致するペアがある確率」に注目すると、たった23人で確率が 50.7% を超える驚きを実感できます。さらに「ランダムクラス生成実験」ボタンで、実際に同じ誕生日のペアが見つかるかを何度でも試せます。

部屋に集まった人数
23人
2人 (0.27%)23人 (約50.7%)40人 (約89.1%)70人 (99.9%)
同じ誕生日のペアがいる確率
50.7 %
🔥 確率50%超え!
存在する2人の比較ペア総数
253 組
計算式: 23C2 組の総当たり
「自分と同じ」誕生日の確率
5.9 %
直感とズレる原因はココ!
重複確率メーター(50%ライン)50.7%

23人のランダムクラスを生成してみる

実際にランダムに誕生日を割り振ったとき、同じ誕生日の人が見つかるか検証します。

Layer 2 — 定義・受験・証明

定義

誕生日問題(Birthday Problem / Birthday Paradox)とは、「何人集まれば、その中に誕生日が同じであるペアが少なくとも1組存在する確率が 50% を超えるか?」という問題である。 1年を365日とし、各日に生まれる確率が等しいと仮定した場合、わずか n=23n = 23 人でその確率は約 50.7% に達する。 これは「自分と同じ誕生日の人を探す確率(約 n365\frac{n}{365})」ではなく、「部屋の中のあらゆる2人の組み合わせ総数 nC2=n(n−1)2_{n}\mathrm{C}_2 = \frac{n(n-1)}{2} 通りのペア」が存在するためである。

公式・数理モデル

P(一致)=1−∏k=0n−1365−k365=1−365Pn365n≥0.5(n≥23)P(\text{一致}) = 1 - \prod_{k=0}^{n-1} \frac{365 - k}{365} = 1 - \frac{_{365}\mathrm{P}_n}{365^n} \ge 0.5 \quad (n \ge 23)

証明・導出

余事象(全員の誕生日が完全にバラバラである確率)による計算: nn 人の誕生日が全員異なる事象を考える。 - 1人目の誕生日は何日でもよい(確率 365/365365/365)。 - 2人目の誕生日は、1人目と異なる日(364日の中のいずれか)でなければならない(確率 364/365364/365)。 - 3人目の誕生日は、先頭2人と異なる日(363日の中のいずれか)でなければならない(確率 363/365363/365)。 - 同様に nn 人目は (365−n+1)/365(365 - n + 1)/365 となる。

全員が異なる誕生日である確率 Pˉn\bar{P}_n は:

Pˉn=365365×364365×363365×⋯×365−n+1365=365Pn365n\bar{P}_n = \frac{365}{365} \times \frac{364}{365} \times \frac{363}{365} \times \dots \times \frac{365 - n + 1}{365} = \frac{_{365}\mathrm{P}_n}{365^n}

よって、少なくとも1組が同じ誕生日である確率 PnP_n は余事象より:

Pn=1−Pˉn=1−365Pn365nP_n = 1 - \bar{P}_n = 1 - \frac{_{365}\mathrm{P}_n}{365^n}

n=23n = 23 のとき:

Pˉ23≈0.4927  ⟹  P23=1−0.4927=0.5073≈50.7%\bar{P}_{23} \approx 0.4927 \implies P_{23} = 1 - 0.4927 = 0.5073 \approx 50.7\%

n=40n = 40 人のクラスでは約 89.1%、n=70n = 70 人の講義室では 99.9% の確率で誰かが同じ誕生日になる。

押さえておきたいポイント

  • 「自分と誰か」を比べると1人の対比(22通り)だが、グループ全体では 23C2=253_{23}\mathrm{C}_2 = 253 通りものペアが存在する
  • ペアの数が 253 組もあるため、1回の比較でハズレる確率が 364/365364/365 でも全体では一気に確率が跳ね上がる
  • 暗号理論・サイバーセキュリティにおける「誕生日攻撃(Birthday Attack)」の基礎理論
  • ハッシュ関数の出力ビット長が BB ビットのとき、わずか 2B/22^{B/2} 回の試行でハッシュ衝突が発生する(SHA-256などの必要性の根拠)
参照基準・学習指導要領との対応

本トピックの内容・数理モデルは、文部科学省学習指導要領(算数・数学・情報)および国際標準カリキュラムに準拠し、エンジニアリング現場の実装事例と照らし合わせてMath World Lab編集部により検証・作成されています。

Layer 3 — 工学応用・現場実装

ハッシュ関数の衝突確率評価(誕生日攻撃シミュレータ)

ブロックチェーンや暗号署名において、データハッシュの一致(コリジョン)脆弱性を評価するための数学的計算スクリプト。

1// 誕生日衝突確率の高速計算
2export function calculateBirthdayCollisionProbability(peopleCount: number, daysInYear: number = 365): number {
3 if (peopleCount > daysInYear) return 1.0;
4 if (peopleCount <= 1) return 0.0;
5
6 let probAllDifferent = 1.0;
7 for (let i = 0; i < peopleCount; i++) {
8 probAllDifferent *= (daysInYear - i) / daysInYear;
9 }
10
11 return 1.0 - probAllDifferent;
12}
13
14// 実際のランダム試行によるクラス生日検証
15export function generateRandomClassTrial(n: number): { hasDuplicate: boolean; matchedBirthdays: number[] } {
16 const birthdays: number[] = [];
17 const countMap = new Map<number, number>();
18 const duplicates: number[] = [];
19
20 for (let i = 0; i < n; i++) {
21 const day = Math.floor(Math.random() * 365) + 1; // 1〜365日目
22 birthdays.push(day);
23 countMap.set(day, (countMap.get(day) || 0) + 1);
24 }
25
26 countMap.forEach((count, day) => {
27 if (count > 1) duplicates.push(day);
28 });
29
30 return {
31 hasDuplicate: duplicates.length > 0,
32 matchedBirthdays: duplicates,
33 };
34}

次に学ぶならコレ!おすすめトピック

この単元と深い繋がりを持つ、あわせて学ぶと理解が深まるおすすめ単元

数理モデル・概念が近い関連トピック

DOOR 1選択中DOOR 2🐐ハズレ開示DOOR 3🚗勝率 67%
関連度高中学数学

モンティ・ホール問題(確率のパラドックス)

「ドアを変えるべきか?」数学者をも惑わせた条件付き確率の罠

Drake Equation N
関連度高高校数学

ドレイクの方程式とフェルミのパラドックスの数理

宇宙に知性は何文明存在するか? — フェルミ推定・確率の積・大いなる沈黙の謎

✨1% 排出100連ガチャ当選 63.4%爆死 36.6%1/e の法則
関連度高中学数学

ガチャ確率と大数の法則(確率の心理バイアス)

「確率1%を100回引けば当たる?」余事象と二項分布が暴くスマホゲームの現実

同じレベルで次に挑戦したいトピック

同レベル推薦中学数学

三平方の定理

直角三角形の3辺に隠れた面積の等式

同レベル推薦中学数学

一次関数とグラフ

傾きと切片を動かすと、直線はどう変わる?

同レベル推薦中学数学

二次関数と放物線

a, b, c を動かすと放物線の形と位置はどう変わる?

工学・実社会での応用先でつながるトピック

工学・実践連携小学校・算数

最小公倍数・最大公約数

数直線に並ぶ倍数と、ユークリッドの互除法で公約数を探る

xy122436
工学・実践連携中学数学

関数の概念と対応表

「1つの入力にはただ1つの出力」というルールを対応表で確かめる

工学・実践連携高校数学

複素数と複素平面(ガウス平面)

虚数単位 i を掛けると「90度回転する」という幾何学的世界

あなたの数学力をさらに伸ばす

数学の弱点診断や算数パズルに挑戦してみませんか?

簡単な質問に答えてあなたにぴったりの学習ロードマップを発見したり、直感を試すパズルで数の面白さを体験できます。