Home News

Парадокс дней рождения

03.12.2017

видео Парадокс дней рождения

Хеш таблицы. Часть 3. Хорошая хеш функция, Парадокс дней рождения
backward2 forward3

« Парадокс дней рождения». В  любой группе из более чем 22-х человек с вероятностью превышающей 50% у двух или более человек дни рождения совпадают.



Доказать это не так уж и сложно, особенно если вникнуть в совершенно простую задачу про ушки.

Доказывать я тут не буду, лишь скажу, что это правда, а решение очень простое (hint: попробуйте для начала подсчитать, сколько разных пар составляют 23 человека). Доказать можно как с помощью логики и теории вероятности, так и экспериментальным путем. Отсылаю к  ДиаLOG ’у, где все подробно теоретически расписано и даже есть программа на Бейсике , которая все считает — специально для тех, кто не верит в теорию.


Как обмануть теорию вероятностей?

Лирическое отступление. Кажется невероятным, что среди всего 23 человек скорее найдутся, чем не найдутся отмечающие день рождения в один день, учитывая, что в году их 365. Практически кажется, что « раскидать» 23-х по 365-и дням проще пареной репы. В общем, слабо верится в это все. Но.© Оттуда же.

Специально для тех, кто не верит в Бейсик, вот мой скромный вклад в науку (на php):

for ($z=1; $z for ($i=1; $i if (count (array_unique ($a))!=22) $r++;

endfor;

echo ($r/100)."%";

Выводит процент несовпадений. Использовать count (array_unique ($a)), конечно же, весьма глупо, но я стремился не к оптимизации кода, а к тому, чтобы как меньше надо было его печатать. (Если array_fill работает с random’ными значениями, (хотя я не уверен) можно было бы и вторую строчку сделать короче). Зато при использовании array_unique этот код можно легко переделать под условие « более 2х человек».

Отсюда. Вероятность встретить человека, у которого День Рождения в один день с вами , все равно составляет 1/365, а вот вероятность того, что из 23 ваших друзей у  кого-нибудь Дни Рождения совпадают — более 50%.

Новости

rss