conversion de séquences de jeu en diagrammes états-transitions

98

Upload: truongque

Post on 05-Jan-2017

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Conversion de séquences de jeu en diagrammes états-transitions

Francis Rugamba

Conversion de séquences de jeu en diagrammes

états-transitions

Mémoire présentéà la Faculté des études supérieures et postdoctorales de l'Université Laval

dans le cadre du programme de maîtrise en informatiquepour l'obtention du grade de Maître ès sciences (M.Sc.)

Faculté des sciences et génieUNIVERSITÉ LAVAL

QUÉBEC

2012

c©Francis Rugamba, 2012

Page 2: Conversion de séquences de jeu en diagrammes états-transitions

Résumé

De nos jours, le développement des personnages de jeux est devenu une tâche dif-�cile en raison de la complexité toujours grandissante des jeux vidéos actuels. Pourdiminuer la complexité liée au développement de ces personnages, certaines approchessont applicables et consistent à utiliser des techniques d'intelligence arti�cielle. Dansce travail, nous proposons d'utiliser des diagrammes états-transitions pour activer unpersonnage de jeu vidéo.

Nous étudions les moyens de construire des diagrammes états-transitions et plusspéci�quement comment les structurer à partir des séquences de jeux. Les performancesdes diagrammes construits sont évaluées et nous analysons les possibilités d'améliorerles rendements obtenus.

Dans nos expérimentations, nous utilisons le jeu de poursuite dénommé Pacman.Pacman constitue un banc d'essai idéal car il présente un environnement dynamique etséquentiel et nécessite une prise de décision en temps réel.

Dans ce travail nous tentons d'accomplir les tâches suivantes :

• Acquérir des séquences de jeux à travers l'utilisation de l'apprentissage par ladémonstration.

• Structurer des diagrammes états-transitions à partir des séquences de jeux.

• Analyser la possibilité d'améliorer les performances des diagrammes états-transitionspar l'utilisation des techniques de raisonnement à base de cas et des éléments dela théorie de l'information.

Page 3: Conversion de séquences de jeu en diagrammes états-transitions

Abstract

Nowadays, developing game characters has become a di�cult task because of the in-creasing complexity of actual video games. To reduce the complexity of developing thosecharacters, some approaches exist and consist of using arti�cial intelligence techniques.In this project, we propose using state machines to activate a video game character.

We learn the means to build state machines and more speci�cally how to structurethem from game sequences. The performance of those state machines is evaluated andwe analyze the possibility of improving the results.

In our experimentations, we use the pursuit game called Pacman. Pacman constitutean ideal testbed because it o�ers a dynamic and sequential environment and it calls forreal time decision making.

In this work we are trying to accomplish the following tasks :

• Acquire game sequences through usage of learning from demonstration.

• Structure the state machines from game sequences.

• Analyze the possibility of improving the performances of the state machines byusing case-based reasoning techniques and elements of information theory.

Page 4: Conversion de séquences de jeu en diagrammes états-transitions

Remerciements

En premier lieu, je tiens à remercier particulièrement mon directeur de recherche,monsieur Luc Lamontagne qui, par sa disponibilité, ses conseils et ses suggestions m'apermis de réaliser ce travail.

J'adresse également mes sincères remerciements à monsieur Guy Mineau et à mon-sieur Pierre Marchand et sa famille qui, tous d'une manière di�érente, ont contribué àl'aboutissement de ce projet.

Mes remerciements vont également à l'endroit de tous mes amis et collègues dulaboratoire SYRAD, plus spécialement à monsieur Félix-Antoine Bourbonnais, pour lesoutien et l'aide qu'ils m'ont apportés.

Je remercie aussi mes parents, mes frères et ma s÷ur qui m'ont toujours soutenuset encouragés tout au long de ce travail.

En�n, un grand merci à tous ceux et celles qui ont contribué, de près ou de loin, àla réalisation de ce projet.

Page 5: Conversion de séquences de jeu en diagrammes états-transitions

Table des matières

Résumé ii

Abstract iii

Remerciements iv

Table des matières v

Table des �gures viii

1 Introduction générale 11.1 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2.1 Acquisition des séquences de jeux . . . . . . . . . . . . . . . . . 31.2.2 Construction d'un diagramme états-transitions . . . . . . . . . 3

1.3 Organisation du mémoire . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Revue de littérature 52.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 Intelligence arti�cielle dans les jeux vidéo . . . . . . . . . . . . . . . . 52.3 L'apprentissage par la démonstration . . . . . . . . . . . . . . . . . . . 6

2.3.1 Principe et historique . . . . . . . . . . . . . . . . . . . . . . . . 72.3.2 Catégorisation des approches utilisées dans l'apprentissage par la

démonstration . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3.3 Structure d'apprentissage par la démonstration . . . . . . . . . 8

2.4 Les diagrammes états-transitions . . . . . . . . . . . . . . . . . . . . . 92.5 Le raisonnement à base de cas . . . . . . . . . . . . . . . . . . . . . . 11

2.5.1 Principes du raisonnement à base de cas . . . . . . . . . . . . . 112.5.2 Composantes d'un système de raisonnement à base de cas . . . 12

2.5.2.1 Les connaissances . . . . . . . . . . . . . . . . . . . . 122.5.2.2 Les processus . . . . . . . . . . . . . . . . . . . . . . . 13

2.5.3 La maintenance de la base de cas . . . . . . . . . . . . . . . . . 142.6 Algorithme des plus proches voisins . . . . . . . . . . . . . . . . . . . 16

Page 6: Conversion de séquences de jeu en diagrammes états-transitions

Table des matières vi

2.7 Le Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.7.2 Clustering hiérarchique . . . . . . . . . . . . . . . . . . . . . . 17

2.8 Théorie de l'information . . . . . . . . . . . . . . . . . . . . . . . . . . 182.8.1 Objectifs de la théorie de l'information . . . . . . . . . . . . . . 182.8.2 Entropie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.8.3 Entropie conditionnelle . . . . . . . . . . . . . . . . . . . . . . 19

2.9 Notions sur les agents . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.9.1 Qu'est-ce qu'un agent ? . . . . . . . . . . . . . . . . . . . . . . . 202.9.2 Structure des agents . . . . . . . . . . . . . . . . . . . . . . . . 21

2.10 Le Pacman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.10.1 Le banc d'essai pour nos expérimentations : la version Pacman

de Benny Chow . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.10.1.1 Les personnages du jeu . . . . . . . . . . . . . . . . . . 232.10.1.2 L'environnement du jeu . . . . . . . . . . . . . . . . . 242.10.1.3 Structure du programme du jeu . . . . . . . . . . . . . 24

2.10.2 Des agents pour le jeu Pacman . . . . . . . . . . . . . . . . . . 252.11 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3 Acquisition des séquences de jeux 303.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.2 Particularités du problème . . . . . . . . . . . . . . . . . . . . . . . . 303.3 Approche préconisée . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.3.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.3.2 Architecture d'apprentissage . . . . . . . . . . . . . . . . . . . . 323.3.3 Composants de l'architecture d'apprentissage . . . . . . . . . . . 33

3.3.3.1 Moteur principal du jeu . . . . . . . . . . . . . . . . . 333.3.3.2 Création de données du jeu . . . . . . . . . . . . . . . 343.3.3.3 L'expert . . . . . . . . . . . . . . . . . . . . . . . . . . 353.3.3.4 État de l'environnement de jeu . . . . . . . . . . . . . 403.3.3.5 Séquence de jeu . . . . . . . . . . . . . . . . . . . . . . 42

3.4 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4 Construction de diagrammes états-transitions 454.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.2 Particularités du problème . . . . . . . . . . . . . . . . . . . . . . . . . 454.3 Approche préconisée . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4.3.1 Construction d'un diagramme états-transitions . . . . . . . . . 464.3.1.1 Acquisition des cas . . . . . . . . . . . . . . . . . . . . 474.3.1.2 Structuration d'un diagramme états-transitions . . . . 48

Page 7: Conversion de séquences de jeu en diagrammes états-transitions

Table des matières vii

4.3.2 Utilisation d'un diagramme états-transitions . . . . . . . . . . . 504.3.2.1 Déterminer l'état actuel du personnage . . . . . . . . . 514.3.2.2 Choix de la transition à appliquer . . . . . . . . . . . . 514.3.2.3 Gestion de la performance . . . . . . . . . . . . . . . . 534.3.2.4 Métriques d'évaluation de la performance . . . . . . . 54

4.4 Construction d'un diagramme états-transitions brut . . . . . . . . . . . 544.4.1 Expérimentations . . . . . . . . . . . . . . . . . . . . . . . . . . 55

4.5 Construction d'un diagramme états-transitions avec transitions réduites 554.5.1 Stratégie adoptée . . . . . . . . . . . . . . . . . . . . . . . . . . 564.5.2 Maintenance de la base de cas . . . . . . . . . . . . . . . . . . . 57

4.5.2.1 Ajout progressif de cas . . . . . . . . . . . . . . . . . . 574.5.2.2 Suppression progressive de cas . . . . . . . . . . . . . . 60

4.5.3 Structuration d'un diagramme états-transitions avec transitionsréduites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

4.5.4 Expérimentations . . . . . . . . . . . . . . . . . . . . . . . . . . 624.5.4.1 Interprétation des résultats . . . . . . . . . . . . . . . 62

4.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

5 Construction d'un diagramme états-transitions avec états réduits 675.1 Approche préconisée . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685.2 Regroupement de positions . . . . . . . . . . . . . . . . . . . . . . . . . 69

5.2.1 Motivations liées au choix de l'utilisation des éléments de la théo-rie de l'information . . . . . . . . . . . . . . . . . . . . . . . . . 69

5.2.2 Mise en ÷uvre de l'approche . . . . . . . . . . . . . . . . . . . . 715.2.2.1 Construction de la matrice de proximité . . . . . . . . 725.2.2.2 Fusion des clusters . . . . . . . . . . . . . . . . . . . . 745.2.2.3 Mise à jour de la matrice de proximité . . . . . . . . . 755.2.2.4 Résultats du regroupement hiérarchique . . . . . . . . 75

5.3 Fusion des états . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765.3.1 Nouvelle formulation des transitions . . . . . . . . . . . . . . . . 77

5.3.1.1 Augmentation de la portée des épisodes de jeux . . . . 775.3.1.2 Formulation des transitions de base . . . . . . . . . . . 79

5.4 Expérimentations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805.4.1 Analyse des résultats . . . . . . . . . . . . . . . . . . . . . . . . 81

5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

6 Conclusion 83

Bibliographie 85

Page 8: Conversion de séquences de jeu en diagrammes états-transitions

Table des �gures

2.1 Structure d'apprentissage par la démonstration . . . . . . . . . . . . . 92.2 Diagramme états-transitions pour un agent conducteur de voiture . . . 102.3 Cycle de raisonnement d'un moteur CBR (Source Wikipédia 2012) . . 132.4 Clustering hiérarchique - Exemple . . . . . . . . . . . . . . . . . . . . 172.5 Entropie d'une variable de Bernoulli (Source [13]) . . . . . . . . . . . . 192.6 Un agent et son environnement (Source [57]) . . . . . . . . . . . . . . 212.7 Les di�érentes formes du Pacman . . . . . . . . . . . . . . . . . . . . . 232.8 Les fantômes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.9 Environnement de jeu . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.10 Répartition des points pour le premier niveau de jeu . . . . . . . . . . 242.11 La con�guration du jeu et sa représentation en arbre (Source : [38]) . . 27

3.1 Architecture d'apprentissage . . . . . . . . . . . . . . . . . . . . . . . 323.2 Modélisation de la grille de jeu . . . . . . . . . . . . . . . . . . . . . . 353.3 Distance de Manhattan . . . . . . . . . . . . . . . . . . . . . . . . . . 383.4 Représentation de la grille de jeu utilisée pour l'exploration . . . . . . 413.5 Choix de modélisation - État de l'environnement . . . . . . . . . . . . 423.6 Épisode de jeu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.7 Séquence de jeu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.8 Génération progressive des séquences de jeux . . . . . . . . . . . . . . 433.9 Performance de l'expert durant la génération des séquences de jeux . . 44

4.1 Construction d'un diagramme états-transitions brut . . . . . . . . . . 474.2 Processus d'acquisition des cas . . . . . . . . . . . . . . . . . . . . . . 484.3 Formulation d'une transition à partir d'un cas . . . . . . . . . . . . . . 494.4 Exemple - État d'un personnage . . . . . . . . . . . . . . . . . . . . . 514.5 Distance de Hamming . . . . . . . . . . . . . . . . . . . . . . . . . . . 524.6 Métrique de comparaison des attributs . . . . . . . . . . . . . . . . . . 524.7 Exemple - Calcul de la distance de Hamming . . . . . . . . . . . . . . 534.9 Score obtenu avec le diagramme états-transition brut . . . . . . . . . . 554.8 Con�guration du diagramme états-transitions brut . . . . . . . . . . . 554.10 Constructions d'un diagramme états-transitions - Transitions réduites 57

Page 9: Conversion de séquences de jeu en diagrammes états-transitions

Table des �gures ix

4.11 Ajout progressif de cas - Variation de la taille de la nouvelle base de cas 604.12 Suppression progressive de cas - Variation de la taille de la base de cas 614.13 Diagrammes états-transitions - Transitions réduites . . . . . . . . . . . 624.14 Transitions réduites - Comparaison des résultats : démonstrateur et dia-

gramme brut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634.15 Transitions réduites - Performances des diagrammes états-transitions . 644.16 Expérimentations - Transitions réduites - Temps de jeux . . . . . . . . 65

5.1 Exemple - Regroupement de positions . . . . . . . . . . . . . . . . . . . 685.2 Exemple d'illustration - Incertitude de se retrouver dans une position de

la grille de jeu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705.3 Stratégie de regroupement de positions . . . . . . . . . . . . . . . . . . 715.4 Exemple d'illustration - Incertitude résiduelle . . . . . . . . . . . . . . 725.5 Exemple d'illustration - Calcul de l'incertitude résiduelle. . . . . . . . 745.6 Regroupement de positions . . . . . . . . . . . . . . . . . . . . . . . . 755.7 Exemple de regroupements e�ectués pour la première fusion . . . . . . 765.8 Con�guration du diagramme états-transitions avec états réduits . . . . 775.9 Exemple - Augmentation de la portée des épisodes de jeux . . . . . . . 785.10 Con�guration des séquences d'actions . . . . . . . . . . . . . . . . . . 795.11 Exemple d'illustration - Nouvelle formulation des transitions . . . . . . 805.12 Expérimentations - Fusion des états . . . . . . . . . . . . . . . . . . . 815.13 Comparaison - Diagrammes avec états réduits et les autres structures de

diagrammes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

Page 10: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 1

Introduction générale

1.1 Contexte

Au cours des dernières décennies, l'industrie de jeux vidéo n'a cessé d'évoluer en pro-posant à sa clientèle des produits toujours plus innovants. Chaque nouveau titre plongeles joueurs dans un monde virtuel sans cesse proche de la réalité. De jeux simplescomme Pacman [10] et Pong [11], nous sommes maintenant rendus à des jeux en lignemassivement multijoueurs comme World of Warcraft [55]. Avec une telle évolution,les développeurs de jeux vidéo sont confrontés au dé� de toujours créer des person-nages à l'intelligence toujours grandissante. Ces personnages étant contrôlés par desprogrammes informatiques, le besoin de personnages aux comportements plus intelli-gents entraînent inexorablement l'augmentation de la complexité de ces programmesinformatiques. Cette complexité des programmes informatiques a amené les program-meurs à utiliser des techniques d'intelligence arti�cielle dans le développement de cesprogrammes.

Dans la plupart des jeux vidéo modernes, les personnages des jeux vidéo sont activéspar des agents développés à l'aide des techniques d'intelligence arti�cielle. Un agentest un personnage autonome capable d'observer l'état de l'environnement dans lequelil évolue et qui est capable d'agir en fonction des observations qu'il a réalisées [28].Ainsi, les développeurs doivent concevoir et développer un modèle comportemental pourchaque agent évoluant dans le jeu. La mise en place de tels agents est une tâche trèscomplexe, coûteuse en temps et demande que les développeurs aient des compétencesnécessaires et su�santes.

Pour réduire la complexité liée à la création d'agents, une approche intéressante

Page 11: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 1. Introduction générale 2

consiste à développer des agents capables d'apprentissage puis à les instruire à l'aidedes techniques d'apprentissage automatique [32]. Cette approche nous sembles très pro-metteuse et c'est pourquoi nous avons pensé qu'il serait intéressant de l'utiliser pourdévelopper un agent. Nous présentons dans ce document les raisons de ce choix.

Le thème de nos travaux est d'activer un personnage de jeu vidéo en utilisant destechniques d'apprentissage automatique. Nous proposons une approche qui tire avantagedes possibilités o�ertes par l'apprentissage par la démonstration [33], le raisonnementà base de cas [23, 22] et les diagrammes états-transitions [17]. Concrètement, nous étu-dions de quelle manière acquérir des séquences de jeux et construire des diagrammesétats-transitions 1 ou encore comment structurer des diagrammes états-transitions mo-di�és à partir des séquences de jeux en utilisant des méthodes de maintenance de basesde cas. Nous examinons plus en détail la problématique de ce travail dans la sectionsuivante.

Nous avons choisi d'appliquer notre approche au jeu Pacman [10], qui est un jeude poursuite. Pacman présente un environnement dynamique et séquentiel et nécessiteune prise de décision en temps réel. Nous pensons que ce jeu constitue un banc d'essaiidéal pour les besoins de nos expérimentations.

1.2 Problématique

Nous nous situons dans le domaine de l'intelligence arti�cielle et plus particulière-ment dans le développement d'agents pour le contrôle de personnages de jeux vidéo.Plusieurs approches existent et pour nos travaux, nous avons décidé d'utiliser les possi-bilités o�ertes par l'apprentissage par la démonstration [33], le raisonnement à base decas [22, 23] et les diagrammes états-transitions [17].

L'apprentissage par la démonstration [33, 2] est une approche d'apprentissage quiconsiste à observer un expert dans l'accomplissement d'une tâche dans le but d'imiterson comportement. Les données sur le comportement de l'expert sont recueillies et sontutilisées par l'apprenant comme base de connaissances ou pour construire des politiques.

Le raisonnement à base de cas est une approche d'apprentissage dit paresseux,lazy learning en anglais [1]. La particularité de cette approche réside dans le fait quel'objectif d'apprentissage est d'accumuler une base d'expériences constituée de cas ac-quis à partir des exemples d'entraînement. L'expérience acquise est alors utilisée pour

1. Les diagrammes états-transitions sont construits à partir des séquences de jeux.

Page 12: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 1. Introduction générale 3

résoudre de nouveaux problèmes. L'acquisition des cas revêt un aspect très importantdans une approche de raisonnement à base de cas. Dans ce travail, les cas seront consti-tués à partir des séquences de jeux issues de l'apprentissage par la démonstration.

Dans le domaine du jeu vidéo, les diagrammes états-transitions [17, 29] sont des sys-tèmes de prise de décision utilisés pour contrôler un personnage de jeu. Les diagrammesétats-transitions sont constitués par des états reliés entre eux par des transitions. Pourconstituer de tels diagrammes, il faut déterminer au préalable l'ensemble des états etdes transitions.

La problématique à laquelle nous nous intéressons est la construction d'un dia-gramme états-transitions à partir des séquences de jeux. De cette problématique, nouspouvons ressortir deux problèmes majeurs :

1. L'acquisition des séquences de jeux.

2. La construction d'un diagramme états-transitions.

1.2.1 Acquisition des séquences de jeux

Pour acquérir l'expérience nécessaire à la construction d'un diagramme états-transitions,nous avons adopté une stratégie qui consiste à utiliser l'apprentissage par la démons-tration [33]. Particulièrement pour le cas qui nous concerne, l'objectif est d'observerun expert qui joue au jeu a�n d'acquérir les séquences de jeux. Dans ce travail, noustentons d'apporter une solution à ce problème.

1.2.2 Construction d'un diagramme états-transitions

Un personnage de jeu contrôlé par un agent doit être en mesure d'adopter un com-portement acceptable lorsqu'il évolue dans un environnement de jeu. De façon concrète,l'agent doit disposer d'un module de prise de décision lui permettant d'agir correcte-ment. Di�érentes techniques peuvent être employées pour développer un système deprise de décision [29]. Pour nos travaux, nous avons décidé d'utiliser les diagrammesde transitions [17] pour activer l'agent intelligent. A partir des séquences de jeux, nousdéterminerons les états de jeu et les transitions qui les relient dans le but de construireun diagramme états-transitions. Dans ce travail, nous montrerons la stratégie adoptée

Page 13: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 1. Introduction générale 4

pour spéci�er les états de jeu et les relations qui les relient en l'occurrence les transi-tions. Pour la suite de cette introduction générale, nous présentons l'organisation dumémoire.

1.3 Organisation du mémoire

Dans le premier chapitre, nous avons présenté le contexte de notre travail ainsi queles éléments qui entourent la problématique à laquelle nous nous intéressons. Le restedu travail est organisé comme suit.

Dans le chapitre deux, nous parcourons di�érentes sources d'information a�n deprésenter les di�érents concepts et outils qui seront utilisés dans le cadre de ce travail.

Dans le chapitre trois, nous tentons d'apporter une solution à l'un des problèmesde la problématique que nous essayons de résoudre. Plus précisément, nous présentonsl'approche développée dans l'objectif de réaliser une acquisition des séquences de jeux.

Dans le chapitre quatre, nous essayons de résoudre un autre des problèmes quientourent la question qui nous intéresse dans le cadre de ce travail. Pratiquement, nousétudions comment créer automatiquement une structure de diagramme états-transitionsà partir des séquences de jeux. Également, nous analysons et mettons en ÷uvre desstratégies de construction d'un diagramme états-transitions avec transitions réduites.

Dans le chapitre cinq, nous analysons les aspects liés à la construction d'un dia-gramme états-transitions avec états réduits. Nous présentons également une approchemise en place pour réaliser cette tâche.

En�n, nous terminerons par une conclusion.

Page 14: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 2

Revue de littérature

2.1 Introduction

La matérialisation de l'approche choisie nécessite la combinaison d'une panoplie detechniques. Dans l'objectif de jeter les bases sur lesquelles se fondent nos travaux, nousparcourons di�érentes sources d'information permettant de mieux cerner la stratégieque nous avons adoptée.

Les approches utilisant le raisonnement à base de cas et l'apprentissage par la dé-monstration sont de plus en plus utilisées dans le jeux vidéo. À travers la documen-tation du domaine, nous cherchons à mieux comprendre les principes à la base de cesapproches mais également nous voyons les travaux qui ont été faits ou qui sont en coursde développement de ce champ d'études.

Des approches comme les diagrammes états-transitions [17] ou encore les techniquesd'exploration [42] seront également abordées. Et, nous n'oublierons pas de présenter lebanc d'essai que nous avons choisi en l'occurrence le jeu Pacman [10].

2.2 Intelligence arti�cielle dans les jeux vidéo

De nos jours, le domaine des jeux vidéo voit la production de jeux de plus en plussophistiqués et dont les personnages tendent à adopter un comportement toujours plusintelligent. La création de jeux vidéo est réalisée par des équipes pluridisciplinaire inté-

Page 15: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 2. Revue de littérature 6

grant les programmeurs, les infographistes, etc. Durant les premières années et jusqu'àla �n des années 1990, l'accent a été plus porté sur le rendu visuel et sonore [7]. Ce-pendant, les progrès de l'informatique combinés avec un besoin grandissant pour despersonnages aux comportements plus crédibles, plus intelligents font que l'intelligencearti�cielle suscite un intérêt toujours grandissant dans le domaine de jeu vidéo. L'intel-ligence arti�cielle est vue comme un moyen permettant de développer des personnagessusceptibles d'avoir un comportement proche de l'humain.

Dans la plupart des jeux vidéo modernes, les personnages des jeux vidéo sont activéspar des agents développés à l'aide des techniques d'intelligence arti�cielle. Un agent estun personnage autonome capable d'observer l'état de l'environnement dans lequel ilévolue et qui est capable d'agir en fonction des observations qu'il a réalisées [28]. Selonles mêmes auteurs, l'intelligence arti�cielle dans les jeux vidéo est utilisée dans le butde résoudre des aspects liés au déplacement des personnages, la prise de décision ainsique la capacité de raisonner.

Malgré un développement rapide de l'intelligence arti�cielle dans les jeux vidéo, ledéveloppement d'agents reste toujours une tâche relativement complexe car les pro-grammeurs de jeux vidéo ne sont pas le plus souvent familiers avec les techniquesd'intelligence arti�cielle [27].

Une possibilité pour réduire la complexité dans le développement des agents serait deproduire des agents capables d'apprentissage puis de les instruire. Di�érentes techniquesd'apprentissage automatique existent. Nous nous focaliserons sur les choix que nousavons adoptés en l'occurrence le raisonnement à base de cas et l'apprentissage par ladémonstration.

2.3 L'apprentissage par la démonstration

A la base de l'apprentissage par la démonstration se trouve l'idée qu'il est di�-cile d'apprendre à e�ectuer une tâche sans connaissances préalables. Si un minimumde connaissances est mis à la disposition de l'apprenant, l'apprentissage se fait plusrapidement. Chez les humains, on remarque le même comportement. L'apprentissages'e�ectue en suivant un instructeur ou en observant le comportement d'autres individus.

Page 16: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 2. Revue de littérature 7

2.3.1 Principe et historique

L'apprentissage par la démonstration s'inspire de comportement humain et consisteà apprendre à réaliser une tâche en observant un expert dans l'accomplissement de lamême tâche ou d'une tâche similaire. En d'autres mots, étant donné un expert qui agitdans un environnement déterminé, un agent va apprendre en examinant les actionsmenées par l'expert en réponse à un stimulus provenant de son environnement.

Les premiers travaux sur l'apprentissage par la démonstration peuvent être situés à la�n des années soixante-dix avec les travaux de Bauer [4]. C'est à cette même période quel'apprentissage par la démonstration commençait à prendre place dans le domaine de larobotique [24]. Pomerleau [36] a également utilisé la même approche pour développerun système de contrôle d'un véhicule. Ce système repose sur l'utilisation d'un réseaude neurones entraîné à partir d'observations faites dans l'environnement dans lequel levéhicule doit évoluer. Après entrainement, le véhicule est capable d'évoluer dans desconditions diverses comprenant des routes à voie unique ou des routes à deux sens.Sidani et al. [46] ont construit un système de conduite automobile en utilisant uneapproche combinant l'apprentissage à partir d'observations, les réseaux de neurones etdes techniques de raisonnement symbolique. Pour tester leur approche, ils observent lecomportement d'un conducteur automobile qui évolue dans un environnement simulé detra�c automobile et les résultats des observations sont utilisés pour entraîner le système.Le système résultant a été testé dans des environnements de conduites variés où il aété, par exemple, capable de réduire la vitesse du véhicule si un piéton se présentaitinopinément dans la rue malgré le fait que les feux de circulation étaient verts. Moriartyet Gonzalez [34] ont étendu l'approche de Sidani [46] dans un contexte de jeu vidéoen permettant aux joueurs d'entrainer des robots dans le cadre de jeu Quake 2 [12].Schaal [44] utilise les démonstrations d'un expert dans un contexte d'apprentissage parrenforcement pour accélérer la convergence de la fonction Q-valeurs.

Floyd et al [16] ont utilisé une approche hybride combinant l'apprentissage par ladémonstration et le raisonnement à base de cas pour développer un agent intelligentpour jouer au jeu RoboCup soccer-playing. La base de cas qu'ils utilisent est constituéeà partir d'observations des comportements de joueurs. Pratiquement, l'état du jeu et lesactions des joueurs sont utilisés pour constituer des cas qui sont ensuite ajoutés dansla base de cas. Floyd et Babak [15] ont étudié la possibilité d'exploiter les relationstemporelles qui existent dans les démonstrations d'un expert. Le but est de pouvoir dé-celer et exploiter les informations sur l'état de l'expert a�n d'améliorer les performancesd'un agent construit à partir de ces traces de jeu. Ontanon et Ram [35] utilisent lestraces obtenues après démonstrations pour constituer des cas et des plans utilisés parun joueur évoluant dans un contexte de jeu de stratégie en temps réel.

Page 17: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 2. Revue de littérature 8

2.3.2 Catégorisation des approches utilisées dans l'apprentis-

sage par la démonstration

Récemment, Ontanon et Ram [35] ont catégorisé les approches d'apprentissage parla démonstration en deux groupes : eager approaches et lazy approaches. Les approcheseager consistent à construire des politiques, des stratégies ou des programmes à partirde l'analyse des traces obtenues. Il s'agit entre autres des approches combinant l'ap-prentissage par la démonstration avec les réseaux de neurones ou l'apprentissage parrenforcement. Les approches lazy quant à elles consistent à emmagasiner les observa-tions et à les réutiliser au moment de résoudre un nouveau problème. Elles appartiennentdonc à la famille des techniques d'apprentissage passives ou Lazy learning [1]. Elles sontutilisées dans les approches plus récentes consistant à utiliser l'apprentissage par la dé-monstration comme stratégie d'acquisition des cas dans un contexte de raisonnement àbase de cas.

2.3.3 Structure d'apprentissage par la démonstration

Le but de l'apprentissage par la démonstration (�gure 2.1) est de permettre à unagent d'apprendre en observant le comportement d'un expert. Nous pensons que lesprincipales étapes qui entrent dans un processus d'apprentissage par la démonstrationsont les suivantes :

1. L'acquisition des séquences d'utilisation : un expert (un humain ou agent logiciel)utilise le système pour exécuter une tâche. Durant l'utilisation, l'état du systèmeainsi que l'action prise en ce moment sont emmagasinés. Plus précisément, uneséquence etat de l′environnement→ action est créée et enregistrée.

2. Les séquences obtenues sont utilisées pour former une base d'expériences utilisabledans le cadre des approches lazy ou pour apprendre des politiques dans le cadredes approches eager.

3. Un agent apprenant utilise la base d'expériences ou les politiques apprises pourexécuter une même tâche ou des tâches similaires.

En analysant ces étapes et en prenant en considération les propositions de [33], lesdi�érents éléments apparaissant dans un contexte d'apprentissage par la démonstrationsont les suivants :

Page 18: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 2. Revue de littérature 9

ExpertProcessus

Séquences

Agent

Apprentissage

Ou

Base de cas

Politiques

Figure 2.1 � Structure d'apprentissage par la démonstration

• Une tache T à apprendre, par exemple déplacer correctement un personnage dejeu.

• Un environnement E qui dans notre cas est le jeu.

• Un demonstrateur D qui exécute la tâche T dans l'environnement E. Un dé-monstrateur peut être un humain ou un agent logiciel.

• Un agent apprenant A dont le but est d'apprendre à exécuter la tâche T dansl'environnement E en observant D.

Comme l'agent que nous allons développer à partir des démonstrations de l'expertutilisera les diagrammes états transitions dans la prise de décision, nous présentons cesstructures dans la section suivante.

2.4 Les diagrammes états-transitions

Les diagrammes états-transitions (Finite State Machine - FSM) sont des structuresde prise de décision utilisées pour contrôler les personnages de jeux vidéo. Comme leurnom l'indique, elles sont constituées d'états et de transitions [29, 17]. A chaque ins-tant du jeu, un personnage contrôlé par cette structure occupe un état particulier del'ensemble des états. Une transition relie un état de départ et un état cible et est carac-térisée par des conditions qui, si elles sont remplies conduisent à son déclenchement. Siune transition est déclenchée, elle aboutit au changement de l'état du personnage qui

Page 19: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 2. Revue de littérature 10

passe de l'état courant à un état cible. Partons d'un exemple pour essayer d'expliciterle fonctionnement d'une structure de diagramme états-transitions.

Conduit

Arrêt

Changer la roue

Moteur en marche

Crevaison

Véhicule à l'arrêtRoue changée

Départ

Figure 2.2 � Diagramme états-transitions pour un agent conducteur de voiture

La �gure 2.2 illustre 1 un diagramme états-transitions utilisé pour contrôler un agentconducteur de voiture. Pour ce cas, le comportement mis en évidence est la capacitédu conducteur à réagir correctement en cas de crevaison. Si un pneu éclate, l'agentconducteur commence par immobiliser la voiture, change la roue, redémarre la voi-ture et continue à nouveau son chemin. Nous pouvons remarquer que pour gérer cecomportement, il a fallu quatre états 2 et quatre transitions 3.

L'implémentation de diagrammes états-transitions implique de déterminer à l'avanceles états, les transitions ainsi que les conditions liées aux transitions. Cette tâche n'estpas di�cile dans le cas où la structure est destinée au contrôle d'un personnage évoluantdans un environnement pas très changeant. Dans ce cas, les états et les transitionspeuvent être déterminés plus ou moins facilement. En revanche, si le diagramme états-transitions est destiné à contrôler un agent évoluant dans un environnement dynamique,la tâche peut s'avérer très fastidieuse. En e�et, il peut-être très di�cile de déterminerà l'avance tous les états et les transitions possibles. Aussi, comme un diagramme esta�ecté au contrôle d'un seul personnage, la tâche peut-être très compliquée si les besoinsconsistent à contrôler plusieurs personnages car ceci implique de développer autant dediagrammes qu'il y a de personnages.

1. Pour plus de détails sur les notations, consulter [29]2. Rectangles aux coins arrondis3. Flèches orientées

Page 20: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 2. Revue de littérature 11

Dans ce travail, nous tentons de réduire les contraintes liées à l'implémentation dediagrammes états-transitions par une approche qui consiste à créer automatiquementdes diagrammes états-transitions. Nous analyserons également les possibilités d'amélio-rer les performances de ces diagrammes à travers l'utilisation de certaines techniquesd'apprentissage automatique. Pour la suite, nous montrons une des approches d'ap-prentissage automatique dont certains aspects seront mis à pro�t pour améliorer lesperformances des diagrammes états-transitions.

2.5 Le raisonnement à base de cas

2.5.1 Principes du raisonnement à base de cas

Le raisonnement à base de cas (Case Based Reasoning - CBR) est une approche derésolution de problèmes qui utilise l'expérience passée pour comprendre de nouvellessituations. La solution à un nouveau problème (problème cible) est trouvée en utilisantles solutions des problèmes précédents. Des similitudes entre le problème cible et leproblème antérieur sont recherchées et permettent de trouver une solution au problèmecible. La nouvelle solution est obtenue en transposant la solution trouvée au problèmecible. L'expérience passée est habituellement représentée sous forme de cas. L'ensembledes cas forme une base de cas qui constitue la mémoire d'un système CBR.

Les travaux de Riesbeck en sciences cognitives [37] peuvent être considérés commeétant à l'origine du CBR. Dans ses travaux portant sur l'étude de la mémoire et duraisonnement humain, Schank a proposé une théorie de la mémoire dynamique. Se-lon cette théorie, notre mémoire est organisée sous forme de structures interconnectéeset organisées hiérarchiquement et qui sont à la base du raisonnement, de la compré-hension et de la mémorisation. Les memory organization packets (MOPs) comme illes a appelées, sauvegardent des épisodes de notre vie et sont appelées à chaque foisqu'une nouvelle situation l'exige. Partant de ces observations sur le raisonnement hu-main, il a proposé deux modèles de raisonnement : memory − based reasoning model

et memory − based expert systems. Ces modèles sont alors considérés comme les fon-dements du raisonnement à base de cas.

En se basant sur l'utilisation de l'expérience passée pour résoudre de nouveauxproblèmes, l'approche CBR utilise surtout des connaissances empiriques permettantainsi de limiter les problèmes d'acquisition des connaissances théoriques qui peuventrendre di�cile la conception des bases de connaissances de taille importante. En e�et,

Page 21: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 2. Revue de littérature 12

la possibilité d'ajouter de nouveaux cas durant l'utilisation d'un système CBR permetde déployer des systèmes avec une quantité minimale de cas ce qui permet de réduirela quantité de connaissances nécessaires au début de l'exploitation.

Depuis quelques années, l'approche CBR connait un regain de popularité et estutilisée dans la conception de di�érents systèmes notamment les systèmes d'aide à ladécision et les � help desk �. Également, l'approche CBR peut-être combinée avec dif-férentes méthodes d'apprentissage automatique dans la mise en place des approcheshybrides qui sont le plus souvent plus puissantes que les simples méthodes d'apprentis-sage. En conséquence, ceci en fait une des techniques d'intelligence arti�cielle la plusrépandue actuellement.

2.5.2 Composantes d'un système de raisonnement à base de cas

Un système CBR est un moteur de raisonnement basé sur les principes du raison-nement à base de cas. Un système CBR utilise les expériences passées contenues dansune base de cas pour inférer des solutions à de nouveaux problèmes. Le fonctionnementd'un système CBR repose sur la recherche de similarité entre un nouveau problèmeet les situations contenues dans sa base de connaissances. En présence d'une nouvellesituation, un ensemble de caractéristiques décrivant le nouveau problème est formé etune recherche est e�ectuée dans la base de cas dans l'objectif de trouver des cas dontla description est plus similaire au problème posé. A partir du cas le plus pertinent estextraite la solution pour �ns de réutilisation. Si la solution a besoin d'être améliorée,elle est adaptée et révisée a�n qu'elle corresponde le plus correctement possible au pro-blème à résoudre. En�n, le nouveau problème et la solution correspondante sont misensemble pour former un nouveau cas qui est ensuite ajouté dans la base de cas. Cetajout permet d'enrichir la base d'expérience d'une nouvelle situation. Cette manièrede raisonnement forme un cycle considérée comme le modèle de raisonnement CBR.Nous considérons la �gure 2.3 pour montrer que ce cycle est en fait une combinaisonde processus et de connaissances.

Nous nous appuyons sur [21] pour distinguer les di�érents connaissances et processusqui entrent dans le cycle de raisonnement CBR.

2.5.2.1 Les connaissances

• Les cas : sont spéci�és par des attributs caractérisant la description des problèmes,leurs solutions et parfois l'impact de l'application de ces solutions. Les cas doivent

Page 22: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 2. Revue de littérature 13

Figure 2.3 � Cycle de raisonnement d'un moteur CBR (Source Wikipédia 2012)

être bien représentés en ce sens que la représentation a des incidences sur leprocessus de recherche.

• Lesmesures de similarite : sont utilisées pour évaluer la similarité entre les caslors de la phase de recherche.

• Les connaissances d′adaptation : sont utilisées pour la transformation de la solu-tion. Elles sont souvent organisées sous forme de règles et permettent d'évaluerles écarts entre la description du problème et la solution proposée.

• La base de cas : contient l'ensemble des cas et constitue la base de connaissances dumoteur CBR. La base de cas doit être structurée de façon à faciliter la modi�cationet l'ajout de nouveaux cas ainsi que la recherche de cas.

2.5.2.2 Les processus

• La recherche (”retrieval”) : consiste à e�ectuer des recherches dans la base de caspour trouver des cas qui sont les plus similaires au problème posé. Préalablement,il faut obtenir une description du problème à résoudre et cette dernière est utiliséepour e�ectuer la recherche de cas similaires. Plusieurs techniques de rechercheexistent, certaines inspirées des techniques d'apprentissage automatique. Souvent,c'est la méthode des plus proches voisins (Knn) qui est utilisée.

Page 23: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 2. Revue de littérature 14

• La reutilisation ou adaptation (”reuse”) : A cette étape, la solution suggérée parles cas similaires à la description du problème est utilisée pour résoudre le pro-blème posé. A ce niveau, deux cas de �gure peuvent se présenter : soit la solutions'apparie correctement avec le nouveau problème, et elle peut être directementréutilisée ; soit elle ne correspond pas à la solution recherchée pour résoudre le pro-blème et par conséquent, elle doit être adaptée. La solution adaptée est construiteà partir de la solution retrouvée a�n qu'elle soit convenable au nouveau problème.

• La revision (”Revise”) : Dans cette phase, la nouvelle solution est choisie pourêtre exécutée par le système. Des mesures de performances sont également e�ec-tuées pour véri�er si la solution résout correctement le problème posé. Que ce soiten cas de succès ou d'échec, les mesures obtenues seront utilisées pour améliorerle raisonnement du système CBR

• Memorisation ou apprentissage (”retain”) : Un cas contenant la description duproblème et la solution révisée est ajouté dans la base de cas. La mémorisationest une forme d'apprentissage du système en ce sens que le cas ajouté décrit unenouvelle situation améliorant ainsi l'expérience du système.

• Maintenance : Tout au long de son cycle de vie, un système CBR doit intégrerdes tâches de maintenance. La maintenance de la base de cas est souvent fait endi�éré et est réalisée dans le but d'améliorer les performances du système. Ainsides stratégies de suppression de cas et de réorganisation de la base de cas pouraccélérer le processus de recherche sont mises en place pour atteindre ce but.Étant donné que dans nos travaux nous serons amenés à utiliser des techniquesde maintenance de la base de cas, nous traitons de cet aspect à la section suivante.

• Construction (”Authoring”) : Ce processus constitue l'étape de base dans laconstruction d'un système CBR. Elle correspond à la structuration initiale dela base de cas et des autres formes de connaissances à partir de la collecte dedonnées provenant de di�érents sources du domaine.

2.5.3 La maintenance de la base de cas

La base de cas est une collection de cas, lesquels constituent la source de connaissancela plus pertinente dans un système CBR. Au centre du raisonnement d'un systèmeCBR se trouve également la même base de cas. Par conséquent, les performances d'unsystème CBR sont fortement dépendantes du contenu de la base de cas. C'est dans cecadre qu'intervient le maintenance de la base de cas. Selon Shiu [45], la maintenancede la base de cas met en ÷uvre des politiques de restructuration de la base de cas,

Page 24: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 2. Revue de littérature 15

de révision du contenu de la base de cas a�n de faciliter le raisonnement futur dansle souci d'atteindre un ensemble d'objectifs de performance. Plusieurs approches demaintenance de la base de cas existent et visent la diminution de la taille de la base decas a�n d'accélérer la phase de recherche. Pour ces stratégies, le principe est le même etconsiste au balayage de la base de cas pour détecter et supprimer les cas correspondantaux critères choisis. La di�érence se situe dans les stratégies de suppression des cas.

Smyth et al [48] ont proposé deux notions pour évaluer la qualité de la base de caset qui peuvent être utilisées comme mesures de référence pour la maintenance de labase de cas.

• La compétence : caractérise le nombre de problèmes di�érents pour lesquels unsystème de raisonnement à base de cas peut apporter une solution.

• La performance : caractérise le temps nécessaire pour apporter une solution à uncas cible. La mesure dépend donc du temps de recherche et d'adaptation d'unesolution.

Pour la suite, nous survolons quelques travaux qui ont été menés dans le cadre de lamaintenance de la base de cas.

Markovitch et al [26] e�ectue une suppression aléatoire de cas dans la base de caslorsque celle-ci atteint un certain seuil. A partir de leurs expérimentations, ils ont montréque la suppression aléatoire peut donner de bons résultats dans certains cas.

Minton [31] propose une stratégie de suppression de cas basée sur le problème d'uti-lité. Les cas dont les valeurs d'utilité sont négatives sont supprimées de la base decas.

Smyth et al [49] exploite les aspects liés à la taille et la densité de la base de cas pourproposer une solution de suppression de cas qui conserve la compétence d'un systèmede raisonnement à base de cas.

Lamontagne et Romdhane [39] utilisent l'apprentissage par renforcement dans l'ob-jectif d'améliorer les performances d'un système CBR. Par apprentissage par renforce-ment, ils déterminent la valeur de chaque cas contenu dans la base de cas. Les valeursobtenues sont utilisées pour déterminer les cas à supprimer de la base de cas lors de laphase de maintenance. Les expérimentations qu'ils ont menées montrent que les per-formances globales d'un système CBR peuvent être améliorées par l'apprentissage parrenforcement.

Page 25: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 2. Revue de littérature 16

Les approches ci-haut consistent en des stratégies de suppression de cas a�n deréduire la taille de la base de cas originale. Smyth et al [50] proposent une autre approchequi consiste à construire une base de cas réduite en partant d'une base de cas viergeen ajoutant successivement des cas. Chaque cas choisi pour être ajouté dans la basede cas donne la valeur maximale par rapport à un critère déterminé. Plus précisément,chaque cas maximise le critère de compétence. La base de cas est construite en utilisantl'algorithme des plus proches voisins (CNN) associée à une mesure (critère maximisé)qui sera appliquée pour chaque cas a�n de décider s'il faut l'ajouter ou non dans lanouvelle base de cas. La mesure est la valeur de recouvrement relatif (Relative coverage).La stratégie consiste à ranger les cas de la base de cas d'origine suivant cette mesure etpuis d'utiliser l'algorithme CNN pour construire la base de cas réduite.

2.6 Algorithme des plus proches voisins

L'algorithme des k plus proches voisins (k − NearestNeighbor) fait parti des mé-thodes d'apprentissage à base d'instances [32]. La particularité des approches d'ap-prentissage à base d'instances est qu'elles ne construisent pas de fonctions à partir desexemples d'entraînement. Au contraire, elles ne font qu'emmagasiner les exemples etle calcul n'est fait que si le programme a une nouvelle instance à traiter. Pour le casparticulier des k plus proches voisins, les instances sont des points dans un espace àn-dimensions où n est le nombre d'attributs. L'idée est que les propriétés d'un pointd'entrée donné x sont susceptibles d'être similaires à des points situés au voisinage dex [41]. Pour trouver les plus proches voisins de x il faut utiliser une métrique D(x, xi)

qui dé�nit la distance qui sépare x et xi situé au voisinage de x. L'algorithme des k

plus proches voisins est très simple à implémenter et est très robuste aux erreurs. L'al-gorithme sera utilisé dans la matérialisation de l'approche proposée plus précisémentlors de la maintenance de la base de cas.

2.7 Le Clustering

Dans ce travail, nous serons amenés à appliquer des techniques de regroupement (clus-tering) aux cellules de la grille de jeu. Plus précisément, nous appliquons des techniquesde regroupement hiérarchique (clustering hiérarchique). C'est pour cette raison quenous avons choisi d'aborder certains aspects liés à ce type de regroupement.

Page 26: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 2. Revue de littérature 17

2.7.1 Introduction

Le � clustering � est une approche de classi�cation non supervisée dont l'objec-tif est de regrouper des objets qui se ressemblent en classes. La ressemblance entreles objets est établit soit par une mesure de dissimilarite, soit par une mesure desimilarite [14]. Dans le cas d'une mesure de dissimilarité, plus elle est faible plus lesobjets sont similaires. Et dans le cas d'une mesure de similarité, plus elle grande plusles objets sont similaires. Pour la suite, nous présentons une technique de � clustering �qui nous utilisons dans nos travaux. Plusieurs techniques existent, le lecteur intéressépeut consulter [14].

2.7.2 Clustering hiérarchique

b

c

e

d

a

f

bc

ef

bcd

bcdef

abcdef

agglomerative

Divisive

Figure 2.4 � Clustering hiérarchique - Exemple

Considérons un ensemble de n objets à regrouper. Les approches de clustering hié-rarchique peuvent-être subdivisées en deux catégories :

• Les méthodes agglomeratives : consistent d'abord à former n clusters (un clusterpour chaque objet). Ensuite, par une série de fusions successives, chaque clusterest fusionné avec le cluster le plus similaire jusqu'à la formation d'un clustercontenant tous les n objets.

Page 27: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 2. Revue de littérature 18

• Les méthodes divisives : consistent à considérer l'ensemble des n objets commeformant un seul cluster. Ensuite, par une série de partitions successives, le pro-cessus va conduire à création de n clusters, chacun contenant un seul objet.

Dans ce travail, nous utilisons les méthodes agglomeratives. La �gure 2.4 montre unexemple d'une classi�cation hiérarchique.

2.8 Théorie de l'information

Dans cette section, nous présentons deux mesures de la théorie de l'information [13]que sont utilisées dans nos travaux à savoir l'entropie et l'entropie conditionnelle. Nouscommençons par donner l'objectif de la théorie de l'information puis nous donneronsles dé�nitions des mesures ci-dessus citées.

2.8.1 Objectifs de la théorie de l'information

La théorie de l'information a pour objectif de mesurer l'information transmise parun canal. Il faut donc spéci�er ce qu'est l'information et ensuite déterminer commentla quanti�er. La notion d'information n'est pas facile à dé�nir, nous préférons utiliserla notion de source d′information qui consiste en une variable aleatoire. Pour mesurerla quantité d'information apportée par une source, nous utilisons la notion d'entropie.

2.8.2 Entropie

Considérons une variable aleatoire discrète X avec une loi de probabilité :

p(x) = Pr{X = x}, x ∈ X.

Dé�nition L'entropie H(X) [13] d'une variable aléatoire discrète X est dé�nie par :

H (X) = −∑

x∈X p (x) log (x)

Page 28: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 2. Revue de littérature 19

H(X) mesure l'incertitude qui existe sur X. Pour mieux expliciter, observons le casd'une variable de Bernoulli : X peut prendre des valeurs avec des probabilités p et 1−p.La �gure 2.5 montre la courbe H (X) en fonction de p. L'entropie 4 est maximale pourp = 0, 5 et vaut zéro pour p = 0 et p = 1. L'interprétation possible de ce résultat estque plus nous pouvons deviner la valeur qui sortira, plus H (X) va décroitre pour �nirà 0 lorsque l'une des deux valeurs est certaine.

p

H(X)

0

00,5

1

1

Figure 2.5 � Entropie d'une variable de Bernoulli (Source [13])

2.8.3 Entropie conditionnelle

Dé�nition L'entropie conditionnelle [13] de X sachant Y est dé�nie par :

H (X | Y ) =∑

y H (X | Y = y) .p (y)

H (X | Y ) mesure la quantité d'information contenue dans X lorsque Y est connue.En d'autres mots, H (X | Y ) est une mesure de l'incertitude moyenne qui reste surX lorsque Y est connue. Nous avons toujours : H (X | Y ) ≤ H (X). Par conséquent, leconditionnement réduit l'entropie.

4. Calculée avec un log en base 2

Page 29: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 2. Revue de littérature 20

2.9 Notions sur les agents

Dans le cadre de nos travaux, nous utiliserons souvent le concept d'agent. Ce conceptest utilisé dans plusieurs domaines et pour le cas qui nous intéresse, nous allons consi-dérer le domaine de l'informatique. Dans cette section, nous traitons de ce concept etde certains aspects qui l'entourent. Notre objectif n'étant pas d'entrer en profondeur,nous donnons les notions nécessaires pour comprendre le but de son utilisation dans cetravail. Pour le lecteur intéressé à avoir plus de détails, il peut consulter [57, 43].

2.9.1 Qu'est-ce qu'un agent ?

La meilleure façon de commencer serait de dé�nir le terme agent. Trouver unedé�nition sur laquelle tout le monde s'entend n'est pas chose facile car on trouve dansle domaine plusieurs dé�nitions pour ce concept [57, 43]. Nous donnons deux dé�nitionsproposées par di�érents chercheurs. Nous pensons que ces dé�nitions vont permettre decerner les concepts clés qui entourent cette notion.

Selon Russell et Norvig [43],

Un agent est toute entité qui peut être considéré comme percevant son environnement

grâce à des capteurs et qui agit sur cette environnement via des effecteurs.

Selon Wooldridge [57],

Un agent est un système informatique, situe dans un environnement, qui agit d'unefaçon autonome pour atteindre les objectifs pour lesquels il a été conçu.

De ces deux dé�nitions, nous pouvons ressortir trois concepts importants :

• environnement est constitué par le monde dans lequel évolue l'agent.

• percevant, situe signi�e que l'agent est capable de communiquer avec l'environ-nement dans lequel il se trouve. Il peut ainsi capter des observations de son en-vironnement et réagir en adoptant des actions susceptibles de modi�er l'état del'environnement.

• autonome signi�e que l'agent a le contrôle sur son état interne et ses actions etqu'il est capable d'agir par lui-même sans intervention directe d'un humain.

Page 30: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 2. Revue de littérature 21

La �gure 2.6 montre un agent et son environnement. L'agent perçoit une observationde l'environnement et propose une action appropriée.

Agent

Environnement

ActionObservation

Figure 2.6 � Un agent et son environnement (Source [57])

2.9.2 Structure des agents

Dans la dé�nition que nous venons de donner, nous nous sommes uniquement in-téressé au comportement externe de l'agent, à savoir l'action exécutée étant donnéeune observation de l'environnement. On pourrait alors se demander comment est prisela décision d'exécuter une action en réponse à une entrée sensorielle ? Selon Russell etNorvig [43], l'association des percepts aux actions est réalisée par un programmeagent

et la tâche de l'intelligence arti�cielle est de concevoir ces programmes. Aussi, un telprogramme doit s'exécuter sur un équipement informatique permettant de capter l'étatde l'environnement et d'agir sur le même environnement. C'est cet équipement qu'ilappelle architecture. Ainsi, un agent peut-être considéré comme une combinaison :

agent = architecture + programme

Le développement d'un agent consiste donc à déterminer l'architecture ainsi que leprogramme approprié. Étant donné le travail que nous voulons réaliser, l'architectureque nous avons considéré est un PC ordinaire. Nous n'aurons donc pas à mettre enplace une architecture particulière. Ce travail est donc consacré dans sa totalité à laproblématique de conception d'un programmeagent. Ainsi, le terme agent fait référenceà un agent logiciel.

Page 31: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 2. Revue de littérature 22

2.10 Le Pacman

Pacman est un jeu vidéo créée par Toru Iwatani pour Namco [8], une société japo-naise de développement de jeux vidéo. Le jeu consiste à déplacer Pacman, un personnageen forme de cercle jaune dont un secteur est manquant 5. Le déplacement du personnagese fait au sein d'un labyrinthe contenant des pac-gommes et le but est que le Pacmanpuisse manger toutes les pac-gommes en évitant les fantômes 6 qui sont à sa poursuite.Étant donné que le Pacman se déplace sur deux axes (↔l), il peut prendre quatre di-rections : gauche, droite, haut, bas. On peut distinguer trois types de pac-gommes [9] :

• La pac-gomme de base : elle ne procure aucun e�et particulier au Pacman à partun nombre déterminé de points.

• La pac-gomme fruit : même si elle ne donne pas d'e�et particulier au Pacman, ellepermet au Pacman d'avoir un bonus de points. Elle apparait à certains momentsde jeu.

• La super pac-gomme : donne au Pacman des pouvoirs supplémentaires pour unecourte durée. Dès que le Pacman mange ce type de pac-gommes, il acquiert lacapacité de pouvoir chasser les fantômes qui sont en ce moment passés en état defuite. Si le Pacman arrive à attraper un fantôme, des points supplémentaires luisont attribués et le fantôme attrapé retourne à la case de départ.

Dès son lancement, le jeu connaît un succès sans précédent et devient l'un des jeux leplus populaire durant les trente dernières années. Le record de jeu a été réalisé en 1999par Billy mitchell où il a réalisé un score de 3,333,560 points [10].

2.10.1 Le banc d'essai pour nos expérimentations : la version

Pacman de Benny Chow

Pour les besoins de nos expérimentations, nous avons opté pour l'utilisation d'unevariante de jeu original développée en Java par Benny Chow [5]. La décision d'utilisercette variante a été motivée par plusieurs raisons. D'une part, les di�érences avec laversion o�cielle sont moindres. D'autres part, le code source est accessible gratuitement.La possibilité d'accéder à l'environnement de jeu et d'ajouter des modules externes estainsi facilitée.

5. Le secteur manquant fait o�ce de bouche6. Les fantômes sont au nombre de quatre

Page 32: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 2. Revue de littérature 23

2.10.1.1 Les personnages du jeu

Le Pacman

Il est le personnage principal du jeu. Le Pacman se déplace dans le labyrinthe du jeu dansle but de manger toutes les pac-gommes a�n d'accumuler les maximum de points touten évitant les fantômes. Le Pacman (�gure 2.7) peut prendre 4 formes dépendammentde la direction dans laquelle il regarde.

Gauche

HautDroite

Bas

Figure 2.7 � Les di�érentes formes du Pacman

Les fantômes

Les fantômes sont au nombre de quatre (�gure 2.8). Tout au long du jeu, leur objectifest d'attaquer le Pacman s'il y a aucune super pac-gommes active, sinon elles sont enétat de fuite 7.

Inky Clyde

Blinky Pinky

Figure 2.8 � Les fantômes

7. A ce moment, elles sont de couleur bleu.

Page 33: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 2. Revue de littérature 24

2.10.1.2 L'environnement du jeu

Les personnages du jeu Pacman évolue dans un labyrinthe. La représentation internede la structure du labyrinthe consiste en un tableau en deux dimensions de 28 colonneset 31 lignes pour un total de 868 cases. La �gure 2.9 illustre la représentation internedu premier niveau de jeu.

Modélisation du labyrinthe

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

Figure 2.9 � Environnement de jeu

Dans nos expérimentations, nous avons utilisé uniquement le premier niveau de jeu.Nos objectifs étant d'expérimenter certaines techniques d'apprentissage automatique,l'environnement du premier niveau du jeu semble raisonnable. Le tableau 2.10 montre lenombre maximal de points 8 qui peuvent être obtenus à ce niveau. Dans nos expérimen-tations, le score va constituer une des mesures de performance des agents développés.

Pac-gommes Super pac-gommes Fantômes Fruit Total

300 * 10 points 4 * 50 points 4 * 1600 points 750 points 10 350 points

Figure 2.10 � Répartition des points pour le premier niveau de jeu

2.10.1.3 Structure du programme du jeu

Développée suivant un design orienté objet, le programme en Java comprend 4principales classes et les autres classes héritent de ces dernières :

8. Si le joueur dépasse les 10 000 points, il obtient une vie supplémentaire

Page 34: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 2. Revue de littérature 25

• Thing : classe dont hérite les éléments mobiles de jeu à savoir les fantômes (Ghost),les fruits (Fruit) et le Pacman.

• GameModel : représente l'état de jeu ainsi que les méthodes permettant d'interagiravec les autres objets.

• Pacman : il s'agit de la classe principale et contrôle l'exécution de jeu.

• GameUI : classe responsable de l'a�chage de la grille de jeu et des objets s'ytrouvant. La classe est responsable de la mise à jour de la grille de jeu.

2.10.2 Des agents pour le jeu Pacman

Le comportement aléatoire de certains personnages de jeu 9 concède au Pacmanun niveau de complexité élevé qui semble attirer depuis quelques années une certainecommunauté de chercheurs. Ces chercheurs voient en Pacman un banc d'essai idéal pourexpérimenter certaines techniques d'intelligence arti�cielle.

Nous présentons des travaux réalisés dans le but de développer des agents intelligentspour le Pacman. Pour chaque travail, nous donnons les éléments de l'environnement dejeu qui sont pris en compte par l'agent dans la prise de décision. Nous présentons cesattributs car ils ont in�uencé les choix de modélisation que nous avons e�ectués dansle but de caractériser l'environnement de jeu.

Gallagher et Ryan [18] ont développé un agent en utilisant une machine à états(FSM) et un ensemble de règles pour contrôler les mouvements du Pacman. Deux états(Retreat, Explore) sont possibles et dépendent de la distance de Manhattan (sansconsidération des murs) qui sépare le Pacman et un fantôme. Il faut aussi rappelerque c'est une version simpli�ée du Pacman qui ne contient qu'un seul fantôme. Despoids sont associés aux règles et ces dernières sont évoluées à l'aide d'un algorithmeévolutionnaire [3]. Un seul élément de l'environnement de jeu est considéré :

• La distance de Manhattan (sans considération des murs) entre le Pacman et unfantôme. Cette dernière est utilisée pour décider quand changer d'état.

Robles et Lucas [38] utilisent un arbre de recherche pour contrôler le Pacman. L'arbrede recherche (�gure 2.11) contient tous les chemins possibles et ce dernier est utilisé

9. Les fantômes

Page 35: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 2. Revue de littérature 26

pour évaluer ces chemins. Les n÷uds de l'arbre correspondent à une position de lagrille et chaque n÷ud contient un élément de jeu (rien, une pac-gommes, une superpac-gommes, Pacman ou un fantôme). L'évaluation des chemins consiste à déterminerles chemins les plus sûrs et les moins sûrs. Pour chaque chemin, sa valeur est calculéeen fonction des éléments contenus dans les n÷uds. Pour ce faire, à chaque élémentpouvant être contenu dans le n÷ud est associé un poids. Par exemple, nous pourrionsassocier un poids de 20 à une pac-gomme de base et 50 à une super pac-gomme. Lavaleur du chemin étant la somme des valeurs de tous les n÷uds. Le chemin le plus sûrsera celui avec la plus grande valeur. Cependant, même si cette approche semble êtreprometteuse, rien ne garantit que le chemin le plus sûr soit le meilleur. Les éléments del'environnement de jeu qui sont considérés sont les suivants :

• Les positions des éléments de jeu sur la grille de jeu : les pac-gommes, les superpac-gommes, le Pacman et les fantômes.

• Le temps d'activité du super pac-gomme.

Lucas [25] quant à lui utilise les réseaux de neurones pour contrôler les mouvements duPacman. Le réseau reçoit en entrée un vecteur contenant les observations de l'environ-nement de jeu. Les observations de l'environnement de jeu qui sont pris en compte sontles suivants :

• g1...g4 : distance vers chaque fantôme (prédateur).

• e1..e4 : distance vers chaque fantôme (fuite).

• x, y : Localisation de la cellule courante.

• pill : distance vers la pac-gomme la plus proche.

• powerP ill : distance vers la super pac-gomme la plus proche.

• junction : distance vers le croisement le plus proche.

Précisons que la distance utilisée correspond au plus court chemin entre le Pacman etl'élément spéci�é.

Szita et Lorincz [53] quant à eux ont réalisé un agent utilisant des politiques àbase de règles pour contrôler le Pacman. Les règles sont organisées pour créer desmodules qui correspondent aux actions que le Pacman peut exécuter. Une prioritéest accordé à chaque module et c'est sur la base de cette dernière que s'e�ectue le

Page 36: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 2. Revue de littérature 27

Figure 2.11 � La con�guration du jeu et sa représentation en arbre (Source : [38])

choix du module à exécuter. Les politiques sont apprises à partir de ces modules eten utilisant un algorithme d'optimisation [40]. Les règles sont construites à partir deplusieurs observations dans l'environnement de jeu. Les observations de l'environnementde jeu considérées sont les suivantes :

• NearestDot : distance vers la pac-gomme la plus proche.

• NearestPowerDot : distance vers la super pac-gomme la plus proche.

• NearestGhost : distance vers le fantôme le plus proche (prédateur).

• NearestEdGhost : distance vers le fantôme le plus proche (fuite).

• GhostCenterDist : distance euclidienne vers des centres géométriques des fan-tômes.

• DotCenterDist : distance euclidienne vers le centre géométrique des pac-gommesencore disponibles.

La distance considérée se calcule toujours à partir de la position courante du Pacman.En plus de la distance euclidienne, nous notons l'utilisation du plus court chemin entrele Pacman et l'élément spéci�é.

Wirth et Gallagher [56] ont développé un agent basé sur l'analyse des régions de lagrille de jeu pour décider dans quelle direction il faut aller. Le degré d'importance d'une

Page 37: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 2. Revue de littérature 28

région est dé�ni en fonction des éléments localisés dans cette région. Par exemple, unerégion dont les emplacements contient des pac-gommes et/ou des supers pac-gommesaura un degré d'importance plus élevé par rapport à une autre région dont les emplace-ments contiennent des fantômes. Ainsi, en essayant de trouver les régions importantes,ils s'assurent que le Pacman va toujours se diriger vers les zones les plus prometteuses.Pour analyser les régions de la grille, les éléments de l'environnement ci-dessous sontconsidérés :

• x, y : localisation de la cellule sur laquelle se trouve le Pacman.

• pill : nombre de pac-gommes restant.

• powerP ill : nombre de super pac-gommes restant.

• dot : distance euclidienne entre la position courante et la pac-gomme la plusproche.

• eatenGhosts : nombre de fantômes déjà mangés.

Guan et al [54] ont développé un contrôleur pour le Pacman utilisant les réseaux deneurones avec l'algorithme Hill-Climbing. Les éléments de l'environnement de jeu quisont pris en compte sont les suivants :

• pill : plus petite distance euclidienne entre le Pacman et la pac-gomme la plusproche.

• powerP ill : plus petite distance euclidienne entre le Pacman et la super pac-gomme la plus proche.

• normalGhost : plus petite distance euclidienne entre le Pacman le fantôme le plusproche (prédateur).

• edibleGhost : plus petite distance euclidienne entre le Pacman et le fantôme(fuite).

• fruit : plus petite distance euclidienne entre le Pacman et un fruit.

Une analyse des éléments choisis par ces chercheurs pour caractériser l'environnementdu jeu montre qu'il s'agit surtout des mesures de distances. Nous pouvons en distinguertrois : la distance de Manhattan, la distance euclidienne et le plus court chemin. Nouspensons que ces choix ont été in�uencés par la con�guration du plateau de jeu qui esten forme de labyrinthe.

Page 38: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 2. Revue de littérature 29

2.11 Conclusion

Dans ce chapitre, nous avons présenté les principaux éléments qui seront utiliséspour réaliser nos travaux. Dans le chapitre qui suit, nous motivons nos choix et nousdétaillons la stratégie adoptée pour matérialiser l'approche préconisée.

Page 39: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 3

Acquisition des séquences de jeux

3.1 Introduction

L'objectif de notre travail est de créer automatiquement une structure de diagrammeétats-transitions qui modélise les séquences de jeux. Cette structure devra permettreà un agent de jouer à un bon niveau de jeu (proche de celui de l'entraîneur) touten respectant les contraintes de temps du jeu. Nous avons choisi d'expérimenter notreapproche sur un jeu de poursuite, le Pacman. Concrètement, la problématique à résoudrerenferme deux problèmes principaux à savoir l'acquisition des séquences de jeux et laconstruction des diagrammes états-transitions. Dans ce chapitre, nous nous intéressonsau problème d'acquisition de séquences de jeux. Nous allons traiter de ses particularitéset de l'approche préconisée pour le résoudre.

3.2 Particularités du problème

Les séquences de jeux constituent la brique de base de la problématique que nousvoulons résoudre. Une séquence de jeu décrit le comportement de l'utilisateur durant unepartie de jeu. Par comportement de l'utilisateur, il faut comprendre l'action exécutéeface à une observation de l'environnement. Les particularités liés à ce problème sont lessuivants :

• Les séquences proviennent des parties de jeux jouées par un entraîneur. Chaqueséquence de jeu est un vecteur composé d'épisodes de jeu. Chaque épisode de jeu

Page 40: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 3. Acquisition des séquences de jeux 31

décrit une con�guration du plateau de jeu plus l'action prise par le joueur.

• L'état du plateau et les actions du joueur sont totalement observables à toutmoment. Et nous ne prenons en compte aucune autre information.

3.3 Approche préconisée

A�n d'acquérir les séquences de jeu, nous avons opté pour l'utilisation de l'appren-tissage par la démonstration [33, 2]. Nous commençons par donner les motivations quinous ont poussé à choisir cette approche puis nous présenterons la stratégie adoptéepour réaliser cette tâche.

3.3.1 Motivation

Le but de l'apprentissage par la démonstration est d'apprendre à partir d'observa-tion. Un agent apprenant observe le comportement d'un expert dans le but d'imiterle comportement observé. Ce type d'apprentissage présente des avantages qui peuventêtre exploités :

• l'utilisation de connaissances empiriques ;

• il facilite le transfert des connaissances. En observant directement l'expert dans laréalisation d'une tâche, l'apprenant a accès aux exemples concrets ce qui facilitele transfert des connaissances de l'expert vers l'apprenant ;

• l'imitation peut s'avérer une technique très intéressante surtout dans le cas où onveut reproduire un comportement existant dont le code n'est pas disponible ;

Eu égard à ces avantages, nous pensons que l'exploitation des possibilités o�ertes parl'apprentissage par la démonstration pour acquérir de l'expérience est une avenue àexplorer. En e�et, l'acquisition des séquences de jeux à partir des démonstrations d'unexpert agissant dans des situations réelles d'exploitation nous permet de nous assurer 1

d'acquérir l'expérience concrète du domaine.

1. Le lien entre une observation et l'action prise doit être clairement dé�ni.

Page 41: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 3. Acquisition des séquences de jeux 32

Expert (Usager)

Moteur du jeu Pacman

Création des épisodes de jeu

action(événement) perception

état du jeu action(up, down, left, right)

action(up, down, left, right)

état du jeu Séquence de jeu

Figure 3.1 � Architecture d'apprentissage

3.3.2 Architecture d'apprentissage

Un élément important de l'apprentissage par la démonstration est d'observer lecomportement de l'expert, à savoir les actions réalisées après une séquence de percepts 2

donnée. Il faut alors mettre en place des mécanismes permettant d'une part, à l'expertde recueillir les informations sur l'état de l'environnement, et d'autre part l'expert doitpouvoir mettre à la disposition de l'environnement l'action proposée. A ces mécanismes,il faut ajouter la possibilité de créer et d'emmagasiner une séquence caractérisant lecomportement de l'expert. Pour réaliser cette tâche, nous proposons une architecture(�gure 3.1) qui intègre les éléments qui entrent dans le cadre d'un apprentissage par ladémonstration. L'architecture va permettre la collaboration entre les di�érents éléments.

La production des épisodes de jeu qui sont les éléments constitutifs des séquencesde jeux s'e�ectue tant que la partie de jeu n'est pas encore terminée. Le processusd'acquisition des séquences de jeux suit l'algorithme 1.

Au lancement du jeu, les données représentant la con�guration interne de la grille dejeu sont créées. Durant la partie de jeux et à chaque frame, les données caractérisantsl'état de jeu sont recueillies. La con�guration de la grille est mise à jour avec le nouvel

2. Nous utilisons le terme percept pour désigner une perception de l'environnement de jeu

Page 42: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 3. Acquisition des séquences de jeux 33

Algorithme 1 production-Séquences-Jeuxvariables : grilleJeu, une con�guration de la grille de jeu

etatJeu, une description de l'état courant de l'environnement de jeuepisodeJeu, une listerepresentationGrilleJeu, une représentation interne de la grille de jeu

Au lancement du jeugrilleJeu ← créer-Données-Jeu(representationGrilleJeu)

Tant que la partie de jeu n'est pas terminéeepisodeJeu ← {}etatJeu ← capturer-État-Du-Jeuaction ← obtenir-Action-Expert(grilleJeu, etatJeu)exécuter-Action(action)episodeJeu ← créer-Épisode-Jeu(etatJeu, action)emmagasiner-Épisode-Jeu(episodeJeu)

//A la �n de la partie de jeu, créer une séquence de jeu à partir des épisodes de jeucréer-Séquence-Jeu

état de jeu. Après la mise à jour, l'expert détermine la meilleure action à exécuter etcette dernière est rendue disponible pour exécution. L'état de l'environnement de jeuet l'action prise sont utilisés pour former un épisode de jeu qui est ensuite emmagasinédans une base de données en mémoire. A la �n d'une partie de jeu, le contenu de la basede données en mémoire est utilisé pour constituer une séquence de jeu qui est par lasuite enregistrée dans un �chier. La séquence de jeu constitue donc l'historique completdu comportement de l'expert durant une partie de jeu. Pour la suite, nous entrons endétails pour chaque élément faisant partie de la solution proposée.

3.3.3 Composants de l'architecture d'apprentissage

3.3.3.1 Moteur principal du jeu

Le moteur principal du jeu qui constitue en même temps l'environnement de jeu estla version de Pacman de Benny Chow dont nous avons parlé à la section 2.10.

Page 43: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 3. Acquisition des séquences de jeux 34

3.3.3.2 Création de données du jeu

Le représentation interne du jeu consiste en un tableau en deux dimensions dé�-nissant la grille de jeu ainsi que les autres éléments s'y trouvant avec leurs positionsrespectives. Les informations sur le contenu de la grille de jeu doivent être modélisées defaçon à ce que d'une part, elles soient facilement interprétables par l'expert et d'autrepart, elles doivent être facilement mises à jour lorsque les di�érents éléments du jeuévoluent sur la grille. Ces informations peuvent être la position du Pacman, le nombrede pac-gommes et super pac-gommes restant, la position des fantômes, s'il y a une superpac-gomme active, etc. Le traitement des informations sur les données de jeu s'e�ectueen deux phases. La première phase consiste à créer les données de base, c'est à dire lescaractéristiques du niveau de jeu ; et la deuxième phase consiste à mettre à jour 3 entemps réel les données créées a�n qu'elles re�ètent l'état du jeu à tout moment. Danscette section, nous nous intéressons au module dédié à la réalisation de la premièrephase.

La composante de création de données est chargée de créer les données de base aulancement du jeu. Pour le cas du Pacman, il s'agit de modéliser l'état de la grille dejeu. Le but à cette étape est de mettre les données sous une forme facilement utilisablepar l'expert. Mais aussi, la forme de données créée doit simpli�er la mise à jour en cesens que l'état du plateau de jeu évolue en temps réel.

L'approche préconisée est fortement inspirée de l'article de Mehroz Alam [52] etconsiste à considérer la grille de jeu (�gure 3.2) comme étant composée par des cases,chaque case ayant les caractéristiques suivantes :

• Un état : 1 pour une case ouverte 4 et 0 pour une case fermée 5.

• Un contenu : correspond à l'élément 6 se trouvant sur la même position.

• Position : a�n de localiser une case sur la grille, à chaque case est assigné unnuméro unique. La numérotation se fait de gauche à droite, de haut en bas etcommence par 0 à Colonne× Ligne− 1.

Les informations sur les cases sont mises dans des structures de données en mémoire

3. La mise à jour sera faite à chaque fois que l'expert veut prendre une décision.4. Une case de la grille de jeu est dite ouverte si elle est accessible.5. Une case de la grille de jeu est dite fermée si elle est inaccessible. En d'autres mots, si elle est

entourée de 4 murs.6. Le Pacman, une pac-gommes, une super pac-gommes ou un fantôme

Page 44: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 3. Acquisition des séquences de jeux 35

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55

56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83

84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111

112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139

140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167

168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195

196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223

224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251

252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279

280 281 282 283 284 544 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307

308 309 310 311 312 544 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335

336 337 338 339 340 544 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363

364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391

392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419

420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447

448 449 450 451 452 544 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475

476 477 478 479 480 544 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503

504 505 506 507 508 544 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531

532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 272 272 272 272 559

560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587

588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615

616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643

644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671

672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699

700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727

728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755

756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783

784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811

812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839

840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867

(a) Positions

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0

0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0

0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0

0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0

0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0

0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0

0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0

0 1 1 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 1 1 0

0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0

0 1 1 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1 1 1 1 0

0 1 1 1 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 0 0 1 0 1 1 1 1 0

0 1 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 1 1 0

0 0 0 0 0 0 1 0 0 1 0 1 1 1 1 1 1 0 1 0 0 1 0 0 0 0 0 0

1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1

0 0 0 0 0 0 1 0 0 1 0 1 1 1 1 1 1 0 1 0 0 1 0 0 0 0 0 0

0 1 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 1 1 0

0 1 1 1 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 0 0 1 0 1 1 1 1 0

0 1 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 1 1 0

0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0

0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0

0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0

0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0

0 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0

0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0

0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0

0 1 1 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 1 1 0

0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0

0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0

0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

(b) États

Figure 3.2 � Modélisation de la grille de jeu

facilement accessibles et modi�ables 7 par l'expert.

3.3.3.3 L'expert

Dans l'apprentissage par la démonstration, l'expert joue un rôle incontournable.Face à un état particulier de l'environnement, c'est l'expert qui montre l'action adé-quate pour aboutir à un comportement souhaité. Actuellement, on distingue di�érentstypes d'experts allant de l'humain à des agents intelligents. Au premier abord, le choixd'un expert humain semble être un choix idéal. Cependant, ceci n'est pas toujours lecas. En e�et, il peut arriver des situations où le choix de l'action idéale est le résul-tat d'un certain nombre d'opérations. Dans ce cas, opter pour un agent serait un bonchoix. Toutefois, la mise en place d'un agent nécessite l'utilisation des techniques d'ap-prentissage automatique nécessairement coûteux en temps et demande des compétencesparticulières.

Pour notre cas, le choix s'est porté sur l'utilisation d'un agent. Ce choix a été motivépar le fait que de nos jours, le jeu Pacman semble attirer l'attention de la communautédes chercheurs en intelligence arti�cielle [18, 38, 3, 25, 53, 40, 56, 54]. Le développementd'un agent intelligent va nous permettre d'apprendre ce qui se fait dans ce domaine et,si possible, apporter notre contribution.

7. L'état de la grille de jeu doit être constamment mis à jour durant le jeu a�n que l'expert aittoujours accès à des informations qui sont à jour.

Page 45: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 3. Acquisition des séquences de jeux 36

Particularités liées à l'utilisation d'un agent

L'agent a ceci de particulier qu'il nécessite en entrée une description de l'environnementde jeu et qu'à partir de l'analyse de cette dernière, l'action la meilleure est proposée.Pour développer un agent intelligent, plusieurs approches peuvent être utilisées [43].Dans ce travail, l'agent que nous avons développé possède les caractéristiques d'unagent de résolution de problèmes [42]. En e�et, les caractéristiques de l'environnementde jeu permettent le développement de ce type d'agent :

• Statique : l'environnement reste inchangé quand l'agent est en train de délibérer.

• Observable : à tout moment, la con�guration du plateau de jeu est totalementobservable.

• Discret : l'exploration s'e�ectue dans l'ensemble des cases de la grille de jeu ettoutes les actions possibles sont connues.

• Déterministe : l'état courant et l'action prise su�sent pour déterminer l'état sui-vant de l'environnement.

Le processus de fonctionnement de l'agent suit l'algorithme 2. Après avoir mis à jourla représentation interne de la grille de jeu, on détermine la case cible et puis parexploration 8, on détermine la solution ; en d'autres mots ; une séquence d'actions. Laséquence d'actions correspond au plus court chemin 9 partant de la position courantevers la case cible. La première action de la solution est proposée pour exécution. Ceprocessus est exécuté à chaque fois que l'état du jeu est modi�é. Pour la suite, nousdonnons des précisions sur les di�érents éléments de l'algorithme.

8. Utilisation de la recherche en largeur dans la représentation de la grille de jeu.9. Le Pacman se déplaçant sur une grille composée de cases, un chemin est dé�ni comme une

séquence de cases suivies pour se rendre d'une position A (considérée comme la position de départ) àune position B(considérée comme la position d'arrivée).

Page 46: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 3. Acquisition des séquences de jeux 37

Algorithme 2 agent-Expert-Démonstrateur (grilleJeu, etatJeu)retourner une actionentrées : observation, une observation de l'environnementvariables : action, une action, initialement vide

etat, une description de l'état courant de l'environnementcible, la position de la case cible, initialement nulle

grilleJeu ← mettre-A-Jour-Grille-Jeu(grilleJeu, observation)cible ← déterminer-Case-Cible(grilleJeu)action ← déterminer-Meilleure-Action(grilleJeu, cible)retourner action

Déterminer la case cible

Dans notre stratégie, le Pacman a constamment un objectif à atteindre. En tout tempsde jeu, le Pacman doit se déplacer soit vers une pac-gomme, une super pac-gomme ouun fantôme. La case sur laquelle se trouve un élément que le Pacman cherche à atteindreest considérée comme la case cible. Le choix de la case cible va dépendre de l'état de jeudéterminé par l'existence ou non des e�ets d'une super pac-gomme. Pour cette tâche,nous suivons l'algorithme 3.

Algorithme 3 déterminer-Case-Cible(etatJeu)retourner une positionentrées : etatJeu, une description de l'état courant de l'environnementvariables statiques : position, la position de la case cible sur la grille de jeuSi aucune super pac-gommes n'est active alors

Si il reste des super pac-gommes alorsposition ← localiser-Super-pac-gomme-la-plus-proche

Sinonposition ← localiser-Pac-gomme-la-plus-proche

SinonSi il y a des fantômes alorsposition ← localiser-Fantôme-le-plus-proche

Sinonposition ← localiser-Pac-gomme-la-plus-proche.

retourner position

Il faut remarquer que le but à cette étape est de localiser des éléments évoluant surle plateau étant donnée la distance qui les sépare de la position courante, c'est à dire

Page 47: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 3. Acquisition des séquences de jeux 38

celle du Pacman. La question est alors de savoir la métrique de distance à utiliser ?Pour ce faire, analysons les caractéristiques liées au déplacement dans la grille de jeu.A partir d'une case de la grille de jeu, seul un déplacement vers une case adjacente estpossible. En e�et, le déplacement en diagonale est strictement interdit. Par conséquent,seuls les déplacements en verticale et en horizontale sont possibles 10. Étant données cescaractéristiques, nous avons choisi d'utiliser la distance de Manhattan. La distance deManhattan 11 consiste en la somme des distances verticales et horizontales de la positioncourante vers un élément du plateau de jeu.

Cible Cible

Avec case fermée Aucune case fermée

Distance de Manhattan

Figure 3.3 � Distance de Manhattan

La �gure 3.3 montre une illustration du calcul de la distance de Manhattan. Il fautremarquer que dans le calcul de cette distance, uniquement la position sur la grille dejeu est considérée. La con�guration 12 des cases de jeu n'est pas considérée. C'est unestratégie très simple mais très e�cace. En e�et, en tout temps, le Pacman aura unecible vers laquelle se diriger.

Déterminer la meilleure action

Le but à cette étape est de calculer les plus courts chemins 13 que le Pacman peutsuivre de la position courante à la case cible, choisir le meilleur chemin et en déduire lameilleure action. Nous avons établi que le meilleur chemin est le chemin le plus court.

10. Nous l'avions précisé dans la description du jeu Pacman.11. La distance de Manhattan [6] entre deux points A et B de coordonnées respectives (xA, xB) est

dé�nie par : d(A,B) = |xB − xA|+ |yB − yA|.12. Case fermée ou case ouverte13. Le Pacman se déplaçant sur une grille composée de cases, un chemin est dé�ni comme une

séquence de cases suivies pour se rendre d'une position A (considérée comme la position de départ) àune position B(considérée comme la position d'arrivée).

Page 48: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 3. Acquisition des séquences de jeux 39

Un chemin sera considéré comme le plus court s'il contient moins de cases que les autresétant donnée la con�guration du plateau de jeu. La meilleure action est celle permettantde se rendre à la première case de la solution à partir de la case courante. L'algorithme 4illustre la stratégie adoptée.

Algorithme 4 déterminer-Meilleure-Action(representationGrilleJeu, caseCible)retourner une action, parmi les actions que le Pacman peut exécuterentrées : representationGrilleJeu, représentation interne de la grille de jeu

caseCible, position sur la grille de jeuvariables : meilleurChemin, une liste, initialement vide

chemins, une liste, initialement videcaseCourante, position sur la grille de jeu, initialisée à zéroaction, une action parmi celles que le Pacman peut exécuteractions, une liste, initialement vide

caseCourante ← déterminer-Case-Courante(representationGrilleJeu)actions ← déterminer-Actions-Possibles(grilleJeu, caseCourante)Si aucune super pac-gommes n'est active alors

grilleJeu ← réorganiser-Grille-Jeu(representationGrilleJeu)Sinon

grilleJeu ← representationGrilleJeu

// 1. Trouver les chemins possiblesPour chaque a dans actions faireunChemin ← {}unChemin ← plus-Court-Chemin(a, grilleJeu, caseCible, caseCourante)chemins ← ajouter-Chemin(unChemin)

//2. Déterminer le meilleur chemin et l'action qu'il proposemeilleurChemin ← Min(chemins)action ← déterminer-Action-A-Exécuter(grilleJeu, meilleurChemin, caseCourante)retourner action

Recherche du plus court chemin

La recherche du plus court chemin s'e�ectue à chaque mise à jour de l'état du jeu,c'est à dire quand l'expert doit prendre une décision. Le but est de trouver le cheminle plus court entre une case de départ et une case cible. Nous avons choisi d'aborder ceproblème comme pouvant être résolu par l'exploration. L'exploration se fait en utilisantla recherche en largeur [42]. De la façon dont nous avons modélisé la grille de jeu, unerésolution de la sorte semble être raisonnable. La recherche du plus court chemin est

Page 49: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 3. Acquisition des séquences de jeux 40

dépendante de l'état du jeu. Par exemple, s'il n'y a aucune super pac-gomme active,tous les chemins recherchés doivent éviter les fantômes et les cases fermées. Par contre,si une super pac-gomme est active, le plus court chemin doit éviter uniquement les casesfermées. Comment alors savoir si une case qu'on veut traiter est ouverte ou fermée ?Dans le cas où elle est ouverte, comment savoir si elle contient un fantôme ou pas ?Les réponses à toutes ces questions résident dans la modélisation de la grille de jeu.Nous avons dé�ni une stratégie qui consiste à modéliser la grille de jeu de façon à faireressortir la con�guration de l'environnement surtout ce qui a trait à la position desfantômes et de l'état des cases :

• Si une super pac-gomme est active, on e�ectue l'exploration dans la con�gurationde base mise en place lors de la création des données de jeu. La con�guration del'état des cases de la grille de jeu reste inchangée : 0 pour une case fermée et 1pour une case ouverte

• Si aucune super pac-gomme n'est active, nous procédons à une restructurationpartielle de la grille de jeu avant de procéder à l'exploration. La restructurationde la grille de jeu a pour objectif de faire des modi�cations dans la con�gurationde la grille de jeu a�n d'indiquer la position des fantômes. Chaque case contenantun fantôme est considérée comme une case fermée 14 le temps de l'exploration.C'est une stratégie très simple mais très e�cace. En e�et, en considérant une casesur laquelle est située le fantôme comme fermée, l'algorithme d'exploration va laconsidérer comme non pertinente et elle ne sera pas comprise dans la solution.Par conséquent, dans les solutions proposées, il n'y aura jamais une séquenced'actions contenant une case avec un fantôme si la super pac-gomme n'est pasactive. L'exemple à la �gure 3.4 montre une représentation de la grille de jeu dansle cas où le Pacman doit éviter des fantômes. Après le calcul du meilleur chemin,la meilleure action est trouvée et proposée pour exécution.

3.3.3.4 État de l'environnement de jeu

Pour proposer la meilleure action à exécuter, l'expert doit analyser l'état de l'envi-ronnement de jeu. Des mécanismes permettant d'avoir accès à l'environnement du jeuen temps réel doivent alors être mis en place. Pour ce faire, nous avons adopté une stra-tégie qui consiste à observer en temps réel les éléments évoluant sur le plateau de jeu.Cela est rendu possible avec l'utilisation du patron Observer en Java [19]. La solutionconsiste à :

14. On assigne l'état 0 à la case.

Page 50: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 3. Acquisition des séquences de jeux 41

0 0 0 0 0 0 1 0 0 0 0

0 1 1 0 1 1 1 1 1 1 1

0 1 0 0 0 0 1 0 0 0 0

0 1 0 0 0 0 1 0 0 0 0

0 1 0 0 0 0 1 0 0 0 0

0 1 1 1 0 1 1 1 1 1 1

0 1 0 0 0 0 1 0 0 1 1

0 1 0 0 0 0 1 0 0 1 1

0 1 1 1 1 1 1 0 0 1 1

0 0 0 0 0 0 1 0 0 0 0

0 0 0 0 0 0 1 0 0 0 0

0 0 0 0 0 0 1 0 0 1 1

0 0 0 0 0 0 1 0 0 1 1

Positions Etats

Fantômes

0 1 2 3 4 5 6 7 8 9 10

11 12 13 14 15 16 17 18 19 20 21

22 23 24 25 26 27 28 29 30 31 32

33 34 35 36 37 38 39 40 41 42 43

44 45 46 47 48 49 50 51 52 53 54

55 56 57 58 59 60 61 62 63 64 65

66 67 68 69 70 71 72 73 74 75 76

77 78 79 80 81 82 83 84 85 86 87

88 89 90 91 92 93 94 95 96 97 98

99 100 101 102 103 104 105 106 107 108 109

110 111 112 113 114 115 116 117 118 119 120

121 122 123 124 125 126 127 128 129 130 131

132 133 134 135 136 137 138 139 140 141 142

Cible

Grille de jeu

Meilleur chemin Chemin possible

Chemin impossible

A B

[ 34 → 45 → 56 → 67 → 78 → 89 → 90 → 91 → 92 → 93 → 94 → 83 → 72 → 61 → 50 → 39 → 28 → 17 ]Meilleur chemin Première case de la solution 45 Meilleure action: down

Figure 3.4 � Représentation de la grille de jeu utilisée pour l'exploration

• Considérer tous les éléments évoluant sur le plateau de jeu comme des sujets àobserver ;

• Mettre en place un observateur 15 chargé d'observer chaque sujet ;

• Noti�er chaque observateur 16 si l'état du sujet observé change.

L'avantage d'une telle approche est qu'elle permet de disposer en temps réel des infor-mations sur les éléments se trouvant sur le plateau de jeu.

État de l'environnement de jeu : Choix de modélisation

Il ne su�t pas de disposer de l'information sur l'état du jeu, encore faut-il que l'infor-mation obtenue soit pertinente. En e�et, les données obtenues doivent re�éter le plus�dèlement possible la con�guration du plateau de jeu et doivent être dans un formatfacilement interprétable a�n de favoriser la prise de décision. Nous devons alors déter-miner les observations les plus pertinentes à réaliser et dans quel format les mettre.

La stratégie adoptée consiste à créer un vecteur d'attributs contenant les informa-tions sur la con�guration du plateau de jeu. Cependant, le choix de ces attributs n'estpas trivial.

15. Il s'agit d'un objet dont l'état est l'image du sujet observé.16. L'observateur met à jour son état.

Page 51: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 3. Acquisition des séquences de jeux 42

En s'inspirant des choix faits par certains chercheurs dans le but développer uncontrôleur intelligent pour le Pacman (section 2.10.2) et en ajoutant des attributs jugéspertinents, nous avons décidé de considérer les attributs donnés à la �gure 3.5.

Attibut Description

x, y Position de la case courante sur la grille de jeu

powerUp État du super pac-gomme

northWall État de la case du haut (ouverte ou fermée)

southWall État de la case du bas (ouverte ou fermée)

eastWall État de la case de droite (ouverte ou fermée)

westWall État de la case de gauche (ouverte ou fermée)

ghost0 Distance entre le Pacman et le premier fantôme

ghost1 Distance entre le Pacman et le deuxième fantôme

ghost2 Distance entre le Pacman et le troisième fantôme

ghost3 Distance entre le Pacman et le quatrième fantôme

nearestGhost Distance entre le Pacman et le fantôme le plus proche (prédateur)

nearestEdibleGhost Distance entre le Pacman et le fantôme le plus proche (fuite)

nearestPowerDot Distance entre le Pacman et la super pac-gomme la plus proche

nearestDot Distance entre le Pacman et la pac-gomme la plus proche

Figure 3.5 � Choix de modélisation - État de l'environnement

Précisons que la distance considérée dans la modélisation est le plus court che-min(voir section 3.3.3.3). Nous avons choisi ces attributs car nous croyons qu'ils carac-térisent le plus possible l'état du jeu et par conséquent ils constituent une base solidepour mettre en application la stratégie que nous avons adoptée. L'ensemble des valeursde ces attributs est utilisé pour former un vecteur décrivant l'état de l'environnementde jeu à un instant t.

3.3.3.5 Séquence de jeu

Une séquence de jeu est un vecteur composé d'épisodes de jeu. Chaque épisode dejeu est un vecteur décrivant l'état de l'environnement et l'action prise par l'expert à uninstant t. Un épisode de jeu est créé à chaque fois qu'une action est décidée dans le butde réagir à une con�guration de l'environnement de jeu.

Le choix des actions à exécuter étant fait en temps réel, la création et la sauve-garde des épisodes de jeu se fait également en temps réel dans une base de données enmémoire [47]. La �gure 3.6 montre la structuration d'un épisode de jeu.

Page 52: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 3. Acquisition des séquences de jeux 43

épisode de jeu = [t, E, a] avec

t: Instant de la création de l'épisode de jeu

E: État de l'environnement de jeu

a: Action prise par l'expert

Figure 3.6 � Épisode de jeu

A la �n d'une partie de jeu, une séquence de jeu(�gure 3.7) formée par l'ensemble desépisodes de jeu est créée. La séquence constitue l'historique complète du comportementde l'expert durant la partie de jeu.

x y powerUp northWall southWall eastWall westWall ghost0 ghost1 ghost2 ghost3 nearestGhost nearestEdibleGhost nearestPowerDot nearestDot

t1, E1, a1

t2, E2, a2

tn, En, an

..., ..., ...

..., ..., ...

Épisode de jeu = [t,E,a]

État de l'environnement de jeu

Séquence de jeu

ActionTime

Figure 3.7 � Séquence de jeu

3.4 Résultats

Pour les besoins de nos expérimentations, nous avons mené un entraînement consis-tant à jouer 33 parties de jeu qui ont permis de générer progressivement 33 séquencesde jeu avec un total de 29552 épisodes (�gure 3.8).

Parties de jeu Séquences de jeu Épisodes de jeu

5 5 6768

10 10 11575

15 15 15889

20 20 19751

25 25 23376

33 33 29552

Figure 3.8 � Génération progressive des séquences de jeux

Les particularités liées à l'entraînement sont les suivantes :

Page 53: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 3. Acquisition des séquences de jeux 44

• L'entraînement a été mené uniquement sur le premier niveau du jeu.

• Les séquences de jeux sont générées d'une manière progressive(�gure 3.8). Chaquepartie de jeu aboutit à la génération d'une séquence qui traduit le comportementde l'expert durant cette partie. Cette séquence est ensuite ajoutée à l'ensembledes séquences de jeux déjà créées 17.

• La qualité des séquences de jeux est fortement limitée aux performances de l'ex-pert. Notre objectif n'étant pas d'avoir un niveau de jeu professionnel, les sé-quences seront utilisées telles qu'obtenues.

La �gure 3.9 montre les performances de l'expert 18 durant la génération des séquencesde jeux. Notons que sur les 33 parties de jeu, une seule a pu compléter le premier niveausoit un score de 10350 points.

Score - Min Score - Moyen Score - Max Temps moyen (ms)

3810 7075,15 10350 185091,55

Figure 3.9 � Performance de l'expert durant la génération des séquences de jeux

L'ensemble des séquences de jeu obtenues constitue l'expérience acquise durant l'en-traînement. C'est à partir de cette expérience qu'est construit les diagrammes états-transitions. Les diagrammes états-transitions construits seront évalués par rapport àces performances de l'expert.

3.5 Conclusion

Nous venons de présenter l'approche que nous avons développée pour acquérir desséquences de jeux. Après plusieurs parties de jeux, nous avons recueilli des séquences dejeux utilisées pour créer automatiquement des diagrammes états-transitions. Le chapitresuivant donne les détails sur la construction des diagrammes états-transitions à partirdes séquences de jeux.

17. Les séquences de jeux des parties antérieures.18. Pour une partie de jeu.

Page 54: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 4

Construction de diagrammes

états-transitions

4.1 Introduction

L'entraînement a permis de constituer une base d'expériences composée de sé-quences de jeux. Cette base représente le comportement de l'agent durant l'entraî-nement. L'étape qui suit consiste à construire des politiques à partir de l'expérienceacquise. Di�érents types de politiques peuvent être développés en utilisant des tech-niques variées [29]. Pour le cas présent, nous avons choisi de construire des diagrammesétats-transitions. De manière concrète, l'objectif est de structurer un diagramme états-transitions à partir des séquences de jeux précédemment produites. Le diagrammeconstruit est utilisé pour jouer des parties de jeux en temps réel. Nous présentonsd'abord les particularités du problème, nous passerons ensuite à la stratégie adoptée.

4.2 Particularités du problème

Les particularités de notre problème sont les suivantes :

• Les états et les transitions proviennent des séquences de jeux.

• Nous savons à tout moment dans quel état est le personnage puisque le domaineest totalement observable.

Page 55: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 4. Construction de diagrammes états-transitions 46

• Chaque transition relie deux états et va dans une seule direction.

• Les transitions comportent des conditions portant sur la con�guration du plateaude jeux ainsi que les décisions (actions) prises par le personnage.

• Comme les actions sont déterministes et que l'état du jeu est connu, on considèreégalement que les transitions sont déterministes.

• Autrement dit, pour une position du personnage et pour une con�guration de jeu,une seule transition peut-être sélectionnée.

• Donc, la structure du diagramme est déterministe (pas de probabilité) et compor-tementale (pas de fonction d'utilité).

4.3 Approche préconisée

4.3.1 Construction d'un diagramme états-transitions

Pour résoudre les aspects liés à la construction d'un diagramme états-transitions,nous préconisons une approche qui consiste à utiliser les possibilités o�ertes par leraisonnement à base de cas.

Nous avons vu que le raisonnement à base de cas permet de mémoriser et de réutiliserl'expérience acquise lors de l'utilisation d'un système informatique. Si nous considéronsque les séquences de jeux constituent l'expérience acquise lors des parties de jeux 1,l'utilisation du raisonnement à base de cas est justi�é.

Concrètement, nous proposons d'approximer les épisodes de jeux par des cas (ins-tances) qui indiquent les décisions du personnage et le contexte de jeu. La mise en÷uvre de l'approche suit le processus illustré à la �gure 4.1.

1. En e�et, les séquences de jeux caractérisent le comportement du démonstrateur durant les partiesde jeux.

Page 56: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 4. Construction de diagrammes états-transitions 47

Diagramme états-transitions

Base

de

cas

Séquences de jeux

Acquisition des cas

Construction

Figure 4.1 � Construction d'un diagramme états-transitions brut

Si nous considérons tout le processus dans son ensemble, nous commençons parcréer une base de cas à partir des séquences de jeux. Ensuite, nous construisons undiagramme états-transitions à partir du contenu de la base de cas qui vient d'être créée.Le processus s'articule donc autour des opérations suivantes :

1. Acquisition des cas : à partir des séquences de jeux, nous construisons une basede cas. Initialement, un cas est formé pour chaque épisode de jeu.

2. Structuration d'un diagramme états-transitions : à partir de la base de cas, nousdéterminons les états et les transitions qui composent la structure de diagrammeétats-transitions.

Pour la suite, nous donnons les détails pour chacune des opérations.

4.3.1.1 Acquisition des cas

Au terme d'un processus d'acquisition des cas à partir des séquences de jeux, unenouvelle base de cas est formée. Initialement, nous formons un cas pour chaque élémentdes séquences de jeux. Ainsi, si nous disposons de n épisodes de jeux, n cas seront consti-tués. L'opération est illustrée à la �gure 4.2. Au chapitre 5, nous étudierons d'autrescorrespondances entre cas et épisodes de jeux. Dans le cycle de raisonnement CBR,l'acquisition des cas s'apparente au processus de construction d'un système de raison-nement CBR.

Page 57: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 4. Construction de diagrammes états-transitions 48

Séquences de jeux

t1, E1, a1

t2, E2, a2

tn, En, an

..., ..., ...

..., ..., ...

Acquisition des cas

Cas 1 : [t1, E1, a1]

Cas 2 : [t2, E2, a2]

Cas n : [tn, En, an]

..., ..., ...

..., ..., ...

Base de cas

Figure 4.2 � Processus d'acquisition des cas

4.3.1.2 Structuration d'un diagramme états-transitions

La mise en place d'une structure de diagramme états-transitions implique de dé-terminer les deux principales composantes de cette structure à savoir les états et lestransitions. Dans notre approche, nous avons décidé d'approximer les épisodes de jeuxpar des cas. Ainsi, à partir du contenu dans la base de cas, nous suivons initialementles étapes suivantes :

1. Parcourir la base de cas pour déterminer les états de base.

2. Ajouter les états dans le diagramme états-transitions.

3. Pour chaque état du diagramme

(a) Balayer la base de cas a�n d'identi�er les transitions associées à l'état.

(b) Ajouter les transitions dans la structure de diagramme états-transitions.

Les principales étapes consistent donc à déterminer les états de base et les transitionsde base.

Déterminer les états de base

Nous considérons que les états sont déterminés par un sous-ensemble des attributsdécrivant une con�guration du plateau de jeu :

• Dans les séquences de jeux que nous avons étudiées, nous avons déterminé que lesétats sont caractérisés par les positions (x, y) sur le plateau.

Page 58: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 4. Construction de diagrammes états-transitions 49

• Ainsi, il y a initialement un état correspondant à chaque position sur le plateau.

• A chaque état est associé un ensemble de transitions qui partent de ce dernier.

Déterminer les transitions de base

Les transitions de base comportent quatre éléments qu'il faudra préciser :

• L'état en entrée qui correspond à la position du personnage sur le plateau.

• L'état en sortie qui est déterminé par l'action prise. Comme les actions sont déter-ministes, les états résultants des actions sont connus avec certitude. Par exemple,un déplacement vers la droite à partir de l'état correspondant à la position (2, 2)

mène à l'état correspondant à la position (3, 2).

• Des conditions qui correspondent aux valeurs d'attributs de la con�guration dejeu qui ne font pas partie de la description de l'état 2. Les conditions servent àdéterminer si la transition peut être activée et ainsi accéder à l'état en sortie.

• L'action à exécuter si la transition est déclenchée.

Nous conservons toutes les transitions. Ainsi, nous retrouvons plusieurs transitions entrechaque paire d'états. Bien que les états en entrée soient les mêmes, les conditions detransitions sont di�érentes. La �gure 4.3 illustre la formulation d'une transition à partird'un cas.

Cas = [t, E, a]

Transition = [x1,y1], [attribut1, attribut2,..., attributn], [x2,y2], action

État en sortie

Conditions

Cas 1 : [t1, E1, a1]

Cas 2 : [t2, E2, a2]

Cas n : [tn, En, an]

..., ..., ...

..., ..., ...

Base de cas

État en entrée

Figure 4.3 � Formulation d'une transition à partir d'un cas

2. Par exemple, la position des adversaires et des autres objets.

Page 59: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 4. Construction de diagrammes états-transitions 50

4.3.2 Utilisation d'un diagramme états-transitions

Comme nous l'avons déjà précisé, les diagrammes états-transitions sont des struc-tures de prise de décision utilisées pour contrôler des personnages de jeu. Plus précisé-ment, face à une observation de l'environnement de jeu, les diagrammes états-transitionsindiquent la décision à prendre étant donné l'état courant du personnage. Ainsi, l'uti-lisation de ces structures pour jouer consiste d'abord à déterminer l'état courant dupersonnage et ensuite, il faut trouver la transition à appliquer.

Pour le cas présent, l'utilisation d'un diagramme états-transitions (algorithme 5)correspond à un processus de prise de décision global intégrant un cycle de raisonne-ment CBR. Le cycle de raisonnement CBR utilisé contient deux phases du raisonnementà base de cas à savoir la recherche et la réutilisation. Les phases de révision et d'ap-prentissage ne font pas partie intégrante du cycle de raisonnement utilisé dans cetteapproche.

Algorithme 5 utilisation-Diagramme-États-Transitions(etatDuJeu, baseDeCas)entrées : etatDuJeu, con�guration du plateau de jeu

baseDeCas, une base de cas construit avec les séquences de jeuxvariables : etatCourant, une position sur le plateau de jeu, initialisé à zéro

k, le nombre de plus proche voisin à considérertransition, un vecteur, initialement videaction, l'action proposée par une transition

// RechercheetatCourant ← déterminer-État-Courant(etatDuJeu)transition ← choix-Transition-à-Appliquer(k, etatCourant, etatDuJeu, baseDeCas)

//Réutilisationaction ← déterminer-Action(transition)exécuter-Action-proposée(action)

En analysant l'algorithme 5, nous voyons que l'utilisation du diagramme états-transitions suit trois étapes principales étapes à savoir la détermination de l'état courantdu personnage, le choix de la transition à appliquer et en�n l'exécution de l'action pro-posée par la transition choisie. Nous donnons des détails pour ces étapes.

Page 60: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 4. Construction de diagrammes états-transitions 51

0 1 2 3 4 5 6 7 8 9 10 11 …

1

2

3

4

5

6

7

8

9

10

11

12

13

État du personnage position (6,5)

Figure 4.4 � Exemple - État d'un personnage

4.3.2.1 Déterminer l'état actuel du personnage

L'objectif à cette étape est d'analyser, conformément à la stratégie que nous avonsadoptée, le vecteur décrivant la con�guration de l'environnement de jeu a�n de dé-terminer les attributs qui caractérisent l'état du personnage. Précisément, il s'agit dedéterminer la cellule ou la position du personnage 3. Cette tâche est triviale car elle nenécessite pas d'opérations complexes. Illustration avec l'exemple à la �gure 4.4

4.3.2.2 Choix de la transition à appliquer

Le choix de la transition à appliquer consiste à trouver la transition dont les condi-tions sont les plus similaires à la con�guration actuelle du plateau de jeu. Pour cela,nous utilisons l'algorithme des plus proches voisins (voir section 2.6). L'algorithme ef-fectue un balayage de la base de cas 4 et évalue la similarité entre les conditions destransitions et la description de la con�guration de l'environnement. L'algorithme �ltreles résultats pour ne retourner que les k cas les plus similaires étant donnée une fonctionde similarité.

La fonction de similarité utilisée est une métrique de distance appelée distance deHamming. La distance de Hamming notée D(x, y) entre deux vecteurs d'attributs x ety correspond au nombre d'attributs sur lesquels x et y di�èrent (�gure 4.5) [41].

3. La position est caractérisée par les valeurs des attributs (x, y).4. Il ne faut pas oublier que nous avons approximé les transitions par des cas.

Page 61: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 4. Construction de diagrammes états-transitions 52

Considérons deux vecteurs d'attributs : x = (x1, . . . , xn) et y = (y1, . . . , yn), la distancede Hamming est donnée par :

D(x, y) = |{i ∈ {1, . . , n} : xi 6= yi}|

Figure 4.5 � Distance de Hamming

Pour le cas présent, la similarité entre un vecteur décrivant une nouvelle observa-tion de l'environnement et un vecteur caractérisant les conditions d'une transition estéquivalent au nombre d'attributs sur lesquels les valeurs di�èrent. Concrètement, pourchacun des attributs caractérisant la con�guration du plateau de jeu (�gure 3.5), nousdé�nissons une métrique de comparaison (�gure 4.6).

Attribut Type Valeur Métrique de comparaison

x,y Numérique {x ∈ N |0 ≤ x ≤ 300} Test d'égalitépowerUp Symbolique {True, False } Test d'égaliténorthWall Symbolique {True, False } Test d'égalitésouthWall Symbolique {True, False } Test d'égalitéeastWall Symbolique {True, False } Test d'égalitéwestWall Symbolique {True, False } Test d'égalitéghost0 Numérique {x ∈ N | 0 ≤ x ≤ 100 } Test d'égalitéghost1 Numérique {x ∈ N | 0 ≤ x ≤ 100 } Test d'égalitéghost2 Numérique {x ∈ N | 0 ≤ x ≤ 100 } Test d'égalitéghost3 Numérique {x ∈ N | 0 ≤ x ≤ 100 } Test d'égalité

nearestGhost Numérique {x ∈ N | 0 ≤ x ≤ 100 } Test d'égaliténearestEdibleGhost Numérique {x ∈ N | 0 ≤ x ≤ 100 } Test d'égalité

nearestPowerDot Numérique {x ∈ N | 0 ≤ x ≤ 100 } Test d'égaliténearestDot Numérique {x ∈ N | 0 ≤ x ≤ 100 } Test d'égalité

Figure 4.6 � Métrique de comparaison des attributs

Ensuite, pour e�ectuer évaluer la similarité entre deux vecteurs d'attributs, nouscommençons par un calcul au niveau local et les résultats obtenus déterminent la simi-larité globale. La similarité locale est calculée en e�ectuant des tests d'égalité au niveaude chaque attribut. Quant à la similarité globale, elle correspond au nombre d'attributspour lesquels les tests d'égalité ont été négatifs (Exemple à la �gure 4.7).

Page 62: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 4. Construction de diagrammes états-transitions 53

Attibut Observation Transition Distance de Hamming

x 15 15

y 20 20

powerUp True True

northWall True True

southWall False False

eastWall False False

westWall False False

ghost0 24 24

ghost1 15 15

ghost2 19 19

ghost3 5 5

nearestGhost 15 15

nearestEdibleGhost 5 5

nearestPowerDot 5 12

nearestDot 3 7

2

Figure 4.7 � Exemple - Calcul de la distance de Hamming

Nous précisons également que la recherche est restreinte sur les cas dont l'état enentrée correspond à l'état courant du personnage. Ceci permet de réduire le temps derecherche. Aussi, dans toutes nos expérimentations, nous considérons uniquement le casle plus similaire, c'est à dire une valeur de k = 1.

4.3.2.3 Gestion de la performance

Il ne su�t pas de développer des politiques à partir des séquences de jeux, encorefaut-il que ces politiques puissent fournir des performances acceptables. Notre objectifest que le diagramme états-transitions obtenu permette de jouer à un bon niveau de jeu(similaire à celui de l'entraîneur) tout en respectant les contraintes de temps de jeu. Cesdeux forces s'opposent car un diagramme détaillé donnera probablement de meilleursrésultats. Or, la structure risque d'être trop lourde puisque le nombre d'états et detransitions est élevé. De plus, un diagramme trop complexe sera di�cile à comprendrepour un analyste humain.

La qualité des politiques dérivées est presque entièrement dépendante de l'informa-tion contenue dans la base d'expériences. Plus on dispose d'informations de qualité,meilleurs seront les cas dérivés. Si on considère notre étude, les performances serontcertainement liées à l'information fournie par les séquences de jeux. D'une part si labase d'expérience est pauvre, les diagrammes résultants seront moins performants. Del'autre, si les informations contenues dans les séquences de jeux sont de bonne qualité,les diagrammes obtenus donneront sûrement de bons résultats.

Page 63: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 4. Construction de diagrammes états-transitions 54

C'est dans ce contexte et dans le but de construire un diagramme états-transitionsassez compact et qui donne de bons résultats que nous avons entrepris d'e�ectuer desexpérimentations a�n de comparer la performance de trois con�gurations suivantes :

1. Diagramme brut : on utilise toutes les transitions et tous les états acquis pardémonstration.

2. Transitions réduites : on comprime le nombre de transitions de chaque état avecun algorithme de compactage de base de cas.

3. États réduits : on fusionne des états ensembles a�n de réduire leurs nombres.

Pour chacune de ces con�gurations, nous donnerons la stratégie adoptée pour construirele diagramme correspondant ainsi que les résultats obtenus lors des expérimentations.

4.3.2.4 Métriques d'évaluation de la performance

Nous menons nos expérimentations sur le jeu Pacman. Le but de ce jeu est de maxi-miser le nombre de points obtenus tout en restant en vie. Nous considérons alors lescore comme une métrique d'évaluation de la performance du diagramme obtenu. Éga-lement, comme le nombre d'états et de transitions est élevé, le diagramme obtenu risqued'être trop lourd. Ceci risque probablement d'occasionner des temps de traitement éle-vés. Ainsi, en plus du score nous proposons également de considérer le tempsmoyen

d'une partie de jeu.

4.4 Construction d'un diagramme états-transitions brut

Nous avons établi qu'un diagramme états-transitions brut contient toutes les tran-sitions et tous les états du domaine. Par conséquent, ces contraintes doivent être prisesen compte dans le processus de construction de ce type de diagramme.

Pour construire un diagramme états-transitions brut, nous considérons la totalitéde la base de cas et nous structurons le diagramme en suivant la stratégie présentée àla section 4.3.1. La �gure 4.8 donne la con�guration du diagramme obtenu à la �n duprocessus.

Page 64: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 4. Construction de diagrammes états-transitions 55

Score - Moyen Score - Max Score - Min Temps moyen (ms)

5944 10270 2400 307405,4

Figure 4.9 � Score obtenu avec le diagramme états-transition brut

États Transitions

300 29552

Figure 4.8 � Con�guration du diagramme états-transitions brut

4.4.1 Expérimentations

Avant de commencer les expérimentations et pour les besoins des tests qui serontréalisés ultérieurement, nous avons ajouté un attribut supplémentaire dans la descrip-tion d'une transition 5 :

• La fréquence d'utilisation d'une transition : l'attribut a été ajouté surchaque transition. A chaque fois qu'une transition est déclenchée, la valeur del'attribut est incrémentée. Ainsi, à la �n des parties de jeux réalisées avec le dia-gramme brut, nous serons en mesure d'avoir le nombre de fois qu'une transitiona été utilisée.

L'expérimentation a consisté à utiliser le diagramme états-transitions brut pour jouer200 parties de Pacman en suivant la stratégie présentée à la section 4.3.2. Les résultats 6

obtenus sont donnés à la �gure 4.9. Ces résultats serviront de point de référence pourles autres con�gurations de diagrammes états-transitions qui seront construits.

4.5 Construction d'un diagramme états-transitions avec

transitions réduites

Nous pensons que les performances d'un diagramme états-transitions sont dépen-dantes du nombre de transitions présentes dans le diagramme. Plus le nombre de transi-tions est élevé, plus grandes sont les situations di�érentes qui peuvent être résolues par

5. L'attribut n'est pas considéré dans la calcul de la similarité lors de la phase de recherche.6. Pour une partie de jeu.

Page 65: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 4. Construction de diagrammes états-transitions 56

le diagramme. Également, nous pensons que l'augmentation de la taille du diagrammeva engendrer la hausse du temps de traitement caractérisé par la durée des parties dejeux. Cette augmentation est directement liée au coût de la recherche de la transitionà appliquer.

Dans notre travail, nous avons comme objectif de construire des diagrammes états-transitions assez compact et qui donnent de bons résultats. Pour atteindre cette objectif,la réduction du nombre de transitions entre les états semble être une bonne avenue àexplorer.

Pour tenter de répondre à toute ces questions, nous construisons des diagrammesétats-transitions avec un nombre réduit de transitions et nous analysons leurs compor-tements à travers des expérimentations.

4.5.1 Stratégie adoptée

Dans notre approche de construction des diagrammes états-transitions (section 4.3.1),les diagrammes sont construits à partir de cas acquis à partir des séquences de jeux. Ini-tialement, pour chaque épisode faisant parties des séquences de jeux, un cas a été formé.Par conséquent et vu la façon dont nous avons déterminé les transitions de base (sec-tion 4.3.1.2), nous disposons d'autant de transitions que de cas. Si notre objectif est deréduire le nombre de transitions, nous devons absolument passer par la réduction descas.

La stratégie (�gure 4.10) que nous proposons est d'intégrer une phase de main-tenance de la base de cas dans le processus de construction des diagrammes états-transitions. Le but est de diminuer la taille de la base de cas à travers des suppressionsde cas. Le diagramme résultant étant construit avec moins de cas, il va donc contenirmoins de transitions.

Page 66: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 4. Construction de diagrammes états-transitions 57

Séquences de jeux

t1, E1, a1

t2, E2, a2

tn, En, an

..., ..., ...

..., ..., ...

Acquisition des cas

Cas 1 : [t1, E1, a1]

Cas 2 : [t2, E2, a2]

Cas n : [tn, En, an]

..., ..., ...

..., ..., ...

Base de cas

Maintenance

Diagramme états-transitions Transitions réduites

Construction

Figure 4.10 � Constructions d'un diagramme états-transitions - Transitions réduites

4.5.2 Maintenance de la base de cas

L'objectif est d'optimiser la base de cas en passant par la réduction de la taille decette dernière. Pour réaliser la maintenance de la base de cas, nous avons choisi d'ex-périmenter deux stratégies inspirées de [20] : l'ajout progressif de cas et la suppressionprogressive de cas.

4.5.2.1 Ajout progressif de cas

La stratégie d'ajout de cas consiste à construire une base de cas réduite en partantd'une base de cas vierge en ajoutant successivement des cas choisis dans la base de casinitiale. Le cas choisi donne la valeur maximale par rapport à un critère déterminé.

Pour matérialiser cette stratégie, nous avons considéré la méthode proposée parSmyth et McKenna [50]. Ces deux auteurs ont proposé de construire une base de casen utilisant l'algorithme des plus proches voisins (CNN) associé à une mesure qui seraappliquée pour chaque cas a�n de décider s'il faut l'ajouter ou non dans la nouvellebase de cas. La mesure (Relative coverage) donne la contribution locale d'un cas à

Page 67: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 4. Construction de diagrammes états-transitions 58

la compétence 7 globale de la base de cas. Dans la base de cas d'origine, les cas sontrangés suivant cette mesure et l'algorithme CNN est utilisé pour construire une basede cas réduite. Pour décider s'il faut ajouter un cas dans la nouvelle base de cas, cedernier est comparé à tous les autres cas et il est ajouté si et seulement si la plus grandesimilarité obtenue est inférieure à un seuil �xé. L'objectif est de construire une base decas contenant les cas les plus représentatifs de la base de cas originale et qui sont situésdans des régions di�érentes. Ceci permet d'avoir une base de cas réduite mais avec unebonne compétence.

Pour les besoins de nos expérimentations, nous avons mis en place un algorithmehybride (algorithme 6) basé sur cette stratégie. Nous commençons par créer une nouvellebase de cas et nous rangeons les cas contenus dans la base de cas initiale suivant uncritère déterminé. Dans la base de cas ordonnée, nous comparons chaque cas avec les cascontenus dans la nouvelle base de cas. Si la plus grande similarité trouvée est inférieureà un seuil �xé, nous ajoutons le cas dans la nouvelle base de cas et nous le supprimonsde la base de cas initiale. En d'autres mots, un cas est ajouté dans la nouvelle base decas si et seulement si ce dernier ne peut être résolu par un cas déjà présent dans la baseétant donné un degré de similarité déterminé. Pour les besoins de nos expérimentations,nous allons considérer di�érents seuils de similarité. L'opération se poursuit jusqu'à ceque toute la base de cas initiale soit traitée.

Algorithme 6 ajout-Progressif-Cas(caseBase1, critere, seuil)retourner une base de casentrées : caseBase1, la base de cas initiale

critere, critère à considérer dans l'ordonnancement de la base de casseuil, seuil à considérer dans le calcul de la similarité

variables : caseBase2, une base de cas, initialement videcaseBase3, une base de cas, initialement videsim, similarité entre deux cas, initialement vide

caseBase2 ← arranger-Base-De-Cas(caseBase1, critere)Pour chaque cas dans caseBase2 fairesim ← trouver-La-Plus-Grande-Similarité(cas, caseBase3)Si sim < seuil alorsajouter-Cas(cas, caseBase3)supprimer-Cas(cas, caseBase2)

retourner caseBase3

L'algorithme tient compte des spéci�cités liées aux objectifs que nous voulons at-

7. Pour plus de précisions sur la compétence d'une base de cas, voir la section 2.5.3

Page 68: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 4. Construction de diagrammes états-transitions 59

teindre. Les critères qui seront considérés dans l'algorithme sont les suivants :

• La frequence d′utilisation : les cas sont triés suivant leurs fréquences d'utilisation.La fréquence d'utilisation de chaque cas a été obtenue durant la phase d'expéri-mentation avec le diagramme brut (section 4.1).

• La densite : les cas sont rangés suivant la densité locale de chaque cas. A ladi�érence du premier critère, la densité de chaque cas n'a pas été calculée durantles parties de jeux. En e�et, on a fait un balayage de la base de cas et pour chaquecas nous avons calculé la densité moyenne de son voisinage, c'est à dire la similaritémoyenne de ces voisins les plus proches. Nous considérons que le voisinage d'uncas est constitué par le groupe de cas qui appartiennent à la même position 8. Laformule utilisée est celle proposée par Smyth et McKenna [49]. La densité localed'un cas c ∈ C dans un groupe de cas G ⊆ C est donnée par l'équation :

CaseDensity(c,G) =∑

c′∈G−{c} Sim(c, c′)

|G|−1

Pour mesurer la similarité entre un cas x et chaque cas y contenus dans la nouvellebase de cas, nous utilisons une distance métrique D(x, y). La mesure de distance quenous utilisons est la distance de Hamming [41] qui dé�nit D(x, y) comme le nombred'attributs sur lesquels x et y di�èrent. La stratégie de calcul est la même que celledétaillée à la section 4.3.2.

Résultats

Les résultats après les opérations de maintenance sont donnés à �gure 4.11. Ces résultatsmontrent l'évolution de la taille de la nouvelle base de cas suivant un seuil de similaritédéterminé. Une analyse de ces résultats permet de ressortir un aspect important enrapport avec la taille de la nouvelle base de cas. En e�et, nous pouvons noter que pourl'ensemble des critères, le nombre de cas ajouté à chaque seuil est quasiment le même.

8. Les valeurs des attributs x et y sont identiques.

Page 69: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 4. Construction de diagrammes états-transitions 60

02000400060008000

100001200014000160001800020000220002400026000280003000032000

0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 0,95 1

Taill

e d

e la

no

uve

lle b

ase

de

cas

Seuil de similarité

Ajout de cas - Fréquence utilisation

Ajout de cas - Densité

Base de cas initiale

Densité Fréquence d'utilisation

0,1 300 300

0,2 549 542

0,3 567 564

0,4 866 942

0,5 1652 1720

0,6 4342 4561

0,7 8229 8481

0,8 11350 11536

0,9 14123 14241

0,95 18470 18470

1 18471 18471

Taille de la nouvelle base de cas

Critère de rangementSeuil de similarité

Figure 4.11 � Ajout progressif de cas - Variation de la taille de la nouvelle base de cas

Nous pourrions alors nous demander si les cas ajoutés sont identiques pour lesdi�érents critères ? Étant donné le nombre élevé de cas, il est di�cile de répondre àcette question. Cependant, nous pensons que l'analyse des résultats produits par lesdiagrammes états-transitions dérivés sera un moyen de répondre à cette question.

4.5.2.2 Suppression progressive de cas

La stratégie consiste d'abord à évaluer les cas suivant un critère. C'est sur critèreque se base la suppression de cas dans l'objectif de ramener la base de cas à une tailledéterminée. Pour cette stratégie, nous utilisons la méthode proposée par Minton [30] qui

Page 70: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 4. Construction de diagrammes états-transitions 61

consiste à oublier les cas les moins utilisés en se basant sur la fréquence d'utilisation dechaque cas. Pour matérialiser la stratégie, nous suivons l'algorithme 7. Nous éliminonsprogressivement un pourcentage déterminé de cas les moins utilisés. Nous commençonspar éliminer 10 % des cas les moins utilisés et nous évoluons jusqu'à 100 % des cas.L'évolution de la structure de la base de cas est donnée à la �gure 4.12.

Algorithme 7 suppression-Progressive-Cas(caseBase1, critere, quantite)retourner une base de casentrées : caseBase1, la base de cas initiale

critere, critère à considérer dans l'ordonnancement de la base de casquantite, la quantité de cas à supprimer, en terme de pourcentage

variables : caseBase2, une base de cas, initialement vide

caseBase2 ← arranger-Base-De-Cas(caseBase1, critere)supprimer-Cas-Moins-Utilises(caseBase2, quantite)retourner caseBase2

% de cas à supprimer Taille de la base de cas Cas supprimés

10 26460 3092

20 23517 6035

30 20547 9005

40 17607 11945

50 14693 14859

60 11695 17857

70 8732 20820

80 5785 23767

90 2819 26733

Suppression de cas basée sur la fréquence d'utilisation d'un cas

Figure 4.12 � Suppression progressive de cas - Variation de la taille de la base de cas

4.5.3 Structuration d'un diagramme états-transitions avec tran-

sitions réduites

Les opérations de maintenance ont abouti à la formation de di�érentes bases decas de tailles réduites. Pour chacune des bases de cas, un diagramme états-transitionsest construit suivant la stratégie adoptée à la section 4.3.1. Le nombre de diagrammesobtenus ainsi que leurs con�gurations sont donnés à la �gure 4.13.

Page 71: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 4. Construction de diagrammes états-transitions 62

# Etats Transitions

1 300 26460

2 300 23517

3 300 20547

4 300 17607

5 300 14693

6 300 11695

7 300 8732

8 300 5785

9 300 2819

Diagramme

Suppression progressive de cas

# Etats Transitions Etats Transitions

1 300 18470 300 18470

2 300 14123 300 14241

3 300 11350 300 11536

4 300 8229 300 8481

5 300 4342 300 4561

6 300 1652 300 1720

7 300 866 300 942

8 300 567 300 564

9 300 549 300 542

10 300 300 300 300

Ajout progressif de cas

Fréquence utilisation

Diagramme

Densité

Figure 4.13 � Diagrammes états-transitions - Transitions réduites

4.5.4 Expérimentations

Des expérimentations sont menées avec chacune des con�gurations de diagrammesétats-transitions. Les expérimentations consistent à utiliser chaque con�guration dediagramme états-transitions pour jouer deux cents parties de jeux et à évaluer la valeurmoyenne des critères retenus pour l'évaluation de la performance à savoir le score et letemps moyen d'une partie de jeu.

4.5.4.1 Interprétation des résultats

Chaque méthode de maintenance de base de cas a permis de créer des structures dediagrammes états-transitions avec un nombre réduit de transitions. La comparaison derésultats produits par ces diagrammes permet d'une part de trouver la con�gurationde diagramme qui produit les meilleurs résultats, et d'autre part elle permet de déter-miner la meilleure méthode de maintenance de la base de cas. Les résultats permettentégalement de valider ou d'invalider notre hypothèse qui était que les performancesd'un diagramme états-transitions sont dépendantes du nombre de transitions contenuesdans ce dernier. Aussi, l'analyse du comportement des diagrammes états-transitionsva permettre de savoir s'il est possible de construire des diagrammes états-transitionscompacts et qui donnent de bons résultats.

Page 72: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 4. Construction de diagrammes états-transitions 63

# Transition Score Temps de jeu Par rapport au démonstrateur Par rapport au diagramme Brut

Démonstrateur Ne s'applique pas 7075,15 307405,4 100% Ne s'applique pas

Diagramme brut 29552 5944 185091,55 84,01% 100%

18471 5900 307405,4 83,39% 99,26%

18470 5900,05 126985,6 83,39% 99,26%

14241 5924,65 119216 83,74% 99,67%

11536 5938,35 106544,7 83,93% 99,90%

8481 5213,8 99030 73,69% 87,72%

4561 4146,5 85058 58,61% 69,76%

1720 2069,9 73856 29,26% 34,82%

942 796,35 65607 11,26% 13,40%

564 616,15 55786 8,71% 10,37%

542 516,6 57078 7,30% 8,69%

300 343,95 61156 4,86% 5,79%

Ajout progressif de cas

Critère de tri -- Fréquence d'utilisation Performances - Score

Transitions réduites

(a) Ajout progressif de cas - Critère : Fréquence d'utilisation

# Transition Score Temps de jeu Par rapport à l'expert Par rapport au diagramme Brut

Démonstrateur Ne s'applique pas 7075,15 307405,4 100% Ne s'applique pas

Diagramme brut 29552 5944 185091,55 84,01% 100%

18471 5746,4 147156 81,22% 96,68%

18470 5748,6 147971 81,25% 96,71%

14123 5925,5 116982,95 83,75% 99,69%

11350 4475,45 96614,45 63,26% 75,29%

8229 4829,65 104376,75 68,26% 81,25%

4342 3720,35 73179,2 52,58% 62,59%

1652 1229 60338,9 17,37% 20,68%

866 362,25 75874 5,12% 6,09%

567 158,25 123457,85 2,24% 2,66%

549 135,65 125902,2 1,92% 2,28%

300 112,9 120886 1,60% 1,90%

Ajout progressif de cas

Critère de tri -- Densité Performances - Score

Transitions réduites

(b) Ajout progressif de cas - Critère : Densité

Par rapport à l'expert Par rapport au diagramme Brut

Démonstrateur Ne s'applique pas 7075,15 307405,4 100% Ne s'applique pas

Diagramme brut 29552 5944 185091,55 84,01% 100%

26460 5892,10 225900,35 83,28% 99,13%

23517 5866,50 204741,65 82,92% 98,70%

20547 5520,85 200451 78,03% 92,88%

17607 5763,00 175549,3 81,45% 96,95%

14693 5856,40 171182,95 82,77% 98,53%

11695 5727,85 148512,05 80,96% 96,36%

8732 5753,10 176633,8 81,31% 96,79%

5785 5610,20 106644,45 79,29% 94,38%

4149 5394,7 104591,99 76,25% 90,76%

2819 4978,85 94737,65 70,37% 83,76%

1312 1650 83295 23,32% 27,76%

Transitions réduites

Suppression progressive de cas

# Transition Score Temps de jeuPerformances - Score

(c) Suppression progressive de cas

Figure 4.14 � Transitions réduites - Comparaison des résultats : démonstrateur etdiagramme brut

Pour chaque con�guration de diagramme états-transitions, nous montrons le nombrede transitions qu'il contient, le pourcentage de ces transitions par rapport à la totalitédes transitions et en�n le score produit. Cette méthode nous permettra d'analyserl'impact de la diminution du nombre de transitions sur les performances d'un diagramme

Page 73: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 4. Construction de diagrammes états-transitions 64

états-transitions.

c du bon

0

1000

2000

3000

4000

5000

6000

7000

0 5000 10000 15000 20000 25000 30000 35000

Score

Transitions

Ajout de cas - Fréquence d'utilisation Ajout de cas - Densité

Suppression progressive de cas

Figure 4.15 � Transitions réduites - Performances des diagrammes états-transitions

Nous pouvons remarquer (Figure 4.14 et 4.15) que pour toutes les con�gurationsde diagrammes états-transitions, la diminution du nombre de transitions entraîne unedégradation des performances des diagrammes. En e�et, la diminution du nombre detransitions s'accompagne d'une baisse des scores. Cependant, nous voyons que le niveaude dégradation des performances di�ère suivant les con�gurations des diagrammes états-transitions. Pour les diagrammes construits avec l'ajout progressif de cas avec la densitécomme critère de tri, la dégradation se fait très rapidement. En e�et, à partir 11350transitions le score descend sous la barre des 5000 points. Or, pour l'ajout de cas aveccomme critère la fréquence d'utilisation, les scores obtenus ne tombent en dessous de labarre des 5000 points qu'à partir de 4561 transitions. De toutes les structures de dia-grammes états-transitions construites, celles qui résultent de la suppression progressivede cas avec comme critère la fréquence d'utilisation donnent de meilleures résultats. Ene�et, les résultats obtenus restent constants 9 même avec une suppression de plus de 90% de la totalité des transitions.

Ces résultats nous permettent également de répondre à l'interrogation qu'on s'étaitposé qui était de savoir si les cas ajoutés durant les phases de maintenance étaient lesmêmes pour les di�érents critères. En analysant ces résultats, nous sommes en mesure derépondre par le négatif. En e�et, le fait que les résultats obtenus ne soient pas identiquesmalgré un nombre quasi identique de cas prouve à su�sance que les cas contenus dans

9. Au dessus de la barre des 5000 points.

Page 74: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 4. Construction de diagrammes états-transitions 65

0

50000

100000

150000

200000

250000

300000

350000

0 5000 10000 15000 20000 25000 30000 35000

Te

mp

s d

e je

u (

en

mill

ise

con

de

s)

Transitions

Ajout de cas - Fréquence d'utilisationAjout de cas - DensitéSuppression progressive de cas

Figure 4.16 � Expérimentations - Transitions réduites - Temps de jeux

les di�érents base de cas sont di�érents.

En analysant les temps moyen de jeux, nous constatons également que la diminutiondu nombre de transitions engendre une baisse du temps moyen d'une partie de jeu et cecipour l'ensemble des structure de diagrammes états-transitions. Ceci montre qu'il existeune certaine corrélation entre le nombre de transitions contenus dans une structure dediagramme états-transitions et le temps de recherche de la transition à appliquer lors desparties de jeux. Cependant, il faut remarquer pour la méthode d'ajout progressif de casavec comme critère la fréquence d'utilisation ainsi que pour la méthode de suppressionprogressive de cas, cette diminution est linéaire et suit la diminution des scores. Enrevanche, ceci n'est pas le cas avec la méthode d'ajout progressif avec comme critère ladensité.

A partir de ces résultats, nous sommes en mesure de valider l'hypothèse plus généraleà savoir que le nombre de transitions dans un diagramme états-transitions in�uence lecomportement de ce dernier. En e�et, nous constatons que la variation du nombre detransitions engendre des changements sur le niveau des scores produits mais aussi pourles temps de traitement.

Notre objectif de construire un diagramme états-transitions plus compacts et quidonne de bons résultats a également était atteint. En e�et, nous pouvons remarquerplus particulièrement pour le diagramme issu de la suppression progressive de cas, queles scores produit restent relativement constant et proches des résultats du diagrammebrut malgré une suppression de plus de 90% des transitions.

Page 75: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 4. Construction de diagrammes états-transitions 66

4.6 Conclusion

Nous venons d'étudier une approche permettant d'une part, de construire des dia-grammes états-transitions à partir des séquences de jeux et d'autre part, d'utiliser lesdiagrammes construits pour contrôler un personnage de jeu. Les expérimentations quenous avons menées ont mis en évidence le fait que les performances des structures dediagramme états-transitions sont in�uencées par la quantité de transitions contenuesdans ces dernières. Une transition étant une des composantes principales d'un dia-gramme états-transitions, nous pensons que l'autre composante d'un diagramme états-transitions peut également in�uencer les performances de ce type de diagramme. Ainsi,dans le chapitre qui suit, nous analysons les possibilités d'agir sur les performances desdiagrammes états-transitions à travers la fusion des états qui le constituent.

Page 76: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 5

Construction d'un diagramme

états-transitions avec états réduits

Dans ce travail, nous tentons de construire des diagrammes états-transitions pluscompacts et qui donnent de bons résultats. Dans le chapitre précédent, nous avonsconstaté à travers des expérimentations que le nombre de transitions d'une structure dediagramme états-transitions in�uence les performances de ce dernier. Plus précisément,nous avons vu qu'il est possible de passer par la réduction du nombre de transitionsd'un diagramme pour en construire un plus compact et qui donne de bons résultats.

Dans ce chapitre, nous analysons la possibilité de travailler sur une autre compo-sante d'un diagramme états-transitions. Concrètement, nous étudions les possibilitésde fusionner les états ensemble a�n de réduire leur nombre. Nous pensons que la ré-duction du nombre d'états aura une in�uence sur les performances des diagrammescorrespondants.

La fusion des états va certainement engendrer des modi�cations dans la stratégiede structuration des diagrammes états-transitions. Par conséquent, nous allons établiret rendre e�ectifs les changements qui s'imposent. Le travail à réaliser comporte doncdeux étapes consécutives et pour chacune d'elles, nous donnons l'approche préconisée.Nous terminerons par des expérimentations sur le banc d'essai choisi en l'occurrence lejeu Pacman.

Page 77: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 5. Construction d'un diagramme états-transitions avec états réduits 68

5.1 Approche préconisée

L'analyse des séquences de jeux a permis de faire ressortir des aspects intéressantsqui peuvent être exploités. L'aspect le plus important est la séquentialité du jeu. Enanalysant le jeu, on peut remarquer que le comportement du Pacman consiste à sedéplacer sur une grille de jeu en changeant continuellement de position. Ainsi, du débutà la �n d'une partie de jeu, le comportement du Pacman peut se résumer en uneséquence de positions. Aussi, le comportement du Pacman fait parti d'un processus quise déroule dans le temps. Par conséquent, à l'aspect séquentiel du jeu, il faut ajouterl'aspect temporel contenu dans les épisodes de jeux. En e�et, chaque épisode de jeupossède une référence temporelle, c'est à dire le moment où il a été créé (voir �gure 3.6).

En tenant compte de l'aspect séquentiel et du contexte temporel du jeu, nous esti-mons que l'ensemble des séquences de jeux forme une suite ordonnée contenant l'histo-rique complet des états et des actions exécutées durant les parties de jeux. Nous pen-sons qu'une analyse de l'historique de jeu va permettre de trouver des sous-séquencesde positions qui semblent se suivre souvent et qui dénotent le fait qu'il y a peu devariations dans certaines régions du plateau de jeu. Si de telles sous-séquences existent,nous proposons de regrouper les positions correspondantes (Exemple d'illustrations àla �gure 5.1).

Fusion

0

1

2

3

a b c d

bc

bcd

abcd

Figure 5.1 � Exemple - Regroupement de positions .Dans cet exemple, les positions a, b, c, d sont successivement fusionnés jusqu'à former

un seul regroupement contenant toutes les positions.

Dans les séquences de jeux que nous avons étudiées (voir section 4.3.1.2), nous avonsdéterminé que les états sont caractérisés par les positions (x, y) sur le plateau de jeu.Ainsi, il y a un état correspondant à chaque position sur le plateau. Par conséquent,si des regroupements de positions sont réalisés, nous proposons de fusionner les états

Page 78: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 5. Construction d'un diagramme états-transitions avec états réduits 69

correspondants pour former des blocs d'états. Deux tâches sont donc à réaliser : créerdes regroupements de positions et rendre e�ectif la fusion des états en s'appuyant surles regroupements obtenus.

5.2 Regroupement de positions

Le regroupement de positions équivaut à rassembler des positions qui présentent descorrélations étant donnés des critères déterminés. Pour réaliser la tâche, nous préconi-sons une approche axée sur la classi�cation hiérarchique (section 2.7) combinée à deséléments de la théorie de l'information. Avant de passer à la mise en ÷uvre de l'approche,nous motivons le choix lié à l'utilisation des éléments de la théorie de l'information.

5.2.1 Motivations liées au choix de l'utilisation des éléments de

la théorie de l'information

Si nous considérons les principes du jeu, le comportement du Pacman peut se ré-sumer en une séquence de positions sur la grille de jeu. Si nous avons souvent unesous-séquence de positions qui conduit à une position notée i, se retrouver dans i de-vient moins incertain 1. Par contre, s'il existe peu ou pas de sous-séquences de positionsqui conduisent à i, se rendre dans la position i devient plus incertain 2. Nous donnonsun exemple dans le paragraphe qui suit.

Considérons six sous-séquences de positions correspondant à des déplacements dansla grille de jeu. Pour chacune des sous-séquences, nous dénombrons le nombre d'appa-rition. En considérant les résultats obtenus, nous remarquons qu'il est plus probable dese retrouver dans la position (6, 6) si la sous-séquence précédente est (4, 5)→ (5, 5)→(6, 5). En revanche, si nous considérons la sous-séquence (5, 8) → (6, 8) → (6, 7), nousnotons un nombre très faible de fois où elle apparaît directement suivie par la po-sition (6, 6). Par conséquent, il est moins probable de se retrouver dans (6, 6) si lasous-séquence précédente est (5, 8)→ (6, 8)→ (6, 7). L'exemple est illustré à �gure 5.2.

1. Étant donnée la suite de positions, la probabilité de se rendre dans la position i est plus grande.2. Étant donnée la suite de positions, la probabilité de se rendre dans la position i est petite.

Page 79: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 5. Construction d'un diagramme états-transitions avec états réduits 70

0 1 2 3 4 5 6 7 8 9 10 11 …

1

2

3

4

5

6

7

8

9

10

11

12

13

Sous-séquence 2 : (4,5) -> (5,5) -> (6,5) -> (6,4)Sous-séquence 1 : (4,5) -> (5,5) -> (6,5) -> (6,6)

Sous-séquence 5 : (5,8) -> (6,8) -> (6,7) -> (6,8)Sous-séquence 6 : (5,8) -> (6,8) -> (6,7) -> (6,6)

Sous-séquence 3 : (8,5) -> (7,5) -> (6,5) -> (7,4)Sous-séquence 4 : (8,5) -> (7,5) -> (6,5) -> (6,6)

Sous-séquence Degré d'apparition Probabilité

1 40 0,6557377

2 2 0,03278689

3 3 0,04918033

4 10 0,16393443

5 5 0,08196721

6 1 0,01639344

Total 61

Dénombrement des sous-séquences

Figure 5.2 � Exemple d'illustration - Incertitude de se retrouver dans une position dela grille de jeu.

Maintenant si nous considérons les séquences de jeux obtenues après entraînement,ces dernières permettent-elles d'évaluer l'incertitude de se retrouver dans une positiondu plateau de jeu ? Pour répondre à cette question, il nous faut trouver un moyend'analyser le niveau de désordre dans les séquences de jeux. Pour ce faire, nous proposonsd'utiliser l'entropie et l'entropie conditionnelle.

Comme nous l'avons vu à la section 2.8, l'entropie mesure l'incertitude qui existesur une variable aléatoire. L'entropie conditionnelle quant à elle mesure l'incertitudequi reste sur une variable aléatoire étant donnée la connaissance d'une autre variablealéatoire. Intégrons ces concepts dans le contexte de notre travail, plus précisément, lejeu Pacman. Pour cela, considérons :

1. Une variable aléatoire X, "Aller dans une position de la grille de jeu". L'entro-pie de X notée H(X) va donner une mesure de l'incertitude que l'on a sur X.Plus une position est prévisible, moins élevée sera la mesure de l'entropie. Nousavons également vu qu'il est possible de réduire l'entropie par le conditionnement.La question est alors de savoir quelle forme de conditionnement introduire pourdiminuer l'entropie ? Si nous disposons de l'historique complet du jeu, nous pour-rions exploiter les relations entre le fait d'aller dans une position et les positionsparcourues précédemment. Ceci nous amène à introduire une nouvelle variablealéatoire.

2. Une variable aléatoire Y , "Position précédente à une position de la grille de jeu".L'entropie conditionnelle H(X|Y ) mesure l'incertitude moyenne qui reste sur X

Page 80: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 5. Construction d'un diagramme états-transitions avec états réduits 71

lorsque Y est connue. En d'autres mots, il s'agit de l'incertitude qui reste sur lefait de se retrouver dans une position si on connait la précédente position. Nousrappelons que l'entropie conditionnelle [13] de X sachant Y est dé�nie par :

H (X | Y ) =∑

y H (X | Y = y) .p (y)

Nous pensons que l'utilisation de ces deux mesures est un moyen e�cace pour cal-culer le niveau de désordre dans les séquences de jeux. Elles permettent de véri�er si lessuites de séquences de jeux sont totalement aléatoires ou semblent observer une loi plusstricte. Ceci permettra de trouver des séquences de positions qui semblent se succédersouvent et qui sont révélatrices des patrons de jeux.

5.2.2 Mise en ÷uvre de l'approche

Nous proposons de regrouper des positions qui partagent des caractéristiques com-munes établies par des aspects de proximité. Pour mesurer la proximité entre deuxpositions, nous utilisons des critères basés sur la séquentialité des positions. Plus exac-tement, nous e�ectuons une analyse a�n de déterminer le niveau de désordre dans lesséquences de jeux. L'objectif est de véri�er s'il existe dans les séquences de jeux, despositions qui semblent se suivre souvent. Si de telles positions existent, elles sont consi-dérées comme étant proches et nous les regroupons.

1. Former un cluster pour chaque position de la grille de jeu

2. Calculer la distance entre chaque paire de clusters et construire la matrice deproximité MP .

3. Tant qu'il reste des clusters non encore fusionnés

(a) Choisir dans MP deux clusters les plus proches P1 et P2.

(b) Fusionner P1 et P2 pour former un nouveau cluster P1P2.

(c) Supprimer P1 et P2 de MP .

(d) Mettre à jour MP en calculant la distance entre P1P2 et les autres clusters.

Figure 5.3 � Stratégie de regroupement de positions

Pour regrouper les positions, nous avons adopté une stratégie (�gure 5.3) fondée

Page 81: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 5. Construction d'un diagramme états-transitions avec états réduits 72

sur l'utilisation du clustering hiérarchique ascendant. Initialement, nous partons d'unecon�guration où chaque position est placée dans son propre cluster et nous e�ectuonsdes fusions successives jusqu'à ce qu'il ne reste qu'un seul cluster. La stratégie consisteen trois principales étapes : la construction de la matrice de proximité, la fusion desclusters et en�n la mise à jour de la matrice de proximité. Pour la suite, nous donnonsdes précisions sur ces étapes.

5.2.2.1 Construction de la matrice de proximité

Initialement chaque position est mise dans son propre cluster. Tous les clusters étantformés, l'objectif visé avec la mise en place de la matrice est d'évaluer la proximitéentre chaque couple de cluster. La proximité entre deux clusters indique la corrélationqui existent entre eux ou plus exactement, la corrélation qui existe entre les positionsreprésentées par ces clusters. Pour mesurer la proximité, nous utilisons une fonctionde distance qui prend en argument deux clusters et qui renvoie une petite valeur si lesdeux clusters sont corrélés et une valeur élevée si les clusters ne sont pas corrélés.

Nous avons établi que la corrélation est caractérisée par l'incertitude qui reste aprèsconditionnement. Pour cela, nous introduisons une mesure que nous appelons incerti-tude résiduelle. En considérant que la valeur de l'entropie représente l'incertitude to-tale (100%), l'incertitude résiduelle représente la quantité de l'entropie conditionnellepar rapport à l'entropie (Exemple d'illustration à la �gure 5.4.). C'est la valeur de cettemesure qui est renvoyée par la fonction distance.

Valeur Valeur normalisée

1. Entropie 0,8 100% 1 Représente l'incertitude totale.

2. Entropie conditionnelle 0,52 65% 0,65 Représente l'incertitude résiduelle.

C'est la valeur normalisée de l'incertitude résiduelle qui est utilisée.

Pour faciliter les calculs, les valeurs de l'incertitude ont été normalisées entre 0 et 1.

Incertitude

Figure 5.4 � Exemple d'illustration - Incertitude résiduelle

L'explication de cette mesure est très simple. Nous avons vu précédemment que l'en-tropie est l'incertitude qui existe sur une variable aléatoire tandis que l'entropie condi-tionnelle est l'incertitude qui reste sur une variable aléatoire étant donnée la connais-sance d'une autre variable aléatoire. Par conséquent, l'incertitude résiduelle va indiquerdans quelle proportion l'incertitude a régressé suite au conditionnement.

Page 82: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 5. Construction d'un diagramme états-transitions avec états réduits 73

Pratiquement, dans le contexte de notre travail, nous évaluons la distance entre uneposition et une position précédente. Étant donné que nous considérons une seule positionprécédente, nous prenons en compte pour chaque position, ses positions adjacenteset nous calculons l'incertitude résiduelle. L'incertitude résiduelle permet d'évaluer lacorrélation entre deux positions en indiquant dans quelle mesure la connaissance d'uneposition précédente permet de prédire une position déterminée. En considérant qu'uneposition y précède une position x :

Incertitude residuelle (x, y) = IR (x, y) = H(x|y)H(x)

Pour compléter la matrice de proximité, nous parcourons l'ensemble des clusters etpour chaque couple de clusters, nous calculons l'incertitude résiduelle. L'algorithme 8montre l'approche adoptée. Nous donnons un exemple dans le paragraphe qui suit.L'exemple est illustré à la �gure 5.5.

Algorithme 8 construction-Matrice-Proximité(sequencesJeux, grilleJeu)retourner une matriceentrées : sequencesJeux, l'historique complet de jeu.

grilleJeu, une con�guration de la grille de jeu.variables : matriceProximite, une matrice carrée initialement vide.

positionsAdjacentes, une liste initialement vide.incertitudeResiduelle, un nombre réel.

Pour chaque position p dans grilleJeupositionsAdjacentes ← trouver-Positions-Adjacentes(p, grilleJeu)

Pour chaque pos dans positionsAdjacentesincertitudeResiduelle ← incertitude-Résiduelle(p, pos, sequencesJeux)matriceProximite ← compléter-Matrice(p, pos, incertitudeResiduelle)

positionsAdjacentes ← {}retourner matriceProximite

Considérons la position 150 (�gure 5.5) de la grille de jeu. Elle possède deux positionsadjacentes (sont considérées uniquement les positions accessibles). Nous évaluons alorsla corrélation entre la position 150 et chacune de ses positions adjacentes (149 et 151).Pour cela, nous calculons l'incertitude résiduelle entre ces dernières et la position 150et puis nous complétons la matrice de proximité. Nous donnons les di�érentes étapes :

1. Calculer H(150), H(151), H(149)

2. Calculer H(150|151), H(150|149), H(151|150), H(149|150)

Page 83: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 5. Construction d'un diagramme états-transitions avec états réduits 74

3. Calculer :

(a) incertitude résiduelle de la position 150 étant donnée la 151 et l'incertituderésiduelle de la position 151 étant donnée la 150. L'incertitude résiduelleglobale entre la position 150 et la position 151 est la moyenne des incerti-tudes résiduelles calculées précédemment. La valeur obtenue est utilisée pourcompléter la matrice de proximité pour le couple(150,151)

(b) E�ectuer la même opération que précédemment avec la position 150 et laposition 149 et compléter la matrice de proximité.

Pour compléter totalement la matrice de proximité, nous réalisons la même opérationpour toutes les positions de la grille de jeu.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55

56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83

84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111

112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139

140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167

168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195

196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223

224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251

252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279

280 281 282 283 284 544 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307

308 309 310 311 312 544 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335

336 337 338 339 340 544 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363

364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391

392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419

420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447

448 449 450 451 452 544 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475

476 477 478 479 480 544 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503

504 505 506 507 508 544 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531

532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 272 272 272 272 559

560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587

588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615

616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643

644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671

672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699

700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727

728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755

756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783

784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811

812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839

840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867

120 121 122 123

148 149 150 151

176 177 178 179

Figure 5.5 � Exemple d'illustration - Calcul de l'incertitude résiduelle.

5.2.2.2 Fusion des clusters

L'objectif à cette étape est de fusionner les clusters les plus proches. Deux clusterssont considérés comme étant les plus proches si la valeur de l'incertitude résiduelle entreeux est la plus petite de toute la matrice de proximité. Pratiquement, nous parcouronsla matrice de proximité pour trouver les deux clusters les plus proches et nous lesfusionnons pour former un nouveau cluster plus général.

Page 84: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 5. Construction d'un diagramme états-transitions avec états réduits 75

5.2.2.3 Mise à jour de la matrice de proximité

Comme nous l'avons précisé au début, nous e�ectuons des fusions successives jus-qu'à ce qu'il ne reste qu'un seul cluster. Après chaque fusion, nous devons mettre àjour les distances entre le nouveau cluster créé et les autres clusters de la matrice deproximité. Nous donnons la formule utilisée pour évaluer et mettre à jour les distancesprécédemment citées.

Soient P1P2, le nouveau cluster et P , un cluster de la matrice de proximité. Lanouvelle distance est calculé selon la formule :

Dist(P, P1P2) = Min(Dist(P, P1), Dist(P, P2))

5.2.2.4 Résultats du regroupement hiérarchique

Configuration

Positions + Regroupements

[0,6; 0,7[ 7 1 1 - [300 positions] 0

[0,5; 0,6[ 6 4 4 - [300 positions] 0

[0,4; 0,5[ 5 11 11 - [300 positions] 0

[0,3; 0,4[ 4 55 18 - [263 positions] 37

[0,2; 0,3[ 3 91 51 - [260 positions] 40

[0,1; 0,2[ 2 243 34 - [91 positions] 209

[0,0; 0,1[ 1 293 4 - [11 positions] 289

Regroupements - [Composants] Positions - Non regroupéesÉtapes

Regroupement de positions

Distance

Figure 5.6 � Regroupement de positions

Le clustering se termine lorsqu'il ne reste qu'un seul cluster. La �gure 5.6 montreles regroupements réalisés à di�érentes étapes 3. La �gure 5.7 illustre un exemple desregroupements e�ectués à la première étape.

3. Il est également possible de représenter graphiquement les regroupements successifs à traversl'utilisation d'un dendrogramme. Cependant, vu le nombre élevé d'états, cette représentation n'a paspu être réalisée pour le cas présent.

Page 85: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 5. Construction d'un diagramme états-transitions avec états réduits 76

Similarité Regroupements Nombre de positions Positions

1 2 [26,3], [26,4]

2 2 [11,23], [12,23]

3 2 [26,5], [25,5]

4 5 [1,21], [1,22], [1,23], [1,20], [2,20]

[0,0; 0,1[ 4

Regroupement de positions

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

Regroupement 4

Regroupement 2

Regroupement 3

Regroupement 1

Figure 5.7 � Exemple de regroupements e�ectués pour la première fusion

5.3 Fusion des états

Les regroupements de positions ont permis de créer des groupements de positionsqui présentent des corrélations entre elles étant donnés des critères de séquentialité 4.Dans les séquences de jeux que nous avons étudiées, nous avons déterminé que les étatssont caractérisés par les positions (x, y) sur le plateau de jeu. Par conséquent, si despositions sont regroupées étant données données leurs séquentialités, les états qui endécoulent peuvent certainement l'être aussi.

Pour chaque regroupement de positions réalisé, nous proposons de fusionner les étatscorrespondants. La fusion des états aboutit à la formation des blocs contenant des étatscorrélés entre eux. La �gure 5.8 illustre les fusions d'états réalisées à di�érents étapesde la classi�cation hiérarchique.

4. Les positions qui se suivent souvent sont considérées comme corrélées mais à des degrés di�érents.

Page 86: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 5. Construction d'un diagramme états-transitions avec états réduits 77

Configuration - Diagramme états-transitions

États + Blocs d'états

7 1 1 - [300 états] 0

6 4 4 - [300 états] 0

5 11 11 - [300 états] 0

4 55 18 - [263 états] 37

3 91 51 - [260 états] 40

2 243 34 - [91 états] 209

1 293 4 - [11 états] 289

Étapes Blocs d'états - [Composants] États non fusionnés

Fusion des états

Figure 5.8 � Con�guration du diagramme états-transitions avec états réduits

La possibilité de gérer des blocs d'états donne un nouvel aspect à la manière destructurer les diagrammes états-transitions telle que nous l'avions �xé à la section 4.3.1.À partir des blocs d'états nouvellement créés, nous proposons d'augmenter la portéedes épisodes de jeux. Étant donnée que les transitions sont formées à partir des épisodesde jeux, l'augmentation de la portée de ces derniers engendre des modi�cations dansla formation de ces transitions. Nous proposons alors une nouvelle formulation destransitions.

5.3.1 Nouvelle formulation des transitions

En analysant l'historique de jeu et en tenant en considération les blocs d'états créés,nous pensons qu'il est possible de détecter pour chaque bloc des suites ordonnées d'épi-sodes de jeux relatives à ce dernier. Si ces épisodes peuvent être trouvés, nous croyonsqu'il est possible d'en déduire des séquences d'actions permettant de compléter succes-sivement les états correspondants. Si ces séquences d'actions sont constituables, nousproposons d'augmenter la portée des épisodes de jeux concernées. L'augmentation de laportée des épisodes de jeux aboutirait à une nouvelle formulation des transitions don-nant la possibilité d'exécuter une séquence d'actions au lieu d'une seule comme nousl'avions établi à la section 4.3.1.

5.3.1.1 Augmentation de la portée des épisodes de jeux

L'augmentation de la portée des épisodes de jeux consiste en plusieurs étapes quiaboutissent à une mise à jour des épisodes de jeux concernés. Concrètement, nous cher-chons dans l'historique de jeu, des suites ordonnées d'épisodes de jeux relatives auxblocs d'états créés. A partir des séquences d'épisodes de jeux trouvées, nous dédui-

Page 87: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 5. Construction d'un diagramme états-transitions avec états réduits 78

sons les actions permettant de compléter successivement les états représentés dans laséquence. Les suites d'actions étant déterminées, nous les lions à l'épisode de jeu enentrée de la séquence considérée. Cette liaison donne ainsi la possibilité de représenterune suite d'actions pour un épisode de jeu. La stratégie suit l'algorithme 9.

Algorithme 9 augmenter-Portée-Épisodes-Jeux (sequencesJeux, blocsEtats)retourner un collection de transitionsentrées : sequencesJeux, l'historique complet de jeu. une liste de toutes les séquencesde jeux

blocsEtats, une liste, contient les blocs d'étatsvariables : sequenceEpisodesJeux, une liste, initialement vide

sequencesJeux2, une liste, initialement vide

Pour chaque b dans blocsEtats

sequenceEpisodesJeux ← trouver-Séquences-ÉpisodesJeux(b, sequencesJeux)sequencesJeux2 ← augmenter-ÉpisodesJeux(sequencesJeux, sequenceEpisodesJeux)retourner sequencesJeux2

La �gure 5.9 illustre un exemple où des séquences d'épisodes de jeux relatives à unbloc d'états sont retrouvées et l'épisode en entrée de la séquence augmenté.

Position1= [x1,y1]

Position2= [x2,y2]

Regroupement [x1,y1];[x2,y2]

Pour la séquence1, l'épisode1 est augmenté:

Épisode1: t1, [x1,y1], [attribut1], [attribut2],..., [attributn], [a1, a2]

État courant

Pour la séquence2, l'épisode200 est augmenté:

Épisode200: t200, [x2,y2], [attribut1], [attribut2],..., [attributn], [a3, a4]

État courant

t1, E1, a1

t2, E2, a2

..., ..., ...

..., ..., ...

t200, E200, a3

t201, E201, a4

..., ..., ...

..., ..., ...

tn, En, az

Séquence1

Épisodes de jeuxÉpisode1:

Épisode2: Séquence2

Épisodes de jeux

Épisode200:

Épisode201:

t1, [x1,y1], [attribut1], [attribut2],..., [attributn], a1

État courant

t2, [x2,y2], [attribut1], [attribut2],..., [attributn], a2

État courant

t200, [x2,y2], [attribut1], [attribut2],..., [attributn], a3

État courant

t201, [x1,y1], [attribut1], [attribut2],..., [attributn], a4

État courant

E1

E2

E3

E4

Séquences de jeux

Figure 5.9 � Exemple - Augmentation de la portée des épisodes de jeux

Page 88: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 5. Construction d'un diagramme états-transitions avec états réduits 79

La �gure 5.10 donne une idée 5 sur les longueurs des séquences d'actions associésà divers épisodes de jeux. Notons que la taille d'une séquence d'actions est entière-ment dépendante 6 de la taille de la séquence d'épisodes de jeux correspondante. Cettedernière dépendent quant à elle de la taille du bloc d'états correspondant.

Minimale Moyenne Maximale

1 1 1,37 5

2 1 1,47 10

3 1 1,94 16

4 1 2,55 22

5 1 2,72 24

6 1 2,87 36

7 2 3,35 45

Longueur - Séquence d'actionsÉtape

Figure 5.10 � Con�guration des séquences d'actions

5.3.1.2 Formulation des transitions de base

La nouvelle formulation des transitions est rendue possible par l'augmentation dela portée des épisodes de jeux. Pratiquement, nous formons des transitions avec lesépisodes de jeux augmentés. Les transitions résultantes vont donc comporter un ouplusieurs actions à exécuter. Les caractéristiques des nouvelles transitions sont les sui-vantes :

• L'état en entrée qui correspond à la position du personnage sur le plateau.

• L'état en sortie qui est déterminée par la suite d'actions prises. Comme les ac-tions sont déterministes, l'état résultant de l'exécution des actions est connu aveccertitude. Par exemple, deux déplacements vers la droite et un autre vers le basà partir de l'état correspondant à la position (2, 2) mènent à l'état (3, 1).

• Des conditions qui correspondent aux valeurs d'attributs de la con�guration dejeu qui ne font pas partie de la description de l'état 7 ni de la suite d'actions àexécuter. Les conditions servent à déterminer si la transition peut-être activée etainsi accéder à l'état en sortie.

5. À di�érentes étapes de la fusion.6. Une séquence d'actions est inférieure ou égale à la taille de la séquence d'épisodes de jeux cor-

respondante.7. Par exemple, la position des adversaires et des autres objets.

Page 89: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 5. Construction d'un diagramme états-transitions avec états réduits 80

[2,2] [3,2]

[3,1]

a1: right

a2: down

Configuration du jeu

Épisode de jeu augmenté correspondant

Transition formée à partir de l'épisode de jeu

Épisode1 = t1, [2,2], [attribut1, attribut2,..., attributn], [a1,a2]

État courant

Transition = [2,2], [attribut1, attribut2,..., attributn], [3,1], [a1,a2]

État en sortie

Conditions

État en entrée

Figure 5.11 � Exemple d'illustration - Nouvelle formulation des transitions

• La suite d'actions à exécuter si la transition est déclenchée.

• On conserve toutes les transitions. Ainsi, on retrouve plusieurs transitions entrechaque paire d'états. Bien que les états en entrée soient les mêmes, des conditionsde transitions sont di�érentes.

Les épisodes de jeux augmentés ainsi que la nouvelle stratégie de formulation destransitions sont utilisés dans l'approche de construction de diagrammes états-transitionsprésentée à la section 4.3.1.2. La mise en ÷uvre de l'approche aboutit à la création dediagrammes états-transitions pour chaque bloc d'états créé à la suite des regroupements.

5.4 Expérimentations

Les expérimentations que nous avons e�ectuées consistent à utiliser chaque dia-gramme construit pour jouer 200 parties de jeux sur notre banc d'essai à savoir lePacman. L'utilisation du diagramme pour jouer consiste à déterminer l'état courantdu personnage, déterminer la meilleure transition étant donnée une observation del'environnement et en�n exécuter la suite d'actions proposées par la transition. Uneparticularité importante qu'il faut souligner est que les suites d'actions sont exécutées

Page 90: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 5. Construction d'un diagramme états-transitions avec états réduits 81

sans interruption. En e�et, dès qu'une suite d'actions est déclenchée, aucune requêtepour une observation de l'environnement n'est faite jusqu'à l'exécution complète de latotalité des actions de la séquence.

5.4.1 Analyse des résultats

Configuration de la partition

États + Blocs d'états

1 293 5684,06 136150,36

2 243 5596,4 134677,98

3 91 5097,7 115230,12

4 55 4694,6 106268,6

5 11 4512,54 106107,8

6 4 4563,95 105025,01

7 1 3805,75 97794,1

Expérimentations - Fusion des états

Étape Temps de jeuScore

Figure 5.12 � Expérimentations - Fusion des états

Les résultats obtenus sont donnés à la �gure 5.12. D'emblée, la première chose qu'ilfaut remarquer est que la diminution du nombre d'états engendre la diminution duscore et du temps de jeu.

La diminution du nombre d'états signi�e qu'ils sont fusionnés pour former des blocsd'états. Plus un bloc contiendra d'états, plus grande sera la possibilité de trouver delongues séquences d'actions (voir �gure 5.10). Or, les séquences d'actions sont exécutéessans interruption. Nous pensons qu'un fonctionnement du genre conduit à la diminutiondes temps de jeux car durant l'exécution des suites d'actions, aucune requête pour uneobservation de l'environnement n'est e�ectuée.

Nous croyons aussi que la diminution du nombre d'états peut-être à l'origine d'unedégradation des performances. Dans le cas présent, la dégradation peut provenir de lalongueur des séquences d'actions. Étant donnée qu'elles sont exécutées sans interruptionet que l'environnement de jeu peut changer durant l'exécution de celles-ci, elles peuventconduire à des états non désirables étant donné l'état courant du jeu. Cette situationse remarquerait alors par une baisse des scores. Or, nous remarquons que nous sommespassés d'un score de 5684,06 points avec la possibilité de trouver une séquence d'actionsde longueur maximale égale à 5 à un score de 4563,95 points avec la possibilité de trouverune séquence d'actions de longueur maximale égale à 45. Avec ces résultats, nous croyons

Page 91: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 5. Construction d'un diagramme états-transitions avec états réduits 82

0

1000

2000

3000

4000

5000

6000

7000

8000

1 2 3 4 5 6 7

Score

Ajout de cas - Fréquence d'utilisation

Ajout de cas - Densité

Suppression progressive de cas

États réduits

Diagramme brut

Figure 5.13 � Comparaison - Diagrammes avec états réduits et les autres structuresde diagrammes

que la part de la taille des séquences d'actions dans la dégradation des performancesdes diagrammes états-transitions existe même si elle n'est pas très grande.

Nous pouvons également dire que les résultats produits par les diagrammes avecétats réduits sont relativement acceptables (�gure 5.13) comparés à ceux produits parles diagrammes avec transitions réduites ou encore le diagramme brut. Les résultats sontmêmes presque identiques pour certaines con�gurations de diagrammes avec transitionsréduites. Étant donnés les résultats produit par les structures de diagrammes avectransitions réduites (�gure 4.14), nous avons décidé de considérer uniquement, pourchaque stratégie de réduction de transitions, les 7 meilleurs con�gurations en terme descores produits.

5.5 Conclusion

Dans ce chapitre, nous venons d'étudier la possibilité de fusionner les états com-posant un diagramme états-transitions. La fusion des états a abouti à la création deséquences d'actions ce qui a permis une nouvelle formulation des transitions. La nouvelleformulation donne la possibilité, pour une transition donnée, de pouvoir exécuter uneséquence d'actions si celle-ci est déclenchée. L'introduction et l'exécution des séquencesd'actions au sein des transitions s'apparente donc à une forme de plani�cation.

Page 92: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 6

Conclusion

L'activation des personnages de jeux vidéos s'e�ectue à travers des programmesinformatiques. Le développement de ces programmes est souvent une tâche complexe etnécessite que les programmeurs aient des compétences particulières. L'un des moyensde réduire la complexité liée au développement de ces programmes est de développerdes agents capables d'apprentissage et de les instruire.

Dans ce travail, nous avons mené une étude qui va dans ce sens et qui vise ledéveloppement de structures de prise de décision utilisables par un agent. L'approcheque nous avons proposée consiste à construire automatiquement des diagrammes états-transitions à partir des séquences de jeux. En identi�ant deux problèmes majeurs, nousavons analysé les aspects qui entourent chacun d'eux dans l'objectif d'apporter dessolutions et ainsi répondre à la problématique globale.

Nous avons réalisé l'acquisition des séquences de jeux à travers l'utilisation de l'ap-prentissage par la démonstration. L'apprentissage par la démonstration est une ap-proche permettant d'apprendre à partir des démonstrations d'un expert (ou démons-trateur) qui exécute une tâche. Pour le cas présent, nous avons élaboré et réalisé un agentlogiciel qui a fait o�ce de démonstrateur. Pour capturer le comportement du démons-trateur et ainsi constituer les séquences de jeux, nous avons développé des mécanismespermettant de capturer et d'emmagasiner les informations sur l'état de l'environnementde jeu et ce en temps réel et durant les parties de jeux jouées par l'expert.

Les séquences de jeux acquises ont permis de structurer des diagrammes états-transitions à travers une stratégie permettant de déterminer automatiquement les étatset les transitions de base. Dans le but de construire des diagrammes états-transitionscompacts et qui fournissent des performances acceptables, nous avons élaboré di�érentes

Page 93: Conversion de séquences de jeu en diagrammes états-transitions

Chapitre 6. Conclusion 84

approches de construction de diagrammes états-transitions.

En approximant les transitions par des cas, nous avons pu construire des diagrammesétats-transitions avec une nombre réduit de transitions. La réduction des transitions aété rendu possible grâce à l'utilisation des techniques de maintenance de base de cas.La maintenance de base de cas a permis de supprimer des cas, ce qui a aboutit à laréduction des transitions. Di�érentes stratégies de suppression ont été testées et ontpu montrer que certaines d'entre elles permettent de garder une bonne compétence dela base de cas qui se traduit par les performances des diagrammes états-transitionsrésultants.

Nous avons également élaboré une stratégie qui permet de fusionner les états conte-nus dans un diagramme états-transitions. La fusion des états a permis la création etl'ajout des séquences d'actions au sein des transitions qui composent un diagrammeétats-transitions. L'utilisation des séquences d'actions dans les transitions a permisd'introduire une forme de plani�cation au sein des diagrammes états-transitions.

Nous pensons que l'approche proposée s'attaque de façon générale à la problématiquede construction des structures de prise de décision telles que les diagrammes états-transitions. L'approche ne s'applique donc pas uniquement sur le banc d'essai sur lequelnous l'avons essayé en l'occurrence le jeu Pacman mais peut-être être employée surd'autres jeux séquentielles et contraint dans le temps tel que, par exemple, le jeu SuperMario Bros.

Dans ce travail, nous n'avons pas eu la possibilité de tester ensemble la fusion desétats et la réduction des transitions. Nous pensons que cette tâche pourrait constituerun bon sujet de recherche pour les travaux futurs. Également, la possibilité de créer desséquences d'actions étant donnés des blocs d'états permet de penser qu'il est possiblede former des plans à partir des séquences de jeux. Si des plans peuvent être acquis àpartir des séquences de jeux, nous croyons que cela ouvrirait la voie à l'utilisation duCase-Based Planning [51] ou encore des Behavior Trees [29].

Page 94: Conversion de séquences de jeu en diagrammes états-transitions

Bibliographie

[1] D. W Aha. Lazy learning. Kluwer Academic Publishers, Norwell, MA, USA, 1997.

[2] B. D Argall, S. Chernova, M. Veloso, and B. Browning. A survey of robot learningfrom demonstration. Robotics and Autonomous Systems, 57(5) :469�483, 2009.

[3] S. Baluja. Population-based incremental learning. a method for integrating geneticsearch based function optimization and competitive learning. Technical report,DTIC Document, 1994.

[4] M. A Bauer. Programming by examples. Arti�cial Intelligence, 12(1) :1�21, 1979.

[5] B. Chow. Executable open source Pac-Man in java. Retrieved from

http ://www.bennychow.com (01/06/2010).

[6] Wikipedia contributors. Distance de Manhattan, February 2012.

[7] Wikipedia contributors. Intelligence arti�cielle, January 2012.

[8] Wikipedia contributors. Namco, January 2012.

[9] Wikipedia contributors. Pac-gomme, January 2012.

[10] Wikipedia contributors. Pac-Man, January 2012.

[11] Wikipedia contributors. Pong, January 2012.

[12] Wikipedia contributors. Quake II, February 2012.

[13] T. M Cover, J. A Thomas, and J. Wiley. Elements of information theory, volume 6.Wiley Online Library, 1991.

[14] Brian S. Everitt, Sabine Landau, Morven Leese, and Daniel Stahl. Hierarchicalclustering. In Cluster Analysis, pages 71�110. John Wiley & Sons, Ltd, 2011.

[15] M. W Floyd and B. Esfandiari. Learning State-Based behaviour using temporallyrelated cases. Proceedings of the Sixteenth UK Workshop on Case-Based Reasoning,2011.

Page 95: Conversion de séquences de jeu en diagrammes états-transitions

Bibliographie 86

[16] M. W Floyd, B. Esfandiari, and K. Lam. A case-based reasoning approach toimitating RoboCup players. In 21st International Florida Arti�cial Intelligence

Research Society Conference, pages 251�256, 2008.

[17] D. Fu and R. Houlette. The ultimate guide to fsms in games. AI Game Program-

ming Wisdom, 2 :283�302, 2004.

[18] M. Gallagher and A. Ryan. Learning to play Pac-Man : an evolutionary, rule-basedapproach. In Evolutionary Computation, 2003. CEC'03. The 2003 Congress on,volume 4, pages 2462�2469 Vol. 4. IEEE, 2003.

[19] Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Pat-

terns : Elements of Reusable Object-Oriented Software. Addison-Wesley Professio-nal, 1 edition, November 1994.

[20] M. K Haouchine, B. Chebel-Morello, and N. Zerhouni. Méthode de suppression decas pour une maintenance de base de cas. 2006.

[21] L. Lamontagne and G. Lapalme. Raisonnement à base de cas textuels : Etat del'art et perspectives. Revue d'intelligence arti�cielle, 16(3) :339�366, 2002.

[22] D. B Leake. Case-based reasoning : Experiences, lessons, and future directions.1998.

[23] D. B Leake. Case-based reasoning. John Wiley and Sons Ltd., 2003.

[24] T. Lozano-Perez. Robot programming. Proceedings of the IEEE, 71(7) :821�841,1983.

[25] S. M Lucas. Evolving a neural network location evaluator to play ms. pac-man.In Proceedings of the IEEE Symposium on Computational Intelligence and Games,pages 203�210, 2005.

[26] S. Markovitch and P. D Scott. The role of forgetting in learning. In Proceedings

of the �fth international conference on machine learning, volume 459, page 465.Morgan Kaufmann, 1988.

[27] M. Mehta, S. Ontanon, T. Amundsen, and A. Ram. Authoring behaviors forgames using learning from demonstration. In ICCBR 2009 workshop on Case

Based Reasoning for Computer Games, 2009.

[28] I. Millington and J. Funge. Arti�cial intelligence for games. Morgan Kaufmann,2009.

[29] I. Millington and J. Funge. Decision making. In Arti�cial intelligence for games,pages 293�492. Morgan Kaufmann, 2009.

Page 96: Conversion de séquences de jeu en diagrammes états-transitions

Bibliographie 87

[30] S. Minton. Qualitative results concerning the utility of explanation-based learning.Arti�cial Intelligence, pages 363�391, 1990.

[31] S. Minton. Quantitative results concerning the utility of explanation-based lear-ning. Arti�cial Intelligence, 42(2-3) :363�391, 1990.

[32] T. M Mitchell. Machine learning. Burr Ridge, IL : McGraw Hill, 1997.

[33] J. L Montana and A. J Gonzalez. Towards a uni�ed framework for learning fromobservation. In IJCAI 2011 Workshop on Agents Learning Interactively from Hu-

man Teachers, 2011.

[34] C. Moriarty and A. J Gonzalez. Learning human behavior from observation forgaming applications. In Proceedings of the 22nd International Florida Arti�cial

Intelligence Research Society Conference, pages 19�21, 2009.

[35] S. Ontanon and A. Ram. Case-Based reasoning and User-Generated arti�cial intel-ligence for Real-Time strategy games. Arti�cial Intelligence for Computer Games,pages 103�124, 2011.

[36] D. A Pomerleau. ALVINN : an autonomous land vehicle in a neural network.In Advances in neural information processing systems 1, pages 305�313. MorganKaufmann Publishers Inc., 1989.

[37] C. K Riesbeck and R. C Schank. Inside case-based reasoning. Lawrence ErlbaumAssociates, Inc, 1989.

[38] D. Robles and S. M Lucas. A simple tree search method for playing ms. Pac-Man.In Computational Intelligence and Games, 2009. CIG 2009. IEEE Symposium on,pages 249�255. IEEE, 2009.

[39] Houcine Romdhane and Luc Lamontagne. Forgetting reinforced cases. In Klaus-Dieter Altho�, Ralph Bergmann, Mirjam Minor, and Alexandre Hanft, editors,Advances in Case-Based Reasoning, volume 5239 of Lecture Notes in Computer

Science, pages 474�486. Springer Berlin / Heidelberg, 2008.

[40] R. Rubinstein. The cross-entropy method for combinatorial and continuous opti-mization. Methodology and Computing in Applied Probability, 1(2) :127�190, 1999.

[41] S. Russel and P. Norvig. Methodes d'apprentissage statistique. In Intelligence

arti�cielle, pages 795�848. Pearson Education France, 2006.

[42] S. Russel and P. Norvig. Resolution des problemes par l'exploration. In Intelligencearti�cielle, pages 67�106. Pearson Education France, 2006.

Page 97: Conversion de séquences de jeu en diagrammes états-transitions

Bibliographie 88

[43] S. Russell and P. Norvig. Intelligence arti�cielle : Avec plus de 500 exercices.Pearson education, 2010.

[44] S. Schaal. Learning from demonstration. Advances in neural information processing

systems, pages 1040�1046, 1997.

[45] S. C.K Shiu, D. S Yeung, C. H Sun, and X. Z Wang. Transferring case knowledgeto adaptation knowledge : An approach for case base maintenance. Computational

Intelligence, 17(2) :295�314, 2001.

[46] T. A Sidani and A. J Gonzalez. IASKNOT : a simulation-based object-orientedframework for the acquisition of implicit expert knowledge. In , IEEE International

Conference on Systems, Man and Cybernetics, 1995. Intelligent Systems for the

21st Century, volume 3, pages 2428�2433 vol.3. IEEE, October 1995.

[47] B. Simpson and F. Toussi. Hsqldb User Guide. The HSQLDB Development Group,http ://hsqldb. sourceforge. net/web/hsqlDocsFrame. html, 2004.

[48] B. Smyth and M. T Keane. Remembering to forget. In Proceedings of the 14th

international joint conference on Arti�cial intelligence, pages 377�382, 1995.

[49] B. Smyth and E. McKenna. Modelling the competence of case-bases. Advances inCase-Based Reasoning, pages 208�220, 1998.

[50] B. Smyth and E. McKenna. Building compact competent case-bases. Case-BasedReasoning Research and Development, pages 719�719, 1999.

[51] L. Spalzzi. A survey on case-based planning. Arti�cial Intelligence Review,16(1) :3�36, 2001.

[52] Mehroz Alam Syed. Maze solver (shortest path �nder) - CodeProject, 2011. [Enligne ; Page disponible le 3-fevrier-2012].

[53] I. Szita and A. Lorincz. Learning to play using low-complexity rule-based policies :illustrations through ms. Pac-Man. Journal of Arti�cial Intelligence Research,30(1) :659�684, 2007.

[54] T. G Tan, J. Teo, and P. Anthony. Uniform versus gaussian mutators in automaticgeneration of game AI in ms. Pac-man using hill-climbing. In Information Retrieval

& Knowledge Management,(CAMP), 2010 International Conference on, pages 282�286. IEEE, 2010.

[55] Wikipedia contributors. World of warcraft, May 2012.

Page 98: Conversion de séquences de jeu en diagrammes états-transitions

Bibliographie 89

[56] N. Wirth and M. Gallagher. An in�uence map model for playing ms. Pac-Man.In Computational Intelligence and Games, 2008. CIG'08. IEEE Symposium On,pages 228�233. IEEE, 2008.

[57] M. J Wooldridge. An introduction to multiagent systems. Wiley, 2002.