Рулетка

Рулетка

Vladyslav Verteletskyi

На честь нової (1001-го!) передплатниці прийшов час нарешті прояснити гру, в яку ми грали аж 24 травня (прокрутіть, то накрутите мені переглядів на пости).

Тож, російська рулетка. КДБіст заряджає дві кулі підряд у шестиствольний револьвер, крутить барабан, і, на превеликий жаль, лишається живим. Передає револьвер вам: чи прокрутите ви барабан перед пострілом? Як ви вже могли побачити, а більшість з респондентів знати це з самого початку, не грати в це поле чудес, себто не крутити, безпечніше. Чому ж?

Опціональний ліричний відступ, який треба читати до слова "Натомість", але мені шкода стирати решту матеріалу в ньому, тож най буде.

Дискретна теорія ймовірності (я не знаю ці ваші сігма-алгебри і гадки не маю коли взнаю, тому сьогодні без неперервності) має дві школи: частотна і баєсова/баєсівська. Перша постулює набір рівноймовірних подій і означає ймовірність події А як відношення кількості (потужності множини) подій, які сумісні з подією А, до кількості (потужності універсуму, ака універсальної множини) всіх можливих подій. Натомість друга привласнює подіям певні апріорні правдоподібності, і через теорему Баєса оновлює їх після кожного експерименту:

Лул, бот в телезі не може в \text{}, тому скомпілював у гугль колабі, рекомендую.

Десь тут вам могло захотітись закрити цю статтю, тому перш ніж ви це зробите -- подивіться 3.5 хв відео 3Blue1Brown з швидким доведенням, а потім -- відео про куди інтиїтивнішу і застосовнішу версію теореми. Тепер до задачі.

Кінець відступу

Те, що КДБіст лишився живим після пострілу -- це інформація, ваші дані, які можна використати для обрахунку ймовірності вашого виживання без прокручування барабану. Співставивши стволу першу позицію, а напрям прокрутки -- вправо, можливі розташування куль у револьвері наразі наступні:

100001, 001100, 000110, 000011.

Випадок 011000 неможливий тому, що це відповідало б розташуванню 110000 перед пострілом кдбіста, що б його і прикінчило. Аналогічно 11000. Тоді, так як на першій позиції 1 стоїть лише в одному випадку з чотирьох, ймовірність застрелитись не прокручуючи барабан рівна 25%.

Якщо ж барабан прокрутити, то інформація після пострілу агента 777 втрачається, і ми лишаємось з двома кулями на шість слотів, себто ймовірність здохнути стає 33%. Як бачимо, не прокручувати барабан є безпечнішою опцією (хоча натовкти пику пропоненту досі лишається переможним варіянтом).

Пригадую, як робляться підзаголовки.

Ускладнимо завдання. Тепер ми знаємо лише те, що в барабані дві кулі, хтозна підряд вони там чи ні. КДБіст, до слова, теж не знає (а якщо знає -- це окрема гра). Що робимо в даному випадку?

Перерахуємо всі можливі варіянти, але кмітливо. У нашій нотації, позиції куль у револьвері після пострілу першого гравця-молодця задаються рядком, де на другій позиції 0 (нуль), бо саме цей порожній слот він і прострелив. Тоді кількість способів розташувати 2 кулі по решті 5 слотів рівна 5!/2!/3!=10 -- потужність множини усіх можливих позицій. Вбивчий варіянт ставить одну з куль на першу позицію, тому лишається 4 способи постановки другої кулі на 3-6 позиції. Остаточно, ймовірність здохнути за такого розкладу -- 40%. А так як ймовірність здохнути при прокрутці барабану 33%, цього разу нам набагато вигідніше стерти небажану інформацію, яку нам несвідомо (бо а як же ще) лишив тотал поліцай.

Задоволені? Є цікавіший спосіб це підрахувати, тож давайте застосуємо його. Тож, коли кулі знаходяться не підряд, перед кожним бойовим патроном йде холостий, а отже серед чотирьох холостих слотів, які міг вистрелити наш друг, двоє ведуть до нашої смерті. Відповідно, ймовірність загинути без прокручування у такому випадку -- 50%. Так як патрони не стоятимуть підряд у двох випадках з трьох, а підряд -- в одному з трьох, то ймовірність склеїти ласти рівна:

P(угробитися)=P(накритися|патрони не підряд)*Р(патрони не підряд)+Р(занапаститися|патрони підряд)*Р(патрони підряд)=1/2*2/3+1/4*1/3=1/3+1/12=5/12=41.(6)%.

звук зажованої плівки

Так, теорія ймовірності мала б бути точною наукою, а не ось цим от. Де ж помилка?

Повернімося до ліричного відступу, де ми згадали, що для обчислення ймовірностей частотним методом події мають бути рівноймовірними. Саме тому мені й подобається другий метод з двох причин:

1) Положення, при яких між патронами є 0, 1, або 2 кулі відповідно, є рівноймовірними, бо всіх по 6, якщо ви не любите обертальну симетрію. Не забувайте, що кулі є нерозрізнюваними.

2) Аналогічно рівноймовірними є холості патрони, якими КДБіст люб'язно набив барабан перед грою.

Чи є рівноймовірними рядки нулів та одиниць, які ми рахували у першому способі? Як мінімум, це неочевидно, в той час як кожна стартова позиція барабану є рівноймовірною з усіма іншими. Давайте знайдемо цю нерівноправність.

Як щодо рядку 100100? Чи можна потрапити в нього більшою кількістю способів, ніж в рядок 101000, чи 100010? Так! Бо якщо барабан мав бойові потрони завантаженими у протилежних позиціях, то потрапити на них можна було двома способами, в той час як призвести до позиції 101000 -- лише одним. Підкоригуємо наші розрахунки у першому способі, надавши вагу 2 рядкам, де між одиницями два нулі. Остаточно ймовірність вигинути:

Якщо ви бачите горизонтальну лінію вгорі -- її там не має бути

Перемога! Ніт.

Можливо, у вас як і в мене закрались сумніви щодо рівноймовірності початкових барабанів у другому способі. А й справді, якщо пронумерувати позиції в барабані від 1 до 6, то кількість способів вставити в нього дві кулі рівна 6*5/2=15, бо знову ж таки, кулі нерозрізнювані. Аналогічно, ми можемо поставити в барабан дві кулі підряд шістьмома способами, дві кулі через 1 теж шістьмома, і остаточно, дві кулі через два ще шістьмома, в сумі 6*3=18... Та хай йому грець!

Тобто, кількість способів поставити кулі навпроти одна одної вдвічі менша, ніж підряд? Так. Яка ж тоді ймовірність того, чого я так хочу під час написання цього всього?

P(сконати)=6/15*1/4+6/15*1/2+3/15*1/2=4/10=2/5=40%.

Surprise motherfucker.

Чувак, коли ти вже ввімкнеш Пітон і просимулюєш?

По перше, я не член команди Нідерландів на Євро 2020. А по друге, як просимулювати? Вам не здається, що довільна спроба засимулювати це впиратиметься у те, які події ви вважатимете рівноймовірними? От спробуйте уявити собі алгоритм, як ви починатимете кодити цю задачу. Для реалізму, уявите перед собою барабан. Співставите першому пострілу 1. Згенеруєте два РІЗНИХ числа на проміжку від 1 до 6. Згенеруєте ще одне число від 0 до 5, яке відповідатиме прокрутці барабану. Подивитесь, чи виживає другий відчайдух. Випадки, коли вмирає перший -- викинете з розгляду. Після ляма запусків отримаєте...

40%. Кінець?

Розгадка

Останній трюк, який нам потрібно зробити, це провести вилізлу нитку через ще одну дірку. Пригадайте момент, коли я казав, що рядки 100100 не є рівноймовірними з 101000, бо в них можна кінчити вдвічі більшою кількістю способів. Проте тепер ви знаєте і те, що отримати рядок, де одиниці будуть на відстані 2, вдвічі складніше. А отже, всі рядки справді виходять рівноймовірними! Саме тому наш найперший спосіб розв'язку давав правильний результат. Але, він не мав права вважатись правильним доки не був обґрунтований цей момент.

НАВІЩО?

Я писав цей пост не так для відповіді на загадку, як для підняття куди важливішого питання -- чи завжди симуляції можуть вирішити таку суперечку? Вам певно відомий парадокс Бертрана, де на питання:

Яка ймовірність отримати хорду в колі довшу за сторону вписаного у нього правильного трикутника?

Відповідей цілих три, і всі вони правильні, бо залежать від того, як обирати хорду. Таку ж саму проблему мали б щодня долати всілякі наукивці даних, бо симуляція рахуватиме події рівно так, як вони обираються/за якою рівноправністю задаються. І якраз задача про рулетку мала послужити чудовим прикладом цьому явищу, якби я не знайшов помилку у власних судженнях півторамісячної давнини.

Подяки

Цієї статті (вже не посту, статті!) не було б, якби мені одного разу @astronomy_guy не надіслав набір годного логічного стафу, над яким ми в результаті й дискусійно відкинулись і без всіляких рулеток. За що йому превелика дяка.

Report Page