В теории вероятностей задача о днях рождения требует вероятности того, что среди n случайно выбранных людей по крайней мере двое будут иметь один и тот же день рождения . Парадокс дней рождения относится к контринтуитивному факту, что для того, чтобы эта вероятность превысила 50%, нужно всего 23 человека.
Парадокс дней рождения — это истинный парадокс : на первый взгляд он кажется неверным, но на самом деле это правда. Хотя может показаться удивительным, что для достижения 50% вероятности общего дня рождения требуется всего 23 человека, этот результат становится более интуитивным, если учесть, что сравнения дней рождения будут проводиться между каждой возможной парой людей. При 23 людях есть 23 × 22/2 = 253 пары для рассмотрения, что намного больше половины количества дней в году.
Реальные приложения для проблемы дней рождения включают криптографическую атаку, называемую атакой дней рождения , которая использует эту вероятностную модель для уменьшения сложности поиска коллизии для хэш-функции , а также для вычисления приблизительного риска коллизии хэшей, существующей в хэшах заданного размера популяции.
Эту задачу обычно приписывают Гарольду Дэвенпорту примерно в 1927 году, хотя он не опубликовал ее в то время. Дэвенпорт не утверждал, что является ее первооткрывателем, «потому что не мог поверить, что она не была сформулирована ранее». [1] [2] Первая публикация версии задачи о днях рождения была сделана Рихардом фон Мизесом в 1939 году. [3]
С точки зрения перестановок , пусть событие A будет вероятностью нахождения группы из 23 человек без повторяющихся дней рождения. Где событие B является вероятностью нахождения группы из 23 человек, в которой по крайней мере двое людей имеют одинаковый день рождения, P ( B ) = 1 − P ( A ) . P ( A ) является отношением общего количества дней рождения, , без повторений и порядка (например, для группы из 2 человек, формат дня рождения мм/дд, один возможный результат ), деленным на общее количество дней рождения с повторением и порядком, , поскольку это общее пространство результатов эксперимента (например, 2 человека, один возможный результат ). Следовательно , и являются перестановками .
Другой способ решения проблемы дней рождения — запросить приблизительную вероятность того, что в группе из n человек по крайней мере двое имеют одинаковый день рождения. Для простоты високосные годы , близнецы , смещение отбора и сезонные и недельные колебания рождаемости [4] обычно игнорируются, и вместо этого предполагается, что существует 365 возможных дней рождения, и что день рождения каждого человека с равной вероятностью может приходиться на любой из этих дней, независимо от других людей в группе.
Для независимых дней рождения равномерное распределение дней рождения минимизирует вероятность того, что у двух людей в группе будет одинаковый день рождения. Любая неравномерность увеличивает вероятность того, что у двух людей будет один и тот же день рождения. [5] [6] Однако в реальном мире дни рождения недостаточно неравномерны, чтобы внести существенные изменения: размер реальной группы, необходимый для того, чтобы вероятность общего дня рождения была больше 50%, составляет 23, как и в теоретическом равномерном распределении. [7]
Цель состоит в том, чтобы вычислить P ( B ) , вероятность того, что по крайней мере два человека в комнате имеют одинаковый день рождения. Однако проще вычислить P ( A ′) , вероятность того, что ни у одного из двух людей в комнате нет одинакового дня рождения. Тогда, поскольку B и A ′ являются единственными двумя возможностями, и они также являются взаимоисключающими , P ( B ) = 1 − P ( A ′).
Вот расчет P ( B ) для 23 человек. Пусть 23 человека будут пронумерованы от 1 до 23. Событие , что все 23 человека имеют разные дни рождения, то же самое, что и событие, что человек 2 не имеет тот же день рождения, что и человек 1, и что человек 3 не имеет тот же день рождения, что и человек 1 или человек 2, и так далее, и, наконец, что человек 23 не имеет тот же день рождения, что и любой из людей от 1 до 22. Пусть эти события будут называться Событием 2, Событием 3 и так далее. Событием 1 является событие, что человек 1 имеет день рождения, что происходит с вероятностью 1. Это сочетание событий может быть вычислено с использованием условной вероятности : вероятность События 2 равна 364/365 , поскольку у человека 2 может быть любой день рождения, кроме дня рождения человека 1. Аналогично, вероятность События 3 при условии, что произошло Событие 2, равна 363/365 , поскольку у человека 3 может быть любой из дней рождения, еще не отмечаемых людьми 1 и 2. Это продолжается до тех пор, пока, наконец, вероятность события 23, учитывая, что все предыдущие события произошли, не составит 343/365 . Наконец, принцип условной вероятности подразумевает, что P ( A ′) равно произведению этих индивидуальных вероятностей:
Члены уравнения ( 1 ) можно объединить, чтобы получить:
Оценка уравнения ( 2 ) дает P ( A ′) ≈ 0,492703
Следовательно, P ( B ) ≈ 1 − 0,492703 = 0,507297 (50,7297%).
Этот процесс можно обобщить на группу из n человек, где p ( n ) — вероятность того, что хотя бы двое из n человек имеют одинаковый день рождения. Сначала проще вычислить вероятность p ( n ) того, что все n дней рождения различны . Согласно принципу ящика , p ( n ) равно нулю, когда n > 365. Когда n ≤ 365 :
где ! — оператор факториала , (365
н.) — биномиальный коэффициент , а k P r обозначает перестановку .
Уравнение выражает тот факт, что у первого человека нет никого, с кем можно было бы разделить день рождения, у второго человека не может быть того же дня рождения, что и у первого ( 364/365 ) , третий не может иметь тот же день рождения, что и любой из первых двух ( 363/365 ) , и в общем случаеn-й день рождения не может совпадать ни с одним из n − 1предыдущих дней рождения.
Событие , что хотя бы двое из n человек имеют одинаковый день рождения, является дополнительным к тому, что все n дней рождения различны. Поэтому его вероятность p ( n ) равна
В следующей таблице показана вероятность некоторых других значений n (в этой таблице существование високосных лет игнорируется, и предполагается, что каждый день рождения имеет одинаковую вероятность):
Разложение показательной функции в ряд Тейлора ( константа e ≈2.718 281 828 )
обеспечивает приближение первого порядка для e x для :
Чтобы применить это приближение к первому выражению, полученному для p ( n ) , положим x = − а/365 . Таким образом,
Затем замените a неотрицательными целыми числами для каждого члена в формуле p ( n ) до тех пор, пока a = n − 1 , например, когда a = 1 ,
Первое выражение, полученное для p ( n ), можно аппроксимировать как
Поэтому,
Еще более грубое приближение дается выражением
что, как показывает график, по-прежнему довольно точно.
Согласно приближению, тот же подход может быть применен к любому количеству "людей" и "дней". Если вместо 365 дней есть d , если есть n человек, и если n ≪ d , то используя тот же подход, что и выше, мы достигаем результата, что если p ( n , d ) - это вероятность того, что по крайней мере двое из n людей разделяют один и тот же день рождения из набора из d доступных дней, то:
Вероятность того, что у двух людей не совпадут дни рождения, равна 364/365 . В комнате, содержащей n человек, находятся (н
2) = н ( н − 1)/2 пары людей, т.е. (н
2) событий. Вероятность того, что у двух людей не будет одинаковых дней рождения, можно приблизительно оценить, предположив, что эти события независимы, и, следовательно, перемножив их вероятности. Быть независимым было бы эквивалентно выбору с заменой любой пары людей в мире, а не только в комнате. Короче говоря 364/365 можно умножить на себя (н
2) раз, что дает нам
Поскольку это вероятность того, что ни у кого нет одинакового дня рождения, то вероятность того, что у кого-то будет одинаковый день рождения, равна
А для группы из 23 человек вероятность обмена составляет
Применив приближение Пуассона для биномиального распределения к группе из 23 человек,
так
Результат составляет более 50% от предыдущих описаний. Это приближение такое же, как и приведенное выше, основанное на разложении Тейлора, которое использует e x ≈ 1 + x .
Хорошим практическим правилом , которое можно использовать для устных вычислений, является соотношение
что также можно записать как
что хорошо работает для вероятностей, меньших или равных 1/2 . В этих уравнениях d — количество дней в году.
Например, чтобы оценить количество людей, необходимых для 1/2 шанс на общий день рождения, мы получаем
Что не так уж далеко от правильного ответа — 23.
Это также можно приблизительно рассчитать, используя следующую формулу для количества людей, необходимых для того, чтобы иметь по крайней мере 1/2 вероятность совпадения:
Это результат хорошего приближения, что событие с 1/к вероятность будет иметь 1/2 вероятность появления хотя бы один раз, если оно повторяется k ln 2 раз. [8]
Более светлые поля в этой таблице показывают количество хэшей, необходимых для достижения заданной вероятности коллизии (столбец) при заданном хэш-пространстве определенного размера в битах (строка). Используя аналогию с днем рождения: «размер хэш-пространства» напоминает «доступные дни», «вероятность коллизии» напоминает «вероятность общего дня рождения», а «требуемое количество хэшированных элементов» напоминает «требуемое количество людей в группе». Эту таблицу также можно использовать для определения минимально необходимого размера хэша (при заданных верхних границах хэшей и вероятности ошибки) или вероятности коллизии (для фиксированного количества хэшей и вероятности ошибки).
Для сравнения,10 −18 в10 −15 — это неисправимая частота ошибок битов типичного жесткого диска. [9] Теоретически, 128-битные хэш-функции, такие как MD5 , должны оставаться в этом диапазоне до тех пор, пока8,2 × 1011 документов , даже если возможных выходных данных гораздо больше.
Приведенный ниже аргумент взят из аргумента Пола Халмоса . [nb 1]
Как указано выше, вероятность того, что ни один из двух дней рождения не совпадет, равна
Как и в предыдущих параграфах, интерес представляет наименьшее n, такое, что p ( n ) > 1/2 ; или, что эквивалентно, наименьшее n такое, что p ( n ) < 1/2 .
Используя неравенство 1 − x < e − x в приведенном выше выражении, заменяем 1 − к/365 с e − k ⁄ 365. Это дает
Следовательно, выражение выше является не только приближением, но и верхней границей p ( n ) . Неравенство
подразумевает p ( n ) < 1/2 . Решение для n дает
Теперь 730 ln 2 приблизительно равно 505,997, что немного меньше 506, значения n 2 − n, достигаемого при n = 23. Следовательно, достаточно 23 человек. Кстати, решение n 2 − n = 730 ln 2 относительно n дает приближенную формулу Фрэнка Х. Матиса, цитированную выше.
Этот вывод показывает только то, что для обеспечения как минимум равных шансов совпадения дней рождения необходимо не более 23 человек; он оставляет открытой возможность, что n равно 22 или меньше, что также может сработать.
Если год состоит из d дней, обобщенная задача о днях рождения требует минимального числа n ( d ), такого, что в наборе из n случайно выбранных людей вероятность совпадения дней рождения составляет не менее 50%. Другими словами, n ( d ) — это минимальное целое число n, такое, что
Классическая проблема дня рождения, таким образом, соответствует определению n (365) . Первые 99 значений n ( d ) приведены здесь (последовательность A033810 в OEIS ):
Аналогичный расчет показывает, что n ( d ) = 23, когда d находится в диапазоне 341–372.
Было опубликовано множество оценок и формул для n ( d ) . [10] Для любого d ≥ 1 число n ( d ) удовлетворяет [11]
Эти границы оптимальны в том смысле, что последовательность n ( d ) − √ 2 d ln 2 становится произвольно близкой к
в то время как он имеет
в качестве максимума принимается d = 43 .
Границы достаточно узкие, чтобы дать точное значение n ( d ) в большинстве случаев. Например, для d = 365 эти границы подразумевают, что 22,7633 < n (365) < 23,7736 и 23 — единственное целое число в этом диапазоне. В общем, из этих границ следует, что n ( d ) всегда равно либо
где ⌈ · ⌉ обозначает функцию потолка . Формула
справедлива для 73% всех целых чисел d . [12] Формула
справедливо для почти всех d , т.е. для набора целых чисел d с асимптотической плотностью 1. [12]
Формула
справедливо для всех d ≤10 18 , но предполагается, что существует бесконечно много контрпримеров к этой формуле. [13]
Формула
справедливо для всех d ≤10 18 , и предполагается, что эта формула верна для всех d . [13]
Можно расширить задачу, спросив, сколько человек должно быть в группе, чтобы вероятность того, что по крайней мере 3, 4, 5 и т. д. человек из группы имеют одинаковый день рождения, превышала 50%.
Первые несколько значений следующие: >50% вероятности того, что у 3 человек будет один и тот же день рождения — 88 человек; >50% вероятности того, что у 4 человек будет один и тот же день рождения — 187 человек (последовательность A014088 в OEIS ). [14]
Задачу о днях рождения можно обобщить следующим образом:
Общие результаты можно получить, используя те же аргументы, что и приведенные выше.
И наоборот, если n ( p ; d ) обозначает количество случайных целых чисел, взятых из [1, d ] , чтобы получить вероятность p того, что по крайней мере два числа одинаковы, то
Проблема дней рождения в этом более общем смысле применима к хэш-функциям : ожидаемое число N - битных хешей, которые могут быть сгенерированы до возникновения коллизии, составляет не 2 N , а всего лишь 2 N ⁄ 2. Это используется в атаках на дни рождения криптографических хэш-функций и является причиной того, что небольшое число коллизий в хэш-таблице неизбежно для всех практических целей.
Теория, лежащая в основе проблемы дней рождения, была использована Зои Шнабель [16] под названием «статистика повторного улова» для оценки численности популяции рыб в озерах.
Основная проблема рассматривает все испытания как относящиеся к одному «типу». Проблема дней рождения была обобщена для рассмотрения произвольного числа типов. [17] В простейшем расширении есть два типа людей, скажем, m мужчин и n женщин, и проблема становится характеристикой вероятности общего дня рождения по крайней мере у одного мужчины и одной женщины. (Общие дни рождения у двух мужчин или двух женщин не учитываются.) Вероятность отсутствия общих дней рождения здесь равна
где d = 365 и S 2 — числа Стирлинга второго рода . Следовательно, искомая вероятность равна 1 − p 0 .
Эта вариация задачи о днях рождения интересна тем, что не существует единственного решения для общего числа людей m + n . Например, обычное значение вероятности 50% реализуется как для группы из 32 человек из 16 мужчин и 16 женщин, так и для группы из 49 человек из 43 женщин и 6 мужчин.
Смежный вопрос: когда люди входят в комнату по одному, кто из них, скорее всего, будет первым, у кого будет тот же день рождения, что и у кого-то, уже находящегося в комнате? То есть, для какого n максимально p ( n ) − p ( n − 1) ? Ответ 20 — если есть приз за первое совпадение, то лучшая позиция в очереди — 20-я. [ требуется цитата ]
В задаче о днях рождения ни один из двух людей не выбран заранее. Напротив, вероятность q ( n ) того, что по крайней мере один другой человек в комнате из n других людей имеет тот же день рождения, что и конкретный человек (например, вы), задается как
и для общего d по
В стандартном случае d = 365 подстановка n = 23 дает около 6,1%, что меньше 1 шанса из 16. Для более чем 50% вероятности того, что хотя бы у одного человека в комнате, полной n человек, день рождения совпадает с вашим , n должно быть не менее 253. Это число значительно больше, чем 365/2 = 182,5 : причина в том, что, скорее всего, у некоторых людей в комнате совпадают дни рождения.
Для любого человека в группе из n человек вероятность того, что он или она разделит свой день рождения с кем-то еще, равна , как объяснено выше. Ожидаемое количество людей с общим (не уникальным) днем рождения теперь можно легко вычислить, умножив эту вероятность на количество людей ( n ), так что это:
(Это умножение можно выполнить таким образом из-за линейности ожидаемого значения переменных-индикаторов). Это означает, что ожидаемое число людей с несовпадающим (уникальным) днем рождения равно:
Аналогичные формулы можно вывести для ожидаемого числа людей, которые делят комнату с тремя, четырьмя и т. д. другими людьми.
Ожидаемое количество людей, необходимое для достижения каждого дня рождения, называется задачей коллекционера купонов . Ее можно рассчитать по формуле nH n , где H n — n -ое гармоническое число . Для 365 возможных дат (задача о днях рождения) ответ — 2365.
Другое обобщение — спросить о вероятности нахождения хотя бы одной пары в группе из n человек с днями рождения в пределах k календарных дней друг от друга, если имеется d равновероятных дней рождения. [18]
Число людей, необходимое для того, чтобы вероятность того, что у какой-то пары дни рождения будут разделены k днями или меньше, была выше 50%, указано в следующей таблице:
Таким образом, в группе из семи случайных людей, скорее всего, у двоих из них будет день рождения с разницей в неделю. [18]
Ожидаемое количество разных дней рождения, т.е. количество дней, которые являются днем рождения хотя бы одного человека, составляет:
Это следует из ожидаемого количества дней, в течение которых у кого-либо не будет дня рождения:
что следует из вероятности того, что в определенный день не будет чьего-либо дня рождения, ( д − 1/г )н
, легко суммируется из-за линейности ожидаемого значения.
Например, при d = 365 следует ожидать около 21 разных дней рождения, когда есть 22 человека, или 46 разных дней рождения, когда есть 50 человек. Когда есть 1000 человек, будет около 341 разных дней рождения (24 невостребованных дня рождения).
Вышеизложенное можно обобщить на основе распределения числа людей, чей день рождения приходится на любой конкретный день, которое представляет собой биномиальное распределение с вероятностью 1/г . Умножение соответствующей вероятности на d даст ожидаемое количество дней. Например, ожидаемое количество дней, которые являются общими; т. е. которые являются по крайней мере двумя (т. е. не нулем и не одним) днями рождения людей, составляет:
Вероятность того, что k -е целое число, случайно выбранное из [1, d ] , повторит хотя бы один предыдущий выбор, равна q ( k − 1; d ) выше. Ожидаемое общее количество раз, когда выбор повторит предыдущий выбор, когда выбрано n таких целых чисел, равно [19]
Можно увидеть, что это равно количеству людей за вычетом ожидаемого количества различных дней рождения.
В альтернативной формулировке задачи о днях рождения задается среднее число людей, необходимое для нахождения пары с одинаковым днем рождения. Если мы рассмотрим функцию вероятности Pr[ n людей имеют по крайней мере один общий день рождения], это среднее значение определяет среднее значение распределения, в отличие от обычной формулировки, которая запрашивает медиану . Задача имеет отношение к нескольким алгоритмам хеширования, проанализированным Дональдом Кнутом в его книге «Искусство программирования» . Можно показать [20] [21] , что если сделать выборку равномерно, с заменой, из популяции размером M , то число попыток, необходимых для первой повторной выборки некоторого человека, имеет ожидаемое значение n = 1 + Q ( M ) , где
Функция
был изучен Шринивасой Рамануджаном и имеет асимптотическое разложение :
При M = 365 дней в году среднее количество людей, необходимое для нахождения пары с одинаковым днем рождения, равно n = 1 + Q ( M ) ≈ 24,61659 , что немного больше 23, числа, необходимого для 50% вероятности. В лучшем случае хватит двух человек; в худшем случае потребуется максимально возможное количество M + 1 = 366 человек; но в среднем требуется всего 25 человек
Анализ с использованием индикаторных случайных величин может обеспечить более простой, но приблизительный анализ этой проблемы. [22] Для каждой пары ( i , j ) для k человек в комнате мы определяем индикаторную случайную величину X ij , для , как
Пусть X — случайная величина, подсчитывающая пары людей с одинаковым днем рождения.
Для n = 365 , если k = 28 , ожидаемое число пар людей с одинаковым днем рождения равно 28 × 27/2 × 365 ≈ 1,0356. Таким образом, мы можем ожидать по крайней мере одну совпадающую пару с по крайней мере 28 людьми.
На чемпионате мира по футболу FIFA 2014 года в каждой из 32 команд было по 23 игрока. Анализ официальных списков команд показал, что в 16 командах были пары игроков с одинаковыми днями рождения, и из этих 5 команд было по две пары: в Аргентине, Франции, Иране, Южной Корее и Швейцарии было по две пары, а в Австралии, Боснии и Герцеговине, Бразилии, Камеруне, Колумбии, Гондурасе, Нидерландах, Нигерии, России, Испании и США — по одной паре. [23]
Ворачек, Тран и Форман показали, что большинство людей заметно переоценивают количество людей, необходимое для достижения заданной вероятности того, что у людей одинаковый день рождения, и заметно недооценивают вероятность того, что у людей одинаковый день рождения, когда задан определенный размер выборки. [24] Дальнейшие результаты показали, что студенты-психологи и женщины справились с заданием лучше, чем посетители/персонал казино или мужчины, но были менее уверены в своих оценках.
Обратная задача состоит в том, чтобы для фиксированной вероятности p найти наибольшее n , для которого вероятность p ( n ) меньше заданного p , или наименьшее n , для которого вероятность p ( n ) больше заданного p . [ необходима ссылка ]
Принимая вышеприведенную формулу для d = 365 , имеем
В следующей таблице приведены некоторые примеры расчетов.
Некоторые значения, выходящие за пределы допустимых значений, выделены цветом, чтобы показать, что приближение не всегда является точным.
Связанная проблема — проблема разделения , вариант задачи о рюкзаке из исследования операций . На весы кладут несколько гирь ; каждая гиря — это целое число граммов, случайно выбранное в диапазоне от одного грамма до одного миллиона граммов (одна тонна ). Вопрос в том, можно ли обычно (то есть с вероятностью, близкой к 1) перекладывать гири между левым и правым плечами, чтобы уравновесить весы. (В случае, если сумма всех гирь составляет нечетное число граммов, допускается расхождение в один грамм.) Если есть только две или три гири, ответ совершенно очевиден: нет; хотя есть некоторые комбинации, которые работают, большинство случайно выбранных комбинаций из трех гирь не работают. Если гирь очень много, ответ совершенно очевиден: да. Вопрос в том, сколько их будет достаточно? То есть, каково количество гирь, чтобы с одинаковой вероятностью можно было уравновесить их и невозможно?
Часто интуиция подсказывает людям, что ответ находится выше.100 000. Большинство людей интуитивно чувствуют, что это тысячи или десятки тысяч, в то время как другие чувствуют, что это должно быть, по крайней мере, сотни. Правильный ответ - 23. [ необходима цитата ]
Причина в том, что правильное сравнение — это количество разделов весов на левое и правое. Существует 2 N − 1 различных разделов для N весов, и левая сумма минус правая сумма может рассматриваться как новая случайная величина для каждого раздела. Распределение суммы весов приблизительно гауссово , с пиком при500 000 Н и ширина1 000 000 √ N , так что когда 2 N − 1 приблизительно равно1 000 000 √ N происходит переход. 2 23 − 1 составляет около 4 миллионов, тогда как ширина распределения составляет всего 5 миллионов. [25]
Роман Артура Кларка 1961 года «Падение лунной пыли» содержит раздел, в котором главные герои, запертые под землей на неопределенное время, празднуют день рождения и обсуждают справедливость проблемы дней рождения. Как сказал пассажир-физик: «Если у вас группа из более чем двадцати четырех человек, то вероятность того, что у двоих из них будет один и тот же день рождения, выше, чем даже у двоих». В конце концов, из 22 присутствующих выясняется, что у двух персонажей один и тот же день рождения — 23 мая.
Рассуждения основаны на важных инструментах, к которым все студенты-математики должны иметь свободный доступ. Задача о дне рождения была прекрасной иллюстрацией преимуществ чистого мышления над механическими манипуляциями; неравенства можно получить за минуту или две, тогда как умножение заняло бы гораздо больше времени и было бы гораздо более подвержено ошибкам, будь то инструмент — карандаш или старомодный настольный компьютер. Чего не дают калькуляторы, так это понимания, или математической ловкости, или прочной основы для более продвинутых, обобщенных теорий.