Upload
marcus-kerner
View
221
Download
0
Embed Size (px)
Citation preview
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 ptFm’:= 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
G6P
ADP
Glucose
ATP
Hexokinase
G6P
ADP
Glucose
ATP
Vorlesung Modellierung & Simulation 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 INN erklärt eine minimale Kapazität für jede Stelle,
3) Kob: P INN erklärt eine (möglicherweise unbeschränkte) maximale Kapazität für jede Stelle,
4) m0: P INN 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 INN 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:
Glucose Brenztraubensäure
Acetaldehyd
Ethanol
Glykolyse Decarboxylierung
Reduktion
CO2 NADH + H+
NAD+
Vorlesung Modellierung & Simulation 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.
Glucose Brenztrau-bensäure
Acetaldehyd
Ethanol
CO2 NADH + H+
NAD+
In Netzform werden auch die ablaufenden Reaktionen dargestellt:
Glucose
GlykolyseBr.tr.-säure
Decarboxy-lierung
CO2
Acetal-dehyd
Reduktion
NADH+ H+
NAD+
Ethanol
Repräsentation als Petrinetz mit Anfangsmarkierung:
Glucose
Glykolyse
Br.tr.-säure
Decarboxy-lierung
CO2
Acetaldehyd
Reduktion
NADH+ H+
NAD+
Ethanol
21 1
1
11
1
1
1
Glucose
Glykolyse
Br.tr.-säure
Decarboxy-lierung
CO2
Acetaldehyd
Reduktion
NADH+ H+
NAD+
Ethanol
21 1
1
11
1
1
1
Bei dieser Anfangsmarkierung hat nur die Glykolyse Konzession:
Glucose
Glykolyse
Br.tr.-säure
Decarboxy-lierung
CO2
Acetaldehyd
Reduktion
NADH+ H+
NAD+
Ethanol
21 1
1
11
1
1
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:
[2, 2000]
[0, 4000]
[0, w]
[0, 4000]
[0, w]
[0, w]
[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)
k([I]) j([S],Ki)Inhibitoren
aktives Enzym
f(v)
n*f(v) m*f(v)
Substrat Produkt
Kompetitive Hemmung
V := ReaktionsgeschwindigkeitVmax := maximale Reaktionsg.[S] := SubstratkonzentrationKm := Michaelis-Menten-Konstante[I] := Konzentration InhibitorKi := Dissoziationskonstante des
Inhibitors
t1
t2t3
V(Substrat,t1) = n * f(v) (n Vielfachheit von [S])
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-NetzenErreichbarkeit
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