Les réseaux de Petri pour la simulation de systèmes

Transcription

Les réseaux de Petri pour la simulation de systèmes
Les réseaux de Petri pour
la simulation de systèmes biologiques
Département Génie Biologique
GB 4 – Année 2013–2014
Jean-Paul Comet
Laboratoire I3S, UMR 6070 CNRS/UNSA Université de Nice-Sophia-Antipolis
Ecole Polytech
April 25, 2014
2
Contents
1 Les
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
réseaux de Petri
Les concepts de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Représentation Matricielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Définitions formelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Représentation de la dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Quelques propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Invariants de Places . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Invariants de transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exploitation des T-invariants . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ensemble de transitions dépendantes (ADT sets: abstract dependent transition sets
5
5
7
8
9
11
12
15
19
19
2 Les
2.1
2.2
2.3
réseaux de Petri hybrides fonctionnels
Intérêt des HFPN pour la biologie . . . . . . . . . . . . . . . . . . . . . . . . . .
Définition des réseaux de Petri Hybrides Fonctionnels HFPN . . . . . . . . . . . .
Cell Illustrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
22
22
24
3
4
CONTENTS
Chapter 1
Les réseaux de Petri
Les réseaux de Petri constituent un outil graphique et mathématique qui permet de simuler
et modéliser des systèmes dans lesquels la notion d’événements et d’évolution sont importants.
C’est Carl Adam Petri qui a inventé ce formalisme en 1962.
A départ, il s’agissait essentiellement de représenter les système d’événements discrets. Seuls
les systèmes qui changeaient de manière discrète pouvaient être représenter 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ème biologique. Par exemple, on peut citer les réseaux de Petri hybrides
fonctionnels, qui sont permettent de simuler l’évolution de systèmes dans lequel certaines variables évoluent de manière discrète, d’autres de manière continue, et dont les taux de variations
sont fonction 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 dans un premier temps
sur les réseaux de Petri.
L’avantage des réseaux de Petri est d’une part de se baser sur des fondations mathématiques
fortes, et d’autre part de 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.
1.1
Les concepts de base
La figure présente tous les éléments de bases des réseaux de Petri.
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, 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 places.
Exemple, si la figure 1, représente l’état initial du système, alors le vecteur initial est
MO = (1, 1, 3, 3)t
On appelle ce vecteur le marquage initial
5
6
CHAPTER 1. LES RÉSEAUX DE PETRI
t1
P2
place
2
jeton
P3
transition
P1
flèche
t2
t3
Label sur les flèches
P4
Figure 1.1: Un réseau de Petri
ATP
1
Gl
1
1
Frp
1
HPi
HPi
Figure 1.2: Exemple 1
• Les transitions correspondent à des événements qui ont (ou n’ont pas) lieu. C’est é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: AT P + Gl + enz → F rp.
exemple 2: Pour assembler une voiture, il faut 1 chassis, 5 roues, 1 moteur, 2 sièges :
On dit alors qu’une transition est franchissable.
car
1
roues
5
1
moteur
1
2
assemblage
siège
Figure 1.3: Exemple 2
voiture
1.2. REPRÉSENTATION MATRICIELLE
7
• Parmi toutes les transitions franchissables, on en choisit une en particulier. On dit que l’on
tire la transition choisi.
• Il y a alors une modification de l’état (marquage) :
– consommation des ressources nécessaires pour l’événement,
– production des éléments produits par l’événement.
exemple 1 (suite): Si le marquage initial M0 est : (ATP:3, Gl:2, HPi:1, Frp:0), alors le
marquage M1 est (ATP:2, Gl:1, HPi:0, Frp:1)
On voit apparaître ici une difficulté : l’enzyme HPi est consommé dans le réseau de Petri.
– si on enlève la flèche de HPi vers la transition, HPi n’est plus nécessaire au tirage de
la transition,
– on rajoute alors une flèche de la transition vers HPi.
ATP
1
1
Gl
1
Frp
1
HPi
1
HPi
Avec ce nouveau réseau de Petri le le marquage M1 devient (ATP:2, Gl:1, HPi:1, Frp:1)
exemple 2 (suite): Reprennons maintenant le cas du montage de la voiture. Si le
marquage initial M0 est : (carosserie:15, roues:16, moteur:3, sièges:5,voiture:3) alors le
marquage M1 est (carosserie:14, roues:11, moteur:2, sièges:3,voiture:4)
1.2
Représentation Matricielle
Le réseau de Petri est représenté par :
• un ensemble de place : {p1 , p2 , p3 , p4 }
• un ensemble de transitions : {t1 , t2 , t3 , t4 }
• une matrice P re qui représente les arcs allant d’une place à une transition. L’élément (i, j)
de la matrice P re est différent de 0 s’il y a un arc de la place i vers la transition j.
Pour le premier exemple de ce chapitre, on écrit :
P re =
p1
p2
p3
p4
t1 t2
1 0
 1 0

 0 1
0 1
t3
0
0
1
0




8
CHAPTER 1. LES RÉSEAUX DE PETRI
• 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.
Pour le premier exemple de ce chapitre, on écrit :
P ost =
t1
t2
t3
p1
1
 0
0
p2
0
0
1
p3
2
0
0
p4
0
1 
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.
Pour le premier exemple de ce chapitre, on écrit :
C=
1.3
p1
p2
p3
p4
t2
t3
 t1
0
0
0
 −1 0
1

 2 −1 −1
0
1 −1




Définitions formelles
Définition 1.3.1 Un RdP est un quadruplet R = (P, P, P re, P ost) où
• P est un ensemble fini de places
• T est un ensemble fini de transitions
• P re est une application de P × T → N
• P ost est une application de T × P → N
A partir de P et T , on introduit la matrice d’incidence C = P ostt − P re
Définition 1.3.2 Un marquage est une application M : P → N
Définition 1.3.3 une transition t est franchissable si
∀p ∈ P, M (p) ≥ P re(p, t)
t
On note parfois M (t > ou encore M →
Définition 1.3.4 Si t est franchissable, pour le marquage M , le franchissement (tir) de la transition t donne le nouveau marquage M 0 td
∀p ∈ P, M 0 (p) = M (p) − P re(p, t) + P ost(t, p) = M (p) + C(t)
t
On note M → M 0 ou M (t > M 0 .
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.
1.4. REPRÉSENTATION DE LA DYNAMIQUE
9
Exemple : pour la séquence s = t1 t2 t1 t3 t1 , on a s = (3, 1, 1)t
Définition 1.3.6 (Equation Fondamentale.) Si s correspond à une suite de transitions franchissables, alors l’état obtenu après avoir franchi les transitions de s est donné par:
M
= M0 + P ostt .s − P re.s
= M0 + C.s
Montrer sur un exemple que cette équation fondamentale exprime bien la sémantique des
RdP.
Définition 1.3.7 (Conflit/parallélisme)
• deux transitions t1 et t2 sont en conflit structurel si elles ont une place d’entrée en commun.
• deux transitions t1 et t2 sont en conflit effectif pour le marquage M si t1 et t2 sont en
conflit structurel et si les 2 transitions sont franchissables.
• deux transitions t1 et t2 sont parallèles structurellement si elles n’ont aucune place d’entrée
en commun.
• deux transitions t1 et t2 sont parallèles pour un marquage donné M si elles sont parallèles
structurellement et si elles sont franchissables.
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 .
1.4
Représentation de la dynamique
Deux notions peuvent représenter la dynamique : le graphe de marquage et l’arborescence de
couverture.
On utilise le graphe de marquages quand le nombre de marquages accessibles est fini :
• l’ensemble des sommets est l’ensemble des marquages possibles
• il existe une flèche allant d’un marquage M1 à un autre marquage M2 s’il existe à partir
du marquage M1 une transition tirable qui mène au marquage M2 .
Exemple. Tracer le graphe de marquage pour le réseau de Petri de la figure suivante:
Un 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 recourt au graphe dit de couverture. C’est
un graphe à nombre de marquages fini.
10
CHAPTER 1. LES RÉSEAUX DE PETRI
Algorithme de construction d’un graphe de marquage
1. A partir du marquage initial M0 indiquer toutes les transitions validées et les marquages
accessibles successeurs correspondants. Si un des marquages est strictement supérieur à
M0 , on met la variable ω pour chacune des composantes supérieures aux composantes de
M0 .
2. Pour chaque nouveau marquage Mi , on fait l’une des étapes suivantes :
(a) S’il existe sur le chemin de M0 jusqu’à Mi (ce dernier exclus) un marquage Mj = Mi
alors Mi n’a pas de successeurs.
(b) Sinon, on prolonge le graphe avec les successeurs Mk (Mi ) : Une composante ω de Mi
reste une composante ω de Mk . S’il existe un marquage Mj sur le chemin de M0 à
Mk tel que Mk > Mj , alors on met ω pour chacune des composantes supérieures aux
composantes de Mj .
Remarques : Le marquage symbolique ω désigne un nombre de jetons dans une place Pi qui
peut atteindre un nombre très grand (l’infini). Il représente en effet une infinité de marquages
possibles.
Les opérations arithmétiques avec ω sont simple : l’addition de ω avec un entier donne ω; la
soustration de ω avec un entier donne ω.
Exemple. Soit le RdP suivant :
T1 est une transition source, franchissable un nombre infini de fois. D’où le recours au graphe
de couverture. A partir du marquage initial M0 = (0), seule la transition T1 est franchissable :
M0 (T1 > M1 = (1). M1 est supérieur à M0 donc M1 = (w). A partir de M1 , les deux transitions
T1 et T2 sont franchissables :
• Si on franchit T1 : M2 = (w + 1) = (w) = M1 donc M2 n’a plus de successeurs.
• Si on franchit T2 : M3 = (w − 1) = (w) = M1 donc M3 n’a plus de successeurs.
D’où le graphe de marquage correspondant.
Exemple. Soit le RdP suivant :
Développer l’algorithme sur l’exemple.
1.5. QUELQUES PROPRIÉTÉS
1.5
11
Quelques propriétés
Un RdP ne peut pas atteindre n’importe quel marquage, et on ne pourra pas franchir n’importe
quel séquence de transitions. Ici, on recense quelques propriétés classiquement utilisées qui
qualifient une partie de la dynamique des RdP.
1. une place p d’un RdP marquée (avec marquage initial) est k-borné si
∀M 0 ∈ A(R, M0 ), M 0 (p) ≤ k
Si k = 1, la place est binaire.
2. un RdP marqué est k-borné (bounded) si toutes les places sont k-bornées. Si k vaut 1, le
RdP est dit binaire.
Voici un exemple de réseau non borné.
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 :
s
t
M0 → M et M →
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 →
un RdP est dit vivant si toutes ses transitions le sont.
5. Un RdP est réinitialisable (propre) si de tout état accessible, il est possible de revenir à
l’état initial :
s
∀M ∈ A(R, M0 ), ∃s telle que M → M0
12
CHAPTER 1. LES RÉSEAUX DE PETRI
1.6
Invariants de Places
Définition 1.6.1 (Invariant de places)
• On a un invariant de place linéaire s’il existe une pondération sur le marquage des places
telle que :
q1 m1 + q2 m2 + ... + qn mn = constante ∀M ∈ A(R, M0 )
telle que ∀i ∈ [1, ..., n], qi ∈ N
• L’ensemble des places telles que leur pondération est non nulle est une composante conservative
• un réseau est dit conservatif si l’ensemble des places du réseau forme une composante
conservative.
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.
Preuve : L’équation fondamentale donne : M = M0 + C.s
D’après la définition de la composante conservative,
F t .M = cte = F t .M0 + F t .C.s ∀s
On en déduit que F t .C.s = 0, ∀s.
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.
Propriété 1.6.3 Toutes les places d’une composante conservative sont bornées et de plus
M (pi ) ≤
F t .M0
qi
où qi est le poids associé à la place pi .
Preuve :
qi mi + Σj6=i qj mj
or Σj6=i qj mj ≥ 0
qi m i
mi
= Σqj mj
≤ Σqj mj
Σqj mj
≤
qi
Générallement, il y a une infinité de P-invariants. On cherche donc les invariants minimaux :
• les invariants minumum sont linéairement indépendants les uns des autres,
• le PGCD de leurs éléments est égal à 1
Mais à quoi servent les invariants de places ?
Ils correspondent à des règles de préservation de quantité de matière.
1.6. INVARIANTS DE PLACES
13
Exemple. Soit le système d’équations chimiques suivant :
−→
−→
−→
−→
a + 4e
ae4
b+e
be
1. Le réseau de Petri est :
ae4
a + 4e
be
b+e
e
a
b
4
t1
t3
ae4
be
4
t2
t4
2. La matrice d’incidente :
a
b
e
C=
ae4
be






−1
1
0
0
0
0 −1
1
−4
4 −1
1
1 −1
0
0
0
0
1 −1






Les lignes sont dans l’ordre a,b,e, ae4 et be.
Les colonnes sont dans l’ordre t1 , t2 , t3 , t4 .
3. Les P-invariants sont donnés par l’équations (α, β, γ, δ, ).C = 0

−α − 4γ + δ = 0



α + 4γ − δ = 0
α + 4γ = δ
⇐⇒
−β − γ + ε = 0
β+γ =ε



β+γ−ε=0
• Supposons que uniquement 2 éléments soient non nuls.
–
–
–
–
α et δ :
γ et δ :
β et ε :
γ et ε :
α = 1 et δ = 1 – Trouvé
γ = 1 et δ = 4 – Impossible
β = 1 et ε = 1 – Trouvé
γ = 1 et ε = 1 – Impossible
• Supposons que uniquement 3 éléments soient non nuls.
– α, γ 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.
– α = 0 : γ = 1, δ = 4, β = 1, ε = 2 – Composition
– β = 0 : γ = 1, ε = 1, δ = 5, α = 1 – Composition
– γ = 0 : α = δ = β = ε = 1 – Composition
14
CHAPTER 1. LES RÉSEAUX DE PETRI
– δ = 0 : impossible
– ε = 0 : impossible
• supposons qu’aucun élément soit nul. α = γ = β = 1, ε = 2, δ = 5 – Composition
Dans l’exemple précédent, 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èmes linéaires 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
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.
Exemple. Reprenons le même exemple. On a :

a
−1
1
0
0

b  0
0 −1
1
e 
−4
4
−1
1
C=

ae4  1 −1
0
0
be
0
0
1 −1






Les lignes sont celles associées aux places : a, b, c, ae4 et be.
• on remplace la 5ème ligne (be) par b + be, elle devient nulle.
• on remplace la 4ème ligne (ae4 ) par a + ae4 , elle devient nulle.
• on remplace la 3ème ligne (e) par 4ae4 + be + e, elle devient nulle.
On obtient la matrice :
a
b
a + ae4
b + be
e + 4ae4 + be







−1 +1
0
0
0
0 −1 +1 

0
0
0
0 

0
0
0
0 
0
0
0
0
Les P-invariants sont donc : a + ae4 , b + be et e + 4ae4 + be
1.7. INVARIANTS DE TRANSITIONS
1.7
15
Invariants de transitions
Définition 1.7.1
• une séquence répétitive est une séquence de transitions qui permet de
revenir à l’état de départ.
Elle est dite minimale si aucun de ses préfixes stricts n’est une séquence répétitive.
• L’ensemble des transitions qui apparaîssent dans une séquence répétitive forme une composante répétitive.
• le réseau de Petri est dit répétitif s’il existe une séquence répétitive qui contient toutes les
transitions du réseau de Petri.
Théorème 1.7.1 Soit S une séquence de franchissement et T (S) l’ensemble des transitions
apparaîssant dans S.
T (S) est une composante répétitive ssi C.S = 0.
Preuve. L’équation fondamentale donne M 0 = M + C.v.
Si on revient à l’état initial c’est que C.v = 0 et donc que v est solution de C.v = 0.
A quoi servent les invariants de transitions ?
• Ils représentent un ensemble de réactions chimiques permettant de maintenir le système
dans un état stationnaire. Si toutes ces réactions ont lieu, l’état du système n’est pas
modifié.
• Ils représentent donc l’ensemble des activités du réseau métabolique à un état stationnaire.
exemple 1. Soit le système d’équations chimiques déjà vu :
a + 4e
ae4
b+e
be
Le réseau de Petrie :
a
b
4
t1
t3
ae4
t2
4
be
−→
−→
−→
−→
ae4
a + 4e
be
b+e
La matrice d’incidente :

a
−1
1
0
0

b  0
0 −1
1
e 
−4
4
−1
1
C=

ae4  1 −1
0
0
be
0
0
1 −1






t4


x
 y 

Les invariants sont les solutions de l’équation C. 
 z  = 0.
t

 x=y
x=y
z=t
Ce système s’écrit
qui est équivalent à
z=t

−4x + 4y − z + t = 0
Il y a donc 2 t-invariants :
16
CHAPTER 1. LES RÉSEAUX DE PETRI
• (1, 1, 0, 0)t
• (0, 0, 1, 1)t
Exemple 2. Soit le système d’équations chimiques suivant :
−→
−→
−→
−→
−→
a+e
c
e + e0
b + e0
d
Le réseau de Petri :
a
e
c
a + e0
∅
d
b+e
t5
e’
t1
b
t3
c
d
t2
La matrice d’incidente :


a
−1
1
0
0
0
e 
0
0
1 −1 
 −1


c  1 −1
0
0
0 

C= 0 
e  0
1 −1
0 −1 

b  0
0 −1
1
0 
d
0
0
1 −1
0
t4



Recherche des T-invariants : C. 


α
β
γ
δ
ε



=0



α




ε
+
α

α


β



γ
=
β
=
δ
=
β
= γ+ε
=
δ
Si α est nul, tous les autres sont nuls aussi. Ce n’est pas un invariant de transitions. Sinon
• α = 1, β = 1, γ = 1, δ = 1, ε = 0. ⇒ Premier invariant trouvé : (t1 , t2 , t3 , t4 )
• α = 1, β = 1, γ = 0, δ = 0, ε = 1. Impossible.
• α = 1, β = 1, γ = 2, δ = 2, ε =?. Impossible.
Exemple 3 (recherche des P-invariants et des T-invariants): Soit le système d’équations
chimiques suivant :

 2 AT P + Gl −→ F rpp
F rpp
−→ 2.GAP

GAP
−→ P y + 2.AT P
1.7. INVARIANTS DE TRANSITIONS
Le réseau de Petri :
ATP
Py
GL
2
2
t3
Gap
t1
Frpp
2
t2
17
La matrice d’incidente :

−2
0
2
AT P
−1
0
0
Gl 

1
−1
0
C = F rpp 


0
2 −1
Gap
0
0
1
Py








α
1. Recherche des T-invariants : C  β  = 0
γ

γ




α

α


γ



γ
=
α

=
0
 α = 0
=
β
β = 0 =⇒ Pas d’invariants
=⇒

= 2×β
γ = 0
=
0
L’absence de T-invariant est normal :
• on consomme du Gl
• on synthétise du Py
2. Recherche des P-invariants : xt C = 0
AT P
Gl
F rpp
Gap
Py






−2
0
2
−1
0
0
1 −1
0
0
2 −1
0
0
1

AT P

Gl

 =⇒
F rpp + Gl


Gap + 2F rpp + 2Gl
P y + Gap + 2F rpp + 2Gl






−2
0
2
−1
0
0
0 −1
0
0
0 −1
0
0
0






Pour être sûr qu’il n’y a pas d’autres P-invariants, il faut voir qu’on ne peut plus annuler
les éléments d’une ligne par des combinaisons linéaires (positives) des lignes. Ici, la ligne
correspondant à (Gap + 2 Frpp) est le vecteur (2, 0, −1) et du coup, on peut remplacer la
ligne ATP par (ATP + (Gap + 2 Frpp) + (Gap +2 Frpp + 2 Gl)) qui est la ligne nulle.
Le système devient :
Gl
F rpp + Gl
Gap + 2F rpp + 2Gl
P y + Gap + 2F rpp + 2Gl
AT P + (Gap + 2F rpp) + (Gap + 2F rpp + 2Gl)







−1
0
0
0 −1
0 

0
0 −1 

0
0
0 
0
0
0
Il y a donc 2 P-invariants.
Dans le cas où on ne veut pas utiliser cette méthode du pivot de Gauss, il faut revenir au
système d’équations en nombres entiers et raisonner par cas pour ne pas oublier de cas.
18
CHAPTER 1. LES RÉSEAUX DE PETRI
Exemple 4 (recherche des P-invariants et des T-invariants):
Soit le système d’équations chimiques suivant :

 2.AT P + Gl −→ F rpp
F rpp
−→ 2.GAP

GAP
−→ P y + AT P
Le réseau de Petri associé est :
ATP
Py
Gl
1
2
t3
Gap
t1
Frpp
2
t2
Calculs des différentes matrices :
P re =
1
2
3
4
5






a
2
1
0
0
0
b
0
0
1
0
0
c
0
0
0
1
0






P ost =
a
b
c
 1
0
 0
1

α
1. Recherche des T-invariants : C  β  = 0
γ

−2a
+c =




−a
=

a
−b
=


2b
−c
=



c
=
2
0
0
0
3
1
0
0
4
0
2
0
5 
0
=⇒ C =
0 
1
1
2
3
4
5






a
b
c
−2
0
1
−1
0
0
1 −1
0
0
2 −1
0
0
1

0
0
0 =⇒ a = b = c = 0
0
0
Il n’existe pas de vecteur y non nul tel que C.y = 0. Il n’y a donc pas d’invariant de
transitions.
2. Recherche des P-invariants : xt C = 0
AT P
Gl
F rpp
Gap
PG






t1
t2
t3

−2
0
1
−1
0
0 
 =⇒
1 −1
0 

0
2 −1 
0
0
1
AT P + F rpp
Gl + (AT P + F rpp)
2 × (F rpp + Gl) + Gap
Gap + 2 × (F rpp) + AT P
PG
AT P + F rpp
Gl + (AT P + F rpp)
2 × (F rpp + Gl) + Gap
Gap + 2 × (F rpp) + AT P
P G + (2 × (F rpp + Gl) + Gap)
Il y a donc 2 P-invariants :
• ATP + 2 Frpp + Gap
• PG + 2 Frpp + 2 Gl + Gap
t1
t2
t3

1 −1
1
 0 −1
1 

 =⇒
 0
0 −1 


 0
0
0 
0
0
1

t1
t2
t3

1 −1
1
 0 −1
1 


 0
0 −1 


 0
0
0 
0
0
0







1.8. EXPLOITATION DES T-INVARIANTS
1.8
19
Exploitation des T-invariants
L’ensemble des T-invariants peut aider à identifier les parties du réseau qui sont superflues vis à
vis de la fonction métabolique que l’on étudie.
En fait, chaque T-invariant peut être vu comme un module qui permet lorsqu’il fonctionne “à
la bonne vitesse”, de maintenir l’état du système. Les T-invariants triviaux (réactions réversibles)
ne contribuent pas à la voie métabolique; ils ne sont pas très intéressants. Par contre les autres
T-invariants contribuent à la voie métabolique.
Les transitions qui ne sont impliquées dans aucun T-invariant non-trivial sont des candidats
pour une réduction du réseau. Si on reprend le cas de la synthèse de l’amidon dans la pomme
de terre, les candidats pour une réduction du modèle sont :
• SPSr
• AdK et AdKr
Exercice : supprimez les transitions correspondant à ces candidats dans le RdP de la synthèse
de l’amidon dans la pomme de terre et recalculer les T-invariants. Qu’en déduisez-vous ?
1.9
Ensemble de transitions dépendantes (ADT sets: abstract
dependent transition sets
Définition 1.9.1
• deux transitions dépendent l’une de l’autre si elles apparaîssent toujours
ensemble dans l’ensemble des T-invariants (non triviaux). Autrement dit, à un état stationnaire l’une des transitions ne peut fonctionner sans l’autre.
• cette relation est reflexive, symétrique et transitive. C’est donc une relation d’équivalence
menant à une partition de l’ensemble des transitions en classes d’équivalence. L’ensemble
des classes d’équivalence est appelé ADT sets ou ensembles des transitions dépendantes.
Montrez que quelque soit la classe d’équivalence et quelque soit le T-invariant considéré, soit
tous les éléments de la classe sont dans le support du T-invariant, soit aucun.
Comme les ensembles de transitions dépendantes (ADT sets) sont disjoints par définition,
ils définissent des sous-réseaux qui peuvent se chevaucher uniquement par les places définissant
l’interface. Du coup, on peut construire une abstraction du réseau de départ :
• calculer les ensembles de transitions dépendantes (ADT sets), qui doivent être connectés,
• a chaque ensemble de transitions dépendantes, associer une transition
• à chaque interface, on associe une place
exemple 1. Reprenons l’un des exemples précédents (voir ci-dessous). Les deux t-invariants
sont : (1, 1, 0, 0) et (0, 0, 1, 1).
20
CHAPTER 1. LES RÉSEAUX DE PETRI
e
a
e
a
b
b
4
4
t1
t1
t3
t3
ae4
ae4
4
be
be
4
t2
t2
t4
t4
L’interface des deux sous-réseaux induits par les T-invariants est la place e. Le réseau abstrait
est donc :
e
4
t1
t3
4
Exemple 2. Soit le système suivant :



























−→
−→
−→
−→
−→
−→
−→
−→
−→
a
b
2.b
c
c
d
e
3.e
f
b
c
d
a
3.e
e
2.b
f
c
Peut-on décomposer ce système en sous-système ?
1. Construction du RdP associé
t1
a
t3
b
C1
d
b
2
2
t4
c
t2 t7
3
t5
3
t9
2
C2
t6
e
c
e
t8
f
3
C3
2. Calcul des invariants : (t1 , t2 , t4 ), (t3 , t6 , t7 ) et (t5 , t8 , t9 )
3. Calcul des classes d’équivalence : C1 = {t1 , t2 , t4 }, C2 = {t3 , t6 , t7 } et C3 = {t5 , t8 , t9 }
4. construction du réseau abstrait.
Chapter 2
Les réseaux de Petri hybrides
fonctionnels
Comme nous l’avons vu précédement, un réseau de Petri est constitué de places, transitions, arcs
et jetons. Les places peuvent heberger des jetons. Une transition possède des arcs entrant, et
des arcs sortant.
les réseaux de Petri Hybrides (Alla and David, 1998) constituent extension des réseaux de
Petri dans laquelle il y a 2 sortes de places et deux sortes de transitions : des places (resp.
transitions) discrètes et des places (resp. transitions) continues.
• une place discrète et une transition discrète correspondent aux places et transitions dans
la modélisation des réseaux de Petri usuels.
• Une place continue peut contenir une quantité qui maintenant n’est plus un entier positif
mais un réel non négatif.
• Une transition continue tire continuement à une vitesse fixe, spécifiée par un paramètre
assigné à la transition.
Les notations courament utilisées sont montrées en figure 1.
Comme le montre cette figure, les trois types d’arcs sont introduits (arc normal, arc inhibiteur
et arc test). Une valeur spécifique est assignée à chaque arc, elle est appelé poids w.
• Lorsque un arc normal est attaché à une transition discrète/continue, w jetons sont transférés à travers l’arc normal
transition
discrète
arc normal
place
discrète
transition
continue
arc inhibiteur
place
continue
arc test
Figure 2.1: Eléments de bases des réseaux de Petri hybrides fonctionnels
21
22
CHAPTER 2. LES RÉSEAUX DE PETRI HYBRIDES FONCTIONNELS
• un arc inhibiteur permet le tirage de la transition uniquement lorsque le contenu de la place
source est inférieur au poids w.
Par exemple, un arc inhibiteur peut être utilisé pour représenter une activité repressive
dans une régulation génétique.
• un arc test permet à la transition destination de l’arc de ne pas consommer le contenu
de la place source lors de son franchissement. Par exemple, un arc test peut représenter
l’activité enzymatique puisque l’enzyme n’est pas consommé.
Dans les réseaux dynamiques hybrides (HDN) (Drath, 1998), la sémantique des transitions
est différentes. dans ce formalisme, il est possible que la vitesse des transitions continues soit
exprimée comme une fonction des valeurs des différentes places du réseau.
Les réseaux de Petri hybrides fonctionnels (HFPN) (Matsuno et al, 2003) proposent d’introduire
dans un même formalisme les deux mécanismes introduits séparément dans les HPN et les HDN.
Les HFPN rajoutent donc une 3ème caractéristiques aux arcs : une fonction des contenus de certaines places. Cette caractéristique a d’abord été introduite dans ce qui a été appelé les réseaux
de Petri fonctionnels (Hofestädt and Thelen, 1998) qui ont été utilisé pour calculer la dynamique
de processus catalytiques biologiques à partir d’une modélisation des voies biologiques basée sur
des réseaux de Petri.
2.1
Intérêt des HFPN pour la biologie
Les voies biologiques comportent une partie discrète (contrôle génétique par exemple) et une
partie continue (réaction métabolique). La présence simultanée de ces 2 caractéristiques
justifie l’intérêt de ce formalisme.
Par exemple, un sytème de contrôle allumant ou éteignant l’expression d’un gène avec un
site opérateur peut être repésenté par des éléments discrets. C’est à dire, si la place discrète
représentant le site opérateur, a un jeton, la protéine nécessaire pour activer le site opérateur
s’est lié au site, ce qui signifie que l’expression du gène a été lancée. En plus, en utilisant
le concept de délai des transitions discrètes, on peut facilement dire que la transcription
n’arrive qu’un certain temps après.
D’un autre côté, des phénomènes comme la transcription, la traduction et les réactions enzymatiques et métaboliques sont traités comme des événements dont les conditions changent
continuement. En modélisant la transcription et la traduction comme suit avec des éléments
continus, les niveaux d’expression des mRNA et des protéines peuvent être simulés.
Les places continues sont utilisées pour stocker les concentrations en mRNA et protéines. Les
vitesses de réactions de la transcription et de la traduction sont données à travers les paramètres
des transitions continues. De plus, des formules mathématiques communes, comme les équations de Michaelis-Menten peuvent être prises en compte presque directement, en donnant des
concentrations de substrats et de produits aux places continues et en paramétrant la transition
continue entre les deux places continues par la formule voulue.
2.2
Définition des réseaux de Petri Hybrides Fonctionnels HFPN
(Nagasaki et al., 2004).
Un réseau de Petri hybride fonctionnel (HFPN, Hybrid Functionnal Petri Net) est un triplet (P, T, A):
1. un ensemble de places P = Pc ∪ Pd , les éléments de Pc (resp. Pd ) sont appelés les places
continues (resp. discrète)
2.2. DÉFINITION DES RÉSEAUX DE PETRI HYBRIDES FONCTIONNELS HFPN
23
2. un ensemble de transitions T = Tc ∪ Td tel que T ∩ P = {}, les éléments de Tc (resp. Td )
sont appelés les transitions continues (resp. discrète)
3. un ensemble d’arcs A ⊂ (T ∗ P ) ∪ (P ∗ T ); Chacun des arcs est annoté par une étiquette
qui dit s’il s’agit :
• d’un arc d’entrée continu, il va alors d’une place continue vers une transition continue,
• d’un arc d’entrée discret, il va alors d’une place (continue ou discrète) vers une transition discrète,
• d’un arc d’entrée test, il part donc d’une place (continue ou discrète) et va vers une
transition (continue ou discrète),
• d’un arc de sortie continu, il va alors d’une transition continue vers une place continue.
• d’un arc de sortie discret, il va alors d’une transition discrète vers une place quelconque;
Une transition continue T est donc reliée
• à des arcs d’entrée continu et des arcs d’entrée test a1 , ..., ap allant des places sources
P1 , ..., Pp à T et
• à des arcs de sortie continus b1 , ..., bq allant de T à des places continues Q1 , ..., Qq .
Notons m1 (t), ..., mp (t) et n1 (t), ..., nq (t) le contenu des places P1 , ..., Pp et Q1 , ..., Qq au temps
t. La sémantique de la transition continue est la suivante :
1. la condition de franchissement de la transition continue est donnée par un prédicat c(m1 (t), ..., mp (t)).
Tant que cette condition est évaluée à vraie, la transition continue tire continuellement.
2. pour chaque arc d’entrée ai , T spécifie une fonction fi (m1 (t), ..., mp (t)) > 0 qui définit la
vitesse de consommation de la place Pi si T est tirée. Si ai est un arc test, alors fi (...) = 0
et rien n’est consommé dans la place Pi . Pour être précis, d[ai ](t)/dt = fi (m1 (t), ..., mp (t)).
3. Pour charque arc de sortie bj , T spécifie une fonction gj (m1 (t), ..., mp (t)) > 0 qui définit
la vitesse de production dans la place Qj au temps t. Pour être précis, d[bj ](t)/dt =
gj (m1 (t), ..., mp (t)).
Une transition discrète T est donc reliée
• à des arcs d’entrée discrets ou test a1 , ..., ap allant des places P1 , ..., Pp à T et
• à des arcs de sortie discrets b1 , ..., bq allant de T aux places Q1 , ..., Qq .
Notons m1 (t), ..., mp (t) et n1 (t), ..., nq (t) le contenu des places P1 , ..., Pp et Q1 , ..., Qq au temps
t. La sémantique de la transition discrète est la suivante :
1. la condition de franchissement de la transition discrète est donnée par un prédicat c(m1 (t), ..., mp (t)).
Si ce prédicat est évalué à vrai, alors t peut être tirée.
2. La fonction delai est donnée par une fonction d(m1 (t), ..., mp (t)) à valeur entière non négative. Si la condition de franchissement devient satisfaite au temps t, T est tirée dans un
délai d(m1 (t), ..., mp (t)). Cependant, si la condition de franchissement change pendant ce
délai, la transition T perd sa capacité à être tirée, et la condition de franchissement est
réinitialisée.
24
CHAPTER 2. LES RÉSEAUX DE PETRI HYBRIDES FONCTIONNELS
Figure 2.2: Transitions continues et discrètes des réseaux de Petri hybrides fonctionnelles. (a) Un
exemple de transition continue. Les auatre arcs d’entrée sont attachés à la transition continue TC :
deux arcs d’entrée continus partant des places continues P1 et P4 , et deux arcs test partant de la
place continue P2 et de la place discrète P3 . ai représente le poids de l’arc de la place Pi pour i
= 1, 2, 3, 4. Deux arcs continus partent de la transition TC aux places Q1 et Q2 , respectivement.
Les variables b1 et b2 désignent les poids de ces arcs. (b) Un exemple de transition discrète. Les
quatre arcs d’entrée sont reliés à la transition discrère TD : deux arcs discrets d’entrée partent
de la place discrète P1 et de la place continue P3 , et deux arcs tests d’entrée partent de la place
P2 et de la place continue P4 . ai est le poids de l’arc allant de la place Pi pour i = 1, 2, 3, 4.
Deux arcs de sorties partent de la transition TD et vont vers la place discrète Q1 et vers la place
continues Q2 . Les variables b1 et b2 désignent les poids de ces arcs.
3. Pour chaque arc ai , T spécifie une fonction fi (m1 (t), ..., mp (t)) > 0 à valeur entière non
négative qui définit le nombre de jetons (entiers) supprimés de la place Pi par le franchissement de la transition. Si ai est un arc test, alors fi (...) = 0 et aucun jeton n’est
retiré.
4. pour chaque arc bj , T spécifie aune fonction gj (m1 (t), ..., mp (t)) > 0 à valeur entière non
négative qui définit le nombre de jetons (entiers) qui sont ajoutés à la place Qj lors du
franchissement de la transition discrète.
2.3
Cell Illustrator
Cell Illustrator est un logiciel qui permet aux biologistes de dessiner et simuler des processus
biologiques complexes. Page web : http://www.fqs.pl/life_science/cell_illustrator
Bibliography
[1] Site web du data structures and software dependability.
cottbus.de/.
http://www-dssz.informatik.tu-
[2] M. Heiner and I. Koch. Petri net based system validation in systems biology. In Proc.
ICATPN 2004, pages 216–237, 2004.
[3] M. Heiner and K. Sriram. Structural analysis to determine the core of hypoxia response
network. PLoS one, 5(1):e8600, 2010.
[4] I. Koch, B.H. Junker, and M. Heiner. Application of petri net theory for modelling and
validation of the sucrose breakdown pathway in the potato tuber. Bioinformatics, 21:1219–
1226, 2005.
25

Documents pareils