Разработчики из Бразилии, Нидерландов и Великобритании предложили соревнование эволюционных алгоритмов, играющих в фреймворк, воссоздающий игру Mega Man II. В рамках соревнований алгоритмы обучаются на четырех соперниках, но по итогам должны уметь побеждать восемь врагов. Статья с описанием соревнования и первыми результатами опубликована на arXiv.org.
Для людей обычно не составляет труда разобраться в игре-платформере за несколько минут и составить оптимальную стратегию, просто опробовав разные варианты. Для компьютерных алгоритмов же это гораздо труднее, но в то же время не так сложно, как современные 3D-игры с открытым миром, поэтому исследователи часто используют старые платформеры как модельную задачу для обучения эволюционных алгоритмов.
В 2016 году группа разработчиков из Бразилии создала фреймворк, имитирующий популярную игру Mega Man II и делающий ее доступным для обучения игровых алгоритмов. Авторы выбрали эту игру, потому что в ней есть восемь боссов, каждый из которых обладает специфичным оружием. Таким образом, алгоритм должен не только выучить общие правила игры, например, что пуль врага надо избегать, а свои пули надо посылать в его сторону, но и адаптировать стратегию поведения под нового врага.
Теперь группа исследователей из Бразилии, Нидерландов и Великобритании предложила использовать этот фреймворк для проведения соревнований алгоритмов. Они усложнили задачу, предложив обучать алгоритм на четырех врагах, а соревнования проводить на всех восьми. Это позволяет понять, насколько генерализованы навыки, полученные алгоритмом в процессе обучения. Кроме того, алгоритм после победы над каждым боссом не меняет оружие.
Алгоритм, выступающий за игрока, имеет доступ к 20 виртуальным датчикам: 16 из них показывают вертикальное или горизонтальное расстояние до восьми пуль, два отвечают за координаты противника и еще два за направление игрока и противника. Игрок и противник начинают игру со 100 очками энергии. Каждый раз, когда персонаж получает урон, он теряет одно очко. Поражение присуждается тому, кто потерял все очки, а эффективность алгоритма рассчитывается как 100,01 + ee - ep, где ee — это энергия противника, а ep — энергия игрока. Итоговая эффективность подсчитывается как среднее от результатов боев с каждым из восьми боссов.
Авторы протестировали несколько алгоритмов и самым успешным оказалась нейросеть, построенная на основе архитектуры из работы 2002 года. Код и документация фреймворка опубликованы на GitHub.
Другая популярная игра, применяемая для оценки эволюционных алгоритмов — это StarCraft II. Осенью 2019 года алгоритм от DeepMind обыграл 99,8 процентов игроков-людей из участвовавших в турнире.
Григорий Копиев
Кем вы можете стать, когда вырастете
Архитектор цифровых офисов, модератор VR-выставок, семейный генный инженер — звучит, конечно, непривычно, но через сколько-нибудь лет эти (или подобные им) профессии будут удивлять не больше, чем «врач-терапевт» или «учитель математики». Пройдите наш тест и попробуйте угадать, чем будут заниматься загадочные специалисты недалекого будущего.