Создан идеальный игрок в покер
Майкл Боулинг (Michael Bowling) и его коллеги из Университета Альберты в Эдмонтоне (Канада) совместно с финским программистом Оскари Таммелином (Oskari Tammelin) разработали "идеального" компьютерного игрока в покер. Алгоритм не может гарантированно выиграть любую игру, поскольку в покере есть элемент случайности при распределении карт, но в долгосрочной перспективе, например, на чемпионате, компьютер всегда одерживает победу.
До сих пор покер был очень сложной игрой для компьютера. Шахматы и шашки являются примерами совершенных информационных игр, поскольку игроки видят расположение фигур друг друга и могут просчитывать стратегию на много ходов вперед. Именно поэтому компьютерные алгоритмы уже превосходят лучших игроков в шахматы и шашки. В случае с покером все сложнее, поскольку игроки не видят карты друг друга, и компьютеру приходится выбирать стратегию игры на основании неполных данных.
В покере есть множество способов победить. Новый алгоритм написан для одного из самых распространенных видов покера: Техасского Холдема. В этой игре при наличии двух игроков существуют 3,19×10<sup>14</sup> потенциальных точек для принятия решений, которые могут повлиять на исход игры.
Новый алгоритм способен обучаться: сначала он принимает решения случайным образом и отмечает те, что приводят к негативным результатам. Постепенно компьютер учится выбирать наилучшие варианты и становится все более сильным игроком. Для приобретения абсолютного превосходства над лучшими игроками-людьми алгоритму нужно 1,5 тыс. игр.
Похожие алгоритмы с 2006 года применяются на ежегодном чемпионате по компьютерному покеру, но Боулинг и его коллеги смогли существенно улучшить свой вариант алгоритма. Кроме того, разработчики нашли способ сжать обрабатываемые данные с 262 терабайт до 11 терабайт, при этом сжатие увеличивает время расчетов всего на 5%
Одним из важнейших элементов стратегии игры компьютера является блеф, то есть преднамеренная попытка сбить соперников с толку и заставить их сделать ложные выводы о дальнейшем развитии игры. До сих пор блеф считался чисто человеческой составляющей покера. Однако, как оказалось, он хорошо вписывается в математическую модель, и компьютер можете вычислить, как часто нужно блефовать, чтобы выиграть.
По словам Майкла Боулинга, новый алгоритм может пригодиться не только для разгрома чемпионов по покеру, но и для более важных задач, при решении которых приходится иметь дело с неизвестными переменными. В частности, новый алгоритм может использоваться для управления портфелем инвестиций или выбора методики лечения заболеваний. В настоящее время разработчики алгоритма работают со специалистами в области лечении диабета.