Pull to refresh

Comments 19

гарантировать… с вероятностью 1/2.

Смысл понятен, но фраза абсурдна. «гарантировать» и «с вероятностью 1/2», на мой взгляд несовместимы. Это все равно, что гарантировать, что случайно взятый человек окажется женщиной. Там тоже 50%.
Это все равно, что гарантировать, что случайно взятый человек окажется женщиной. Там тоже 50%.

50% только если брать из группы с равным количеством мужчин и женщин. Если брать со всего земного шара, то более 50%, а в некоторых странах африки — меньше.
В вашей таблице еще один интересный (на мой взгляд) случай — группа из 150 человек, в которой вероятность уже очень близка к 100%.
Хотя на первый взгляд кажется, что там, опять же, примерно 1/2 и выйдет.
UFO just landed and posted this here
Давно уж. Ладно хоть не перепечатка ответа из решебника.
30 февраля? А 30 и 31 мая никто не родился?
похоже, что таблица должна начинаться с октября
Они просто взяли таблицу частот дней рождения и отняли 9 месяцев. Из 30 ноября получилось 30 февраля, а 30 и 31 мая не получились вообще. Ну, и провал на 4 октября: ведь в день Независимости США никто не рождается, роды стараются перенести на пораньше.
Не претендуя на истинность в последней инстанции
Попробовал прогнать случайным перебором.
Для 2 дней рождения вероятность 0.5 получается в районе 22-24, т.е. близко к математике, а вот для 3 дней рождения — только для 86-88.

P.S. Копнул чуть глубже. Оригинальная статья Anirban DasGupta, The matching, birthday and the strong birthday problem: a contemporary review, Journal of Statistical Planning and Inference 130 (2005), 377-389 тоже говорит 88.
Согласен, есть ошибка. Постараюсь с этим разобраться.
Ошибка оказалась в том, что выбранные мною элементарные события не равновероятны.
В качестве элементарных событий я брал наборы частот длиной 365 чисел:
(1,1,2...,0,0)
(2,4,2,...,1,1)
и т.д.
А зачем ТАК сложно?

У нас есть n человек.
Тройку из них можно выбрать Cn3 = n(n-1)(n-2)/6 способами. Можно считать, (n-1)3/6, нас устроит не аналитически точное решение.

Вероятность того, что в случайно выбранной тройке все дни рождения совпадут = 1/3652 (обозначим как 1/m, где m = 3652), а что не совпадут = 1-1/m.
Если мы возьмем m троек, то вероятность несовпадения ни в одной из них = 1/e (замечательный предел: (1-1/m)m = 1/e).
Если мы возьмем m*ln(2) троек, то вероятность несовпадения ни в одной из них = (1-1/m)m*ln(2) = ((1-1/m)m)ln(2) = (1/e)ln(2) = 1/2. И вероятность совпадения хотя бы в одной тоже = 1/2.

Получается, что число троек (n-1)3/6 должно быть больше, чем m*ln(2).
Ответ: нужно 1+(6*ln(2)*3652)1/3 людей.
[1+(6*ln(2)*3652)1/3] = 83, думаю, большая погрешность.
У меня такая же формула получилась (хотя я считал как-то по-другому). И тоже 83.
Погрешность там должна быть порядка 1/n2, т.е. 0.02%
Ход рассуждений проверил — все верно.

А ваша программа просто рассчитывает приведенную выше длинную сумму или моделирует саму ситуацию — выбирает тройки, считает число совпадений?
Рассчитывает сумму, только что её исправил
А вероятность того, то в какой-то день число родившихся (из выборки) = 0, почему не учитывается? Или это никак не влияет на результат?
В некоторые m дней число родившихся — 2, в (k — 2m) дней число родившихся — 1, в остальные дни — 0. Если я правильно понял вопрос
Sign up to leave a comment.

Articles