Парадокс дней рождения

Сколько нужно людей, чтобы у двоих совпал день рождения с шансом больше половины? Ответ удивит: всего 23.

Парадокс дней рождения — контринтуитивный факт: уже в группе из 23 человек вероятность совпадения дней рождения превышает 50%.

Интуиция кричит: дней в году 365, значит, нужны сотни людей. Но это ловушка — мы сравниваем не «себя со всеми», а «всех со всеми». Число пар растёт квадратично, и совпадение становится вероятным неожиданно быстро.

Считаем вероятность

Проще считать вероятность отсутствия совпадений, а потом вычесть из единицы. Чтобы у всех $n$ человек дни рождения были разными:

$$P(\text{все разные}) = \frac{365}{365}\cdot\frac{364}{365}\cdot\frac{363}{365}\cdots\frac{365-n+1}{365}.$$

Тогда вероятность хотя бы одного совпадения равна $1 - P(\text{все разные})$. Каждый следующий человек должен «не попасть» в уже занятые дни, и с ростом группы это становится всё труднее.

Проверяем в коде

def prob_shared(n):
    p_all_different = 1.0
    for k in range(n):
        p_all_different *= (365 - k) / 365
    return 1 - p_all_different

for n in [10, 23, 30, 50, 70]:
    print(f"{n:>2} человек: P(совпадение) = {prob_shared(n) * 100:.1f}%")

Вывод:

10 человек: P(совпадение) = 11.7%
23 человек: P(совпадение) = 50.7%
30 человек: P(совпадение) = 70.6%
50 человек: P(совпадение) = 97.0%
70 человек: P(совпадение) = 99.9%

Как работает под капотом

Ключ к разгадке — число пар. В группе из $n$ человек пар не $n$, а $\binom{n}{2} = \frac{n(n-1)}{2}$. Для 23 человек это уже $253$ пары — каждая может дать совпадение. Поэтому вероятность растёт куда быстрее, чем подсказывает наивная интуиция «один против 365». Произведение в коде последовательно умножает шансы «не совпасть»: первый человек свободен (365/365), второй должен избежать одного дня (364/365), третий — двух (363/365) и так далее. К 23-му множителю произведение падает ниже 0,5, и вероятность совпадения переваливает за половину.

Частые ошибки

Парадокс не про «совпадение с конкретным человеком» (для этого правда нужно ~253 человека для 50%), а про «хоть какое-то совпадение в группе». Не считайте 365/2 ≈ 183 ответом — квадратичный рост пар всё меняет. И в модели мы игнорируем 29 февраля и неравномерность рождений, что почти не влияет на результат.

Итог

  • В группе из 23 человек шанс совпадения дней рождения уже больше 50%.
  • Считаем через вероятность «все дни разные» и вычитаем из 1.
  • Причина — квадратичный рост числа пар $\binom{n}{2}$.
  • Парадокс — про любую пару в группе, а не про конкретного человека.
Проверьте себя
1. Начиная с какого числа людей вероятность совпадения дней рождения превышает 50%?
A183
B100
C23
D50
2. Почему совпадение становится вероятным так быстро?
AДней в году мало
BЧисло пар людей растёт квадратично как $\binom{n}{2}$
CЛюди рождаются неравномерно
DИз-за високосного года
3. Как удобнее всего вычислять вероятность совпадения?
AПрямым перебором всех пар
BЧерез вероятность того, что все дни разные, и вычитание её из единицы
CДелением 365 на $n$
DНикак, только опытом