Connexion
Abonnez-vous

Quand l’intelligence artificielle devient capable de battre Mario

L'occasion de voir quelques pépites...

Quand l'intelligence artificielle devient capable de battre Mario

Le 15 avril 2013 à 10h03

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

Commentaires (48)

Vous devez être abonné pour pouvoir commenter.

Abonnez-vous
votre avatar

<img data-src=" /> c’est fort

votre avatar

Sympa, mais toujours moins fort que moi.

votre avatar

Ca peut transporter les Tool Assisted Speedrun à un autre niveau <img data-src=" />

votre avatar

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 ^^)

votre avatar

pas mal du tout ! <img data-src=" />

votre avatar







nucl3arsnake a écrit :



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 ^^)







Et le jeu c’est Jeopardy <img data-src=" />


votre avatar

Flippant quand on imagine tous les usages de drones qui pourraient apprendre <img data-src=" />



<img data-src=" /> néanmoins pour la technique.

votre avatar







Perfidy_demon a écrit :



Ca peut transporter les Tool Assisted Speedrun à un autre niveau <img data-src=" />





J’ai beau être un gros geek, j’avoue n’avoir jamais compris l’intérêt de ça…


votre avatar







yvan a écrit :



Flippant quand on imagine tous les usages de drones qui pourraient apprendre <img data-src=" />



<img data-src=" /> néanmoins pour la technique.







Des drones voleurs de champignons et de truffes dans les bois,là c’est sûr,je flippe ma race.


votre avatar

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 ^^

votre avatar







Nathan1138 a écrit :



J’ai beau être un gros geek, j’avoue n’avoir jamais compris l’intérêt de ça…







Pouvoir ce la raconté à kikalaplugrosse ? <img data-src=" />


votre avatar

Euh j’ai un doute, mais SigBovik c’est pas l’event 1er avril du département d’informatique de CMU ? :o

votre avatar







Constance a écrit :



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 ^^







Oh tu sais les farmers n’ont pas vraiment attendu pour le faire.


votre avatar







Mokona a écrit :



il est meme tres tres intelligent <img data-src=" />

et l’IA ou l’I tout court n’est vraiment rien de plus que ca …… de l’accumulation d’info, de l’ordonnancement et l’evaluation et la comparaison des lien reliant ces infos :)

une machine comme un cerveau fonctionnement pareil. <img data-src=" />





<img data-src=" /> On ne pêche pas à la bombe atomique.


votre avatar







Winderly a écrit :



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) ?







Ben oui mais peut-être plus dans les jeux de simulations genre Fifa parce que c’est plus facile d’analyser les habitudes du joueurs. Mais pourquoi pas, on pourrait imaginer des bots de plus en plus intelligents au fut et à mesure du jeu dans les FPS <img data-src=" />


votre avatar

hahahahaha j’adore ce mec est très drôle en plus ;)

votre avatar

Toc toc toc

-Sarah Connor ?

(demandez à Watson si vous comprenez pas mon cheminement <img data-src=" />)

votre avatar







DarKCallistO a écrit :



Des drones voleurs de champignons et de truffes dans les bois,là c’est sûr,je flippe ma race.





Des drones tueurs de koopas et de lakitu sachant lancer des boules de feu <img data-src=" /><img data-src=" /><img data-src=" /><img data-src=" />


votre avatar

ç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

votre avatar







Nathan1138 a écrit :



J’ai beau être un gros geek, j’avoue n’avoir jamais compris l’intérêt de ça…









nucl3arsnake a écrit :



Pouvoir ce la raconté à kikalaplugrosse ? <img data-src=" />





Ben même pas, justement, puisque le TAS ne repose que partiellement sur le skill…


votre avatar







nucl3arsnake a écrit :



Pouvoir ce la raconté à kikalaplugrosse ? <img data-src=" />







Généralement, les TAS c’est plus pour savoir qui a la plus petite… durée de run. <img data-src=" />


votre avatar



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” <img data-src=" />



/<img data-src=" />

votre avatar







Constance a écrit :



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 ^^







Pas besoin d’IA quand un script peu faire la même chose.


votre avatar







darkbeast a écrit :



ç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





“Mon UPC est un neuro-processeur, un ordinateur à apprendre, plus j’ai de contacts avec les humains et plus j’apprends.”


votre avatar







darkbeast a écrit :



ç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







Lol je sais pas si t’as matté la vidéo pour dire ça, parce qu’avec la masse d’ennemis qu’il y’a <img data-src=" />



[HS]

Sinon, en parlant d’IA, j’ai battu pour la première fois l’IA experte dans COH hier <img data-src=" /> et deux fois <img data-src=" />

[/HS]


votre avatar







Tolor a écrit :



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” <img data-src=" />



/<img data-src=" />





<img data-src=" /> A strange game. The only winning move is not to play.


votre avatar







psn00ps a écrit :



<img data-src=" /> A strange game. The only winning move is not to play.







C’est pas ce qu’a fait la France face aux Allemands pendant la 2nde guerre mondiale ?? En effet, efficace <img data-src=" />


votre avatar







Tolor a écrit :



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” <img data-src=" />



/<img data-src=" />







Han une référence à un des plus gros navet de la création… Jetez lui des cailloux !


votre avatar







Yangzebul a écrit :



Han une référence à un des plus gros navet de la création… Jetez lui des cailloux !





<img data-src=" />

Il a “un peu” vieilli, mais il était très bien ce film


votre avatar







razcrambl3r a écrit :



Lol je sais pas si t’as matté la vidéo pour dire ça, parce qu’avec la masse d’ennemis qu’il y’a <img data-src=" />



[HS]

Sinon, en parlant d’IA, j’ai battu pour la première fois l’IA experte dans COH hier <img data-src=" /> et deux fois <img data-src=" />

[/HS]







t’as déjà vu un gamin de 7 ans jouer à un jeu vidéo <img data-src=" />


votre avatar



Une erreur s’est produite, veuillez réessayer ultérieurement.



<img data-src=" />

votre avatar

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.




votre avatar

le jour ou son truc gagnera dans ninja gaiden on en reparlera

en attendant, ça vaut rien <img data-src=" />

votre avatar







yvan a écrit :



Flippant quand on imagine tous les usages de drones qui pourraient apprendre <img data-src=" />



<img data-src=" /> néanmoins pour la technique.







La phase d’apprentissage risque d’être un peu difficile:



Se déplacer au hasard.

Bombarder.

rechercher “x terroristes tués” sur Google news. Ajouter +1 pour chaque x.

rechercher “y civils innocents tués”. Retirer -1 pour chaque y.

si total &gt; 0. Bombarder aux alentours.

sinon envoyer message d’excuse et inscrire les coordonnées comme ne devant pas être bombardées

Recommencer.


votre avatar







nucl3arsnake a écrit :



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.







Oui, au Jeopardy :http://www.20minutes.fr/high-tech/671569-high-tech-watson-superordinateur-ibm-ec…



Mais là c’était un travail sur la reconnaissance linguistique et non l’IA :)


votre avatar







megadub a écrit :



Oui, au Jeopardy :http://www.20minutes.fr/high-tech/671569-high-tech-watson-superordinateur-ibm-ec…



Mais là c’était un travail sur la reconnaissance linguistique et non l’IA :)









Si, vu qu’il apprenais de ses erreurs et enregistrais que si la réponse était pas A mais B, la rajoutais et “ l’apprenais ” , ne buzzais pas si pas sur a plus de x% etc…


votre avatar







v1nce a écrit :



La phase d’apprentissage risque d’être un peu difficile:



Se déplacer au hasard.

Bombarder.

rechercher “x terroristes tués” sur Google news. Ajouter +1 pour chaque x.

rechercher “y civils innocents tués”. Retirer -1 pour chaque y.

si total &gt; 0. Bombarder aux alentours.

sinon envoyer message d’excuse et inscrire les coordonnées comme ne devant pas être bombardées

Recommencer.





Pour des drones d’attaques c’est pas forcément le plus évident mais il y a plein d’autres usages imaginables dans la surveillance par ex.


votre avatar

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 –&gt; on saute dessus

ya une brique –&gt; on l’explose

ya un trou –&gt; 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…

votre avatar







megadub a écrit :



Mais là c’était un travail sur la reconnaissance linguistique et non l’IA :)





La reconnaissance linguistique est basé sur des algos d’apprentissage (on analyse inpu et output, le programme en ressrot un modèle) tout comme les algos actuels d’IA qui fonctionnent pareil.


votre avatar







Nathan1138 a écrit :



J’ai beau être un gros geek, j’avoue n’avoir jamais compris l’intérêt de ça…







Dans un TAS, le but n’est pas de finir le jeu, mais d’utiliser et montrer certaines failles impossibles à mettre à jour en jouant à la manette, genre dans Zelda OOC : on va plus vite en sautant en arrière, on peut avec certaines manips obtenir des objets en début de partie etc…


votre avatar







Yangzebul a écrit :



Han une référence à un des plus gros navet de la création… Jetez lui des cailloux !







Ça reste un gros film de geeks avec introduction au phreaking et hacking, avec déjà une emphase mise en exergue du social engineering, des backdoors…


votre avatar

Le niveau de malade qu’il faudrait avoir dans la dernière vidéo !

votre avatar







nucl3arsnake a écrit :



Si, vu qu’il apprenais de ses erreurs et enregistrais que si la réponse était pas A mais B, la rajoutais et “ l’apprenais ” , ne buzzais pas si pas sur a plus de x% etc…











ZeHiro a écrit :



La reconnaissance linguistique est basé sur des algos d’apprentissage (on analyse inpu et output, le programme en ressrot un modèle) tout comme les algos actuels d’IA qui fonctionnent pareil.







D’après ce que j’ai compris c’est surtout les dévs qui ont appris pour lui ;)



http://www.20minutes.fr/high-tech/666004-high-tech-watson-machine-ibm-prepare-de…



Pendant quatre ans, plus de 15 chercheurs ont mis au point des milliers d’algorithme pour que Watson soit capable de décortiquer le langage, la fonction et la relation entre des mots. Parallèlement, ils l’ont nourri avec plusieurs millions de textes (encyclopédie, dictionnaires, pièces de théâtre, romans, bible).



Cela signifie qu’ils ont dû développer max de règles et d’exceptions qu’ils ont donné à manger à la machine qui n’avait plus qu’à comprendre la question pour retrouver la réponse parmi la tonne d’encyclopédies.



C’est donc un magnifique travail mais pas de l’IA il me semble. L’apprentissage des erreurs n’étant en rien intelligent, il s’agit juste de scorer les algos pour choisir le meilleur… un indice de fiabilité statistique en somme.


votre avatar







megadub a écrit :



D’après ce que j’ai compris c’est surtout les dévs qui ont appris pour lui ;)



http://www.20minutes.fr/high-tech/666004-high-tech-watson-machine-ibm-prepare-de…



Pendant quatre ans, plus de 15 chercheurs ont mis au point des milliers d’algorithme pour que Watson soit capable de décortiquer le langage, la fonction et la relation entre des mots. Parallèlement, ils l’ont nourri avec plusieurs millions de textes (encyclopédie, dictionnaires, pièces de théâtre, romans, bible).



Cela signifie qu’ils ont dû développer max de règles et d’exceptions qu’ils ont donné à manger à la machine qui n’avait plus qu’à comprendre la question pour retrouver la réponse parmi la tonne d’encyclopédies.



C’est donc un magnifique travail mais pas de l’IA il me semble. L’apprentissage des erreurs n’étant en rien intelligent, il s’agit juste de scorer les algos pour choisir le meilleur… un indice de fiabilité statistique en somme.







Mais l’IA c’est quand même beaucoup scorer des fiabilités statistiques, à partir de modèles (les algorithmes) qui ont été paramétrés grace à une masse de données (les millers de textes qu’on lui a donné à manger). Les réseaux de neurones utilisés pour les IA “logiques” fonctionnent comme ça.


votre avatar

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 <img data-src=" />

votre avatar

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) ?

votre avatar







megadub a écrit :



D’après ce que j’ai compris c’est surtout les dévs qui ont appris pour lui ;)



http://www.20minutes.fr/high-tech/666004-high-tech-watson-machine-ibm-prepare-de…



Pendant quatre ans, plus de 15 chercheurs ont mis au point des milliers d’algorithme pour que Watson soit capable de décortiquer le langage, la fonction et la relation entre des mots. Parallèlement, ils l’ont nourri avec plusieurs millions de textes (encyclopédie, dictionnaires, pièces de théâtre, romans, bible).



A l’époque j’avais lu pleins de sources où pour le jeu il été deconnecté du net, mais qu’il allais le relié ainsi si dans sa mémoire il a pas, il recherche sur le net et ajoute le truc à sa mémoire.



Après s’il est capable de comprendre qqch et de répondre, on s’approche de intelligence non?



Cela signifie qu’ils ont dû développer max de règles et d’exceptions qu’ils ont donné à manger à la machine qui n’avait plus qu’à comprendre la question pour retrouver la réponse parmi la tonne d’encyclopédies.



C’est donc un magnifique travail mais pas de l’IA il me semble. L’apprentissage des erreurs n’étant en rien intelligent, il s’agit juste de scorer les algos pour choisir le meilleur… un indice de fiabilité statistique en somme.





votre avatar







megadub a écrit :



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 <img data-src=" />







il est meme tres tres intelligent <img data-src=" />

et l’IA ou l’I tout court n’est vraiment rien de plus que ca …… de l’accumulation d’info, de l’ordonnancement et l’evaluation et la comparaison des lien reliant ces infos :)

une machine comme un cerveau fonctionnement pareil. <img data-src=" />


Quand l’intelligence artificielle devient capable de battre Mario

  • Une méthode applicable à d'autres titres

Fermer