Automates et réseaux de Petri pour les jeux vidéo. S. Natkin



Documents pareils
Chapitre 3. Mesures stationnaires. et théorèmes de convergence

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

EP60.92 Projet d application pluridisciplinaire La chasse aux trésors

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Chafa Azzedine - Faculté de Physique U.S.T.H.B 1

4.2 Unités d enseignement du M1

Module 7: Chaînes de Markov à temps continu

Modélisation et Simulation

Programmation linéaire

MATHS FINANCIERES. Projet OMEGA

Dimensionnement d une roue autonome pour une implantation sur un fauteuil roulant

Plus courts chemins, programmation dynamique

Analyse en Composantes Principales

SUGARCRM MODULE RAPPORTS

Simulation centrée individus

Problème 1 : applications du plan affine

Logiciel XLSTAT version rue Damrémont PARIS

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

MASTER SIS PRO : logique et sécurité DÉTECTION D INTRUSIONS. Odile PAPINI, LSIS. Université de Toulon et du Var. papini@univ-tln.

Model checking temporisé

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

TUTORIAL Microsoft Project 2010 Fonctionalités de base

ELEC2753 Electrotechnique examen du 11/06/2012

I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

Triangle de Pascal dans Z/pZ avec p premier

Modélisation multi-agents - Agents réactifs

Correction du baccalauréat ES/L Métropole 20 juin 2014

Cours 02 : Problème général de la programmation linéaire

TP N 57. Déploiement et renouvellement d une constellation de satellites

Probabilités stationnaires d une chaîne de Markov sur TI-nspire Louis Parent, ing., MBA École de technologie supérieure, Montréal, Québec 1

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Chapitre 3. Les distributions à deux variables

Notice d Utilisation du logiciel Finite Element Method Magnetics version 3.4 auteur: David Meeker

Théorèmes de Point Fixe et Applications 1

Modélisation aléatoire en fiabilité des logiciels

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

FIMA, 7 juillet 2005

Vis à billes de précision à filets rectifiés

Baccalauréat ES Amérique du Nord 4 juin 2008

GanttProject : guide utilisateur

OPTIMISATION À UNE VARIABLE

Découverte et analyse de dépendances dans des réseaux d entreprise

SOMMAIRE. Présentation assistée sur ordinateur. Collège F.Rabelais 1/10

Lagrange, où λ 1 est pour la contrainte sur µ p ).

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

PROBABILITES ET STATISTIQUE I&II

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

Assistant d e tablissement de Tableaux

CarrotAge, un logiciel pour la fouille de données agricoles

Installation du logiciel Windows Suivant Démarrer Tous les programmes Démarrer Tous les programmes Marketing Manager Marketing Manager Linux ici Mac

Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive. Version 1.0

Fonctions de deux variables. Mai 2011

Probabilités III Introduction à l évaluation d options

Chapitre 2 Le problème de l unicité des solutions

Site Web de paris sportifs

Chapitre 4 : Exclusion mutuelle

Chaînes de Markov au lycée

Le modèle de Black et Scholes

Comportements (The Observer XT) : activité générale du conducteur : (entre autres) mouvements des mains, position, verbalisations.

Cours de Génie Logiciel

UFR d Informatique. FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE

SOMMAIRE. Accéder à votre espace client. Les Fichiers communs. Visualiser les documents. Accéder à votre espace client. Changer de Workspace

Générer du code à partir d une description de haut niveau

Surveillance et maintenance prédictive : évaluation de la latence de fautes. Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG)

Vecteurs. I Translation. 1. Définition :

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall

Chapitre 5 : Flot maximal dans un graphe

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Université Paris-Dauphine DUMI2E 1ère année, Applications

L apprentissage automatique

L E Ç O N. Marches aléatoires. Niveau : Terminale S Prérequis : aucun

Circuits RL et RC. Chapitre Inductance

NOTE SUR LA MODELISATION DU RISQUE D INFLATION

F411 - Courbes Paramétrées, Polaires

Chapitre 4: Dérivée d'une fonction et règles de calcul

Encadré par : Michel SIMATIC

Apprentissage Automatique

Programme scientifique Majeure INTELLIGENCE NUMERIQUE. Mentions Image et Réalité Virtuelle Intelligence Artificielle et Robotique

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

aux différences est appelé équation aux différences d ordre n en forme normale.

Université de Bangui. Modélisons en UML

TP1 Méthodes de Monte Carlo et techniques de réduction de variance, application au pricing d options

Programmation linéaire

SQL Data Export for PS/PSS

JOURNEES SYSTEMES & LOGICIELS CRITIQUES le 14/11/2000. Mise en Œuvre des techniques synchrones pour des applications industrielles

LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE

Fonctions de plusieurs variables

Décision Markovienne appliquée à un jeu de stop ou encore : Pickomino (Heckmeck Am Bratwurmeck)

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

Sélection du contrôleur

IFT1215 Introduction aux systèmes informatiques

Bases de données réparties: Fragmentation et allocation

3.2. Matlab/Simulink Généralités

Les pratiques de consommation de jeux vidéo des Français

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Mini_guide_Isis_v6.doc le 10/02/2005 Page 1/15

Feuille TD n 1 Exercices d algorithmique éléments de correction

SmartClass+ Plateforme de gestion de classe. Qu importe le lieu, le moment, l appareil. ipad, Mac Android Windows Téléphones intelligents «AVEC»

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles

Transcription:

Automates et réseaux de Petri pour les jeux vidéo S. Natkin

Objectif Un modèle pour spécifier des relations d évolution dans non déterministe dans un jeu: A un niveau macroscopique (scénario on linéaire) Au niveau du comportement et des interactions entre objets

Plan systèmes dynamiques Automates à états finis communiquants Réseaux de Petri

Systèmes dynamiques

Modèle Mathématique E(t) X(t)=G(E(t),X(t-dt)) S(t)=F(E(t), X(t)) S(t)

Comportement d un moniteur (synchrone) Répéter T:=T+DT Lire les entrées (clavier, souris, joypad ) Faire jouer l ordinateur Calculer la position de tous les objets Déterminer l état de tous les objets généraux Dater tous les évènements actifs les ranger dans la liste de simulation et éliminer les évènements inactifs Traiter les évènements datés T Synthétiser image et son Attendre la date T+DT Jusqu à la fin du jeu E(t) X(t)= G(E(t),X(t-dt)) S(t)=F(E(t), X(t))

Etat d un système dynamique X(t) Un ensemble minimal de données à l instant t nécessaires pour calculer en fonction de E(t) Toutes les variables du systèmes à t+dt Les sorties à S(t+dt) Dans un jeu il faut clairement construire et identifier l état: c est ce qui doit être sauvegardé à un point de reprise Si le volume des sauvegarde est limité, il faut choisir les points de sauvegardes qui minimise l état courant Par exemple pas de sauvegarde au milieu d un combat qui nécessiterait de conserver la position de nombreux combattants ou des variables graphiques

Classes de systèmes A espace d état discret : X(t) est un vecteur de variables à valeur dans un espace discret (dénombrable) A espace d état continu: une au moins des variables de X(t) est continue A temps discret: les variables d états ne se font qu a des instants dénombrables A temps continu: au moins une des variables d état évolue continuement dans le temps Déterministe: a un couple X(t), E(t) correspond un seul état suivant X(t+dt) Non déterministe: a un couple X(t), E(t) peut correspondre plusieurs suite possible X(t+dt)

Exemples X(t) 4 X (t+dt)=e(t)-s(t) 3 5 Temps d attente=x(t)*s

Lever le non déterminisme t t2 Par le temps: le modèle concurrentiel. Par les probabilités Par un modèle de temps probabiliste p= Prob(t=t2) Prob(t=t) t=inf(t,t2) p -p Prob(t2=t) t t

Trajectoire Une trajectoire ω est une suite possible d état dans un intervalle de temps: ω =(Xo(ω),0), (X(ω),0),t), (Xn(ω),0),tn), ) Exemples (0,0),(,.5),(2,2.0),(,2.8), X(t) t

Automates a état finis

Automate du Monstre Inactif?Auth_Req(Zelda)!Envoyer(Monstre, Zelda, ARQ, qui es tu?); 3?Recevoir(Zelda,Monstre, ARQ,X) et (X=FA,FA,RE)! Auth_Rep(Zelda,OK)?Recevoir(Zelda,Monstre,ARQ,X) et (X<> FA,FA,RE! Auth_Rep(Zelda,Non_OK) Authentification en cours? Langage d entrée (pré-condition)! Langage de sortie (post-condition) Etat Changement d état ou transition

Automate de Zelda?Recevoir(Monstre,Zelda,A RQ, Y) et Y=qui es tu?!x := FA,FA,RE; Envoyer(Zelda,Monstre,ARP,X) 2 Attente de demande d'authentification?erreur_jeu?recevoir(monstre,zelda,arq, Y et Y<>qui es tu?!envoyer(zelda,jeu, erreur)

Un diagramme de séquence de messages (trajectoire) Temps Monstre Auth_Req(Zelda) Protocole Du Monstre Protocole de Zelda X :=qui es tu? Monstre,Zelda,ARQ,X Zelda,Monstre,ARP,Y Auth_Rep(Zelda,OK) Vérifie Y= FA,FA,RE;

Espace d état Comprend au minimum le produit cartésien de tous les états (automate produit) Comprend en outre la valeur de toutes les variables qui apparaissent dans le langage d entrée et qui ne sont pas des entrées pures Comprend toutes les variables qui ne sont pas des entrées pures et qui apparaissent dans le langage de sortie à droite d une affectation dont la partie gauche est une variable d état.

Réseaux de Petri

Une version mathématique du jeu de l oie Places P 2 Pré-condition C - :(PxT)? N Transitions T 4 Post-condition C + :(TxP)? N 2 4 Marquage M? N card(m)

Condition de franchissement 4 2 P P 2 T j est franchissable si pour toute place P i M(i)= C - (i,j) 2 T T 4 2 P 3 P 4

Evolution du Marquage 4 2 P P 2 M =M- C - (.,j) + 2 T T 4 2 P 3 P 4

Evolution du Marquage 4 2 P P 2 M =M- C - (.,j) + 2 T T 4 2 P 3 P 4

Evolution du Marquage 4 2 P P 2 M =M- C - (.,j) + C + (.,j) 2 T T 4 2 P 3 P 4

Exemple

Accessibilité Soit R un réseau de Pétri M et M deux marquages M est un marquage conséquent de M si Il existe une transition T j telle que T j soit franchissable à partir de M: M= C - (.,j) et M soit le marquage atteint par le franchissement de T j M =M + C + (.,j) -C - (.,j)=m+c(.,j) M est accessible à partir de M Il existe une suite de Marquages M,M, M n-,m et une suite de transitions S=(T s, T s2,,t sn ) Tel que M est un marquage conséquent de M par tir de T s M 2 est un marquage conséquent de M par tir de T s2 M est un marquage conséquent de M n- par tir de T sn

Graphe des Marquages conséquents Soit R un réseau de Pétri et M 0 un marquage initial de R Le Graphe des marquages conséquent est G(X,U) X={M accessibles à partir de M 0 } U={(M,M ) tel que M et M sont dans X et M est conséquent de M} (M,M ) est labellé avec le nom de la transition tirée

Exemple 2,,0,0 T0 T 0,,,0,0,0, T T0 0,0,, T2

Exemple 3 un réseau non borné 0 T0 T0 T0 2 3 T T T T0 i i+ T

Equation de franchissement Soit R un réseau de Pétri M et M deux marquages tel M est accessible à partir de M par une suite de transitions S=(T s, T s2,,t sn ) Notons s le vecteur colonne de N card(t) tel que s(j)= nombre d occurrence de T j dans S Alors M =M+C.s

Exemple,,0,0 T0,0,,0 T 0,0,, T2,,0,0 T,0,0, (,0,0,)=(,,0,0)+ - 0 0-0 - 2 0 -

Invariants de Places (p semi flots) Soit f un vecteur ligne de N card(p) tel que f.c=0 Alors pour tout marquage acessible M à partir de M 0 f.m=f.m 0 De plus si f est positif ou nul et f(j) est positif P j est bornée pour tout marquage initial En effet M= M 0 +C.s pour une séquence S donnée Donc f.m= f.m 0 +f.c.s= f.m 0 Si f est positif ou nul et f(j) positif M(j) =f.m 0 /f(j)

Exemple - 0 (f,f2,f3,f4) 0-0 - =(0,0,0) 0 - f0=f2 f=f3 Don M(0)+M(2)= Et M()+M(3)=

Invariants de Places (t semi flots) Soit S une séquence menant de M à partir de M 0 alors il existe un vecteur colonne s de N card(t) tel que M= M 0 +C.s Si il existe une séquence S menant de M à M alors il existe une solution entière et positive non nulle de l équation C.x=0

Exemple - 0 0 0-0 - - x x2 x3 =(0,0,0,0) X=X2=X3

Exemple 2 un réseau non borné Pas d invariant de places Invariants de transition 2.X0=X

Utilisation dans les jeux Un modèle global d un scénario non linéaire: Quêtes obligatoires, quêtes facultatives Niveau Un découpage du logiciel avec identification des variables d état

Faire parmi 3

Faire 2 parmi 3

Faire 3 parmi 3

Modèle d IA globlale

Modèle d IA locale

Utilité et limite Ne pas essayer de tout «voir» Mieux qu un graphe d état global Utiliser des simulateurs (voir outils UML) Avec des automates simples pas de réel processus d apprentissage (passer aux agents intelligents ou aux réseaux de neurones!!!)

Quelques idées d architecture Distinguer: Le jeu à une IA globale ou des IA «locales» IA globale (RTS) Un automate global par acteur+ des automates locaux pour le comportement d objets typés IA locale (jeu d aventure): Automate par objets typés et localité Penser aux objets d ambiance et les caméras Quand un jeu peut être joué en multijoueur ou contre la machine identifier l automate machine joueur qui a le même langage de sortie que les entrées d un joueur

L espace d état Prévoir un état de référence par défaut pour tout automate Construire un automate qui engrange l état (par message recu des autres) et réinitialise le jeu Hiérachiser les points de reprise par niveau de jeu et localité: un niveau de reprise réinitialise toutes les variables de niveau inférieur à leurs valeurs par défaut