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


  1. tandzan
    31.01.2017 23:03
    +1

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

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


    1. sim31r
      31.01.2017 23:38
      +8

      С кредитами в банке уже так и есть.


      1. Vjatcheslav3345
        01.02.2017 12:36

        при переговорах, в военных целях.

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


        1. sim31r
          02.02.2017 01:45

          Обострять противостояние, как мне кажется, можно, если есть гарантия в 99.999% что не будет ответного удара. Выгоды почти никакой, а убытки весьма существенны, на фоне современного хрупкого глобального равновесия, сложных связей. Выгоду получит третья сторона, что останется в стороне от конфликта.
          Для обучения нейронной сети тут мало информации, повторной игры не будет.


  1. Hvorizmy
    31.01.2017 23:04

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


  1. zookko
    31.01.2017 23:13
    +13

    Сначала пусть попробует моего деда в переводного дурака обыграть.


    1. interprise
      31.01.2017 23:17
      +1

      это представляет хотя бы какую-нибудь сложность? учитывая что игра по сути на память, запомнить какие карты выбыли из игры, какие «забрал» противник. А у компьютера как известно с памятью проблем нету. или это такая странная шутка?


      1. zookko
        31.01.2017 23:21
        +10

        {facepalm} Да. Это была шутка на тему превосходства олдскульного лампового мастерства над современными бездушными цифровыми технологиями.


      1. Zalechi
        31.01.2017 23:58

        Вы очём? Это не блэк-джек. раздаётся по две карты участникам, затем пять карт выкладывается на стол(в таком порядке: 3-1-1). В итоге участнике выбирают из семи карт лучшие пять для покерной комбинации. Ничего запоминать не надо. Просто надо умело торговаться, блефовать и тд за те общие карты(3-1-1), которые выкладывают на стол(это общие карты, помимо двух то выдают изначально каждому игроку). Короче…


        1. Zalechi
          01.02.2017 00:16

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


  1. simple-simple
    31.01.2017 23:58
    +13

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


  1. Zalechi
    01.02.2017 00:13

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


    1. vsb
      01.02.2017 00:41
      +2

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


      1. Zalechi
        01.02.2017 15:22

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


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


    1. pwrlnd
      01.02.2017 01:49
      +2

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

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

      Предварительно купив небольшое здание вместе с суперкомпьютером.


      1. mdaemon
        01.02.2017 15:13

        Облака. Главное что бы профит превышал стоимость аренды.


        1. pwrlnd
          01.02.2017 15:18

          Мне кажется или сложно найти облако, которое будет выделять такие мощности периодическими «пиками»?


          1. mdaemon
            01.02.2017 15:21

            А точно нужны именно такие пики? ведь это общее время за 120 тысяч раздач


            1. pwrlnd
              01.02.2017 15:34

              Если по полчаса на раздачу, то 250 ядер. Это только при условии, что нагрузка на ядра равномерно распределена по времени.


            1. pwrlnd
              02.02.2017 20:19

              Небольшая поправка:

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


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


              1. Mad__Max
                09.02.2017 02:22

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

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


        1. pwrlnd
          02.02.2017 20:20

          31 250 ядер на 20 дней выйдут дорого


      1. Zalechi
        01.02.2017 15:24

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


      1. n00b1k
        01.02.2017 19:41

        120 тысяч раздач


        1. pwrlnd
          02.02.2017 20:19

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


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


          1. n00b1k
            02.02.2017 20:43

            И что вы здесь насчитали?
            (ядер/час)/час = ядер/(час*час), то есть ядер на часы в квадрате.

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


            1. n00b1k
              02.02.2017 20:50

              Вообщем я тоже криво насчитал)


            1. pwrlnd
              02.02.2017 20:54

              И что вы здесь насчитали?


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


            1. pwrlnd
              02.02.2017 21:00

              предположить максимальные i7, то в итоге одному процессору нужно 25 процессор/часов

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

              image


              1. n00b1k
                02.02.2017 21:07

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


                1. pwrlnd
                  02.02.2017 21:25

                  В том суперкомпьютере используют Xeon.

                  https://www.psc.edu/index.php/resources/computing/bridges


    1. mrspender
      01.02.2017 15:12

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

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


      1. Zalechi
        01.02.2017 15:30

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


    1. Slavik_Kenny
      01.02.2017 15:45

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


      1. Zalechi
        01.02.2017 16:12
        +2

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


        1. Slavik_Kenny
          01.02.2017 17:33

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


  1. realscorp
    01.02.2017 07:15
    +2

    Кажется, в недалеком будущем терминаторы будут спрашивать своих жертв «проблемы с доступом к Джойказино?»


  1. Desprit
    01.02.2017 10:27

    Он как будто более умелая наша версия

    Не хочется ребят огорчать, но…


  1. potan
    01.02.2017 11:17

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


  1. gapel
    01.02.2017 16:12

    меня одного мучает вопрос, что будет если посадить играть 4 ИИ DS друг с другом?


    1. Zalechi
      01.02.2017 16:14

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


      1. gapel
        01.02.2017 16:31

        безусловно — лучше и эффективней. Но интересней-то посмотреть на битву ИИ. Окупить часы предлагаю с помощью тотализатора!


  1. ReSpown
    01.02.2017 20:46

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

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

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

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