Vorlesung Modellierung & Simulation 6. Petri

Werbung
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 pFt und ptF
m’:= m(p) -Vk(p,t),
falls pFt und p kein tF
m(p) + Vk(t,p),
falls p kein Ft und ptF
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
Herunterladen