Un chercheur a développé une intelligence artificielle capable de jouer à différents jeux NES, en particulier Super Mario Bros, en apprenant à jouer grâce à une analyse de la mémoire stockée dans la console.

Saviez-vous qu'il existe depuis 2010 un tournoi annuel d'intelligence artificielle basé sur Super Mario Bros ? Les candidats doivent utiliser une version java du jeu star de Nintendo, et développer un moteur d'IA capable de jouer au jeu en prenant ses propres décisions. Différentes catégories existent, qui mesurent la pertinence des décisions prises, la capacité d'apprentissage des algorithmes, ou encore le caractère "humain" de la façon de jouer (un test de Turing sur Mario). Il existe même une catégorie qui vise à générer automatiquement les niveaux les plus amusants à jouer sur Infinite Mario Bros, une adaptation Flash du jeu vidéo.

Généralement, les candidats qui créent une IA pour Mario Bros essayent d'apprendre au moteur à analyser l'environnement pour réaliser les actions les plus appropriées. Mais Ars Technica rapporte la découverte d'une autre approche, réalisée (en dehors du tournoi) par le chercheur Tom Murphy pour la conférence SigBovik 2013. Elle fonctionne étonnamment bien.

Le chercheur s'est basé sur des algorithmes de classement des informations par ordre lexicographique, pour analyser l'ensemble de la mémoire remplie par Super Mario Bros. Un premier programme, baptisé LearnFun, est chargé de capter et de classer toutes les informations stockées dans la mémoire de la console NES au cours d'une partie : position des ennemis et des blocs du décor, position de Mario, boutons appuyés sur la manette, évolution du score, nombre de vies restantes, etc. L'algorithme détecte alors les corrélations entre les valeurs, pour détecter par exemple que le score augmente si Mario collecte des étoiles ou se dirige vers la droite. Ou au contraire, qu'il perd s'il touche une créature ennemie, mais gagne des points s'il saute dessus. 

Un autre logiciel, PlayFun, est alors chargé de mettre en oeuvre cet apprentissage en testant les hypothèses en situation réelle. Le résultat, visible à partir de 8:00, est assez bluffant :

Le chercheur a appliqué la même méthode pour d'autres jeux NES, comme Karate Kid ou Bubble Bobble, avec succès. En revanche, l'algorithme échoue complètement sur Tetris.

Partager sur les réseaux sociaux

Plus de vidéos