9. Vorlesung Petri-Netz (Modellierung) Vorlesung WS 06/07 Modellierung & Simulation Überblick Modellierung mit Petri-Netzen – Motivation Modell zur Simulation mit den folgenden Eigenschaften: 1. System beschreibt den Informations- bzw. Daten- und Objektfluss. 2. System bildet parallel laufende Prozesse und deren Organisation und Kommunikation ab. 3. Es wird dem modularen Aufbau und der hierarchischen Struktur Rechnung getragen. 4. Anwendungsproblematik ist diskret darstellbar. 5. Für jeden eintretendenden Prozess des Systems werden die Voraussetzungen für sein Eintreten und seine Auswirkungen aufgezeigt. Vorlesung Modellierung & Simulation 6. Petri-Netze Petri-Netze Darstellungsform der Petri-Netze: Graph. Petri-Netze sind gerichtete Graphen. Zwei verschiedene Knotenarten: - Stellen und - Transitionen. Einschränkung: Kante nur zwischen zwei Knoten verschiedener Art. Vorlesung Modellierung & Simulation 6. Petri-Netze Netz zeigt die strukturellen Zusammenhänge des Systems. Das Tripel N = [P,T,F] wird Netz genannt, wenn - P und T endliche, nichtleere disjunkte Mengen sind, - F (P x T) (T x P) eine binäre Relation. Alle Elemente p von P bezeichnen die Stellen (auch Plätze) des Netzes N, die Elemente t von T die Transitionen. F ist die Bogenmenge von N. Zur Struktur einer Anwendung muss nun auch die Interpretation beschrieben werden. Vorlesung Modellierung & Simulation 6. Petri-Netze Token:Marken auf den Stellen geben an, ob eine Stelle belegt ist, d.h. ob Objekte vorliegen. Konzession: Sind alle Stellen, deren Kanten zu einer Transition hinführen belegt, kann die Transition schalten, d.h. die für die Verarbeitung notwendigen Voraussetzungen sind gegeben und der Prozess kann ausgeführt werden. Feuern: Dabei wird die Belegung den Eingabestellen entnommen und eventuell auf den Ausgabestellen eine Belegung erzeugt. Transitionen, die keine Vorstellen haben, schalten immer, Transitionen ohne Nachstellen lassen Belegungen verschwinden. Kantengewichte: Nun können beim Schalten mehrere Marken gleichzeitig einer Stelle entnommen und wieder auf eine Stelle abgelegt werden. Marken entsprechen natürlichen Zahlen, die die Konzentrationen der einzelnen Substanzen angeben, z.B. über die Anzahl der Moleküle. Markierung: Es sei N = [P,T,F] ein Netz. Jede Abbildung m von der Platzmenge P in die Menge IN aller natürlichen Zahlen wird als Markierung von P bezeichnet. Festlegung: Ist N = [P,T,F] ein Netz und x P T ein Knoten von N. Dann bezeichnet xF die Menge aller Knoten y, zu denen ein von x ausgehender Bogen aus F führt, d.h. xF := {y | (x,y) F }. Analog ist Fx definiert: Fx := {y | (y,x) F }. Vorlesung Modellierung & Simulation 6. Petri-Netze Petri-Netz: Das Quintupel N = [P,T,F,Vk,m0] heißt Petri-Netz, wenn 1) [P,T,F] ein Netz ist, 2) Vk eine Abbildung ist, die jedem Bogen f F eine positive natürliche Zahl Vk(f) zuordnet, wenn m0 eine Markierung von P ist. Gesamtzustand: Belegung der Stellen des Systems mit Marken zu einem Zeitpunkt. Sie wird als die Markierung des Netzes bezeichnet. Zustandswechsel: Schalten von Transitionen. Das Schalten von Transitionen beschreibt den Ablauf eines Systems. Vorlesung Modellierung & Simulation 6. Petri-Netze Konzession und Schalten einer Transition. Sei N = [P,T,F,Vk,m0] ein Petri-Netz, m eine Markierung von P und t eine Transition aus T. 1) Die Transition t hat Konzession bei der Markierung m, wenn für alle Vorplätze p aus Ft gilt: m(p) Vk(p,t). 2) Wenn t Konzession bei m hat, dann darf t bei m schalten. Durch Schalten von t bei m entsteht die Markierung m’ (als Formel: m[t>m’), wobei für p P gilt: m(p) -Vk(p,t) + Vk(t,p), falls pFt und ptF m’:= m(p) -Vk(p,t), falls pFt und p kein tF m(p) + Vk(t,p), falls p kein Ft und ptF m(p), sonst. Vorlesung Modellierung & Simulation 6. Petri-Netze Hexokinase Hexokinase Glucose ATP Vorlesung G6P ADP Glucose ATP Modellierung & Simulation G6P ADP 6. Petri-Netze Interpretation Anzahl der Marken gibt die Konzentration der Substanz an. Ein Abweichen von Normwerten entspricht dem Über- oder Unterschreiten von Grenzwerten für die Konzentrationen von Metaboliten, also für die Anzahl der Markierungen. Petri-Netze mit Kapazitäten. Kapazitätsbeschreibung von Reisig beinhaltet nur eine Beschränkung nach oben, die maximale Kapazität. Vorlesung Modellierung & Simulation 6. Petri-Netze Interpretation Die elementaren Reaktionen der biochemischen, genetischen und der Prozesse der Zelldifferenzierung sind durch Vorbedingungen (z. B. Substrate), Nachbedingungen (z. B. Produkte) und Inhibitor- und Repressor-Aktivitäten gekennzeichnet. Für das biologische Modell muss eine Beschränkung definiert werden, die minimale und maximale Kapazität. Erst dann ist die Abbildung eines Konzentrationsintervalls im Modell möglich, mit deren Hilfe u.a. Engpässe (Metabolic Bottlenecks) in einem Stoffwechselprozess identifizierbar werden. Außerdem spielt der zeitliche Verlauf der Konzentrationen im Raum eine wichtige Rolle. Vorlesung Modellierung & Simulation 6. Petri-Netze Petri-Netz mit Kapazitäten. Ein 7-Tupel N = [P,T,F,Kun,Kob,Vk,m0] heißt Petri-Netz mit Kapazitäten, falls gilt: 1) [P,T,F,Vk,m0] ist ein Petrinetz, 2) Kun: P IN erklärt eine minimale Kapazität für jede Stelle, 3) Kob: P IN erklärt eine (möglicherweise unbeschränkte) maximale Kapazität für jede Stelle, 4) m0: P IN ist eine Anfangsmarkierung, die die Kapazitäten respektiert, d. h. für jede Stelle p aus P gilt: Kun(p) m0(p) Kob(p). Die Begriffe der Markierung und der Konzession werden auf die Definition der Kapazitäten angepasst. Vorlesung Modellierung & Simulation 6. Petri-Netze Sei N ein Petri-Netz mit Kapazitäten. 1) Eine Abbildung m: P IN heißt Markierung von N, falls für jede Stelle p aus P gilt: Kun(p) m(p) Kob(p). 2) Sei m eine Markierung von N. Eine Transition t aus T hat Konzession bei der Markierung m, wenn für alle Vorplätze p aus Ft von t gilt: m(p) -Vk(p,t) Kun(p) und m(p) + Vk(t,p) Kob(p). Vorlesung Modellierung & Simulation 6. Petri-Netze Die alkoholische Gärung wandelt zur Energiegewinnung Glucose in Ethanol um. Die Gesamtgleichung lautet: C6H12O6 2 CO2 + 2 C2H5OH Diese Reaktionsfolge wird in der Biologie wie folgt dargestellt: CO2 Glucose Brenztraubensäure Glykolyse Vorlesung NADH + H+ NAD+ Acetaldehyd Decarboxylierung Modellierung & Simulation Ethanol Reduktion 6. Petri-Netze Wir können nun den gerichteten Graphen als Repräsentation wählen. Hier sind die Knoten die Substanzen und die Kanten geben die Reaktionsrichtung an. NADH CO2 Glucose NAD+ + H+ Brenztraubensäure Ethanol Acetaldehyd In Netzform werden auch die ablaufenden Reaktionen dargestellt: CO2 Glucose Glykolyse NADH + H+ NAD+ Br.tr.- Decarboxy- säure lierung Acetaldehyd Reduktion Ethanol Repräsentation als Petrinetz mit Anfangsmarkierung: NADH CO2 + H+ Br.tr.Glucose 1 säure 1 Glykolyse 2 1 Decarboxy- 1 lierung NAD+ Acetaldehyd 1 1 1 Reduktion Ethanol 1 Bei dieser Anfangsmarkierung hat nur die Glykolyse Konzession: NADH CO2 + H+ Br.tr.Glucose 1 säure 1 Glykolyse 2 1 Decarboxylierung 1 Acetaldehyd 1 NAD+ 1 1 Reduktion Ethanol 1 Im Beispiel der alkoholischen Gärung werden folgende Kapazitäten für die einzelnen Substanzen festgelegt: Glucose: [2, 2000] Brenztraubensäure: [0, 4000] CO2: [0, w] Acetaldehyd: [0, 4000] NADH + H+: [0, w] NAD+: [0, w] Ethanol: [0, 4000] Ausgehend vom Zustand m‘ ist nun folgender Nachfolgezustand möglich: CO2 [0, w] [0, w] + H+ Br.tr.Glucose [2, 2000] [0, w] 1 säure 1 Glykolyse 2 NADH 1 Decarboxylierung NAD+ 1 Acetaldehyd 1 1 1 [0, 4000] [0, 4000] Reduktion Ethanol 1 [0, 4000] Simulation mit Petri-Netzen Jede geschaltete Transition entspricht einem Schritt im Ablauf des gesamten Systems. Berechnung der Folgemarkierungen von Transitionsschritten: a) Definierte Beziehungen in Matrixform bringen. Zeilen repräsentieren die Stellen und Spalten die Transitionen. b) Entzug von Marken einer Stelle wird durch ein negatives Matrixelement dargestellt, die Erzeugung von Marken durch positive Matrixelemente. c) Die Startkonfiguration wird als Vektor dargestellt, dessen Größe durch die Anzahl der Stellen im Netz festgelegt ist. Vorlesung Modellierung & Simulation 6. Petri-Netze Sei m0 der Vektor der Anfangsmarkierung, C Matrix, die die Veränderungen durch das Schalten von Transitionen beschreibt und x Vektor, der angibt, welche Transitionen geschaltet werden, so ergibt sich folgende Beziehung: m’ = m0+ Cx m’ ist die durch die Anwendung der Transitionen neu entstehende Markierung des Netzes. Vorlesung Modellierung & Simulation 6. Petri-Netze Erweiterung der Petrinetze Idee: Funktionen als Kantenmarkierung. Stellen (Namen) der Netze = Parameter dieser Funktionen. Erkennung von spezifischen Markierungen: - Bottelnecks im Stoffwechselmodell, - Deadlocks im System, - Konfliktsituationen etc. Modellerweiterung: - Selbstmodifikation der Kanten und - Petri-Netze mit definierten Kapazitäten der Stellen. Vorlesung Modellierung & Simulation 6. Petri-Netze Selbstmodifikation der Kanten Erweiterung durch die von Valk definierte Selbstmodifikation. Beschriftung der Kanten durch natürliche Zahlen sowie die Bezeichnung einer Stelle. Hier werden der entsprechenden Stelle, an der der Bogen beginnt, so viele Marken entzogen, wie aktuell gerade in der durch die Kantenbeschriftung bezeichneten Stelle enthalten sind. Vorlesung Modellierung & Simulation 6. Petri-Netze Selbstmodifikation der Kanten Definition: Ein Petri-Netz N = (P,T,F,Vs,m0) heißt selbstmodifizierendes Netz, falls gilt: - {P,T,F} ist ein Netz, - Vs: P PN T IN mit PN = P IN, - m0: P IN Anfangsmarkierung. Vorlesung Modellierung & Simulation 6. Petri-Netze Konzession wird neu definiert. Definition: Sei N = [P,T,F,Vs,m0] ein selbstmodifizierendes Netz, m eine Markierung von P und t eine Transition aus T. Die Transition t hat Konzession bei der Markierung m, wenn für alle Vorplätze p von t mit q aus PN gilt: m(p) Vs(p,q,t). Vorlesung Modellierung & Simulation 6. Petri-Netze Definition: Ein 7-Tupel N = [P,T,F,Ku,Ko,Vs,m0] heißt selbstmodifizierendes Netz mit Kapazitäten, falls gilt: 1) [P,T,F,Vs,m0] ist ein selbstmodifizierendes Netz, 2) Ku: P IN erklärt eine minimale Kapazität für jede Stelle, 3) Ko: P IN erklärt eine (möglicherweise unbeschränkte) maximale Kapazität für jede Stelle, 4) m0: P IN ist eine Anfangsmarkierung, die die Kapazitäten respektiert, d.h. für jede Stelle p aus P gilt: Ku(p) m0(p) K0(p). Vorlesung Modellierung & Simulation 6. Petri-Netze Markierung und Konzession Definition: Sei N ein sm Netz mit Kapazitäten. 1) Eine Abbildung m: P IN heißt Markierung von N, falls für jede Stelle p aus P gilt: Ku(p) m(p) K0(p). 2) Sei m eine Markierung von N. Eine Transition t aus T hat Konzession bei der Markierung m, wenn: für alle Vorplätze p aus Ft von t mit q aus PN gilt m(p) - Vs(p,q,t) Ku(p) und für alle Nachplätze p aus tF von t mit q aus PN gilt: m(p) + Vs(p,q,t) K0(p). Vorlesung Modellierung & Simulation 6. Petri-Netze Definition: Das Quintupel N = [P,T,F,VF,m0] heißt Funktionennetz, wenn 1) [P,T,F] ein Netz ist, 2) VF eine Abbildung ist, die jedem Bogen f aus F eine Abbildung VF(f) zuordnet, mit VF(f) aus {g(x1,...,xn) | g: PN x ... x PN IN }, n IN, n = Kard(P), 3) m0 eine Anfangsmarkierung von N, die jedem Platz eine natürliche Zahl zuordnet. Konzession ? Funktion berechnen ! Vorlesung Modellierung & Simulation 6. Petri-Netze Definition Sei N = [P,T,F,VF,m0] ein Funktionennetz, m eine Markierung von P und t eine Transition aus T. Die Transition t hat Konzession bei der Markierung m, wenn für alle Vorplätze p und t mit f F und f = (p,t) gilt: m(p) VF(f)(x1,...,xn). Vorlesung Modellierung & Simulation 6. Petri-Netze Begriff der Kapazität ist für Funktionennetze anzupassen. Definition: Ein 7-Tupel N = [P,T,F,Ku,Ko,VF,m0] heißt Funktionennetz mit Kapazitäten, falls gilt: 1) [P,T,F,VF,m0] ist ein Funktionennetz, 2) Ku: P IN erklärt minimale Kapazität für jede Stelle, 3) Ko: P IN erklärt eine (möglicherweise unbeschränkte) maximale Kapazität für jede Stelle, 4) m0: P IN ist eine Anfangsmarkierung, die die Kapazitäten respektiert, d.h. für jede Stelle p aus P gilt: Ku(p) mo(p) Ko(p) Vorlesung Modellierung & Simulation 6. Petri-Netze Markierung und Konzession Definition: Sei N ein Funktionennetz mit Kapazitäten. 1) Eine Abbildung m: P IN heißt Markierung von N, falls für jede Stelle p aus P gilt: Ku(p) m(p) Ko(p). 2) Sei m eine Markierung von N. Eine Transition t aus T mit f=(p,t) hat Konzession bei der Markierung m, wenn gilt: p Ft: m(p) -VF(f)(x1,...,xn) Ku(p) und p tF: m(p) + VF(f)(x1,...,xn) Ko(p). Vorlesung Modellierung & Simulation 6. Petri-Netze Definition: Sei N ein Petri-Netz. Zu jedem t aus T seien Abbildungen t+ und t- für alle Plätze p aus P wie folgt definiert: Vk falls p aus tF und (t,p) eine Kantenbeschriftung mit Vielfachheit hat, Vs(p,q,t) falls p aus tF und die Kantenbeschriftung von (t,p) mit der Stellenbezeichnung q versehen ist, t+(p) := Vf(f)(x1,..,xn) falls p aus tF und die Kante (tp) mit einer Funktion beschriftet ist und 0 sonst. und Vorlesung Modellierung & Simulation 6. Petri-Netze Vk falls p aus Ft und (p,t) eine Kantenbeschriftung mit Vielfachheit hat, Vs(q,p,t) falls p aus Ft und die Kantenbeschriftung von (p,t) mit der Stellenbezeichnung q versehen ist, t-(p) := Vf(f)(x1,..,xn) falls p aus Ft und die Kante (p,t) mit einer Funktion beschriftet ist und 0 sonst. t+ beschreibt die Anzahl Marken, die p durch das Ausführen der Transition t erhält und t- beschreibt die Anzahl Marken, die p durch Ausführung von Transition t entzogen werden. Vorlesung Modellierung & Simulation 6. Petri-Netze inaktives Enzym k([I]) j([S],Ki) t3 t2 Inhibitoren j([S],Ki) k([I]) aktives Enzym f(v) Substrat Produkt n*f(v) t1 V := Reaktionsgeschwindigkeit Vmax := maximale Reaktionsg. [S] := Substratkonzentration Km := Michaelis-Menten-Konstante [I] := Konzentration Inhibitor Ki := Dissoziationskonstante des Inhibitors m*f(v) V(Substrat,t1) = n * f(v) (n Vielfachheit von [S]) Kompetitive Hemmung V(t1,Produkt) m * f(v) (m Vielfachheit des Produktes) V(akives. Enzym,t1) =V(t1,aktives Enzym) = f(v) V(aktives Enzym, t2) = V(t2,inaktives Enzym) = V(Inhibitoren,t2) = k([I]) V(inakt. Enzym,t3) = V(t3,aktives Enzym) = V(t3,Inhibitor) = j([S],Ki) Vorlesung Modellierung & Simulation 6. Petri-Netze Eigenschaften von Petri-Netzen Erreichbarkeit Ist ein System in einem Anfangszustand gegeben, möchte man wissen, ob das System einen genau definierten Zustand erreichen kann. Definition: Sei N ein Petri-Netz. Die Menge aller endlichen Folgen (Wörter) von Elementen aus T, darunter das leere Wort mit der Länge 0, bezeichnet man mit W(T). Die Länge eines Wortes q wird durch l(q) notiert. Für Markierungen m,m’ von P, Wörter q aus W(T) und für eine Transition t aus T definiert man die Relation m [q> m’ induktiv durch: Anfangsschritt: m [e> m’ m=m’ Induktion q=> qt: m [qt> m’ m’‘ (m [q> m’‘ und m’‘ [t> m’). Schließlich definiert man die Erreichbarkeit [*> von N durch m [*> m’ : q (q aus W(T) und m [q> m’). Wenn m [*> m’ im Netz N gilt, nennt man m’ erreichbar von m in N. Vorlesung Modellierung & Simulation 6. Petri-Netze Erreichbare Zustände - Erreichbarkeitsgraph Definition: Mit RN(m) bezeichnet man die Menge aller von m in N erreichbaren Markierungen und mit LN(m) die Menge aller Transitionswörter q, die, von m ausgehend Transition für Transition geschaltet werden können: RN(m) := {m’ | m [*> m’ } und LN(m) := {q | m’ (m [q> m’)}. Vorlesung Modellierung & Simulation 6. Petri-Netze Erreichbare Zustände - Erreichbarkeitsgraph Definition: Es sei N ein Petri-Netz. Als Erreichbarkeitsgraph von N bezeichnet man den Graphen EG(N) := [RN(m0), BN], der die in N erreichbaren Markierungen RN(m0) als Knoten und die Menge BN von mit Transitionen beschrifteten Bögen hat, wobei BN = { [m,t,m’] | m,m’ aus RN(m0) und t aus T und m [t> m’ } [m,t,m’] beschreibt einen Bogen vom Knoten m zum Knoten m’, der mit t beschriftet ist. Schon für beschränkte Netze benötigen wir exponentielle Zeit. Vorlesung Modellierung & Simulation 6. Petri-Netze Beschränkte Netze Die Markenzahl jeder Stelle bleibt unter einem Maximalwert. Menge aller erreichbaren Markierungen ist endlich. Erreichbarkeitsgraph ist konstruierbar. Unbeschränkte Netze Menge der erreichbaren Markierungen ist unendlich. Erreichbarkeit ist entscheidbar - auch für unbeschränkte Netze (Mayr). Aufwand - keine praktikable Lösung. Vorlesung Modellierung & Simulation 6. Petri-Netze