Искусственный интеллект (слабая его форма) постепенно становится все более умелым. Компьютер с успехом решает даже те задачи, которые всего несколько лет назад считались доступными для понимания лишь человеку. Один из примеров — игра го, где стать чемпионом может лишь тот, у кого хорошо развита интуиция и логическое мышление. Го для машины считалась недостижимым «потолком». Сейчас же мы видим, что на Земле уже нет людей, способных выиграть у машины.

Понятно, что ИИ не только в го играет, круг задач гораздо шире. Тем не менее, специалисты из разных сфер ИТ стараются обучить компьютер сражаться на равных с человеком и в компьютерных играх, с тем, чтобы проверить возможности своих программных платформ. В этом случае человек и бот находятся в одинаковых условиях. Обычно соперников сталкивают лбами на карте стратегии с «туманом войны», так что оба противника не в курсе, какие объекты и где на этой карте находятся (в обычных условиях игровой «ИИ» знает, где что находится). Именно в таких условиях человек победил машину в StarCraft.

Речь идет о сражении профессионального игрока в StarCraft Сон Бён-гу (Song Byung-gu) с четырьмя различными StarCraft ботами. Один из них, «CherryPi» был разработан корпорацией Facebook. Другие боты созданы компаниями из Австралии, Норвегии и Кореи.

Игра проходила в Университете Sejong, Сеул, Корея. С 2010 здесь проходят соревнования по StarCraft с участием людей и машин. Мероприятие поддерживают различные организации (как коммерческого толка, так и научно-исследовательские и общественные). Конкретно это соревнование было поддержано, в частности, Institute of Electrical and Electronics Engineers (IEEE).

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

Известные игроки в StarCraft ранее уже заявляли, что очень хотели бы сразиться с компьютерным противником. Компании, которые работают в сфере ИИ, например, DeepMind, приветствовали это желание, заявив о намерении провести подобные соревнования в будущем.

И это будущее наступило — люди смогли сразиться с ИИ. У компьютера не сложилось — человек победил всех четырех ботов за 27 минут в общем зачете. Максимальная продолжительность матча составила 10 минут и 30 секунд. Самый короткий матч продолжался 4 с половиной минуты. И это при том, что боты за единицу времени выполняли гораздо больше действий, чем человек. Например, система, созданная норвежскими специалистами, способна выполнять 19 000 действий в минуту. Киберчемпионы из мира людей в лучшем случае способны выполнять несколько сотен ходов-действий в минуту.

image

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

По мнению Ким Кьюнг-Джунга, организатора соревнований, ботам, которые соревновались с человеком, попросту не хватило опыта. Проведенных ими матчей было слишком мало. Например, AlphaGo провел десятки тысяч матчей, как с противниками-людьми, так и со своими копиями, прежде, чем научился играть на высоком уровне. А вот у ботов, играющих в StarCraft такой возможности не было.

Впрочем, эта ситуация вскоре изменится. Еще в августе DeepMind и Blizzard Entertainment анонсировали инструменты по разработке ИИ, совместимые со StarCraft II. На данный момент именно эта версия игры наиболее популярна среди киберспортсменов. Некоторые эксперты считают, что ИИ вскоре будет «выносить» человека точно так же, как это случилось в го. «Как только ботов оснастят системами принятия решений высокого уровня, как у AlphaGo, люди больше не смогут выиграть», — заявил Юнг Хан-мин из Университета науки и технологий, Корея.

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

Комментарии (49)


  1. Nagg
    03.11.2017 04:26

    Так загадили термин «ИИ» уже. Кто-то там где-то что-то натренировал для компьютерной игры, не смог выиграть человека = человек победил ИИ! Я тут в герои3 компьютер на максимальной сложности обыграл — я обыграл ИИ? :-)


    1. Ksiw
      03.11.2017 07:07

      Ого, как это тебе удалось?


      1. tartarelin
        03.11.2017 11:47

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


      1. daiver19
        04.11.2017 21:54

        Если играть в героев 3 профессионально/по-современному, то у компьютера почти нет шансов (если только игрок где-то не пожадничает или рандом сильно не зайдет). Я уже молчу про использование имба-юнитов вроде высших вампиров. На турнирах люди обычно играют на 180 процентов с 6 аи, которые там чисто по фану. Не 200 только чтоб не затягивать игру. Ну и игры обычно в районе месяца длятся. Короче, посмотрите стримы/обучалки того же Тварыны и прозрейте :)


    1. delvin-fil
      03.11.2017 10:06

      Хех, всегда играл на хардкоре. 85% игр неокончены, ибо на 3-4 игровом месяце становится понятно кто кого. Субъективно, около 60% игр за мной.
      С другом играем так же, на харкоре, но без воды.


  1. potan
    03.11.2017 07:58

    Нужен Starcraft-сервер, играющий в ускоренном режиме, для тренировок ботов.


    1. beaverBox
      03.11.2017 08:35

      Не подсказывайте скайнету ии стратегию как победить людей =)


    1. brzsmg
      03.11.2017 12:51

      Достаточно сделать hook функций со своей реализацией:
      GetTickCount() из Kernel32.dll
      GetSystemTime() из Kernel32.dll
      и прочих, для Starcraft-сервера, он по ним ориентируется во времени.


  1. p_fox
    03.11.2017 09:08
    +1

    Кореец победил в Старкрафт. Ничего удивительного.


    1. Zidian
      03.11.2017 15:47

      Зарашил, небойсь.

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

      Точно зарашил.


  1. m00r3ik
    03.11.2017 10:17

    Почему-то вспомнилась старая байка-анекдот о самообучаемых ботах из Quake3, о которых забыли и оставили воевать на сервере на несколько лет.


    1. brzsmg
      03.11.2017 13:09

      Ну кому нужна война?
      Четыре года назад один канадский айтишник запустил сервер Quake 3: Arena с 16 ботами. Боты управлялись самообучающимся AI на основе нейронной сети. Недавно айтишник вспомнил про сервер и пошел посмотреть как дела. Оказалось, что боты стояли и ничего не делали. Айтишник перезапустил сервер. Боты опять бездействуют. Айтишник пошел посмотреть логи и обнаружил, что у каждого бота набежало 512 Мб логов. Стал копаться в логах и понял причину: боты бились, бились, а потом поняли, что самая лучшая тактика не воевать.

      Источник: pikabu


  1. yea
    03.11.2017 10:22

    Простите, очень захотел это сюда принести.

    старенькое видео о ботах и микроконтроле


    1. Anarions
      03.11.2017 12:54

      Из-за этого видео мне казалось что заобуженным микроконтролем можно выиграть почти любую битву…


    1. Welran
      03.11.2017 14:48

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


      1. yea
        03.11.2017 14:54

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


        1. Welran
          04.11.2017 18:49

          тогда танки просто перестреляют всех зерлингов так как сетка получится очень большой


          1. Tallefer
            04.11.2017 21:34

            Зависит от местности и расстановки танков, а еще можно пустить только первые 2 ряда разрозненно, а 3 ряд уже пачка, добежит как раз впритык к перезарядке.


            1. Welran
              04.11.2017 22:17

              они не добегут. во вторых задние танки вполне могут перейти в обычный режим и отстреливать всех подбежавших одиночных.


              1. Tallefer
                04.11.2017 22:55

                Говорю же, зависит от расстановки. А «если бы да кабы» вообще не в счет. :)


    1. safari2012
      03.11.2017 16:17

      Танки в таком режиме стреляют медленно и бестолково друг по другу. Стояли бы бункеры с огнеметами, я бы посмотрел на этот микроконтроль :)


      1. neomedved
        04.11.2017 09:46

        Но ведь в мультиплеере sc2 нет огнемётчиков.


  1. redpax
    03.11.2017 11:22

    В Starcraft есть 3 расы: ИИ, человек и кореец.


  1. PKav
    03.11.2017 11:25

    А что со встроенными ботами игры? Они совсем плохо играют? В редакторе карт для StarCraft 1 можно было выбрать сложность компьютерного оппонента, и там был самый сложный вариант что-то типа «Бот максимально возможно отстроится и разовьётся, после чего преподаст вам урок игры с StarCraft». Интересно, это действительно было так?


    1. Ogra
      03.11.2017 11:34

      Совсем. Даже с увеличенной добычей ресурсов встроенные боты проигрывают средним игрокам. И не средним профессионалам, а средним игрокам.


    1. dampirik
      03.11.2017 11:49

      Не знаю, как в StarCraft’е, но во многих играх сложность ботов регулируется, большим кол-вом ресурсов, ускоренным строительством, виденьем всего мира (без тумана войны) и еще кучей других ухищрений. Тут же все на равных.


      1. PavelGatilov
        03.11.2017 13:09

        Вы не поверите, но профессионалы вроде Stork’a даже таких ботов щёлкают как 2 пальца об асфальт


        1. mwizard
          03.11.2017 20:14

          об асфальт больно :(


    1. kir_rik
      03.11.2017 12:27

      Не знаю как сейчас, раньше все было очень плохо. За протоссов была 100%-успешная раш-стратегия, при которой сложность компьютера, субъективно, влияла только на скорость его сдачи.


    1. T-362
      03.11.2017 14:53

      С ботами всегда плохо, рано или поздно находятся их паттерны поведения и боты начинают щелкаться как орешки. Особенно в стратегиях. В первом старкрафте на большой карте 1 против 7 сильных ботов партия выигрывалась строительством правильной стенки на входе на базу (нюансы не расскажу, лет 15 назад играл). В стелларисе, например, восстание машин загоняется в тупик при перехвате и разрушении его транспортных флотов (боевые флоты зависают на орбите одной-двух планет), а компьютерные империи легко «душатся» на ранних этапах если окружить их своей территорией и закрыть границы.


    1. Tallefer
      03.11.2017 17:33

      В первом вообще все было настолько плохо, что в местном клубе со скуки играли в 2 каски против 6 ботов и им было норм. :) Да, вот и камент выше о том же.


    1. darthmaul
      03.11.2017 17:35

      Они тупо читерят. Видят всю карту, имеют бонус к добыче. Играть неинтересно.


  1. mypallmall
    03.11.2017 11:47

    После прочтения статьи создалось впечатление, что цель была не победить человека, а обучить ИИ для будущих соревнований.


  1. kir_rik
    03.11.2017 12:29

    Хм. Т.е. уже сейчас некоторые из представленных ИИ могут укатывать непрофессионалов? Это довольно круто.


    P.S. Имхо, apm для компьютерных оппонентов должен быть ограничен, иначе они получают очень нездоровое преимущество в микро.


    1. brzsmg
      03.11.2017 13:15
      +1

      Вся суть для такого якобы «ИИ» в этом преимуществе. Вот если бы ИИ был настоящий, то да — нечестно.


      1. sHaggY_caT
        03.11.2017 15:17

        Должен быть микроконтроллер, двигающий мышку, и нажимающий клавиши на клавиатуре :))
        Ну и камера, смотрящая в монитор. Никаких API.
        Интересно, хотя бы через 5 лет появится AI, способный уверенно выигрывать у человека в такой ситуации?


        1. safari2012
          03.11.2017 16:20

          Такой продвинутый терминатор почти сразу перехватит управление мышью/клавой на уровне порта UART :)


          1. sHaggY_caT
            03.11.2017 17:09

            Не спортивно. Человек тоже может сожрать спидов там, или других ноотропов.


        1. darthmaul
          03.11.2017 18:57

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


  1. PavelGatilov
    03.11.2017 13:10

    Для равного сравнения ИИ должен был бы обучаться то же время что и Stork. Он все таки играет больше 10 лет


    1. siziyman
      03.11.2017 15:36

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


      1. PavelGatilov
        03.11.2017 15:38

        Я имел ввиду почасовой паритет. Если этот игрок обучался в течении 10 лет по 3000 часов в год, то тогда справедливо было бы ИИ иметь 30 000 часов обучения.


  1. robotrobot
    03.11.2017 15:42

    Смотрю Starcraft (и редко играю) с самого начала (бог ты мой, уже 19 лет)
    Эти бои с ИИ смотрел в прямом эфире. До Stork'а (на фото) играли еще 2 человека любителя (сильно уступающие прогеймерам). один проиграл 1-2, второй 0-3.
    Причем как известно Stork смотрел эти игры, и было видно что был готов к раннему рашу от зергов, и сильно изменил обычную стратегию. Было сильно заметно, что компьютер сильно «тупит», но если ему дали бы развиться, он просто уничтожил Stork'а в поздней стадии.
    Конечно же Stork показал класс и гибкость мышления.

    От себя добавлю. Это НЕ равные бои. Для честного сравнения нужны ограничения человека. Чтобы поистине сравнить интеллект, необходимо поставить компьютер в условия физических ограничений: эффективный (именно эффективный) apm в районе 200-250, ошибочные нажатия, управление курсором, а не памятью, физические нажатия на кнопки, и распознавания образов. Тогда мы получим более менее сравнимое.
    Ну и Stork сейчас далеко не самый сильный протосс. Bisu, Jaedong и уж тем более Flash вперемешку — вот будет хороший бой. Просто у них на носу турниры ASL и Blizzcon.
    Непосредственно до матча я смотрел бои среди AI между собой. Довольно интересно. TSM00 (бот) в игре с 3-мя игроками показал себя наиболее продвинутым (очеловеченым чтоли), а вот в компьютерных поединках проиграл на ранних стадиях.


    1. Tallefer
      03.11.2017 17:39

      А СупКом никогда не доводилось смотреть (играть)? По мне так гораздо интереснее там все. Но — не попса, увы. И ботов поэтому туда никто не будет делать…


      1. T-362
        06.11.2017 14:23

        Вообще-то были кастомные ИИ для супкома, которые играли гораздо лучше стандартных. Если не ошибусь игра позволяет накатать свои ИИ и выставлять их игрокам-ботам. Это, конечно, не обученную нейросеть подключать или сторонний софт через АПИ, но тоже не плохо. Кстати сам супком силами комюнити живет и обновляется, гуглить Forged Alliance Forever.


        1. Tallefer
          06.11.2017 14:47

          Fair enough. :) Я в курсе про коммунити и кастомы, но это далеко не тот же уровень хайпа (и вложения ресурсов), что с сабжем статьи, я об этом ною, в основном. :)


    1. PavelGatilov
      03.11.2017 20:15

      ну 200-250 апм это довольно средненько. Про сейчас 400 средний выкликивают


      1. Anarions
        04.11.2017 11:57

        Сколько из этого — эффективный микроконтроль, а сколько простое «раскликивание»? Есть довольно успешные про с низким апм. (относительно низким, конечно).


    1. WinPooh73
      03.11.2017 21:37

      > эффективный (именно эффективный) apm в районе 200-250, ошибочные нажатия, управление курсором, а не памятью, физические нажатия на кнопки, и распознавания образов

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