Université Paris 6 Master Informatique Spécialité ANDROIDE Module ISG Réseaux de Petri et suivi du joueur Mathieu Muratet [email protected] 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 ? – 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é t0 {3, 0} t1 {2, 1} t0 t0 t2 {1, 2} {2, 0} t2 {1, 1} t0 t1 {0, 3} t2 t0 {0, 2} t2 t1 {0, 1} t2 {0, 0} t2 t0 {1, 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 Action quasi vivace ? « attendue » ? oui oui Actions manquantes ? oui Action trop tard Action correcte Action trop tôt Places en sortie marquées ? oui Action Action redondante inutile Liste des actions franchissables et nécessaires pour rendre déclenchable l’action en cours d’analyse Marquer les places en aval de l’action effectuée Action erronée Action « attendue » 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 Rdp complet Trace de l’expert Rdp filtré Trace du joueur Algorithme de labellisation Liste de labels L’algorithme de diagnostic V2 • Chaque action du joueur peut : Espace des actions accessibles avec les actions du joueur à partir de l’état initial Etat initial du niveau 1. Être refusée par le jeu Etat final du niveau 2. Produire un état du jeu conforme à un des états accessibles à l’aide des seules actions de l’expert Espace des actions accessibles à partir de l’état initial du niveau avec les seules actions de Solutions l’expert à partir de l’état initial expertes 3. 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 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é A. L’action fait partie des actions expertes ? B. L’action a été réalisable précédemment ? C. L’action sera réalisable dans le futur ? D. 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 𝑡 𝑀′ [𝑡𝑒 > – Reprise Ex : 𝑀 ∧ 𝑀𝑖 𝑀′ Solutions Etat initial du niveau A. Terminer le niveau avec les seules actions de l’expert expertes Etat final du niveau Saut arrière B. Les états avant et après génération sont égaux du l’état de la C. L’état généréParcours se trouve en amont ou en aval deCroyance l’étatsurattendu joueur simulation Saut de branche – Labels : • Inutile : l’état du jeu n’a pas évolué suite à l’action du joueur Etat réel de la simulation • Rattrapage : l’état généré retombe sur l’état attendu avant déclenchement de Rattrapage l’action Exemple d’état du monde généré • 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à Saut avant 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 L’algorithme de diagnostic V2 • Cas 3 : L’action produit un état non conforme – Ex : 𝑀 Pseudo éloignement 𝑡 𝑀′ ∧ ¬(𝑀𝑖 [𝑡𝑒 > 𝑀′ ) Pseudo rapprochement Etat initial du niveau Etat final du niveau A. l’état généré tend à se rapprocher d’un Etat des états du monde généré conformes Etat réel de la simulation B. l’état généré tend à s’éloigner des états conformes de l’état du jeu vers un état C. La liste des actions manquantes réduit Distance connu – Labels : • Pseudo rapprochement : 𝐴 ∧ ¬𝐵 • Pseudo éloignement : ¬𝐴 ∧ 𝐵 • Pseudo inutile : ¬𝐴 ∧ ¬𝐵 ∧ ¬𝐶 Liste des labels identifiés Labels (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