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