誕生日のパラドックス

同義語:誕生日問題birthday paradoxbirthday problem

概要

誕生日のパラドックス(birthday paradox)とは、1 年を 2 月 29 日を除く 365 日とし、各人の誕生日がこの 365 日に等確率かつ互いに独立に決まるとき、23 人いれば誕生日が同じ 2 人がいる確率が $1/2$ を超える($0.5072\ldots$)という事実である。22 人では $0.4756\ldots$ で、23 人が最小である。$n$ 人全員の誕生日が異なる確率は $\prod_{k=0}^{n-1}(1-k/365)$ で、$1-x\leq e^{-x}$ から $e^{-n(n-1)/730}$ 以下になる。23 人から 2 人を選ぶ組が 253 組あることが一致を起こりやすくしており、一般に $N$ 通りの値では $\sqrt N$ 程度の個数で一致が起こりやすくなる。

$$\newcommand{C}[0]{\mathbb{C}} \newcommand{N}[0]{\mathbb{N}} \newcommand{Q}[0]{\mathbb{Q}} \newcommand{R}[0]{\mathbb{R}} \newcommand{Z}[0]{\mathbb{Z}} $$

前提知識: 確率空間, 積の法則, 余事象

定義

1 年を 2 月 29 日を除く 365 日とし、各人の誕生日はこの 365 日のどれかに等しい確率で、互いに無関係に(独立性(確率論))決まるとする。このとき、23 人の集まりの中に誕生日が同じ 2 人がいる確率は $0.5072\ldots$ で、半分を超える。22 人では $0.4756\ldots$ で半分に届かず、23 人が半分を超える最小の人数である。70 人になると $0.9991\ldots$ で、ほぼ確実に誰かの誕生日が一致する。365 日に対して 23 人は少なすぎるように感じられるが、23 人から 2 人を選ぶ組は $\binom{23}{2}=253$ 組あり、どの組が一致してもよいので、一致の機会は人数よりずっと多い。直感と計算の食い違いが大きいことから、この事実は誕生日のパラドックスと呼ばれる。論理的な矛盾があるわけではない。
上の前提(365 日が等確率、2 月 29 日を除く、各人の誕生日は独立)を数学的に表すと次のようになる。$N$ 日を一般にして述べる。

誕生日問題の確率モデル

正の整数 $N,n$ に対し、$n$ 人の誕生日の並び全体
$$ \Omega:=\{1,2,\dots,N\}^n $$
を標本空間とし、各事象 $E\subset\Omega$ の確率を $P(E):=|E|/|\Omega|=|E|/N^n$ と定める(一様な確率空間)。$\omega=(\omega_1,\dots,\omega_n)\in\Omega$ の $\omega_i$ は $i$ 番目の人の誕生日を表す。$n$ 人の誕生日がすべて異なる事象を
$$ D:=\{\omega\in\Omega\mid i\neq j\text{ ならば }\omega_i\neq\omega_j\} $$
とし、その余事象 $C:=\Omega\setminus D$(ある 2 人の誕生日が一致する事象)の確率 $P(C)$ を求める問題を誕生日問題(birthday problem)という。$N=365$ で $P(C)>1/2$ となる最小の $n$ が $23$ であるという事実を誕生日のパラドックス(birthday paradox)という。

一様な確率で $\Omega$ の各元の確率を $1/N^n$ とすることは、各人の誕生日がそれぞれ $N$ 日に等確率に分布し、しかも $n$ 人の誕生日が互いに独立であることと同じである。実際、$P(\omega_1=s_1,\dots,\omega_n=s_n)=1/N^n=\prod_{i=1}^n(1/N)$ なので、積集合上の一様分布は各成分が一様かつ互いに独立であることと同値になる(一様な確率空間そのものの定義は KT17 §10.1 Example 10.3、Lev §3.7 Definition 3.7.3。この同値の形は Sho08 Theorem 8.28 の証明(p. 247)にもある)。本記事の $N=365$ の数値はすべてこの前提のもとでのものである。

直感

一致の確率を大きくしているのは、比べる組の数である。$n$ 人から 2 人を選ぶ組は $\binom n2=n(n-1)/2$ 組あり、各組の 2 人の誕生日が一致する確率は $1/N$ である。一致する組の個数の期待値は $\binom n2/N$ であり(prop-birthday-problem-expected-pairs)、$n=23$、$N=365$ では $253/365=0.693\ldots$ になる。組の数は人数の 2 乗に比例して増えるので、一致の確率が目立ってくるのは $n^2$ が $N$ と同じくらいになったとき、すなわち $n$ が $\sqrt N$ 程度のときである(cor-birthday-problem-square-root)。$\sqrt{365}=19.1\ldots$ である。

例と反例

人数と一致の確率

$N=365$ のとき、$n$ 人の中に誕生日が一致する 2 人がいる確率 $P(C)$ は次のとおりである(thm-birthday-problem-formula の式を計算した値。小数第 5 位を切り捨て)。

人数 $n$102022233041505770
$P(C)$0.11690.41140.47560.50720.70630.90310.97030.99010.9991

$P(C)$ が $0.9$ を超える最小の人数は $41$、$0.99$ を超える最小の人数は $57$ である。30 人の教室では約 7 割の確率で誕生日の一致がある(Lev §3.7 の導入の問題、p. 274–275)。

自分と同じ誕生日の人がいる確率

23 人の中に「誕生日が一致する 2 人がいる」ことと、「自分と誕生日が同じ人がいる」ことは別の事象である。自分以外の $m$ 人のうち誰かの誕生日が自分の誕生日と一致する確率は、余事象($m$ 人全員が自分の誕生日以外の 364 日のどれか)を考えて
$$ 1-\Bigl(\frac{364}{365}\Bigr)^m $$
である。$m=22$ では $0.0585\ldots$ にすぎず、これが $1/2$ を超える最小の $m$ は $253$ である($m=252$ で $0.4991\ldots$、$m=253$ で $0.5004\ldots$)。自分を含めて 254 人が必要であり、特定の 1 人との一致を考えると、比べる組は $m$ 組しかないので、23 人の場合の 253 組と比べてずっと少ない。

確実に一致する人数との比較

このモデルでは誕生日は 365 通りしかないので、366 人いれば必ず誕生日が一致する 2 人がいる(鳩の巣原理。2 月 29 日を含めた 366 通りで考えると 367 人になる。鳩の巣原理 の記事の例「誕生日と生まれ月」)。確率 $1$ で一致させるには 366 人が必要だが、確率 $1/2$ を超えるだけなら 23 人で足りる。

反例:独立でない集団

双子の兄弟を含む 23 人の集まりでは、誕生日が一致する 2 人が確実にいる(同じ日に生まれた双子の場合)。このとき各人の誕生日は 365 日に等確率に分布するという性質を満たしうるが、双子の 2 人の誕生日が互いに独立であるという性質を満たさない。したがって「各人の誕生日が等確率ならば $P(C)$ は thm-birthday-problem-formula の式で与えられる」という主張は、独立性の仮定を外すと成り立たない。def-birthday-problem の一様な確率モデルは等確率と独立性の両方を含んでいる。

性質

以下、def-birthday-problem の記号を使う。

確率の式

全員の誕生日が異なる確率

すべての正の整数 $N,n$ について
$$ P(D)=\prod_{k=0}^{n-1}\Bigl(1-\frac kN\Bigr)=\frac{N(N-1)(N-2)\cdots(N-n+1)}{N^n},\qquad P(C)=1-P(D) $$
である。特に $n>N$ なら $P(D)=0$、$P(C)=1$ である。

重複のない並びを数える

$D$ は、$n$ 個の成分がすべて異なる並び $(\omega_1,\dots,\omega_n)$ の集合である。$n\leq N$ のとき、$\omega_1$ の選び方は $N$ 通り、$\omega_1$ を決めたとき $\omega_2$ の選び方は $\omega_1$ 以外の $N-1$ 通り、…、$\omega_1,\dots,\omega_{n-1}$ を決めたとき $\omega_n$ の選び方は $N-n+1$ 通りなので、積の法則により $|D|=N(N-1)\cdots(N-n+1)$ である。$|\Omega|=N^n$ で割ると最初の式を得る。$n>N$ のときは、$N$ 個の値しかとらない $n$ 個の成分のうち 2 つは一致するので(鳩の巣原理)$D=\emptyset$ であり、右辺の積も $k=N$ の因子 $1-N/N=0$ を含むので $0$ である。$C$ は $D$ の余事象なので $P(C)=1-P(D)$ である。

$N=365$、$n=23$ では $P(D)=\frac{365\cdot364\cdots343}{365^{23}}=0.4927\ldots$、$P(C)=0.5072\ldots$ である。同じ計算は Lev §3.7 の導入の問題(p. 275、30 人の場合)と追加演習 5(p. 289、確率が 50% になる人数)で扱われている。

指数関数による評価

積 $\prod(1-k/N)$ の大きさは、$1-x$ を指数関数 $e^{-x}$ と比べると見通せる。

指数関数による上からの評価

すべての実数 $x$ について $1-x\leq e^{-x}$ であり、等号は $x=0$ のときに限る。

差の最小値

$f(x)=e^{-x}-1+x$ とおくと $f'(x)=1-e^{-x}$ は $x<0$ で負、$x>0$ で正なので、$f$ は $x=0$ で最小値 $f(0)=0$ をとり、$x\neq0$ では $f(x)>0$ である。

この不等式は Sho08 の付録 §A1 (i)(p. 561)に $1+x\leq e^x$ の形で挙げられている。

指数関数による下からの評価

$0\leq x\leq\frac12$ ならば $1-x\geq e^{-x-x^2}$ である。

対数をとって微分する

$0\leq x\leq\frac12$ で $g(x)=\log(1-x)+x+x^2$ とおく($\log$ は自然対数関数)。$g(0)=0$ であり、
$$ g'(x)=-\frac1{1-x}+1+2x=\frac{x(1-2x)}{1-x}\geq0 $$
なので $g(x)\geq0$、すなわち $\log(1-x)\geq-x-x^2$ である。両辺の指数関数をとればよい。

全員の誕生日が異なる確率の評価

正の整数 $N,n$ について
$$ P(D)\leq\exp\Bigl(-\frac{n(n-1)}{2N}\Bigr) $$
である。さらに $n-1\leq N/2$ ならば
$$ P(D)\geq\exp\Bigl(-\frac{n(n-1)}{2N}-\frac{(n-1)n(2n-1)}{6N^2}\Bigr) $$
である。

各因子を評価して掛ける

$n>N$ なら $P(D)=0$ で上からの評価は明らかであり、このとき $n-1\geq N>N/2$ なので下からの評価は主張していない。$n\leq N$ なら thm-birthday-problem-formula の積の因子 $1-k/N$($0\leq k\leq n-1$)はすべて正であり、lem-birthday-problem-exp-upper より $1-k/N\leq e^{-k/N}$ である。正の数の不等式は掛け合わせてよいので
$$ P(D)\leq\exp\Bigl(-\frac1N\sum_{k=0}^{n-1}k\Bigr)=\exp\Bigl(-\frac{n(n-1)}{2N}\Bigr) $$
である。$n-1\leq N/2$ なら $0\leq k/N\leq\frac12$ なので、lem-birthday-problem-exp-lower より $1-k/N\geq e^{-k/N-k^2/N^2}$ であり、$\sum_{k=0}^{n-1}k^2=\frac{(n-1)n(2n-1)}{6}$ を使って掛け合わせれば下からの評価を得る。

上からの評価は Sho08 Theorem 8.28(p. 247。$m$ 個の箱に $n$ 個の玉を独立に一様に投げたときの衝突の確率の下界として述べられている)と同じものである。

23人が最小であること

$N=365$ とする。$n$ 人の中に誕生日が一致する 2 人がいる確率 $P(C)$ が $1/2$ を超えるのは、$n\geq23$ のとき、かつそのときに限る。

22人と23人を指数関数で挟む

人数を明示して $P_n(D)$ と書く。thm-birthday-problem-formula より $P_{n+1}(D)=P_n(D)\cdot(1-n/N)$ で、$0\leq1-n/N\leq1$($n\leq N$)または $P_n(D)=0$($n>N$)なので、$P_n(D)$ は $n$ について単調非増加である。したがって $P_{22}(D)>1/2$ と $P_{23}(D)<1/2$ を示せばよい。以下 $\log2=0.6931471\ldots$ を使う。
$n=23$:thm-birthday-problem-bounds より $P_{23}(D)\leq\exp(-253/365)$ であり、$253/365=0.6931506\ldots>\log2$ なので $P_{23}(D)< e^{-\log2}=1/2$ である。
$n=22$:$n-1=21\leq365/2$ なので下からの評価が使え、$\frac{22\cdot21}{2\cdot365}+\frac{21\cdot22\cdot43}{6\cdot365^2}=\frac{231}{365}+\frac{3311}{133225}=0.6577\ldots<\log2$ だから、$P_{22}(D)>e^{-\log2}=1/2$ である。
よって $n\leq22$ では $P(D)\geq P_{22}(D)>1/2$、すなわち $P(C)<1/2$ であり、$n\geq23$ では $P(D)\leq P_{23}(D)<1/2$、すなわち $P(C)>1/2$ である。

$n=23$ の上からの評価は $253/365$ と $\log2$ の差が $0.0000035$ 程度しかないきわどいものだが、それでも成り立つ。もちろん $P_{22}(D)=0.5243\ldots$、$P_{23}(D)=0.4927\ldots$ を有理数として正確に計算しても同じ結論が得られる(有限回の計算)。上の証明は、その計算を指数関数の評価で置き換えたものである。

平方根の目安

一致の確率の上界

正の整数 $N,n$ について $P(C)\leq\dfrac{n(n-1)}{2N}$ である。

組ごとの一致を足し合わせる

$1\leq i< j\leq n$ について $E_{ij}:=\{\omega\in\Omega\mid\omega_i=\omega_j\}$ とおく。$E_{ij}$ の元は、$\omega_i=\omega_j$ の共通の値($N$ 通り)と残りの $n-2$ 個の成分($N^{n-2}$ 通り)で決まるので $|E_{ij}|=N^{n-1}$、$P(E_{ij})=1/N$ である。$C=\bigcup_{i< j}E_{ij}$ であり、和集合の元の個数は各集合の元の個数の和以下なので
$$ P(C)\leq\sum_{i< j}P(E_{ij})=\binom n2\frac1N=\frac{n(n-1)}{2N} $$
である(Sho08 Theorem 8.26、p. 246。和集合の確率を和で押さえるこの不等式は Boole の不等式と呼ばれる)。

一致が起こり始める人数

$n(n-1)\leq N$ ならば $P(C)\leq\frac12$ であり、$n(n-1)\geq2N\log2$ ならば $P(C)\geq\frac12$ である。

二つの評価から

前半は prop-birthday-problem-union-bound から直ちに従う。後半は thm-birthday-problem-bounds の上からの評価により $P(D)\leq\exp(-n(n-1)/(2N))\leq e^{-\log2}=\frac12$ となることから従う。

したがって一致の確率が $1/2$ をまたぐ人数は $\sqrt N$ と $\sqrt{2N\log2}+1\approx1.18\sqrt N+1$ の間にある(Sho08 p. 247 の注意)。$N=365$ では $n\leq19$ で $P(C)\leq1/2$($19\cdot18=342\leq365$)、$n\geq23$ で $P(C)\geq1/2$($23\cdot22=506\geq730\log2=505.99\ldots$)である。$N$ が 100 万なら、$n(n-1)\geq2\cdot10^6\log2=1386294.3\ldots$ となる最小の $n$ は $1178$ で、cor-birthday-problem-square-root により 1178 人いれば一致の確率は $1/2$ 以上である(実際に積を計算すると、$1/2$ を超える最小の人数もちょうど $1178$ である)。

一致する組の個数の期待値

$\omega\in\Omega$ に対し、誕生日が一致する 2 人の組 $\{i,j\}$($i< j$、$\omega_i=\omega_j$)の個数を $X(\omega)$ とすると、その期待値は
$$ \frac1{N^n}\sum_{\omega\in\Omega}X(\omega)=\binom n2\frac1N $$
である。

組ごとに数え直す

$\sum_{\omega}X(\omega)$ は、$\omega\in\Omega$ と $\omega_i=\omega_j$ を満たす組 $\{i,j\}$ の対の個数である。組 $\{i,j\}$ ごとに数え直すと、各組について $|E_{ij}|=N^{n-1}$ 個の $\omega$ があるので、合計は $\binom n2N^{n-1}$ である。$N^n$ で割ればよい。

$N=365$、$n=23$ では期待値は $253/365=0.693\ldots$ で、thm-birthday-problem-twenty-three の証明に現れた指数 $253/365$ と同じ数である。期待値が $\log2$ を超えると一致の確率が $1/2$ を超える、というのが上からの評価の意味である。

誕生日が等確率でない場合

実際の誕生日は 365 日に等確率には分布していない。しかし分布の偏りは一致の確率を増やす方向にしか働かない。2 人の場合は次のように示せる。

2人の誕生日が一致する確率

2 人の誕生日が互いに独立に、どちらも $s$ 日目である確率が $p_s$($p_s\geq0$、$p_1+\cdots+p_N=1$)であるように分布するとき、2 人の誕生日が一致する確率 $p_1^2+\cdots+p_N^2$ は $1/N$ 以上であり、$1/N$ に等しいのはすべての $p_s$ が $1/N$ のときに限る。

平均からのずれの2乗

独立性から、2 人とも $s$ 日目である確率は $p_s^2$ であり、一致の確率はそれを $s$ について足した $\sum_sp_s^2$ である。
$$ 0\leq\sum_{s=1}^{N}\Bigl(p_s-\frac1N\Bigr)^2=\sum_sp_s^2-\frac2N\sum_sp_s+\frac N{N^2}=\sum_sp_s^2-\frac1N $$
であり、等号はすべての $s$ で $p_s=1/N$ のときに限る。この計算は Sho08 演習 8.36・8.37(p. 249)の内容である。

一般の人数での偏りの効果

$n$ 人の誕生日が互いに独立に同じ分布 $(p_1,\dots,p_N)$ に従うとき、全員の誕生日が異なる確率は、分布が一様(すべての $p_s=1/N$)のときに最大になる。したがって独立性のもとでは、分布の偏りは一致の確率を増やすだけであり、365 日が等確率という仮定のもとで得た「23 人で $1/2$ を超える」は、偏りのある分布でも成り立つ(Sho08 演習 8.39・8.40、p. 249–250。証明は演習として委ねられている)。一方、独立性を外すと結論は成り立たないことがある(ex-birthday-problem-twins、および Sho08 p. 248 の注意)。

衝突の探索への応用

$N$ 通りの値を一様かつ独立にとる対象を $n$ 個選ぶと、$n$ が $\sqrt N$ 程度で値の一致(衝突)が起こりやすくなる。この考え方は、ハッシュ関数の値の衝突の見積もりや、衝突を探す攻撃(誕生日攻撃)の手間の見積もりに使われる。$N=2^{64}$ 通りの値なら、全部の値を試さなくても $2^{32}$ 個程度で衝突が見つかる($2^{32}$ 個で確率は約 $0.39$、cor-birthday-problem-square-root の条件を満たす約 $1.18\times2^{32}$ 個で $1/2$ 以上になる)。Sho08 §8.6(p. 245–249)は、$n$ 個の玉を $m$ 個の箱に投げる「玉と箱」のモデルとして、衝突の確率と最も多い箱の玉の数を扱っている。

関連項目

参考文献

Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する