Vous êtes sur la page 1sur 36

Modèles à Événements Discrets

Réseaux de Petri Stochastiques

Leonardo Brenner
Leonardo.Brenner@univ-amu.fr
www.lsis.org/brennerl

LSIS - Laboratoire des Sciences de l’Information et des Systèmes


Table des matières

1 Chaînes de Markov
Définition formelle
Idée générale
Discrete Time Markov Chains
Continuous Time Markov Chains
Propriétés
Analyse de Performance

2 Réseaux de Petri Stochastiques


Idée generale
Types de Réseaux de Petri Stochastiques
Graphe d’atteignabilité
Matrice de transition
Indices de performances
Exercices

Leonardo Brenner (LSIS) Modèles à Événements Discrets 2 / 36


Chaînes de Markov

Table des matières

1 Chaînes de Markov
Définition formelle
Idée générale
Discrete Time Markov Chains
Continuous Time Markov Chains
Propriétés
Analyse de Performance

2 Réseaux de Petri Stochastiques


Idée generale
Types de Réseaux de Petri Stochastiques
Graphe d’atteignabilité
Matrice de transition
Indices de performances
Exercices

Leonardo Brenner (LSIS) Modèles à Événements Discrets 3 / 36


Chaînes de Markov Définition formelle

Chaînes de Markov

Définition formelle
Un processus stochastique {X (t), t ≥ 0} forme une chaîne de Markov à
temps continu si pour tous les entiers n, et pour n’importe quelle séquence
t0 , t1 , ..., tn , tn+1 telle que t0 < t1 < ... < tn < tn+1 , on a

Prob{X (tn+1 ) = xn+1 |X (t0 ) = x0 , X (t1 ) = x1 , ..., X (tn ) = xn }

= Prob{X (tn+1 = xn+1 |X (tn ) = xn }

Probabilités de transition
À partir du processus stochastique Prob{X (tn+1 = xn+1 |X (tn ) = xn } on peut
écrire les probabilités de transition d’une chaîne de Markov à temps continu et
non-homogène par :

pij (s, t) = Prob{X (t) = j|X (s) = i}

où X (t) est l’état de la chaîne de Markov dans le temps t ≥ s

Leonardo Brenner (LSIS) Modèles à Événements Discrets 4 / 36


Chaînes de Markov Idée générale

Chaînes de Markov

Pourquoi étudier ce modèle ?


Formalisme classique ;
Avantage : simplicité et facilité d’utilisation ;
Problème : quasiment impossible d’envisager une modélisation directe
pour de grands systèmes.
Les propriétés mathématiques facilitent l’analyse des performances.

Modélisation par des Chaînes de Markov


Représentation du système en terme d’états/transitions ;
La dynamique du système est représentée par une matrice de transition ;
Échelles de temps :
Temps continu, distribution exponentielle, taux de transition ;
Temps discret, distribution géométrique, probabilités de transition.

Leonardo Brenner (LSIS) Modèles à Événements Discrets 5 / 36


Chaînes de Markov Idée générale

Chaînes de Markov

Définition
Une chaîne de Markov est une suite de variables aléatoires (Xn , n ∈ ) qui N
permet de modéliser l’évolution discrète et dynamique d’un système
aléatoire : Xn représente l’état du système à l’instant n.

Propriété de Markov
La propriété fondamentale des chaînes de Markov, dite propriété de Markov,
est que son évolution future ne dépende du passé que au travers de sa valeur
actuelle.

Autrement dit, (Xo , ..., Xn ) et (Xn+k , k ∈ N) sont indépendants en relation à Xn .

Leonardo Brenner (LSIS) Modèles à Événements Discrets 6 / 36


Chaînes de Markov Idée générale

Chaînes de Markov

Représentation graphique
a

R S
b

c
d
E

R (reveillé), S (sommeil) et E (endormi) sont des états ;


a, b, c et d sont des taux ou probabilités de transition.

Leonardo Brenner (LSIS) Modèles à Événements Discrets 7 / 36


Chaînes de Markov Discrete Time Markov Chains

Chaînes de Markov à temps discret - DTMC

Présentation
Dans une chaîne de Markov à temps discret, on observe l’état du système
dans un ensemble discret du temps. Autrement dit, l’intervalle de temps entre
chaque observation est constant.

Intervalle d’observation
Un important paramètre dans le DTMC est le choix de l’intervalle de temps
entre les observations :
Un intervalle trop petit ne permet pas d’observer des changements d’état.
Un intervalle trop grand permet de multiples changements d’état entre
chaque observation.

Leonardo Brenner (LSIS) Modèles à Événements Discrets 8 / 36


Chaînes de Markov Discrete Time Markov Chains

Chaînes de Markov à temps discret - DTMC

Étudiant endormi
0.5

R S
0.3

0.6
0.9
E

Matrice de transition
P =???

P est une matrice stochastique si la somme de chaque ligne est égal 1.

Leonardo Brenner (LSIS) Modèles à Événements Discrets 9 / 36


Chaînes de Markov Continuous Time Markov Chains

Chaînes de Markov à temps continu - CTMC

Présentation
Dans une chaîne de Markov à temps continu, le changement d’état peut se
produire dans n’importe quel point dans le temps.
Ces points sont aléatoires et pas nécessairement entiers.

Intervalle de temps
L’intervalle de temps entre chaque changement d’état suit une variable
exponentielle dont le taux dépend uniquement de l’état courant du système.

Leonardo Brenner (LSIS) Modèles à Événements Discrets 10 / 36


Chaînes de Markov Continuous Time Markov Chains

Rappels lois exponentielles

X variable aléatoire à valeur dans R≥0

Distribution sur R≥0


Densité de probabilité : f : R≥0 → R≥0 telle que R≥0 f (t)dt = 1
R
Rx
Fonction de répartition : F (x ) = P(X ≤ x ) = t=0 f (t)dt

Propriété “sans mémoire”


On cherche une distribution de probabilité vérifiant la propriété :

P(X > s + t | X > t) = P(X > s)

Solutions de cette équation : les lois exponentielles

Leonardo Brenner (LSIS) Modèles à Événements Discrets 11 / 36


Chaînes de Markov Continuous Time Markov Chains

Rappels lois exponentielles (2)


Lois exponentielles
Paramètre λ ∈ R>0
Densité de probabilité : f (t) = λe−λt
Fonction de répartition : F (x ) = P(X ≤ x ) = 1 − e−λx

Densité de probabilité Fonction de répartition

Propriétés
loi sans mémoire
1
Espérance (valeur moyenne) = λ
Leonardo Brenner (LSIS) Modèles à Événements Discrets 12 / 36
Chaînes de Markov Continuous Time Markov Chains

Chaînes de Markov à temps continu - CTMC

Étudiant endormi
3

R S
2

4
6
E

Matrice de transition
Q =???

Leonardo Brenner (LSIS) Modèles à Événements Discrets 13 / 36


Chaînes de Markov Propriétés

Propriétés

Irreductibilité
état accessible : Un état j est dit accessible à partir d’un état i (i → j) si à
partir de l’état i on peut arriver à l’état j avec une probabilité non-nulle.
état communicant : Un état i est dit communicant avec l’état j (i ↔ j) si
i → j et j → i. Un ensemble d’états C est une classe communicante si
tous les états dans C communique avec tous les autres et aucun état
dans C communique avec un état en dehors de C.

Chaîne de Markov irréductible


Une chaîne de Markov est dite irréductible si son espace d’états est formé par
une seule classe communicante. Autrement dit, s’il est possible d’atteindre
n’importe quel état à partir d’un état quelconque.

Leonardo Brenner (LSIS) Modèles à Événements Discrets 14 / 36


Chaînes de Markov Propriétés

Propriétés

Periodicité
état périodique : Un état i a une période k si tout retour à l’état i doit avoir
lieu dans un nombre de pas multiple de k (k > 1).
état apériodique : Si k = 1, alors l’état est dit apériodique.

Chaîne de Markov apériodique


Une chaîne de Markov est apériodique si tous les états sont aperiodiques. Il
suffit d’un seul état apériodique pour que tous les états d’une chaîne de
Markov irréductible soient aperiodiques.

Leonardo Brenner (LSIS) Modèles à Événements Discrets 15 / 36


Chaînes de Markov Propriétés

Propriétés

Récurrence
état transitoire : un état i est dit transitoire si, étant donné qu’on
commence par l’état i, il y a une probabilité non-nulle de ne plus jamais
retourner à l’état i.
état récurrent : un état i est récurrent s’il n’est pas un état transitoire.
état absorbant : un état i est dit absorbant s’il est impossible de sortir de
cet état.

Leonardo Brenner (LSIS) Modèles à Événements Discrets 16 / 36


Chaînes de Markov Propriétés

Propriétés

Ergodicité
état ergodique : un état i est dit ergodique s’il est apériodique et
récurrent.

Chaîne de Markov ergodique


Une chaîne de Markov est ergodique si elle est apériodique, et si tous ses
états sont ergodiques.

Leonardo Brenner (LSIS) Modèles à Événements Discrets 17 / 36


Chaînes de Markov Analyse de Performance

Analyse de performance
Type d’analyse
Transitoire : évolution du comportement du système (dépendant du
temps et de l’état initial) ;
Stationnaire : comportement moyen du système (independant du temps
et de l’état initial).

L’analyse transitoire nous permet d’observer l’évolution d’un système dans le


temps à partir d’un état initial. Ces systèmes ont tendance à aller vers un com-
portement stationnaire, indépendant de l’état initial et du temps.

Évolution du système
1 . . .

Régime stationnaire
Probabilité . . . π[x]
de l’état x

0 . . .
0 1 2 3 t ∞
Temps
Leonardo Brenner (LSIS) Modèles à Événements Discrets 18 / 36
Chaînes de Markov Analyse de Performance

Analyse de performance : cas ergodique


On considère des chaînes de Markov ergodiques
Discrete Time Markov Chain
On note Q la matrice de transition.
Le comportement en régime stationnaire est caractérisé par une distribution
de probabilités π, vecteur de taille n (nb d’états de la chaîne de Markov),
vérifiant :
i πi = 1
P

π.Q = π

Continuous Time Markov Chain


On note Q la matrice de transition.
Le comportement en régime stationnaire est caractérisé par une distribution
de probabilités π, vecteur de taille n (nb d’états de la chaîne de Markov),
vérifiant :
i πi = 1
P

π.Q = 0
Leonardo Brenner (LSIS) Modèles à Événements Discrets 19 / 36
Chaînes de Markov Analyse de Performance

Exercice - Chaînes de Markov

PageRank (simplifié)
PageRank est l’algorithme d’analyse des liens concourant au système de
classement des pages Web utilisé par le moteur de recherche Google. Il
mesure quantitativement la popularité d’une page web.

Fonctionnement
Le principe de base est d’attribuer à chaque page une valeur proportionnelle
au nombre de fois que passerait par cette page un utilisateur parcourant le
graphe du Web en cliquant aléatoirement, sur un des liens apparaissant sur
chaque page.
Chaque lien d’une page vers une autre correspond à une transition. Chaque
page représente un état.

Leonardo Brenner (LSIS) Modèles à Événements Discrets 20 / 36


Chaînes de Markov Analyse de Performance

Exercice - Chaînes de Markov

Exercice
Considerez un ensemble de 4 pages web. Chaque page a les liens suivants :
Page 1 : 2 et 3
Page 2 : 3 et 4
Page 3 : 1, 2 et 4
Page 4 : 1 et 2
Donnez la chaîne de Markov, la matrice de transition et le PageRank de
chaque page.

Leonardo Brenner (LSIS) Modèles à Événements Discrets 21 / 36


Réseaux de Petri Stochastiques

Table des matières

1 Chaînes de Markov
Définition formelle
Idée générale
Discrete Time Markov Chains
Continuous Time Markov Chains
Propriétés
Analyse de Performance

2 Réseaux de Petri Stochastiques


Idée generale
Types de Réseaux de Petri Stochastiques
Graphe d’atteignabilité
Matrice de transition
Indices de performances
Exercices

Leonardo Brenner (LSIS) Modèles à Événements Discrets 22 / 36


Réseaux de Petri Stochastiques Idée generale

Réseaux de Petri Stochastiques


Définition générale
Un réseau de Petri stochastique est un réseau de Petri dans lequel les temps
de franchissement des transitions sont générés par des variables aléatoires
de distributions données quelconques à support dans [0, ∞).

Motivations
Permet de modéliser des tâches avec des temps d’exécution non
determinites
Possibilité de prendre en compte des pannes aléatoires
...

Pourquoi utiliser des RdPS ?


ils permettent de modéliser et spécifier le comportement du système
étudié
de valider le modèle
d’évaluer le modèle (simulation ou calcul numérique)
Leonardo Brenner (LSIS) Modèles à Événements Discrets 23 / 36
Réseaux de Petri Stochastiques Types de Réseaux de Petri Stochastiques

Differents Réseaux de Petri Stochastiques

Cas général
Le comportement dynamique d’un réseau de Petri stochastique est décrit au
travers de processus stochastiques :

A chaque transtion t, on associe un processus stochastique


{Xt (k ), k = 1, .., ∞}, où Xt (k ) est une variable aléatoire correspondant au k me
temps de franchissement de la transition t.

Independance des variables


Les Xt (k ) pour k = 1, .., ∞ sont des distributions identiques et indépendantes.
Les séquences {Xt (k ), k = 1, .., ∞} pour tout t ∈ T , sont mutuellement
indépendantes.

Leonardo Brenner (LSIS) Modèles à Événements Discrets 24 / 36


Réseaux de Petri Stochastiques Types de Réseaux de Petri Stochastiques

Réseaux de Petri Stochastiques - Distribution


exponentielle
Réseaux de Petri Stochastiques / Stochastic Petri Nets (SPN)
RdP temporisé dans lequel les temps d’exécution des transitions sont
représentés par des variables aléatoires de distributions exponentielles.

Réseaux de Petri Stochastiques Généralisés / Generalized Stochastic Petri


Net (GSPN)
RdP dans lequel le franchissement de certaines transitions est immédiat, et
les temps d’exécution des autres transitions sont représentés par des
variables aléatoires de distributions exponentielles.

Réseaux de Petri Stochastiques et déterministes / Deterministic and


Stochastic Petri Net (SPN)
C’est une extension des GSPN dans laquelle les temps d’exécution des
transtions temporisées sont déterministes ou représentés par des variables
aléatoires de distributions exponentielles.
Leonardo Brenner (LSIS) Modèles à Événements Discrets 25 / 36
Réseaux de Petri Stochastiques Types de Réseaux de Petri Stochastiques

Définition formelle

Définition
Soit SPN = (P, T , Pre, Post, M0 , Λ) un réseau de Petri stochastique où :
P est un ensemble fini de places ;
T est un ensemble fini de transitions ;
Pre et Post sont, respectivement, les matrices d’incidence avant et
après ;
M0 est le marquage initial ;
Λ = (λ1 , .., λ|T | ) où λi est le taux associé à la transition ti (paramètre de la
loi exponentielle).

Rappel : le taux est l’inverse de la moyenne des temps de franchissement.

Leonardo Brenner (LSIS) Modèles à Événements Discrets 26 / 36


Réseaux de Petri Stochastiques Types de Réseaux de Petri Stochastiques

Hypothèses necessaires

Hypothèses
Les taux associés aux transitions sont indépendants du marquage ;

Chaque transition correspond à un serveur unique (pas de transitions


multiples au même instant) ;

On choisit une politique concurrentielle (pas de reservations de tokens).

Leonardo Brenner (LSIS) Modèles à Événements Discrets 27 / 36


Réseaux de Petri Stochastiques Types de Réseaux de Petri Stochastiques

RdPS - Exemple

Étudiant endormi

P1

Transition Taux
t4 t1 3
t1 t2 2
t3 4
t2 t4 6

P3 P2

t3

Leonardo Brenner (LSIS) Modèles à Événements Discrets 28 / 36


Réseaux de Petri Stochastiques Graphe d’atteignabilité

Grafe d’atteignabilité
Propriétés
Le graphe d’atteignabilité d’un SPN est identique à celui du réseau de
Petri non temporisé correspondant.
Un SPN est isomorphe à une chaîne de Markov à temps continu
(CTMC). En particulier, un SPN k-borné est isomorphe à une CTMC finie.

Construction de la CTMC
Le graphe d’atteignabilité, valué par les taux correspondant au franchissement
des transitions, définit le générateur d’un processus markovien homogéne. La
CTMC associée à un RdPS donné est donc obtenue en appliquant les règles
suivantes :
1 l’espace d’états de la CTMC S = {si }correspond à l’ensemble des
marquages atteignables à partir de M0 (i.e. R(M0 )) du réseau de Petri ;
2 Les taux pour passer de l’état si (correspondant à Mi ) à l’état sj (Mj ) est
obtenu en sommant tous les taux de franchissement des transitions qui
permettent de passer de Mi à Mj .
Leonardo Brenner (LSIS) Modèles à Événements Discrets 29 / 36
Réseaux de Petri Stochastiques Graphe d’atteignabilité

SPN → CTMC : exemple

Étudiant endormi
t1 3

1,0,0 0,1,0 1,0,0 0,1,0


t2 2

t3 4
t4 6
0,0,1 0,0,1

2 étudiants
Comment modeliser le comportement de deux étudiants ?

Leonardo Brenner (LSIS) Modèles à Événements Discrets 30 / 36


Réseaux de Petri Stochastiques Matrice de transition

Matrice de transition

Matrice de transition Q
La matrice de transition Q (appelée aussi générateur du processus
markovien) est obtenue ainsi :
(P
k /tk ∈Ej (Mi ) λk si i 6= j
qij =
−qi si i = j

P
qi = k /tk ∈E(Mi ) λk
E(Mi ) : ensemble des transitions franchissables à partir du marquage Mi
Ej (Mi ) : ensemble des transitions de E(Mi ) permettant d’obtenir Mj

Construisez la matrice de transition de l’exemple précédent pour 2 étudiants.

Leonardo Brenner (LSIS) Modèles à Événements Discrets 31 / 36


Réseaux de Petri Stochastiques Indices de performances

Indices de performances

Temps de séjour
Le temps de séjour suit une loi exponentielle de taux qi (la somme des taux
de toutes les transitions possibles). On a donc :
λj
La probabilité de franchir en premier tj ∈ E(Mi ) à partir de Mi est égal à qi
1
Le temps de séjour moyen dans la marquage Mi est égal à qi

Probabilités en régime stationnaire


La distribution de probabilité des états d’un SPN en régime stationnaire est
représentée par un vecteur π = (π1 , .., πs ) = (π(M1 ), .., π(Ms )) de dimension
s, où s correspond au nombre de marquages du SPN.
Si le SPN est ergodique, π est obtenu en résolvant le système suivant :
(
πQ = 0
Ps
i=1 πi = 1

Leonardo Brenner (LSIS) Modèles à Événements Discrets 32 / 36


Réseaux de Petri Stochastiques Indices de performances

Indices de performances

Fonction indice
On peut associer à chaque marquage une fonction indice (ou récompense)
r (M). Cette fonction associe le marquage à la probabilité d’état correspondant
au marquage. L’indice moyen est defini par :
X
R= r (Mi )πi
i/Mi ∈R(M0 )

Probabilité d’une condition particulière


Si γ(M) est vraie uniquement dans certains marquages du SPN, on peut
définir une fonction indice tel que :
(
1 si γ(M) est vraie
r (M) =
0 sinon

on définit alors : P(γ) = = R où A = {Mi ∈ R(M0 ) | γ(Mi )vraie}


P
i|Mi ∈A πi

Leonardo Brenner (LSIS) Modèles à Événements Discrets 33 / 36


Réseaux de Petri Stochastiques Indices de performances

Indices de performances
Nombre moyen de jetons
Pour calculer le nombre moyen de jetons, on définit la fonction indice tel que :

r (M) = n ssi M(Pi ) = n

On obtient ainsi :
X
E(M(Pi )) = nP{A(i, n)} où A(i, n) = {Mj ∈ R(M0 )/Mj (Pi ) = n}
n>0

Nombre moyen de franchissement


Le nombre moyen de franchissement par unité de temps pour une transition ti
est défini par :
X λi
Fi = πj
qj
j|Mj ∈Ai

où Ai = {Mj ∈ R(M0 ) | ti ∈ E(Mj )}


Leonardo Brenner (LSIS) Modèles à Événements Discrets 34 / 36
Réseaux de Petri Stochastiques Exercices

Ordinateur à memoire partagée


Problème
Considérez un ordinateur avec 4 processeurs et une seule mémoire partagée
entre ces processeurs. Chaque processeur peut être dans les états suivants :
Calcul, Attente et Memoire.
A chaque fois que le calcul se termine, le processeur passe à l’état d’attente
pour pouvoir accéder à la mémoire et récupérer de nouvelles données. Un
seul processeur peut accéder à la mémoire à la fois. Lorqu’il a les nouvelles
données, il reprend le calcul.
Considérez les taux suivants :
Transition Taux
C -> A 5
A -> M 10
M -> C 5

Quelle est la probabilité qu’un seul processeur soit dans l’état d’attente ?
Combien de processeurs peut-on mettre dans cet ordinateur sans perdre de
performances ?

Leonardo Brenner (LSIS) Modèles à Événements Discrets 35 / 36


Réseaux de Petri Stochastiques Exercices

Test de logiciel

Problème
Imaginez un logiciel pour lire et convertir de la musique MP3. L’interface du
logiciel est composée de trois boutons : Ouverture, lecture et conversion.
L’utilisateur ne peut pas commencer la lecture ou la conversion avant d’ouvrir
le fichier. Toutefois, il peut ouvrir un nouveau fichier lorsqu’il est en train de lire
ou de convertir un fichier.
Chaque boutons déclenche une fonction différente du logiciel. Nous voulons
tester exhaustivement chacune des trois fonction du logiciel, mais nous
n’avons que la possibilité d’en tester deux. Quelles sont les fonctions plus
utilisées ?

Leonardo Brenner (LSIS) Modèles à Événements Discrets 36 / 36

Vous aimerez peut-être aussi