Musterloesung 2 - Universität Paderborn

Werbung
SS 2006
Musterlösung 2
26. April 2006
Universität Paderborn
Institut für Informatik
Ekkart Kindler
Übungen zur Vorlesung Petrinetze
Aufgabe 1
a. Das folgende Petrinetz modelliert die Straßenabschnitte und das Bahngleis. Eine
Marke auf einer der Stellen s1, s2 oder s3 repräsentiert ein Auto auf dem entsprechenden Streckenabschnitt.
g1
s1
g1’
s3
s2
g2 g2’
s2’
g3
g3’
Eine Marke auf der Stelle s20 bedeutet, daß sich kein Auto auf dem Übergang befindet. Ein Auto kann den Übergang nur befahren, wenn sich kein Auto auf dem
Übergang befindet. So ist sichergestellt, daß sich immer nur ein Auto auf dem Übergang befindet. Die Stelle s20 nennen wir Komplement von s2.
1
Um sicherzustellen, daß sich immer höchstens ein Zug auf jedem Gleisabschnitt
befindet, führen wir auch für die Gleisabschnitte g1, g2 und g3 die entsprechenden
Komplementstellen ein.
b. Die Möglichkeit eines Zusammenstoßes eines Autos mit einem Zug auf dem Übegang, können wir durch eine Transition modellieren, die Stellen s2 (ein Auto auf
dem Übergang) und g2 (ein Zug auf dem Übergang) im Vorbereich und eine Stelle
Schrott1 im Nachbereich hat. Dies ist im folgenden Petrinetz dargestellt, wobei wir
der Übersichtlichkeit halber die Strecken nun untereinander darstellen:
Schrott 2
s2
2
s1
2
s3
s2’
Schrott 1
g1’
g2’
g3’
g1
g2
g3
Die Unfälle zweier Autos können wir durch entsprechende Transitionen für die
Streckenabschitte s1 und s3 modellieren. Die Kante ist mit 2 beschriftet, weil wir
den Zusammenstoß zweier Autos modellieren.
Bemerkungen: Daß ein weiteres Auto auf die zusammengestoßenen Autos auffährt,
haben wir nicht modelliert. Das wäre im Prinzip möglich. Das zeigt bereits, daß wir
immer nur einen Ausschnitt der Wirklichkeit modellieren können; von vielen anderen
2
Dingen abstrahieren unsere Modelle. Ein Modell ist dann gut, wenn es die wichtigen
Aspekte repräsentiert und von den unwichtigen abstrahiert. Was wichtig ist, hängt
dabei von der Anwendung und von der Fragestellung ab.
In unserem Modell besteht nur die Möglichkeit eines Zusammenstoßes; einen Zusammenstoß können wir (in unserem Modell) nicht erzwingen. Dies ist in unserem
Modell auch realistisch.
c. Das folgende Petrinetz modelliert eine Bahnschranke, die den Zusammenstoß eines
Zuges mit einem Auto verhindert.
Schrott 2
s2
2
s1
2
s3
s2’
offen
Schrott 1
geschlossen
g1’
g2’
g3’
g1
g2
g3
Durch etwas Herumprobieren, kann man sich überzeugen, daß keine Marke mehr auf
Schrott1 gelangen kann – also kein Auto mehr mit einem Zug zusammenstoßen kann.
Wir werden später Techniken kennenlernen, mit deren Hilfe wir präzise beweisen
können, daß unser Modell richtig ist.
In unserem Modell sind die Schlingen zu den Stellen s20 und g20 sehr wichtig! Sonst
könnten weiterhin Autos mit Zügen zusammenstoßen: Die Schranke könnte sich
3
schließen, wenn sich gerade ein Auto auf dem Übergang befindet; dann könnte ein
Zug kommen ...
Bemerkung: Unser Modell ist nicht ganz realistisch; denn die Schranke kann sich
nur schließen, wenn sich kein Auto mehr auf dem Übergang befindet. In einem genaueren Modell müsste man die Schranke in jedem Falle schließen können; lediglich
mit der Freigabe der Strecke müßte man warten, bis sich kein Auto mehr auf dem
Übergang befindet. In der Wirklichkeit wird allerdings nicht einmal überprüft, ob
sich noch ein Auto auf dem Übergang befindet. Auch dieses Beispiel zeigt wieder,
daß es nicht so leicht ist das richtige Modell zu entwerfen.
Unfälle von Autos auf den Straßenabschnitten könnten wir theoretisch genauso ausschließen wie für Züge: durch Blocksicherung. In der Praxis würde dann jedoch der
Verkehr zusammenbrechen.
Aufgabe 2
a. Für zwei Elemente x, y ∈ S ∪ T mit x ∈ • y gilt auch y ∈ x• .
Wir beweisen diese Aussage wie folgt: Sei x ∈ • y. Gemäß Definition gilt dann
x ∈ {y 0 ∈ S ∪ T | y 0 F y}, also x F y. Damit gilt unmittelbar y ∈ x• .
Bemerkung: Der obige Beweis ist fast etwas übertrieben. Später sagen wir in solchen Fällen, daß sie unmittelbar aus der Definition folgen. Daß man damit aber
vorsichtig sein muß, zeigt die nächste Teilaufgabe.
b. Die Aussage x ∈ (• x)• gilt nicht für alle Petrinetze! Denn der Vorbereich eines
Elementes x kann leer sein: • x = ∅. Dann gilt natürlich auch (• x)• = ∅; also x 6∈
(• x)• .
Konkretes Gegenbeispiel ist das Netz N = (∅, {t}, ∅).
In vielen Fällen setzen wir jedoch voraus, daß es keine Elemente mit leerem Vorbereich gibt. Dann stimmt die Aussage.
c. Zwei Elemente x, y ∈ S ∪ T mit • x ∩ • y 6= ∅ und x• ∩ y • 6= ∅ bedeuten noch nicht,
daß das Netz nicht schlicht ist. Das folgende Netz ist schlicht, aber für x = s1 und
y = s2 ist die obige Bedingung erfüllt:
t1
s1
t3
t2
s2
t4
d. Ein Netz N besitzt genau dann eine Schlinge, wenn ein Element x ∈ S ∪ T mit
•
x ∩ x• 6= ∅ existiert.
4
Wir beweisen die genau-dann-wenn-Aussage“, indem wir beide Richtungen der
”
Implikation separat betrachten:
⇒“ Sei {x, y} eine Schlinge von N . Gemäß Definition gilt dann x F y und y F x.
”
Also gilt y ∈ • x und y ∈ x• . Also gilt y ∈ • x ∩ x• . Also gilt • x ∩ x• 6= ∅.
“⇐“ Sei nun umgekehrt x ∈ S ∪ T mit • x ∩ x• 6= ∅. Es gibt also ein y ∈ S ∪ T mit
y ∈ • x und y ∈ x• . Also gilt x F y und y F x und damit auch x 6= y. Also ist
{x, y} eine Schlinge.
Aufgabe 3
t
t
a. Es gilt m1 −→ m2 ⇒ m1 + m −→ m2 + m.
t
Beweis: Wir nehmen an, daß m1 −→ m2 gilt. Gemäß der Definition der Schaltregel
gibt es dann eine Markierung m0 mit m1 = m0 + − t und m2 = m0 + t+ . Also gilt
m1 + m = (m0 + m) + − t und m2 + m = (m0 + m) + t+ ; gemäß der Definition der
t
Schaltregel gilt dann auch m1 + m −→ m2 + m.
t ...t
t ...t
n
n
1
1
b. Es gilt m1 −→
m2 ⇒ m1 + m −→
m2 + m.
t ...t
n
1
Beweis: Induktion über n mit der Definition von m1 −→
m2 und der Aussage aus
Teilaufgabe a.
t ...t
t ...t
n
n
1
1
c. Die Aussage m1 + m −→
m2 + m ⇒ m1 −→
m2 gilt im allgemeinen nicht. Denn es
kann sein, daß bereits die erste Transition t1 unter m1 + m aktiviert ist, aber nicht
unter m1 .
Hier ist ein konkretes Gegenbeispiel:
t
a
b
t
t
Für m1 = [], m = [a] und m2 = [b] gilt m1 + m −→ m2 + m, d. h. [a] −→ [a, b]; aber
t
t
es gilt nicht m1 −→ m2 , d. h. [] −→ [b].
d. Für die Teilaufgaben d., e., und f. stellen wir einige Vorüberlegungen an:
• Seien n1 , n2 , k, l, n0 natürliche Zahlen mit n1 = n0 + k und n2 = n0 + l. Dann
gilt n0 = n1 − k und damit n2 = (n1 − k) + l = n1 + (l − k).
• Seien m1 , m2 , − t, t+ und m0 Markierungen mit m1 = m0 + − t und m2 = m0 +t+ .
Dann gilt m2 = (m1 − − t) + t+ = m1 + (t+ − − t).
t
• Seien m1 und m2 Markierungen und t eine Transition mit m1 −→ m2 . Dann
gilt m2 = m1 + t.
t
t
Mit m −→ m1 und m −→ m2 gilt dann m1 = m + t = m2 .
5
t ...t
n
1
e. Durch Induktion über nPkann man zeigen, daß mit m −→
m2 auch gilt: m1 =
n
m + t1 + . . . + tn = m + i=1 ti .
P
t1 ...tn
t1 ...tn
Mit m −→
m1 und m −→
m2 gilt dann m1 = m + ni=1 ti = m2 .
tπ(1) ...tπ(n)
t ...t
n
1
f. Für m −→
m1 und m P
−→ m2 gilt wegen der Kommutativität der Addition
P
n
m1 = m + i=1 ti = m + ni=1 tπ(i) = m2 .
tπ(1) ...tπ(n)
t ...t
n
1
g. Allerdings folgt aus m −→
m1 nicht unbedingt m −→
daß die Transition tπ(1) in m noch gar nicht aktiviert ist.
m1 , denn es kann sein,
Hier ein konkretes Gegenbeispiel:
a
t t
t1
b
t2
c
t t
1 2
2 1
Es gilt [a] −→
[c], aber nicht [a] −→
[c], da t2 in [a] nicht aktiviert ist.
Aufgabe 4
Nachfolgend geben wir den Beweis für Folgerung 2.12 und Satz 2.13. Dazu beweisen wir
die drei folgenden Implikationen:
a. ⇒ b. Wenn Σ unbeschränkt ist, dann besitzt Σ unendlich viele erreichbare Markierungen.
b. ⇒ c. Wenn Σ unendlich viele erreichbare Markierungen besitzt, dann besitzt Σ zwei er∗
reichbare Markierungen m0 und m00 mit m0 −→ m00 und m0 < m00 .
∗
c. ⇒ ca Wenn Σ zwei erreichbare Markierungen m1 und m2 mit m1 −→ m2 und m1 < m2
besitzt, dann ist Σ unbeschränkt.
a. ⇒ b. Wir zeigen die Kontraposition dieser Implikation, d. h. wenn Σ endlich viele erreichbare Markierungen besitzt, dann ist Σ beschränkt.
Sei also [mi endlich. Wir müssen zeigen, daß es eine Markierung m0 gibt, so daß für
jede Markierung m00 ∈ [mi gilt m00 ≤ m0 . Wir konstruieren die Markierung m0 wie
folgt: Für jede Stelle s ∈ S definieren wir m0 (s) = max{m00 (s) | m00 ∈ [mi}.
Da [mi endlich ist, existiert für jedes s ∈ S das Maximum und m0 ist damit wohldefiniert. Außerdem gilt per Definition von m0 für jede erreichbare Markierung m00 ∈ [mi
und jede Stelle s ∈ S: m00 (s) ≤ m0 (s); also gilt m00 ≤ m0 . Das S/T-System Σ ist also
beschränkt.
In dieser Argumentation haben wir nirgends benutzt, daß das zugrundeliegende Netz
des S/T-Systems endlich ist. Die Implikation a. ⇒ b. gilt also auch für S/T-Systeme
mit unendlichem Netz.
6
b. ⇒ c. Wir nehmen an, daß [mi unendlich ist und zeigen, daß dann zwei erreichbare
∗
Markierungen m0 und m00 mit m0 −→ m00 und m0 < m00 existieren.
Dazu gehen wir in zwei Schritten vor: Im ersten Schritt zeigen wir, daß der Erreichbarkeitsgraph einen Pfad m1 −→ m2 −→ m3 −→ . . . mit unendlich vielen paarweise
verschiedene Markierungen besitzt. Im zweiten Schritt zeigen wir, daß es auf diesem
Pfad zwei Markierungen mi und mj mit i < j und mi < mj gibt. Für m0 = mi und
m00 = mj gilt dann die Behauptung.
1. Wir zeigen zunächst, daß der Erreichbarkeitsgraph einen Pfad mit unendlich
vielen paarweise verschiedenen Markierungen besitzt.
Dazu können uns die Menge der erreichbaren Markierungen als einen unendlichen Baum vorstellen, wobei jeder Knoten mit einer Markierung beschriftet
ist. Die Wurzel dieses Baumes ist mit der Anfangsmarkierung beschriftet. Ein
Knoten, der mit einer Markierung m0 beschriftet ist, besitzt genau für jede
Nachfolgemarkierung m00 ein Kind mit Beschriftung m00 .
Aus diesem Baum löschen wir nun alle Knoten (und die dort beginnenden Unterbäume) mit einer Markierung, die auf dem Weg von der Wurzel zu diesem
Knoten schon einmal vorkommt. Wir löschen also Teilbäume, die sich wiederholen. Dieser beschnittene“ Baum hat die folgenden Eigenschaften:
”
• Der Baum ist immer noch unendlich, da wir nur das wiederholte Auftreten
einer Markierung löschen (es im System gemäß Annahme aber unendlich
viele verschiedene erreichbare Markierungen gibt).
• Auf jedem Pfad dieses Baumes sind alle Markierungen verschieden, da wir
einen Knoten und seinen Unterbaum löschen, wenn eine Markierung sich
wiederholt.
• Jeder Knoten hat nur endlich viele Kinder, da es für jede Markierung für
jede Transition höchstens eine Nachfolgemarkierung gibt (Folgerung 2.9).
Achtung: Hier nutzen wir aus, daß das Netz endlich ist (eigentlich würde uns
reichen, daß es nur endlich viele Transitionen gibt).
• Mit Königs Lemma hat der Baum also einen unendlichen Pfad, auf dem
alle Markierungen paarweise verschieden sind.
Sei also m1 −→ m2 −→ m3 −→ . . . ein unendlicher Pfad auf dem alle Markierungen paarweise verschieden sind.
2. Wir zeigen nun, daß es auf diesem Pfad zwei Markierungen mi und mj mit
i < j und mi < mj gibt.
Dazu zeigen wir etwas allgemeiner, daß es für eine unendliche Folge von Markierungen m1 , m2 , m3 , . . . eine unendliche monotone Teilfolge mi1 , mi2 , mi3 , . . .
gibt, d. h. es gibt i1 < i2 < i3 < . . . mit mi1 ≤ mi2 ≤ mi3 ≤ . . . Insbesondere
gibt es dann zwei Markierungen mi < mj mit i < j (z. B. i = i1 und j = i2 ;
dann gilt mi1 < mi2 , denn wir wissen daß die Markierungen der Folge paarweise verschieden sind).
7
Wir überlegen uns zunächst, daß es für jede unendliche Folge von (nicht notwendigerweise verschiedenen) natürlichen Zahlen n1 , n2 , n3 , . . . eine monotone
Teilfolge gibt: Dazu unterscheiden wir zwei Fälle:
• Entweder kommt eine Zahl unendlich oft in der Folge vor. Dann wählen wir
diese Zahl unendlich oft aus. Dies ist die gewünschte unendliche monotone
Teilfolge (wir haben nicht gefordert, daß die Teilfolge streng monoton ist).
• Oder jede Zahl kommt nur endlich oft in der Folge vor. Dann konstruieren wir die monotone unendliche Teilfolge wie folgt: Wir wählen die erste
Zahl aus der Folge aus. Wir nennen sie ni1 = n1 ; da jede Zahl n ≤ ni1
nur endlich oft in der Folge vorkommt, gibt es einen unendlichen Rest
der ursprünglichen Folge, ab dem alle Zahlen größer als ni1 sind. Daraus
wählen wir nun die nächste Zahl ni2 ; da der Rest immer unendlich bleibt,
können wir dies beliebig häufig wiederholen und wir erhalten insgesamt
eine unendliche streng monotone Teilfolge.
Sei nun m1 , m2 , m3 , . . . eine unendliche Folge von Markierungen. Wir beweisen
nun, daß es eine unendliche monotone Teilfolge gibt. Dazu legen wir eine Ordnung auf der endlichen Stellenmenge des S/T-Systems fest: S = {s1 , s2 , . . . , sn }.
An dieser Stelle nutzen wir aus, daß das zugrundeliegende Netz nur endlich viele
Stellen hat. Tatsächlich ist diese Annahme für den Beweis der Aussage nicht nötig.
Allerdings müßten wir ohne diese Annahme noch ein weiteres Argument bemühen,
worauf wir hier vezichten.
Durch Induktion über k = 1, . . . , n beweisen wir nun die folgende Aussage:
Induktionsvoraussetzung Für eine unendliche Folge von Markierungen
m1 , m2 , m3 , . . . gibt es eine unendliche Teilfolge mi1 , mi2 , mi3 , . . . mit i1 <
i2 < i3 < . . ., so daß für jede Stelle s ∈ {s1 , s2 , . . . , sk } gilt mi1 (s) ≤
mi2 (s) ≤ mi3 (s) ≤ . . . (wir sagen, daß die Folge bezüglich der Stellen
s1 , s2 , . . . , sk monoton ist).
Induktionsanfang Bezüglich der Stelle s1 beschreibt die Folge von Markierungen eine Folge natürlicher Zahlen, aus der wir gemäß obiger Aussage
eine monotone unendliche Teilfolge auswählen können. Dies gibt uns eine
Teilfolge von Markierungen, die bezüglich s1 monoton ist.
Induktionsschritt Wir nehmen nun an, daß wir eine unendliche Folge von
Markierungen haben, die bezüglich s1 , . . . , sk monton ist. Daraus wählen
wir nun eine unendliche Teilfolge aus, die bezüglich sk+1 monoton ist
(dies ist gemäß unserer Vorüberlegung für Folgen von natürlichen Zahlen möglich). Da wir eine unendliche Teilfoge der ursprünglichen Folge
gebildet haben (die per Annahme bezüglich s1 , . . . , sk monoton ist), ist die
neue Teilfolge auch bezüglich s1 , s2 , . . . , sk monoton. Also ist sie insgesamt
bezüglich s1 , s2 , . . . , sk+1 monoton.
Für k = n ist die gebildete Teilfolge nun monoton, was den Beweis der Implikation b. ⇒ c. abschließt.
∗
c. ⇒ a. Seien m1 und m2 zwei erreichbare Markierungen mit m1 −→ m2 und m1 < m2 .
Wir zeigen, daß es keine Markierung m00 geben kann, so daß für alle m0 ∈ [mi gilt
m0 ≤ m00 (d. h. daß das S/T-System nicht beschränkt ist).
8
Sei s ∈ S eine Stelle mit m1 (s) < m2 (s) (gemäß Voraussetzung muß es eine solche
Stelle geben). Wir definieren n = m2 (s) − m1 (s) ≥ 1.
∗
w
Wegen m1 −→ m2 gibt es ein Schaltwort w mit m1 −→ m2 . Wegen Folgerung 2.9.3
w
w
w
gibt es dann eine Folge von erreichbaren Markierungen m1 −→ m2 −→ m3 −→ . . .
Für diese Folge gilt mk (s) = m1 (s) + (k − 1) · n. Wegen n ≥ 1 gibt es also für jeden
Wert i ∈ N ein k mit mk (s) > i.
Es kann also kein m0 geben mit mk ≤ m0 für alle k. Damit ist Σ nicht beschränkt.
Auch in diesem Beweis haben wir nirgends ausgenutzt, daß das zugrundeliegende Netz
des S/T-Systems endlich ist. Die Implikation c. gilt also auch für unendliche S/TSysteme.
9
Herunterladen