Дмитрий Радищев (dibr) wrote,
Дмитрий Радищев
dibr

Category:

Люк, я твой научрук

Прочитал тут забавную задачку по теории вероятностей (мат. статистике) - https://sporaw.livejournal.com/667823.html. Задачку приведу сразу "со спойлерами" (с правильным ответом и его интерпретацией), потому что удивила меня не столько сама задачка, сколько один из выводов из неё.

Собственно, задачка. Пусть мы играем в орлянку (с "банком", то есть с бесконечным резервуаром денег), монета честная (вероятности орла-решки - по 1/2 каждая). Начальная ставка - $100, в случае орла текущая ставка увеличивается на 50% (т.е. умножается на 1.5), в случае решки - уменьшается на 40% (т.е. умножается на 0.6). Легко подсчитать, что мат. ожидание выигрыша в одной игре - (1.5+0.6)/2 = 1.05, то есть в среднем за один бросок ставка увеличивается на 5%.

Теперь рассмотрим "длинную" игру: начальная ставка всё те же $100, но бросок повторяется много (тысячу, десять тысяч) раз, каждый раз в игре участвует вся текущая ставка (нельзя "отложить" часть денег в сторону и играть только частью), нельзя закончить игру досрочно или продолжить игру после окончания. Для математической простоты будем считать что ставка может дробиться бесконечно - до наноцентов и ниже, и "в ноль" проиграться нельзя (но оказаться совсем к нему близко - можно). Вопрос классический: стоит ли в такую игру играть?

Казалось бы, а чего тут думать-то - на каждом броске мат.ожидание выигрыша больше единицы (1.05), на N бросках это будет 1.05^N, значит игра выигрышная, причем круто выигрышная - на 1000 бросках это 1.05^1000 ~= 1.55e21, а на 10000 бросках - вообще 7.8e211, столько денег во всю вселенную не влезет, разве что безналом. Надо играть!

Или нет? 1.05 мы ведь подсчитали по множеству независимых бросков, там среднее арифметическое, а при последовательных бросках новая ставка зависит от исхода предыдущего броска, и результаты всех бросков перемножаются. Скажем, если у нас подряд выпал орёл и решка, мы получили 1.5*0.6 = 0.9, а вовсе не 1.05! А поскольку наиболее вероятно выпадение последовательности, в которой орлов и решек поровну, то вместо 1.05^N мы - с наибольшей вероятностью - получим проигрыш вида 0.9^(N/2) - тоже кстати довольно крутой, на 1000 бросков это 1.3e-23.

Или вот прикинем, можем ли мы свести игру "в единицу" (остаться примерно при своих), и с какой вероятностью. Для этого орлы (1.5) должны попадаться чаще чем решки (0.6), причём заметно чаще, процентов на десять (ну, примерно), если же мы хотим выиграть - орлы должны попадаться ещё чаще. А поскольку частотное распределение орлов-решек в серии бросков тем более узкое (в процентах), чем больше бросков сделано, и пик приходится на одинаковое количество орлов и решек, то вероятность хотя бы свести игру "в единицу" стремительно падает с ростом числа бросков, не говоря уже о вероятности выиграть.

Так это что же получается, нельзя играть, куда ни кинь сплошной проигрыш? Как проверить-то?!
По хорошему надо честно подсчитать мат.ожидание выигрыша для всей последовательности из N бросков, усреднив интересующее нас произведение для всех возможных 2^N исходов. Проблема в том, что для большого N количество исходов становится совсем запредельным (2^1000 ~= 1e301), и как такое считать. Ну да, ну да - для этого случая есть общая формула (о ней чуть позже), но я же не математик, я с её выводом сходу не справился, и решил проверить экспериментально (физик же, и как раз экспериментатор). Проверить ессно не с физической монетой, а на компе - написать простенькую программку, генерирующую случайные числа, и запустить несколько раз - посмотреть что получится. Написал, запустил - конечная сумма быстро улетела почти к нулю. Запустил ещё с десяток раз, ессно с другой "затравкой" последовательности (а то мало ли, случайности штука такая) - получил то же самое. Разумеется, исходы каждого моделирования игры отличались на порядки - но какая разница, если для любого практического применения они неотличимы от нуля: 1e-200 и 1e-250 это один фиг "полный проигрыш", хотя формально они отличаются на 50 порядков.

Так значит получается что "длинная" игра всё таки проигрышная - ведь и 1.05*0.6 у нас оказывается меньше единицы, и компьютерное моделирование показывает, что, грубо говоря, из 100 игр 100 закончились проигрышем? А применять 1.05^N нельзя потому что "система неэргодична" - среднее по ансамблю не равно среднему по времени?

Нет!
Если все-таки найти общую формулу мат.ожидания для N бросков, и честно подсчитать средний выигрыш, мы действительно получим 1.05^N, как и предполагали изначально, то есть игра сильно выигрышная (в среднем).
И таки да, если подсчитать вероятность выигрыша, то при больших N она стремительно уменьшается, то есть в этой игре мы почти гарантированно проигрываем.
Одно увязывается с другим довольно просто. Средний выигрыш у нас большой - для 1000 бросков, как я уже считал выше, это 1.55e21. При этом максимальный выигрыш, если будут выпадать только орлы - ОХЕРЕННО большой, для 1000 бросков это 1.5^1000 = 1.23e176, ну и есть какое-то количество других выигрышей, поменьше, но всё равно охеренно больших. Поскольку проигрыши у нас не могут быть больше $100 (у игрока больше нет), получается что чтобы среднее сошлось, вероятность выигрыша стремительно падает с N (а вероятность проигрыша соответственно растёт, собственно чуть выше я про это писал), при этом так же стремительно растёт максимальный выигрыш. И игра быстро превращается в "лотерею с СУПЕРПРИЗОМ", в которой обычно проигрывают все - но с крайне низкой вероятностью кто-то может получить запредельно большой выигрыш, тем самым обеспечив то самое "среднее", равное 1.05^N. "Стоит ли играть" тут вопрос уже психологический, а не математический - вообще наверное нет, вероятность выигрыша исчезающе мала - но если стартовая ставка небольшая, и вам хочется "попытать счастья", то почему бы и нет, вдруг станете самым богатым человеком во вселенной (нет). Хотя формально игра выигрышная, да.

Но я собственно не про это.

Я про то, что например мы, физики, изучаем системы в том числе ставя эксперименты и делая измерения (если рассчитать не получается или в расчёте выходит какая-то странная фигня).
При этом если мы измерили один раз, то "мы знаем значение". Если измерили три раза и все три раза сошлись - "мы измерили, и у нас всё сходится, можно писать статью". Если измерили десять раз - "мы измерили и сделали статистику, теперь мы знаем погрешность". Сто раз - "нам было нужно ОЧЕНЬ ТОЧНО", тысячу раз... даже не знаю, тысяча повторов одного эксперимента штука на самом деле не такая уж и редкая (если эксперимент повторяется автоматикой и делается быстро), но всё-таки несколько нетипичная - обычно достаточно трёх повторений, при сомнениях - десяток, ну куда больше-то. При этом по мере усреднения последовательных измерений мы обычно приближаемся к истинному значению - есть даже оценки вероятной погрешности исходя из числа проделанных измерений.
В этой же задаче мы видим, что одно "измерение" с вероятностью близкой к единице даст нам полный проигрыш. И два "измерения" дадут нам прогрыш. И десять измерений дадут нам проигрыш. И даже сто измерений дадут нам полный проигрыш, потому что вероятность проигрыша на много порядков выше вероятности выигрыша, даже небольшого. А повторять измерение больше ста раз, при том что все сто раз мы получили практически один и тот же результат - полный проигрыш - зачем?? И так ведь ясно уже.

А вот это вот - эксперимент, усреднение, оценка погрешности, оценка "сколько достаточно экспериментов" - между прочим фундаментальные основы существующей методики познания. И в этих фундаментальных основах, на простой до тривиальности задаче, возникают такие вот спецэффекты: 100 измерений подряд дают "около нуля", истинное же среднее значение - "очень большое", и не зная внутренности системы фиг этот эффект экспериментально поймаешь.

И как в таких условиях двигать науку? И куда? "Вбок - потому что вперед не получается, а назад научрук не даёт"? (с)

Видимо так.
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 13 comments