Том Мерфи научил компьютер играть в видеоигры

Доктор технических наук Том Мерфи (Tom Murphy) представил на первоапрельской конференции несерьезных проектов «sigbovik2013» свою новую работу.
Он создал программу, которая умеет играть в старые видеоигры, написанные для игровой консоли NES (Денди).
Если не вдаваться в подробности, то принцип работы программы следующий:
На первом этапе в игру играет человек, а компьютер отслеживает состояние памяти эмулируемой консоли в поисках увеличивающихся значений ячеек памяти, которые, скорее всего, будут отображать количество жизней или собираемые плюшки.
После сбора такой базы компьютер по определенному алгоритму начинает подавать на вход эмулятора управляющие сигналы, говорящие о том, какая кнопка нажата, и отслеживать состояние этих ячеек. Если число, хранимое в ячейке, начинает увеличиваться, значит цель частично достигнута. Если уменьшаться – мы что-то сделали не так.
В итоге получается банальный перебор – раз в секунду на вход эмулятора может поступить сигнал о нажатии всего восьми кнопок (при этом в обычной игре только 4 из них могут иметь приоритет). И минуту игры описывает 8 в 60-ой степени состояний ввода.
Благодаря специальным алгоритмам программа выбирает самый оптимальный с её точки зрения вариант и, в конце концов, проходит уровень.
Узнать о программе Тома из первых уст, а также посмотреть, как компьютер играет в Марио, вы можете в прикрепленном видео:
 
Источник: habrahabr.ru
Автор:
Комментарии для сайта Cackle