Apprentissage pour les jeux d’arcade
description
Transcript of Apprentissage pour les jeux d’arcade
APPRENTISSAGE POUR LES JEUX
D’ARCADE
Par Raphael Arrouas
Arcade Learning Environment Atari 2600 : Jeux simples, appropriés à
l’apprentissage Emulateur Stella (C++) Possibilité d’interagir avec l’émulateur
par des FIFOs : Agents en Java, C++… Interface graphique optionnelle
(simulations…)
Présentation du jeu Freeway (1981) Objectif : Traverser la route (+1 point) Pas de Game Over Voitures aux couleurs/vitesse différentes On peut créer un agent avec des règles
simples Trois actions : stay, up, down
Création d’un agent autonome (1/2) Structure de la partie Agent : Classes
Java compilées dans un fichier JAR Choix de la main class en argument Création d’un agent qui hérite de
« AbstractAgent » Observation/action des agents par des
pipes
Création d’un agent autonome (2/2)Problème : Sans accès aux variables du jeu, comment récupérer les informations ?
Réponse : On obtient les pixels stockés dans les pipes, et on les traite !
Reconnaissance d’objets Comparaison tableau de pixel -
background fixe Création des objets, typés suivant leur
couleur (Poulet, voitures, score) Traitement de l’information : Position,
vitesse… Puis prise de décision
Politique de décision Si et et : Interdiction de monter Equation semblable pour l’interdiction de
rester sur place Les tests sont hiérarchisés pour prioriser
l’action « monter » Paramètres empiriques obtenus par
tests en mode verbose
Politique de décision
Résultat
Score de 24 points sur le niveau 1, aucune collision !
Apprentissage automatique : Le Q-Learning Multitude de situations: Etats (adaptés
au jeu si possible) Nombre d’états limités, actions soit
aléatoires soit provenant de l’agent précédent (Politique ε-greedy)
But : Maximiser une récompense (ici, le score)
Pour cela, création d’une « Q-fonction »
La Q-fonction
A chaque état, associe à une action sa « qualité ». Fixée au départ, évolue grâce à l’observation des résultatsMise à jour :
(Détermine l’aspect court/long terme pour la prise en compte des récompenses