Парадокс днів народженняУ теорії ймовірностей парадокс днів народження[1] оцінює ймовірність того, що у випадково вибраній групі людей збігатимуться дні народження в якоїсь пари. В групах кількістю не менших 23 випадково вибраних людей, ймовірність збігу днів народження в якоїсь пари становить більше 50 %. Такий результат суперечить інтуїтивній уяві більшості. Для 57 людей, ймовірність становить більше ніж 99 %, і досягає 100 % коли, ігноруючи високосний рік, кількість людей у групі становить 366 (через принцип Діріхле). Такий розподіл ймовірностей призвів до широко відомої криптографічної атаки відомої як атака «днів народження». У формулюванні парадоксу йдеться саме про збіг днів народження у будь-яких двох членів групи. Одна з поширених помилок полягає в тому, що цей випадок плутають з іншим випадком, на перший погляд схожим, коли з групи вибирається одна людина, й оцінюється ймовірність того, що день народження будь-яких інших членів групи збіжиться з днем народження вибраної людини. В останньому випадку ймовірність збігу значно нижча. Розуміння проблемиВ парадоксі днів народження з'ясовується, чи хтось з випадково вибраних 23 людей буде мати день народження в один день з кимось іншим з групи. У списку з 23 людей, при порівнянні днів народження з першою в списку людиною, існує 22 шанси на збіг, але порівняння кожного з кожним дає 253 різні шанси: в групі з 23 людей, утворюється пари. Припускаємо, що всі дні народження однаково ймовірні[2], ймовірність мати день народження в певний день для конкретної людини становить (нехтуємо високосний рік, 29 лютого). Поглянувши на число можливих пар, вже значно легше прийняти факт того, що ймовірність збігу днів народження становить понад 50 %, хоча й неправильно казати, що розподіл за парами групи з 23 людей еквівалентний 253 парам вибраним незалежно. Обчислення ймовірностіЗадача полягає в обчисленні приблизної ймовірності того, що в кімнаті з людьми, щонайменше двоє мають один і той самий день народження. Для спрощення не зважатимемо на нерівномірність розподілу народжуваності протягом року, і припустимо, що існує 365 днів рівних між собою. У справжньому житті розподіл днів народження неоднаковий. Якщо ймовірність збігу щонайменше двох днів народження, тоді можливо буде легше обчислити , ймовірність того, що в групі немає двох людей з однаковим днем народження. Через те, що та — єдині дві можливі ймовірності і вони виключають одна одну, . Коли події незалежні одна від одної, ймовірність настання їх усіх дорівнює добутку ймовірностей кожної окремої події. Через це, якщо можна описати як 23 незалежні події, тоді може бути вирахувана як . 23 людей відповідають 23 незалежним подіям, які можна розташувати за порядком. Кожна подія може бути визначена як те, що відповідна людина має різні дні народження з усіма попередньо відібраними людьми. Для події 1 попередньо відібраних людей не має. Таким чином ймовірність того, що людина 1 не має однакових днів народження з попередньо відібраними людьми становить 100 %. Враховуючи, що ми нехтуємо високосний рік, ймовірність 1 може бути записана як , з причин які стануть зрозумілими далі. Для події 2, попередньо відібрана людина тільки одна. В нашому припущенні того, що день народження може з однаковою ймовірністю статися в будь-який день року, ймовірність , що людина 2 має відмінний від людини 1 день народження, становить . Це правильно з огляду на те, що людина 2 може народитися в будь-який з 364 серед 365 днів року і при цьому мати різні дні народження з людиною 1. Так само, людина 3 може народитися в будь-який з 363 днів року, відмінних від днів народження перших двох, і ймовірність . Цей розбір продовжується до досягнення 23-ї людини, і . P(A') дорівнює добутку окремих ймовірностей:
Рівняння (1) можна далі записати як:
Для подальшого спрощення рівняння (2), розпишемо факторіал 365 як:
І поділимо обидві частини на :
Тепер підставимо рівняння (3) в рівняння (2):
Обчислення рівняння (4) нам дає . Відповідно, Цей процес може бути узагальнений для групи з людей, де ймовірність збігу днів народження у принаймні двох людей з . Легше спочатку вирахувати ймовірність того, що всі днів народження різні. Згідно з принципом Діріхле, коли . Коли : Рівняння відображає описаний раніше факт отримання ймовірностей . Ймовірність того, що принаймні двоє людей з мають однаковий день народження, комплементарна до ймовірності, що всі дні народження різні. Таким чином, Ця ймовірність перевищує для (зі значенням біля 50.7 %). Наступна таблиця показує ймовірності для деяких інших значень (в таблиці знехтувано високосні роки):
АпроксимаціяВикориставши розклад експоненційної функції в ряд Тейлора отримаємо апроксимацію першого порядку для при : Якщо то Перший вираз отриманий для p(n) може бути апроксимований як Відповідно Навіть грубіша апроксимація отримана таким чином як показує графік, залишається досить точною. Просте піднесення до степеняЙмовірність того, що будь-які двоє людей мають різні дні народження становить 364/365. В кімнаті з n людьми, налічується C(n, 2)=n(n-1)/2 пар, тобто C(n, 2) подій. Ймовірність відсутності двох людей з однаковим днем народження може бути апроксимована припущенням того, що всі ці події незалежні і знайдена як простий добуток їх ймовірностей. Коротко кажучи, дріб 364/365 може бути помножений на себе C(n, 2) разів, що дає нам Якщо це ймовірність, що ніхто не має однакових днів народження, тоді ймовірність наявності таких людей становить Розподіл ПуассонаЯкщо в кімнаті присутні людей, то маємо пар. Ми визначили успіх за наявність однієї пари з однаковим днем народження, імовірність цього . Отже Очікувана кількість успіхів становить Звідси, ймовірність того, що нема такої пари, є Якщо ми бажаємо знайти кількість людей для яких імовірність менша ніж 0.5: що дає нам , тобто якщо в кімнаті 23 людей, то ймовірність, що дні народження двох з них збігаються, дорівнює 0.5. Розрахунок кількості осіб, за якої ймовірність становить 50 %З наведеної раніше формули для p(n) виразимо n. Потім замість p(n) підставимо 50 % (0,5). В результаті отримаємо: Існує ще один спосіб оцінення n за ймовірності 50 % Згідно доведеному вище: Знайдемо найменше n, за якого або, що те ж саме: Скористаємося наведеною вище апроксимацією функції експоненційною функцією: Підставивши замість у вираз , отримаємо: Розв'язуючи відносно n, отримаємо: Звідси знайдемо n і округлимо до цілого :
Люди, що народились в один день із заданою людиноюПорівняємо ймовірність p(n) зі ймовірністю того, що в групі з n людей день народження якоїсь людини з групи збіжиться з днем народження деякої заздалегідь вибраної людини, яка не належить до групи. Ця ймовірність дорівнює Підставляючи n = 23, маємо q(n) ≈ 6,12 %. Для того, щоб імовірність q(n) перевищила 50 %, число людей в групі має бути не меншим, ніж 253 (q(252) ≈ 49,91 %; q(253) ≈ 50,05 %). Це число більше, ніж половина днів у році (365/2 = 182,5); так виходить через те, що в решти членів групи дні народження можуть збігатися, і це зменшує ймовірність q(n). УзагальненняЗбіг дискретних випадкових величинОписана задача може бути сформульована в загальному вигляді:
Якщо міркувати так само, як описано вище, можна отримати загальні розв'язки: Обернена задача:
Розв'язок: Кілька типів людейВище парадокс днів народження був розглянутий для одного «типу» людей. Можна узагальнити задачу, ввівши кілька «типів», наприклад, розділивши людей на чоловіків (m) і жінок (n). Підрахуємо ймовірність того, що хоча б в однієї жінки і в одного чоловіка збігаються дні народження (збіг днів народження у двох жінок або у двох чоловіків не враховуються): де d = 365 и S2() — числа Стірлінга другого роду. Цікаво, що немає однозначної відповіді на питання про величину n+m для заданої ймовірності. Наприклад, ймовірність 0,5 дає як набір з 16 чоловіків і 16 жінок, так і набір з 43 чоловіків і 6 жінок. Близькі дні народженняІнше узагальнення парадоксу днів народження полягає в постановці задачі про те, скільки потрібно людей для того, щоб імовірність наявності в групі людей, дні народження яких відрізняються не більше ніж на один день (або на два, три дні і так далі), перевищила 50 %. Під час розв'язування цієї задачі використовується принцип включень-виключень. Результат (знову ж у припущенні, що дні народження розподілені рівномірно) виходить таким:
Таким чином, ймовірність того, що навіть у групі з 7 людей дні народження хоча б у двох з них будуть відрізнятися не більше ніж на тиждень, перевищує 50 %. ЗастосуванняПарадокс днів народження в загальному вигляді можна застосувати до хеш-функцій: якщо хеш-функція генерує N-бітове значення, то число випадкових вхідних даних, для яких хеш-коди з великою ймовірністю дадуть колізію (тобто знайдуться рівні хеш-коди, отримані на різних вхідних даних), дорівнює не 2N, а тільки близько 2N/2. Це спостереження використовується в атаці на криптографічні хеш-функції, що отримала назву «атака „днів народження“».
У білих комірках вказана кількість осіб у групі, за якої колізія відбудеться із заданою ймовірністю (за аналогією з парадоксом кількість вихідних ланцюжків становить 365). Подібний математичний апарат використовується для оцінювання розміру популяцій риб в озерах. Метод називається «capture-recapture» («зловити-зловити знову»). Дійсно, якщо кожну спійману рибу позначати та відпускати, то ймовірність зловити позначену рибу буде зростати нелінійно (відповідно до наведеного вище графіка) зі зростанням кількості спроб. Розмір популяції грубо може бути оцінений як квадрат числа спроб, здійснених до виловлювання першої позначеної риби. Розв'язок задачі в загальному вигляді застосовується у багатьох розділах математики, наприклад, у недетермінованих алгоритмах факторизації. Так, одне з найпростіших пояснень ρ-методу Полларда аналогічне поясненню парадоксу днів народження: досить мати приблизно випадкових чисел від 0 до , де — прості, щоб хоча б для однієї з пар чисел з високою ймовірністю знайшовся , який і буде дільником числа n. Обернені задачі
Користуючись формулою, наведеною вище, отримуємо:
Найкраща позиціяНехай у кімнаті знаходятся n - 1 осіб, і їхні дні народження різні. Нехай g(n) — ймовірність того, що день народження людини, яка зайшла, збігається з днем народження когось із присутніх у кімнаті. Потрібно знайти значення n, за якого значення функції g(n) максимальне. Розв'язування зводиться до знаходження максимального значення виразу
Використовуючи наведену вище формулу для p(n) отримаємо n = 20 Середнє число людейРозглянемо іншу задачу. Скільки в середньому потрібно людей для того, щоб хоча б у двох з них збіглися дні народження? Ця проблема мала відношення до алгоритмів хешування і була досліджена Дональдом Кнутом. Виявляється, що випадкова величина, яка нас цікавить, має математичне сподівання, рівне де Функція була досліджена Рамануджаном. Він же отримав для цієї функції таке асимптотичне розкладання : При M = 365 середня кількість людей дорівнює Це число трохи більше, ніж число людей, що забезпечують імовірність 50 %. Як не дивно, необхідне число людей дорівнює M + 1 = 366 (у 365 людей дні народження можуть розподілитися по кожному з 365 днів року без збігів), хоча в середньому потрібно лиш 25. Примітки
Див. такожПосилання
Література
|