Робот, идеально играющий в покер

// // Научно-популярные материалы //

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

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

Качественно новый алгоритм под названием Polaris был разработан исследовательским центром Альбертского университета (Канада, Ванкувер) для наиболее популярного вида игры: техасский Холдем. И его основным преимуществом является обучаемость: изначально действия выбора производятся случайно, регистрируются те из них, которые привели к отрицательному результату. В последующем компьютер выбирает наиболее удачные шаги, с каждой игрой повышая профессиональные навыки. Более того, разработчики смогли научить программу сжимать данные с 262 терабайт до 11 терабайт, при таком усиленном сжатии время расчетов увеличилось всего на 5 %.

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

На практике для испытания алгоритма были приглашены два профессиональных игрока - Фил Лаак и Али Эслами. Два игрока находились в смежных комнатах, 500 болельщиков следили за игрой робота и человека в гостинице «Hyatt» штата Ванкувер. Программа Polaris была написана таким образом, чтобы в ходе игры вычислить стратегию соперника и найти уязвимые места. Один из разработчиков программы говорил, что она знает, что противник может обманывать, и просчитывает все возможности блефа.

Заманчивым условием было получение 50 000 долларов в случае выигрыша всех четырех сессий тандемом виртуозов покера. Однако, победить робот оказалось не так-то просто. Первая сессия закончилась ничьей, вторая же вообще поражением людей. После пары дней передышки для разработки стратегий Лаак выигрывает достаточно большую сумму денег, которая покрывает проигрыш Эслами. В четвертой сессии, комментируя свои действия, игроки все-таки одолели программу. В целом у робота было выиграно 570 долларов.

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

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

После игры, победившие Лаак и Эслами, похвалили алгоритм, признав, что все дни игра была очень напряженной, приходилось постоянно высчитывать действия компьютера.
Главный разработчик Майкл Боуллинг сообщил, что использовать алгоритм можно не только для победы в покере, но и для решения сложных задач, где неизвестны все переменные. Например, успешное использование возможно при управлении портфелем инвестиций или при диагностировании и лечении заболеваний. Сейчас разработчики алгоритма и медицинские специалисты совместно пытаются применить данную систему в лечении диабета.