Парадокс дня рождения: почему 23 человек хватит для совпадения

Возьмите любой класс из 23 школьников. Спросите учителя: «Спорим, у двоих ребят в этом классе совпадает день рождения?» Учитель почти наверняка скажет — «вряд ли, ведь в году 365 дней, а нас всего 23, шанс смешной». И проиграет спор: вероятность совпадения здесь больше 50%. Это и есть знаменитый парадокс дня рождения.

Парадокс не в том, что математика «обманывает» — она работает железно. Парадокс в том, как сильно интуиция расходится с расчётом. И когда вы поймёте почему, перед вами откроется целый класс задач: от криптографии до распределения серверов и поиска коллизий в хеш-функциях.

Класс из 23 школьников: у двух из них совпадает день рождения
В классе из 23 ребят с вероятностью 50,7% найдётся пара с одинаковым днём рождения

Короткий ответ

В группе из 23 человек вероятность того, что у каких-то двоих совпадает день рождения, равна ≈ 50,7%. При 41 человеке вероятность уже 90%, а при 70 — 99,9%. И только при 366 людях совпадение становится гарантированным (по принципу Дирихле).

Удивительный факт. Сборная любой страны на чемпионате мира по футболу — это ровно 23 игрока. Если проверить любой матч, у которого мы знаем составы команд, в большинстве сборных у двух игроков действительно совпадает день рождения. Журналисты регулярно это перепроверяют — и парадокс держится.

Где здесь подвох: интуиция против математики

Когда мы слышим «23 из 365», мозг считает: «Да это же 6%. Откуда тут половина?». Ловушка — в том, что мозг ищет совпадение с собой. Если бы вопрос был «у кого-то в классе есть твой день рождения?» — ответ действительно был бы скромный. Но в задаче нас интересует любая пара: первый со вторым, первый с третьим, второй с третьим — и так далее.

Сосчитаем пары. В группе из 5 человек их уже 10. В группе из 8 — 28. А в классе из 23 — целых 253 пары. Каждая пара получает свой шанс «выстрелить» совпадением. Поэтому общий шанс хотя бы одного совпадения растёт быстро.

Сколько пар в группе: 5 человек = 10 пар, 8 человек = 28 пар, 23 человека = 253 пары
Число пар растёт квадратично — отсюда и парадокс

Пример из жизни: спор на школьной перемене

Представьте: вы на перемене. В классе 25 человек. Вы говорите однокласснице: «Спорим на шоколадку, что у кого-то в классе совпадает день рождения?». Она думает: «25 против 365? Никак не больше 7%». А вы, помня про парадокс, знаете: шанс выиграть спор — около 57%.

Если потом обойти весь класс с журналом дней рождения и найти совпадение — победа. И вы получите шоколадку не потому, что вам повезло, а потому что вы заранее знали правильную математику. Учительница биологии, кстати, может спорить с вами и в свою пользу — против учеников среднего звена, где только начали проходить дроби. Эффект работает в обе стороны.

Как считается вероятность: метод «через противоположное»

Считать «в лоб» — перебирать все возможные совпадения — невозможно. Но есть красивый трюк: посчитать обратную вероятность — что НИ У КОГО не совпадает — и вычесть её из единицы.

Шаг за шагом, считая, что год невисокосный (365 дней), и предполагая, что дни рождения распределены равномерно (это упрощение, но оно почти не меняет ответ):

  • У первого человека день рождения может быть любым — 365 вариантов из 365.
  • У второго, чтобы не совпало с первым, остаётся 364 варианта из 365.
  • У третьего — 363 из 365.
  • У 23-го — 343 из 365.

Перемножаем все эти доли — получаем вероятность отсутствия совпадений:

P(нет совпадений) = (365/365) · (364/365) · (363/365) · … · (343/365) ≈ 0,4927

А значит, вероятность того, что хоть какие-то двое совпадут:

P(совпадение) = 1 − 0,4927 ≈ 0,5073, то есть 50,73%

Вот и всё. 23 человека — и больше половины. Если строить эту функцию для разных N, получится крутая S-образная кривая, которая стремится к 100% намного быстрее, чем подсказывает интуиция.

График вероятности совпадения дней рождения: 23 человека — 50,7%, 41 — 90%, 70 — 99,9%
Зависимость вероятности от размера группы — кривая взлетает уже к 30 людям

Три способа понять парадокс

Способ 1. Грубая оценка через число пар

Каждая пара имеет шанс совпасть 1/365. В группе из 23 человек 253 пары. Если бы пары были независимы (на самом деле почти независимы), ожидаемое число совпадений было бы 253 · 1/365 ≈ 0,69. Это уже близко к единице, поэтому шанс хотя бы одного совпадения становится около половины. Грубая оценка дала примерно правильную интуицию за две строки.

Способ 2. Точная формула

Метод выше — точный. В общей форме:

P(N) = 1 − 365! / ((365 − N)! · 365N)

Эта же формула в виде произведения, удобная для подсчёта в калькуляторе или на бумаге:

P(N) = 1 − (365/365) · (364/365) · … · ((365 − N + 1)/365)

Способ 3. Симуляция (метод Монте-Карло)

Если математика кажется абстрактной — её можно «потрогать» на программе. Возьмите Python:

import random
hits = 0
for _ in range(100_000):
    bdays = [random.randint(1, 365) for _ in range(23)]
    if len(set(bdays)) < 23:
        hits += 1
print(hits / 100_000)  # ≈ 0.507

Сто тысяч экспериментов — и вы получите 0,506–0,508. Идеальное совпадение с теорией. Если у вас в школе ведут информатику с Python, это — отличная задача на 15 минут урока.

Пример из жизни: атаки на пароли и хеши

Парадокс дня рождения — не просто фокус. Он лежит в основе целого класса криптографических атак, которые так и называются — «атака дня рождения».

Когда вы скачиваете программу, к ней часто прикладывают «отпечаток» — хеш-сумму. Хеш-функция превращает любой файл в короткий код длины, скажем, 256 бит. Чтобы взломщик мог подменить файл, не меняя хеша, ему нужно найти коллизию — два разных файла с одинаковым хешем.

Наивно кажется: вариантов хешей 2256, перебрать их невозможно. Но взломщик и не перебирает их «в лоб» — он использует парадокс. Если сгенерировать примерно 2128 разных файлов, среди их хешей с вероятностью около 50% найдётся пара, дающая один и тот же отпечаток. Это та же самая S-кривая, только вместо 365 дней — 2256 возможных хешей. Поэтому криптографы говорят: «реальная стойкость хеша — это половина его длины в битах». Маленький парадокс с днём рождения буквально определяет, какой длины должны быть пароли и подписи в наших мессенджерах.

Календарь и людей раскидывают по дням года: совпадение дат
Если 365 «ячеек» заменить на 2¹²⁸ — получится та же задача из криптографии

Попробуй сам

Три задачи разной сложности. Сначала прикиньте сами, потом откройте решение.

Задача 1. Сколько человек должно быть в группе, чтобы вероятность совпадения дней рождения превышала 90%?

Решение. Нужно подобрать наименьшее N, при котором (365/365)·(364/365)·…·((365−N+1)/365) < 0,1. Расчёт даёт N = 41: при 41 человеке вероятность совпадения ≈ 90,3%, при 40 — 89,1%. Ответ: 41 человек.

Задача 2. На вечеринке 60 человек. Какова вероятность, что хотя бы у двоих день рождения попадает в первую неделю января (1–7 января)?

Решение. Это уже не «классический» парадокс — нас интересует попадание в фиксированный отрезок из 7 дней. Шанс одного человека родиться в эту неделю: p = 7/365 ≈ 0,01918. Шанс что НИКТО из 60 не попал: (1 − 7/365)60 ≈ 0,313. Шанс, что попало хотя бы двое — нужно вычесть случаи «никто» и «ровно один». P(никто) ≈ 0,313, P(ровно один) ≈ 60·(7/365)·(358/365)59 ≈ 0,376. Ответ: 1 − 0,313 − 0,376 ≈ 0,31, то есть 31%.

Задача 3. Если планета Марс имеет год в 687 земных дней, сколько колонистов должно жить на марсианской базе, чтобы вероятность совпадения «марсианских дней рождения» превысила 50%?

Решение. Формула та же, только 365 заменим на 687: P(N) = 1 − (687/687)·(686/687)·…·((687−N+1)/687). Численный подбор даёт N = 32: при 31 колонистах вероятность ≈ 49,1%, при 32 — ≈ 51,5%. Ответ: 32 колониста. Запомните закономерность: для года из D дней «магическое» N ≈ √(2 · D · ln 2) ≈ 1,177 · √D. Для 687 это 30,9 — округляя вверх, 32. Та же формула предсказывает и 23 для Земли.

Кто это придумал

Парадокс впервые сформулировал австрийский математик и философ Рихард фон Мизес в 1939 году. Он работал в области теории вероятностей и статистической механики и любил иллюстрировать неочевидные результаты простыми житейскими историями.

Широкую популярность задача получила благодаря английскому писателю-математику Уоррену Уиверу и публикациям Мартина Гарднера в журнале Scientific American в 1950–60-х. С тех пор «парадокс дня рождения» стал классическим примером того, как комбинаторика побеждает интуицию. Его решают первокурсники, его обсуждают в лекциях по криптографии, его проверяют на спортивных командах журналисты.

Удивительный финал

На самом деле, парадокс дня рождения — это лишь частный случай гораздо более общего явления: квадратного закона коллизий. Если у вас N «ячеек» и вы случайно бросаете в них объекты, первое совпадение наступает примерно после √N бросков, а не после N/2.

Этот закон управляет:

  • совпадениями в лотерее «Спортлото» гораздо чаще, чем кажется;
  • тем, как браузер выбирает уникальные ID для cookie;
  • сколько уникальных IP-адресов нужно дата-центру;
  • почему серверам не хватает миллионов идентификаторов сессий — нужны миллиарды.

Маленькая школьная задачка про день рождения — на самом деле фундаментальный закон цифрового мира. И в следующий раз, когда вы окажетесь в комнате с 23 людьми, попробуйте: спросите про даты. Вероятность услышать «эй, у меня тоже!» — больше половины.

Часто задаваемые вопросы

Действительно ли в группе из 23 человек больше 50% шанс совпадения?

Да, точное значение — 50,73%. Это математический факт, проверяемый прямой формулой и легко подтверждаемый компьютерной симуляцией.

Почему интуиция так сильно ошибается?

Мозг подменяет вопрос: вместо «совпадение у любой пары» мы оцениваем «совпадение со мной». В первой задаче количество пар растёт квадратично, и на 23 людях их 253. Во второй задаче с одним сравнением шанс действительно остаётся скромным.

Учитываются ли високосные годы?

В классической постановке нет — для упрощения берут 365 дней. Если включить 29 февраля и неравномерное распределение рождаемости (в августе и сентябре рождается чуть больше людей), вероятность совпадения для 23 человек чуть выше — около 50,9%. Парадокс только усиливается.

Сколько людей нужно, чтобы совпадение было гарантированным?

366 — по принципу Дирихле. При 366 людях у нас больше «голубей», чем «клеток», поэтому хотя бы две даты совпадут наверняка. Но при 70 людях вероятность уже 99,9% — на практике совпадение почти неизбежно.

Где парадокс применяется в реальной жизни?

В криптографии (атаки на хеш-функции и электронные подписи), в сетевых протоколах (генерация уникальных идентификаторов), в биоинформатике (поиск совпадений последовательностей) и в распределённых базах данных — везде, где нужно оценить риск случайных коллизий.

Об авторе

STEMskills — образовательный проект о математике и точных науках. Материалы готовит редакция проекта, проверяют эксперты с профильным образованием.

Оставьте комментарий