Обзор имеющихся аналогов - Разработка покерного робота

В наши дни тема большое число людей всерьез занимаются разработкой покерных роботов, но каждый это делает для своих собственных целей. Однако разработка подобного программного обеспечения имеет несколько серьезных проблем, которые необходимо решить. Одна из них - слишком большое количество вариантов состояний игры. Даже для самого "простого" Техасского холдема существует ровно 319,365,922,522,608 игровых состояний, в которых нужно принимать решение. В то же время, в этой разновидности покера всего 6378 различных паттернов ставок и все богатство игровых состояний обусловлено именно карточными комбинациями. Уже исходя из этих двух фактов, можно предположить, что даже самая современная техника порой не в состоянии просчитать все возможные варианты в кратчайшие сроки. На помощь приходят методы упрощения исходной игры, которые объединяют близкие в стратегическом плане состояния этой игры в неразличимые состояния новой игры, называемой абстракцией. Для покера можно выделить два класса проблем, решаемых переходом к абстракции [2]:

    1. Проблема ставок в безлимитных играх. 2. Проблема представления рук игроков.

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

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

Таблица 1

Количество возможных комбинаций карт

Круг торговли

Всего для двух игроков

Всего для одного игрока

Неэквивалентные для одного игрока

Префлоп

1,624,350

1,326

169

Флоп

28,094,757,600

25,989,600

1,286,792

Терн

1,264,264,092,000

1,221,511,200

55,190,538

Ривер

55,627,620,048,000

56,189,515,200

2,428,287,420

В первой колонке представлены варианты раздач карманных карт обеим игрокам в сочетании с общими картами на доске. Во второй колонке содержится та же информация, но для одного игрока, т. е. для сочетаний одной пары карманных карт и общих карт. И, наконец, последний столбец содержит в себе количество неэквивалентных классов карточных комбинаций для одного игрока. Эквивалентными комбинациями называются такие наборы карточных комбинаций, в которых заменой мастей можно получить любую другую комбинацию из этого же набора. Совершенно очевидно, что эквивалентные комбинации содержат в себе одну и ту же стратегическую информацию [2].

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

Похожие статьи




Обзор имеющихся аналогов - Разработка покерного робота

Предыдущая | Следующая