Очень интересное видео о программе, которая учится играть в классические Нинтендо-игры следующим забавным образом: во время тренировки, когда играет человек, она все время записывает полные снимки рабочей памяти консоли (всего 2KB), и потом ищет в них растущие лексикографически последовательности байтов, потому что они скорее всего соответствуют кол-ву очков, номеру уровня итд. Потом она играет сама, стремясь увеличить эти самые байты в памяти.
Если 15-минутное видео слишком длинно и неудобно, то во-первых демки начинаются на 06:20, а во-вторых, вот статья автора. Она написана в веселом стиле ("The NES is based around an 8-bit processor running at 1.79 MHz, the Ricoh 2A03. 8 bits is really small. You can see them all right here: 00001111."), и была послана на первоапрельскую конференцию, где обычно пишут о выдуманных исследованиях, но тут вроде бы все честно.
Кстати, я помню, что похожим образом в свое время (а может и сейчас) ломали игры: анализом памяти находили места, где записан номер уровня или кол-во денег или ресурсов, и писали программку, которая позволяла менять это все. Возможно, оттуда автор почерпнул идею. Но играть автоматически, не "зная" ничего ни о смысле сигналов ввода, ни о том, что на экране, а только ради увеличения байтов в памяти - это следующий уровень, остроумно.