?
[]

Log in

No account? Create an account
Ни о какой безапелляционности в моих высказываниях не может быть и речи! [entries|archive|friends|userinfo]
Anatoly Vorobey

[ website | Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| English-language weblog ]

еще раз о роне и рут [авг. 8, 2022|12:46 am]
Anatoly Vorobey
[Tags|, ]

На тему задачи о жулике при случайном блуждании.

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

https://www.youtube.com/embed/aYBTlcxa31M


Дальше идет очень краткий пересказ основных идей решения, его написал я, если что-то непонятно, смотрите видео.

Главная идея, которая нам нужна, называется "вычислимый мартингал". Представьте себе, что вам дают по одному числу бесконечную строку из -1 и +1, напр. это самое случайное блуждание, а вы пытаетесь на основе уже увиденных чисел предсказать, каким будет следующее. У вас есть начальный бюджет, скажем один доллар, и вы решаете сначала, сколько из него поставить на то, что первое число +1, а сколько -1; обратно вы получаете удвоенную ставку. Скажем, если вы уверены на 90%, что первым числом будет +1, то поставьте 90 центов на +1, и 10 центов на -1. Если вы правы, то обратно получите 1.80, если нет - 0.20. Теперь все, что у вас есть, ставьте на следующее число: часть на +1, остальное на -1, и так далее. После N чисел у вас на руках есть какие-то деньги, причем легко видеть, что средним значением по всем возможным 2^N строкам остается $1, но если вы например точно знали, какие числа будут выпадать, то могли всегда ставить правильно и заработать экспоненциально много денег.

Так вот, "вычислимый мартингал" это просто алгоритм, который на каждую конечную строку дает разброс, как вы собираетесь ставить, если вот это уже выпало, и сейчас решать, -1 или +1. Теперь если у вас в руках есть такой алгоритм, и вам дают бесконечную строку, можно посмотреть, сколько денег вы на ней будете делать. Если ваши деньги растут неограниченно, то назовем такую строку НЕСЛУЧАЙНОЙ. Скажем, строка "двоичное разложение числа пи" неслучайна, очень легко на ней делать деньги. А вот строка, полученная броском честной монеты, явно случайна - можно доказать, что вероятность того, что найдется для нее вычислимый мартингал, дающий неограниченную прибыль, равна 0.

Идея решения в том, что вопрос о "случайности" строк Рона, Рут или совместного их блуждания мы переводим на язык мартингалов. Мы знаем, что блуждание Рона и Рут никогда не возвращается в 0. Оказывается, этого факта достаточно, чтобы показать, что на их бесконечной строке можно "делать деньги"; это потому, что доля таких строк длиной N, которые не возвращаются в 0, среди всех строк длиной N, все время уменьшается и стремится к 0. Мы можем построить выигрышный мартингал, использующий это: скажем, если взять достаточно длинный префикс, так, чтобы доля невозвращающихся в 0 строк в нем была меньше 1/64, то на этом префиксе можно увеличить свою прибыль в 64 раза (мы знаем, что наша строка одна из малого числа всех возможных, и "направляем" наши ставки только на такие строки). Выигрышный мартингал может последовательно увеличивать капитал игрока в 2,4,8,16 и так далее раз, рассматривая все более длинные префиксы блуждания. Подробности см. в видео.

Теперь у нас на руках есть конкретный алгоритм (пусть довольно сложный и абстрактный), который использует неслучайность блуждания в финансовых целях, и генерирует неограниченную прибыль. Если мы разобьем этот алгоритм на два, один, который делает то же, что исходный, на четных шагах, а на нечетных ставит поровну 0.5/0.5, и другой наоборот, то эти два мартингала соответствуют попыткам нажиться только на шагах Рона или только на шагах Рут. Меж тем прибыль исходного мартингала, как легко видеть, равна произведению прибыли этих двух, поэтому один из них тоже обязан давать неограниченную прибыль. Он-то и соответствует игроку-жулику. (как сказано выше, если бы этот игрок бросал чистую монету, вероятность существования такого мартингала на шагах только этого игрока была бы 0).


Не супер наглядно, но красиво и очень интересно. Более подробные обсуждения как технических, так и философских вопросов ("что именно мы доказали?", "в каком смысле это можно проверить?", "как интуитивно объяснить, как именно выдает себя жулик?" итд.) есть в видео.
СсылкаОтветить

Comments:
From: Dmitry Khovratovich
2022-08-07 09:55 pm
Зачем все это нужно если достаточно заметить что первый ход у обоих участников одинаковый?
(Ответить) (Thread)
[User Picture]From: vashu11
2022-08-07 10:51 pm
При двух честных игроках первый ход будет одинаков в половине случаев.
(Ответить) (Parent) (Thread)
[User Picture]From: reeshkov
2022-08-08 04:29 am
В казино жуликов без алгоритмов вылавливают, причем даже тех кто не жульничал)
(Ответить) (Thread)
[User Picture]From: zlata_gl
2022-08-08 06:40 am
Трудно поймать черную кошку в темной комнате, особенно если ее там нет.
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: zlata_gl
2022-08-08 06:39 am
Верно ли я поняла, что речь идет об алгоритме, который по наблюденным N отсчетам (а не бесконечной последовательности) дает возможность угадать следующий ход с вероятностью больше 1/2 ?
Речь идет о наблюдении одной игры или многих ?

Этот алгоритм показан в лекции ?
(Ответить) (Thread)
From: lzh
2022-08-08 10:39 am
Давайте я сформулирую утверждение почти строго и дам некоторые определения.

Существуют две вычислимые меры, соответствующие игрокам, и у этих мер есть следующее свойство. Для любой бесконечной двоичной последовательности, в которой количество префиксов, где нулей больше, чем единиц, конечно (частный случай - из исходного вопроса - таких префиксов нет вообще), отношение хотя бы одной из двух мер к равномерной стремится к бесконечности.

Префикс бесконечной последовательности x1x2x3... это конечное слово x1x2...xn (без пропусков!) для некоторого n. (Вероятностная) мера m сопоставляет каждому конечному слову некоторое неотрицательное число, так что (A) m от пустого слова равно 1 и (B) m(x) = m(x0) + m(x1) для любого конечного слова x. Равномерная мера равна 2^{-n} на словах длины n. Отношение меры m к равномерной (то есть m(x)*2^{длина x}) называется мартингалом относительно равномерной меры.

Мера вычислима, если существует алгоритм, который по x и требуемому числу знаков выдаёт приближение к m(x) с заданным числом знаков.

Те меры m1 и m2, существование которых утверждается выше (и в посте очень кратко описано, как их строить), соответствуют игрокам в следующем смысле: m1(x0)=m1(x1)=0.5m1(x) для x нечётной длины, и то же для m2 и чётной длины. В терминах мартингалов, мы не ставим на чётных / нечётных шагах, так что отношение меры к равномерной не изменяется. Жульничал тот игрок, для которого отношение "его" меры к равномерной стремится к бесконечности.
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: gul_kiev
2022-08-08 12:39 pm
Сейчас буду смотреть лекцию, потому что по описанию остался вопрос.
Если мы делаем ставки постфактум, зная все ходы Рона, то мы можем не угадывать, а играть наверняка.
А если мы делаем ставки, не зная ходы Рона, в процессе игры, то мы и не можем опираться на то, что ноль никогда не будет встречен. Ведь жульническая стратегия Рона может давать результат, скажем, пересечения 0 с вероятностью 1/2, а бесконечное количество пересечений 0 с вероятностью 1/4, и во время игры ни мы, ни жулик-Рон не знаем, встретится ли ноль.
Насколько корректно оставить этот один факт, но не оставлять информацию об отдельных ходах?

Пока писал коммент, кажется, понял.
Суть не в том, что для любой бесконечной последовательности, не проходящей через ноль, существует вычислимый мартингал, дающий неограниченную прибыль, а в том, что существует вычислимый мартингал, который для любой бесконечной последовательности, не пересекающей ноль, даёт неограниченный выигрыш. Я прав?

Осталось понять, почему, если сама случайная последовательность неограничена, для любого выичлимого мартингала (например, всегда ставящего половину на +1 и половину на -1) выигрыш будет ограничен. Может быть, под неограниченным выигрышем понимается что-то другое — например, что выигрыш стремится к бесконечности?
(Ответить) (Thread)
[User Picture]From: zlata_gl
2022-08-09 03:45 am
Если мы делаем ставки постфактум, зная все ходы Рона, то мы можем не угадывать, а играть наверняка.
Вот и я — о том же.
(Ответить) (Parent) (Thread) (Развернуть)
From: mr_numeraire
2022-08-08 02:42 pm
Спасибо Александру и вам. Очень интересно. Если я всё правильно понял, то мне кажется, возможно не все нарушения случайности могут быть обнаружены этим мартингальным методом. Например, если жулик будет бороться против какого-нибудь “асимптотического” свойства бесконечной последовательности орлов-решек.

Конкретный пример. Известно, что длина самой длинной серии (подряд) орлов в последовательности длины N приблизительно log(N) (для любопытных: http://www.csun.edu/~hcmth031/tlroh.pdf ). Представьте, что жулик озабочен только этим, и следит, чтоб в асимптотике было log(N)^.5 (или еще хуже: все что угодно, но не log (N)). Элементарно вставляя время от времени решку в длинные серии орлов. В чем проблема? Ломается красивая “эпсилон лемма”. Для конечных последовательностей орлов решек мы четко видим, где мы вернулись в ноль, а где -- нет. Для асимптотических свойств этой определенности – нет.

Хотя это не означает, что такие отклонения от случайности не определяются вычислимыми мартингалами в принципе. В качестве множества S (из леммы), наверное, можно взять множество последовательностей длины N, где длина самой длинной серии орлов короче ожидаемой (приблизительно log (N)) на, скажем, log(log(N)) (см. опять же: http://www.csun.edu/~hcmth031/tlroh.pdf). Но деталей, через которые надо продраться, становится слишком много.

Edited at 2022-08-08 14:44 (UTC)
(Ответить) (Thread)
[User Picture]From: snyders
2022-08-08 07:41 pm
По моему его рассуждения будут работать, даже если последовательность будет проходить через ноль, но статистически реже чем случайная. Таких последовательностей тоже гораздо меньше чем настоящих случайных и т.д. Это похоже на ваше асимптотическое свойство.
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: snyders
2022-08-08 05:55 pm
Спасибо, очень интересно. Интересно можно ли методами анализа без мартингалов понять, кто жулик. Действительно ясно, что lim inf S_n=infty , но дальше непонятно что делать.

Из лекции не вполне понятно, почему конечный алгоритм (не зависящий от числа шагов n) может вычислять распределение вероятностней выигрыша для любой глубины n. И еще вопрос А. Шеню: любое ли свойство меры нуль вычислимо конечным алгоритмом?
(Ответить) (Thread)
From: mr_numeraire
2022-08-08 07:08 pm
Он не совсем конечный: "Выигрышный мартингал может последовательно увеличивать капитал игрока в 2,4,8,16 и так далее раз, рассматривая все более длинные префиксы блуждания."

(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: sir_barristan1
2022-08-09 10:39 am

n, ненулевые, общее число




1 2 2
2 2 4
3 4 8
4 6 16
5 12 32
6 20 64
7 40 128
8 70 256
9 140 512
10 252 1024
11 504 2048
12 924 4096
13 1848 8192
14 3432 16384
15 6864 32768
16 12870 65536
17 25740 131072
18 48620 262144
19 97240 524288
20 184756 1048576
(Ответить) (Thread)
[User Picture]From: sir_barristan1
2022-08-09 10:44 am

RE: n, ненулевые, общее число

Выше число ненулевых цепочек на каждый ход до 20. Также для подсчета вероятности указано их общее число.

Как мы видим, вероятность изменяется только на четном шаге, на нечетном она такая же.

Видим уменьшение её. Ну вот хотелось бы теперь на конкретных числах увидеть пример, как применяются описанные выше рассуждения.

UPD. Я прослушал лекцию, мне всё понравилось, но как всегда с применением возникают проблемы.
1) За счет чего мы можем вообще как-то ставить на то, что первый жулик, у нас нет информации чтобы ловить его. Поскольку все возвраты в ноль на четных ходах и только там мы можем ставить с выигрышем.

2)Ну вот на 20 итерации 184756, я поставлю на каждую мой выигрыш X. Тогда мой выигрыш 2/184756 X, да это больше, чем 2/1048576 X, но я всё равно продувая, что будет дальше, ведь число цепочек будет небольшим по сравнению с общим числом, но тоже будет стремиться к бесконечности

Edited at 2022-08-09 10:58 (UTC)
(Ответить) (Parent) (Thread)
[User Picture]From: gul_kiev
2022-08-10 09:47 am
Рискну высказать утверждение, что приведённое решение неверно или, как минимум, существенно не полно.

Причина — именно отличие между неограниченным и бесконечным выигрышем. Для последовательности, не проходящей через ноль, существует мартингал, дающий бесконечный выигрыш, но если разложить его на два мартингала, делающих нейтральный выбор для чётных и для нечётных ходов, то каждый из них может давать неограниченный, но не бесконечный выигрыш, и найти читера не получится.

Более конкретно. Рассмотрим алгоритм (мартингал), который для координаты N делает ставку 1/2+1/4N на увеличение и, соответственно, 1/2-1/4N на уменьшение. Иными словами, при увеличении получается выигрыш 1/2N, при уменьшении проигрыш 1/2N. Если мы сходили на +1 вправо и вернулись обратно, то мы выигрыли 1/2N и потом проиграли (1+1/2N)/2(N+1) = (2N+1)/4N(N+1), т.е. выиграли больше, чем проиграли, остались в плюсе (этот проигрыш легко сравнить с выигрышем 1/2N: после умножения на 2N получится (2N+1)/(2N+2), что меньше единицы).
Можно увидеть, что для любого участка, который заканчивается там же, где начинается, и не пересекает точку старта, такой мартингал тоже даёт выигрыш, причём не меньше, чем для случая, когда сделали один ход вправо и вернулись, разложив его на более элементарные участки с монотонным увеличнием и потом монотонным спуском.
Всю бесконечную последовательность, не проходящую через ноль, можно разложить на участки, которые возвращаются в исходную точку, являющуюся при этом минимумом для этого участка (т.е., начинается с k, потом возвращается в k, и нигде посередине не принимает значения меньше k), и монотонно возрастающие участки. Если монотонно возрастающие участки составляют бесконечную последовательность, то вся наша исходная последовательность стремится к бесконечности, и суммарный выигрыш тоже бесконечен (ряд 1/2N расходится, а участки с возвратом не дают уменьшения). Если бесконечного увеличения нет, то поледовательность бесконечно возвращается к какому-то одному числу, и на каждом участке между этими возвращениями сумма выигрыша увеличивается не менее, чем на вполне фиксированную сумму, т.е. выигрыш в этом случае тоже бесконечно растёт.
Это конкретный явный пример вычислимого мартингала, дающего бесконечный выигрыш на любой последовательности, никогда не пересекающей ноль.

Теперь возьмём для примера такую последовательность. Пусть чётные ходы всегда (после первых двух ходов на +1) зеркалят нечётные, т.е. мы всегда остаёмся в точке 2 плюс-минус 1. А нечётные делают 1 ход вправо, потом 2 влево, 4 вправо, 8 влево, 16 вправо и т.д. Каждая такая убывающая серия заставит мартингал A проиграть всё накопленное, в то время как мартингал B получит приличный выигрыш (для него ведь это будет большая возрастающая серия). Но при смене направления произойдёт наоборот: теперь уже B всё проиграет, пока A будет подниматься к новым рубежам. В итоге ни у одного из этих мартингалов выигрыш не будет бесконечным (хотя, конечно, будет неограниченным), несмотря на бесконечный выигрыш их произведения: рост одного будет соответствовать падению другого. А неограниченность выигрыша не даёт нам сделать вывод о неслучайности последовательности.
И получается, что в таком варианте мы таким способом не определим, кто из них жулик.

Этот пример немного расходится с условием задачи, потому что по условию жулик только один, а в примере жульничают оба. Однако описываемый способ, если бы он был корректным, позволял бы найти жулика даже в случае, если бы жульничали оба.

Возможно, в варианте, когда одна из подпоследовательностей действительно случайна, выигрыш мартингала, делающего на ней нейтральные ходы, с необходимостью окажется бесконечным, но для этого нужны какие-то другие рассуждения и обоснования, которых в ролике (и в вашем его описании) нет.
(Ответить) (Thread)
From: a_shen
2022-08-10 06:38 pm
Да, это тот тонкий момент, про который я говорил, но который остался неразобранным. Рассуждение в видео приводилось для случая интерпретации случайности как существования неограниченного мартингала. Тогда неограниченность произведения гарантирует неограниченность одного из сомножителей. Для мартингалов, стремящихся к бесконечности, это, вообще говоря, неверно. Однако можно преобразовать вычислимый мартингал так в другой вычислимый мартингал так, чтобы на всех последовательностях, на которых первый не ограничен, второй стремился к бесконечности. Для этого надо разделить капитал на части (бесконечное число положительных частей), и дать на i-й части играть неограниченному мартингалу (с тем капиталом, который ему достанется, пусть и очень малым), пока он не достигнет капитала 1 (например). Тогда вместе они гарантируют стремление к бесконечности.

(Другой вариант — saving trick — надо, когда капитал превосходит 2, откладывать 1 и продолжать игру с оставшимся капиталом — в какой-то момент мы снова достигнем 2 и т.д. )
(Ответить) (Parent) (Thread) (Развернуть)
From: sureguef
2022-08-20 05:02 pm
1. Спустя две недели я понял, что меня смущает в этом решении — я не понимаю, где в нем используется онлайновость.

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

2. Гил опубликовал статью, где эта задача решается, решение там намного более сложное.
(Ответить) (Thread)
From: sureguef
2022-08-20 05:05 pm
Ссылка на пост https://gilkalai.wordpress.com/2022/08/15/answer-to-test-your-intuition-50-detecting-a-deviator/ (на всякий случай отдельным комментом, вдруг ссылки скринятся).
(Ответить) (Parent) (Thread)