Искусственный интеллект (слабая его форма), разработанная представителями Школы информатики университета Карнеги-Меллон, обыграл четырех профессиональных игроков в покер. Речь идет о турнире в Техасский холдем, который проходил в питтсбургском казино Rivers. Это одна из наиболее популярных разновидностей покера. В ходе турнира было сыграно около 120 тысяч раздач. ИИ взял банк в $1,7 миллиона.
Авторы программы — Томас Сэндхолм и Ноам Браун. По словам разработчиков, покер — игра, участники которой не знают, какие карты у всех остальных. По этой причине просчитать что-то крайне сложно. Джимми Чу, один из участников турнира, пожаловался на то, что он с коллегами недооценил возможности Libratus: «Бот каждый день играл все лучше. Он как будто более умелая наша версия».
Турнир, о котором идет речь, получил название "Brains vs. Artificial Intelligence: Upping the Ante". Он начался 11 января. Участников было пять. Один из них — бот Libratus. Четыре других — Джимми Чу (Jimmy Choo), Донг Ким (Dong Kim), Джейсон Лес (Jason Les) и Дэниел Мак Аулай (Daniel McAulay). Общая продолжительность турнира составила 20 дней. Все четверо участников людей считаются лучшими игроками в эту разновидность покера в мире.
По мнению разработчиков, выигрыш их программы в покер — одно из крупнейших достижений в сфере искусственного интеллекта.
К сожалению, авторы системы Libratus не раскрывают особенности ее работы. Принцип функционирования алгоритма известен лишь в общих чертах. Тем не менее, в ближайшее время технические подробности будут раскрыты в публикации в рецензируемом научном журнале.
Разработчики утверждают, что Libratus состоит из трех частей. Это основное ядро, система, которая отслеживает ошибки, допущенные соперниками и часть, отслеживающая слабые стороны самой себя. В ходе игры третья часть помогла усовершенствовать способности программы, а также улучшить работу первых двух частей. Libratus научился блефовать и распознавать блеф со стороны соперников. Общее время вычислений составило примерно 15 миллионов ядро-часов.
Интереснее всего то, что алгоритмы Libratus не «заточены» специально для покера или любых других игр. Программа должна была, используя внутренние ресурсы, разработать свой стиль игры. И эта работа основывалась на предоставленной разработчиками изначально информации — правилах покера.
Что касается призовых, то участникам турнира достанется $200 000 — эта сумма будет поделена между всеми игроками-людьми в соответствии с полученными ими результатами. Разработчики же денег домой не привезут. Все это оговаривалось заранее, и главное для ученых, создавших систему — доказательство ее эффективности. По мнению сотрудников Карнеги-Меллон, возможности Libratus можно использовать в кибербезопасности, при переговорах, в военных целях.
В целом, искусственный интеллект с каждым годом обыгрывает человека все в новые игры, которые ранее считались недоступными для компьютера. Изначально это были шашки, потом — шахматы, видеоигры, го и теперь — покер. Причем интересно то, что во всех предыдущих случаях у всех участников есть полная информация о ходе игры — видно игровое поле и все фишки/фигурки. В последнем случае информация не полная, покер в этом плане стоит особняком.
ИИ ранее уже играл в покер, но побеждать удавалось только в наиболее простой вариант игры — в лимитный холдем с ограниченным шагом повышения ставок. А вот в безлимитном покере все гораздо сложнее. Здесь нужно действовать как опираясь на информацию о собственных картах, так и на данные о действиях оппонента. Причем оппоненты могут блефовать, что еще более усложняет задачу.
В безлимитном холдеме отличные результаты показывает и другая программная платформа — DeepStack. Она была разработана в Университете Альберты, причем сотрудники университета, специальной научно-исследовательской группы, создают покер-ботов, начиная с 90-х годов прошлого века. Первым созданным здесь ботом был Loki в 1997 году. Потом были Poki (1999), PsOpti/Sparbot (2002), Vexbot (2003), Hyperborean (2006), Polaris (2007), Hyperborean No-Limit (2007), Hyperborean Ring (2009), Cepheus (2015) и, наконец, венец творения — DeepStack.
О технических возможностях этой программы известно довольно много, поскольку разработчики опубликовали информацию о ней в начале января этого года. DeepStack использует равновесие Нэша. Так называют набор различных стратегий, при котором ни один игрок не может увеличить выигрыш в случае изменения стратегии, если другие участники игры стратегий не меняют. Плюс ко всему, DeepStack противодействует попыткам использовать собственную стратегию другими игроками.
Комментарии (43)
zookko
31.01.2017 23:13+13Сначала пусть попробует моего деда в переводного дурака обыграть.
interprise
31.01.2017 23:17+1это представляет хотя бы какую-нибудь сложность? учитывая что игра по сути на память, запомнить какие карты выбыли из игры, какие «забрал» противник. А у компьютера как известно с памятью проблем нету. или это такая странная шутка?
zookko
31.01.2017 23:21+10{facepalm} Да. Это была шутка на тему превосходства олдскульного лампового мастерства над современными бездушными цифровыми технологиями.
Zalechi
31.01.2017 23:58Вы очём? Это не блэк-джек. раздаётся по две карты участникам, затем пять карт выкладывается на стол(в таком порядке: 3-1-1). В итоге участнике выбирают из семи карт лучшие пять для покерной комбинации. Ничего запоминать не надо. Просто надо умело торговаться, блефовать и тд за те общие карты(3-1-1), которые выкладывают на стол(это общие карты, помимо двух то выдают изначально каждому игроку). Короче…
simple-simple
31.01.2017 23:58+13ИИ научился обыгрывать человека в шахматы.
ИИ обыграл человека в покер.
ИИ спустил выигрыш на кокаин и шлюх.
Zalechi
01.02.2017 00:13Вообщето здесь попахивает крахом он-лайн покера, так как это БОТ. А борьба с ботами в он-лайн покере типа ведётся не на жизнь, а на смерть. Вы понимайте, что я например готов выложить 1К баксов за такой алгоритм, залить на свой счёт ещё 1К баксов и спокойно пойти на основную работу. Придя домой вечером, я обнаружу на своём счёте не знаю какой плюс. Как минимум не уходить в минус — это задача всех существующих "пиратских" ботов. Для чего играть в нуль? Есть такое понятие во многих он-лайн покер-румах, как рейк-бек. То есть вам казино возвращает некоторый процент от прокрученных денег. Если вы в нуле и играйте на интересных(не мизерных) ставках, то вам обеспеченна зарплата. он-лайн профессионалы играют примерно в нуль. Редко уходят в минус, и иногда(чаще) имеют плюс. Люди тупо бросают учёбу и живут покером.
А тут БОТ выигрывает.
Это революция?!!!!vsb
01.02.2017 00:41+2Вечером вы обнаружите свой аккаунт в бане. Ну или через месяц-другой в крайнем случае. Покерные боты это далеко не новость и они давно играют на уровне очень хороших игроков, позволяя играть в плюс против обычных игроков. И с ними онлайн-площадки давно ведут борьбу.
Zalechi
01.02.2017 15:22Либо я не правильно выразился, либо вы абы как вникаете.
1) Где я писал, что боты это новость?
2) Уровень на котором они играют не могу комментировать, но когда я интересовался, играющие в ноль боты стоили десятки или около сотни другой долларов. Бесплатных то ли не было, то ли туповатые были.
3) Во втором предложении своего коммента, я пишу, как раз о том, что борьба с ботами ведётся не шуточная.
Простите, но Вы, с кармой -12, читайте внимательней и будьте бдительней, прежде чем пугать кого-то баном.
pwrlnd
01.02.2017 01:49+2Вы понимайте, что я например готов выложить 1К баксов за такой алгоритм, залить на свой счёт ещё 1К баксов и спокойно пойти на основную работу.
Общее время вычислений составило примерно 15 миллионов ядро-часов
Предварительно купив небольшое здание вместе с суперкомпьютером.mdaemon
01.02.2017 15:13Облака. Главное что бы профит превышал стоимость аренды.
pwrlnd
01.02.2017 15:18Мне кажется или сложно найти облако, которое будет выделять такие мощности периодическими «пиками»?
mdaemon
01.02.2017 15:21А точно нужны именно такие пики? ведь это общее время за 120 тысяч раздач
pwrlnd
01.02.2017 15:34Если по полчаса на раздачу, то 250 ядер. Это только при условии, что нагрузка на ядра равномерно распределена по времени.
pwrlnd
02.02.2017 20:19Небольшая поправка:
Общая продолжительность турнира составила 20 дней
То есть 480 реальных часов. Даже если предположить, что играл компьютер круглосуточно, то нужно минимум 15 000 000 / 480 = 31 250 ядер.Mad__Max
09.02.2017 02:22Не нужно десятков тысяч ядер — если читали предыдущую (гораздо более подробную и толковую) новость, то это указано процессорное время не на игру в этом конкретном турнире, а на разработку алгоритма бота и его обучения(тренировки), когда программа анализировала записи миллионов чужих игр и играла миллионы игр против самой себя отрабатывая и настраивая алгоритмы.
После обучения (разового) на саму последующую игру обычно уходит на несколько порядков меньше вычислительных мощностей.
n00b1k
01.02.2017 19:41120 тысяч раздач
pwrlnd
02.02.2017 20:19Общая продолжительность турнира составила 20 дней
То есть 480 реальных часов. Даже если предположить, что играл компьютер круглосуточно, то нужно минимум 15 000 000 / 480 = 31 250 ядер.n00b1k
02.02.2017 20:43И что вы здесь насчитали?
(ядер/час)/час = ядер/(час*час), то есть ядер на часы в квадрате.
120000/480=250 — кол. ядер/часов на одну раздачу, но это затраты на победу в турнире, с практической точки зрения же нужно, чтобы бот приносил владельцу небольшой доход, а для этого нужно выигрывать у весьма средних игроков с заметным снижением КПД. И еще неизвестно какими ядрами они считали, если предположить максимальные i7, то в итоге одному процессору нужно 25 процессор/часов, но там скорее всего сильно слабее ядра учитывались.pwrlnd
02.02.2017 20:54И что вы здесь насчитали?
Вполне нормальные расчеты. Пример: разработка программы заняла 8 часов, суммарные затраты оценены в 80 человекочасов. Минимум сколько программистов занималось разработкой?
pwrlnd
02.02.2017 21:00предположить максимальные i7, то в итоге одному процессору нужно 25 процессор/часов
Можете посмотреть, разница в производительности между одним ядром самого топового i7 и самого бюджетного Celeron в одной линейке до 50%. Откуда разница в 25 раз?
mrspender
01.02.2017 15:12Никакой сенсации здесь нет. Судя по всему, уже давно существуют серый бизнес, где собирают целые команды программистов, пишут и тестируют бота, его ставят различным реальным людям, желающим подзаработать, в виде подсказчика, таким образом технически вычислить практически невозможно, поэтому банят только по прошествии времени и жалоб от регуляров.
Таким образом, из покера выкачиваются миллионы долларов, многочисленные случаи всплывали на мидстейкс Холдема, Омахи, а в последнее время сетки ботов всплывают и в турнирах МТТ. При этом они штампуют новые аккаунты и мигрируют в разные покер-румы, где борьба с ними слабая и сильно заторможенная.Zalechi
01.02.2017 15:30http://botpoker.ru/
Авторы в самом деле хвастаются высоким уровнем бота, нижа на заглавной представлены графики вин-рейтов, а ценник 3500р, 2100р по скидке.
Первое что попалось в гугле. Не знаю, раньше я тыкал спец. форумы, там были разного рода студенческие боты играющие в нуль.
Что сказать — прогресс не стоит на месте..
Slavik_Kenny
01.02.2017 15:45Вот только в онлайне игроки постоянно меняются — не получится провести несколько тысяч раздач с каждым, чтоб вычислить его блефы и т.д.
А еще в онлайне полно всяких безбашшеный алл-инщиков, особонно на низких лимитах, а доехать может на любых двух картах — такое тоже не угадаешь.
мое ИМХО что к такому боту надо еще базу по игрокам прикручивать, и первые насколько месяцев посадить сливать деньги, чтоб эту базу наполнить — может быть тогда какой-то профит и будет.Zalechi
01.02.2017 16:12+2На "старсах" текучка огромная, особенно на низких лимитах, вряд и получиться собрать толковую базу по игрокам. Чего не скажешь, про лимиты повыше(где ставки выше — для тех кто не в теме), но там даже в "зум румах" половина регов минимум — всё теже лица. Канеш со временем происходит ротация, но вполне себе такую базу на локальный период набить можно и соответственно корректировать. Да прикручивать надо.
Slavik_Kenny
01.02.2017 17:33Ну и фактор времени — 20 дней против одних и тех же 4х соперников.
А если соперников будет хотябы 400 разных, то для такого же результата надо будет более 5ти лет играть…
И это при условии, что каждый из соперников будет 6000 раздач в день с ботом играть.
Очень большой стэк надо будет боту предоставить, чтоб он за первые пару лет не слился :)
realscorp
01.02.2017 07:15+2Кажется, в недалеком будущем терминаторы будут спрашивать своих жертв «проблемы с доступом к Джойказино?»
potan
01.02.2017 11:17DeepStack использует равновесие Нэша. и DeepStack противодействует попыткам использовать собственную стратегию другими игроками.
Как это совместимо? Если он использует стратегию, в которой достигается равновесие, то он не должен пытаться предугадать стратегию соперника. Если он пытается предсказать (например, предположить, что стратегия такая же, как у него — хотя для равновесной стратегии это не очень осмыслено), то его стратегия может перестать быть равновесной и его можно обмануть.
gapel
01.02.2017 16:12меня одного мучает вопрос, что будет если посадить играть 4 ИИ DS друг с другом?
Zalechi
01.02.2017 16:14Набьют друг другу морду? Фантазировать не буду, но как писали выше, если учесть используемые ядра-ресуры, то лучше их слить на прокачку бит-коинов, нет?
gapel
01.02.2017 16:31безусловно — лучше и эффективней. Но интересней-то посмотреть на битву ИИ. Окупить часы предлагаю с помощью тотализатора!
ReSpown
01.02.2017 20:46В последнее время появилось очень много статей про покер, про боты в покере.
В одной из них упоминалось про рейк и рейкбЭк. Так вот это основа, основ в Покере как бизнеса.
Другое дело, что онлайн-румы очень эффективно ведут борьбу с ботами и прочим ЗЛОстным сопутствующим ПО.
В плюсового бота не верю, от слова совсем (ну разве что +5% РОИ), да и то нужно выверять, не за 48К кило рук, и даже не за 120К рук в МТТ, а допустим 1,5М-2М рук на кэшстолах, или столько же рук в СНГ супертурбо 6мах турнирчиках по рублю (от бакса и выше). А таких данных НЕТ. Оперируемость значениями сыгранных рук идёт на порядки ниже, и даже неизвестно, это просто сыгранные руки или это рейкРуки.
Никакой бот, а точнее никакие алгоритмы в покере не помогут, игра больше расчитана на психологию, на то что бы заставить оппа ошибиться. Допустим, слоуПлей, никакой бот не выявит и не сыграет как полагается, так же существуют МАРГИНАЛЬНЫЕ (ниже средней руки) стартовые карты (если пришли вам), которые играются более-менее агрессивно. Здесь никакой алгоритм не поможет.
Единственное, что авторы покер-ботов приблизили свои алгоритмы (движок) к околоНулевому регу, тогда да, баланс в ноль, т. е. неизменяемый на протяжении всего времени, и профит за счёт рэйкБэка (кэшБэка). В принципе ничего не мешает и без ботов набивать по 3К евро рейка в мес. при возврате с этой суммы от 900 до 1,5К евро.
Ну а покер-румы скорее всего будут рады такому «регу» (покер-боту), который молотит им средний рэйк. )))
Ещё раз повторюсь, румы не допустят перегиб в СИЛЬНО плюсовую сторону.
tandzan
Вангую, через N лет на недоуменное «Почему меня не взяли на эту работу» или «Почему ты не выйдешь за меня?» получишь ответ «Так сказала Машина».
sim31r
С кредитами в банке уже так и есть.
Vjatcheslav3345
А вот я, прочитав, представил следующий «фильм» — с одной стороны стола переговоров — крупный государственный деятель эпохи
генсек Брежневс другой — программа: каждый блефует насмерть. Оба игрока имеют в качестве ставок ядерное оружие и право его применения, население своих стран… ещё «газовые переговоры» можно вспомнить.sim31r
Обострять противостояние, как мне кажется, можно, если есть гарантия в 99.999% что не будет ответного удара. Выгоды почти никакой, а убытки весьма существенны, на фоне современного хрупкого глобального равновесия, сложных связей. Выгоду получит третья сторона, что останется в стороне от конфликта.
Для обучения нейронной сети тут мало информации, повторной игры не будет.