Человек обыграл искусственный интеллект в покер.

Покер 0 241

В 1997 году состоялась знаменитая игра действующего на тот момент чемпиона мира по шахматам Гарри Каспарова против суперкомпьютера IBM под названием Deep Blue. Исход партии должен был показать, сможет ли человеческий ум одержать верх над кремниевым разумом в шахматах – одной из самых интеллектуальных игр. В итоге Deep Blue обыграл знаменитого гроссмейстера. Машина оказалась умнее человека. По крайней мере в шахматах.

                                                     ПокерСтарс

Но шахматы – далеко не единственная игра, позволяющая человеку помериться силами с компьютером.

В начале мая искусственный интеллект вновь выступил против профессиональных игроков на их же поле, а вернее за столом. Покерным столом. Речь идет о турнире под названием «Ум против искусственного интеллекта», который проходил в «Риверс Казино» в Питтсбурге и включал в себя 14 дней игры, 80000 раздач и гору фишек общим номиналом в $17 млн. Сторону человечества представляла четверка профессиональных игроков в покер, которые, по мнению специалистов, являются одними из сильнейших на планете: Джейсон Лес, Донг Ким, Бьорн Ли и Даг Полк. Их соперником стал новый покерный бот с задатками искусственного интеллекта – Claudico. Характерно, что его появление на свет произошло в том же месте, где родился знаменитый Deep Blue, – в стенах лаборатории Университета Карнеги–Меллон. По правилам турнира, играть им предстояло в техасский безлимитный холдем.

Конкретно эта вариация покера вызывает наибольший интерес у исследователей ИИ как наиболее сложная и непредсказуемая. В ней игрок получает две карты, которые может видеть только он. Затем делаются ставки, после чего крупье кладет перед игроками пять карт в открытую: сначала три карты (флоп), затем одну карту (терн) и потом еще одну (ривер). После каждой выкладки следует круг ставок. В холдеме с фиксированным лимитом размер ставок строго ограничен правилами, но в безлимитном каждый игрок может поставить, сколько захочет: от одной фишки и до вообще всех что у него есть. В зависимости от имеющихся карт, вы можете как просто использовать сильную руку, так и блефовать, имея слабую руку, чтобы одурачить соперника и остаться в выигрыше. Это сложно.

Настолько сложно, что исследователи ИИ присматриваются к покеру еще с девяностых. Теперь он является самым серьезным тестом для исследования возможностей ИИ. В отличие от шахмат, игрок в покер не располагает полнотой информации (он не знает всех карт соперников). Алгоритм, способный определять оптимальную стратегию на основе неполной информации, нашел бы применение в кибербезопасности, медицине и оборонной сфере. «Большинство ситуаций из реального мира являются по сути играми с неполной информацией, – говорит Туомас Сэндхольм, глава команды по разработке Claudico. – Вы не можете в точности сказать, каково положение дел в мире, так как не располагаете частной информацией всех его обитателей».

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

                                                     Играть в покер казино

Для этого исследовательский отдел Microsoft и Казино Риверс выделили $100 тысяч, чтобы покрыть сопутствующие эксперименту издержки и сделать 13-дневный покерный марафон более привлекательным для его участников. Команда Карнеги–Меллон задумала соревнование таким образом, чтобы Claudico мог одновременно играть со всеми игроками, с каждым из которых ему предстояло провести 20000 раздач. Но победитель вычислялся по общему результату: если по завершении соревнования команда людей будет иметь больше фишек (игра шла не на деньги), то победили люди. Если наоборот – то кремниевый разум.

Электронный игрок

К разработке Claudico Сендхольм и его команда подошли в три этапа. Первым делом они «скормили» правила безлимитного холдема абстрактному алгоритму, уменьшив объем правил игры и сведя их к более понятной формуле, но не выбросив при этом ничего значительного. Затем они настроили алгоритм таким образом, чтобы он максимально соответствовал равновесию Нэша – игровой теории, в основе которой лежит использование оптимальной стратегии. Наконец, команда применила технику обратного отображения, чтобы внести эту стратегию в изначально созданный алгоритм с игровыми параметрами. Иными словами, исследователи сначала показали машине правила, а затем «рассказали», как играть по ним, используя самый эффективный из известных науке методов.

Не имея поведенческих паттернов, характерных для любого игрока-человека, Claudico вел себя непредсказуемо. Это, а также широкая вариация размеров ставок, дало ИИ значительное преимущество над человеком. «Как правило, люди предпочитают использовать один или два размера ставок, так как боятся выдать свои карты, – говорит Сендхольм. – Логика Claudico исключает такую взаимосвязь».

В то же время просчет вариантов в безлимитном покере требует задействовать огромные вычислительные ресурсы. Поэтому создатели Claudico не смогли создать алгоритм, который решал бы каждую проблему. «Нам пришлось пойти на этот классический компромисс между качеством решения и затратой времени на его поиск», – признается Сендхольм. По этой причине Claudico может лишь стремиться к рановесию Нэша, но он не учитывает тенденции, которые прослеживаются в игре каждого конкретного игрока. Вместо этого машина просчитывает самую рациональную стратегию ведения игры, не обращая внимания на обстоятельства. Проще говоря, Claudico не может «уловить настроение» или сделать выводы на основе наблюдений, в том числе неосознанных – у него нет интуиции.

                                                     Покер турнир

Человеческий фактор

В какой-то мере подход Claudico к игре настолько хорош, что люди могут к нему пока только стремиться. «Если вы эффективно задействуете теорию игры на практике, то вам должно быть все равно, как играет оппонент, – говорит Джейсон Лес, один из участников турнира. – В худшем случае ваша стратегия приведет к тому, что по окончании игры у вас будет столько же денег, сколько было в ее начале». Его сильно впечатлили возможности Claudico: «Я действительно не знал, что от него ожидать. Я понимал, что в какие-то моменты времени этот бот потрясающе себя проявит, не оставив нам шансов на победу».

В самом начале соревнования Леса поразила уникальная и эффективная система ставок ИИ. «Он использовал смешанную стратегию. С одной рукой он мог делать разные вещи». Даже у лучших игроков со временем формируется паттерн их обращения со ставками, который может заметить более смекалистый игрок, оценив ценность двух скрытых карт соперника. Но с Claudico это не проходит. «Это идеальный баланс случайностей», – говорит Лес.

Но это же имеет и обратную сторону. Так, соперники выработали стратегию, которая находила и эксплуатировала странности и особенности в манере игры Claudico. К примеру, ИИ не брал в учет, что наличие в его руке определенных карт уменьшает шанс того, что у оппонента есть такие же карты. Игроки же учитывали такую вероятность, поэтому могли сказать, когда Claudico блефует со слабыми картами, вынуждая соперника сделать фолд (сбросить карты).

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

Еще одной прорехой в броне Claudico стало то, как он реагировал на размеры ставок соперников. В попытке сделать вычисления менее ресурсоемкими, создатели ИИ ограничили его «видение игры», которое ему приходится брать в учет при совершении действия. На одно из таких ограничений попал набор размеров ставок, которые программа может воспринимать как данность. Так, если у Claudico нет данных о ставке в половину банка, то в одной ситуации он будет относиться к ставке как к трем четвертям банка, а в другой – как одной четверти банка. То есть будет воспринимать известную другому игроку величину некорректно и так же некорректно действовать. Это было большой проблемой для ИИ, которую люди быстро взяли на вооружение. «Бьорн начал использовать самые необычные размеры ставок, что создавало трудности для Claudico», – говорит Лес.

                                                      Холдем в казино

В итоге возможность эксплуатировать отклонения Claudico от оптимальной игры принесла людям победу. Когда была сыграна последняя раздача, команда людей имела выигрыш в $170 условных миллионов, опередив ИИ на $732,713.

Правда Сендхольм не считает, что Claudico проиграл, так как с точки зрения интервальной оценки такой результат означает паритет.

Впрочем, если Claudico и не проиграл математически, то он потерпел поражение фактически – согласно правилам покера, оспорить победу людей невозможно. Тут ИИ крыть нечем. С этой точкой зрения согласны даже коллеги Сендхольма, а именно Майкл Боулинг, создатель другого покерного бота – Cepheus.

Как бы там ни было, этот турнир прекрасно демонстрирует, как далеко продвинулись технологии по созданию ИИ или, скорее, его подобий. Чтобы победить Каспарова, Deep Blue потребовалось восемь лет и несколько попыток – Claudico проиграл с небольшим отставанием и только потому, что игроки использовали несовершенства в алгоритме машины. Они импровизировали и подстраивались под игру оппонента, изучали ее недостатки и особенности, отвечая на них собственными стратегиями – ничего из этого Claudico сделать был не способен.

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