0

背景: 多くの人は、23 人の部屋で 2 人が同じ誕生日を共有する確率が 50/50 よりも高いという、いわゆる誕生日の「パラドックス」に精通しています。n 人のより一般的な形式では、同じ誕生日を共有する人が 2 人いない確率は p(n) = 365 です。/ (365^n *(365-n)!)。同様の計算は、ハッシュ空間のサイズ、暗号攻撃などを理解するために使用されます。

動機: 次の質問をする理由は、実際には特定の金融市場の行動を理解することに関連しています。しかし、「誕生日のパラドックス」問題の変種は類推として正確に適合し、さまざまな背景を持つ人々にとってより広い関心を持つ可能性があります. したがって、私の質問は、次のように、より身近な用語で構成されています。

質問: 部屋には合計 60 人がいます。これらのうち、同じ誕生日を共有する人々の 11 (11) PAIRS と、同じ誕生日を持つ 1 つの TRIPLE (つまり 3 人のグループ) があることがわかります。残りの 60 - 2*11 - 3 = 35 人は誕生日が異なります。どの日も同じように誕生日の可能性が高い (つまり、2 月 29 日と考えられる季節的影響を無視する) 母集団を仮定すると、指定された誕生日の分布が与えられた場合、これら 60 人が無作為に選ばれた確率はどれくらいになるでしょうか?

4

1 に答える 1

0

私の計算が正しければ、60 人のグループが 1 つのトリプルと 11 のペアを持つ確率は

       365*1*1          364*1          363*1                354*1    1    353   352         319
60c3 * ------- * 57c2 * ----- * 55c2 * ----- * ... * 37c2 * ----- * --- * --- * --- * ... * ---
        365^3           365^2          365^2                365^2   11!   365   365         365

これは 0.0036% になります。

60c3は と同じ「60 choose 3」を意味することに注意してください60! / (57! * 3!)。また、1/11!ファッジ要因は、任意の順序で並べ替えることができる 11 のペアがあるという事実によるものであることに注意してください。パーセンテージを計算するために使用したコードを以下に示します。あなたはそれをチェックし、正確さのために上記の式をチェックする必要があります. 自己責任。保証は明示または暗示されません。

double result, people, daysleft;

// start with the triplets: 60c3 * 365 / 365^3
result = (60.0 * 59.0 * 58.0) / (6.0 * 365.0 * 365.0);

// now consider the pairs:  Nc2 * daysleft / 365^2
people = 57.0;
daysleft = 364.0;
for ( i = 0; i < 11; i++ )
{
    result *= (people * (people - 1.0) * daysleft) / (2.0 * 365.0 * 365.0);
    people -= 2.0;
    daysleft -= 1.0;
}

// there are 11 factorial ways to rearrange the pairs
for ( i = 11; i > 0; i-- )
    result /= (double)i;

// finish up with the unique birthdays
for ( i = 0; i < 35; i++ )
{
    result *= daysleft / 365.0;
    daysleft -= 1.0;
}

printf( "%lf%%\n", result * 100.0 );
于 2014-07-24T21:10:38.200 に答える