Перейти к содержимому
GlavFish

Раскрыт секрет принципа работы покерного искусственного интеллекта

Recommended Posts

В журнале Science вышла статья, где описывается принцип работы системы искусственного интеллекта Libratus. В начале года она победила в 20-дневном покерном турнире и выиграла у профессиональных игроков в покер фишек на сумму более 1,7 миллиона долларов.

qWh-Q8SgZ8k.jpg

Активное развитие технологий машинного обучения привело к созданию алгоритмов, которые справляются со многими задачами лучше людей. Особое внимание в этом году получили программы, которые научились обыгрывать людей в играх с неполной информацией — традиционно это считалось невозможным. В январе 2017 года система искусственного интеллекта Libratus победила в турнире по техасскому холдему, который сегодня считается наиболее популярной разновидностью покера. Во время турнира, который длился 20 дней, алгоритм заработал более 1,7 миллиона долларов в фишках. В новой статье Ноэм Браун (Noam Brown) и Туомас Сандхолм (Tuomas Sandholm), разработчики Libratus, описали, как работает алгоритм.

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

Чтобы научиться делать это, Libratus играл против самого себя, используя измененную версию алгоритма Monte Carlo Counter-factual Regret Minimization (MCCFR). С его помощью для каждого действия вычислялось значение сожаления — то, насколько игрок сожалеет о том, что он не сделал определенный шаг в прошлом. Во время симуляции MCCFR выбирал «исследователя», который должен был анализировать все возможные действия и постоянно обновлять значение сожаления. При этом его противник играл согласно стратегии, которая выстаивается на основе уже имеющихся данных. В конце «исследователю» давалась награда за каждое действие, благодаря которой он понимал, какой ход был хорошим, а какой — нет. После каждой партии игроки менялись ролями. В классическом варианте компьютер обычно исследует все гипотетические действия, чтобы выяснить размер награды за них; здесь же он пропускал «неинтересные» ходы, которые имели низкое значение сожаления, что позволило быстрее усовершенствовать его работу.

Для следующих этапов игры использовался второй модуль Libratus. Он создавал детальную стратегию для конкретного этапа игры, руководствуясь при этом плановой стратегией, разработанной в начале. Каждый раз, когда противник совершал не предусмотренное системой ИИ действие, она разыгрывала «мини-игру», где учитывался ход соперника. Это позволяло корректировать стратегию в режиме реального времени.

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

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

Значимая победа компьютера над профессиональными игроками в игре с полной информацией произошла в 2015 году: тогда программа AlphaGo обыграла Фаня Хуэя в го — настольной игре, где противники стремятся огородить наибольшую территорию на игровой доске с помощью камней черного или белого цвета. А уже в 2017 году усовершенствованная версия AlphaGo победила другого известного игрока, Ли Седоля, которого относят к сильнейшим в мире. Теперь AlphaGo Zero научилась играть и в другие настольные игры.

Поделиться сообщением


Ссылка на сообщение

Покерный бот Libratus будет работать на военных В США

Несколько лет назад Libratus обыграл в хедз-апах нескольких лучших покерных игроков, а теперь бот и его создатель начнут работать на Пентагон.

 

5c4ae5c585d81_Libratus.thumb.jpg.66b46bae9e4aa6f69b165755bc51fe93.jpg

 

После тех эпичных хедз-апов Libratus и игроков Донгера Кима, Джимми Чау и Джейсона Леса покерным ботом заинтересовались американские военные.

Уже известно, что Пентагон подписал контракт с ученным, создавшим Libratus, на сумму в 10 миллионов долларов.

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

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

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас в сети   0 пользователей, 0 анонимных, 170 гостей (Полный список)

    Нет пользователей в сети в данный момент.

  • Сейчас популярно

  • Похожие публикации

    • Автор: APoker
      Покерные боты – это программы, которые могут играть в онлайн-покер часами. Какие преимущества из этого можно извлечь и как выиграть у бота.
      Сначала рассмотрим, как обстоит дело с точки зрения легальности. Использование программного обеспечения для игры в покер, при том что вы не за компьютером, запрещено правилами сайта. Этот запрет действует не только на 888poker. Использование покерного бота, то есть программы, специально разработанной для игры в покер, противоречит положениям и условиям сайтов для игры в онлайн-покер.
      Хорошо, все понятно. То есть на этом можно закончить чтение статьи и заняться своими делами? К сожалению, нет. Несмотря на то что использование ботов нелегально, во многих онлайн-играх с ними приходится сталкиваться довольно часто. С нашей стороны было бы глупо закрыть глаза на действительность и делать вид, что ботов не существует, в то время как они понемногу высасывают из всех нас деньги.
      Боты слабы
      В большинстве случаев боты слабы, но это утверждение необходимо развить. Не все боты слабы – некоторые из них очень сильны. В новостях практически регулярно появляются сообщения об обнаружении кольца ботов после того, как они выиграли несколько миллионов долларов в играх средних лимитов. Такие боты очевидно сильнее многих очень хороших игроков.
      Но перед тем как вы начнете паниковать и решите больше никогда не играть в онлайн-покер, нужно кое-что понять.
      Боты, побеждающие в играх средних и высоких лимитов, – крайне редкое явление.
      Если мы видим, что наш оппонент – бот, обычно его можно научиться обыгрывать.
      Любой уважающий себя покерный сайт имеет службу безопасности, которая активно отслеживает и блокирует игровые счета ботов.
      Несмотря на то что большинство ботов очень слабы, это не означает, что они хуже, чем плохой игрок в покер – человек. На самом деле они обычно намного сильнее такого игрока (если то, что они боты, еще неизвестно). Поэтому даже если мы можем победить бота, находящегося за нашим столом, наш выигрыш, возможно, был бы выше, если такой бот был бы заблокирован и вместо него сидел слабый игрок – человек.
      Как распознать бота
      Перед тем как мы распознаем, что имеем дело с ботом, мы, скорее всего, успеем довольно много потерять. Обычно это потому, что боты жестко придерживаются линии действий, которая считается образцовой для типичного игрока на определенном лимите. Возможно, они будут делать ставки размером в банк или проводить агрессивный чек-рейз на флопе. Впрочем, как только мы распознаем, что имеем дело с ботом, картина кардинально изменится.
      Но как же это понять, кто перед нами?
      Повторяющееся использование ставок одинаковых размеров (некоторые люди тоже имеют такую особенность) Повторяющееся использование определенной линии действий (особенно необычных) Непрекращающаяся агрессия в определенные моменты (у ботов тоже есть HUD!) Одно и то же время для принятия всех решений Не отвечают в чате Могут уходить в определенных ситуациях (например, когда за столом остается мало игроков) Очень быстро присоединяются к столу, за которым собираются игроки в количестве более чем обычное Часто действуют как звенья в кольце ботов, а не по отдельности Выявлять эти признаки бывает не так просто. Но если бот выступает как один из тех, что действуют в кольце, он может обнаружить себя очень быстро. Целая группа парней, которые делают ставки абсолютно одного и того же размера абсолютно через одно и то же время. Мы также можем заметить, что у них на удивление одинаковая HUD-статистика при большой выборке.
      Это еще больше бросается в глаза, если показатель по одному из параметром статистики очень отличается от аналогичных показателей типичных игроков. Например, типичный игрок, предпочитающий микролимиты, играет на флопе рейзы в 6% случаев. Теперь представьте, что мы сидим за столом с оппонентами, трое из которых имеют идентичную статистику, включая показатель 25% рейзов на флопе. Совпадение? Едва ли. Скорее всего, это кольцо ботов.
      Дополнительная неприятная составляющая заключается в том, что в этом случае потенциально нарушается еще одно правило сайта. Эти боты явно действуют как одна команда, то есть они могут, например, делиться друг с другом информацией о карманных картах, чтобы получить дополнительное преимущество.
      Как выиграть у бота
      Разработка хорошего бота трудоемкая работа. Это означает, что, если программист не тратит регулярно тысячи или даже десятки тысяч часов, работая над ботом, у него должны быть недостатки. Наша работа заключается в том, чтобы разобраться в стратегии бота, найти эти дыры и использовать их.
      Многие из тех ботов, с которыми мы встречаемся за столами в наши дни, это так называемые профильные боты. По существу это означает, что они записывают, как ведут себя их оппоненты. Иными словами, они пользуются своего рода HUD. Например, если мы скидываем слишком много в ответ на 3-бет, возможно, бот начнет 3-бетить постоянно. Если мы можем понять, что бот думает о нас, мы сможем играть на следующем уровне. Если бот 3-бетит нас с любыми 2 картами, нужно начать блефовать, играя 4-бет.
      Большинство ботов не чувствительно к размеру, и это то, что можно использовать в свою пользу. В большинстве случаев программист разрабатывает диапазон рейзов для входа в игру, диапазон коллов в ответ на 3-беты, диапазон 4-бетов и так далее. Но совсем не обязательно в коде будет прописано, как действовать с разнообразными размерами, с которыми он может столкнуться. Возможно, бот открывает игру ставкой 3 больших блайнда, а затем скидывает на этом же диапазоне, когда мы играем минимальный 3-бет в 5 больших блайндов. На этом можно очень неплохо выгадать. Мы можем, возможно, 3-бетить любые 2 карты для 5 больших блайндов, а затем 3-бетить, поставив очень значительную сумму, когда у нас появляются премиум-карты. Бот не будет понимать, в чем дело. Когда бот начнет 4-бетить нас, используя большую сумму, после того как поймет что мы не скидываем в ответ на 3-бет, мы можем начать играть минимальные 4-беты, что заставит его каждый раз пасовать.
      Мы ни в коем случае не утверждаем, что у всех ботов одни и те же недостатки, которыми можно пользоваться одинаково, и что описанный выше способ можно применять ко всем роботам. Но если анализировать, как боты "думают" и какую стратегию используют, можно найти, как эту стратегию обойти. И если мы можем обхитрить бота, существует большая вероятность того, что мы будем обогащаться существенно быстрее, чем когда-либо раньше.
      Вредоносны ли боты по умолчанию?
      Давайте закончим обсуждение ботов ответом на вопрос о моральной стороне их использования. Вредны ли боты? Как вы думаете?
      Единственная причина, по которой мы считаем их вредоносными, это потому, что использование их запрещено правилами покерного сайта. Но если какой-нибудь покерный сайт напишет крупными буквами на своей главной странице, что использование покерных ботов у них разрешено, в применении ботов там не будет ничего плохого.
      Игроки будут предупреждены, что на этом сайте они могут столкнуться с ботом и, следовательно, не расстроятся, если в какой-то момент окажется, что они играют с программой. Этот сайт также собрал бы дополнительный рейк, потому что боты прекрасно справляются с задачей набора сумм и никогда не тильтуют.
      Использование ботов целиком зависит от конкретного сайта. Пока все предпочитают не разрешать использовать ботов, по-видимому потому, что это может оттолкнуть рекреационных игроков. Многим игрокам просто не нравится мысль о том, что они играют не с человеком, а с бесчувственным роботом, который никогда не тильтует и осуществляет подсчеты в мгновение ока.
    • Автор: GlavFish
      Сбербанк организовал хакатон, в котором специалисты по машинному обучению смогут создать игровой искусственный интеллект, способный играть в покер, говорится на странице конкурса. Призовой фонд конкурса составит 600 тысяч рублей.

      Участники должны будут написать бот для игры Texas Hold’em Poker, который будет соревноваться в турнирах с 8 ботами конкурентов. Программа должна в режиме реального времени принимать решения и совершать действия, направленные на победу. Результаты игр будут появляться на сайте хакатона, что позволит участникам обучать ботов и анализировать стратегии других игроков.
      Хакатон разделен на два этапа: онлайн и офлайн. С 30 августа разработчики смогут отправлять решения организаторам. Эта часть соревнования завершится 15 сентября в 23.59 по московскому времени, после чего Сбербанк составит рейтинг участников и выберет 100 финалистов, которые примут участие в офлайн-хакатоне. Вторая часть мероприятия, в ходе которой финалисты смогут доработать алгоритмы в командах, начнется 23 сентября в Корпоративном университете Сбербанка (находится в Московской области), а победителей наградят 24 сентября.
      Победителю хакатона выплатят 300 тысяч рублей, обладателю второго места — 200 тысяч, а бронзовому призеру соревнований достанется 100 тысяч рублей.
      "Искусственный интеллект сегодня должен служить не только для разработки рациональных алгоритмов, но и для моделирования нерационального поведения участников рынка или, как в случае с нашим турниром, игроков в покер", - Александр Ведяхин, старший вице-президент Сбербанка.
      Информация о формате отправки архивов с кодом стратегии будет доступна 1 сентября. Турниры между отправленными в систему ботами будут проходить ежедневно в полночь по московскому времени. В ходе онлайн-этапа разработчики смогут загружать решения не более 5 раз в течение одних суток, однако организаторы будут учитывать только последнее решение.
×