Недавно, проходя мимо доски с именинниками вспомнил про так называемый "парадоск дней рождения". Подобно парадоксу Монти Холла, этот "парадокс" на самом возникает из-за неправильного решения, которое подсказывает интуиция подзабывших теорию вероятности людей.
Задача
Допустим в компании работает 25 человек. Какая вероятность того, что у двух людей из этой компании день рождения в один и тот же день?Интуитивное решение
Ход мыслей может быть примерно такой: 25 человек, у каждого день рождения 1 раз в 365 дней. Поскольку надо 2 совпадения, то вероятности перемножаются, и, поскольку это надо повторить для всех, то еще умножить на 25:\(\frac{25}{365} * \frac{25}{365} * 25\), то есть \(\frac{25}{365}\).
Правильное решение
Правильное решение и математическое доказательство хорошо описаны в вики, см. Парадокс дней рождения, его я здесь повторять не буду. Я же напишу програмку, которая покажет кто прав - интуиция или теория вероятности.Пишу код
Для подобных экспериментов, результаты которых можно сразу же опубликовать мне очень нравится Python notebook. Его можно установить себе на компьютер, но я воспользуюсь бесплатным сервисом от https://www.wakari.ioВ wakari.io создал новый файл, вставил ячейку (cell) типа Code и в ней заимпортил NumPy и вывел номер версии:
Затем создал функцию, которая создает массив размером n, каждый элемент которого случайное число от 1 до 365:
Эта функция проверяет есть ли в массиве birthdays элементы, которые повторяются больше чем 1 раз:
Запускает эксперимент несколько раз и возвращает количество успешных экспериментов (количество совпадений > 1)
Запускаю эксперимент и получаю вероятность того, что в группе из 23 человек хотя бы у двух совпадут дни рождения:
Вероятность более 50%, то есть интуитивное решение не является правильным.
Ссылки на использованные материалы
- Wakari.io - online сервис для анализа данных на Python.- Парадокс дней рождения на википедиит
- Мой код https://www.wakari.io/sharing/bundle/szelenin/birthdays