Учёные несчадно учат машину играть в покер, чтобы применять полученные результаты в самых различных сферах жизни. Примерно раз в год на свет появляются принципиально новые разработки, которые дают бой сильнейшим покеристам мира, а затем, например, уходят служить в армию. Сегодня поговорим о новом боте под названием «ReBeL» от команды разработчиков Facebook AI, в которой состоит один россиянин.
ReBeL — что это такое?
Название бота происходит от фразы «Recursive Belief-based Learning», что означает принцип его самообучения на рекурсивной основе в условиях неполной информации. Дата релиза обосновательной документации бота — 27 июля 2020 года.
ReBeL базируется на разработках своего «старшего брата» 2016-ого года под названием Libratus — первого бота, который якобы обыграл* профессиональных покеристов в хедз-апе.
* Под словами «бот обыграл человека», подразумевается, что игра шла не в привычном нам покер-руме, а в тепличных условиях с фиксированными стеками и блайндами, а также без рейка и с ограниченной дистанцией.
Разрабочиками выступили Ноам Браун (Noam Brown), Антон Бахтин (Anton Bakhtin), Адам Лерер (Adam Lerer) и Qucheng Gong. Единственный росиянин из команды разработчиков ранее работал в Яндексе, затем Google, а после перешёл в Facebook AI.
Отличие ReBeL от других ботов
В играх с неполной информацией современные боты используют технологию machine learning с элементами поиска по готовому древу решений. Это означает, что в бота не загружают книги Харрингтона или супер-продвинутую стратегию как побить NL50. Программа учит играть сама себя в течение какого-то времени — сначала действует совершенно случайным образом и прогоняет все возможные сценарии раздачи, а затем обращается к ним во время «реальной игры» против людей. Например, Pluribus достиг уровня сверх-человека за 60 часов.
ReBeL использует ровно такую же технологию, но вдобавок к понятию «game state» (игровая ситуация), алгоритм использует «public belief state» (мнение оппонентов об игровой ситуации). Он помогает программе лучше понимать скрытую информацию во время игры.
Как утверждают разработчики, ReBeL считывает не только видимую информацию (позиции, размер стека, ставки и карты на доске), но и мнение оппонента об игровом положении. То есть, программу научили смотреть не только в свои карты, но и думать на один уровень мышления выше.
Как бот определяет мнение оппонента об игровой ситуации?
PBS (public belief state) базируется на истории действий оппонента в похожих игровых ситуациях (game state). То есть, ровно как ваш HUD, бот хранит историю раздач оппонента и на основе его действий в конкретных ситуациях, он категоризирует его паттерны поведения.
В играх с полной информацией боту хватает всего лишь информации «game state», чтобы принимать практически неэксплуатируемые решения. На этой основе, к примеру, были «решены» такие игры как шахматы, Го и даже лимитный хедз-ап холдем (хоть он и не является игрой с полной информацией).
ReBeL против живого человека
В боевых условиях ReBeL одолел известного игрока хайстейкс Донг Кима (Dong Kim), который играл против всех покерных ботов, которых выпускали ученые. После 7500 сыгранных раздач бот показал винрейт 0,165 ББ за каждую раздачу.
Разработчики отметили быстродействие программы: ReBeL принимал решение не дольше 5 секнуд.
Зачем ученые создают покерных ботов
Несмотря на то, что для работы ReBeL не требуется тысяча ядер, не переживайте — ученые не публикуют в открытый доступ код бота. Да и вряд ли он будет корректно работать в реальной игре.
Разработка подобных программ происходит, чтобы расширять границы машинного обучения, чтобы искусственный интеллект мог принимать всё более сложные решения в ситуациях с неполной информацией. Игры в данном случае просто являются отличным «мостиком».
Многие IT-компании, никак не связанные с покером, ведут параллельные разработки в сфере машинного обучения, чтобы в будущем использовать их для самых разных целей, начиная от логистики, заканчивая прогнозированием и анти-кризисным менеджментом.
Для примера напомню вам про нашумевший хакатон Sberbank Holdem Challenge в 2017 году, когда Сбер приглашал всех желающих написать самого сильного бота. Кстати, победили тогда Дмитрий Шагин.
Интервью с победителем турнира покерных ботов от Сбербанка
Подписывайтесь на @pokeroffru в телеграме, чтобы получать больше новостей об онлайн-покере.