Quand l’intelligence artificielle devient capable de battre Mario
L'occasion de voir quelques pépites...
Le 15 avril 2013 à 10h03
4 min
Société numérique
Société
Si vous connaissez Mario, peut-être avez-vous entendu parler de certains concours visant à défier le jeu sous l’angle de l’intelligence artificielle. Alors que des concours entiers sont dévolus à cette activité, un chercheur américain explique sa méthode pour le tout premier Mario.
Tom Murphy est chercheur et a présenté récemment, lors de la conférence SigBovik 2013 ses résultats. Cet évènement annuel rassemble des travaux visant un grand nombre de domaines en rapport avec la science. Il est organisé par l’ACH, l’Association for Computational Heresy. Murphy y a fait la démonstration pour sa part d’une solution d’intelligence artificielle pour le premier Mario, le héros du jeu agissant alors seul et sans manette.
Comme le chercheur l’explique dans sa vidéo, il a fallu procéder en deux étapes. La première a consisté à accumuler des données. Pour cela, il a créé un programme, nommé LearnFun, capable d’enregistrer le flot de données en provenance de la console NES de Nintendo, soit 60 images par seconde, chacune contenant 2048 octets. Il a joué pendant un certain temps, LearnFun enregistrant la totalité des éléments présents à l’écran. Cela signifie aussi bien les mouvements réalisés à la manette, que les actions telles que récupérer les pièces dans les cases, tuer les ennemis, éviter les trous et ainsi de suite.
L’autre programme, PlayFun, s’occupe ensuite de « jouer » à Mario. Il utilise pour cela les informations enregistrées par LearnFun. Comme on peut le voir dans la vidéo, à partir de 7:50, les premiers essais ne sont guère concluants. Mais au fur et à mesure que PlayFun exploite un plus grand nombre de données et qu’il apprend à mieux le faire, les résultats s’améliorent. Il finira d’ailleurs par découvrir un bug qui provoquait un blocage de Mario dans certains coins, le programme ne sachant alors pas faire demi-tour pour essayer un autre chemin.
Il est intéressant de noter qu’à partir de 10:45, on peut voir PlayFun tirer parti d’un bug connu dans Mario : si le héros moustachu est dans un mouvement de chute, il peut tuer automatiquement un ennemi qu’il touche. Il aura en revanche plus de mal à utiliser la mort d’un ennemi pour atterrir plus loin, un mouvement obligatoire dans bien des niveaux du jeu.
Une méthode applicable à d'autres titres
Tom Murphy explique également dans sa vidéo que la même technique a été utilisée dans d’autres jeux de la vieille NES. Karate Kid, Hudson’s Adventure Island, Bubble Bobble, Pacman ou encore Tetris. La méthode donne de très bons résultats sur Bubble Bobble et Pacman, PlayFun pouvant exploiter des mouvements au pixel près, ce qu’un joueur humain pourrait difficilement faire. C’est précisément le cas dans Pacman quand ce dernier parvient à se glisser entre deux fantômes très serrés.
Le cas de Tetris illustre cependant la limite de la méthode : il ne s’agit plus d’un circuit linéaire et de monstres à tuer, mais de fonctions cognitives pour prévoir et organiser à l’avance. PlayFun ira jusqu’à mettre le jeu en pause juste avant de perdre, empêchant alors la fin de la partie. Tom Murphy dira alors avec humour que la meilleure méthode pour gagner est de ne pas jouer.
Mario a ses propres concours
Comme le fait remarquer Wired, il ne s’agit en aucun cas du premier essai d’intelligence artificielle autour de Mario ou, plus globalement, du jeu vidéo. Il existe d’ailleurs un Mario AI Championship consistant à faire réaliser au jeu le plus gros score possible via l’intelligence artificielle. Un concept qui ne ressemble pas à celui de Tom Murphy, dont la méthode se veut plus généraliste.
On regardera cependant la vidéo ci-dessous, amusante bien que stressante, réalisée par une IA dans un tableau inventé et générant douze monstres par seconde :
Le 15 avril 2013 à 10h03
Quand l’intelligence artificielle devient capable de battre Mario
-
Une méthode applicable à d'autres titres
Commentaires (48)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 15/04/2013 à 10h07
" /> c’est fort
Le 15/04/2013 à 10h11
Sympa, mais toujours moins fort que moi.
Le 15/04/2013 à 10h12
Ca peut transporter les Tool Assisted Speedrun à un autre niveau " />
Le 15/04/2013 à 10h15
Une IA qui apprend de ses erreurs en gros =) balaise.
Y’en a déjà une faite par IBM, invité à un jeu américain “connu” (on donne la réponse faut trouver la question) et elle s’était très bien débrouiller.
IBM veux la vendre comme conseillé juridique (genre en -874 au japon il a e uun précédent …) ou médicinale (il y a 71.2547% de chance que ce soit tel maladie…)
edit: Watson (c’est le nom du projet IBM ^^)
Le 15/04/2013 à 10h16
pas mal du tout ! " />
Le 15/04/2013 à 10h18
Le 15/04/2013 à 10h20
Flippant quand on imagine tous les usages de drones qui pourraient apprendre " />
" /> néanmoins pour la technique.
Le 15/04/2013 à 10h22
Le 15/04/2013 à 10h24
Le 15/04/2013 à 10h24
Manque plus qu’à l’adapter aux hack and slash / MMO et ça va intéresser les entreprises de vente d’objets… même plus besoin de payer des petits chinois pour farmer ^^
Le 15/04/2013 à 10h26
Le 15/04/2013 à 10h31
Euh j’ai un doute, mais SigBovik c’est pas l’event 1er avril du département d’informatique de CMU ? :o
Le 15/04/2013 à 10h32
Le 15/04/2013 à 19h02
Le 16/04/2013 à 08h19
Le 16/04/2013 à 10h50
hahahahaha j’adore ce mec est très drôle en plus ;)
Le 15/04/2013 à 10h33
Toc toc toc
-Sarah Connor ?
(demandez à Watson si vous comprenez pas mon cheminement " />)
Le 15/04/2013 à 10h45
Le 15/04/2013 à 10h46
ça veut dire que l’ia peut faire les mêmes choses qu’un enfant de 6-7 ans, sarah connor peut encore dormir tranquille
Le 15/04/2013 à 11h07
Le 15/04/2013 à 11h12
Le 15/04/2013 à 11h13
Tom Murphy dira alors avec humour que la meilleure méthode pour gagner est de ne pas jouer.
Le “the only way to win is not to play” je pense que c’est surtout une référence à war games : “the only way to win in Nuclear War is not to play” " />
/" />
Le 15/04/2013 à 11h13
Le 15/04/2013 à 11h33
Le 15/04/2013 à 11h34
Le 15/04/2013 à 11h36
Le 15/04/2013 à 11h39
Le 15/04/2013 à 11h40
Le 15/04/2013 à 11h44
Le 15/04/2013 à 11h53
Le 15/04/2013 à 11h55
Une erreur s’est produite, veuillez réessayer ultérieurement.
" />
Le 15/04/2013 à 11h55
C’est bien joli mais cela repose sur un pré-calcul basé sur un environnement sans grande variation. D’ou la collecte de données. Si les “streums” étaient généré aléatoirement (mais vraiment) et pas en fonction d’une position dans le jeu cela fonctionnerait moins bien.
D’autres façons de faire reposent sur l’analyse du niveau pour faire un “chemin” et puis on déroule. Après vient l’obstacle aléatoire qui provoque la pause du script, on règle le saut (ou le tir), on tue le monstre. Et puis on re-déroule.
On est loin du cognitif. finalement dans ce genre de défis. Élaboré oui, mais pas plus.
Je verrai plus un concours ou:
-Un chemin unique au départ avec quelques obstacles ou cul de sac.
-Tu as 5 “chemins solution” à partir d’un carrefour.
-Un environnement dynamique et aléatoire sur certains segment (monstre etc).
-Un nombre de “brique logique” a associer qui créent des fonctions (passer le mur, tuer le monstre).
-Un nombre de “slot” limités pour les fonctions a utiliser.
Le programme est lâché dans cet environnement (peu agressif au départ), sans aucun pré-calcul mais avec un savoir de base (objectif : atteindre le carrefour, la fin, mouvement de base, cartographie, résolution de chemin etc…) et il doit faire des associations pour arriver a passer les obstacles.
Le mur comme les monstres sont des obstacles mais qu’on ne peut pas “traiter” de la même manière. Chaque obstacle apporte spontanément une information à l’IA qui exprime la contrainte. “Le mur me dit que j’ai besoin du saut”, “Le monstre me dit qu’il est faible devant le pistolet”, “le monstre 2 ne craint pas le pistolet mais le fusil a pompe”, etc.
Au carrefour le programme reçoit une information sur chaque chemin (qui n’est pas complète). ex: Un chemin qui annonce un besoin de saut très haut sans annoncer une présence de monstre simple.
Ce serait assez drôle car on verrai émerger des comportements en fonction de ce qui est arrivé à l’IA. Soit un speedy-jumping-jack-son qui n’a jamais vu de monstre soit un Rambo qui a du en affronter une myriade. Ou entre les deux ou encore un chasseur de bonus. Et le choix du chemin change la donne. C’est la ou je pense que l’on découvrirai des choses intéressantes et super fun.
Avec un petit client serveur on pourrait même représenter la chose en 3D. Tiens bin du coup je lance le défi. Qui m’aime (ou pas, t’façon zetes tous des quiches) me suive.
Le 15/04/2013 à 11h56
le jour ou son truc gagnera dans ninja gaiden on en reparlera
en attendant, ça vaut rien " />
Le 15/04/2013 à 11h57
Le 15/04/2013 à 12h04
Le 15/04/2013 à 12h10
Le 15/04/2013 à 12h17
Le 15/04/2013 à 12h25
Perso je vois pas trop ou est l’intelligence artificielle là dedans, car que je sache, on n’a jamais eu besoin de nous montrer comment jouer à Mario… après dans mario ou est la réflexion?
ya un monstre –> on saute dessus
ya une brique –> on l’explose
ya un trou –> on saute par dessus
en plus dans Mario il me semble que si on refait plusieurs fois le meme niveau, les monstres apparaissent toujours au même endroit?
Je suis plus impressioné par l’IA dans les jeux (ernfin certains) ou justement l’IA essaye de se battre contre le joueur qui est humain…
Le 15/04/2013 à 12h33
Le 15/04/2013 à 12h53
Le 15/04/2013 à 12h56
Le 15/04/2013 à 13h32
Le niveau de malade qu’il faudrait avoir dans la dernière vidéo !
Le 15/04/2013 à 14h28
Le 15/04/2013 à 14h41
Le 15/04/2013 à 14h52
j’avoue ne pas être un expert de l’IA mais il me pensait que c’était plus chiadé que ça…. mais je veux bien admettre mon ignorance et par la même que Watson est intelligent " />
Le 15/04/2013 à 15h24
J’avoue ne pas voir l’intérêt de la seconde vidéo (à moins que le but soit de permettre à une IA d’exploser les yeux d’un humain).
Tetris montre ici que pour avoir une seule et unique IA capable de vaincre des jeux où il n’est pas nécessaire de planifier ainsi que des jeux où c’est nécessaire, il y a encore du chemin.
Est-ce que ce genre de travaux pourrait à long terme permettre de faire des jeux moins scriptés (je pense aux CoD que je déteste) ?
Le 15/04/2013 à 15h30
Le 15/04/2013 à 16h04