• Aucun résultat trouvé

Utilisation d'un diagramme états-transitions

3.4 Résultats

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-transitions indiquent 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 du personnage 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 cette approche.

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

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

k, le nombre de plus proche voisin à considérer transition, un vecteur, initialement vide action, l'action proposée par une transition // Recherche

´

etatCourant ←déterminer-État-Courant(´etatDuJeu)

transition ←choix-Transition-à-Appliquer(k, ´etatCourant, ´etatDuJeu, baseDeCas) //Réutilisation

action ←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 courant du personnage, le choix de la transition à appliquer et enn l'exécution de l'action pro- posée par la transition choisie. Nous donnons des détails pour ces étapes.

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 avons adoptée, le vecteur décrivant la conguration de l'environnement de jeu an de dé- terminer les attributs qui caractérisent l'état du personnage. Précisément, il s'agit de déterminer la cellule ou la position du personnage3. Cette tâche est triviale car elle ne

né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 conguration 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 cas4 et évalue la similarité entre les conditions des

transitions et la description de la conguration de l'environnement. L'algorithme ltre les résultats pour ne retourner que les k cas les plus similaires étant donnée une fonction de similarité.

La fonction de similarité utilisée est une métrique de distance appelée distance de Hamming. La distance de Hamming notée D(x, y) entre deux vecteurs d'attributs x et y 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).

Considérons deux vecteurs d'attributs : x = (x1, . . . , xn)et y = (y1, . . . , yn), la distance de 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, pour chacun des attributs caractérisant la conguration du plateau de jeu (gure 3.5), nous dénissons une métrique de comparaison (gure4.6).

Attribut Type Valeur Métrique de comparaison

x,y Numérique {x ∈ N |0 ≤ x ≤ 300} Test d'égalité powerUp Symbolique { T rue, F alse } Test d'égalité northWall Symbolique { T rue, F alse } Test d'égalité southWall Symbolique { T rue, F alse } Test d'égalité eastWall Symbolique { T rue, F alse } Test d'égalité westWall Symbolique { T rue, F alse } 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 eectuer évaluer la similarité entre deux vecteurs d'attributs, nous commenç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 eectuant des tests d'égalité au niveau de chaque attribut. Quant à la similarité globale, elle correspond au nombre d'attributs pour lesquels les tests d'égalité ont été négatifs (Exemple à la gure 4.7).

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 en entrée correspond à l'état courant du personnage. Ceci permet de réduire le temps de recherche. Aussi, dans toutes nos expérimentations, nous considérons uniquement le cas le plus similaire, c'est à dire une valeur de k = 1.

4.3.2.3 Gestion de la performance

Il ne sut pas de développer des politiques à partir des séquences de jeux, encore faut-il que ces politiques puissent fournir des performances acceptables. Notre objectif est 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. Ces deux forces s'opposent car un diagramme détaillé donnera probablement de meilleurs résultats. Or, la structure risque d'être trop lourde puisque le nombre d'états et de transitions est élevé. De plus, un diagramme trop complexe sera dicile à comprendre pour 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 seront certainement liées à l'information fournie par les séquences de jeux. D'une part si la base d'expérience est pauvre, les diagrammes résultants seront moins performants. De l'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.

C'est dans ce contexte et dans le but de construire un diagramme états-transitions assez compact et qui donne de bons résultats que nous avons entrepris d'eectuer des expérimentations an de comparer la performance de trois congurations suivantes :

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

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

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

Pour chacune de ces congurations, nous donnerons la stratégie adoptée pour construire le 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 le scorecomme 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 risque d'ê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 temps moyen d'une partie de jeu.

Documents relatifs