<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>組み合わせ on kenji.blog</title><link>http://kenji.blog/tags/%E7%B5%84%E3%81%BF%E5%90%88%E3%82%8F%E3%81%9B/</link><description>Recent content in 組み合わせ on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>ja</language><copyright>kenjinote</copyright><lastBuildDate>Thu, 10 Sep 2026 00:00:00 +0900</lastBuildDate><atom:link href="http://kenji.blog/tags/%E7%B5%84%E3%81%BF%E5%90%88%E3%82%8F%E3%81%9B/index.xml" rel="self" type="application/rss+xml"/><item><title>バースデイパラドックス：23人いれば50%以上？直感を欺く「組み合わせ」の魔法</title><link>http://kenji.blog/p/birthday-paradox/</link><pubDate>Thu, 10 Sep 2026 00:00:00 +0900</pubDate><guid>http://kenji.blog/p/birthday-paradox/</guid><description>&lt;img src="http://kenji.blog/p/birthday-paradox/img/birthday_paradox.jpg" alt="Featured image of post バースデイパラドックス：23人いれば50%以上？直感を欺く「組み合わせ」の魔法" />&lt;h2 id="1-直感のテスト何人集まれば確率は50を超える">1. 直感のテスト：何人集まれば確率は50%を超える？
&lt;/h2>&lt;p>あるパーティー会場に人々が集まっています。
ここで、**「会場の中に、誕生日（月と日）が全く同じ2人組が少なくとも1組存在する確率が50%を超える」**には、最低何人の人が必要だと思いますか？（※うるう年は除外して1年は365日とし、各誕生日は等確率であると仮定します）。&lt;/p>
&lt;p>人間の直感は、次のように計算しがちです。
「1年は365日もある。365個の枠の中に人をポンポンと入れていって被るのだから、少なくとも180人くらいは必要だろう。少なく見積もっても、50〜60人はいないと確率は半分にならないのでは？」&lt;/p>
&lt;p>しかし、数学が導き出す正解は、わずか &lt;strong>「23人」&lt;/strong> です。
学校の1クラス（約30人〜40人）であれば、同じ誕生日のペアがいる確率は約70%〜89%にも跳ね上がります。50人いれば、その確率は97%に達し、「同じ誕生日の人がいない方が珍しい」状態になります。&lt;/p>
&lt;p>なぜ私たちの直感はこれほどまでに現実の確率とズレてしまうのでしょうか？&lt;/p>
&lt;hr>
&lt;h2 id="2-直感が間違える理由私と誰かと誰かと誰かの違い">2. 直感が間違える理由：「私と誰か」と「誰かと誰か」の違い
&lt;/h2>&lt;p>この問題で直感が間違う最大の理由は、私たちが無意識のうちに**「特定の一人（例えば自分）と同じ誕生日の人がいる確率」**を考えてしまうからです。&lt;/p>
&lt;p>あなたが会場に入り、「自分と同じ誕生日の人はいるかな？」と探す場合、23人の中にあなたと同じ誕生日の人がいる確率はたったの &lt;strong>約6.1%&lt;/strong> しかありません。（この確率が50%を超えるには、実に253人もの人が必要です）。&lt;/p>
&lt;p>しかし、バースデイパラドックスが問うているのは「私と誰か」のペアではありません。**「会場にいる全ての人同士のあらゆる組み合わせ（AさんとBさん、BさんとCさん、CさんとAさん…）」**の中で、1組でも一致すれば良いのです。&lt;/p>
&lt;div class="mermaid">graph TD
subgraph "直感の錯覚：「自分」中心の比較"
You["自分"] --- P1["Aさん"]
You --- P2["Bさん"]
You --- P3["Cさん"]
You --- P4["Dさん"]
style You fill:#ff9999,stroke:#333,stroke-width:4px
end
subgraph "現実：「全員と全員」の総当たり比較"
A["Aさん"] --- B["Bさん"]
A --- C["Cさん"]
A --- D["Dさん"]
B --- C
B --- D
C --- D
end&lt;/div>
&lt;p>たった4人のグループでも、「自分」を中心とした比較は3通りですが、全員同士の比較なら6通り（${}_4 C_2 = 6$）存在します。
人数が23人に増えると、ペアの組み合わせはなんと &lt;strong>253通り&lt;/strong> (${}_{23} C_2$) にも爆発的に増加します。
253組ものペアがいれば、その中の1組くらいは「365分の1」の確率を引き当てても不思議ではない気がしてきませんか？&lt;/p>
&lt;hr>
&lt;h2 id="3-数学による証明余事象を使った鮮やかな解法">3. 数学による証明：余事象を使った鮮やかな解法
&lt;/h2>&lt;p>「少なくとも1組が同じ誕生日である確率」を真正面から計算するのは大変です（1組だけ同じ場合、2組同じ場合、3人が同じ誕生日になる場合…など、パターンが多すぎるため）。
そこで、確率論の基本テクニックである**「余事象（よじしょう）」**を使います。&lt;/p>
&lt;p>余事象とは、「起こらない確率」のことです。
つまり、&lt;strong>「全員の誕生日がバラバラである（1組も被らない）確率」&lt;/strong> を計算し、それを100%（1）から引き算すれば、求めたい確率が出ます。&lt;/p>
$$ P(\text{少なくとも2人が同じ}) = 1 - P(\text{全員が違う誕生日}) $$
&lt;p>では、順番に会場に入ってくる人をイメージして計算してみましょう。&lt;/p>
&lt;ol>
&lt;li>&lt;strong>1人目&lt;/strong>：誰とも被る心配はありません。確率は $\frac{365}{365}$ です。&lt;/li>
&lt;li>&lt;strong>2人目&lt;/strong>：1人目とは違う誕生日でなければなりません。残りの364日ならセーフです。確率は $\frac{364}{365}$ です。&lt;/li>
&lt;li>&lt;strong>3人目&lt;/strong>：前の2人とは違う誕生日でなければなりません。残りの363日ならセーフです。確率は $\frac{363}{365}$ です。&lt;/li>
&lt;/ol>
&lt;p>これを $n$ 人目まで掛け合わせると、全員の誕生日がバラバラである確率 $P(n)'$ の一般項が得られます。&lt;/p>
$$ P(n)' = \frac{365}{365} \times \frac{364}{365} \times \frac{363}{365} \times \dots \times \frac{365 - (n - 1)}{365} $$
$$ P(n)' = \prod_{k=1}^{n-1} \left(1 - \frac{k}{365}\right) $$
&lt;p>したがって、求める「少なくとも2人が同じ誕生日である確率 $P(n)$」は次のようになります。&lt;/p>
$$ P(n) = 1 - \prod_{k=1}^{n-1} \left(1 - \frac{k}{365}\right) $$
&lt;p>この式に人数 $n$ を代入していくと、驚くべきスピードで確率が上昇することが分かります。&lt;/p>
&lt;ul>
&lt;li>$n = 10$ のとき、確率は約 &lt;strong>11.7%&lt;/strong>&lt;/li>
&lt;li>$n = 23$ のとき、確率は約 &lt;strong>50.7%&lt;/strong> （ここで50%を超えます！）&lt;/li>
&lt;li>$n = 40$ のとき、確率は約 &lt;strong>89.1%&lt;/strong>&lt;/li>
&lt;li>$n = 70$ のとき、確率は約 &lt;strong>99.9%&lt;/strong>&lt;/li>
&lt;/ul>
&lt;div class="mermaid">pie title "23人集まった時の確率"
"同じ誕生日のペアがいる (50.7%)" : 50.7
"全員バラバラ (49.3%)" : 49.3&lt;/div>
&lt;hr>
&lt;h2 id="4-テイラー展開による近似計算">4. テイラー展開による近似計算
&lt;/h2>&lt;p>掛け算を23回も手計算するのは大変なので、数学的な近似式を使ってもう少し直感的に理解してみましょう。&lt;/p>
&lt;p>指数関数 $e^{-x}$ のテイラー展開を考えます。$x$ が十分に小さいとき、以下の近似が成り立ちます。
&lt;/p>
$$ e^{-x} \approx 1 - x $$
&lt;p>先ほどの各項 $\left(1 - \frac{k}{365}\right)$ にこれを適用すると、
&lt;/p>
$$ 1 - \frac{k}{365} \approx e^{-\frac{k}{365}} $$
&lt;p>これをすべて掛け合わせる（指数法則により足し算になる）と、
&lt;/p>
$$ P(n)' \approx e^{-\frac{1}{365}} \times e^{-\frac{2}{365}} \times \dots \times e^{-\frac{n-1}{365}} $$
$$ P(n)' \approx \exp\left(-\sum_{k=1}^{n-1} \frac{k}{365}\right) $$
&lt;p>1から $n-1$ までの和は $\frac{n(n-1)}{2}$ （つまり、組み合わせの数 ${}_n C_2$）ですから、
&lt;/p>
$$ P(n)' \approx \exp\left(-\frac{n(n-1)}{2 \times 365}\right) $$
&lt;p>この式において、確率が 50% ($0.5$) になるときの $n$ を求めます。
&lt;/p>
$$ 0.5 = e^{-\frac{n(n-1)}{730}} $$
&lt;p>
両辺の自然対数をとります（$\ln 0.5 \approx -0.693$）。
&lt;/p>
$$ -0.693 = -\frac{n(n-1)}{730} $$
$$ n(n-1) = 0.693 \times 730 \approx 505.89 $$
&lt;p>$n^2 \approx 506$ と近似すると、$n = \sqrt{506} \approx 22.49$
見事に &lt;strong>$n \approx 23$&lt;/strong> という答えが導き出されました！&lt;/p>
&lt;hr>
&lt;h2 id="5-日常生活への応用とハッシュ衝突">5. 日常生活への応用と「ハッシュ衝突」
&lt;/h2>&lt;p>このパラドックスは単なる宴会のネタではありません。現代のIT社会を支える&lt;strong>暗号理論と情報セキュリティ&lt;/strong>において極めて重要な役割を果たしています。&lt;/p>
&lt;p>コンピュータシステムでは、パスワードやファイルの同一性を素早く確認するために「ハッシュ関数」という仕組みを使います。ハッシュ関数は、どんなデータを入れても一定の長さのランダムな文字列（ハッシュ値）を返します。
しかし、このハッシュ値が偶然同じになってしまう現象を**「ハッシュ衝突（Hash Collision）」**と呼びます。&lt;/p>
&lt;p>ハッシュ衝突は、まさにバースデイパラドックスと同じ原理で発生します。
「ハッシュ値の種類が天文学的な数だから、衝突なんて滅多に起きないだろう」という人間の直感に反して、攻撃者が大量のデータを無作為に生成して「どれかとどれかが一致する（誕生日が被る）ペア」を見つけることは、想像以上に簡単なのです。&lt;/p>
&lt;p>これを**「誕生日攻撃（Birthday Attack）」**と呼びます。
セキュリティシステムを設計するエンジニアは、この「直感よりもはるかに早く衝突が起きる」という数学的事実を前提として、ハッシュ値の長さを非常に長く設定し、安全性を担保しています。&lt;/p>
&lt;h2 id="6-まとめ人間の直感の限界">6. まとめ：人間の直感の限界
&lt;/h2>&lt;p>バースデイパラドックスは、&lt;strong>「指数関数的な増加」や「組み合わせの爆発」に対する人間の直感がいかに脆弱であるか&lt;/strong>を示す完璧な例です。&lt;/p>
&lt;p>私たちは直線的な（足し算的な）増加には強いですが、ペアの数が $n^2$ のペースで爆発的に増える現象を脳内でシミュレーションすることができません。
「365という大きな数字に比べて、23という数字は小さすぎる」という直感の裏で、23人が作り出す**「253通りの見えない糸（ペア）」**が張り巡らされているのです。&lt;/p>
&lt;p>次に人が集まる場所に行ったときは、目に見える「人数」だけでなく、その間に無数に存在する「組み合わせの糸」を想像してみてください。世界の見え方が少しだけ数学的に変わるはずです。&lt;/p></description></item></channel></rss>