誕生日問題 ─ 23人で50%を超える不思議


動画版(約6分)。急いでいる方はまずこちらでもOK。

前回(W3 モンティ・ホール)に続いて、直感の罠 の2本目です。

ある部屋に 23 人 いれば、その中に 同じ誕生日の人のペア が存在する確率は 50% を超えます。1年は 365 日もあるのに、たった 23 人で、です。

多くの人は「せめて 180 人くらい必要では?」と直感的に答えます。それが間違いです。しかもこの直感と現実の 桁違いのズレ は、ハッシュ関数の衝突攻撃から、医療検査の多重検定問題まで、まったく同じ姿で日常に潜んでいます。


L1|ショックな数字

正確な数字をいくつか並べてみます。

部屋の人数誕生日のペアが存在する確率
10 人約 11.7%
23 人約 50.7%
30 人約 70.6%
50 人約 97.0%
70 人約 99.9%
100 人約 99.9999%

30 人のクラスなら、7 割の確率で誕生日が被る 2 人がいる。日本の学校の 1 クラス(35〜40 人)なら、ほぼ確実に 1 ペア存在します。

一度でも「クラスで誕生日が被った子がいた」記憶がある方は、それは偶然ではなく、ほぼ必然 だったわけです。


L2|なぜ直感は間違うのか

直感を狂わせる犯人は、“あなた” を主語にしてしまうこと です。

多くの人は無意識に、こう考えます:

「私と同じ誕生日の人が、部屋にいる確率」

これは実際、小さい数字です。23 人の部屋なら、約 5.9% しかありません。180 人以上集まって、ようやく 50% を超える。「180 人くらい必要」という直感は、こちらを計算しているのです。

ところが、誕生日問題の問いは違います:

「部屋の 誰かと誰か が、同じ誕生日である確率」

主語が「私」から「誰かと誰か」に変わる。比較対象が爆発的に増える。

23 人の部屋では、ペアの作り方が (232)=253\binom{23}{2} = 253 通りあります。253 本の “照合” が同時に走ると考えれば、1 ペアでも引っかかる確率が、50% を超えるのは、むしろ自然に見えてきます。

一言まとめ:主語を「私」から「全員 vs 全員」に変えると、確率は爆発する。これが誕生日問題の正体です。


L3|数式で確認する

365 日の中から、nn 人が独立に等確率で生まれる、と仮定します(うるう年は無視)。

ペアが「存在しない」確率は、全員の誕生日が互いに違う確率です:

P(全員異なる)=365365×364365×363365×⋯×365−n+1365P(\text{全員異なる}) = \frac{365}{365} \times \frac{364}{365} \times \frac{363}{365} \times \cdots \times \frac{365 - n + 1}{365}

したがってペアが存在する確率は:

P(ペアあり)=1−∏k=0n−1365−k365P(\text{ペアあり}) = 1 - \prod_{k=0}^{n-1} \frac{365 - k}{365}

n=23n = 23 を代入すると:

P(ペアあり)=1−0.4927≈0.5073P(\text{ペアあり}) = 1 - 0.4927 \approx 0.5073

ちょうど 50% の少し上。n=70n = 70 なら 99.9% を超えます。

近似式(ざっくり頭に入れたい時)

正確な積は電卓が要りますが、近似式を使うと紙で見積れます:

P(ペアあり)≈1−exp⁡ ⁣(−n(n−1)2×365)P(\text{ペアあり}) \approx 1 - \exp\!\left(-\frac{n(n-1)}{2 \times 365}\right)

n(n−1)/2n(n-1)/2 は「ペアの個数 (n2)\binom{n}{2}」そのもの。ペアの個数が 365365 に近づくと、確率はぐんと上がる。ペア数 ≈\approx 日数 になる nn が目安** — それが約 n=27n = 27((272)=351\binom{27}{2} = 351)です。


L4|「あなたと同じ」との混同

L2 で触れた混同を、もう一度、きれいに整理します。

問い23 人での確率50% を超える人数
部屋のどこかに同じペアがいる約 50.7%23 人
私と同じ誕生日の人がいる約 5.9%約 253 人

同じ “誕生日が被る” でも、主語が違うと、数字が 10 倍以上違う。日常の会話で「同じ誕生日の人がいた!」と驚くのは、だいたい後者の “珍しい” 側を想定していて、前者の “普通に起きる” 側を見落としているケースです。


L5|暗号学の “誕生日攻撃”

誕生日問題は、純粋なパズルではなく、現代の暗号学の 攻撃手法の名前 です。

ハッシュ関数(例えば SHA-1)は、入力を固定長のビット列に圧縮します。SHA-1 なら 160 ビット、つまり 2160≈1.46×10482^{160} \approx 1.46 \times 10^{48} 通りの出力空間がある。

ある入力の “原像” を見つけるには、ざっくり 21602^{160} 回の試行が要る。これは実質不可能、だから安全、と直感的には思えます。

ところが、“衝突” を見つけるだけなら、ざっくり 2802^{80} 回で済んでしまう。これが誕生日問題と同じ構造です。

  • 原像攻撃:「このハッシュ値になる入力を見つける」 → 21602^{160} 必要
  • 衝突攻撃:「ハッシュ値が同じになる 2 つの入力を見つける」 → 2802^{80} で足りる

2802^{80} は、2017 年、Google が実際に SHA-1 の衝突ペアを作成 して現実化しました(SHAttered 攻撃)。これ以降、SHA-1 は “電子署名用途では使ってはいけない” ハッシュ関数に格下げされます。

ポイント:攻撃者は「特定のハッシュ」を再現する必要はない。「どれでもいいから被るペア」を探せば勝ち。これが、21602^{160} の壁を 2802^{80} に落とす。23 人問題の、デジタル版です。


L6|日常の多重検定問題(研究者コラム)

もう一歩、学問の世界に降りてみます。

仮説検定 は、何かを統計的に主張するときの道具です。「この薬は効く」「このデータは偶然ではない」。普通は、有意水準 α=0.05\alpha = 0.05 を使って、「偶然でこの結果が出る確率が 5% 以下」なら主張を採択します。

しかし、同じ実験で複数の検定を同時に行う とき、何かが引っかかる確率は、ぐんと上がります。

  • 1 回の検定で “偶然引っかかる” 確率:5%
  • 独立な 20 回の検定で、少なくとも 1 回引っかかる確率:1−(1−0.05)20≈1 - (1 - 0.05)^{20} \approx 64.2%
  • 独立な 100 回の検定で、少なくとも 1 回引っかかる確率:1−(1−0.05)100≈1 - (1 - 0.05)^{100} \approx 99.4%

これは 多重検定問題(multiple testing problem)と呼ばれ、医療統計・遺伝子データ解析・金融実証研究で、最大級の落とし穴 の一つです。

ある遺伝子検査で、2 万個の遺伝子について「病気との関連」を 1 つずつ検定したら、仮に病気と関連する遺伝子が 1 つも無くても、約 1000 個が「偶然」有意に出る。23 人問題と同じ、“全員 vs 全員” で確率が爆発する構造です。

対処法

  • Bonferroni 補正:α\alpha を検定数で割る(粗いが安全)
  • Benjamini–Hochberg 法:False Discovery Rate を制御(主流)
  • 事前登録(pre-registration):検定を “後出し” しない

学術文献(既発表のみ)

  • Flajolet, Gardy & Thimonier (1992) “Birthday paradox, coupon collectors, caching algorithms and self-organizing search” ─ 誕生日問題の計算機科学への応用を体系化
  • Diaconis & Mosteller (1989) “Methods for Studying Coincidences” (Journal of the American Statistical Association) ─ 偶然の一致を統計的に扱う古典
  • Benjamini & Hochberg (1995) “Controlling the false discovery rate” (JRSS-B) ─ 多重検定の革命的論文、現代の医療統計の標準
  • Ioannidis (2005) “Why most published research findings are false” (PLoS Medicine) ─ 多重検定・pハッキングの大問題を世に問うた

一般読者に持ち帰ってほしいこと

  • “被る” 確率は、主語が「私 vs 全員」か「全員 vs 全員」かで、桁が変わる
  • SHA-1 の崩壊、医療統計の偽陽性 ─ 全部、23 人問題の “大人版”
  • 「たくさん試す」と「何かは当たる」。日常の判断にも効く

おわりに

23 人という小さな数字から始まった話は、暗号学のハッシュ衝突、医療統計の多重検定まで、同じ構造が形を変えて 現れていました。

文脈23 人問題の対応物
誕生日365 日の中で “被る”
SHA-121602^{160} の空間で “被る”
多重検定20,000 遺伝子で “何かが引っかかる”

共通するのは、比較対象の数が増えると、確率は “線形” ではなく “二乗で” 増える という事実です。(n2)\binom{n}{2} の爆発。これが直感を狂わせる犯人。

次の週からは、再び お金 のテーマに戻ります。W5:住宅ローン ─ 変動 vs 固定の数学 を予定しています。この縦筋も、気付かないうちに人生の破滅確率に効いてくる話。お楽しみに。