誕生日問題シミュレーター 戻る
確率・統計

誕生日問題シミュレーター

「n人のクラスで同じ誕生日の人が1組以上いる確率」を計算・アニメーションで体感。直感を大きく裏切る確率論の名問題をインタラクティブに探索できます。

人数設定

確率(理論値)

50.7%

モンテカルロ検証

計算結果
50.7
一致確率 (%)
49.3
不一致確率 (%)
確率曲線
誕生日グリッド
確率曲線
理論・主要公式

$$P(\text{一致なし}) = \frac{365}{365}\cdot\frac{364}{365}\cdots\frac{365-n+1}{365}$$

誰も誕生日が一致しない確率(\(n\) 人):各人が異なる日を選ぶ組み合わせの積

$$P(\text{一致あり}) = 1 - \prod_{k=0}^{n-1}\frac{365-k}{365}$$

誕生日問題の解:\(n=23\) で約50%、\(n=57\) で約99%

💬 博士に聞いてみた

🙋
23人でもう50%ですか!?直感的には200人ぐらい必要な気がするんですが、なんでこんなに少ないんですか?
🎓
「特定の1人と他の全員が一致しない確率」じゃなく、「誰でもいいので1組以上一致する確率」だから。23人いると比較できるペアの数は23×22/2=253組。253組あると「どこかで一致する」確率が急上昇するんだ。これがよく言う「組み合わせ爆発」の威力だよ。
🙋
じゃあ計算するときに「全員が異なる確率」から引く、という余事象のやり方をするのはなぜですか?
🎓
「少なくとも1組一致」を直接計算しようとすると、2人が一致・3人が一致・…と全パターンを足す複雑な包除算術が必要になる。でも余事象「全員が違う」は掛け算1本で書けるからはるかに簡単。確率でよく使われるテクニックで、「全パターン - 起きてほしくないパターン」という発想だね。
🙋
これって実際の場面で役に立つことあるんですか?
🎓
情報セキュリティで特に重要。「誕生日攻撃」といってハッシュ関数の衝突を探す手法がこの原理に基づいている。nビットのハッシュ値は 2^n 種類あるけど、ランダムなデータを 2^(n/2) 個集めると衝突が高確率で見つかる。MD5が128ビットでも実質64ビット相当の強度しかないと言われる理由がこれだよ。
🙋
モンテカルロシミュレーションを実行したら理論値とほぼ一致しましたね。これってCAEでも使われますか?
🎓
CAEでは不確かさ定量化(UQ)や確率的有限要素法で使われる。材料強度や荷重のバラツキをランダム変数として扱い、大量シミュレーションで破壊確率を推定するんだ。例えば航空機部品の疲労寿命分布を求めるとき、モンテカルロで10万回のFEM解析を走らせることもある。

❓ よくある質問

何人で確率が99%を超えますか?

57人で99.01%を超えます。グラフを見ると急激な S字カーブを描き、40〜50人で確率が急激に100%に近づきます。

うるう年(366日)や誕生日が均一でない場合は?

このシミュレーターでは「D日から1日をランダムに選ぶ」という均一分布を仮定しています。実際の誕生日は9月・10月が多いなど偏りがあり、偏りがあると同じ誕生日が出る確率はわずかに高くなります(均一分布より確率が大きくなる方向)。

「同じ誕生日」ではなく「同じ誕生日月」だと何人必要?

12か月版の誕生日問題です。月が12種類なので D=12 に設定すると計算できます。このツールで「1年の日数」スライダーを12にすれば確認できます。答えは約5人で50%を超えます。

この問題はなぜ「直感を裏切る」と言われるのですか?

人間は「自分と同じ誕生日の人が必要」と考えがちで、その確率は約1/365≈0.27%と低い。しかし問題は「誰でもいいから」なので、全ペア間の比較が有効になります。この「自分基準」から「全ペア基準」への視点の切り替えが直感と食い違いを生みます。

誕生日問題シミュレーターとは

n人のクラスにおいて、少なくとも1組の誕生日が一致する確率は、全員の誕生日が全て異なる場合の余事象として計算されます。1年を365日と仮定し、各人の誕生日が独立かつ一様に分布するとすれば、n人全員の誕生日が異なる確率は \( \frac{365}{365} \times \frac{364}{365} \times \cdots \times \frac{365-n+1}{365} \) で与えられます。したがって、求める確率 \( P(n) \) は \( P(n) = 1 - \frac{365!}{(365-n)! \cdot 365^n} \) と表現できます。この式はnが23の時点で約0.507となり、直感に反して半数を超えることが知られています。本シミュレーターでは、この確率をnの関数として動的に計算し、各試行における一致の有無をアニメーションで可視化します。また、乱数生成によるモンテカルロ法を用いて、理論値とシミュレーション結果の比較も可能です。これにより、確率論の非直感的な性質を体感的に理解できます。

よくある質問

試行回数を増やすほど確率の収束が安定します。目安として100回程度で大まかな傾向、1000回以上で理論値に近い結果が得られます。処理負荷と精度のバランスを考慮し、初期設定の500回から調整してください。
「自分と同じ誕生日」ではなく「誰かと誰か」の組み合わせで考えるからです。n=23人では253通りのペアが存在し、そのうち1組でも一致する確率が50%を超えます。組み合わせ爆発的な増加が直感との乖離を生みます。
本シミュレーターでは計算を簡略化するため、1年を365日と仮定しています。うるう年を含めると確率がわずかに低下しますが、実用上は無視できる差です。厳密な値が必要な場合は、366日版のカスタム設定をご利用ください。
画面右上の設定パネルで「アニメーション速度」を「高速」に変更するか、「表示間隔」を広げてください。それでも重い場合は試行回数を減らすか、アニメーションをオフにして結果のみ表示するモードをご利用いただけます。

実世界での応用

産業での実際の使用例
自動車業界のトヨタや航空機メーカーのボーイングでは、製品の信頼性試験計画に本問題の考え方が応用されています。例えば、複数のセンサや電子制御ユニットが同時に故障する確率を評価する際、「n個の部品の中に同じ故障パターンが発生する確率」を誕生日問題のロジックでモデル化。これにより、想定外の同時故障リスクを事前に検出し、冗長設計の最適化に活用しています。

研究・教育での活用
統計学や確率論の入門教育において、直感と数学的結果のギャップを体感させる名教材として広く採用されています。例えば、東京大学の教養課程では、本シミュレーターを用いて「23人で確率50%超」という驚きの事実を視覚的に示し、確率思考の重要性を実践的に学ばせています。また、暗号理論の研究では、ハッシュ関数の衝突確率評価の基礎として応用されています。

CAE解析との連携や実務での位置付け
CAEシミュレーションでは、多数の設計パラメータの中から「同じ結果(不良モード)が偶然重なる確率」を評価する際に、誕生日問題の確率モデルが前処理として組み込まれます。具体的には、ANSYSやAbaqusを用いた信頼性解析において、モンテカルロサンプリングの効率化や異常値の検出基準設定に活用。実務では、品質保証部門が「想定外の同時不具合」を予防するためのリスクアセスメントツールとして位置づけられています。

よくある誤解と注意点

「23人いれば同じ誕生日のペアがいる確率は約50%」という結果に驚き、「人数が増えれば確率は比例して上がる」と思いがちですが、実際は確率の上昇は非線形で、40人では約89%、50人では約97%に急上昇します。直線的なイメージで人数を過小評価しないよう注意が必要です。

また、「自分と同じ誕生日の人がいる確率」と「クラス内のどこかに同じ誕生日のペアがいる確率」を混同しがちです。後者はペアの総数(n人ならn×(n-1)/2組)で考えるため、直感よりはるかに高くなります。自分の誕生日に固執せず、あくまで「任意の2人の組み合わせ」で評価することが重要です。

さらに、うるう年(2月29日)の存在を無視した計算である点にも注意が必要です。厳密には確率がわずかに変わりますが、本シミュレーターでは簡略化のため365日で統一しています。実務で厳密な確率が必要な場合は、日数の補正を考慮する必要があります。

誕生日問題 早見表(D=365日)

人数 n一致確率 P(n)比較ペア数 C(n,2)直感との乖離
1011.7%45低い
1525.3%105中程度
2041.1%190高い
2350.7%253「半分以上」で衝撃的
3070.6%435非常に高い
4089.1%780ほぼ確実
5097.0%1225ほぼ確実
5799.0%159699%超え
7099.92%2415ほぼ1