sackett, если короткий ответ, то не совсем, скорее верно то, что написал
underground.
Длинный ответ может получится слишком длинным, и я буду писать много очевидных вещей, но все равно попробую. В самом простом варианте Монте-Карло это про то, когда мы не понимаем аналитически как будет вести себя какая-то случайная величина, но можем её много раз смоделировать и посмотреть что в среднем выходит. Здесь непонятно, что рандомить.
Вообще, что мы пытаемся построить? Мы хотим найти “оптимальную” стратегию. В теории игр принято оптимальной стратегией считать равновесие Нэша - набор стратегий, что если любой из игроков будет пытаться свою стратегию поменять (при условии, что остальные свои стратегии не меняют), то этим он не сможет выиграть. То есть такая необыгрываемая стратегия. Другими словами, если игроки будут пытаться все время улучшать свои стратеги, обыгрывать соперников, а те будут делать то же самое, то при долгом таком изменении стратегий, они придут в точку, где дальнейшие изменения не приносят улучшений.
Как выглядит вообще покерная стратегия? не “ну тут уже хуйню доставить”, а с точки зрения компьютера? Допустим, мы зафиксировали вышедший флоп и 2 диапазона возможных стартеров у каждого игрока. На флопе начинается игровое дерево, как может развиваться раздача. Чек-чек, бет-колл, чек-бет-колл, бет-рейз-рейз-рейз-рейз-рейз-фолд и так далее. А еще могут быть разные сайзинги в бетах и рейзах. Упрощенно, будем считать, что есть 5 вариантов перейти на терн. А на терне одна из 49 карт, на которых стратегии будут отличаться. А потом 5 вариантов (опять же упрощенно) перейти на ривер, где еще 48 карт и опять есть действия. И в каждой ячейке, нужно не просто выбрать с каждой стартовой рукой, что мы делаем, а задать частоту, с которой мы это делаем. Все это с учетом всех карт и предыдущих действий в раздаче (это как бы вшито в понятие игрового дерева). Можно ну очень грубо прикинуть, игнорируя всевозможные эффекты исключения, что нужно выбрать (количество рук в диапазоне) * 5 * 49 * 5 * 48 * 5 ~ много миллионов чисел от 0 до 1. И это одна стратегия для одного конкретного флопа. Если попробовать долго рандомить действия в каждой вершине дерева и потом выбрать из них лучшее, то все равно получится полный хаос. Засчет того что пространство огромно, мы будем получать очень далекие от равновесия бессмысленные стратегии.
Тут нужен какой-то более умный, итерационный подход, который будет сходиться к равновесию. То есть как раз пытаться делать те самые изменения, улучшающие стратегию, считай долго играть с самим собой. Я немного увлекся и просмотрел несколько
статей, которые есть на тему нахождения покерного равновесия, толком ничего не понял, но какие-то слова узнал. Используется алгоритм Counterfractual Regret Minimization (CFR), который напоминает игру с самим собой. Доказано, что он сходится к равновесию для игр нулевой суммой. По умолчанию алгоритми, насколько я понял, на каждой итерации меняет стратегии на флопе и потом пересчитывает все терны и риверы, но это очень долго для покера никогда не досчитается. Поэтому используют модификации алгоритмов, которые рассматривают только случайную часть тернов и риверов. Эти алагоритмы получаются намного более быстрые, но чуть менее точные. Эти методы как раз и называются Monte Carlo CFR. Есть еще немного другие методы, в последнее время с помощью нейронок что-то считают.
Но нам, как игрокам, не важно как именно считает солвер. Важно, что получаются достаточно точные приближения равновесных стратегий. Точность которых подтверждается величиной насколько заэксплоитить одну из стратегий, чтобы выиграть у другой (в статьях это называют eps-Nash equilibrium). Например, если это 0.01 блайнда, то можно быть довольно уверенным, что это хорошие стратегий. Можно сказать, что солвер очень долго играет сам с собой, пытаясь улучшаться, пока не достигнута нужная точность. А мы потом смотрим, к чему он пришел, пытаемся это как-то понять и использовать.
В самом начале карьеры у меня была попытка вести блог, и я очень много раз собирался начать еще раз, вот время пришло. Всю покерную карьеру у меня не было покерного круга общения, можно сказать, это мое самое слабое место в покере. Летом я переехал из Минска в Кембридж и мне стало недоставать общения, буду рад поговорить про стратегию и около того. Хотя, как я вижу, начать лучше играть можно только самому. В том смысле, что без регулярного задротства в разработку стратегии в софте и понимания, почему одно действие лучше чем другое, реальных изменений в игре не происходит.
Глобально, у меня очень много покерной мотивации, но локально бывают проблемы. Я понимаю, что мне надо делать, чтобы расти дальше, но часто что-то идет не так. Понятно, что со временем условия не улучшаются, я не начинаю соображать быстрее, обучаться не становится легче, как говорится, осталось два года. И покер такая среда, где нужно бежать со всех ног, чтобы оставаться на месте, а мне еще и хочется куда-то попасть.
С 18 лет я два года работал в IT, после чего решил перейти в покер. Это был не очень осознанный возраст, и теперь я бы работал совсем по-другому. Весь мой круг общения - это люди из IT, и я часто мысленно сравниваю IT и покер. И ни о чем не жалею, мне очень нравится покер со всем тем, что он дает, одновременно такую свободу и возможность получать отдачу на усилия сложно еще где-то найти. Соревновательный момент и сам процесс игры до сих пор в кайф, попытка в голове осознать стратегию оппонента и придумать, на какой улице и с какой частью диапазона это обыграть - это как удовольствие от решения математической задачи. Заглядывая в будущее, в покере есть смысл только развиваться, стагнация приводит к печальным исходам. Заглядывая дальше, я хочу понять, чем заниматься после покера, но пока просто радуюсь тому, что есть, и пытаюсь делать лучше то, что от меня зависит.