Взять и победить: ИИ выиграл покерный турнир у четырех профи



    Искусственный интеллект (слабая его форма), разработанная представителями Школы информатики университета Карнеги-Меллон, обыграл четырех профессиональных игроков в покер. Речь идет о турнире в Техасский холдем, который проходил в питтсбургском казино 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 противодействует попыткам использовать собственную стратегию другими игроками.
    Поддержать автора
    Поделиться публикацией

    Комментарии 44

      +1
      По мнению сотрудников Карнеги-Меллон, возможности Libratus можно использовать в кибербезопасности, при переговорах, в военных целях.

      Вангую, через N лет на недоуменное «Почему меня не взяли на эту работу» или «Почему ты не выйдешь за меня?» получишь ответ «Так сказала Машина».
        +8
        С кредитами в банке уже так и есть.
          0
          при переговорах, в военных целях.

          А вот я, прочитав, представил следующий «фильм» — с одной стороны стола переговоров — крупный государственный деятель эпохи генсек Брежнев с другой — программа: каждый блефует насмерть. Оба игрока имеют в качестве ставок ядерное оружие и право его применения, население своих стран… ещё «газовые переговоры» можно вспомнить.
            0
            Обострять противостояние, как мне кажется, можно, если есть гарантия в 99.999% что не будет ответного удара. Выгоды почти никакой, а убытки весьма существенны, на фоне современного хрупкого глобального равновесия, сложных связей. Выгоду получит третья сторона, что останется в стороне от конфликта.
            Для обучения нейронной сети тут мало информации, повторной игры не будет.
        0

        Насчёт лучших игроков авторы статьи, пожалуй, немного погорячились)

          +13
          Сначала пусть попробует моего деда в переводного дурака обыграть.
            +1
            это представляет хотя бы какую-нибудь сложность? учитывая что игра по сути на память, запомнить какие карты выбыли из игры, какие «забрал» противник. А у компьютера как известно с памятью проблем нету. или это такая странная шутка?
              +10
              {facepalm} Да. Это была шутка на тему превосходства олдскульного лампового мастерства над современными бездушными цифровыми технологиями.
                0
                Вы очём? Это не блэк-джек. раздаётся по две карты участникам, затем пять карт выкладывается на стол(в таком порядке: 3-1-1). В итоге участнике выбирают из семи карт лучшие пять для покерной комбинации. Ничего запоминать не надо. Просто надо умело торговаться, блефовать и тд за те общие карты(3-1-1), которые выкладывают на стол(это общие карты, помимо двух то выдают изначально каждому игроку). Короче…
                  0

                  ой, вы это про дурака)

              +13
              ИИ научился обыгрывать человека в шахматы.
              ИИ обыграл человека в покер.
              ИИ спустил выигрыш на кокаин и шлюх.
                0

                Вообщето здесь попахивает крахом он-лайн покера, так как это БОТ. А борьба с ботами в он-лайн покере типа ведётся не на жизнь, а на смерть. Вы понимайте, что я например готов выложить 1К баксов за такой алгоритм, залить на свой счёт ещё 1К баксов и спокойно пойти на основную работу. Придя домой вечером, я обнаружу на своём счёте не знаю какой плюс. Как минимум не уходить в минус — это задача всех существующих "пиратских" ботов. Для чего играть в нуль? Есть такое понятие во многих он-лайн покер-румах, как рейк-бек. То есть вам казино возвращает некоторый процент от прокрученных денег. Если вы в нуле и играйте на интересных(не мизерных) ставках, то вам обеспеченна зарплата. он-лайн профессионалы играют примерно в нуль. Редко уходят в минус, и иногда(чаще) имеют плюс. Люди тупо бросают учёбу и живут покером.
                А тут БОТ выигрывает.
                Это революция?!!!!

                  +2
                  Вечером вы обнаружите свой аккаунт в бане. Ну или через месяц-другой в крайнем случае. Покерные боты это далеко не новость и они давно играют на уровне очень хороших игроков, позволяя играть в плюс против обычных игроков. И с ними онлайн-площадки давно ведут борьбу.
                    0

                    Либо я не правильно выразился, либо вы абы как вникаете.
                    1) Где я писал, что боты это новость?
                    2) Уровень на котором они играют не могу комментировать, но когда я интересовался, играющие в ноль боты стоили десятки или около сотни другой долларов. Бесплатных то ли не было, то ли туповатые были.
                    3) Во втором предложении своего коммента, я пишу, как раз о том, что борьба с ботами ведётся не шуточная.


                    Простите, но Вы, с кармой -12, читайте внимательней и будьте бдительней, прежде чем пугать кого-то баном.

                    +2
                    Вы понимайте, что я например готов выложить 1К баксов за такой алгоритм, залить на свой счёт ещё 1К баксов и спокойно пойти на основную работу.

                    Общее время вычислений составило примерно 15 миллионов ядро-часов

                    Предварительно купив небольшое здание вместе с суперкомпьютером.
                      0
                      Облака. Главное что бы профит превышал стоимость аренды.
                        0
                        Мне кажется или сложно найти облако, которое будет выделять такие мощности периодическими «пиками»?
                          0
                          А точно нужны именно такие пики? ведь это общее время за 120 тысяч раздач
                            0
                            Если по полчаса на раздачу, то 250 ядер. Это только при условии, что нагрузка на ядра равномерно распределена по времени.
                              0
                              Небольшая поправка:

                              Общая продолжительность турнира составила 20 дней


                              То есть 480 реальных часов. Даже если предположить, что играл компьютер круглосуточно, то нужно минимум 15 000 000 / 480 = 31 250 ядер.
                                0
                                Не нужно десятков тысяч ядер — если читали предыдущую (гораздо более подробную и толковую) новость, то это указано процессорное время не на игру в этом конкретном турнире, а на разработку алгоритма бота и его обучения(тренировки), когда программа анализировала записи миллионов чужих игр и играла миллионы игр против самой себя отрабатывая и настраивая алгоритмы.

                                После обучения (разового) на саму последующую игру обычно уходит на несколько порядков меньше вычислительных мощностей.
                            0
                            31 250 ядер на 20 дней выйдут дорого
                            0

                            Я не спец по ядро-часам, ща загуглю. Принято и учту в след раз.

                              0
                              120 тысяч раздач
                                0
                                Общая продолжительность турнира составила 20 дней


                                То есть 480 реальных часов. Даже если предположить, что играл компьютер круглосуточно, то нужно минимум 15 000 000 / 480 = 31 250 ядер.
                                  0
                                  И что вы здесь насчитали?
                                  (ядер/час)/час = ядер/(час*час), то есть ядер на часы в квадрате.

                                  120000/480=250 — кол. ядер/часов на одну раздачу, но это затраты на победу в турнире, с практической точки зрения же нужно, чтобы бот приносил владельцу небольшой доход, а для этого нужно выигрывать у весьма средних игроков с заметным снижением КПД. И еще неизвестно какими ядрами они считали, если предположить максимальные i7, то в итоге одному процессору нужно 25 процессор/часов, но там скорее всего сильно слабее ядра учитывались.
                                    0
                                    Вообщем я тоже криво насчитал)
                                      0
                                      И что вы здесь насчитали?


                                      Вполне нормальные расчеты. Пример: разработка программы заняла 8 часов, суммарные затраты оценены в 80 человекочасов. Минимум сколько программистов занималось разработкой?
                                        0
                                        предположить максимальные i7, то в итоге одному процессору нужно 25 процессор/часов

                                        Можете посмотреть, разница в производительности между одним ядром самого топового i7 и самого бюджетного Celeron в одной линейке до 50%. Откуда разница в 25 раз?

                                        image
                                          0
                                          Я не писал про разницу в 25 раз. 25 часов потребуется на раздачу процессору i7, при условии, что расчет велся в его ядрах, а не каких-нибудь ARM.
                                            0
                                            В том суперкомпьютере используют Xeon.

                                            https://www.psc.edu/index.php/resources/computing/bridges
                                  0
                                  Никакой сенсации здесь нет. Судя по всему, уже давно существуют серый бизнес, где собирают целые команды программистов, пишут и тестируют бота, его ставят различным реальным людям, желающим подзаработать, в виде подсказчика, таким образом технически вычислить практически невозможно, поэтому банят только по прошествии времени и жалоб от регуляров.

                                  Таким образом, из покера выкачиваются миллионы долларов, многочисленные случаи всплывали на мидстейкс Холдема, Омахи, а в последнее время сетки ботов всплывают и в турнирах МТТ. При этом они штампуют новые аккаунты и мигрируют в разные покер-румы, где борьба с ними слабая и сильно заторможенная.
                                    0

                                    http://botpoker.ru/
                                    Авторы в самом деле хвастаются высоким уровнем бота, нижа на заглавной представлены графики вин-рейтов, а ценник 3500р, 2100р по скидке.
                                    Первое что попалось в гугле. Не знаю, раньше я тыкал спец. форумы, там были разного рода студенческие боты играющие в нуль.
                                    Что сказать — прогресс не стоит на месте..

                                    0
                                    Вот только в онлайне игроки постоянно меняются — не получится провести несколько тысяч раздач с каждым, чтоб вычислить его блефы и т.д.
                                    А еще в онлайне полно всяких безбашшеный алл-инщиков, особонно на низких лимитах, а доехать может на любых двух картах — такое тоже не угадаешь.
                                    мое ИМХО что к такому боту надо еще базу по игрокам прикручивать, и первые насколько месяцев посадить сливать деньги, чтоб эту базу наполнить — может быть тогда какой-то профит и будет.
                                      +2

                                      На "старсах" текучка огромная, особенно на низких лимитах, вряд и получиться собрать толковую базу по игрокам. Чего не скажешь, про лимиты повыше(где ставки выше — для тех кто не в теме), но там даже в "зум румах" половина регов минимум — всё теже лица. Канеш со временем происходит ротация, но вполне себе такую базу на локальный период набить можно и соответственно корректировать. Да прикручивать надо.

                                        0
                                        Ну и фактор времени — 20 дней против одних и тех же 4х соперников.
                                        А если соперников будет хотябы 400 разных, то для такого же результата надо будет более 5ти лет играть…
                                        И это при условии, что каждый из соперников будет 6000 раздач в день с ботом играть.
                                        Очень большой стэк надо будет боту предоставить, чтоб он за первые пару лет не слился :)
                                    +2
                                    Кажется, в недалеком будущем терминаторы будут спрашивать своих жертв «проблемы с доступом к Джойказино?»
                                      0
                                      Он как будто более умелая наша версия

                                      Не хочется ребят огорчать, но…
                                        0
                                        DeepStack использует равновесие Нэша. и DeepStack противодействует попыткам использовать собственную стратегию другими игроками.
                                        Как это совместимо? Если он использует стратегию, в которой достигается равновесие, то он не должен пытаться предугадать стратегию соперника. Если он пытается предсказать (например, предположить, что стратегия такая же, как у него — хотя для равновесной стратегии это не очень осмыслено), то его стратегия может перестать быть равновесной и его можно обмануть.
                                          0
                                          меня одного мучает вопрос, что будет если посадить играть 4 ИИ DS друг с другом?
                                            0

                                            Набьют друг другу морду? Фантазировать не буду, но как писали выше, если учесть используемые ядра-ресуры, то лучше их слить на прокачку бит-коинов, нет?

                                              0
                                              безусловно — лучше и эффективней. Но интересней-то посмотреть на битву ИИ. Окупить часы предлагаю с помощью тотализатора!
                                            0
                                            В последнее время появилось очень много статей про покер, про боты в покере.
                                            В одной из них упоминалось про рейк и рейкбЭк. Так вот это основа, основ в Покере как бизнеса.
                                            Другое дело, что онлайн-румы очень эффективно ведут борьбу с ботами и прочим ЗЛОстным сопутствующим ПО.
                                            В плюсового бота не верю, от слова совсем (ну разве что +5% РОИ), да и то нужно выверять, не за 48К кило рук, и даже не за 120К рук в МТТ, а допустим 1,5М-2М рук на кэшстолах, или столько же рук в СНГ супертурбо 6мах турнирчиках по рублю (от бакса и выше). А таких данных НЕТ. Оперируемость значениями сыгранных рук идёт на порядки ниже, и даже неизвестно, это просто сыгранные руки или это рейкРуки.

                                            Никакой бот, а точнее никакие алгоритмы в покере не помогут, игра больше расчитана на психологию, на то что бы заставить оппа ошибиться. Допустим, слоуПлей, никакой бот не выявит и не сыграет как полагается, так же существуют МАРГИНАЛЬНЫЕ (ниже средней руки) стартовые карты (если пришли вам), которые играются более-менее агрессивно. Здесь никакой алгоритм не поможет.

                                            Единственное, что авторы покер-ботов приблизили свои алгоритмы (движок) к околоНулевому регу, тогда да, баланс в ноль, т. е. неизменяемый на протяжении всего времени, и профит за счёт рэйкБэка (кэшБэка). В принципе ничего не мешает и без ботов набивать по 3К евро рейка в мес. при возврате с этой суммы от 900 до 1,5К евро.

                                            Ну а покер-румы скорее всего будут рады такому «регу» (покер-боту), который молотит им средний рэйк. )))
                                            Ещё раз повторюсь, румы не допустят перегиб в СИЛЬНО плюсовую сторону.
                                              0

                                              В общем согласен. Я придерживаюсь такой же оценки этого рынка. Хоть давно и не интересовался им.

                                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                            Самое читаемое