Modéliser l*humain - Serious Games @ LIP6

publicité
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
Téléchargement