Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1
  • 2

ТЕМА: Покерные боты

Покерные боты 7 года 1 мес. ago #1065

Создан сильный покерный бот, который играет на уровне лучших мировых игроков в безлимитный техасский холдем хедз-ап.
Вот ссылка. До этого сильный бот был только для лимтиного холдема хедз-ап.
Пока непонятно, можно ли сделать сильного бота для 6-макс столов.
Последнее редактирование: 4 года 7 мес. ago от Математик.
Администратор запретил публиковать записи гостям.

  • Сообщений:418 Спасибо получено: 18
  • Математик аватар
  • Математик
  • Модератор
  • Offline
  • Репутация: 17

Покерные боты 6 года 3 мес. ago #1691

На популярном форуме Покерофф много интересных статей о ботах. А вот в этой и я написал свое мнение.
Администратор запретил публиковать записи гостям.

  • Сообщений:418 Спасибо получено: 18
  • Математик аватар
  • Математик
  • Модератор
  • Offline
  • Репутация: 17

Покерные боты 5 года 8 мес. ago #1828

Последнее редактирование: 5 года 8 мес. ago от Математик.
Администратор запретил публиковать записи гостям.

  • Сообщений:418 Спасибо получено: 18
  • Математик аватар
  • Математик
  • Модератор
  • Offline
  • Репутация: 17

Покерные боты 5 года 2 мес. ago #2052

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

Для создания бота нужно решить 3 отдельных и сложных задачи:
1) Нужно написать математический алгоритм игры, который будет играть достаточно сильно, чтобы бить лимит, на котором он будет играть.
Здесь также нужно иметь какое-то приложение, которое вне игры в руме сможет проверить силу игры бота, например, приложение, позволяющее игроку сыграть с ботом (ботами) самому.
2) Нужно уметь считывать действия о ходе игры с клиента рума и передавать это модулю из 1).
3) Нужно все это скрыть от клиента рума.

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

1) Создание алгоритма игры
Как правило, сами программисты редко бывают сильными игроками, поэтому обязательно участие сильных игроков, хотя бы на стадии проверки. Обычно сильные игровые алгоритмы создаются с использованием нейронных сетей. Что такое сеть, можно легко найти в Гугле.
Для покерного бота здесь нужно будет решить следующие задачи:
1.1) Нужно разработать обязательно с участием игроков саму нейронну. сеть. То есть, нужно выписать состояния, важные для принятия решений. Например, на префлопе, нужно задать боту спектры открытия, 3 бета и т.д. по позициям. Если эти спектры зависят также от размеров стеков, то надо задать и стеки.
При игре на флопе надо задать,имеет ли бот инициативу, находится ли он в позиции, структуру борда и т.д. Это большой труд, который требует не общих слов и рассуждений, а должен сформировать начальные состояния нейронной сети.
1.2) Эту сеть нужно обучить. Что это такое? Опять отсылаю всех к Гуглу. Если говорить коротко, то мы должны по большому набору состояний дать боту готовые рекомендации по игре. Для этого лучше всего взять большую (а лучше огромную) выборку рук (майнинг), а затем отобрать из этой выборки плюсовых игроков, уверенно бьющих лимит. Просто по винрейту. Затем надо по решениям этих игроков "обучить" бота.
1.3) Некоторые ситуации можно сразу обрабатывать без сети по различным эвристикам. Например, если нам дали (АК)(АТ), то понятно, что мы на префлопе можем выставляться. Спектр таких сильных рук и действия с этими руками на префлопе можно задать непосредственно безо всякой сети. Однако, действия бота будут в этом случае предсказуемы, поэтому нужно балансирование спектра. Суть, я думаю, понятна. Какие-то ситуации можно запрограммировать напрямую без использования нейронной сети.
1.4) После построения алгоритма надо обязательно провесьти проверку. Для этого можно и нужно использовать какую-то игру, в которой игрок мог бы сыграть с ботом. Поскольку, как правило, нас интересует игра за 6-макс столами, то можно самому сыграть против 5-ти ботов. У нас есть программа PokerGame, которая легко может быть расширена (и уже расширена, но не выложена на сайт) до омахи.
Также эта программа может быть использована для сравнения силы разных ботов. Например, сделали сперва просто Х, затем доработали его до У. Сажаем за стол 3-х ботов Х и 3-х ботов У. Запускаем игру и смотрим результат. Также пишется файл истории, поэтому можно и его анализировать, ища лики у нашего бота.
Подводя итог созданию алгоритма, видим, что это долгая и сложная работа.

2) Считывание действий с клиента рума в ходе игры
Здесь нет другого метода, кроме распознавания по типу OpenHoldem bot.
Это тоже большая и сложная работа. Мы такой техникой "читаем" карты для MPN в программе NiceHandOmaha. Но, мы только читаем карты. А для бота нужно много больше. И действия игроков, и стеки, и карты и т.д. Особо много тут писать для игроков нечего. Просто игроки должны понимать, что это все достаточно сложно и трудоемко делать.

3) Скрытие бота от клиента рума.
Это очень важная задача, так как если бота обнаружат, то и своих лишишься. Здесь важно понимать, что ни в коем случае нельзя даже думать о создании бота для грандов индустрии: PokerStars, PartyPoker, 888 Poker. И здесь, как бы программист ни старался, 100% гарантии быть не может в принципе. Хотя, простые вещи обязательно надо предусмотреть. Например, маскировка бота под системный процесс, допустим, под драйвер принтера. Формирование подсказки эзоповым языком.
Например, бот будет изображать из себя программу статистики (если таковая разрешена в руме). При фолде можно чуть увеличить пробел между ником игрока и 1-м числом. Этот "язык" должен изменяться от сессии к сессии или даже чаще.

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

Я думаю, что вышеизложенное поможет игрокам правильно оценить сложность задачи и предостережет их от шапкозакидательства в том смысле, что можно попросит знакомого программмиста, быстренько ему все объяснить и за пару месяцев он все сделает. Это будет напрасно потраченное время обоих.
Последнее редактирование: 5 года 2 мес. ago от Математик.
Администратор запретил публиковать записи гостям.

  • Сообщений:418 Спасибо получено: 18
  • Математик аватар
  • Математик
  • Модератор
  • Offline
  • Репутация: 17

Покерные боты 4 года 8 мес. ago #5396

Настоящее достижение!
Сделали сильного бота для 6-макс. Читайте тут.
Администратор запретил публиковать записи гостям.

  • Сообщений:418 Спасибо получено: 18
  • Математик аватар
  • Математик
  • Модератор
  • Offline
  • Репутация: 17

Покерные боты 4 года 7 мес. ago #5421

Бот для 6-макс холдема называется Плурибус (Pluribus).
Интересное мнение о нем можно прочитать в статье Так ли силен Плурибус?, опубликованной
на Джипси.
Администратор запретил публиковать записи гостям.

  • Сообщений:418 Спасибо получено: 18
  • Математик аватар
  • Математик
  • Модератор
  • Offline
  • Репутация: 17
  • Страница:
  • 1
  • 2
Время создания страницы: 0.084 секунд
United Kingdom best betting sites with gbetting.co.uk
Yandex.Metrika