Monker Solver — программа для расчёта покерных ситуаций по теории игр. Такие программы называют солверами: они не подсказывают ход за столом, а считают заранее, как выглядит оптимальная стратегия в конкретной ситуации, чтобы игрок разобрал её дома и запомнил закономерности.

Большинство солверов считают ситуации между двумя игроками на постфлопе. Monker Solver решает более широкий круг задач: банки с участием трёх и более игроков, расчёт с любой улицы, а также омаху и омаху хай-лоу наравне с холдемом. Отдельно программа считает префлоп целиком — не одну ситуацию, а всё дерево открытий, 3-бетов и 4-бетов для заданной глубины стеков.

Что именно считает программа

Работа строится вокруг трёх понятий, и без них дальше не разобраться.

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

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

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

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

Конструктор дерева розыгрыша

Сборка ситуации начинается с выбора игры — холдем, омаха или омаха хай-лоу — и количества участников. Дальше указывается улица, с которой идёт расчёт, стеки участников и размер банка к этому моменту.

Отдельно описываются разрешённые размеры ставок для каждой улицы: например, ставка в половину банка и ставка в размер банка на флопе, две ставки на терне, ставка и повышение на ривере. Чем больше размеров разрешено, тем ближе расчёт к реальной игре и тем дольше он считается — на практике оставляют два-три размера на улицу.

Что это даёт: дерево можно собрать точно под свою игру. Размеры ставок в конкретном руме, реальная глубина стеков, взнос за раздачу — всё это учитывается в расчёте, а не подставляется из чужого шаблона.

Зачем это новичку: первое время удобнее считать простые деревья с одним-двумя размерами ставок. Они решаются быстро, а закономерности в них видны отчётливее, чем в громоздкой конструкции на десяток веток.

Банки на трёх и более игроков

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

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

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

Омаха и омаха хай-лоу

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

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

Абстракция: как уместить расчёт в память компьютера

Абстракция — способ уменьшить размер задачи. Программа объединяет руки, которые следует играть примерно одинаково, в общие группы (в программе они называются «бакеты», то есть «корзины»), и все руки внутри группы играются с одинаковыми частотами. Смысл в том, что если две руки и так игрались бы одинаково, от их объединения ничего не теряется.

Настройки задаются отдельно по улицам: сколько групп по силе руки создавать на флопе, терне и ривере, и насколько подробно учитывать текстуру борда. Чем больше групп — тем точнее результат и тем больше нужно памяти и времени. В настройках программа заранее показывает оценку требуемой оперативной памяти для собранного дерева, так что запускать расчёт вслепую не приходится.

Что это даёт на практике: одну и ту же ситуацию можно посчитать дважды — грубо и быстро, чтобы понять общую картину, и подробно, когда нужны точные частоты по конкретным рукам.

Зачем это новичку: настройки абстракции — главный рычаг между «расчёт завершился за десять минут» и «расчёт не запустился из-за нехватки памяти». Разобраться с ними стоит раньше, чем со всем остальным.

Чтение готового решения

Результат показывается в виде матрицы рук: для каждой руки видно, с какой частотой она ставит, коллирует или сбрасывается, и какую ожидаемую ценность приносит каждое из действий. Ожидаемая ценность (EV) — средний результат действия, если повторить ситуацию множество раз; сравнение EV двух действий показывает, насколько выбор между ними принципиален.

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

Для разбора в программе есть строка фильтров с собственным синтаксисом: можно выделить, например, только односторонне-масти руки или только руки без пары и посмотреть, как играет именно эта группа. Синтаксис требует привыкания, но именно фильтры превращают таблицу частот в понятные правила вроде «руки такого типа продолжают, такого — сбрасываются».

Что это даёт на практике: вместо запоминания сотен отдельных рук выделяются группы со схожим поведением, и в игре достаточно узнать группу.

Обзор бордов: сводка по множеству флопов

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

Что это даёт на практике: закономерности вида «на таких бордах ставка идёт почти всегда и маленьким размером, а на таких — редко и крупно» видны сразу, без ручного перебора десятков расчётов.

Зачем это новичку: за столом никто не вспоминает точные проценты. Запоминаются именно такие правила по типам бордов, и сводная таблица — самый короткий путь к ним.

Префлоп целиком и просмотрщик диапазонов

Префлоп считается не отдельной ситуацией, а всем деревом сразу: открытия с каждой позиции, ответы на них, 3-беты, 4-беты и защита блайндов для заданной глубины стеков, размера взноса за раздачу и структуры анте. Это самые тяжёлые расчёты в программе — большие префлоп-деревья требуют десятков и сотен гигабайт оперативной памяти, поэтому их обычно запускают на арендованном сервере, а не на домашнем компьютере.

Готовый префлоп выгружается в MonkerViewer — бесплатную программу для просмотра диапазонов. Лицензия для неё не нужна: достаточно завести бесплатный аккаунт, скачать просмотрщик и указать папку с выгруженными диапазонами. Внутри переключаются позиции и линии, а цвета действий настраиваются вручную.

Что это даёт на практике: тяжёлый расчёт делается один раз, а пользоваться результатом можно в лёгкой программе, которая открывается за секунды.

Зачем это новичку: префлоп-диапазоны — самая окупаемая часть подготовки. Их достаточно посчитать однажды и потом просто сверяться с готовыми таблицами.

Расчёт против конкретного соперника

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

Что это даёт на практике: становится видно не только «как играть правильно», но и «как играть против типичной ошибки», а это и есть основной источник прибыли на низких лимитах.

Зачем это новичку: осваивать этот режим стоит после того, как станут понятны обычные равновесные решения — иначе не с чем сравнивать результат.

Совместимость: форматы и площадки

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

Программа устанавливается на компьютер и не подключается к покерным румам: она не читает историю раздач и не отображается поверх столов. Работает под Windows 64-bit и macOS, минимальное требование — 8 ГБ оперативной памяти, но реальный потолок расчётов определяется именно её объёмом, а скорость — частотой и количеством ядер процессора. Для запуска требуется 64-битная Java.

Важное ограничение касается использования во время игры: покерные румы, в том числе PokerStars, прямо запрещают подсказки по готовым решениям за столом. Программа предназначена для разбора между сессиями.

Готовые решения сохраняются в собственный файл расчёта и открываются на другом компьютере с лицензией; префлоп-диапазоны дополнительно выгружаются в формат просмотрщика. Ряд сторонних программ умеет читать эти выгрузки, поэтому посчитанные диапазоны не остаются запертыми внутри одной программы.

С чего начать

Порядок первых шагов простой.

  1. Завести бесплатный аккаунт на сайте разработчика и установить 64-битную Java, если её нет на компьютере.
  2. Скачать программу и запустить её в бесплатном режиме — он позволяет считать ситуации на терне и ривере. Этого достаточно, чтобы освоить сборку дерева и чтение результата.
  3. Собрать первое простое дерево: два игрока, ривер, один размер ставки. Такой расчёт занимает минуты и показывает всю логику работы.
  4. Перейти к флопу и добавить второй размер ставки, следя за оценкой требуемой памяти в настройках абстракции.
  5. Когда понадобятся флоп с тремя игроками, полные префлоп-деревья и сохранение больших расчётов — купить полную лицензию.
  6. Для тяжёлых префлоп-расчётов подобрать арендованный сервер с большим объёмом памяти: на домашнем компьютере такие деревья обычно не помещаются.

Отдельно стоит сказать про порог входа: интерфейс здесь инженерный, без подсказок и обучающих сценариев. Первые расчёты уходят на освоение самой механики, и это нормально.

Тарифы

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

Подробное описание тарифов и цен приведено на странице описания продукта.

Итог

Monker Solver — инструмент для тех, кому нужны решения там, где их больше негде взять: банки на трёх и более игроков, омаха и омаха хай-лоу, полные префлоп-деревья. Взамен программа требует терпения при освоении и заметных вычислительных ресурсов на крупных расчётах.

Осваивать её стоит постепенно: бесплатный режим и расчёты на ривере, затем флоп с двумя игроками, затем мультипоты и префлоп. Такой порядок даёт понимание работы программы раньше, чем встанет вопрос о покупке лицензии и аренде сервера.

Konstantin Abbakumov
Konstantin Abbakumov

Профессиональный игрок в покер и специалист по софту

Профессиональный игрок в покер и аналитик покерного софта с шестилетним опытом в мид-стейкс No-Limit Hold'em. Три года работал техническим специалистом крупных покерных команд, создатель Exploit HUD. Разбирает покерный софт с позиции человека, который использует его каждый день.