再度挑戦!

いろいろいじくった結果、次の式が求まりました。


 p = \left( \sum_{k=1}^{m}((-1)^{m-k}) \cdot k^n \cdot \frac{m!}{(m-k)!k!} \right)/ m^n ただし n は人数、m は日数(365日)


シミュレートした値とも一致します。1000人の場合 1.712\times10^{-12}、2000人の場合 0.216 となります。


考え方は次のとおり。


例のごとく n が人数、m が日数とします。
まず、全てのありうる誕生日の組み合わせの数は、n 人が m 通りの日付を自由に取れるので、  m^n です。これが分母になります。
一方、分子は、全ての組み合わせ  m^n から ある誕生日の人が存在しないような組み合わせ をすべて除いたものになります。そこで、ある誕生日の人が存在しないような組み合わせ の数を求めるため、場合分けをすることにします。

全ての人の誕生日が同じ場合(K_{1}

364日までは誕生日の人がおらず、残りの1日に集中している状態です。
これは簡単です。すべての誕生日が同じである組み合わせは 365 通り(= m 通り)です。(1月1日から12月31日までの365通り)。


K_{1} = m

誕生日がある2日以下に固まっている場合(K_{2}

この場合、各人が取り得る誕生日は 2 通りとなるので、全部で 2^n 通り。また、その 2 日を 365日 から選ぶ選び方は  {}_{m}\mathrm{C}_{2} = {}_{365}\mathrm{C}_{2} 通りです。
ただし、この中には前の項目の条件が重複して含まれるので、それを除いてやる必要があります。


K_{2} = 2^n \times {}_{m}\mathrm{C}_{2} - K_{1}

誕生日がある3日以下に固まっている場合(K_{3}

ここから先は前項の繰り返しになります。
各人が取り得る誕生日は 3 通りなので全部で 3^n 通り。また、その 3 日を 365日 から選ぶ選び方は  {}_{m}\mathrm{C}_{3} = {}_{365}\mathrm{C}_{3} 通りです。前項の重複を引く必要があるのも同様です。


K_{3} = 3^n \times {}_{m}\mathrm{C}_{3} - K_{2}


これにより、次の一般化ができます。

誕生日があるk日以下に固まっている場合(K_{k}


K_{k} = k^n \times {}_{m}\mathrm{C}_{k} - K_{k-1}


このまま、km-1 まで持って行ってしまいます。

誕生日があるm-1日(=364日)以下に固まっている場合(K_{m-1}


K_{m-1} = (m-1)^{n} \times {}_{m}\mathrm{C}_{m-1} - K_{m-2}


ところで、題意より、すべての組み合わせ m^n とは K_{m} のことにほかなりません。


K_{m} = m^n


両辺から K_{m-1} を引いて、


K_{m} - K_{m-1} = m^n - K_{m-1}


数列 K について展開すると、


K_{m} - K_{m-1} = m^n \times {}_{m}\mathrm{C}_{m} - (m-1)^{n} \times {}_{m}\mathrm{C}_{m-1} + \cdot\cdot\cdot + (-1)^{m-k+1} \times 2^{n} \times {}_{m}\mathrm{C}_{2} + (-1)^{m-k} \times 1^{n} \times {}_{m}\mathrm{C}_{1}


ところで、「365日すべての日に少なくとも一人は誕生日である人が存在する組み合わせ」の数 K_{A} は、「すべての組み合わせの数」から、「誕生日があるm-1日(=364日)以下に固まっている場合」を引けば求まります。すなわち K_{A} = K_{m} - K_{m-1} と書けるわけです。
従って、求めたい「365日すべての日に少なくとも一人は誕生日である人が存在する確率」p は、


 p = \frac{K_A}{K_m} = \frac{K_{m} - K_{m-1}}{K_{m}} = \left( \frac{m^n \times {}_{m}\mathrm{C}_{m} - (m-1)^{n} \times {}_{m}\mathrm{C}_{m-1} + \cdot\cdot\cdot + (-1)^{m-k} \times 1^{n} \times {}_{m}\mathrm{C}_{1} }{m^n} \right)



 = \left( \sum_{k=1}^{m}((-1)^{m-k}) \cdot k^n \cdot {}_{m}\mathrm{C}_{k} \right)/ m^n


 = \left( \sum_{k=1}^{m}((-1)^{m-k}) \cdot k^n \cdot \frac{m!}{(m-k)!k!} \right)/ m^n


で表すことができます。  □