Académique Documents
Professionnel Documents
Culture Documents
Les réseaux de Petri constituent un outil graphique et mathématique qui permet de simuler et modéliser
des systèmes dans lesquels les notions d’événements et d’évolution sont importantes. C’est Carl Adam
Petri qui a inventé ce formalisme en 1962.
Au départ, il s’agissait essentiellement de représenter les systèmes à événements discrets. Seuls les
systèmes qui changeaient de manière discrète pouvaient être représentés dans le cadre des réseaux de
Petri. Puis, beaucoup d’extensions ont vu le jours. Certaines sont vraiment dédiées à la modélisation de
systèmes biologiques. Par exemple, on peut citer les réseaux de Petri hybrides fonctionnels, qui permettent
de simuler l’évolution de systèmes dans lesquels certaines variables évoluent de manière discrète, d’autres
de manière continue, et dont les taux de variations sont fonctions des variables du système. Ce type de
représentation a un pouvoir d’expression très important.
Malheureusement, l’envers de la médaille est de ne pas pouvoir prouver des propriétés satisfaites par
ce type de modèles. C’est pour cela, que l’on va se focaliser sur les réseaux de Petri discrets.
L’avantage des réseaux de Petri est d’une part leurs fondations mathématiques fortes, et d’autre part
leur capacité à prendre en compte la concurrence. De plus un grand nombre de logiciels permettent de
simuler et d’analyser les Réseaux de Petri. Les différents outils conviviaux sont souvent dédiés à des
extensions temporelles des réseaux de Petri. On pourra par exemple se référer à WoPeD, à PNSim ou à
Tina.
2
P3 place
P2 t1
jeton
P1
transition
t3 P4 flèche
t2
Label sur les flèches
Intuitivement :
• Le nombre de jetons dans chaque places indique l’état de la variable associée à la place considérée.
Exemple : Si dans la figure 1.1, P3 représente l’ATP, alors, il y a 3 ATP dans le système.
• L’état initial du système est donné par le vecteur composé des nombres de jetons dans chacune des
5
6 CHAPTER 1. LES RÉSEAUX DE PETRI
places. Exemple : si la figure 1.1, représente l’état initial du système, alors le vecteur initial est
M0 = (1, 1, 3, 3)t . On appelle ce vecteur le marquage initial
• Les transitions correspondent à des événements qui peuvent avoir lieu. Ces événements ne peuvent
avoir lieu que si certaines conditions sont vérifiées : il faut que chacune des places prédécesseurs ait
assez de jetons (ressources) pour l’événement en question.
Exemple 1: Représentation d’une réaction Exemple 2: L’assemblage d’une voiture né-
enzymatique AT P + Gl + enz → F rp. cessite 1 chassis, 5 roues, 1 moteur, 2 sièges :
car
ATP 1
1
roues 5
1 1
Gl 1
voiture
1 moteur 1
Frp
HPi HPi 2 assemblage
siège
• une matrice P ost qui représente les arcs allant d’un transition à une place. L’élément (i, j) de la
matrice P ost est différent de 0 s’il y a un arc de la transition i vers la place j.
p1 p2 p3 p4
t1 1 0 2 0
Pour le premier exemple de ce chapitre, on a : P ost = 0 0 0 1
t2
t3 0 1 0 0
A partir de ces deux matrices, on définit la matrice d’incidence du réseau de Petri : C = P ostt − P re.
L’élément (i, j) de la matrice C donne le bilan pour la place i du tirage de la transition j.
t1 t2 t3
p1 0 0 0
Pour le premier exemple de ce chapitre, on a : C = p2 −1 0 1
p3 2 −1 −1
p4 0 1 −1
Définition 1.3.5 Soit s une séquence sur l’alphabet des transitions, on appelle vecteur caractéristique
le vecteur s formé des nombres d’occurrences de chaque transition.
M = M0 + P ostt .s − P re.s
= M0 + C.s
Cette équation fondamentale est finalement assez triviale. Considérons le vecteur caractéristique s
associé à une séquence de transitions franchissables particulière. Lorsqu’on calcule ∆ = C × s, on obtient
un vecteur de p entiers (p est ici le nombre de places), où l’entier enPcoordonnées i, ∆i , correspond au
n
gain/perte de la place i à la suite de la séquence de transitions: ∆i = k=1 Ci,k sk . Dans cette expression,
on fait la somme des sk × Ci,k et chacun de ces produits correspond au nombre de fois où la transition k
apparaît multiplié par le gain/perte de jetons de la place i pour un seul tirage de la transition k.
8 CHAPTER 1. LES RÉSEAUX DE PETRI
Définition 1.3.8 L’ensemble des marquages accessibles A(R, M0 ) d’un RdP R à partir d’un état initial
M0 est l’ensemble des marquages que l’on peut atteindre à partir de M0 .
10000 20000
P2 P3 11000 10100
01000 00100
02000 10010 01100 10001 00200
01010 00101
P4 P5 00110 01001
00020 00002
00010 00001
00011
2
Malheureusement, le graphe de marquage ne peut plus être construit quand le réseau est non borné
c-à-d quand le nombre de marquages accessibles est infini. D’où le recours au graphe de couverture.
T2
Exemple. Utilisez l’algorithme de construction du graphe de couverture sur le RdP représenté ci-
dessous à gauche :
P1
0
T3 T2 M2 = 0 1
T1 0 M3 = 0
1 0
M0 = 0 T1 M1 = 1 T3
ω
0 1
1
T3 M3 = 0 T1 0 T2 0
M4 = 1 M5 = 0
ω
P2 P3 ω ω
T3
T2
La place du haut représente les cellules prètes à se diviser, celles du bas des cellules filles jeunes.
3. Une transition t d’un RdP marqué (R, M0 ) est quasi-vivante s’il existe un état M 0 accessible à
partir de M0 pour lequel la transition t soit franchissable : M0 →s M et M →t .
4. Une transition t d’un RdP marqué (R, M0 ) est vivante si de tout état accessible à partir de M0 , il
existe une séquence de franchissement qui utilise t :
s t
∀M 0 ∈ A(R, M0 ), ∃s telle que M 0 → M 00 et M 00 →
s
∀M ∈ A(R, M0 ), ∃s telle que M → M0
Propriété 1.6.1 Soit F un vecteur de pondération des places. F est associé à un invariant de place ssi
F t .C = 0.
Propriété 1.6.2 Si F1 et F2 sont associés à des invariants de places, alors pour tout (n1 , n2 ) ∈ N,
n1 F1 + n2 F2 est associé à un invariant de places.
F t .M0
Propriété 1.6.3 Toutes les places d’une composante conservative sont bornées et de plus M (pi ) ≤ qi
où qi est le poids associé à la place pi .
4
Les lignes sont dans l’ordre a,b,e, ae4 et be.
t2 t4 Les colonnes sont dans l’ordre t1 , t2 , t3 , t4 .
−α − 4γ + δ = 0
α + 4γ − δ = 0 α + 4γ = δ
⇐⇒
−β − γ + ε = 0 β+γ =ε
β+γ−ε=0
• Supposons que uniquement 2 éléments soient non nuls (10 choix possibles).
– α et δ : α = 1 et δ = 1 – Trouvé
– γ et δ : γ = 1 et δ = 4 – Impossible
– β et ε : β = 1 et ε = 1 – Trouvé
– γ et ε : γ = 1 et ε = 1 – Impossible
• Supposons que uniquement 3 éléments soient non nuls (10 choix possibles).
– α, γ et δ : α = 1, γ = 1 et δ = 5 – Impossible
– β, γ et ε : β = 1, γ = 1 et ε = 2 – Impossible
– γ, δ et ε : γ = 1, δ = 4 et ε = 1 – Trouvé
• Supposons qu’il y a qu’un élement nul (5 choix possibles).
– α = 0 : γ = 1, δ = 4, β = 1, ε = 2 – Composition des invariants précédents
– β = 0 : γ = 1, ε = 1, δ = 5, α = 1 – Composition des invariants précédents
– γ = 0 : α = δ = β = ε = 1 – Composition des invariants précédents
– δ = 0 : impossible
– ε = 0 : impossible
• Supposons qu’aucun élément soit nul. α = γ = β = 1, ε = 2, δ = 5 – Composition
Dans cet exemple nous avons trouvé tous les invariants de places par une méthode assez empirique. Elle
est difficilement automatisable.
Méthode pour la recherche des P-invariants. Cette méthode est basée sur le fait suivant. On ne
modifie pas les solutions d’un système linéaire en effectuant les opérations suivantes sur les lignes :
• échange de 2 lignes,
• multiplication d’une ligne par un entier
• addition d’une ligne à une autre
12 CHAPTER 1. LES RÉSEAUX DE PETRI
Le but de cette méthode est de triangulariser la matrice (ou une sous matrice carré). Cette méthode
amène toujours à une matrice qui est de la forme :
1 1 ... 1 1 ... 1
0 1 ... 1 1 ... 1
.. . . . . ..
.
. . . 1 ... 1
0 ... 0 1 1 ... 1
0 ... ... 0 0 ... 0
. .. .. ..
.. . . .
0 ... ... 0 0 ... 0
Les lignes de “zéros” représentent les composantes conservatives. En effet, les lignes nulles de la matrice
sont des “compositions de places” telles qu’aucune transition ne peut faire changer.
Les lignes sont celles associées aux places : a, b, c, ae4 et be. On peut alors modifier les lignes de la
matrice (en utilisant les opérations précédentes) pour faire apparaître des lignes nulles:
1. on remplace la 5ème ligne (be) par b + be, elle devient nulle.
2. on remplace la 4ème ligne (ae4 ) par a + ae4 , elle devient nulle.
3. on remplace la 3ème ligne (e) par 4ae4 + be + e, elle devient nulle.
On obtient la matrice :
a −1 +1 0 0
b
0 0 −1 +1
a + ae4 0 0 0 0
b + be 0 0 0 0
e + 4ae4 + be 0 0 0 0
Les P-invariants sont donc : a + ae4 , b + be et e + 4ae4 + be