Несмотря на свой солидный возраст, игра Pac-Man, разные ее версии, все еще пользуется бешеной популярностью. Поклонники игры регулярно соревнуются друг с другом в том, кто наберет большее количество очков при прохождении. Изучают ее и разработчики ИИ, совершенствуя навыки своих систем в прохождении игр.
Группе разработчиков из канадского стартапа Maluuba, который был ранее приобретен корпорацией Microsoft, удалось создать программную платформу, которая показала необычайно хорошие результаты при прохождении Ms. Pac-Man, версии этой игры для Atari 2600. Программа побила все ранее поставленные рекорды, набрав 999 990 очков.
Кстати, игра была создана в 1982 году. Тогда компания Atari Inc. выпустила порт хитовой аркадной игры Pac-Man от Namco. Как и в оригинальной версии, управлять протагонистом нужно при помощи джойстика. Главный герой должен двигаться по лабиринту, набирая баллы, при этом требуется избегать призраков. Создателем портированной игры является Тод Фрай.
По мнению некоторых специалистов, то, что программная платформа набрала максимальное количество очков в игре, является значительным достижением в сфере искусственного интеллекта (слабой его формы). Дело в том, что другие программные платформы показывали гораздо менее успешные результаты — игра оказалась достаточно сложной для ИИ. Конечно, далеко не все разработчики создавали свои проекты из расчета на взятие рекорда в Ms. Pac-Man, но те, кто над этим работал, говорили о большом количестве технических проблем при попытке показать сколь-нибудь значимые результаты.
Для того, чтобы достичь успеха, команда Maluuba решила разбить игру на группу мелких элементов, с поиском решения для взаимодействия с каждым из них. Далее эти элементы были распределены среди ИИ-агентов, каждый из которых решал свою определенную задачу. Дойна Прекап, профессор из McGill University в Монреале, заявила о том, что идея, предложенная разработчиками, заслуживает внимания. По ее мнению, именно так работает в некоторых случаях
Свой метод разработчики назвали Hybrid Reward Architecture, в нем используется более 150 агентов ИИ, каждый из которых работает параллельно с другими в процессе прохождения игры. Причем каждый из агентов получает «награду» при успешном прохождении своего участка игры.
Кроме «мелких» агентов, существует еще один агент высшего уровня, который занимается сведением воедино всех данных, полученных от всех «подчиненных». Он же и принимает решение о том, куда должна двигаться фигурка героя. При этом анализируется большое количество данных. Главный фактор — это направление движения, выбранное максимальным количеством элементарных агентов. С другой стороны, если 100 агентов хотят идти направо, чтобы получить трофей, но 3 агента планируют свернуть налево, поскольку заметили призрака, то главный агент «послушает» этих троих.
По словам главного разработчика, система начала показывать лучшие результаты после того, как агентов запрограммировали на эгоистичное поведение. То есть каждый из них принимает решение без оглядки на других. А вот общее решение о направлении движения героя принимает уже главный агент. Он оценивает различные факторы и командует, куда нужно идти.
«Это баланс между, с одной стороны, необходимостью взаимодействия, и с другой стороны, необходимостью принимать индивидуальные решения», — говорит Харм ван Сейджен, глава исследовательской группы Microsoft.
Но почему вообще было решено выбрать Ms. Pac-Man? Выбор этой игры может выглядеть странно для обычного человека. Но специалисты говорят, что ничего странного здесь нет, поскольку этот класс игр достаточно сложен для машинного интеллекта, поскольку здесь в единицу времени возникает достаточно много «нештатных» ситуаций, для каждой из которых нужен свой вариант развития событий. И для поиска решения нужно «мыслить» почти так, как человек, о чем и говорилось выше.
«Многие компании работают над ИИ для игр, разрабатывая собственные проекты, поскольку для прохождения нужны многие человеческие качества», — заявил Рауль Мехротра, один из программистов Maluuba.
Программная, платформа, разработанная в Microsoft, действует согласно способа машинного обучения, который называется обучение с подкреплением. В ходе работы испытуемая система (агент или агенты) обучается, взаимодействуя со средой. Это, по определению — один из видов кибернетического эксперимента. Метод обучения с подкреплением является одной из разновидностей обучения с учителем, но в роли учителя здесь выступает среда или ее модель. Агент воздействует на среду, а она, в свою очередь — на агента. Возникает обратная связь.
Сам проект — это не чистой воды теория. По словам разработчиков, созданную программную платформу можно использовать во многих сферах. Например, ее можно привлечь к работе внутри компании, которая занимается продажами, чтобы предсказывать динамику наплыва покупателей, популярность товаров и другие важные вещи. Система может работать как с общими тенденциями, так и с отдельными факторами, включая индивидуальных покупателей.
Автор: marks