Chapitre 3
Chapitre 3
Chapitre 3
Introduction
1. Définitions
• un ensemble de places
• un ensemble de transitions
• un ensemble d’arcs orientés qui associent les places (d’entrée) aux transitions et les
transitions aux places (de sortie) éventuellement porteurs de poids. Ces arcs sont des
liens entre place et transition ou entre transition et place exclusivement.
Dans cette structure se déplacent des jetons (ou marques) qui apparaissent dans les
places et sont susceptibles de franchir les transitions selon certains critères de franchissement.
L’état d’un réseau est défini par son marquage. Un marquage associe à chaque place un
nombre entier positif, que l’on représente graphiquement par des jetons .
Fig. 01. Exemples de Réseaux de Petri
Les places sont représentés par un cercle et les transitions en général par un trait. Le
réseau de Petri est représenté par un graphe avec deux types de sommets les places et les
transitions. Ces différents sommets sont reliés entre eux par des arcs qui joignent des palces à
des transitions (les préconditions) et des transitions aux places (les postconditions). Il convient
aussi qu'un arc possède un poids supérieur ou égale 1 (par défault 1).
1.2. Marquage
On appelle marquage d'un réseau de Petri N = (P, T, Pré, Post) la fonction M: P → N
où chaque place contient un nombre entier (positif ou nul) de marques ou jetons. Le nombre
de marques ou de jetons contenu dans une place Pi sera noté m(Pi). Le marquage du réseau à
l'instant i, M est défini par le vecteur de ces marquages M = (m(P1), m(P2), …,m(Pn)). Le
marquage dit initial décrit l'état initial du système modélisé (M0).
Exemple:
(3, 4, 1, 0) → ′(1, 3, 2, 3)
Remarques :
1) Le franchissement d'une transition ne garantit pas la conservation de la quantité de marques
globale. Dans l’exemple précédent, on a globalement un jeton de plus après franchissement de
la transition.
Selon les poids attribués aux arcs liés à une transition donnée, les transitions sont :
"Consommatrice", "Génératrice" ou "Conservatrice" de marques.
Soit une transition T reliée à un ensemble de places par n arcs amont (entrants) et m arcs aval
(sortants). Soit Pré(i) le poids d'un arc amont i de la transition T. Soit Post(j) le poids d'un arc
aval j de la transition T.
si ∑ !" Pré(i) < ∑'!" Post(j) alors la transition est génératrice
si ∑ !" Pré(i) > ∑'!" Post(j) alors la transition est consommatrice
si ∑ !" Pré(i) = ∑'!" Post(j) alors la transition est conservatrice
2) Le temps de franchissement d'une transition est nul d'un point de vue purement théorique et
en dehors de toute réalité physique.
3) Dans le principe initial des RdP, rien n'interdit le franchissement simultané de deux
transitions du même réseau. Or, la simultanéité de deux événements n'est pas cohérente pour
le physicien.
4) Les protocoles de franchissement et les conditions de déclenchement décrites
précédemment ne prennent pas en compte la notion de temps. En effet, on fait évoluer le
marquage d'un RdP sans prendre en compte ni la chronologie ni la durée des événements. Il
est donc indispensable, pour l’application, de fixer un certain nombre de règles. Ces règles
sont issues des contraintes temporelles imposées par les systèmes physiques. Elles sont issues
des deux considérations suivantes :
• Tout événement a une durée non nulle.
• Deux événements indépendants ne peuvent être simultanés.
L’évolution du marquage dans un RdP, peut alors dépendre du temps de séjour dans une place
ou du temps de franchissement d’une transition donnés.
0 →
δ
3) L'ensemble des marquages accessibles à partir du marquage M0 est noté par *M0
Exemple:
On considère le RdP de l'exemple ci-dessous.
Le marquage initial est M0=(1, 0, 0, 0, 0). Pour ce marquage M0, seule la transition T1 est
validée et son franchissement conduit au marquage M1=(0, 1, 1, 0, 0). On notera ceci :
M0 → M1
2
M1 → M2 = (0, 0, 1, 1, 0) M1 → M3 = (0, 1, 0, 0, 1)
3 8
et
Pour M2, seule la transition T3 est validée, son franchissement conduit à M4 :
M2 → M4 = (0, 0, 0, 1, 1)
8
M3 → M4 = (0, 0, 0, 1, 1)
3
M4 → M0 = (1, 0, 0, 0, 0)
:
Le franchissement, à partir de M0, de t1 puis t2 conduit au marquage M2. T1, T2 est unes
2, 3
0 2 0 → 2
δ
séquence de franchissement noté : ou encore avec δ= T1, T2
L'ensemble des marquages accessible est: *M0 = ={M0, M1, M2, M3, M4}
2. Graphe des marquages ou Graphe de transitions (ou encore Graphe d'états)
Le graphe de marquage accessibles G(N, M0) est défini comme étant le graphe dont les
sommets correspondent aux marquages accessibles à partir du marquage initial M0 et chaque
arc étiqueté par t reliant deux sommets M et M' correspond à une transition franchissable tel
1
que → ′. C'est une représentation graphique des possibilités d'évolution du RdP. Elle est
obtenue en partant du marquage initial et pour chaque nouveau marquage obtenu Mi après le
franchissement d’une transition Tj examiner les différentes possibilités d’évolution du RdP.
Ceci correspond aux différentes transitions validées par le marquage Mi.
Remarque :
Le graphe peut être fini ou infini. Dans le cas ou il est fini, il sera complet lorsque toutes les
possibilités sont représentées.
Exemple:
3. Arbre de couverture et Graphe de couverture
3.1. Arbre de couverture
L'inconvénient de la méthode précédente est que tous les réseaux n'ont pas un graphe
des marquages accessibles fini. Une méthode alternative est donc proposé. Cette méthode
consiste à construire un arbre de couverture dont le mécanisme de construction est le même
que pour le graphe des marquages accessibles. A ceci prêt que pour chaque nouveau
marquage (nœud du graphe) ajouté, on vérifie s'il n'est pas supérieur à un marquage déjà
présent sur au moins une séquence entre M0 et le nouveau marquage. Si tel est le cas tous les
marquages de place supérieurs sont remplacés par ω. Ce symbole matérialise le fait que la
place en question peut contenir autant de jetons que souhaité (elle est donc non bornée).
Définition: On dit qu'un marquage M est supérieur à un marquage M' (ou couvre un autre
marquage) si et seulement si : ; > ; <=> ∀? ; (?) ≥ ;(?)
Soit N=(R, M0) un Rdp marqué, l’arbre de couverture est construit itérativement de la manière
suivante:
1. M0 correspond à la racine de l'arbre.
2. Construire les successeurs pour chaque transition franchissable à partir de M0. Si un des
nouveaux marquage M' est strictement supérieur à M0, on remplace chacune des composantes
M'(p) supérieures aux composantes correspondantes de M0 par ω.
Pour toute transition t faire Si M0 [t> M' alors insérer M' dans l'arbre;
Si M'> M0 alors pour tout p tel que M'(p)> M0 (p) faire M'(p)= ω Fsi;
3. Pour chaque nouveau marquage Mi de l'arbre faire:
(i) S'il existe sur le chemin de M0 à Mi un marquage Mj = Mi (un marquage ancêtre est
déjà construit), alors Mi n'a pas de successeurs (on arrête la branche).
Si ∃ Mj, (M0 [δ
δ'> Mj [δ
δ''> Mi ) et (Mj = Mi) alors Mi n'a pas de successeurs Fsi;
(ii) Sinon on prolonge l'arbre en ajoutant tous les successeurs de Mi. Pour chaque
successeur Mk de Mi faire:
(a) une composante ω de Mi reste une composante ω de Mk.(ω+n =ω; ω-n=ω)
(b) S'il existe sur le chemin de M0 à Mk un marquage Mj tel que Mk > Mj alors on
remplace chacune des composantes de Mk supérieures aux composantes de Mj
par ω.
Sinon Pour toute transition t faire
Si Mi [t> Mk alors ∀p, Si Mk(p)≠ ω alors Mk(p)= Mi(p) + C(p,t) Fsi Fsi;
Si ∃ Mj , (M0 [δ
δ'> Mj [δ
δ''> Mk ) et (Mk > Mj) alors
pour tout p tel que Mk(p)> Mj(p) faire Mk(p) = ω;
insérer Mk successeur de Mi dans l'arbre;
Fsi;
M2 = (ω, ω)
t1,t2
3.3. Propriétés
4. Matrices d'incidences
Le réseau de Petri peut être décrit d'une manière algébrique. La matrice d’incidence fait la
synthèse de tous les liens entre places et transitions du RdP. Cette matrice possède un nombre
de colonnes égal au nombre de transitions du réseau, ainsi qu’un nombre de lignes égal au
nombre de places du réseau. Chaque élément de la matrice témoigne de la présence ou de
l’absence de lien entre chaque place et chaque transition, ainsi que du poids attaché à l’arc en
question. La direction l'arc permet de décrire une matrice d'incidence avant et une matrice
d'incidence arrière.
Exemple 01:
1 0 0 0 1 0 −1 1 0
ABé = Q0 1 1R A OP = Q1 0 1R donc S = Q 1 −1 0 R
0 0 1 0 1 0 0 1 −1
0 1 0 0 0 1 0 −1 1
Pour la séquence de transition δ = <t1, t2, t1> réalisable à partir de M0=(1,0,0,1), le vecteur
caractéristique est S = (2, 1, 0) on atteint le marquage M' comme suit:
1 −1 1 0 0
2
= 0 1 −1 0 Q1R
U + S X X = Q0R + Q 0 1 −1
R X Y1Z =
1
0
1 0 −1 1 0
Exemple 02:
1 0 0 1 −1 1
ABé = Y0 1Z A OP = Y1 0Z donc S = Y 1 −1Z
1 0 0 1 −1 1
Pour la séquence de transition δ = <t1, t2, t1> réalisable à partir de M0=(1,0,1), le vecteur
caractéristique est S = (2, 1) on atteint le marquage M' comme suit:
1 −1 1 0
2
= U + S X X = Y0 Z + Y 1 −1Z X [ \ = Y1Z
1
1 −1 1 0
Remarques :
La bornitude est une propriété dépendant du marquage initial. Pour un RdP borné, on
dira également que le nombre d'états accessibles à partir de l'état initial est fini, le graphe
d'états équivalent peut donc être construit. Lorsque la borne est égale à 1, le RdP est dit Sauf
ou binaire.
Exemples:
Parmi les RdP suivants, déterminer ceux qui sont bornés et ceux qui ne le sont pas.
Sur le 1er RdP les transitions T2 et T3 sont vivantes alors que T1 ne l'est pas. En effet, elle est
franchissable uniquement au démarrage. Le RdP n'est pas vivant.
Le 2ème RdP est vivant, en effet les transitions T1 et T2 sont toujours validées successivement.
Le franchissement de T1 suivi de celui de T3 conduit à une situation de blocage. Cet RdP est
donc avec blocage.
Exemple:
L’exemple ci-dessous va permettre de présenter une première approche de la
démarche de coloration. Il s’agit de modéliser l’état de trois machines similaires traitant tour à
tour deux types de pièces C1 et C2. La première modélisation se base sur l’utilisation de
réseaux de Petri ordinaires. Ce RdP se présente sous la forme de trois boucles similaires et
totalement indépendantes. Le marquage initial indique que les machines 1 et 2 sont entrain de
traiter une pièce de type 1, alors que la machine 3 traite une pièce de type 2.
P1 P1 P1
P2 P2 P2
1 2
3 P2
Définition: un multi-ensemble sur un ensemble fini non vide S est une application de S dans
N.
Un multi-ensemble est un ensemble pouvant contenir plusieurs occurences d'un même
élément. Un multi-ensemble µ est noté par:
µ = ∑_∈a ^(_). _ où µ(x) ≥0 désigne le nombre d'occurences de x dans µ
Bag(S) désigne l'ensemble des multi-ensembles sur S.
Exemple:
1) B={a, b, c, d, e}, µ={a, a, b, b, b, d, d} est un multi-ensemble de B tel que:
µ= 2a + 3b + 2d avec µ(a)= 2, µ(b)= 3, µ(c)= 0, µ(d)= 2, µ(e)= 0,
2) m = 2.α + 3.β désigne le multi ensemble m = {α, α, β, β, β} sur l'ensemble S={α ,β}
6.1. Définition formelle d'un RdPC
Un réseau de Petri coloré est tuplet Q = <P, T, C, Pré, Post > tel que :
• P est un ensemble non vide et fini de places
• T est un ensemble non vide et fini disjoint de P de transitions (P∩T = ∅)
• C définit pour chaque place et chaque transition son domaine de couleur
• Pré (respectivement Post) est une fonction linéaire qui associe à chaque p∈P et chaque t∈T
une application de Bag(C(t)) dans Bag(C(p))
• M0 est le marquage initial du réseau; c'est un vecteur indexé par P et M0(p) est un élément de
Bag (C(p)).
a) Une transition t est dite franchissable pour un marquage M et une couleur c∈C(t) si:
∀p∈P , M(p) ≥ Pré(p, t)(c)