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

На чемпионате мира 2014 года журналисты проверили все 32 сборные. В каждой было ровно 23 игрока, и в 16 из 32, то есть в половине, как минимум два футболиста родились в один день. Никто этого не подстраивал. Просто так работает число 23.
В этом и состоит парадокс дней рождения: в комнате из 23 человек общий день рождения вероятнее, чем его отсутствие. Дней в году 365, а людей всего 23, поэтому утверждение звучит абсурдно, и такая реакция почти всеобщая. Но результат не фокус, не статистическая иллюзия и не игра на мелком шрифте. Это короткое комбинаторное рассуждение, и стоит увидеть, какой именно подсчёт интуиция выполняет вместо правильного, как парадокс растворяется во что-то почти очевидное.
Аккуратная формулировка
Возьмём 23 человека, чьи дни рождения независимы и с равной вероятностью выпадают на любой из 365 дней; 29 февраля пока игнорируем. Утверждение таково:
Вероятность того, что хотя бы у двоих совпадёт день рождения, равна 50.7%, чуть лучше подброшенной монеты.
Важны две детали. Во-первых, речь о совпадении любых двух людей, а не о совпадении с кем-то конкретным. Во-вторых, «общий день рождения» означает один и тот же день года, например 14 марта, а не день и год вместе. Обе детали звучат как мелочи. Одна из них, как мы увидим, и есть весь парадокс.
Доказательство: просто подсчёт
Прямой вопрос, какова вероятность, что кто-то с кем-то совпадёт, неудобно атаковать в лоб: совпадения могут случиться множеством пересекающихся способов. У теории вероятностей есть стандартный ход: вычислить вероятность того, что ничего не произойдёт, и вычесть её из 1. Подробный разбор того, почему этот ход законен, есть в статье интуитивное понимание вероятности.
Считаем возможности: 23 человека образуют 253 пары
Общий день рождения является свойством пары людей. При 23 людях число различных пар равно 23 умножить на 22 и разделить на 2, то есть 253. Каждая отдельная пара совпадает с вероятностью 1/365, это крошечная величина. Но билетов в этой лотерее 253, а не 22 и уж точно не 1. Этот подсчёт и есть сердце всей темы.
Вычисляем вероятность того, что все дни рождения различны
Выстроим людей в ряд и будем добавлять по одному. Первый занимает какой-то день свободно: вероятность 365/365. Второй избегает совпадения, если попадает на любой из 364 оставшихся дней: вероятность 364/365. Третий должен обойти два занятых дня: 363/365. Каждому новому человеку приходится избегать на один день больше, а 23-му нужно обойти 22 занятых дня: 343/365. Поскольку дни рождения независимы, вероятность того, что все 23 различны, равна произведению всех этих дробей.
Перемножаем и переворачиваем
Произведение 365/365 умножить на 364/365, на 363/365 и так далее до 343/365 даёт 0.4927. Это вероятность полного отсутствия совпадений. Значит, вероятность хотя бы одного общего дня рождения равна 1 минус 0.4927, то есть 0.5073, чуть больше половины. При 22 людях то же произведение даёт 47.6%, всё ещё меньше половины. Граница пересекается ровно на 23.
Вот и всё доказательство: пересчитать пары, чтобы увидеть, почему совпадение правдоподобно, а затем перемножить 23 дроби, чтобы узнать, насколько именно. Никакой тяжёлой техники, ничего на веру. Каждый шаг проверяется на калькуляторе.
И кривая продолжает быстро расти. При 30 людях вероятность совпадения равна 70.6%. При 50 она составляет 97.0%. При 70 достигает 99.9%: общий день рождения практически гарантирован, хотя 295 дней года всё ещё никем не заняты.
Где ошибается интуиция
Парадокс дней рождения надёжно обманывает людей, и обманывает одним конкретным, легко диагностируемым способом: они отвечают не на тот вопрос.
Услышав задачу, разум тихо подменяет её версией, где главный герой вы сами. Каковы шансы, что кто-то здесь совпадёт с моим днём рождения? У этого вопроса ответ действительно скромный. В комнате из 23 человек остальных всего 22, каждый совпадает с вами с вероятностью 1/365, и суммарная вероятность, что с вами совпадёт хоть кто-то, около 6%. Будь задача про ваш день рождения, скептики были бы правы.
Но задача про любое совпадение. Вы против каждого из остальных: 22 пары. А ещё второй против третьего, седьмой против девятнадцатого и все прочие комбинации, в которых вас нет вовсе: ещё 231 пара, всего 253. Интуиция считает 22 сравнения, которые видит изнутри, и структурно слепа к 231 паре, в которой не участвует. Парадокс не в том, что вероятность ведёт себя странно. Он в том, что комната из 23 человек содержит в одиннадцать раз больше сравнений, чем переживает любой отдельный человек.
Есть аккуратный способ увидеть масштаб этого разрыва. Чтобы получить 50% шанс совпадения именно с вами, 22 человек совершенно недостаточно: нужно 253 человека помимо вас. Число людей, необходимое для совпадения с одной фиксированной датой, совпадает с числом пар среди 23 человек. Это не случайность, это два вопроса, решаемые одной и той же арифметикой, и оно точно измеряет, насколько постановка «мой день рождения» преуменьшает ситуацию.
Мелкий шрифт, который делает ответ честным
Расчёт предполагал 365 равновероятных дней рождения и отсутствие високосного дня. Оба предположения в реальном мире ложны, поэтому справедливо спросить, переживут ли 50.7% столкновение с реальностью.
Переживут, и реальность даже помогает. Добавление 29 февраля как редкого 366-го дня чуть-чуть сдвигает вероятность вниз, слишком слабо, чтобы сместить порог с 23. Неравномерность дней рождения давит в другую сторону: реальные данные о рождаемости показывают сезонные пики, отдельные месяцы стабильно более многолюдны. Любая такая неравномерность делает коллизии более вероятными, потому что скопление вероятности на популярных днях и есть то, чем коллизии питаются. Равномерная модель является самой трудной ареной для парадокса, и он всё равно преодолевает 50%.
На этой устойчивости стоит задержаться, потому что она противоположна тому, как обычно ведут себя головоломки с привкусом парадокса. Например, задача Монти Холла знаменита чувствительностью к мелкому шрифту: измените, что знает ведущий, и ответ изменится. Парадокс дней рождения его крепкий родственник. Каждое реалистичное отклонение от учебных предположений толкает вероятность вверх, поэтому сюрприз выдерживает любую придирку.
От трюка на вечеринке до взлома хеш-функций
Парадокс дней рождения оправдал бы своё существование и как пари на вечеринке, но у него есть и серьёзная работа. В криптографии он задаёт цену поиска коллизий, и в его честь названа целая стратегия атаки.
Хеш-функция сжимает любой вход в отпечаток фиксированного размера, и безопасность часто держится на том, что никто не найдёт два разных входа с одинаковым отпечатком. Пусть отпечатки занимают 128 бит, то есть возможностей 2 в степени 128, астрономически много. Подобрать вход, попадающий в один конкретный отпечаток, действительно требует порядка 2 в степени 128 попыток, безнадёжно навсегда. Но атакующий, которому нужна хоть какая-то коллизия, любые два совпавших входа, играет в игру дней рождения: генерируй случайные входы, и по правилу квадратного корня коллизия ожидается примерно после 2 в степени 64 попыток. Это и есть атака дней рождения, и 2 в степени 64 число большое, но не безопасное; целеустремлённые атакующие его уже преодолевали.
Иными словами, парадокс срезает эффективную стойкость хеша вдвое, если мерить в битах. Поэтому криптографы, которым нужно 128 бит стойкости к коллизиям, берут хеши с 256-битным выходом: квадратный корень из 2 в степени 256 равен 2 в степени 128, и даже короткий путь через дни рождения остаётся недосягаемым. Закономерность, решающая, сколько людей звать на вечеринку, решает и то, сколько бит защищает ваше соединение с банком, и расчёт в обоих случаях один и тот же.
Проверьте сами, это ничего не стоит
Как и лучшие результаты теории вероятностей, этот дёшево проверить. Подойдёт любая группа примерно из 25 человек: класс, этаж офиса, спортивный состав, список гостей на свадьбе. Спросите у всех дни рождения и ждите совпадения. Одна группа, конечно, ничего не доказывает в обе стороны. Утверждение говорит о 50.7%, а не о достоверности, так что пари проигрывается почти в половине случаев.
Убедительная версия строится на повторении. Спортивные составы для этого идеальны, поэтому чемпионат мира и кочует по статьям о парадоксе дней рождения: сборные из 23 человек являются экспериментом ровно на пороговом размере, заранее собранным и публичным. Проверьте десять сборных, и совпадений стоит ждать примерно в пяти. Или смоделируйте: несколько строк кода, раздающих 23 случайных числа от 1 до 365 и проверяющих повторы, за десять тысяч прогонов лягут в пределах доли процента от 0.507. Аргумент с перемножением 23 дробей делает точное предсказание, мир раз за разом с ним соглашается, и мало есть более быстрых способов почувствовать, как вероятность становится реальной.
Дзен этой истории
Парадокс дней рождения живёт так долго, потому что он идеальная миниатюра общего сбоя мышления. Интуиция оценивает ситуации с одной точки зрения, вашей, а в комбинаторных ситуациях одна точка зрения промахивается на множитель, растущий вместе с толпой. Случайность ни в чём не провинилась. Ошибка целиком в том, на какой вопрос молча даётся ответ.
И лекарство то же, что всегда в теории вероятностей: отказаться гадать и посчитать. Пересчитайте пары, и правдоподобие проявится. Перемножьте дроби, и выпадет точное число. Затем тот же подсчёт без изменений появляется в проектировании криптографических систем, и в этом тихий урок всей дисциплины: вероятностное рассуждение не знает, используют его для пари в баре или для защиты интернета.
Двадцать три человека. Двести пятьдесят три шанса. Комната никогда не была такой пустой, какой казалась.
Частые вопросы
- Что такое парадокс дней рождения?
- Это факт, что в группе всего из 23 человек вероятность того, что хотя бы у двоих совпадёт день рождения, чуть выше 50%. При 30 людях она составляет около 71%, при 50 около 97%, а при 70 около 99.9%. Парадоксом это называют не потому, что математика спорна, а потому, что число 23 кажется слишком маленьким. Результат следует из обычной теории вероятностей: нужно считать все возможные пары людей, а не сравнивать каждого с одной фиксированной датой.
- Почему в парадоксе дней рождения магическое число именно 23?
- Потому что 23 человека образуют 253 различные пары, и каждая пара даёт отдельный шанс на совпадение. Вероятность того, что все 253 пары избегут коллизии, опускается ниже половины ровно при 23 людях: вероятность отсутствия совпадений составляет около 49.3%, значит, общий день рождения имеет вероятность около 50.7%. В числах прячется и изящное совпадение: 365, умноженное на натуральный логарифм 2, почти в точности равно 253, поэтому точка «пятьдесят на пятьдесят» оказывается именно там.
- Почему парадокс дней рождения кажется таким неправдоподобным?
- Потому что интуиция отвечает на другой вопрос. Услышав задачу, вы невольно представляете, что кто-то совпадает с вашим днём рождения, а в комнате из 23 человек таких шансов всего 22, примерно 6% вероятности. Но настоящий вопрос в том, совпадут ли любые два человека, а это уже 253 пары, большинство из которых не имеют к вам никакого отношения. Интуиция отслеживает 22 сравнения, которые может вообразить, и полностью упускает 231 пару, в которой не участвует.
- Что такое атака дней рождения в криптографии?
- Это стратегия атаки, названная прямо в честь этого парадокса. Хеш-функция должна делать поиск двух разных входов с одинаковым выходом трудным. Парадокс дней рождения говорит, что коллизии среди случайных значений появляются примерно после квадратного корня из числа возможных значений, а не после полного их числа. Поэтому хеш с 2 в степени 128 возможных выходов можно атаковать примерно за 2 в степени 64 попыток, и именно поэтому криптографы выбирают длину выхода так, чтобы даже квадратный корень оставался недостижимым.
- Учитывает ли парадокс дней рождения високосные годы и неравномерность дней рождения?
- Стандартный расчёт предполагает 365 равновероятных дней рождения и игнорирует 29 февраля, которое встречается настолько редко, что почти не влияет на результат. Реальные дни рождения распределены не идеально равномерно, во многих странах есть сезонные пики, но это только помогает парадоксу: любая неравномерность распределения делает коллизии более вероятными, а не менее. Так что 50.7% при 23 людях на практике является нижней границей, а реальная вероятность чуть выше.
Понравилось разбираться?
Math Zen превращает такую интуицию в ежедневную практику: адаптивные задачи по 24 темам математики.


