Réseaux de Petri et suivi du joueur Université Paris 6 Master Informatique Spécialité ANDROIDE Module ISG Réseaux de Petri et suivi du joueur Mathieu Muratet mathieu.muratet@lip6.fr
Suivi de l’apprenant Caractérisation des actions du joueur Actions correctes Actions inutiles Actions trop tôt Actions trop tard ...
Réseau de Petri Pourquoi les réseaux de Petri ? Structure du RdP Modèle à la fois graphique et mathématique Modélise des actions séquentielles, concurrentes ou parallèles du jeu et les conditions de leur déclenchement permet de représenter les règles métier Structure du RdP Des places (nœuds) modélisant les éléments du jeu , des caractéristiques Des transitions modélisent les actions du joueur Des jetons indiquent l’état de la place et donc si les conditions pour effectuer une transition sont vérifiées ou non
Quelques propriétés des RdP RdP = (P, T, A) P : Ensemble des places T : Ensemble des transitions A : Ensemble des arcs Marquage : nombre de jeton dans chaque place Marquage initial VS Marquage courant Graphe d’accessibilité : ensemble des marquages accessibles à partir du marquage initial Vivacité d’une transition : Est-ce que la transition sera franchissable à partir du marquage courant ?
Exemple d’un Rdp P = {p0, p1} T = {t0, t1, t2} Mi = {3, 0} Graphe d’accessibilité {3, 0} t0 t1 {2, 1} t0 t0 t2 {1, 2} t2 {2, 0} {1, 1} t0 t1 {0, 3} t2 t0 {0, 2} t2 t2 t0 t1 {0, 1} {1, 0} t2 {0, 0}
Une première approche d’analyse Génération manuelle du RdP Seules sont représentées les actions : Pédagogiquement significatives Expertes Modélisation subjective Un seul RdP « expert » pour chaque niveau de jeu Algorithme de labellisation simple Construction du RdP « expert » complexe Il est complexe de demander à un expert du domaine de modéliser un niveau de jeu par un RdP
L’algorithme de diagnostic V1 Action franchissable ? oui non Action marquée « attendue » ? Action quasi vivace ? oui oui Places en sortie marquées ? Actions manquantes ? oui oui Action trop tard Action correcte Action trop tôt Action redondante Action inutile Action erronée Liste des actions franchissables et nécessaires pour rendre déclenchable l’action en cours d’analyse Action « attendue » Marquer les places en aval de l’action effectuée
Une seconde approche d’analyse Génération automatique de RdP RdP représentant toutes les actions de jeu possibles : RdP dit « complet » RdP « filtré » par conservation des seules actions utilisées par l’expert Deux RdP pour chaque niveau de jeu Algorithme de labellisation complexe
Processus de traitement des RdP Algorithme de labellisation Rdp complet Rdp filtré Trace du joueur Trace de l’expert Liste de labels
L’algorithme de diagnostic V2 Chaque action du joueur peut : Être refusée par le jeu Produire un état du jeu conforme à un des états accessibles à l’aide des seules actions de l’expert à partir de l’état initial du niveau Produire un état du jeu non conforme à un des états accessibles à l’aide des seules actions de l’expert à partir de l’état initial du niveau Espace des actions accessibles avec les actions du joueur à partir de l’état initial Etat initial du niveau Etat final du niveau Espace des actions accessibles avec les seules actions de l’expert à partir de l’état initial Solutions expertes
L’algorithme de diagnostic V2 Cas 1 : l’action est refusée par le jeu Ex : le joueur tente d’ouvrir une porte sans avoir la clé L’action fait partie des actions expertes ? L’action a été réalisable précédemment ? L’action sera réalisable dans le futur ? L’action est réalisable depuis l’état initial du niveau ? Label : Trop tôt : l’action sera réalisable (𝐴∧¬𝐵∧C) Trop tard : l’action a été réalisable (𝐴∧𝐵∧¬C) Insérée : l’action a été ET sera réalisable (𝐴∧𝐵∧C) Autre branche : l’action est réalisable sur une autre branche (𝐴∧¬𝐵∧¬C∧𝐷) Inutile : l’action n’est pas une action experte (¬𝐴)
L’algorithme de diagnostic V2 Cas 2 : L’action produit un état conforme Ex : 𝑀 𝑡 𝑀 ′ ∧𝑀𝑖 [ 𝑡 𝑒 > 𝑀 ′ Terminer le niveau avec les seules actions de l’expert Les états avant et après génération sont égaux L’état généré se trouve en amont ou en aval de l’état attendu Labels : Inutile : l’état du jeu n’a pas évolué suite à l’action du joueur Rattrapage : l’état généré retombe sur l’état attendu avant déclenchement de l’action Correcte : l’état généré correspond à l’état attendu après déclenchement de l’action Reprise : l’état généré correspond à un état antérieur par lequel le joueur est déjà passé Saut arrière : l’état généré correspond à un état antérieur par lequel le joueur n’est jamais passé Saut avant : l’état généré correspond à un état futur qui n’est pas l’état attendu Saut de branche : l’état généré correspond à un état sur une autre branche de résolution du niveau Etat initial du niveau Etat final du niveau Croyance sur l’état de la simulation Exemple d’état du monde généré Etat réel de la simulation Solutions expertes Parcours du joueur Reprise Saut arrière Saut de branche Rattrapage Saut avant Exemple : Le cas 2 se produit lorsque le joueur réalise une action qui produit un état du monde conforme à un des états accessibles à l’aide des seules actions de l’expert à partir de l’état initial du niveau. Remarque 1 : l’état du monde avant génération aurait pu être dans la zone verte mais également dans la zone bleue. Remarque 2 : il est possible que l’état du jeu généré suite à l’action du joueur ne permette plus de terminer le niveau avec les seules actions expertes (état « puits »). Cette situation peut se produire lorsque plusieurs solutions sont possibles pour terminer un même niveau. Dans ce cas l’entrée dans le puits depuis un état accessible avec les seules actions de l’expert est labellisé Erronée, l’entrée dans le puits depuis un état non accessible avec les seules actions de l’expert est labellisé Pseudo erronée et la remonté d’un puits est labellisé Annulation. La descente dans le puits ne peut quant à elle pas être labellisée avec précision, dans ce cas-là le label Indéterminée est associé à l’action concernée.
L’algorithme de diagnostic V2 Cas 3 : L’action produit un état non conforme Ex : 𝑀 𝑡 𝑀 ′ ∧¬(𝑀𝑖 [ 𝑡 𝑒 > 𝑀 ′ ) l’état généré tend à se rapprocher d’un des états conformes l’état généré tend à s’éloigner des états conformes La liste des actions manquantes réduit Labels : Pseudo rapprochement : 𝐴∧¬𝐵 Pseudo éloignement : ¬𝐴∧𝐵 Pseudo inutile : ¬𝐴∧¬𝐵∧¬𝐶 Etat initial du niveau Etat final du niveau Etat du monde généré Etat réel de la simulation Pseudo éloignement Pseudo rapprochement Distance de l’état du jeu vers un état connu Exemple : Le cas 3 se produit lorsque le joueur réalise une action qui produit un état du monde non conforme à un des états accessibles à partir des seules actions de l’expert depuis l’état initial du niveau. Remarque 1 : l’état du monde avant génération aurait pu être dans la zone bleue mais également dans la zone verte. Remarque 2 : Les labels du cas 3 sont tous préfixés par « pseudo » pour signifier que la labellisation est supposée. En effet le joueur ayant placé le monde dans un état non conforme à un état accessible par l’expert, il devient difficile de suivre les actions du joueur avec précision.
Liste des labels identifiés (Pseudo) Correcte Saut avant (Pseudo) Rattrapage Reprise / pseudo rapprochement Saut arrière Saut de branche (Pseudo) Inutile / Annulation Pseudo éloignement Trop tôt / Trop tard / Insérée / Autre branche (Pseudo) Erronée / Niveau non terminé Indéterminée
Que faire de ces labels ? Pondérer chaque label pour calculer un score Identifier des patterns de labels Inférer sur les compétences travaillées/acquises du joueur Fournir un feedback au joueur et à l’enseignant
Cas pratique