Задача о днях рождения

Задача

В качестве подарка на день рождения Петру Иванову подарили недельный круиз на теплоходе. Через пару дней после отплытия Петр заскучал и стал развлекаться, наблюдая за своими попутчиками и задавая самому себе разные вопросы о них. К тому моменту он уже выяснил, что кроме него на теплоходе находятся 200 пассажиров. Очередной вопрос Петра был таким: есть ли среди пассажиров кто-нибудь, кто родился с ним в один день (годы рождения могут отличаться)? Петр привык получать ответы на свои вопросы, подбрасывая монетку (хотя это и странный способ): он всегда считал, что если выпадает орел, то ответ утвердительный, а если решка, то отрицательный. Но на этот он раз решил в поисках ответа опросить всех пасажиров.

Какая вероятность больше — что Петр встретит на теплоходе пассажира, родившегося с ним в один день, или что выпадет орел (то есть 1/2)?


Подсказка

С какой вероятностью ни у кого из пассажиров день рождения не совпадает с днем рождения Петра?


Решение

Поскольку Петр Иванов ничего не знает про дни рождения пассажиров и в условии задачи ничего дополнительно про это не сообщено, то нужно считать, что дни рождения распределены равномерно по всему году: наугад выбранный пассажир с одинаковой вероятностью 1/365 может родиться в любой из 365 дней года (пока не берем в расчет високосные годы). Поэтому вероятность того, что дни рождения Петра и каждого отдельно взятого пассажира не совпадают, равна 364/365 (это примерно 0,9972602...). Значит, день рождения Петра не совпадает с днями рождений всех двухсот пассажиров с вероятностью (364/365)200, то есть примерно 0,5777....

Чтобы найти вероятность совпадения дня рождения хотя бы с одним из пассажиров, теперь надо вычесть полученное число из 1 (потому что, очевидно, события совпадения хотя бы с кем-то и несовпадения ни с кем дополняют друг друга). В результате получается вероятность ≈ 0,4223..., что, конечно, меньше, чем 1/2.

Что поменяется, если вспомнить про високосные годы? Будем считать, что 29 февраля бывает раз в 4 года (на самом деле в общепринятом сейчас григорианском календаре всё немного хитрее, об этом чуть ниже). Тогда для правильного учета этой даты нужно взять ее с весом 1/4 — потому что она встречается в 4 раза реже других дат. То есть вероятность несовпадения дней рождения Петра и случайно выбранного пассажира равняется 364,25/365,25 ≈ 0,9972621.... Отличие от первого результата только в шестом знаке после запятой. Это позволяет надеяться, что аккуратный учет «високосности» не влияет на вывод (и так и есть на самом деле — можете убедиться, проделав соответствующие вычисления).

Если быть совсем точным, то 29 февраля надо учитывать с весом 1/4 − 1/100 + 1/400 = 0,2425, потому что полностью правило учета високосных лет звучит так:

  • год, номер которого делится на 400, — високосный;
  • год, номер которого делится на 100, но не делится на 400, — не високосный;
  • остальные годы, номера которых делятся на 4, — високосные.

Но ясно, что такая осторожность тоже не повлияет на результат.


Послесловие

Из решения видно, что двухсот пассажиров не хватает для того, чтобы вероятность совпадения дня рождения хотя бы с одним из них была больше 1/2. Это может показаться странным, потому что 200 уже ощутимо больше половины числа дней в году, а этого количества все равно не хватает. Посчитаем, скольких пассажиров хватило бы. Если искомое число пассажиров обозначить за N, то должно выполняться неравенство 1 − (364/365)N ≥ 1/2, причем N должно быть наименьшим натуральным числом, удовлетворяющим этому неравенству. Получаем (364/365)N ≤ 1/2, что после логарифмирования дает

\[ N\ge\log_{\frac{364}{365}}\dfrac12 \approx 252{,}6\ldots \]

Итого, N = 253 — таково должно быть наименьшее число случайно взятых людей, чтобы с вероятностью не меньше 1/2 среди них нашелся хотя бы один, родившийся в тот же день, что и Петр (или кто-нибудь другой, например, вы).

У рассмотренной задачи есть известная «парная» задача. Она тоже формулируется как вопрос про совпадение дней рождения: при каком наименьшем числе пассажиров на теплоходе вероятность того, что хотя бы два из них родились в один день, будет не меньше 1/2? Вроде, похожий вопрос. А вот ответ на него совсем другой — неожиданно маленький по сравнению с найденным выше числом 253. Забегая вперед, скажем, что это число хорошо подходит на роль числа учеников в обычном школьном классе, поэтому чаще в вопросе фигурируют не пассажиры теплохода, а ученики одного класса. Суть задачи от этого, впрочем, не меняется.

Итак, найдем ответ и на второй вопрос. Сразу оговоримся, что для простоты не будем принимать в расчет 29 февраля (то есть считаем, что никто из пассажиров не родился в этот день, — как мы уже видели выше, если учитывать этот день, то на ответ это, скорее всего, не повлияет). Пусть пассажиров было M. Найдем сначала вероятность того, что у них все дни рождения разные.

Для этого надо взять число наборов из M различных дат и разделить его на число наборов из M любых дат. Всего дней в году 365, поэтому второе число равно 365M (если даты могут повторяться, то у первого пассажира 365 вариантов дня рождения, у второго тоже 365, у третьего тоже 365, и т. д.). Если даты должны быть разными, то у первого пассажира будет по-прежнему 365 вариантов дня рождения, а у второго будет уже 364 варианта, у третьего — 363 варианта, и т. д. У последнего пассажира, M-го по счету, будет (365 − M + 1) вариант для дня рождения. Поэтому число наборов из различных дат равно 365·364·363·...·(365 − M + 1). А искомая вероятность того, что все дни рождения разные, равна

\[ \frac{365\cdot 364\cdot 363\cdot \ldots\cdot(365-M+1)}{365^M} \]

Это выражение можно переписать в более коротком и удобном виде

\[ \frac{365!}{(365-M)!\cdot 365^M} \]

Отсюда вероятность, про которую спрашивалось в вопросе, то есть вероятность того, что хотя бы у двоих дни рождения совпадут, равна

\[ 1-\frac{365!}{(365-M)!\cdot 365^M} \]

Она должна быть не меньше 1/2, что дает

\[ \frac{365!}{(365-M)!\cdot 365^M}\le\frac12 \]

Найти M из этого неравенства можно подбором, если под рукой есть достаточно мощный калькулятор вроде Wolfram|Alpha. Например, подстановка M = 50 дает значение 0,029..., что очень мало, а подстановка M = 10 дает 0,883..., что много. Это позволяет надеяться, что искомое M лежит где-то между 10 и 50. После нескольких попыток можно определить, что M = 23.

Если знать основы математического анализа, то можно обойтись без подбора, получив более «чистое» решение этой задачи. Подробности описаны, например, здесь.

У двух этих задач сложность «лобовых» решений довольно сильно отличается, хотя, казалось бы, вопросы очень похожи. Но оказывается, что эту похожесть можно использовать и получить ответ на второй вопрос, зная ответ на первый. Заметим, что на самом деле оба вопроса — это вопросы про совпадения дней рождения среди некоторых множеств пар людей. В первом случае это были пары вида «Петр Иванов и пассажир», во втором — пары вида «пассажир и пассажир». Поэтому, если подобрать такое M, что пар пассажиров будет 253 или больше, то и вероятность совпадения дней рождения хотя бы у двух из них точно будет не меньше 1/2.

Если пассажиров M, то пар будет M·(M − 1)/2. Уравнение M·(M − 1)/2 = 253 как раз имеет целочисленное решение 23 (второе решение этого уравнения, −22, не подходит по смыслу). Результат ожидаемо совпал!

А что же для других значений вероятности? Например, сколько должно быть пассажиров на теплоходе, чтобы общий день рождения нашелся с вероятностью 70%? Ответ — 30 пассажиров. Если пассажиров будет 50, то вероятность совпадения составит уже 97%, а если их будет 100, то вероятность составит 99,99996%. Это уже очень близко к 100%, но эта величина будет достигнута только если пассажиров будет 366 или больше — только при таких условиях совпадение будет гарантировано (это следует из принципа Дирихле).

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


6
Показать комментарии (6)
Свернуть комментарии (6)

  • gthnjdbx  | 28.05.2016 | 17:08 Ответить
    обнаружена небольшая неточность.
    В условии указано "вместе с ним на теплоходе находятся 200 пассажиров"
    другими словами "кроме него на теплоходе находятся 199 пассажиров", а в решении "день рождения Петра не совпадает с днями рождений всех двухсот пассажиров с вероятностью (364/365)^200". Очевидно в решении должно быть так "день рождения Петра не совпадает с днями рождений 199 пассажиров с вероятностью (364/365)^199", либо в условии должно быть так "кроме него на теплоходе находятся 200 пассажиров".
    Очевидно так же что на ответ это влияет мало.
    Ответить
    • editor > gthnjdbx | 30.05.2016 | 03:45 Ответить
      Спасибо за комментарий. Здесь нет ошибки, просто здесь возникают два прочтения из-за многозначности конструкции «вместе с ним» (Петр может как входить, так и не входить в 200 пассажиров). Исправили «вместо» на «кроме», чтобы осталось только одно прочтение: когда Петр — 201-й пассажир.
      Ответить
  • Angl  | 30.05.2016 | 11:17 Ответить
    Интересно было бы также написать, как вычислить (364/365)^200 без калькулятора, с парой обращений к таблице логарифмов.
    Ответить
  • Леша  | 01.06.2016 | 02:13 Ответить
    Если Петру подарили круиз на день рожденье, то его день рожденье будет скорее всего близко к дате круиза. Логично предположить, что есть ненулевая вероятность того, что есть другие пассажиры, которым подарили круиз на день рожденье. Таким образом нельзя считать, что даты рождения остальных пассажиров будут назависмы.
    Ответить
    • gthnjdbx > Леша | 03.06.2016 | 21:30 Ответить
      Подарили не "ко дню рождения", а "на день рождения", значит во время дарения "на день рождения" ПИ был не в круизе, а круиз был после дня рождения (не исключено что в течение года после дня рождения;). Хотя и с натяжкой, но может было все не так и он таки был в круизе в свой день рождения, поэтому его и заинтересовал вопрос задачи. Вопрос задачи ведь можно и переформулировать так: "Какова вероятность что сегодня (в конкретный день) день рождения хотя бы у одного из 200 пассажиров?". Решение точно такое же. И если действительно дата круиза как-то связана с днями рождения многих пассажиров то уместен такой вопрос: "На сколько процентов по сравнению с равномерным распределением должна быть выше вероятность дней рождения пассажиров внутри срока 6 дней круиза чтобы утвердительный ответ на переформулированный вопрос задачи каждый день круиза монетка давала с такой же вероятностью (1/2) как и полный опрос всех 200 пассажиров?" или "На сколько процентов по сравнению с равномерным распределением должна быть выше вероятность дней рождения пассажиров внутри срока 6 дней круиза чтобы наиболее вероятно что в половине дней (в трех днях из шести) на теплоходе праздновались чьи нибудь дни рождения из 200 пассажиров?". Если мы из беседы с капитаном выясним, что за 3000 дней пребывания его теплохода в круизе, с 200 каждый раз разными пассажирами, ему пришлось 1500 раз просить кока приготовить угощение всем пассажирам, потому что на борту хотя бы у одного пассажира был день рождения. Такая информация от капитана позволяет с уверенностью сказать что пассажиры таки привязывают круиз ко дню рождения. Если бы такой привязки не было то к коку было бы около 1267 таких просьб. За 3000 капитанских дней наблюдается аномальное превышение (над 1267) на 233 дня варенья - прибавка около 18%. Это ЖЖЖЖЖ не спроста ;)
      Ответить
  • Леша  | 01.06.2016 | 02:24 Ответить
    Неправильно учтено 29 февраля. Так можно считать, если мы знаем, что Петр родился не 29 февраля. Из условий задачи это никак не следует, и тогда надо предположить, что Петр мог родиться в любой день с равной вероятностью. Тогда вероятность встретить пассажира родившегося в день рожденья Петра будет чуть меньше. Не намного меньше, но всё же разница будет сравнима с разницой, если 29 февраля не учитывать совсем.
    Ответить
Написать комментарий
Элементы

© 2005–2025 «Элементы»