Компьютер выиграл турнир по покеру у лучших игроков
Игроки в покер один на один оказались слабее программы Libratus. После 20-дневного матча люди проиграли компьютеру два миллиона долларов. Давайте разберемся, как играла созданная двумя учеными программа и что чувствовали профессиональные игроки в покер, когда проигрывали машине.
Программу Libratus («баланс» на латинском) создали ученые из Университета Карнеги Меллон — профессор Тумас Сандхольм и его студент Ноам Браун. Это условный наследник программы Claudico, которая в 2015 году проиграла профессиональным игрокам в покер.
Сначала Libratus знала только правила покера — какие карты есть, какие комбинации сильнее, в какой последовательности ходят игроки. Создатели программы дали ей задачу – играть самой с собой в покер, и она училась на своих ошибках.
После нескольких триллионов раздач компьютер научился понимать, какие действия ведут к выигрышу, а какие к проигрышу — и действовал так, чтобы получить наибольшую прибыль. Как уверяет Тумас Сандхольм, программе никогда не показывали историю раздач, сыгранных людьми. Подробнее про то, как работает алгоритм, — в научной публикации Сандхольма и Ноама Брауна.
Против Libratus играли четверо профессионалов, заработавших на покере миллионы долларов. Донг Ким, Джейсон Леc, Джимми Чу и Дэниэл МакАлэй — специалисты по игре в покер один на один. Лес и Ким в 2015 году играли против Claudico. Ким тогда выиграл, Лес — проиграл.
Матч проходил в течение 20 дней. Каждый день каждый из четырех игроков проводил за компьютером по 12 и больше часов. Они должны были сыграть 120 тысяч раздач. При каждой раздаче противникам давалось по 20 тысяч фишек. В турнире применялась разновидность покера под названием Техасский холдем.
Правила безлимитного Техасского холдема следующие. Объясним на примере варианта с двумя игроками, поскольку с компьютером играли именно так:
Каждый игрок получает на руки две карты. Тот, кто ходит первым, выбирает из двух действий: сбросить карты и сделать ставку. Тот, кто отвечает, может сбросить, поставить столько же или сделать ставку еще выше. Когда ставки уравнялись, игрокам показывают три карты. С помощью этих карт и карт на руках соперники собирают разные по силе комбинации.
Когда на столе оказываются три карты, первый игрок может сделать ставку или передать ход сопернику — тот должен опять выбрать между ставкой или передачей хода. Такой круг торговли происходит всякий раз, пока на столе не появится пять карт — и потом еще раз, последний. Если кто-то сделал ставку, а другой не ответил — эту раздачу выигрывает тот игрок, кому не ответили. Если торговля доходит до конца, выигрывает тот, у кого сильнее комбинация.
В первые дни игроки думали, что им легко удастся найти изъян в программе. Со временем они убедились — это невозможно или как минимум непросто.
Libratus начала выигрывать с первого же дня. Только на шестой день людям удалось сократить преимущество, но днем позже оказалось, что компьютер стал играть еще лучше. И так происходило раз за разом.
Рядовые игроки в покер не умеют скрывать своих карт — обычно при хороших картах они ставят много, при плохих сбрасывают или ставят мало. Профессионалы играют более гибко — они варьируют ставки так, чтобы их противник по размеру ставок не мог определить, какие примерно у него карты. Компьютер справился с этой задачей блестяще: он разбивал свои ставки не на два-три-четыре размера, как делают профессионалы, а на 10 и больше.
Людям было очень трудно понять, какие карты сейчас у их соперника. Компьютер научился и блефовать, и считывать блефы — то есть у него появились навыки, без которых невозможно выиграть в покер.
«Поначалу мы играли с ним, как с Claudico, и это было большая ошибка. Мы попробовали несколько стратегий, но они не работали. Мы попробовали играть с ним, как с человеком — но и это не работало, хотя все шло не так уж плохо. Мы меняли стратегии, чтобы найти уязвимости, но не преуспели в этом», — рассказал Донг Ким.
В один из дней игроки от отчаяния стали поднимать ставки компьютера в 80 процентах случаев. И это не сработало.
В итоге на всех люди проиграли $1,8 млн. Игра шла не на настоящие деньги, хотя и проходила в казино. Игроки поделят между собой $200 тыс., предоставленные спонсорами.
Libratus работал на суперкомпьютере с десятками процессоров, но Сандхольм уверен, что 99% игроков Libratus обыграет даже если ее запустить на обычном компьютере. Как подчеркивают создатели программы, их алгоритм не заточен под покер: технологию можно применять для любых игр с неполной информацией — для оценки рисков на бирже, при переговорах и в других областях.