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

Задача, которую решает GTO+, формулируется просто. Игрок описывает ситуацию: какие руки могли быть у него и у оппонента, какие карты лежат на доске, сколько денег в банке и в стеках, какими размерами разрешено ставить. Программа перебирает варианты и находит стратегию равновесия — такую пару линий поведения, при которой ни один из игроков не может увеличить свой выигрыш, изменив игру в одностороннем порядке. Именно эту стратегию и принято называть GTO (game theory optimal, оптимальная по теории игр).

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

Как это работает в двух словах

Работа с программой всегда идёт по одному кругу: построить дерево — рассчитать — изучить результат.

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

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

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

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

Конструктор дерева: с чего начинается любой расчёт

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

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

Несколько настроек стоит разобрать отдельно, потому что именно они экономят время расчёта.

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

Плавный заход стеков. Если денег в стеках осталось мало относительно банка, включается опция, при которой остаток заводится двумя ставками равного геометрического шага. Это избавляет от неудобных ситуаций, когда на ривере остаётся ставка в 15 % банка.

Разделение донк-бетов, проб-бетов и конт-бетов. Для первой ставки игрока вне позиции на терне и ривере программа позволяет задать разные размеры в зависимости от того, что было на предыдущей улице: донк-бет или donk bet (ставка вне позиции против агрессора прошлой улицы), проб-бет (ставка после чека оппонента) и конт-бет или continuation bet. На практике это важно, потому что оптимальные размеры для этих трёх ситуаций заметно различаются.

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

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

Отдельно предусмотрены режимы для разных форматов: кэш-игры, Sit&Go и MTT с учётом турнирной структуры, а также отдельный конструктор для лимитного холдема, где размеры ставок фиксированы правилами игры.

Диапазоны и меню префлопа

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

Матрица понимает текстовый ввод в общепринятой записи: 88+, AJo+, A8s+. Можно вводить и дробные веса: запись AA-77:0.8 означает, что эти пары входят в диапазон с весом 80 %, то есть игрок оказывается здесь с ними в четырёх случаях из пяти. Дробные веса — не техническая тонкость, а способ отразить реальность: одну и ту же руку игрок иногда открывает, а иногда сбрасывает.

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

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

Запуск расчёта и что означает сходимость

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

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

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

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

Навигатор по дереву и разбор решения

Готовое решение изучается через навигатор — панель, по которой можно пройти раздачу шаг за шагом: флоп, ставка, колл, конкретная карта терна, чек, и так далее до ривера.

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

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

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

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

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

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

Правка и фиксация решения

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

Механика такая: в любом узле дерева решение фиксируется, а затем правится вручную. Например, за оппонента задаётся стратегия «коллирует конт-бет со всеми парами» — типичная ошибка на низких лимитах. После этого программа пересчитывает остальную часть дерева и показывает, как оптимально играть против такого поведения. Как правило, ответ оказывается заметно агрессивнее или, наоборот, пассивнее равновесного.

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

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

Пересчёт отдельной ветки

Обычная ситуация при разборе: решение готово, но возникает вопрос — а что было бы, если бы на терне разрешался овербет?

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

Отдельные ветки терна и ривера можно вынести в самостоятельное окно и работать с ними как с независимым решением, а также экспортировать наружу.

Отчёты по терну и риверу

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

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

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

Базы деревьев и сводные отчёты

Следующий уровень обобщения — расчёт не одной доски, а целого набора и сведение результатов в общую таблицу.

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

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

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

Если оперативной памяти не хватает на большую базу, предусмотрен обходной путь: набор считается по частям и затем объединяется в один файл.

Графики

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

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

Скрипты и пакетная обработка

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

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

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

Игра против решения

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

Как это устроено на практике:

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

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

Связка с Flopzilla Pro

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

Это удобное дополнение к солверу: GTO+ отвечает на вопрос «как играть», а разбор структуры диапазона — на вопрос «почему именно так». Функция требует отдельной программы, а в её пробном режиме работает не на всех досках.

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

Дисциплины. Безлимитный холдем — основная область работы. Конструктор дерева поддерживает также лимитный холдем. Для игры короткой колодой (6+ холдем) предлагается отдельная программа с изменёнными правилами: карты от двойки до пятёрки убраны из колоды, флеш старше фулл-хауса, A6789 считается стритом, а старшинство сета и стрита переключается настройкой.

Форматы. Кэш-игры, Sit&Go и MTT — структура выбирается при построении дерева, поэтому расчёт учитывает особенности турнирного распределения выигрыша.

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

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

Операционная система. Windows 7 и выше, настоятельно рекомендуется 64-разрядная версия. Сборки для macOS нет; на компьютерах Apple программу запускают через виртуальную машину или Boot Camp, с потерей части производительности.

Требования к железу. Минимум — четырёхъядерный процессор с частотой 2 ГГц, 8 ГБ свободной оперативной памяти, 10 ГБ на диске. Видеокарта роли не играет. Скорость расчёта растёт почти линейно с числом физических ядер, поэтому процессор — единственный компонент, на котором не стоит экономить.

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

С чего начать

Старт сводится к нескольким шагам.

  1. Скачать программу с официального сайта и установить. Рекомендуется 64-разрядная сборка.
  2. Запустить без оплаты и осмотреться. Бесплатный режим не ограничен по времени, но часть возможностей в нём недоступна — этого достаточно, чтобы понять, подходит ли программа.
  3. Построить первое дерево в базовом конструкторе. Разумный первый расчёт: одиночно повышенный банк BTN или баттон против BB или большого блайнда, стеки 100 больших блайндов, один размер конт-бета, один размер рейза. Такое дерево считается быстро и не перегружает восприятие.
  4. Дождаться, пока расстояние до равновесия дойдёт до нуля, и только после этого смотреть результат.
  5. Изучить решение через матрицу и фильтры по классам рук. Один разбор — один вывод, записанный обычными словами.
  6. Сыграть эту же ситуацию в режиме игры против решения, чтобы вывод закрепился на практике.

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

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

Тарифы

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

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

Итог

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

Слабые места тоже очевидны: только Windows, утилитарный интерфейс и заметный порог входа. Первые часы уйдут не на изучение покера, а на изучение самой программы.

Осваивать её стоит постепенно. Сначала — базовый конструктор и чтение матрицы, потом фильтры и сравнение диапазонов, дальше базы флопов и сводные отчёты, и только затем правка решений и скрипты. Ценность солвера измеряется не количеством посчитанных деревьев, а количеством правил, которые удалось из них вынести за стол.

Konstantin Abbakumov
Konstantin Abbakumov

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

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