eXamen.press
eXamen.press ist eine Reihe, die Theorie und Praxis aus allen Bereichen der Informatik für die Hochschulausbildung vermittelt.
Harro Wimmel
Entscheidbarkeit bei Petri Netzen Überblick und Kompendium
123
Dr. Harro Wimmel Fakultät für Informatik Carl von Ossietzky Universität Oldenburg Ammerländer Heerstraße 114–118 26129 Oldenburg
[email protected]
ISBN 978-3-540-85470-8
e-ISBN 978-3-540-85471-5
DOI 10.1007/978-3-540-85471-5 eXamen.press ISSN 1614-5216 Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar. c 2008 Springer-Verlag Berlin Heidelberg Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Einbandgestaltung: KünkelLopka, Heidelberg Gedruckt auf säurefreiem Papier 987654321 springer.de
Inhaltsverzeichnis
1
Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
2
Petri Netze und ihre Mathematik . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Mathematische Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Mengen und Relationen . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.2 Ringe, K¨ orper, Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.3 Erweiterte nat¨ urliche Zahlen . . . . . . . . . . . . . . . . . . . . . . . 2.1.4 Sprachen und Entscheidbarkeit . . . . . . . . . . . . . . . . . . . . . 2.1.5 Endliche Automaten und Registermaschinen . . . . . . . . . 2.2 Petri Netze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Der Feuerbegriff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.2 H¨ urde und Zustandswechsel . . . . . . . . . . . . . . . . . . . . . . . 2.2.3 Reverse Petri Netze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.4 Invarianten, Sicherheit, Lebendigkeit . . . . . . . . . . . . . . . . 2.2.5 Die Sprache eines Petri Netzes . . . . . . . . . . . . . . . . . . . . . ¨ 2.3 Uberdeckungsgraphen ................................... 2.3.1 Graphen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2 Verallgemeinerte Zust¨ ande . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.3 Der Erreichbarkeitsgraph . . . . . . . . . . . . . . . . . . . . . . . . . . ¨ 2.3.4 Gesteuerte Uberdeckungsgraphen ................... 2.3.5 Keime und Keim-Transition-Sequenzen . . . . . . . . . . . . . . 2.4 Lineare Gleichungssysteme u ¨ber Z . . . . . . . . . . . . . . . . . . . . . . . . 2.4.1 Lineare Gleichungssysteme . . . . . . . . . . . . . . . . . . . . . . . . 2.4.2 L¨ osungen in N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.3 Das Dualit¨ atsprinzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.4 Konstruktion einer Support-L¨osung . . . . . . . . . . . . . . . . . 2.4.5 Dimensionen mit endlicher L¨osungsmenge . . . . . . . . . . . 2.4.6 L¨ osungen von Ax = b in Z . . . . . . . . . . . . . . . . . . . . . . . .
7 7 7 9 13 15 17 21 23 24 27 28 32 34 34 37 38 39 51 57 57 58 60 65 66 68
V
VI
Inhaltsverzeichnis
3
Das 3.1 3.2 3.3 3.4
Erreichbarkeitsproblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reduktion auf das Keim-Transition-Problem . . . . . . . . . . . . . . . Die Charakteristische Gleichung . . . . . . . . . . . . . . . . . . . . . . . . . . Das Pumping-Lemma von Lambert . . . . . . . . . . . . . . . . . . . . . . . Dekomposition in perfekte Keim-Transition-Folgen . . . . . . . . . .
75 75 77 84 89
4
Elementare Markierungsprobleme . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Erreichbarkeit linearer Mengen . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Reproduktion von Markierungen . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Weitere Probleme mit Mengen von Markierungen . . . . . . . . . . . 4.4 Lebendigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
97 97 105 113 127
5
Feuersequenzen und Sprachen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 Das Wortproblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Das Leerheitsproblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Das Endlichkeitsproblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4 Das Totalit¨ atsproblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5 Gleichheits- und Inklusionsprobleme . . . . . . . . . . . . . . . . . . . . . . 5.6 Regularit¨ at und Kontextfreiheit . . . . . . . . . . . . . . . . . . . . . . . . . .
133 133 136 138 144 155 181
6
Petri Netze mit Nulltest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 Petri Netze mit Priorit¨ aten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Petri Netze mit Spezialkanten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Petri Netze mit begrenzten Nulltests . . . . . . . . . . . . . . . . . . . . . .
195 196 199 212
7
¨ Ergebnisse im Uberblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Abbildungsverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 Literaturverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 Sachverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Kapitel 1
Einleitung
Viele Studierende der Informatik lernen w¨ ahrend ihres Studiums die Begriffe Entscheidbarkeit“ und Petri Netz“ zumindest kurz kennen. Die Entscheid” ” barkeit wird dabei meist mit Skepsis betrachtet und nur von Wenigen im ersten Anlauf voll verstanden, w¨ ahrend Petri Netze den Studierenden oft recht gut gefallen, denn sie besitzen eine einfache, leicht zu verstehende Visualisierung. Gleichzeitig sind sie aber stark in der linearen Algebra verwurzelt und besitzen mathematisch sch¨ one Eigenschaften, die klare und pr¨azise Beweisf¨ uhrungen erlauben. Ein Petri Netz ist dabei eigentlich ein Modell zur Darstellung und Untersuchung nebenl¨ aufiger Prozesse. Ein Prozess besteht aus Aktionen, die durchzuf¨ uhren sind, wobei gefordert werden kann, dass zwei Aktionen in einer bestimmten Reihenfolge durchzuf¨ uhren sind. Fordert man dies nicht, so sind die Aktionen nebenl¨ aufig, d.h., sie k¨onnen in beliebiger Reihenfolge oder auch gleichzeitig ausgef¨ uhrt werden. Ein Beispiel f¨ ur ein Petri Netz zeigt das folgende Bild.
2 - t1 p1 6 1
3 1 - t3
1
? s s p2 6
? p3
t2 1
2
t4 2
Aktionen werden dabei durch Rechtecke dargestellt, die hier mit t1 , t2 , t3 und t4 beschriftet sind. Solche Aktionen werden bei Petri Netzen auch Transitionen genannt. Um zu erkl¨ aren, was eine Transition bewirkt, ben¨otigen wir so etwas wie Speicherbausteine, deren Inhalt man ver¨andern kann. Im Fall von Petri Netzen sind dies die sogenannten Stellen, die im Bild als Kreise
1
2
1 Einleitung
dargestellt sind und mit p1 , p2 und p3 bezeichnet wurden. Stellen k¨onnen eine beliebige Anzahl von Token speichern; das sind die kleinen schwarzen Kreise, von denen gerade zwei St¨ uck auf der Stelle p2 lagern. Eine bestimmte Verteilung von Token auf den Stellen nennen wir einen Zustand. Wenn eine Aktion durchgef¨ uhrt wird (wir sprechen auch vom Feuern oder Schalten einer Transition), entnimmt die Transition von jeder Stelle, von der eine Kante zu ihr f¨ uhrt, so viele Token wie die Kanteninschrift angibt. Danach legt sie auf jede Stelle, zu der eine Kante von ihr hinf¨ uhrt, wiederum so viele Token wie die Kante angibt. Eine Aktion kann nur dann durchgef¨ uhrt werden, wenn die Anzahl der Token auf keiner Stelle – auch zwischenzeitlich – unter Null sinken w¨ urde. So sind hier die Aktionen t2 und t3 ausf¨ uhrbar, und zwar nebenl¨ aufig (also ohne Vorgabe einer Reihenfolge), t1 und t4 jedoch nicht, da sie die Tokenzahl auf p1 bzw. p3 unter Null sinken lassen w¨ urden. Die Durchf¨ uhrung der Aktionen t2 und t3 (egal in welcher Reihenfolge) f¨ uhrt zu einem Zustand mit je einem Token auf p1 und p3 und keinem auf p2 . Alternativ kann man im oben eingezeichneten Zustand, den wir auch als (0, 2, 0) aufschreiben, z.B. auch die Aktionssequenzen t3 t3 t4 oder t2 t2 t1 t3 t2 feuern und landet im Zustand (0, 2, 0) bzw. (1, 1, 1). Bei Petri Netzen gibt es zwei wesentliche Betrachtungsweisen. Einerseits kann man sich daf¨ ur interessieren, welche Zust¨ ande ein Petri Netz annehmen kann, also Aussagen u ogliche Tokenverteilungen machen. Typische Fragen bei ¨ber m¨ dieser Sichtweise sind Fragen nach der Erreichbarkeit (Kann man durch geeignete Aktionen eine bestimmte Verteilung von Token im Netz erreichen?), der Beschr¨ anktheit (Kann man die Anzahl der Token auf einer oder mehreren Stellen beliebig erh¨ ohen?), der Deadlockfreiheit (Kann man einen Zustand erreichen, in dem keine Aktionen mehr durchf¨ uhrbar sind?) oder der Lebendigkeit (Kann man von jedem erreichbaren Zustand aus garantieren, dass eine bestimmte Aktion irgendwann wieder durchgef¨ uhrt werden kann?). Die andere Betrachtungsweise bezieht sich auf die durchf¨ uhrbaren Aktionen. Hier betrachtet man z.B. die Sprache eines Petri Netzes, d.h. die Menge aller Sequenzen von durchf¨ uhrbaren Aktionen, und fragt z.B. danach, ob diese Menge leer, endlich, regul¨ ar etc. ist oder ob die Sprachen zweier Petri Netze gleich sind und vieles mehr. In unserem Beispiel k¨ onnte man etwa die Frage stellen, ob man durch geeignete Aktionen erreichen kann, dass auf jeder Stelle genau zehn Token liegen. Dies ist eine Frage nach der Erreichbarkeit eines Zustands. Oder wir k¨onnen uns f¨ ur die durchf¨ uhrbaren Aktionen interessieren und z.B. fragen, ob es unendlich viele verschiedene Sequenzen von durchf¨ uhrbaren Aktionen gibt. Die Antwort auf beide Fragen ist u ¨brigens ja“, was auch recht einfach zu sehen ” ist. Versucht man solche Fragen allgemein zu l¨ osen, steht man pl¨otzlich vor ziemlich großen Problemen. Ein Programm, das bei Eingabe eines beliebigen Petri Netzes und zweier Zust¨ ande feststellt, ob man den einen Zustand durch geeig-
1 Einleitung
3
nete Aktionen in den anderen u uhren kann, hat bisher niemand geschrie¨berf¨ ben. Viele Jahre lang war der Grund daf¨ ur, dass einfach niemand wusste, ob ein solches Programm rein theoretisch u ¨berhaupt existieren kann. Hier kommt nun der Begriff der Entscheidbarkeit ins Spiel. Ein Problem ist dabei eine parametrisierte Ja-Nein-Frage, wie etwa Kann man, gegeben ein Petri Netz ” N und zwei Zust¨ ande s1 und s2 , im Petri Netz N durch geeignete Aktionen vom Zustand s1 aus den Zustand s2 erreichen?“. Die Parameter N , s1 und s2 sind dabei zun¨ achst unbestimmt, d.h., wir haben es eigentlich mit unendlich vielen Fragen gleichzeitig zu tun. Einzige Einschr¨ankung ist, dass N ein Petri Netz und s1 und s2 Zust¨ ande dieses Netzes N sein m¨ ussen. Ordnen wir den Parametern N , s1 und s2 spezifische Werte zu, etwa das obige Petri Netz als N , s1 = (0, 2, 0) und s2 = (10, 10, 10) f¨ ur die oben erw¨ahnte Frage nach der Erreichbarkeit, so erhalten wir eine Instanz des Problems. Ein Problem heißt nun entscheidbar, wenn es einen Algorithmus (z.B. ein Programm) gibt, das bei Eingabe jeder beliebigen Probleminstanz irgendwann anh¨alt und als Ergebnis die Problemfrage beantwortet und damit ja“ oder nein“ als Antwort ” ” liefert. Wer noch nie von Entscheidbarkeit geh¨ort hat, ist meist u ¨berrascht, dass man sich mit so etwas u ¨berhaupt befassen kann bzw. dass nicht sowieso alle Probleme entscheidbar sind. Aber bereits triviale Fragen der Informatik erweisen sich als unentscheidbar, so etwa die Fragen H¨alt ein Programm P ” irgendwann an?“ oder Arbeitet ein Programm P korrekt?“. ” Lange Zeit war unklar, ob das Erreichbarkeitsproblem f¨ ur Petri Netze entscheidbar ist. Inzwischen weiß man, dass man ein Programm zu dessen L¨osung schreiben k¨ onnte (nach Mayr [May80, May84], Kosaraju [Kos82] und Lambert [Lam92]). Leider w¨ urde ein solches Programm im Allgemeinen einen extremen Zeit- und Platzaufwand erfordern. Nach Cardoza [CLM76] und Lipton [Lip76] gibt es beliebig viele (und große) Petri Netze, f¨ ur deren Erreichbarkeitsproblem ein Programm mindestens exponentiell viel Platz (in Abh¨ angigkeit von der Gr¨ oße des Petri Netzes) ben¨otigen w¨ urde. Die Gr¨oße eines Petri Netzes misst man dabei als die Anzahl der Stellen, Transitionen und Kanten. Der Zeitaufwand f¨ ur die Berechnung kann noch sehr viel h¨oher sein, da man Speicherplatz f¨ ur nicht mehr ben¨otigte Informationen (etwa Nebenrechnungen) ja wieder freigeben und erneut verwenden kann. Schlimmer noch, es ist bis heute nicht klar, ob man u ¨berhaupt mit exponentiellem Platzaufwand auskommt. Seit Carl Adam Petri [Pet62] im Jahr 1962 die nach ihm benannten Netze eingef¨ uhrt hat, wurden daher f¨ ur verschiedenste Zwecke zahlreiche Varianten und Abwandlungen dieser Netze erfunden. Anfangs war das betrachtete Modell meist eine Restriktion des oben erkl¨ arten Grundmodells, bei der das Erreichbarkeitsproblem nicht so schwer zu l¨ osen ist. Sp¨ater kamen auch zahlreiche Modelle hinzu, die echte Erweiterungen des Basismodells darstellten. Hier ist das Erreichbarkeitsproblem meist unentscheidbar oder hat zumindest keine bekannte obere Schranke f¨ ur die Komplexit¨at. Viele andere Probleme – wie z.B. die Fragen nach Beschr¨ anktheit, Deadlockfreiheit, Lebendigkeit –
4
1 Einleitung
sind durch Reduktionen an das Erreichbarkeitsproblem gekoppelt [DF97] und damit zumindest ebenso schwer zu l¨ osen wie dieses. Interessante Probleme erweisen sich damit als außerordentlich schwer bis sogar unentscheidbar, wie ¨ etwa das Aquivalenzproblem ([Hac76], [Hir93]), das fragt, ob die Mengen der erreichbaren Zust¨ ande zweier Petri Netze gleich sind. Im Gegensatz dazu sind diese Probleme f¨ ur restringierte Netzklassen oft mit vergleichsweise niedrigem Aufwand l¨ osbar. Es gibt hier f¨ ur zahlreiche Klassen Untersuchungen, etwa f¨ ur sichere Netze ([CEP93], [Esp98]), markierte Graphen ([JL77], [Esp98]), konfliktfreie Netze ([HR87], [HR88], [YW93]), Free Choice Netze ([JL77], [DE93], [Esp98b]), zyklische Netze ([AK77b], [BF97]) oder one-counter Netze ([AC98]), die alle zumindest das Erreichbarkeitsproblem behandeln. Man findet noch weitere Arbeiten zu speziellen Themen und ¨ Netzklassen, so z.B. f¨ ur das Aquivalenzproblem ([AK77b], [Yen96]), zu Fragen der Persistenz und Fairness ([LR76], [HR89], [HJ93], [HR91], [HR93]) oder Lebendigkeit und verwandten Begriffen ([Lau73], [BDE92], [ES92]). Einen guten Einstieg in Komplexit¨ atsfragen bei Petri Netzen liefert z.B. Esparza [Esp98]. Wir besch¨ aftigen uns ausschließlich mit Entscheidbarkeitsfragen, Komplexit¨ at wird kein Thema sein. Folgerichtig kommen auch die gerade erw¨ahnten, restringierten Netzklassen praktisch nicht vor. Aber auch beim Standardmodell der Petri Netze existieren zahlreiche Arbeiten, etwa zur Erreichbarkeit ¨ und Inklu([ST77], [HP79], [Kos82], [May84], [HR86], [Lam92]), Aquivalenz sion ([Hac76], [MM81], [Clo86], [Hir93]), Persistenz und Fairness ([Gra80], ¨ [Mue81], [May81], [Car87]), Beschr¨ anktheit und Uberdeckbarkeit ([Rac78]), Regularit¨ at ([GY80], [Sch86]) oder Bisimulation ([Jan95]). Manche dieser Arbeiten gelten dabei nur f¨ ur schlingenfreie Petri Netze, bei denen zwischen einer Stelle und einer Transition niemals Kanten in beiden Richtungen existieren. Betrachtet man die vorliegenden Arbeiten in ihrer Gesamtheit, so kann man durchaus L¨ ucken erkennen, die in diesem Buch – soweit m¨oglich – geschlossen werden sollen. Einige Arbeiten, insbesondere die Werke von Hack ([Hac74], [Hac75], [Hac76b]), liegen nur in Form technischer Berichte vor und sind daher schwer erh¨ altlich. So ist es denn – trotz der ansonsten sehr hohen Qualit¨at dieser Arbeiten – vielleicht nicht so u ¨berraschend, dass Hack beim Inklusionsproblem f¨ ur Feuersequenzmengen von Petri Netzen mit Endzust¨anden ein schwerer Fehler im Beweis unterlaufen ist, der bisher anscheinend niemandem ¨ aufgefallen ist. Im Gegensatz zur sch¨ onen Uberblicksarbeit von Esparza und Nielsen [EN94] ist daher hier das Ziel, auch die Beweise zu den Problemen zu pr¨ ufen, aufzuarbeiten und nachvollziehbar darzustellen. Zu diesem Zweck werden wir zun¨ achst in Kapitel 2 die n¨otigen Grundlagen schaffen, indem wichtige Begriffe aus Mathematik und Theoretischer Infor¨ matik, Petri Netze, Uberdeckungsgraphen und das L¨osen linearer Gleichungs-
1 Einleitung
5
systeme u urlichen Zahlen angesprochen werden. Der ¨ber den ganzen oder nat¨ geneigte Leser mag die beiden ersten Abschnitte problemlos auslassen (und bei Bedarf sp¨ ater Einzelheiten nachholen), und auch vom letzten Abschnitt muss man zum Verst¨ andnis der weiteren Kapitel lediglich die zentralen Aus¨ sagen kennen, nicht jedoch die Beweise. Der Abschnitt u ¨ber Uberdeckungsgraphen enth¨ alt jedoch einige ungew¨ ohnliche Definitionen und S¨atze, die zum Verst¨ andnis des folgenden Kapitels unerl¨ asslich sind. In Kapitel 3 zeigen wir im Detail, dass das Erreichbarkeitsproblem f¨ ur Petri Netze entscheidbar ist. Der Beweis ist in wesentlichen Punkten dem Buch Petri-Netze“ von Priese und Wimmel [PW03] entnommen und um ein be” gleitendes Beispiel erweitert. Nicht nur die in diesem Kapitel vorkommenden S¨ atze sind zentral f¨ ur die weiteren Kapitel, auch einige der Beweistechniken werden im Weiteren als bekannt vorausgesetzt und modifiziert. In Kapitel 4 betrachten wir teils neue, orthogonale Erweiterungen des Beweises zur Entscheidbarkeit der Erreichbarkeit, die wir dann einsetzen, um klassische Probleme zu Zust¨ anden und Zustandsr¨aumen zu beantworten. Un¨ tersucht werden neben den leichten“ Deadlock- und Uberdeckungsproblemen ” auch Fragen zu Home States und Home Spaces, verschiedenen Varianten der ¨ Lebendigkeit und zur Endlichkeit, Totalit¨ at, Inklusion und Aquivalenz von Zustandsmengen. Anstatt zustandsbezogen kann man Petri Netze ja auch aktionsbezogen betrachten. Dabei unterscheiden wir einerseits zwischen Feuersequenzen und deren homomorphen Bildern (wobei einzelne Transitionen auf das leere Wort abgebildet werden d¨ urfen oder nicht), andererseits die von Peterson [Pet77] eingef¨ uhrten Endzustandsbegriffe, die festlegen, unter welchen Bedingungen eine Feuersequenz bzw. deren homomorphes Bild zur zu betrachtenden Sprache geh¨ ort. F¨ ur jede der so entstehenden zw¨olf M¨oglichkeiten kann man nun Probleme hinsichtlich ihrer Entscheidbarkeit untersuchen; die Ergebnisse k¨ onnen dabei durchaus unterschiedlich sein. Die bez¨ uglich der verschiedenen Endzustandsmodelle systematische Untersuchung verschiedener Problemstellungen wurde in der Literatur bisher so nicht durchgef¨ uhrt; oft wurde sich auf das jeweils einfachste Endzustandsmodell beschr¨ankt. Zu den in Kapitel 5 betrachteten Problemen geh¨ oren das Wortproblem, das Leerheitsproblem, das Endlichkeitsproblem, das Totalit¨ atsproblem, das Regularit¨atsproblem sowie ¨ Inklusions- und Aquivalenzprobleme. Da bei den beiden letzten Problemtypen zwei Petri Netze verglichen werden m¨ ussen, ist es hier z.B. nat¨ urlich auch m¨ oglich, unterschiedliche Endzustandsbegriffe innerhalb derselben Probleminstanz zu haben. Erweiterungen des Standardmodells der Stellen-Transitionen-Netze sind auf viele verschiedene Arten m¨ oglich. Bei den meisten bekannteren Klassen wie etwa selbstmodifizierenden Netzen ([Val78]), verschachtelten ( nested“) Net” zen ([LS00]), hybriden Netzen mit teils kontinuierlichem Tokenfluss ([BFG01]),
6
1 Einleitung
Zeitnetzen ([JL77], [FRA00], [NSS01]), Priorit¨atsnetzen ([AK77]) oder Netzen mit Spezialkanten ([Cia94], [DFS98], [Rei06]) ist das Erreichbarkeitsproblem unentscheidbar. Besonders interessant sind die Netze mit Spezialkanten, die wir in Kapitel 6 untersuchen wollen. Hier wurde zum ersten Mal eine Hierarchie von Netzklassen gefunden, die sich trotz unentscheidbarem Erreichbarkeitsproblem in ihrer M¨ achtigkeit unterscheiden lassen. Zudem f¨ uhren wir, dem Beweis von Reinhardt [Rei06] folgend, das Erreichbarkeitsproblem f¨ ur Netze mit genau einer Spezialkante auf das normale Erreichbarkeitsproblem zur¨ uck. Im abschließenden Kapitel fassen wir noch einmal alle Ergebnisse zusammen. Zu den untersuchten Problemen wird jeweils aufgelistet, ob sie entscheidbar sind und wo das betreffende Ergebnis in diesem Buch zu finden ist; bei bereits bekannten Ergebnissen wird zudem auf die entsprechende Literatur verwiesen.
Kapitel 2
Petri Netze und ihre Mathematik
2.1 Mathematische Grundlagen In diesem Kapitel stellen wir die Grundlagen aus der Mathematik und der Theoretischen Informatik vor, die n¨ otig zum Verst¨andnis dieser Arbeit sind. W¨ ahrend dieser Abschnitt und der folgende u ¨ber Petri Netze eher zum Nachschlagen und zum Abgleich der Notationen n¨ utzlich sind und nicht unbedingt ¨ gelesen werden m¨ ussen, enth¨ alt der dritte Abschnitt Uberdeckungsgraphen“ ” f¨ ur das gesamte Buch wichtige Definitionen, die sich etwas von den bekannten Standarddefinitionen unterscheiden. Aus dem letzten Abschnitt des Kapitels sollte der an linearen Gleichungssystemen nicht u ¨berm¨aßig interessierte Leser nur die zu Beginn formulierten S¨ atze zur Kenntnis nehmen.
2.1.1 Mengen und Relationen Mit N, Z, Q und R bezeichnen wir, wie u urli¨blich, die Mengen der nat¨ chen Zahlen (N = {0, 1, 2, 3, . . .}) einschließlich der Null, der ganzen Zahlen (Z = {0, −1, 1, −2, 2, . . .}), der rationalen Zahlen (Q, Br¨ uche von ganzen Zahlen) und der reellen Zahlen. Sind M und N Mengen, so bezeichnet M N die Menge aller Abbildungen von N nach M . 2N ist isomorph zur Menge aller Teilmengen von N und bezeichnet die Potenzmenge von N . Wir benutzen das Zeichen ⊆ ur echte Inklusion, also M ⊆ / f¨ / N genau dann, falls M ⊆ N und M 6= N gilt. Definition 1 (Relationen). Eine Relation R auf einer Menge M ist eine Teilmenge von M × M . F¨ ur a, b ∈ M schreiben wir anstelle von (a, b) ∈ R
7
8
2 Petri Netze und ihre Mathematik
auch aRb. Wir nennen a Vorg¨ anger von b in R, falls aRb gilt, und Nachfolger von b in R, falls bRa gilt. Wir definieren Vorg¨ anger- und Nachfolgerfunktionen u ur alle ¨ber R durch • R(a) := {b ∈ M | bRa} und R• (a) := {b ∈ M | aRb} f¨ a ∈ M . Abk¨ urzend schreiben wir auch • Ra anstatt • R(a) und aR• anstatt R• (a). Ist R aus dem Kontext eindeutig bestimmt, so schreiben wir auch • a bzw. a• anstelle von • Ra oder aR• . F¨ ur aRb ∧ bRc schreiben wir verk¨ urzt auch aRbRc.
Definition 2 (Eigenschaften von Relationen). R ⊆ M × M heißt reflexiv, falls aRa f¨ ur alle a ∈ M gilt, und irreflexiv, falls aRa f¨ ur kein a ∈ M gilt. Die Relation R heißt symmetrisch, falls f¨ ur alle a, b ∈ M jeweils aRb ⇐⇒ bRa gilt, antisymmetrisch, falls aRb ⇐⇒ ¬bRa f¨ ur a 6= b gilt, und anderenfalls asymmetrisch. Sie heißt transitiv, wenn aus aRb und bRc stets f¨ ur alle a, b, c ∈ M auch aRc folgt, und azyklisch, falls sie irreflexiv und transitiv ist. Ein Paar (M, R) mit R ⊆ M ×M heißt Halbordnung, falls R eine azyklische Relation ist. Wir nennen (M, R) eine Ordnung, wenn (M, R) Halbordnung und R total ist, d.h., es gilt ∀a, b ∈ M : (aRb ∨ bRa). Ist M bekannt, so sagen wir auch einfach, R sei eine Ordnung bzw. eine Halbordnung, falls (M, R) diese Eigenschaft besitzt. Definition 3 (Transitiver Abschluss). Aus einer Relation R auf M lassen sich weitere Relationen bilden: Die Relation R0 := idM ist die Identit¨ at auf M (d.h. f¨ ur alle a, b ∈ M mit a 6= b gilt aRa und ¬(aRb)) und die Relation n+1 n Rn+1 wird induktiv definiert durch aR S b :n ⇐⇒ ∃c ∈ M : aR cRb. Der + transitive Abschluss von R ist R := R , und der reflexive, transitive n≥1 S Abschluss R∗ := n≥0 Rn . Wir sagen, a sei ein direkter Vorg¨ anger von b in R+ , falls aRn b genau im Falle n = 1 gilt, d.h., es gilt zwar aRb, aber es existiert kein c ∈ M mit aR+ cR+ b. Dann heißt b auch direkter Nachfolger von a. R+ und R∗ sind offensichtlich wieder Relationen auf M . Definition 4 (Disjunkt, bipartit). Seien M , A und B Mengen mit A∩B = ∅ und A∪B = M . Wir nennen solche Mengen A und B disjunkt und schreiben auch A ∪˙ B = M als disjunkte Vereinigung dieser Mengen. Eine Relation R ⊆ M × M heißt bipartit, falls R ⊆ (A × B) ∪ (B × A) gilt. Bei einer bipartiten Relation R gilt klar R2n ⊆ (A × A) ∪ (B × B) und R2n+1 ⊆ (A × B) ∪ (B × A) f¨ ur alle n ∈ N.
2.1 Mathematische Grundlagen
9
Definition 5 (Minimum, Maximum). Seien M eine Menge, R ⊆ M × M eine Relation und a ∈ M ein Element von M . Gilt • a = ∅, so nennen wir a ein minimales Element von M bzgl. R. Ist a• = ∅, so heißt a entsprechend maximales Element von M bzgl. R. Mit minR M := {a ∈ M | • Ra = ∅} und maxR M := {a ∈ M | aR• = ∅} bezeichnen wir die Mengen aller minimalen bzw. maximalen Elemente von M bzgl. R. Ist R klar, so schreiben wir auch kurz min M bzw. max M .
2.1.2 Ringe, K¨ orper, Matrizen Definition 6 (Monoid, Gruppe). Seien M eine Menge und ◦: M ×M → M eine Verkn¨ upfung auf M . Wir bezeichnen das Paar (M, ◦) als Halbgruppe, falls folgende Bedingung erf¨ ullt ist: • ∀a, b, c ∈ M : (a ◦ b) ◦ c = a ◦ (b ◦ c)
(Assoziativit¨at).
Anstelle von a ◦ b schreiben wir verk¨ urzt auch oft einfach ab. Wir nennen eine Halbgruppe frei, falls es eine endliche Teilmenge M 0 ⊆ M gibt, so dass jedes m ∈ M genau eine endliche Darstellung m = a1 ◦ . . . ◦ aj mit j ∈ N und ai ∈ M 0 f¨ ur alle 1 ≤ i ≤ j besitzt. Eine Halbgruppe (M, ◦) heißt kommutativ oder abelsch, falls • ∀a, b ∈ M : a ◦ b = b ◦ a
(Kommutativit¨at)
gilt. Wir bezeichnen eine Halbgruppe (M, ◦) als Monoid, falls sie ein neutrales Element besitzt: • ∃e ∈ M ∀a ∈ M : e ◦ a = a = a ◦ e
(Einselement).
Ein Monoid (M, ◦) heißt Gruppe, falls jedes Element ein Inverses besitzt, d.h., es gilt • ∀a ∈ M ∃a−1 ∈ M : a ◦ a−1 = e = a−1 ◦ a
(Inverses Element).
Definition 7 (Ring, K¨ orper). Sei (M, +) eine abelsche Gruppe, in der 0 das neutrale Element und −a das Inverse zu a bezeichnet. Ferner sei ·: M × M → M eine weitere Verkn¨ upfung auf M . Wir bezeichnen (M, +, ·) als Ring, falls (M \{0}, ·) eine Halbgruppe ist sowie folgende Bedingungen erf¨ ullt sind:
10
2 Petri Netze und ihre Mathematik
• ∀a, b, c ∈ M : (a + b) · c = (a · c) + (b · c)
(Distributivit¨at 1),
• ∀a, b, c ∈ M : a · (b + c) = (a · b) + (a · c)
(Distributivit¨at 2).
Ein Ring (M, +, ·), f¨ ur den (M \{0}, ·) ein Monoid ist, heißt auch Ring mit Eins. Ein Ring (M, +, ·), f¨ ur den (M \{0}, ·) eine abelsche Gruppe ist, heißt auch K¨ orper. Das Einselement von (M \{0}, ·) wird als 1 geschrieben (sofern vorhanden), w¨ ahrend man 0 auch als Nullelement bezeichnet. Bekannte K¨ orper sind die rationalen Zahlen Q und die reellen Zahlen R. Wichtige Ringe sind die ganzen Zahlen Z und der Polynomring u ¨ber Z. Wir definieren Polynome wie folgt: Definition 8 (Polynom). Ein Polynom u ¨ber Z (bzw. N) vom Grad n mit r Variablen und Koeffizienten in Z (bzw. N) ist eine Abbildung f : Zr → Z (f : Nr → N) definiert durch ∀x1 , . . . , xr ∈ Z (bzw. N): X f (x1 , . . . , xr ) := ai1 ,...,ir · xi11 · . . . · xirr (i1 ,...,ir )∈{0,...,n}r
mit ai1 ,...,ir ∈ Z (bzw. aus N) f¨ ur alle ij ∈ {0, . . . , n} mit 1 ≤ j ≤ r. r heißt auch die Dimension von f , r = dim f . Die Gr¨ oße |f | von f ist definiert als X X |f | := ij + |ai1 ,...,ir |. 0≤ij ≤n 1≤j≤r ai1 ,...,ir 6=0
0≤ij ≤n 1≤j≤r
Die Menge aller Polynome (beliebigen Grades) mit Koeffizienten in N bezeichnen wir mit N[X], die aller Polynome mit Koeffizienten in Z mit Z[X]. Mit Z[X]N bezeichnen wir alle Polynome f : Nr → N in Z[X], r beliebig, d.h., alle solche Polynome f aus Z[X], die f¨ ur jedes Argument n ∈ Nr nur einen Wert f (n) ∈ N annehmen k¨ onnen. Es ist zu beachten, dass f¨ ur Polynome f in Z[X]N als Argumente nur Vektoren u ur ein r ∈ N f¨ ur jedes f ∈ Z[X]N . ¨ber N zugelassen sind. f : Nr → N gilt f¨ Nur die Koeffizienten d¨ urfen aus Z sein. In die Gr¨oße |f | gehen nur die Terme ein mit Koeffizienten 6= 0. Es l¨ asst sich leicht u ufen, dass (Z[X], +, ·) mit dem Nullelement 0 ∈ ¨berpr¨ Z ⊆ Z[X] und dem Einselement 1 ∈ Z ⊆ Z[X] einen Ring mit Eins bildet, den wir den Polynomring u ¨ber Z nennen. Mangels inverser Elemente bzgl. der Addition bilden N[X] und Z[X]N zwar keine Ringe, werden sich jedoch trotzdem noch als n¨ utzlich erweisen.
2.1 Mathematische Grundlagen
11
Definition 9 (Modul, Vektorraum). Sei (R, +, ·) ein Ring mit Eins. Ein R-Modul ist ein Tripel (M, +, ·) mit zwei (anderen!) Verkn¨ upfungen +: M × M → M und ·: R×M → M (Skalarmultiplikation), die folgende Bedingungen erf¨ ullen: • ∀λ, µ ∈ R ∀v ∈ M : (λ + µ) · v = (λ · v) + (µ · v), • ∀λ ∈ R ∀v, v 0 ∈ M : λ · (v + v 0 ) = (λ · v) + (λ · v 0 ), • ∀λ, µ ∈ R ∀v ∈ M : λ · (µ · v) = (λ · µ) · v, • ∀v ∈ M : 1 · v = v. Ein R-Modul heißt auch R-Vektorraum, falls R ein K¨orper ist. H¨ aufig vorkommende R-Moduln sind Rm und Rm×n , wobei R meistens der Ring Z ist. Obwohl N kein Ring ist, erlauben wir auch R := N zu setzen, alle Rechenregeln werden dann aus Z u ¨bernommen, solange keine negativen Zahlen auftreten. Generell erkl¨ aren wir Rm als den R-Modul aller mdimensionalen Vektoren u ¨ber R mit der Vektoraddition und Skalarmultiplikation als weitere Operationen. Rm×n ist der R-Modul aller m × n-Matrizen u ¨ber R mit der Matrixaddition und Skalarmultiplikation als weitere Operationen. Eine m × n-Matrix A schreiben wir auch als rechteckiges Schema mit m Zeilen und n Spalten. Wir schreiben A = (ai,j )1≤i≤m,1≤j≤n mit jeweils dem Eintrag ai,j ∈ R in Zeile i und Spalte j. m × n nennen wir auch die Dimension von A. Ist sie bekannt oder unwichtig, so lassen wir sie weg und schreiben nur A = (ai,j )i,j . Die Zeilen einer Matrix heißen Zeilenvektoren, ihre Spalten entsprechend Spaltenvektoren. Die Transponierte AT einer m × n-Matrix A = (ai,j )i,j u ¨ber R ist die n × mMatrix AT = (aj,i )i,j . Das Produkt AB zweier Matrizen A (ai,j )i,j und B = (bk,` )k,` ist die m×pP= m Matrix AB = (ci,` )i,` mit ci,` := j=1 ai,j · bj,` , falls A eine m × n-Matrix und B eine n × p-Matrix ist. Als Nullmatrix 0 = (ai,j )i,j bezeichnen wir jede m × n-Matrix mit ai,j = 0 f¨ ur alle 1 ≤ i ≤ m und 1 ≤ j ≤ n. Als Einheitsmatrix E bezeichnen wir alle n × n-Matrizen E = (ei,j )i,j mit ei,j = 1 falls i = j und ei,j = 0 sonst. Die Nullmatrix ist neutrales Element der Addition von Matrizen, w¨ahrend die Einheitsmatrix neutrales Element der Multiplikation f¨ ur quadratische Matrizen (mit m = n) ist. Zu einer m × n-Matrix A sei −A die Matrix mit A + (−A) = 0. Ist A eine n × n-Matrix und gilt AA−1 = E oder A−1 A = E f¨ ur eine n × n-Matrix A−1 , so nennen wir A−1 Rechts- bzw. Linksinverses von A.
12
2 Petri Netze und ihre Mathematik
F¨ ur eine m × n-Matrix A = (ai,j )i,j gilt A ≥ 0, falls ai,j ≥ 0 f¨ ur alle i ∈ {1, . . . , m} und j ∈ {1, . . . , n} ist. Es ist A > 0, falls A ≥ 0 und ai,j 6= 0 f¨ ur ein Paar i, j gilt. Analog gilt A ≥ B, falls A + (−B) ≥ 0 ist, etc. Wir merken noch an, dass jeder Spaltenvektor und jeder Zeilenvektor mit n Komponenten gerade eine n × 1- bzw. 1 × n-Matrix ist. Damit lassen sich zwei Vektoren v, v 0 vergleichen, wenn sie die gleiche Dimension besitzen, und es gilt v < v 0 , wenn v in jeder Komponente h¨ochstens so groß wie v 0 und in mindestens einer Komponente echt kleiner als v 0 ist. Ein Spezialfall des Matrizenmoduls Rm×n ist der Modul Rm := Rm×1 der mdimensionalen (Spalten-)Vektoren u ur R w¨ahlen wir den Ring Z oder ¨ber R. F¨ – wie oben bereits erw¨ ahnt – die Menge N als Teilmenge von Z. Nm besitzt keine sch¨ onen algebraischen Eigenschaften mehr, wir k¨onnen in Nm aber wie in Zm arbeiten, solange keine negativen Zahlen auftreten. Ist a ∈ Nm oder a ∈ Zm , so schreiben wir dabei a = (a1 , . . . , am )T oder a = (a(1), . . . , a(m))T , wobei ai = a(i) ∈ N (oder Z) die Komponenten von a sind. Ein i mit 1 ≤ i ≤ m heißt auch Koordinate von a. Wir f¨ uhren f¨ ur einige Spaltenvektoren abk¨ urzende Schreibweisen ein. So ist mit 0 = (0, . . . , 0)T der Nullvektor einer vom Kontext abh¨angigen Dimension gemeint. Wir schreiben also beispielsweise 0 sowohl f¨ ur den Nullvektor im R7 als auch im N3 . Analog ist mit 1 = (1, . . . , 1)T der Einheitsvektor gemeint, der aus einer vom Kontext abh¨ angigen Anzahl von Einsen besteht. In einer Formel 1T · A · 1 = k mit einer m × n-Matrix A besitzt der erste 1-Vektor die Dimension m, der zweite die Dimension n. Eine Teilmenge S der Vektoren von Nk nennen wir linear, wenn sich alle Vektoren aus S als Summe aus einem gemeinsamen Basisvektor und Vielfachen aus einer endlichen Menge von Iterationsvektoren darstellen lassen. Definition 10 (Lineare Menge). Eine Menge S ⊆ Nk (k ∈ N) heißt linear, falls ein m ∈ N und Vektoren b, x1 , . . . , xm ∈ Nk existieren mit S = {s ∈ Nk | ∃i1 , . . . , im ∈ N : s = b +
m X
ij · xj }.
j=1
Eine Menge ist semi-linear, wenn sie die Vereinigung von endlich vielen linearen Mengen ist. Sei P eine Menge. Wir bezeichnen mit NP die Menge der Abbildungen f : P → N. F¨ ur endliche Mengen P = {p1 , . . . , pn } identifizieren wir NP mit |P | N , der Menge aller |P |-dimensionalen Spaltenvektoren u ¨ber N. Mit π bezeichnen wir Projektionen.
2.1 Mathematische Grundlagen
13
Definition 11 (Projektion). Ist p ein ausgezeichnetes Element in P , P 0 ⊆ P = {p1 , . . . , pn } eine ausgezeichnete Teilmenge von P , so sind πp : NP → N 0 und πP 0 : NP → NP die Projektionen mit πp (v) = v(p) und πP 0 (v) = (v(pi1 ), . . . , v(pik ))T , falls P 0 = {pi1 , . . . , pik } mit i1 < . . . < ik gilt. Ein 0 v ∈ NP fassen wir als Element von NP auf, indem wir v(p) = 0 f¨ ur alle 0 p ∈ P − P 0 festlegen. Wir bezeichnen dies als kanonische Einbettung von NP in NP .
2.1.3 Erweiterte natu ¨rliche Zahlen Wir erweitern die nat¨ urlichen Zahlen N um einen Wert ω, der gr¨oßer als alle nat¨ urlichen Zahlen ist. Man kann ω als unendlich oder, mathematisch genauer, als erste Limeszahl begreifen. Sei Nω := N∪{ω} mit a+ω = ω−a = ω und a < ω f¨ ur alle a ∈ N. Wir u ur Vektoren und Matrizen ¨bertragen die f¨ u ¨ber N bekannten Begriffe auf Vektoren und Matrizen u ¨ber Nω . Wir setzen die u ur r-dimensionale Vektoren u ¨bliche komponentenweise Halbordnung ≤ f¨ ¨ber Nn kanonisch auf Nnω fort. Zus¨ atzlich definieren wir noch eine Halbordnung ≤ω , wobei a = (a1 , . . . , an )T ≤ω b = (b1 , . . . , bn )T f¨ ur a, b ∈ Nnω genau dann gilt, wenn ai = bi oder bi = ω f¨ ur alle 1 ≤ i ≤ n gilt. Wegen der Wichtigkeit dieser Begriffe und der relativen Unbekanntheit von ≤ω wollen wir dazu eine gesonderte Definition benutzen. Definition 12. Auf Nnω sind zwei Halbordnungen ≤ und ≤ω wie folgt definiert: ∀a, b ∈ Nnω : a ≤ b : ⇐⇒ ∀i ∈ {1, . . . , n} : ai ≤ bi a ≤ω b : ⇐⇒ ∀i ∈ {1, . . . , n} : (bi = ω ∨ ai = bi ). a und b heißen unvergleichbar, falls weder a ≤ b noch b ≤ a gilt. Gilt a ≤ω b, so heißt a spezifizierter als b. Es sind <, ≥, > und <ω , ≥ω , >ω aus ≤ und ≤ω wie u ¨blich definiert, z.B. ist a ≥ b : ⇐⇒ b ≤ a und a ≥ω b : ⇐⇒ b ≤ω a. Eine Koordinate i, 1 ≤ i ≤ n, heißt ω-Koordinate von a, falls ai = ω gilt. Es gilt nat¨ urlich a ≤ω b ⇒ a ≤ b, aber nicht umgekehrt, wie folgende einfache Beispiele zeigen: (1, 1) ≤ω (1, ω) (1, 1) ≤ (1, ω) (1, 1) ≤ (2, ω) (1, 1) 6≤ω (2, ω)
14
2 Petri Netze und ihre Mathematik
Ist a echt spezifizierter als b, d.h., gilt a <ω b, so besitzt a auf einer ωKoordinate i von b einen spezifizierten endlichen Wert ai ∈ N, w¨ahrend bi = ω gilt. Ist bi spezifiziert, d.h. gilt bi ∈ N, so muss ai gleich bi sein. Es ist zu beachten, dass sich Unvergleichbarkeit“ auf ≤ und nicht auf ≤ω bezieht. ” Wir brauchen sp¨ ater den wichtigen, aber relativ unbekannten Satz, dass jede Menge M ⊆ Nnω von n-Vektoren u ¨ber Nω h¨ochstens endlich viele paarwei¨ se unvergleichbare Elemente besitzen kann. Aquivalent ist, dass in M nur endlich viele ≤-minimale Elemente vorkommen, vgl. Definition 5. Satz 1. Sei M eine Teilmenge von Nnω . Dann gilt • M besitzt nur endlich viele paarweise unvergleichbare Elemente, • M besitzt nur endlich viele ≤-minimale Elemente. • Jede unendliche Folge F von Elementen aus Nnω (mit n ∈ N) besitzt eine bzgl. ≤ monoton wachsende unendliche Teilfolge F 0 . Kommt in F kein Element aus Nnω mehrfach vor, so ist F 0 sogar streng monoton wachsend. Beweis. Wir zeigen nur die dritte Aussage, aus der die beiden ersten sofort folgen. Induktion u ur n = 0 ist die Aussage trivial. Sei F = (si )i∈N eine ¨ber n: F¨ unendliche Folge u und der Satz gelte f¨ ur Folgen u ¨ber Nn+1 ¨ber Nnω . Sei π : ω n+1 n Nω → Nω die Projektion auf die ersten n Komponenten. Dann ist π(F ) = (π(si ))i∈N selbst eine unendliche Folge. Also besitzt π(F ) eine unendliche, monoton wachsende Teilfolge und damit F eine unendliche Teilfolge F0 = (s0i )i∈N , die in den ersten n Komponenten monoton w¨achst. Wir bestimmen nun von jedem Element s0i die letzte Komponente s0i (n + 1) und betrachten die Folge (s0i (n + 1))i∈N . Es sind zwei F¨ alle zu unterscheiden: • Eine Zahl n0 ∈ Nω kommt in (s0i (n+1))i∈N unendlich oft vor. Dann w¨ahlen wir als neue Folge F 0 eine Teilfolge von F0 , in der s¨amtliche n + 1-ten Komponenten n0 sind. Die Folge F 0 ist offenbar unendlich und monoton wachsend (aber nicht streng monoton). • Keine Zahl kommt in (s0i (n + 1))i∈N unendlich oft vor. Daher muss diese Folge unbeschr¨ ankt sein. Wir k¨ onnen also zu jedem s0j (n + 1) ein s0k (n + 1) 0 mit k > j finden, so dass sj (n + 1) < s0k (n + 1) gilt. Dann finden wir aber auch eine Teilfolge (s0ij (n + 1))j∈N und i1 < i2 < i3 < . . ., die streng monoton w¨ achst. Wir w¨ ahlen als F 0 := (s0ij )j∈N und haben eine monoton wachsende Teilfolge von F gefunden.
2.1 Mathematische Grundlagen
15
Kommt in F kein Element mehrfach vor, so gilt dies offenbar auch f¨ ur die monoton wachsende Teilfolge F 0 , die deshalb bereits streng monoton wachsend sein muss. Alle diese Aussagen u urliche Zahlen lassen sich nat¨ urlich ¨ber erweiterte nat¨ auch auf kartesische Produkte von Nnω mit anderen Mengen anwenden. Ist insbesondere M eine Menge ohne eine spezielle Ordnung ≤, so definieren wir die kanonische Erweiterung von ≤ und ≤ω von Nnω auf M × Nnω durch (m, s) ≤ (m0 , s0 ) : ⇐⇒ m = m0 ∧ s ≤ s0 (m, s) ≤ω (m0 , s0 ) : ⇐⇒ m = m0 ∧ s ≤ω s0 f¨ ur alle m, m0 ∈ M und s, s0 ∈ Nnω .
2.1.4 Sprachen und Entscheidbarkeit Ein Alphabet ist, wie stets, eine endliche, nicht-leere Menge. Definition 13 (Wort, Sprache). Ein Wort w u ¨ber einem Alphabet Σ besteht aus einer endlichen (evtl. leeren) Folge von Buchstaben aus Σ. Das leere Wort bezeichnen wir mit ε. Mit |w| bezeichnen wir die Anzahl der Buchstaben in w und mit w(i) f¨ ur 1 ≤ i ≤ |w| den i-ten Buchstaben des Wortes w. Ferner sei #a (w) die Anzahl der Vorkommen des Buchstabens a ∈ Σ im Wort w. Das Parikh-Bild P (w) eines Wortes w ∈ Σ ∗ ist der Vektor in NΣ mit P (w)(a) := #a (w) f¨ ur a ∈ Σ. Die so definierte Abbildung P : Σ ∗ → NΣ nennen wir auch Parikh-Abbildung. Eine Sprache u ortern u ¨ber Σ ist eine Menge von W¨ ¨ber Σ. Die Menge aller W¨ orter u ¨ber Σ bezeichnen wir mit Σ ∗ , die leere Sprache mit ∅. Eine Sprachklasse L ist eine Menge von Sprachen. Definition 14. Wir definieren zu einem Wort w ∈ Σ ∗ die Mengen aller Pr¨ afixe, Infixe bzw. Suffixe durch Pr¨ a w := {v1 ∈ Σ ∗ | ∃v2 ∈ Σ ∗ : v1 v2 = w} Inf w := {v2 ∈ Σ ∗ | ∃v1 , v3 ∈ Σ ∗ : v1 v2 v3 = w} Suf w := {v3 ∈ Σ ∗ | ∃v2 ∈ Σ ∗ : v2 v3 = w} Einzelne Elemente aus diesen Mengen bezeichnen wir entsprechend als Pr¨ afix, Infix oder Suffix von w.
16
2 Petri Netze und ihre Mathematik
Die Fortsetzung auf Sprachen L f¨ uhrt man kanonisch durch, wir definieren S dies hier nur f¨ ur die Pr¨ afixeigenschaft: Pr¨ a L = w∈L Pr¨a w. Eine Sprache L nennen wir pr¨ afix-abgeschlossen, wenn Pr¨ a L = L gilt, also mit jedem Wort auch alle Pr¨ afixe des Wortes zur Sprache geh¨oren. Eine wichtige Operation auf Sprachen, die wir in eingeschr¨ankter Form h¨aufig benutzen werden, ist der Homomorphismus. Definition 15 (Homomorphismus). Sind Γ und Σ Alphabete und ist h : ˆ : Γ ∗ → Σ ∗ induktiv Γ → Σ ∗ eine Abbildung, so ist der Homomorphismus h ∗ ˆ ˆ 1 w2 ) := h(w ˆ 1 ) · h(w ˆ 2 ). gegeben durch h(ε) := ε und f¨ ur w1 , w2 ∈ Γ : h(w ˆ Gew¨ ohnlich unterscheidet man nicht zwischen h und h. F¨ ur eine Sprache L ⊆ Γ ∗ ist h(L) dann definiert als h(L) := {h(w) | w ∈ L}. Es gibt einige interessante Unterf¨ alle: • Einen Homomorphismus h : Γ → Σ ∪ {ε} nennen wir auch einen feinen Homomorphismus. • Einen Homomorphismus h : Γ → Σ nennen wir auch einen sehr feinen Homomorphismus. • Ein Homomorphismus h : Γ → Γ mit h(a) = a f¨ ur alle a ∈ Γ wird als Identit¨ at auf Γ und mit idΓ bezeichnet. In Kapitel 5, in dem wir uns intensiv mit Sprachen von Petri Netzen besch¨aftigen, werden Homomorphismen st¨ andig auftreten. Wichtige Begriffe im Zusammenhang mit Sprachen sind die Entscheidbarkeit, Akzeptierbarkeit und rekursive Aufz¨ ahlbarkeit. Definition 16 (Wortproblem). Sei L eine Sprache. Die Frage, ob ein Wort w in der Sprache L liegt, nennen wir das Wortproblem f¨ ur L. Wir nennen die Sprache L entscheidbar, wenn es ein Verfahren gibt, das f¨ ur jedes Wort w nach endlicher Zeit abgeschlossen wird und als Ergebnis die Antwort auf die Frage liefert, ob w ∈ L gilt oder nicht. Die Sprache L heißt akzeptierbar, wenn ein Verfahren existiert, das f¨ ur jedes Wort w ∈ L nach endlicher Zeit abgeschlossen wird und als Ergebnis die Antwort w ∈ L liefert. F¨ ur W¨ orter, die nicht in L liegen, darf das Verfahren unendlich lange arbeiten, ohne ein Ergebnis zu liefern. Die Sprache L heißt rekursiv aufz¨ ahlbar, wenn ein Verfahren existiert, das sukzessiv W¨ orter aus der Sprache L produziert. Dabei d¨ urfen W¨orter mehrfach produziert werden, aber jedes Wort aus L muss – f¨ ur sich betrachtet – nach endlicher Zeit ausgegeben werden. Ist L eine Sprache mit unendlich vielen W¨ ortern, so endet das Verfahren nie.
2.1 Mathematische Grundlagen
17
Wir haben damit – recht intuitiv und damit auf den ersten Blick ungenau – ausgedr¨ uckt, was die Begriffe entscheidbar, akzeptierbar und (rekursiv) aufz¨ ahlbar bedeuten. Die Churchsche These sagt uns hierzu, dass das intuitiv Berechenbare (was wir oben mit Verfahren“ meinen) genau das ist, was ” man auch mit formalen Modellen berechnen kann. Im n¨achsten Abschnitt definieren wir einige formale Modelle, von denen eines – das Registermaschinenmodell – berechenbarkeitsuniversell ist, also (jedenfalls wenn man an die Churchsche These glaubt) alles berechnen kann, was u ¨berhaupt berechenbar ist. Mit Hilfe eines solchen berechenbarkeitsuniversellen Modells l¨asst sich zeigen, dass die Begriffe akzeptierbar und rekursiv aufz¨ahlbar ¨aquivalent sind, d.h., jede akzeptierbare Sprache ist rekursiv aufz¨ahlbar und umgekehrt. Ebenso gilt f¨ ur jede Sprache L ⊆ Σ ∗ , dass L entscheidbar ist genau dann, wenn sowohl L als auch das Komplement Σ ∗ \L von L akzeptierbar sind. Diese Art von S¨ atzen zeigen wir hier nicht, f¨ ur die Grundlagen der Berechenbarkeitstheorie ziehe man ein geeignetes Lehrbuch heran, z.B. [EP00].
2.1.5 Endliche Automaten und Registermaschinen Zur Beschreibung von Sprachen nutzt man in der Theoretischen Informatik verschiedene Konzepte von Automaten. Wir definieren hier zwei davon, den endlichen Automaten und die Registermaschine. Letztere steht dabei von ihrer M¨ achtigkeit her u ¨ber den endlichen Automaten und ist ¨aquivalent zur bekannteren Turingmaschine, man vergleiche hierzu die einf¨ uhrenden Literatur zur Theoretischen Informatik, etwa Erk und Priese [EP00]. Definition 17 (Endlicher Automat). Ein (deterministischer) endlicher Automat A ist ein Tupel A = (Q, Σ, δ, q0 , Qf ) mit • einer endlichen Menge von Zust¨ anden Q, • einem Alphabet Σ, ¨ • einer (partiellen) Uberf¨ uhrungsfunktion δ : Q × Σ → Q, • einem Startzustand q0 ∈ Q und • einer Menge von Endzust¨ anden Qf ⊆ Q. Die Funktion δ wird kanonisch zu einer Funktion δ ∗ : Q×Σ ∗ → Q fortgesetzt durch δ ∗ (q, ε) = q und δ ∗ (q, wa) = δ(δ ∗ (q, w), a) f¨ ur alle q ∈ Q, w ∈ Σ ∗ und a ∈ Σ.
18
2 Petri Netze und ihre Mathematik
Eine Sprache L heißt regul¨ ar, falls ein endlicher Automat A existiert mit L = L(A) := {w ∈ Σ ∗ | δ ∗ (q0 , w) ∈ Qf }. ¨ Ublicherweise wird δ als totale Funktion definiert. In der Theorie der formalen ¨ Sprachen werden endliche Automaten, bei denen die Uberf¨ uhrungsfunktion δ nicht total ist, meist den nichtdeterministischen endlichen Automaten zugeordnet. Man kann aber leicht jeden nichtdeterministischen endlichen Automaten in einen deterministischen endlichen Automaten umwandeln, der ¨ dieselbe Sprache akzeptiert. Da partielle Uberf¨ uhrungsfunktionen also nicht sch¨ adlich sind und außerdem besser zu Petri Netzen passen, werden sie hier einfach zugelassen. Es gibt viele Kriterien, die die Regularit¨ at einer Sprache nachweisen oder widerlegen k¨ onnen. Ein Kriterium, das bei vielen Sprachklassen in irgendeiner Form vorkommt, ist das sogenannte Pumping-Lemma. Eine recht komplexe Form des Pumping-Lemmas werden wir sp¨ ater f¨ ur das sogenannte Erreichbarkeitsproblem bei Petri Netzen einf¨ uhren. Das Pumping-Lemma f¨ ur regul¨are Sprachen ist dagegen noch recht einfach: Lemma 1 (Pumping-Lemma f¨ ur regul¨ are Sprachen). Sei L eine regul¨ are Sprache. Dann existiert eine Konstante n ∈ N, so dass man jedes Wort z mit |z| ≥ n in drei Teilw¨ orter u, v, w zerlegen kann mit z = uvw |v| > 0 |uv| ≤ n ∀i ∈ N : uv i w ∈ L.
Einen Beweis findet man in der einschl¨ agigen Literatur, z.B. [HU79] oder [EP00]. Etwas mehr als die endlichen Automaten k¨ onnen die Kellerautomaten, auch Pushdown-Automaten genannt. Die von diesen Automaten akzeptierten Sprachen sind die kontextfreien Sprachen, die hier nur am Rande vorkommen. Insbesondere verzichten wir hier deshalb auf eine formale Definition und verweisen auf die entsprechende Literatur, z.B. [EP00]. Als weitere, wichtige Klasse von Automaten f¨ uhren wir nun noch die Registermaschinen ein. Definition 18 (Registermaschine). Eine Registermaschine M besteht aus einer endlichen Zahl n ∈ N von Registern R1 , . . . , Rn , von denen jedes genau eine nat¨ urliche Zahl enth¨ alt, und einem Programm aus einer endlichen
2.1 Mathematische Grundlagen
19
Zahl m ∈ N von Befehlen B1 , . . . , Bm , die eine der folgenden Formen haben k¨ onnen: Bm : halt Bi : Rj := Rj + 1 Bi : Rj := Rj − 1 oder Bi : if Rj = 0 goto Bq1 else goto Bq2 . Hierbei ist 1 ≤ i < m, 1 ≤ j ≤ n, 1 ≤ q1 ≤ m und 1 ≤ q2 ≤ m. Eine Konfiguration einer Registermaschine mit n Registern ist ein Tupel aus Nn+1 . Eine Konfiguration K2 = (i0 , y1 . . . . , yn ) ist Nachfolger einer Konfiguration K1 = (i, x1 , . . . , xn ), falls sich diese Tupel an h¨ochstens zwei Positionen voneinander unterscheiden, und zwar: beim Befehl Bi : Rj := Rj + 1 durch yj = xj + 1 und i0 = i + 1, beim Befehl Bi : Rj := Rj − 1 durch yj = xj − 1 und i0 = i + 1 und beim If-Befehl Bi durch i0 = q1 , falls Rj = 0 ist und durch i0 = q2 , falls Rj 6= 0 ist. Beim Befehl Bm : halt gibt es keine Nachfolgekonfiguration. ∗
Wir bezeichnen mit − → die reflexive, transitive H¨ ulle der Nachfolgerelation. ∗ Gilt (1, x1 , . . . , xn ) − → (m, y1 , . . . , ym ), so sagen wir, die Registermaschine berechne bei Eingabe (x1 , . . . , xm ) die Ausgabe (y1 , . . . , ym ). Im Prinzip ist es m¨ oglich, dass ein Register den Wert Null hat, wenn ein Subtraktionsbefehl ausgef¨ uhrt werden soll. In einem solchen Fall gibt es keine Nachfolgekonfiguration, von daher bricht die Berechnung ohne Ergebnis ab. Um dies zu verhindern, fordern wir, dass ein Subtraktionsbefehl Bi : Rj := Rj − 1 niemals Sprungziel in einem If-Befehl sein darf und dass der Befehl vor dem Subtraktionsbefehl stets Bi−1 : if Rj = 0 goto Bi−1 else goto Bi lauten muss. Dadurch werden Programmabbr¨ uche – außer durch Erreichen eines halt-Befehls – verhindert. Man kann W¨ orter und Sprachen geeignet kodieren, so dass sie sich mit einer Registermaschine verarbeiten lassen. Tut man dies, so kann man mit Registermaschinen Sprachen entscheiden oder akzeptieren. Da Registermaschinen berechenbarkeitsuniversell sind, k¨ onnen sie das Wortproblem f¨ ur jede entscheidbare Sprache l¨ osen und jede intuitiv berechenbare Funktion berechnen. Tats¨ achlich gen¨ ugen hierf¨ ur bereits Registermaschinen mit nur zwei Registern; Programme, die mehr Register ben¨otigen, kann man durch eine geschickte Kodierung mehrerer Register in ein Register vermeiden. Lediglich zum Berechnen dieser Kodierung braucht man ein zweites Register. Auch dies f¨ uhren wir hier nicht vor. Ebenfalls in der Literatur kann man nachlesen, dass das Halteproblem, also die Frage, ob eine Registermaschine (mit zwei Registern (f¨ ur mehr Register stimmt es nat¨ urlich auch)) bei einer bestimmten Eingabe h¨ alt, unentscheidbar ist. Diese Unentscheidbarkeit wollen wir
20
2 Petri Netze und ihre Mathematik
sp¨ ater auf verschiedene Probleme bei Petri Netzen u ¨bertragen. Dazu dienen sogenannte Reduktionen: Definition 19 (Reduktion). Seien Li Sprachen u ¨ber Alphabeten Σi , i ∈ {1, 2}, so heißt L1 reduzierbar auf L2 , L1 ≤ L2 , falls eine berechenbare Funktion h : Σ1∗ → Σ2∗ existiert mit ∀w ∈ Σ1∗ : (w ∈ L1 ⇐⇒ h(w) ∈ L2 ). Dabei meinen wir mit berechenbare Funktion“ nat¨ urlich, dass es einen Al” gorithmus gibt, der diese Funktion berechnet. Nach der Churchschen These kann man solch eine Funktion dann auch mit einer Register- oder Turingmaschine berechnen, ist die Funktion recht einfach, so gen¨ ugt eventuell auch ein Kellerautomat oder ein endlicher Automat. Dort, wo solche Berechnungsvorschriften gebraucht werden, werden wir uns jedoch h¨aufig mit der informellen Angabe des Algorithmus begn¨ ugen. Wenn L1 unentscheidbar ist und L1 ≤ L2 gilt, so muss auch L2 unentscheidbar sein. Anderenfalls k¨ onnte man, um w ∈ L1 ?“ zu pr¨ ufen, einfach ” entscheiden, ob h(w) ∈ L2 gilt, und das Ergebnis u ¨bertragen. Mit derselben Idee folgt aus der Entscheidbarkeit von L2 und L1 ≤ L2 auch die Entscheidbarkeit von L1 . Reduktionen sind damit recht einfache Verfahren, um die Entscheidbarkeit bzw. Unentscheidbarkeit von Sprachen zu zeigen. Wir nutzen die M¨ oglichkeit, Probleme als Sprachen zu formulieren, und werden meist die Entscheidbarkeit oder Unentscheidbarkeit eines Problems u ¨ber Reduktionen zeigen. Wie schnell man ein Problem l¨ osen kann, ist f¨ ur uns kaum von Interesse; zu den meisten hier gezeigten Problemen sind keine oberen Schranken bekannt, mit denen man ihre Komplexit¨ at absch¨ atzen kann. In einigen F¨allen ist es jedoch interessant, dass sich zwei L¨ osungsverfahren nur durch einen maximal polynomiellen Faktor in der ben¨ otigten Zeit unterscheiden. Definition 20 (Polynomielle Reduktion). Eine Reduktion L1 ≤ L2 nennen wir polynomiell und schreiben L1 ≤p L2 , wenn die ben¨otigte Zeit f¨ ur die Berechnung eines Wortes durch die Reduktionsfunktion h (siehe Def. 19) durch ein Polynom nach oben abgesch¨ atzt werden kann. Das heißt, um h(w) zu berechnen, bedarf es maximal p(|w|) Rechenschritte, wobei p ein Polynom ist, das nicht von w abh¨ angt. Wird die Reduktionsfunktion durch einen endlichen Automaten angegeben, ¨ so betrachten wir die einmalige Benutzung eines δ-Ubergangs als einen Rechenschritt, bei Registermaschinen ist jede Ausf¨ uhrung eines Befehls jeweils ein Rechenschritt.
2.2 Petri Netze
21
2.2 Petri Netze Definition 21. Ein Petri Netz N ist ein Tupel N = (P, T, F, B) von • einer endlichen, angeordneten Menge P = {p1 , . . . , p|P | } von Stellen (engl. places), • einer endlichen, angeordneten Menge T = {t1 , . . . , t|T | } von Transitionen, • mit P ∩ T = ∅, • einer |P |×|T |-Matrix F u ¨ber N, und • einer |P |×|T |-Matrix B u ¨ber N. In der graphischen Darstellung erh¨ alt jede Stelle einen Kreis und jede Transition einen Balken (Kasten) und von der i-ten Stelle pi f¨ uhren genau Fi,j -viele Pfeile zur j-ten Transition tj und von der j-ten Transition tj f¨ uhren genau Bi,j -viele Pfeile zur i-ten Stelle pi . B heißt auch backward-Matrix und F auch forward-Matrix. Dies ist aus der Sicht der Stellen zu verstehen: Pfeile, die von einer Stelle ausgehen, also vorw¨ arts gerichtet sind, sind in der forward-Matrix notiert. Will man von einer Stelle aus r¨ uckw¨ arts schauen, so muss man entlang der Pfeile blicken, die in die Stelle m¨ unden. Sie stehen deshalb in der backward-Matrix. In der Literatur kommt auch die umgekehrte Betrachtungsweise vor, aus Sicht der Transitionen, und f¨ uhrt entsprechend zur genau umgekehrten Benennung der Matrizen. Definition 22. Es sei (P, T, F, B) ein Petri Netz. Dann ist F : P×T ∪ T×P → N, die Kantenfunktion, definiert durch ∀x, y ∈ P ∪ T : Fi,j , falls x = pi und y = tj F (x, y) := Bi,j , falls x = tj und y = pi F¨ ur x ∈ P ∪ T nennen wir • x := {y ∈ P ∪ T | F (y, x) ≥ 1} den Vorbereich von x, x• := {y ∈ P ∪ T | F (x, y) ≥ 1} den Nachbereich von x. S S Analog ist f¨ ur X ⊆ P ∪ T : • X := x∈X • x, X • := x∈X x• . Petri Netze werden i.A. auch als (P, T, F ) definiert. Diese Darstellung ist im Prinzip ¨ aquivalent zu Definition 21, abgesehen davon, dass P und T hier nicht mehr geordnet sein m¨ ussen. Man kann in F partiell Parameter einsetzen. So ist z.B. f¨ ur eine Stelle p etwa F (·, p): T → N eine Funktion mit
22
2 Petri Netze und ihre Mathematik
F (·, p)(t) := F (t, p). Dies ist nicht identisch mit dem Vorbereich von p (der eine Menge ist), da hier auch die Vielfachheiten der Kanten z¨ahlen. Da die Stellen- und Transitionenmengen geordnet sind, k¨onnen wir F (·, p) auch als Vektor schreiben, in dem die Eintr¨ age gem¨ aß dieser Ordnung aufgelistet sind. Im Folgenden benutzen wir vorzugsweise die Darstellung eines Petri Netzes als Tupel (P, T, F ). An einigen wenigen Stellen erweist sich die Schreibweise (P, T, F, B) jedoch als eleganter, z.B. wenn man die Kanten eines konkreten Petri Netzes aufschreiben will. Definition 23. Es sei N = (P, T, F ) ein Petri Netz. Der Zustandsraum dieses Petri Netzes ist NP . Eine Abbildung s: P → N heißt Zustand oder Markierung des Petri Netzes. Gilt s(pi ) = k, so sagt man: Die Stelle pi tr¨agt k Token (im ” Zustand s)“, o.¨a. Wir schreiben Zust¨ ande auch als Spaltenvektoren (analog zur Darstellung von F als Matrizen F und B). Graphisch werden Token durch Punkte in einer Stelle gezeichnet. Definition 24. Ein Paar x, y ∈ P ∪ T heißt Schlinge, falls gilt: y ∈ • x ∩ x• (bzw. ¨ aquivalent: x ∈ • y ∩ y • ). x ∈ P ∪T heißt isoliert, falls gilt: • x ∪ x• = ∅. Beispiel 1. Das in Abb. 2.1 gezeigte Petri Netz wird durch das Tupel (P, T, F, B) und den Zustand s mit P = {p1 , p2 , p3 },
t1 t2 t3 t4
2 0 0 0 F= 0 1 1 0 0 0 0 2
T = {t1 , t2 , t3 , t4 },
p1 p2 , p3
t1 t2 t3 t4
0 1 0 0 B= 3 0 0 2 0 0 1 0
p1 p2 , p3
0 s = 2 0
beschrieben.
Definition 25. Ein initiales Petri Netz N ist gegeben als N = (P , T , F , s0 ) von • einem Petri Netz (P, T, F ), • einem initialen Zustand s0 ∈ NP . Mit (N, s0 ) bezeichnen wir auch das Petri Netz N mit s0 als initialem Zustand. Der initiale Zustand wird oft auch Anfangszustand, Anfangsmarkierung oder Startzustand genannt.
2.2 Petri Netze
23
2
- t1
p1
3
- t3
? s s p2 6
6 t2
2
? p
3
t4 2
Abb. 2.1 Darstellung eines Petri-Netzes. Mehrfachkanten werden mit der Zahl der Kanten gewichtet durch eine Kante dargestellt
Wir werden im Folgenden auch ein initiales Petri Netz kurz als Petri Netz bezeichnen, sofern aus dem Kontext klar ist, dass es sich um ein Petri Netz mit Startzustand handelt.
2.2.1 Der Feuerbegriff Definition 26. Seien N = (P, T, F ) ein Petri Netz, s ∈ NP ein Zustand von N und t ∈ T eine Transition von N . Wir nennen t s-aktiviert (oder enabled, schaltbar, feuerbar im Zustand s), falls gilt s ≥ F (·, t) (d.h. ∀p ∈ P : s(p) ≥ F (p, t), alternativ s ≥ F(t)). Weiter feuert t vom Zustand s in den Zustand s0 , falls gilt: • s ≥ F (·, t), • s0 = s − F (·, t) + F (t, ·). Alternativ kann man die beiden obigen Punkte auch als s ≥ F(t) und s0 = s + (B − F)(t) formulieren. F¨ ur t feuert von s nach s0“ schreiben wir kurz ” 0 s [t>s . Im Petri Netz aus Abb. 2.1 kann im Zustand (0, 2, 0)T z.B. sowohl t2 als auch t3 feuern, da F (·, t2 ) = F (·, t3 ) = (0, 1, 0)T ≤ (0, 2, 0)T gilt. Der Folgezustand nach Feuern von t2 bzw. t3 ergibt sich aus der Schaltregel s0 = s − F (·, t) + F (t, ·): Es gilt (0, 2, 0)T [t2>(1, 1, 0)T und (0, 2, 0)T [t3>(0, 1, 1)T .
24
2 Petri Netze und ihre Mathematik
Die Transitionen t1 und t4 sind im Zustand (0, 2, 0)T nicht aktiviert, denn es gilt F (·, t1 ) = (2, 0, 0)T 6≤ (0, 2, 0)T und F (·, t4 ) = (0, 0, 2)T 6≤ (0, 2, 0)T . Wir werden h¨ aufig den verschiedensten Notationen wie [>, F etc. Indizes wie [>N , FN zuordnen, wenn wir deutlich machen wollen, auf welches Petri Netz wir uns gerade beziehen. Definition 27. Es sei N = (P, T, F, s0 ) ein Petri Netz. Wir definieren induktiv: ∀t ∈ T, σ ∈ T ∗ : s [ε>s0 :⇐⇒ s = s0 s [σt>s0 :⇐⇒ ∃s00 ∈ NP : s [σ>s00 [t>s0 . s [σ>s0 lesen wir als “N feuert σ von s nach s0 ”. s [σ>
:⇐⇒
∃s0 ∈ NP : s [σ>s0 .
σ heißt Feuersequenz in s :⇐⇒ s [σ>. Weiter ist E(s) := {s0 | ∃σ ∈ T ∗ : s [σ>s0 } die Erreichbarkeitsmenge (Reachabilitymenge) von s, E(N ) := E(s0 ) ist die Erreichbarkeitsmenge von N .
2.2.2 Hu ¨rde und Zustandswechsel W¨ ahrend wir f¨ ur einzelne Transitionen einfach sehen k¨onnen, unter welchen Zust¨ anden sie feuerbar sind und wie sich der Zustand durch das Feuern verandert, ist dies bei ganzen Feuersequenzen nicht mehr so trivial. Insbesondere ¨ k¨ onnen sp¨ ater feuernde Transitionen die ben¨otigten Token eventuell direkt von fr¨ uher feuernden Transitionen beziehen, ohne den Zustand zu Beginn der Feuersequenz damit zu belasten. Wir f¨ uhren die Begriffe H¨ urde und (Zustands-)Wechsel ein, um die Feuerbarkeit von ganzen Feuersequenzen besser fassen zu k¨ onnen. Definition 28. Sei N = (P, T, F, s0 ). Ein Zustand s heißt eine H¨ urde eines Wortes σ ∈ T ∗ , falls s [σ> gilt und kein s0 < s existiert mit s0 [σ>. Der Wechsel W (s, σ) ∈ ZP einer Feuersequenz σ im Zustand s ist der Effekt eines Feuerns von σ, d.h. W (s, σ) := s0 − s mit s [σ>s0 . Dieser Zustandswechsel ist wegen der Eindeutigkeit des Folgezustands in der Schaltregel von Petri Netzen ebenfalls eindeutig bestimmt.
2.2 Petri Netze
25
Zu beachten ist die triviale Eigenschaft, dass die H¨ urde ein Vektor u ¨ber N, der Wechsel aber u ¨ber Z ist. Um W (s, σ) zu analysieren, empfiehlt es sich, mit der Parikh-Abbildung zu arbeiten. Dabei stellt sich heraus, dass W (s, σ) von s unabh¨ angig ist. Lemma 2. F¨ ur ein Petri Netz N = (P, T, F, B), einen Zustand s und eine Feuersequenz σ gilt W (s, σ) = (B−F)·P (σ). Hierbei ist P (σ) das Parikh-Bild von σ, vgl. Definition 13. Beweis. Wir f¨ uhren einen induktiven Beweis u ¨ber T ∗ . Induktionsbeginn: σ = ε. Es gilt W (s, σ) = 0 = (B − F) · P (ε), wegen P (ε) = 0. Hierbei ist W (s, σ) der |P |-dimensionale Nullvektor, P (ε) der |T |-dimensionale. Induktionsschritt: σ 7→ σt. Es gilt: W (s, σt)
=
W (s, σ) + F (·, t) − F (t, ·)
=
W (s, σ) + Bet − Fet
=
W (s, σ) + (B − F)et
Ind.V or.
=
(B − F) · P (σ) + (B − F)et
=
(B − F) · (P (σ) + et )
=
(B − F) · P (σt),
wobei et der |T |-Einheitsvektor mit et (t) = 1 und et (t0 ) = 0 f¨ ur t 6= t0 ist. Damit ist der Wechsel W (s, σ) von s unabh¨ angig. Also definieren wir: Definition 29 (Wechsel). F¨ ur ein Petri Netz N = (P, T, F, B) und ein Wort σ ∈ T ∗ heißt (B−F)·P (σ) der Wechsel von σ und wird mit W (σ) bezeichnet. Beachten wir, dass W (t) = (B − F)(t) gilt, so folgt sofort mit den Bezeichnungen aus Lemma 2: Korollar 1. W (σ) =
P
t∈T
W (t) · P (σ)(t).
Nicht nur der Wechsel, auch die H¨ urde ist eindeutig bestimmt. Lemma 3. (und Definition) Sei N = (P, T, F, s0 ) ein Petri Netz. Zu jedem σ ∈ T ∗ existiert eine eindeutig bestimmte H¨ urde, die wir im Folgenden die H¨ urde von σ nennen und mit H(σ) bezeichnen.
26
2 Petri Netze und ihre Mathematik
Beweis. Wir stellen folgende Behauptung auf: Sind s1 und s2 Zust¨ande mit s1 [σ> und s2 [σ>, so gilt im Zustand sˆ mit sˆ(p) := min{s1 (p), s2 (p)} f¨ ur alle p ∈ P ebenfalls sˆ [σ>. Wir beweisen diese Behauptung per Induktion u ange von σ. Ist σ = ε, so gilt s [σ> f¨ ur jedes s ∈ NP . Sei nun ¨ber die L¨ 0 0 ∗ σ = σ t mit t ∈ T und σ ∈ T und die Induktionsvoraussetzung gelte f¨ ur σ 0 . 0 0 0 0 0 0 Seien s1 , s2 Zust¨ ande mit s1 [σ >s1 und s2 [σ >s2 , dann gilt demnach auch sˆ [σ 0>s0 f¨ ur einen Zustand s0 . Betrachten wir nun jede Stelle p ∈ P einzeln, so sind immer zwei F¨ alle zu unterscheiden. Ist s1 (p) ≤ s2 (p), so gilt s0 (p) = 0 sˆ(p) + W (σ )(p) = s1 (p) + W (σ 0 )(p) = s01 (p) ≥ F (p, t), im Fall s1 (p) ≥ s2 (p) gilt s0 (p) = sˆ(p) + W (σ 0 )(p) = s2 (p) + W (σ 0 )(p) = s02 (p) ≥ F (p, t). Insgesamt erhalten wir s0 ≥ F (·, t) und damit gilt sˆ [σ 0 t>. Nehmen wir nun an, σ habe zwei verschiedene H¨ urden s1 und s2 . Nach der ¨ gerade gemachten Uberlegung existiert nun ein Zustand sˆ mit sˆ [σ>, sˆ ≤ s1 und sˆ ≤ s2 . Wegen s1 6= s2 gilt sˆ < s1 oder sˆ < s2 . Dies ist ein Widerspruch zu der Annahme, dass s1 und s2 H¨ urden und damit minimal sind. Offensichtlich gilt: Korollar 2. ∀σ ∈ T ∗ ∀s ∈ NP : • s [σ> ⇐⇒ s ≥ H(σ), • s [σ>s0 ⇐⇒ s ≥ H(σ) und s0 = s + W (σ), • H(σ) + W (σ) ≥ 0. Haben zwei Feuersequenzen σ1 , σ2 den gleichen Wechsel W (σ1 ) = W (σ2 ), so ist noch nicht garantiert, dass sie auch dieselbe H¨ urde besitzen. F¨ ur das Petri Netz aus Abb. 2.1 (und eigentlich in jedem Petri Netz, das die Transitionen t1 , t2 und t3 besitzt), haben die Feuersequenzen t3 t2 t2 t1 und t2 t2 t1 t3 denselben Wechsel. Speziell f¨ ur das Netz in Abb. 2.1 gilt W (t3 t2 t1 ) = W (t1 t2 t3 ) = (−1, 1, 1)T . F¨ ur die H¨ urden gilt jedoch H(t3 t2 t1 ) = (1, 2, 0)T und H(t1 t2 t3 ) = (2, 0, 0)T . Die H¨ urde und der Wechsel h¨angen also nicht ganz so eng zusammen, wie man zun¨ achst vielleicht meinen k¨onnte. Wir brauchen sp¨ ater das folgende einfache Lemma: Lemma 4. Seien N = (P, T, F ) ein Petri Netz, s ∈ NP , k ∈ N und σ ∈ T ∗ eine Feuersequenz. Gilt s [σ> und (s + k · W (σ)) [σ>, so gilt auch s [σ k+1>. Beweis. s [σ> impliziert s ≥ H(σ) und (s + k · W (σ)) [σ> impliziert s + k · W (σ) ≥ H(σ). Damit gilt auch s + m · W (σ) ≥ H(σ) f¨ ur alle m mit 0 ≤ m ≤ k, selbst an Stellen p ∈ P mit W (σ)(p) < 0. Also gilt auch s [σ m> f¨ ur alle 0 ≤ m ≤ k. Damit gilt auch s [σ k>(s + k · W (σ)) [σ>, also s [σ k+1>.
2.2 Petri Netze
27
2.2.3 Reverse Petri Netze Kehrt man in einem Petri Netz N = (P, T, F, B) die Richtungen der Pfeile um, so erh¨ alt man das sogenannte reverse Petri Netz N rev von N . Formal werden nur die Rollen von F und B vertauscht. Reverse Netze werden beim Entscheidungsverfahren f¨ ur das Erreichbarkeitsproblem eine n¨ utzliche Rolle spielen. Definition 30 (Reverse Netze). Es sei N = (P, T, F, B, s0 ) ein Petri Netz. Dann ist N rev := (P, T rev , B, F, s0 ) mit T rev := {trev | t ∈ T } das reverse Netz von N . Dabei entsteht trev aus t ∈ T einfach durch Umbenennen. F¨ ur Feuersequenzen σ wird σ rev wie u ¨blich induktiv erkl¨art: εrev := ε, (σt)rev := trev σ rev . Abgesehen von der doppelten Umbenennung der Transitionen in (N rev )rev gilt (N rev )rev = N und auch das folgende Lemma ist offensichtlich. Lemma 5. Es seien N ein Petri Netz, s, s0 ∈ NP und σ eine Feuersequenz. Dann gilt: s [σ>N s0 ⇐⇒ s0 [σ rev>N rev s Beispiel 2. Es sei N das Petri Netz aus Abb. 2.1. Abbildung 2.2 zeigt dann N rev .
2
t1 3
? s1
- t2
t3
? s s s1 6 - t4 2
s
3 6
2
Abb. 2.2 Darstellung des reversen Petri Netzes N rev zum Petri Netz N aus Abb. 2.1
Da in N rev im Vergleich zu N lediglich die Kanten umgedreht sind, gilt nat¨ urlich WN rev (trev ) = −WN (t) und WN rev (σ rev ) = WN rev (σ) = −WN (σ) f¨ ur alle σ ∈ T ∗ , wobei WN rev (trev ) in N rev und WN (t) in N berechnet wird. F¨ ur die H¨ urde HN (t) f¨ ur ein t ∈ T gilt in N HN (t) [t>N und ∀s ∈ NP : s [t>N ∧ s ≤ HN (t) ⇒ s = HN (t). Damit gilt auch HN (t) + WN (t) [trev>N rev HN (t).
28
2 Petri Netze und ihre Mathematik
Falls ein s ≤ HN (t) + WN (t) in NP existiert mit s [trev>N rev , so gilt auch s [trev>N rev s + WN rev (trev ) = s − WN (t) ∈ NP , und damit auch s − WN (t) [t>N s und s ≤ HN (t) + WN (t) impliziert s − WN (t) ≤ HN (t). Also muss bereits s − WN (t) = HN (t) gelten, da HN (t) minimal ist. Das heißt, s = HN (t) + WN (t) ist die H¨ urde von trev in N rev . Damit haben wir bereits gezeigt: Lemma 6. Es seien N = (P, T, F ) ein Petri Netz, N rev dessen Reverses und σ ∈ T ∗ . Dann gilt f¨ ur die H¨ urden und Wechsel in N und N rev : HN rev (σ rev ) = HN (σ) + WN (σ), WN rev (σ rev ) = WN rev (σ) = −WN (σ).
2.2.4 Invarianten, Sicherheit, Lebendigkeit Definition 31. Sei N = (P, T, F ) ein Petri Netz. Ein Vektor Ip ∈ ZP heißt Stelleninvariante (S-Invariante), falls IpT ·(B−F) = 0 gilt. Ein Vektor It ∈ ZT heißt Transitionsinvariante (T -Invariante), falls (B − F) · It = 0 gilt. Wir werden nun zeigen, dass S-Invarianten Stellengewichtungen sind, die sich beim Feuern von Transitionen nicht a ¨ndern, und (nichtnegative) T Invarianten Parikhbilder von Feuersequenzen sind, die die Tokenverteilung im Netz nicht a ¨ndern. Lemma 7. Seien N = (P, T, F ) ein Petri Netz, It ∈ NT und Ip ∈ ZP . Falls f¨ ur jedes Paar von Zust¨ anden s, s0 ∈ NP mit s0 ∈ E(s) stets IpT s = IpT s0 gilt, ist Ip eine S-Invariante. Falls f¨ ur jeden Zustand s ∈ NP und jede Feuersequenz ∗ σ ∈ T mit Parikhbild P (σ) = It aus s [σ> stets s [σ>s folgt, ist It eine T -Invariante. Beweis. Sei σ ∈ T ∗ eine Feuersequenz, die jede Transition von N genau einmal enth¨ alt. Dann gilt f¨ ur s = H(σ) und s0 = H(σ) + W (σ) gerade 0 0 s [σ>s . Deshalb gilt s = s + (B − F) · P (σ) = s + (B − F) · 1 und somit auch IpT s = IpT s0 + IpT · ((B − F) · 1). Wegen IpT s = IpT s0 gilt also IpT · ((B − F) · 1) = (IpT · (B − F)) · 1 = 0. Also muss IpT (B − F) = 0 gelten. Sei σ ∈ T ∗ eine beliebige Feuersequenz P mit Parikhbild P (σ) = It . Dann gilt H(σ) [σ>H(σ), d.h. H(σ) = H(σ) + t∈T (B − F)(t) · P (σ)(t) = H(σ) + (B − F) · P (σ) = H(σ) + (B − F) · It . Damit ist (B − F) · It = 0.
2.2 Petri Netze
29
Lemma 8. Seien N = (P, T, F ) ein Petri Netz, Ip eine S-Invariante und It eine T -Invariante. Dann gilt f¨ ur jedes Paar von Zust¨ anden s, s0 ∈ NP 0 T T 0 mit s ∈ E(s) stets Ip s = Ip s und f¨ ur jeden Zustand s ∈ NP und jede ∗ Feuersequenz σ ∈ T mit Parikhbild P (σ) = It folgt aus s [σ> stets s [σ>s. Beweis. Seien s, s0 Zust¨ ande mit s0 ∈ E(s). Es existiert ein σ ∈ T ∗ mit s [σ>s0 , 0 d.h. es gilt s = s + (B − F) · P (σ). Also gilt auch IpT s0 = IpT s + IpT · ((B − F) · P (σ)) = IpT s + (IpT · (B − F)) · P (σ) = IpT s + 0T · P (σ) = IpT s + 0 = IpT s. Sei σ ∈ T ∗ mit P (σ) = It . Es gen¨ ugt zu zeigen, dass H(σ) [σ>H(σ) gilt, damit ist der eindeutig bestimmte Wechsel dann W (σ) = 0 und die Aussage folgt. Sei nun s der Zustand mit H(σ) [σ>s, dann gilt s = H(σ) + (B − F) · P (σ) = H(σ) + (B − F) · It = H(σ) + 0 = H(σ). F¨ ur T -Invarianten mit negativen Eintr¨ agen sagen diese Lemmata nichts aus. Stellt man sich jedoch vor, dass eine Transition mit negativer H¨aufigkeitsangabe einfach entsprechend oft r¨ uckw¨ arts feuert, so k¨onnte man die gewonnene Vorstellung auch auf T -Invarianten mit negativen Eintr¨agen u ¨bertragen. Eine nichtnegative T -Invariante It nennen wir realisierbar, falls eine (schaltbare) Feuersequenz σ mit Parikhbild P (σ) = It existiert. Man zeigt leicht, dass Invarianten einen Teilraum des ZP oder ZT aufspannen. Lemma 9. Seien N = (P, T, F ) ein Petri Netz, k ∈ Z eine Zahl, Ip , Ip0 S-Invarianten und It , It0 T -Invarianten. Dann sind auch k · Ip und Ip + Ip0 S-Invarianten und k · It und It + It0 T -Invarianten. Beweis. (k · IpT ) · (B − F) = k · (IpT · (B − F)) = k · 0 = 0. (Ip + Ip0 )T · (B − F) = IpT · (B − F) + Ip0 T · (B − F) = 0 + 0 = 0. (B − F) · (k · It ) = k · (B − F) · It = k · 0 = 0. (B − F) · (It + It0 ) = (B − F) · It + (B − F) · It0 = 0 + 0 = 0. Anmerkung 1. Formal ist der Nullvektor stets eine Invariante. Inhaltlich ist der Nullvektor als Invariante jedoch bedeutungslos. Besitzt ein Netz nur den Nullvektor als Invariante, so sagen wir daher (nicht ganz korrekt) das Netz besitze keine Invariante. Beispiel 3. Das Petri Netz N aus Abb. 2.1 besitzt eine T -Invariante, n¨amlich (0, 0, 2, 1)T , und keine S-Invariante. Beides l¨ asst sich entweder gem¨aß der Definition der Invarianten ausrechnen oder auch direkt dem Petri Netz ansehen: Die Sequenz t3 t3 t4 reproduziert die Anfangsmarkierung und stellt somit eine T -Invariante dar. Da t1 die einzige Transition ist, die die Gesamtzahl der Token im Netz ver¨ andert, kann sie in einer T -Invariante nicht vorkommen.
30
2 Petri Netze und ihre Mathematik
Das schließt aber auch t2 aus, da man ohne t1 den Token, den t2 auf p1 legt, nicht wieder entfernen kann. Damit gibt es keine anderen T -Invarianten außer denen nach Lemma 9, also den Vielfachen von (0, 0, 2, 1)T . Dass es keine S-Invariante gibt, sieht man an den Transitionen t2 und t3 ; diese verschieben Token eins-zu-eins von p2 nach p1 oder p3 . Eine S-Invariante muss daher alle drei Stellen gleich gewichten. Damit w¨ urde aber das Feuern von t1 das Gesamtgewicht aller Token im Netz ver¨ andern, n¨amlich um den zus¨atzlichen Token, den diese Transition produziert. Besitzt ein Petri Netz (P, T, F, s0 ) eine (an allen Stellen) positive S-Invariante Ip , so muss – da die gewichtete Tokenzahl im Netz beim Feuern von Transitionen konstant bleibt – eine Obergrenze f¨ ur die Gesamtzahl der Token im Netz bestehen. Ist IpT · s0 = k ∈ N und n der Eintrag f¨ ur eine Stelle in Ip , k so k¨ onnen niemals mehr als b n c Token auf dieser Stelle liegen, egal welche Transitionen geschaltet werden. Solche Stellen nennt man beschr¨ankt. Definition 32. Sei N = (P, T, F, s0 ) ein Petri Netz. Eine Stelle p ∈ P heißt k-beschr¨ ankt :⇐⇒ ∀s ∈ E(N ) : s(p) ≤ k, beschr¨ ankt :⇐⇒ ∃k ∈ N : p ist k-beschr¨ankt. sicher :⇐⇒ p ist 1-beschr¨ ankt,
N heißt sicher, (k-)beschr¨ ankt, falls jede Stelle in N sicher bzw. (k-)beschr¨ ankt ist. Die Erreichbarkeitsmenge E(N ) eines beschr¨ankten Netzes ist stets endlich; ein k-beschr¨ anktes Netz mit n Stellen kann maximal (k + 1)n verschiedene Zust¨ ande besitzen. Neben Sicherheit und Beschr¨ anktheit ist die Lebendigkeit ein Kriterium f¨ ur Petri Netze, das h¨ aufig untersucht wird. Beschr¨anktheit und Lebendigkeit beschreiben beide ein gewisses gutartiges Verhalten eines Petri Netzes. Bei der Beschr¨ anktheit wird zugesichert, dass das Petri Netz nicht aus dem Ruder ” l¨ auft“, es besteht ein hohes Maß an Kontrolle u ¨ber die erreichten Markierungen, da die Erreichbarkeitsmenge E(N ) endlich ist. Bei der Lebendigkeit wird stattdessen die Feuerbarkeit einer Transition zu einem sp¨ateren Zeitpunkt zugesichert, einmalig oder auch beliebig oft. Definition 33 (Lebendigkeit). Seien N = (P, T, F ) ein Petri Netz, t ∈ T eine Transition und s ∈ NP eine Markierung. Dann nennen wir t • einfach lebendig unter s, falls ein s0 ∈ E(s) existiert mit s0 [t>,
2.2 Petri Netze
31
• tot unter s, falls t nicht einfach lebendig unter s ist, • endlich lebendig unter s, falls zu jedem k ∈ N ein σ ∈ T ∗ existiert mit s [σ> und Parikhbild P (σ)(t) = k, • schwach lebendig unter s, falls ein unendlich langes Wort w existiert, in dem t unendlich oft vorkommt und von dem jeder endliche Pr¨afix σ feuerbar ist, • (stark) lebendig unter s, falls t unter jedem Zustand aus E(s) einfach lebendig ist. F¨ ur ein Petri Netz N = (P, T, F, s0 ) sagen wir, t sei einfach lebendig oder tot oder endlich lebendig oder schwach lebendig oder lebendig, falls t diese Eigenschaft unter s0 besitzt. Ein Petri Netz N = (P, T, F, s0 ) ist einfach lebendig oder endlich lebendig oder schwach lebendig oder lebendig, falls alle Transitionen aus T die jeweilige Eigenschaft besitzen. Ein Zustand s eines Petri Netzes N = (P, T, F ) heißt Deadlock, falls alle Transitionen aus T unter s tot sind. Ein Netz N = (P, T, F, s0 ) heißt deadlockfrei, falls keiner der erreichbaren Zust¨ ande in E(N ) ein Deadlock ist. Offensichtlich ist jedes lebendige Petri Netz deadlockfrei, jedoch nicht umgekehrt. Damit ein Netz deadlockfrei ist, muss in jedem erreichbaren Zustand eine Transition schaltbar sein, im Zweifel kann dies aber immer dieselbe Transition sein. Eine andere Transition kann vielleicht trotzdem niemals schalten, ist also nicht lebendig. Beispiel 4. Das Petri Netz aus Abb. 2.1 ist weder beschr¨ankt noch lebendig. Wiederholtes Feuern von t2 t2 t1 f¨ uhrt zu beliebig vielen Token auf p2 , die Sequenz t2 t3 f¨ uhrt in den Zustand (1, 0, 1)T , in dem keine Transition mehr feuerbar ist. Das Netz ist jedoch schwach lebendig, denn das unendliche Wort (t2 t2 t1 t3 t3 t4 )ω enth¨ alt jede Transition unendlich oft und jedes endliche An¨ fangsst¨ uck dieses Wortes kann feuern. Man mache sich klar, dass eine AndeT rung der Anfangsmarkierung zu (0, 3, 0) das Netz lebendig macht, insbesondere ist keiner der vier m¨ oglichen Deadlocks (0, 0, 0)T , (1, 0, 0)T , (0, 0, 1)T T und (1, 0, 1) dann noch erreichbar. Beispiel 5. Abbildung 2.3 zeigt ein Petri Netz, in dem die Transition t1 schwach lebendig ((t1 )ω ), t2 einfach lebendig ((t1 )k t2 ) und t3 endlich lebendig ist ((t1 )k t2 (t3 )k ). Die Stellen s1 und s3 sind sicher, s2 ist jedoch unbeschr¨ ankt. Das Petri Netz besitzt die S-Invariante (1, 0, 1)T und die T Invariante (1, 0, 1)T , letztere ist jedoch unter der angegebenen Anfangsmarkierung nicht realisierbar.
32
2 Petri Netze und ihre Mathematik
s2
t1
-
s s1
t3
-
t2
-
s3
Abb. 2.3 Ein Petri Netz mit endlich lebendiger Transition
2.2.5 Die Sprache eines Petri Netzes Um einem Petri Netz eine Sprache zuzuordnen, erweitern wir es um eine Abbildung, die jeder Transition einen zu erzeugenden Buchstaben zuordnet. Das Feuern einer Folge von Transitionen erzeugt damit ein Wort. Zur Erh¨ohung der M¨ achtigkeit von Petri Netzen bzw. deren Sprachen wird den Petri Netzen oft auch noch eine Menge von Endzust¨ anden zugeordnet. Damit das zu einer Feuersequenz geh¨ orige Wort in der Sprache des Netzes liegt, muss dann am Ende der Feuersequenz auch noch einer der Endzust¨ande erreicht werden. Definition 34. Ein spracherzeugendes Petri Netz N ist ein Tupel N = (P, T, F, s0 , Sf , Σ, h) bestehend aus einem Petri Netz (P, T, F ), einem Anfangszustand s0 , einer endlichen Menge Sf ⊆ NP von Endzust¨anden, einem Alphabet Σ und einer Beschriftungsfunktion h: T → Σ ∪ {ε}. Wir setzen h auf T ∗ fort, indem wir h(ε) = ε und h(σ1 σ2 ) = h(σ1 )h(σ2 ) definieren, damit ist h dann ein Homomorphismus. Jedes Petri Netz N = (P, T, F, s0 ) wird kanonisch mit dem spracherzeugenden Petri Netz (P, T, F, s0 , ∅, T, id) identifiziert, bei dem die Beschriftungsfunktion die Identit¨ at ist. Wir lassen das Wort spracherzeugend“ k¨ unftig weg, da ” immer eindeutig ist, was jeweils gemeint ist. Ein Petri Netz N = (P, T, F, s0 , Sf , Σ, h) heißt ε-frei, wenn h(t) 6= ε f¨ ur alle t ∈ T gilt. Es heißt frei, falls Σ = T und h(t) = t f¨ ur alle t ∈ T gilt. Zu einem beliebigen Petri Netz N = (P, T, F, s0 , Sf , Σ, h) sei N f = (P, T, F, s0 , Sf , T, id) die freie Version von N . Peterson [Pet73] hat vier Sprachtypen f¨ ur Petri Netze eingef¨ uhrt, die wir auch hier betrachten wollen.
2.2 Petri Netze
33
Definition 35. Sei N = (P, T, F, s0 , Sf , Σ, h) ein Petri Netz. Die Sprache von N ist definiert als L(N ) = {w ∈ Σ ∗ | ∃σ ∈ T ∗ ∃sf ∈ Sf : s0 [σ>sf ∧ h(σ) = w}. Die Pr¨ afixsprache von N ist definiert als P (N ) = {w ∈ Σ ∗ | ∃σ ∈ T ∗ : s0 [σ> ∧ h(σ) = w}. ¨ Die Uberdeckungssprache von N ist definiert als G(N ) = {w ∈ Σ ∗ | ∃σ ∈ T ∗ ∃sf ∈ Sf ∃s ∈ NP : s0 [σ>s ∧ s ≥ sf ∧ h(σ) = w}. Die Terminalsprache von N ist definiert als T (N ) = {w ∈ Σ ∗ | ∃σ ∈ T ∗ ∃s ∈ NP : s0 [σ>s ∧ h(σ) = w ∧ 6 ∃t ∈ T : s [t>}. Schon Peterson hat erkannt, dass die Typen L und T gleich m¨achtig sind, d.h., zu jedem Netz N gibt es ein Netz N 0 mit L(N ) = T (N 0 ) und umgekehrt, w¨ ahrend die Typen P und G von geringerer M¨achtigkeit sind. Dasselbe Petri Netz hat je nach gew¨ ahltem Sprachtyp aber meist eine andere Sprache, d.h., ¨ L(N ) = T (N ) oder Ahnliches gilt meist nicht. Beispiel 6. Man betrachte das Petri Netz N = (P, T, F, s0 , Sf , Σ, h) aus Abb. 2.3 mit Sf = {(1, 1, 0)T , (0, 2, 1)T , (0, 4, 1)T }, Σ = {a, b} und h(t1 ) = a, h(t2 ) = ε, h(t3 ) = b. Dann gilt L(N ) = {a} ∪ {ai+2 bi | i ≥ 0} ∪ {ai+4 bi | i ≥ 0} P (N ) = {ai bj | i ≥ j} G(N ) = {ai | i ≥ 1} ∪ {ai+2 bj | i ≥ j} T (N ) = {ai bi | i ≥ 0} Alle vier Sprachen sind offensichtlich verschieden. Aus der Literatur (vgl. z.B. [PW03]) ist bekannt, dass jede regul¨are Sprache eine L-Sprache (und damit auch T -Sprache) eines Petri Netzes ist. Petri Netze besitzen nicht die M¨ achtigkeit von Turingmaschinen, was man typischerweise an der Nicht-Simulierbarkeit von Registermaschinen veranschaulicht. Entscheidend ist hierbei die fehlende M¨ oglichkeit, eine Stelle eines Petri Netzes darauf zu testen, ob sie keine Token enth¨ alt. Sowie man diese M¨oglichkeit zum Petri Netz Modell hinzuf¨ ugt (z.B. in Form von Priorit¨aten f¨ ur Transitionen oder durch explizite Null-Test-Kanten) k¨ onnen Petri Netze alle rekursiv aufz¨ ahlbaren Sprachen als L-Sprachen erzeugen.
34
2 Petri Netze und ihre Mathematik
¨ 2.3 Uberdeckungsgraphen 2.3.1 Graphen Unter dem Begriff Graph wollen wir im Folgenden gerichtete, kantengewichtete Graphen fassen. Definition 36 (Graph). Ein Graph G ist ein Tupel G = (V, E, Σ) von • einer Menge V von Knoten, • einer Menge Σ von Gewichten mit V ∩ Σ = ∅, • einer Menge E ⊆ V × Σ × V von (gewichteten) Kanten. t
F¨ ur e = (v, t, v 0 ) ∈ E schreiben wir auch v → − v 0 und sagen, dass die Kante e 0 von v nach v f¨ uhrt und das Gewicht (oder den Namen oder die Beschriftung) t besitzt. Ist |Σ| = 1, so ist der Graph trivial gewichtet. Er heißt dann auch ungewichteter Graph und wird nur als G = (V, E) angegeben. Ein knotengewichteter Graph besitzt zus¨ atzlich eine Menge Γ von Knotengewichten und eine Knotengewichtsfunktion γ : V → Γ . Er wird auch als (G, Γ, γ) oder (V, E, Σ, Γ, γ) angegeben. Kehrt man die Pfeilrichtung um, erh¨ alt man das Reverse eines Graphen: Der reverse Graph Grev von G = (V, E, Σ) ist das Tupel Grev = (V, E 0 , Σ) mit (v 0 , t, v) ∈ E 0 ⇐⇒ (v, t, v 0 ) ∈ E f¨ ur alle v, v 0 ∈ V und t ∈ Σ. Ein unendlicher Weg w in G ist eine unendliche Folge (ei )i∈N von Kanten ei = (vi , ti , vi0 ) ∈ E mit vi0 = vi+1 f¨ ur alle i. Ein Weg w in G ist eine endliche Folge (ei )1≤i≤n (f¨ ur ein n ∈ N) von Kanten ei = (vi , ti , vi+1 ) ∈ E mit vi0 = vi+1 f¨ ur 1 ≤ i < n. Dabei heißt n auch L¨ ange von w und w ein Weg von v0 nach vn0 . Ein Kreis in G ist ein Weg w von einem Knoten v ∈ V zu sich selbst. Ein Weg w = ((vi , ti , vi+1 ))1≤i≤n heißt einfach, falls vi 6= vj f¨ ur alle i, j mit 1 ≤ i, j ≤ n und i 6= j gilt. Ein Kreis w heißt Euler-Kreis, falls in w jede Kante aus E genau einmal vorkommt. Die Beschriftung eines Weges w = ((vi , ti , vi+1 ))1≤i≤n ist das Wort t1 . . . tn der Namen der in w benutzten Kanten. Ist w ein Weg von v nach v 0 mit w σ Beschriftung σ ∈ Σ ∗ , so schreiben wir auch v − → v0 , v − → v 0 oder v → − v0 . σ 0 0 v → − sei eine Abk¨ urzung f¨ ur ∃v ∈ V : v → − v , analog sei v − → Abk¨ urzung σ f¨ ur ∃v 0 ∈ V : v − → v 0 . Soll der Graph G, in dem ein Weg liegt, explizit
¨ 2.3 Uberdeckungsgraphen
35
angegeben werden, so schreiben wir v → − G v 0 . Gilt v → − v 0 , so heißt v auch t ein Vorfahre oder Vorg¨ anger von v 0 und v 0 ein Nachfolger von v. Ist v → − v0 f¨ ur ein t ∈ Σ, so heißt v 0 auch Sohn oder direkter Nachfolger von v und v Vater oder direkter Vorg¨ anger von v 0 . Ein Knoten ohne S¨ohne heißt auch ein 0 Blatt. Ist e = (v, t, v ) ∈ E eine Kante, so setzen wir • e := v und e• := v 0 . Ist v ∈ V ein Knoten in G, so setzen wir • v := {e ∈ E | e• = v} und v • := {e ∈ E | • e = v}. Der Eingangsgrad eines Knotens v ist |• v|, die Zahl der Kanten, die in v hineinf¨ uhren. Der Ausgangsgrad von v ist |v • |. Ein Graph G heißt ausgeglichen, falls f¨ ur jeden Knoten in G Ein- und Ausgangsgrad u ¨bereinstimmen. Ein Knoten v heißt isoliert, falls Ein- und Ausgangsgrad von v gleich Null sind. Ein Graph G heißt • endlich, wenn V , E und Σ endliche Mengen sind. a
a
• lokal determiniert, falls gilt: ∀v, v1 , v2 ∈ V ∀a ∈ Σ: (v − → v1 ∧ v − → v2 ⇒ v1 = v2 ). tt0
t0 t
tt0
• kommutativ, falls gilt: ∀t, t0 ∈ Σ ∀v ∈ V : (v −→ ∧v −→⇒ ∃v 0 ∈ V : v −→ t0 t
v 0 ∧ v −→ v 0 ). • initial, wenn er zus¨ atzlich einen ausgezeichneten Knoten v0 aus V , den Startknoten, besitzt. Der Graph wird dann mit (G, v0 ) oder (V, E, Σ, v0 ) angegeben. Der erreichbare Teil Gerr des initialen Graphen (G, v0 ) ist Gerr := (V 0 , E 0 , Σ 0 , v0 ) mit V 0 := {v 0 ∈ V | v0 → − G v}, E 0 := E ∩ (V 0 × Σ × V 0 ), Σ 0 := {a ∈ a Σ | ∃v 0 ∈ V 0 : v 0 − →Gerr }. Ist ein Graph G lokal determiniert, so kann zu gegebenem Knoten v und zu gegebener Beschriftung σ h¨ ochstens ein Weg w in G existieren, der in v beginnt und die Beschriftung σ besitzt. Ist dieser Startknoten bekannt, so kann man also in lokal determinierten Graphen Wege mit deren Beschriftungen identifizieren. Einen (initialen) Graphen (gerichtet und mit Kantengewichtung) nennen wir auch (initiales) Transitionssystem. Jedes Petri Netz N = (P, T, F ) kann kanonisch als Graph/Transitionssystem GN := (NP , T, →) mit ∀s, s0 ∈ NP : t σ (s → − s0 :⇐⇒ s [t>s0 ) aufgefasst werden. Damit wird s − →GN s0 zu einer Alternativschreibweise f¨ ur s [σ>N s0 . Das Transitionssystem GN ist auf Grund der Eigenschaften des Feuerns von Petri Netzen stets lokal determiniert und kommutativ.
36
2 Petri Netze und ihre Mathematik
Definition 37. Ein Graph G = (V, E, Σ) heißt streng (oder stark) zusammenh¨ angend, falls zu je zwei Knoten v, v 0 zwei Wege w1 , w2 in G existieren mit w1 w2 v −−→ v 0 −−→ v. Ist v ∈ V ein Knoten eines beliebigen Graphen G = (V, E, Σ), so ist die strenge (oder starke) Zusammenhangskomponente SZK(G, v) von v definiert als der Graph SZK(G, v) = (V 0 , E 0 , Σ 0 ) mit w
w
1 2 • V 0 = {v 0 ∈ V | ∃ Wege w1 , w2 in G mit v −−→ v 0 −−→ v},
• E 0 = {(v, a, v 0 ) ∈ E | v, v 0 ∈ V 0 }, • Σ 0 = {a ∈ Σ | ∃v, v 0 ∈ V 0 : (v, a, v 0 ) ∈ E 0 }. SZK(G, v) ist also der Teilgraph von G, der alle Knoten enth¨alt, die auf einem Kreis liegen, der durch v geht. Bekannt ist der folgende elementare Satz: Satz 2 (Euler-Kreise). Es sei G ein endlicher Graph ohne isolierte Knoten. G besitzt genau dann einen Euler-Kreis, falls G streng zusammenh¨ angend und balanciert ist. Ein einfacher Beweis findet sich etwa in [Knu68] (Band 1, Kapitel 2.3.4.2, Theorem 6). Wir brauchen sp¨ ater noch folgende einfache Konsequenz aus diesem Satz: Lemma 10. Sei G = (V, E, Σ, %) ein endlicher, streng zusammenh¨ angender Graph mit einer zus¨ a tzlichen Kantengewichtung %: E → N = {n ∈ N|n ≥ + P P 1}. Gilt e∈• v %(e) = e∈v• %(e) f¨ ur jeden Knoten v ∈ V , so existiert in G ein Kreis, der jede Kante e ∈ E genau %(e)-mal durchl¨ auft. Beweis. G% entstehe aus G, indem jede Kante e ∈ E genau %(e)-mal kopiert wird. Also ist G% := (V, E 0 , Σ 0 ) mit Σ 0 := Σ × {1, . . . , n} mit n := 0 % maxe∈E %(e) und (v, (a, i), v 0 ) ∈ E 0 : ⇐⇒ (v, a, v 0 ) ∈ E ∧ i ≤ %((v, P a, v )). G ist zusammenh¨angend. Wegen e∈• v %(e) = P wegen %(e) ≥ 1 ebenfalls streng ur alle v ∈ V ist G% auch balanciert und besitzt damit einen Eue∈v • %(e) f¨ lerkreis, der jede Kante (v, (a, i), v 0 ) ∈ E 0 genau einmal benutzt. Dieser Kreis liefert bei R¨ uckprojektion auf G sofort den gew¨ unschten Kreis, der jede Kante (v, a, v 0 ) genau %((v, a, v 0 ))-mal benutzt. Ein wichtiger Satz, der Anwendung auf Graphen findet, ist K¨onigs Lemma, von dem wir hier eine Variante pr¨ asentieren. Lemma 11 (K¨ onigs Lemma). Ist → ⊆ V × V eine Relation u ¨ber V und existieren f¨ ur alle i ∈ N endliche, nichtleere Mengen Vi ⊆ V , so dass f¨ ur alle
¨ 2.3 Uberdeckungsgraphen
37
i ∈ N und v ∈ Vi+1 ein v 0 ∈ Vi mit v 0 → v existiert, dann gibt es einen unendlichen Weg (vi )i∈N mit vi ∈ Vi und vi → vi+1 f¨ ur alle i ∈ N. Beweis. Wir konstruieren induktiv eine nichtleere Menge von unendlichen Wegen mit den geforderten Eigenschaften. i = 1: Wir beginnen mit der nichtleeren endlichen Menge aller Wege der L¨ ange 1 von V0 nach V1 , die durch W1 := {(ej )1≤j≤i | ∃v0 ∈ V0 ∃v1 ∈ V1 ∃a ∈ Σ: ej = (v0 , a, v1 )} gegeben ist. Da alle Knoten aus V1 Vorg¨anger in V0 besitzen, ist diese Menge nicht leer, und zu jedem Knoten in V1 existiert ein Weg, der in diesem Knoten endet. i → i + 1: Sei W1 die endliche, nichtleere Menge aller Wege der L¨ange i, deren Knoten die Mengen V0 , V1 , . . ., Vi in dieser Reihenfolge durchlaufen, wobei zu jedem Knoten vi ∈ Vi mindestens ein Weg existiere, der in diesem Knoten endet. Zu jedem Weg (ej )1≤j≤i in Wi mit Endknoten v ∈ Vi und jeder Kante (v, a, v 0 ) mit v 0 ∈ Vi+1 konstruieren wir den neuen Weg (ej )1≤j≤i+1 mit ei+1 = (v, a, v 0 ) der L¨ ange i+1 in Wi+1 . Die Knoten dieses Weges durchlaufen V0 , V1 , . . ., Vi+1 in dieser Reihenfolge. Da alle Knoten in Vi+1 Vorg¨anger in Vi besitzen und alle Knoten von Vi als Endknoten von Wegen in Wi auftreten, kommen auch alle Knoten von Vi+1 als Endknoten von Wegen in Wi+1 vor. Damit ist Wi+1 nicht leer, die Endlichkeit von Wi+1 ist wegen der Endlichkeit von Wi und der Kanten von Vi nach Vi+1 ebenfalls offensichtlich. Da diese Konstruktion nie abbricht, immer nur eine Teilmenge der vorhandenen Wege verl¨ angert wird, diese aber nie leer wird, muss sich mindestens ein Weg unendlich weit verl¨ angern lassen. Dies ist der gesuchte unendliche Weg.
2.3.2 Verallgemeinerte Zust¨ ande Wir verallgemeinern den Zustandsbegriff und den Feuerbegriff von Petri Netzen mittels verallgemeinerter Zust¨ ande, in denen auch ω vorkommen darf. Der Begriff der erweiterten nat¨ urlichen Zahlen Nω , vgl. Abschnitt 2.1.3, ist hier entscheidend. Die wichtigsten Rechenregeln“ f¨ ur Nω = N ∪ {ω} sind ” a + ω = ω + a = ω = ω − a und a < ω f¨ ur a ∈ N. Entscheidend werden die beiden Halbordnungen ≤ und ≤ω , vgl. Abschnitt 2.1.3, auf Nnω sein. Zur Erinnerung: s ≤ω s0 impliziert s(p) = s0 (p) f¨ ur s0 (p) 6= ω. Das heißt, s0 besitzt eventuell mehr ω-Koordinaten als s, stimmt aber sonst mit s u ¨berein. Definition 38 (Verallgemeinerter Zustand). Sei N = (P, T, F, B) ein Petri Netz. Ein verallgemeinerter Zustand (oder einfach nur Zustand im Folgenden genannt) von N ist ein Vektor s ∈ Nω P .
38
2 Petri Netze und ihre Mathematik
F¨ ur (verallgemeinerte) Zust¨ ande s, s0 ∈ Nω P von N und t ∈ T sagen wir t ist in s feuerbar, s [t> : ⇐⇒ F(t) ≤ s t feuert s nach s0 , s [t>s0 : ⇐⇒ F(t) ≤ s ∧ s0 = s + B(t) − F(t). Alle Begriffe, wie etwa E(N ), s [σ>s0 etc. werden damit auf verallgemeinerte Zust¨ ande u ¨bertragen. Folgendes Lemma ist offensichtlich: Lemma 12. Seien N = (P, T, F ) ein Petri-Netz, s1 , s2 ∈ Nω P und σ ∈ T ∗ . Dann gilt • s1 [σ>N s2 ⇒ ∀p ∈ P : (s1 (p) = ω ⇐⇒ s2 (p) = ω), • s1 [σ>N s2 ⇒ ∃ˆ s1 , sˆ2 ∈ NP : (ˆ s1 ≤ω s1 ∧ sˆ2 ≤ω s2 ∧ sˆ1 [σ>N sˆ2 ). Zum Beweis von Teil 2 definiert man nur s1 (p) falls s1 (p) 6= ω sˆ1 (p) := H(σ)(p) falls s1 (p) = ω. Damit gilt sˆ1 [σ>N und sˆ2 setzt man nun auf sˆ1 + W (σ).
2.3.3 Der Erreichbarkeitsgraph Im sogenannten Erreichbarkeitsgraphen wollen wir alle Zust¨ande erfassen, die ein Petri Netz annehmen kann, und auch alle Zustandswechsel anzeigen, die durch das Feuern von Transitionen herbeigef¨ uhrt werden k¨onnen. Definition 39. Seien N = (P, T, F ) ein Petri-Netz und s ∈ Nω P . Der Ererr reichbarkeitsgraph EG(N, s) ist das Transitionssystem (Gerr N , s), wobei GN P der erreichbare Teil des kanonischen Transitionssystems GN = (N , T, →) zu N ist, bei der → der Feuerrelation entspricht. Ist N ein initiales Petri Netz mit initialem Zustand s0 , so ist der Erreichbarkeitsgraph von N , EG(N ), gerade der Erreichbarkeitsgraph EG(N, s0 ). Beispiel 7. Zu dem in Abb. 2.1 gezeigten Petri Netz ist der Erreichbarkeitsgraph bereits unendlich groß, da unendlich viele Zust¨ande erreicht werden k¨ onnen. In Abb. 2.4 ist ein Anfangsst¨ uck des Erreichbarkeitsgraphen mit
¨ 2.3 Uberdeckungsgraphen
39
dem Startzustand (0, 2, 0)T ganz oben links graphisch dargestellt. Man erkennt leicht, dass sich der Graph sowohl nach rechts als auch nach unten unendlich ausdehnt. t2
@ R @
- 300
t1
? - 110 t2 - 200 t1 - 030 t2 - 120 t2 - 210 t1 - 040 t2 t3 t3 t3 t3 t3 t3 ? t2 ? ? t2 ? t2 ? t1 ? - 101 - 111 - 201 - 031 t2 011 021 t4 t4 t3 t4 t4 t3 t3 t3 ? ? t2 ? ? t2 - 102 002 012 022 t4 t4 t3 t3 ? ? t2 003 013 020
t2
t4
t3
?
004
Abb. 2.4 Ein Ausschnitt des Erreichbarkeitsgraphen zum Petri Netz aus Abb. 2.1. Der Startzustand ist oben links, der Graph setzt sich nach rechts unendlich fort. Die Knoten sind durch eine verk¨ urzte Knotenbeschriftung angegeben, die drei Ziffern stehen f¨ ur die Tokenzahl auf s1 , s2 und s3
Erreichbarkeitsgraphen sind stets lokal determiniert und kommutativ, da Zustandswechsel eindeutig bestimmt sind. Leider ist ein unendlich großer Erreichbarkeitsgraph unpraktikabel. Versucht man eine stets endliche graphische Darstellung zu finden, so m¨ ussen dabei zwangsweise Informationen verloren gehen. Der entstehende Graph ist jedoch trotz geringerem Informationsgehalt immer noch wertvoll f¨ ur die Beantwortung einiger Fragen. Wir ¨ stellen im Folgenden den sogenannten Uberdeckungsgraphen und die darauf aufbauenden Keime und Keim-Transition-Folgen vor. Im n¨achsten Kapitel werden wir dann zeigen, dass Keim-Transition-Folgen endliche Objekte sind, an denen man ablesen“ kann, ob ein bestimmter Zustand erreichbar ist, ” genau wie am potenziell unendlich großen Erreichbarkeitsgraphen.
¨ 2.3.4 Gesteuerte Uberdeckungsgraphen ¨ Die folgende Konstruktion eines sogenannten gesteuerten Uberdeckungsgraphen kann von der Reihenfolge abh¨ angen, in der Zust¨ande und Transitionen betrachtet werden. Um im Algorithmus eine feste Reihenfolge vorgeben zu k¨ onnen, ben¨ otigen wir eine Anordnung von verallgemeinerten Zust¨anden und Transitionen. Dazu betrachten wir einfach irgendeine Bijektion o: Nω P ∪T →
40
2 Petri Netze und ihre Mathematik
N. s ist damit o-kleiner als s0 , falls o(s) ≤ o(s0 ) gilt, analog ist t o-kleiner als t0 , falls o(t1 ) ≤ o(t2 ) gilt, f¨ ur s, s0 ∈ Nω P und t, t0 ∈ T . Definition 40. Seien N = (P, T, F ) ein Petri-Netz, s0 ∈ Nω P und o: Nω P ∪ T → N eine Bijektion, d.h. eine wiederholungsfreie Aufz¨ahlung von Nω P ∪ T . Ferner sei G = (VG , EG , ΣG ) ein beliebiger endlicher Graph und vG ∈ V ein Knoten. ¨ Der (G, vG )-gesteuerte Uberdeckungsgraph Covo (G, vG , N , s0 ) (engl. cover graph) von N , s0 und o ist definiert als der kantengewichtete initiale Graph C = (V, E, T, v0 ), der wie folgt konstruiert wird. (Einr¨ uckungen sind hier als begin . . . end-Schachtelungen zu verstehen; alles auf gleicher Schachtelungstiefe geh¨ ort zur selben Umgebung.) v0 := (vG , s0 ); V := {v0 }; E := ∅; C := (V, E, T, v0 ); N eu := V ; solange N eu 6= ∅ w¨ ahle das o-minimale (v, s) aus N eu; f¨ ur alle t ∈ T in der o-Reihenfolge: t f¨ ur alle v 0 , s0 mit s [t>N s0 ∧ v → − G v0 : f¨ ur alle (ˆ v , sˆ) auf einem Weg in C von (vG , s0 ) nach (v, s) mit vˆ = v 0 und sˆ < s0 : f¨ ur alle p ∈ P mit sˆ(p) < s0 (p): setze s0 (p) := ω; 0 0 V := V ∪ {(v , s )}; N eu := N eu ∪ {(v 0 , s0 )}; E := E ∪ {((v, s), t, (v 0 , s0 ))}; N eu := N eu − {(v, s)}; C := (V, E, T, v0 ) Existiert in Covo (G, vG , N, s0 ) ein Knoten s0 und eine Stelle p mit s0 (p) = ω, so heißt p auch ω-Stelle oder ω-Koordinate von Covo (G, vG , N, s0 ). Ist die Anordnung o unerheblich, so sprechen wir auch von einem gesteuerten ¨ Uberdeckungsgraphen Cov(G, vG , N, s0 ). Ist N = (P, T, F, s0 ) ein initiales Petri-Netz und G = (VG , EG , Σ, vG ) ein initialer Graph, so schreiben wir auch Covo (G, N ) statt Covo (G, vG , N, s0 ). W¨ ahlt man als den Graphen G gerade ({v}, {(v, t, v) | t ∈ T }, T , v), so sind t die Bedingungen v → − G v 0 und vˆ = v 0 , die im Konstruktionsalgorithmus vorkommen, stets erf¨ ullt. Daher hat der steuernde Graph G dann keinen Einfluss ¨ mehr auf den zu konstruierenden Uberdeckungsgraphen. Wir erhalten einen ¨ ungesteuerten Uberdeckungsgraphen, der sich bei kurzem Hinsehen als der ¨ in der Literatur u erweist, dessen Urspr¨ unge auf ¨bliche Uberdeckungsgraph Karp und Miller [KM69] zur¨ uckgehen.
¨ 2.3 Uberdeckungsgraphen
41
¨ Definition 41 (Ungesteuerter Uberdeckungsgraph). Seien N = (P , T , F ) ein Petri Netz, s ∈ Nω P ein Zustand, o: Nω P ∪ T → N eine Bijektion und G = ({v}, {(v, t, v) | t ∈ T }, T , v) der Graph mit nur einem Knoten und Kanten f¨ ur jede Transition t ∈ T . Dann ist C := Covo (G, v, N, s) ein ¨ ungesteuerter Uberdeckungsgraph von N , s und o. Wir schreiben dann auch Covo (N, s) anstelle von Covo (G, vG , N, s) bzw. Covo (N ) anstatt Covo (G, N ). Ist o unerheblich, so verk¨ urzen wir die Schreibweise weiter zu Cov(N, s) oder Cov(N ). ¨ Beispiel 8. In Abb. 2.5 ist der ungesteuerte Uberdeckungsgraph zum Petri ¨ Netz aus Abb. 2.1 zu sehen. Die erste Anderung im Vergleich zum Erreichbarkeitsgraphen aus Abb. 2.4 entsteht beim Erzeugen der t1 -Kante, die vom Knoten 200 (dem Zustand (2, 0, 0)T ) ausgeht. Der Folgezustand 030 u ¨berdeckt einen Zustand, der auf einem Weg zur¨ uck bis zum Startzustand liegt, n¨amlich den Startzustand selbst. Setzt man also sˆ := (0, 2, 0)T und s0 := (0, 3, 0)T , so ist die Bedingung sˆ < s0 erf¨ ullt, und alle in s0 echt gr¨oßeren Werte sind durch ω zu ersetzen. Man erh¨ alt schließlich s0 = (0, ω, 0)T (in der Abbildung den Knoten 0ω0) als Zielzustand der t1 -Kante. Die von hier ausgehende t2 -Kante w¨ urde nun eigentlich in den Zustand (1, ω, 0)T f¨ uhren, der jedoch gleich mehrere Zust¨ ande auf dem Weg vom Startzustand (0, 2, 0)T u ¨berdeckt, n¨amlich (0, 2, 0)T , (1, 1, 0)T und (0, ω, 0)T . Daher wird die erste und zweite Stelle nach Konstruktionsvorschrift auf ω gesetzt, es ergibt sich der neue Knoten ωω0. Analog kommt man zu den Knoten 0ωω ((0, ω, 1)T ist gr¨oßer als (0, ω, 0)T ) und ωωω ((ω, ω, 1)T ist gr¨ oßer als (ω, ω, 0)T ).
@ R @
020
t2
t3 ? t2 011
t4
t3
?
002
- 110 t2 - 200 t1 - 0ω0 t2 - ωω0 t1 , t2 t3
? - 101
t3
? t2
0ωω
I t3 , t4
t3
? - ωωω I t1 , t2 , t3 , t4
¨ Abb. 2.5 Ein ungesteuerter Uberdeckungsgraph zum Petri Netz aus Abb. 2.1
Beispiel 9. Im Vergleich zu Abb. 2.5 zeigt Abb. 2.6 einen (G, v)-gesteuerten ¨ Uberdeckungsgraphen von N mit dem Graphen G = ({v, x}, {(v, t1 , v), (v, t3 , v), (v, t4 , v), (v, t2 , x), (x, t2 , v), (x, t1 , x), (x, t4 , x)}, {t1 , t2 , t3 , t4 }, v), bei dem im Knoten x, in dem man sich nach einer ungeraden Zahl t2 ’s befin¨ det, kein t3 -Ubergang existiert. Wie man in der Abbildung leicht sieht, findet ¨ sich dieses Verhalten auch im resultierenden gesteuerten Uberdeckungsgra¨ phen wieder: Auch hier sind keine t3 -Uberg¨ ange nach einer ungeraden Anzahl ¨ von t2 -Uberg¨ angen vorhanden. Der steuernde Graph erzwingt also eine Re¨ striktion im zu konstruierenden Uberdeckungsgraphen. Bedenkt man, dass
42
2 Petri Netze und ihre Mathematik
¨ der steuernde Graph selbst wieder ein gesteuerter Uberdeckungsgraph sein kann, so wird klar, dass hiermit ein m¨ achtiges Werkzeug zur fortschreiten¨ den Restriktion von Uberdeckungsgraphen zur Verf¨ ugung steht, welches wir sp¨ ater nutzen wollen.
@ R @
v020
t2-
x110
t3
? t2 - x101 v011 t4
t3
?
v002
t2-
v200
t1-
t1 2 t2 tvωω0 xωω0 t2 t3 t3 ? t2 2 t2- ? tv0ωω x1ωω vωωω xωωω t2 v0ω0
I t3 , t4
t2-
x1ω0
I t4
I t1 , t3 , t4
t1
I t1 , t4
¨ Abb. 2.6 Ein (G, v)-gesteuerter Uberdeckungsgraph zum Petri Netz aus Abb. 2.1, mit G = ({v, x}, {(v, t1 , v), (v, t3 , v), (v, t4 , v), (v, t2 , x), (x, t2 , v), (x, t1 , x), (x, t4 , x)}, {t1 , t2 , t3 , t4 }). Die Knoten sind durch ihre Beschriftungen gegeben, die vier Zeichen benennen den Knoten aus G und die jeweilige Tokenzahl auf den Stellen s1 , s2 und s3
¨ H¨ aufig werden gesteuerte Uberdeckungsgraphen Covo (G, v, N, s) nur f¨ ur P echte Zust¨ ande s ∈ N betrachtet. Jedoch werden wir aus technischen ¨ Gr¨ unden sp¨ ater auch Uberdeckungsgraphen mit verallgemeinerten Startzust¨ anden ben¨ otigen. ¨ Uberdeckungsgraphen k¨ onnen leicht unterschiedlich definiert werden. So ist ¨ es etwa m¨ oglich, anstelle beliebiger Wege im Graphen G f¨ ur die Uberdeckung nur einfache Wege zu betrachten. Ebenso f¨ uhrt eine unterschiedliche Wahl ¨ von o zu unterschiedlichen Uberdeckungsgraphen. Der Unterschied ist jedoch marginal: Lediglich die Einf¨ uhrung von ω-Koordinaten kann durch eine unterschiedliche Wahl von o verz¨ ogert werden, da eventuell noch ein Weg von einem Knoten (v, s) zu einem Knoten (ˆ v , sˆ) nicht realisiert ist, auf dem ein (v 0 , s0 ) mit v 0 = vˆ und s0 < sˆ0 liegt. Da jedoch im Konstruktionsalgorithmus jeder Knoten aus N eu nach endlicher Zeit bearbeitet wird, wird auch dieser Weg schließlich realisiert. ¨ Wir ziehen nun einige Schlussfolgerungen u ¨ber gesteuerte Uberdeckungsgra¨ phen. Wir beginnen dabei mit der Endlichkeit von Uberdeckungsgraphen. Satz 3 (Endlichkeit). Jedes Petri Netz besitzt nur endliche (gesteuerte) ¨ Uberdeckungsgraphen. Beweis. Wir nehmen an, zu einem Petri Netz N = (P, T, F ), einem Zustand s ∈ Nω P , einem endlichen Graphen G = (V, E, Σ) und einem Knoten v ∈ V ¨ sei ein (G, v)-gesteuerter Uberdeckungsgraph C := Cov(G, v, N, s) nicht endlich. Die Knoten von C k¨ onnen wegen der Endlichkeit der Alphabete T und t Σ und der Tatsache, dass (v 0 , s0 ) → − C (v 00 , s00 ) nur gelten kann, falls s0 [t>s00
¨ 2.3 Uberdeckungsgraphen
43
erf¨ ullt ist, nur endlichen Verzweigungsgrad haben. (Das Petri Netz N ist – als Transitionssystem aufgefasst – lokal determiniert.) W¨ahlt man nun f¨ ur jedes i ∈ N die Menge Vi als die Menge aller Knoten (vi , si ) in C, die von (v, s) den Abstand i haben (f¨ ur die also der k¨ urzeste Weg von (v, s) nach (vi , si ) die L¨ ange i hat), so m¨ ussen alle Vi wegen des endlichen Ausgangsgrads endlich sein. Ferner besitzt jeder Knoten (vi+1 , si+1 ) ∈ Vi+1 nat¨ urlich mindestens einen Vorg¨ anger (vi , si ) ∈ Vi mit (vi , si ) → − C (vi+1 , si+1 ). Daher ist Lemma 11 (K¨ onigs Lemma) anwendbar und liefert uns einen unendlichen Weg in C, dessen Knoten einen streng monoton steigenden Abstand von (v, s) haben, und die deshalb alle verschieden sind. Die Folge aller Knotengewichte auf diesem Weg ist eine unendlich lange Folge F von Elementen aus V × NP ω . Nach Satz 1 k¨ onnen wir aus dieser Folge F = (vi , si )i∈N eine unendliche Teilfolge F 0 = (vij , sij )j∈N ausw¨ ahlen, so dass die sij monoton wachsen (sik ≤ sim f¨ ur k < m). Wir w¨ ahlen nun ein v 00 ∈ V , das in F 0 unendlich oft auftritt – ein solches v 00 muss existieren, da G endlich ist. Sei F 00 = (v 00 , snj )j∈N die Teilfolge von F 0 , die aus allen Folgenelementen aus F 0 mit erster Komponente v 00 besteht. F 00 ist noch immer unendlich lang und monoton steigend in der zweiten Komponente. Da sich auf dem anfangs konstruierten unendlichen Weg in C keine Knoten wiederholen k¨ onnen (dann w¨are ein Kreis gegeben, die Abst¨ ande vom Knoten (v, s) w¨ urden nicht streng monoton steigen), muss die Teilfolge F 00 dieses Wegs bereits streng monoton in der zweiten Komponente sein, d.h., snj < snj+1 gilt f¨ ur alle j ∈ N. Da (v 00 , snj ) aber das Knotengewicht eines Knotens auf dem Weg von (v, s) bis zu (v 00 , snj+1 ) ist, muss snj+1 mindestens eine ω-Koordinate mehr als snj aufweisen. Dies ist aber nur endlich oft m¨ oglich. Es ergibt sich ein Widerspruch. Lemma 13. Seien N = (P , T , F ) ein Petri-Netz, s, s1 , s2 ∈ Nω P Zust¨ ande, σ1 , σ2 ∈ T ∗ Feuersequenzen, G = (VG , EG , ΣG ) ein endlicher Graph, ¨ v, v1 , v2 ∈ VG und C = (V, E, Σ) ein (G, v)-gesteuerter Uberdeckungsgraph von N und s, dann gilt: σ
σ
1 2 0 0 • (s [σ1>N s1 [σ2>N s2 ∧ v −→ G v1 −→G v2 ) ⇒ ∃s1 ≥ω s1 ∃s2 ≥ω s2 : σ1 σ2 0 0 (v, s) −→C (v1 , s1 ) −→C (v2 , s2 ),
σ
σ
2 2 • (v1 , s1 ) −→ s2 ≤ω s2 : s1 [σ2>N sˆ2 ∧ v1 −→ C (v2 , s2 ) ⇒ (∃ˆ G v2 ),
σ
σ
2 2 0 0 • ((v1 , s1 ) ∈ V ∧ s1 [σ2>N s2 ∧ v1 −→ G v2 ) ⇒ ∃s2 ≥ω s2 : (v1 , s1 ) −→C (v2 , s2 ).
Beweis. Gilt s1 [t>N s2 f¨ ur einen Zustand s1 , der von s aus in N erreichbar ist, und ist s01 ein Zustand mit s01 ≥ω s1 , so gilt nat¨ urlich auch s01 [t>N . 0 0 W¨ ahlt man s1 so, dass (v1 , s1 ) ein Knoten in C ist, so existiert per Konstruktionsvorschrift eine Kante ((v1 , s01 ), t, (v2 , s02 )) mit s02 ≥ω s01 + W (t). Alle Behauptungen folgen daraus sofort induktiv.
44
2 Petri Netze und ihre Mathematik
Da Petri Netze (als Transitionssystem aufgefasst) stets lokal determiniert sind, folgt aus diesem Lemma: Korollar 3. Seien N = (P , T , F ) ein Petri-Netz, s ∈ Nω P ein Zustand, G = (VG , EG , ΣG ) ein endlicher Graph, v ∈ VG ein Knoten und C := Cov(G, ¨ v, N , s) ein (G, v)-gesteuerter Uberdeckungsgraph von N und s. Ist G lokal determiniert, dann ist auch C lokal determiniert. ¨ Im Gegensatz zu Uberdeckungsgraphen k¨ onnen Erreichbarkeitsgraphen unendlich groß werden, vgl. etwa Beispiel 7. Der Erreichbarkeitsgraph ist genau ¨ dann unendlich groß, wenn im ungesteuerten Uberdeckungsgraphen eine ωKoordinate eingef¨ uhrt wird. Lemma 14. Seien N = (P, T, F ) ein Petri-Netz, s ∈ Nω P ein Zustand und E := EG(N, s) der Erreichbarkeitsgraph von N und s. Ist E unendlich groß, so gilt ∗
∗
• ∃s0 , s00 ∈ Nω P : s − →E s0 − →E s00 ∧ s0 < s00 ∗
∗
• ∃s0 , s00 ∈ Nω P ∃p ∈ P : s − →E s0 − →E s00 ∧ s0 < s00 ∧ s0 (p) < s00 (p) ⇒ p ist ¨ ω-Stelle in jedem ungesteuerten Uberdeckungsgraphen Cov(N, s). Beweis. V¨ ollig analog zum Beweis zu Satz 3 l¨asst sich im Erreichbarkeitgraphen ein unendlicher Weg mit streng monoton steigendem Abstand der Knoten zu s konstruieren, aus dem man eine streng monoton wachsende Teilfolge ausw¨ ahlen kann. In dieser Teilfolge w¨ ahlt man zwei beliebige Knoten s0 00 0 00 0 und s aus, oBdA gilt s < s . Da s und s00 auf einem unendlichen Weg von ∗ ∗ s aus liegen, gilt s − →E s0 − →E s00 . ¨ Wenn bei der Konstruktion eines ungesteuerten Uberdeckungsgraphs kein neues ω eingef¨ uhrt wird, so muss dieser Graph zwingend isomorph zum Erreichbarkeitsgraphen sein; beide Konstruktionsverfahren sind dann identisch. ¨ Da Uberdeckungsgraphen aber immer endlich sind, ist das unm¨oglich. Also wird irgendwann ein neues ω eingef¨ uhrt. ¨ Ist umgekehrt p eine ω-Stelle in einem Uberdeckungsgraphen, aber nicht im Erreichbarkeitsgraphen, so k¨ onnen in p beliebig große Werte im Erreichbarkeitsgraphen angenommen werden. Lemma 15. Seien N = (P, T, F ) ein Petri-Netz, p ∈ P , s ∈ Nω P , G = (V, E, Σ) ein endlicher Graph und v ∈ V ein Knoten. Zu jedem k ∈ N existiert ein Knoten sk in EG(N, s) mit sk (p) ≥ k
¨ 2.3 Uberdeckungsgraphen
45
¨ • genau dann, wenn p in einem ungesteuerten Uberdeckungsgraphen Cov(N , s) eine ω-Stelle ist, bzw. ¨ • wenn p in einem (G, v)-gesteuerten Uberdeckungsgraphen Cov(G, v, N, s) eine ω-Stelle ist. Beweis. Wir betrachten zun¨ achst nur die erste Aussage u ¨ber ungesteuerte ¨ Uberdeckungsgraphen. Ist s(p) = ω, so sind wir unmittelbar fertig. Sei also im Folgenden s(p) 6= ω. Sei p eine Stelle, die im Erreichbarkeitsgraphen beliebig groß“ wird, d.h., ” zu dem zu jedem k ∈ N ein sk in EG(N, s) existiert mit sk (p) ≥ k. Nach Lemma 13 existiert zu jedem sk ein s0k in Cov(N, s) mit sk ≤ω s0k . Also muss auch s0k (p) ≥ k gelten. Da Cov(N, s) endlich ist, besteht die Menge {s0k | k ∈ N} nur aus endlich vielen Elementen. Damit gibt es unendlich viele verschiedene k, zu denen dasselbe s0k geh¨ ort, f¨ ur das also s0k (p) = ω gelten muss. Zur anderen Richtung. Ist p eine ω-Stelle in Cov(N, s), aber s(p) 6= ω, so ¨ musste ein ω f¨ ur p in der Konstruktion des Uberdeckungsgraphen eingef¨ uhrt 0 0 worden sein. Damit existieren s , sˆ, sˆ , σ1 , σ2 und t in C := Cov(N, s) mit σ1 0 σ2 s −→ ˆ [t>N sˆ0 mit s0 < sˆ0 und s0 (p) < sˆ0 (p). Damit gilt auch C s −→C s WN (σ2 t)(p) > 0 und s [σ1>N s˜0 [σ2 t>N s˜00 f¨ ur geeignete s˜0 , s˜00 mit s˜0 (p) < 00 r s˜ (p). Insbesondere gilt auch s [σ1 (σ2 t) >N s˜r mit s˜r (p) > r f¨ ur jedes r mit einem geeigneten s˜r . ¨ ¨ Bei gesteuerten Uberdeckungsgraphen existiert keine Aquivalenz zwischen den beiden Aussagen. Dies macht man sich leicht klar, indem man zum Steuern den Graphen G = ({v}, ∅, T ) benutzt, wodurch Cov(G, v, N, s) nur aus einem Knoten besteht. Auch wenn der Erreichbarkeitsgraph in p beliebig große ¨ Werte annehmen kann, u agt sich davon nichts auf den Uberdeckungs¨bertr¨ graphen. Die R¨ uckrichtung gilt aber, der Beweis ist v¨ollig analog zu dem f¨ ur ¨ ungesteuerte Uberdeckungsgraphen. Man beachte, dass wir in Lemma 15 nicht f¨ ur jedes k ∈ N die Existenz eines Knotens sk in EG(N, s) mit sk (p) = k fordern k¨onnen. Wir k¨onnen nur sk (p) ≥ k erhalten. Insgesamt haben wir bereits den folgenden Zusammen¨ hang zwischen Erreichbarkeitsgraphen und Uberdeckungsgraphen gezeigt. ¨ Satz 4 (ω-Stellen in Uberdeckungsgraphen). Seien N ein Petri-Netz, P s ∈ Nω ein Zustand, G = (V, E, Σ) ein endlicher Graph und v ∈ V ein Knoten. Dann gilt: ¨ • Alle ungesteuerten Uberdeckungsgraphen Cov(N, s) besitzen dieselben ωStellen.
46
2 Petri Netze und ihre Mathematik
¨ • Alle (G, v)-gesteuerten Uberdeckungsgraphen Cov(N, s) besitzen h¨ ochstens ¨ dieselben ω-Stellen wie die ungesteuerten Uberdeckungsgraphen. • Folgende Aussagen sind ¨ aquivalent: – EG(N, s) ist unendlich. ¨ – Jeder ungesteuerte Uberdeckungsgraph Cov(N, s) besitzt eine ω-Stelle p mit s(p) 6= ω. ¨ Wir k¨ onnen noch mehr zeigen: Kommen in einem Uberdeckungsgraphen in einem Zustand mehrere ω-Koordinaten vor, so kann man im Petri Netz so feuern, dass auf diesen ω-Stellen eine beliebig hohe Anzahl von Token simultan u ¨berschritten wird. Dieser Beweis ist aber nicht ganz so einfach wie die bisherigen. Lemma 16 (Simultane ω-Stellen). Seien N = (P, T, F ) ein Petri Netz, s ∈ Nω P , G = (V, E, Σ) ein endlicher Graph, v ∈ V ein Knoten, Cov(G, v, N , ¨ s) ein (G, v)-gesteuerter Uberdeckungsgraph und (v 0 , s0 ) ein Knoten in Cov(G, v, N , s). Dann existiert zu jedem k ∈ N ein Zustand sˆ0 im Erreichbarkeitsgraphen EG(N, s) mit sˆ0 ≤ω s0 und f¨ ur alle p ∈ P gilt: s0 (p) = ω ⇒ sˆ0 (p) ≥ k. ¨ Beweis. Es sei C := Cov(G, v, N, s) ein solcher Uberdeckungsgraph. Wir f¨ uhren den Beweis u ange ` eines k¨ urzesten Weges in C von (v, s) ¨ber die L¨ nach (v 0 , s0 ). Induktionsbeginn: ` = 0. Dann gilt v 0 = v und s0 = s. sˆ0 := s0 erf¨ ullt dann alle gew¨ unschten Eigenschaften. ∗
t
Induktionsschritt: ` → `+1. Es sei (v, s) − →C (v 00 , s00 ) → − C (v 0 , s0 ) ein k¨ urzester 0 0 Weg in C von (v, s) nach (v , s ) der L¨ ange ` + 1. Fall 1: s00 und s0 besitzen die gleichen ω-Koordinaten. Laut Induktionsvoraussetzung f¨ ur s00 existiert zu K ∈ N ein % ∈ T ∗ und ein sˆ00 mit s [%>ˆ s00 ≤ω s00 00 00 und s (p) = ω ⇒ sˆ (p) ≥ K. F¨ ur K groß genug gilt dann H(t) ≤ sˆ00 , d.h. 00 00 00 0 s ≥ω sˆ [t>ˆ s + W (t) ≤ω s . Wir setzen sˆ0 := sˆ00 + W (t). Damit gilt • s [%1>ˆ s00 [t>ˆ s0 f¨ ur geeignetes %1 ∈ T ∗ , • s0 (p) 6= ω ⇒ s00 (p) 6= ω ⇒ s0 (p) = s00 (p) + W (t)(p) = sˆ00 (p) + W (t)(p) = sˆ0 (p), d.h. sˆ0 ≤ω s0 , • s0 (p) = ω ⇒ s00 (p) = ω ⇒ sˆ00 (p) ≥ K ⇒ sˆ0 (p) = sˆ00 (p) + W (t)(p) ≥ k, f¨ ur K groß genug.
¨ 2.3 Uberdeckungsgraphen
47
Fall 2: Die ω-Koordinaten von s00 und s0 seien ungleich. Jede ω-Koordinate von s00 ist auch eine von s0 . Also gilt P 0 := {p ∈ P | s0 (p) = ω 6= s00 (p)} = 6 ∅. ∗ 0 00 00 00 Es sei P = {p1 , . . . , pr } ⊆ P . Es gilt also: (v, s) − →C (v , s ) und s [t>˜ s0 0 P 0 0 f¨ ur ein s˜ ∈ Nω , und s entstand aus s˜ auf Grund der Einf¨ uhrung neuer ω-Koordinaten laut Konstruktionsvorschrift f¨ ur C. Damit m¨ ussen aber zu jedem p ∈ P 0 nun sp und σp existieren mit σp
• (v 0 , sp ) −→C (v 00 , s00 ) und s00 [t>˜ s0 ≤ω s0 , • sp ≤ s˜0 , • sp (p) < s˜0 (p). Das heißt, f¨ ur pˆ ∈ P gilt
f¨ ur s00 (ˆ p) 6= ω ≥ 0, f¨ ur pˆ = p W (σp t)(ˆ p) > 0, beliebig f¨ ur s00 (ˆ p) = ω
Insbesondere gilt s0 [σp t> f¨ ur alle p. Setzen wir σ := σp1 tσp2 t . . . σpr t, so folgt f¨ ur s00 (ˆ p) 6= ω ≥ 0, f¨ ur pˆ ∈ P 0 W (σ)(ˆ p) > 0, beliebig f¨ ur s00 (ˆ p) = ω Insbesondere gilt s0 [σ r> f¨ ur beliebiges r ∈ N, also auch s00 [tσ r> f¨ ur jedes r ∈ N. Per Induktionsvoraussetzung f¨ ur s00 finden wir zu K ∈ N ein sˆ00K und ein % ∈ T ∗ mit s [%>ˆ s00K ,
sˆ00K ≤ω s00 ,
s00 (p) = ω ⇒ sˆ00K (p) ≥ K.
F¨ ur jedes r ∈ N existiert damit ein K mit sˆ00K [tσ r>. Es sei sˆ0K := sˆ00K +W (tσ r ). F¨ ur sˆ0K gilt damit • s [%>ˆ s00K [tσ r>ˆ s0K , • sˆ0K ≤ω s0 , wegen s00 ≥ω sˆ00K [t>ˆ s00K + W (t) ≤ω s00 + W (t) ≤ω s0 und s0 + r 0 W (σ ) ≤ω s , • s0 (p) = ω impliziert sˆ0K (p) = sˆ00K (p) + W (t)(p) + r · W (σ)(p) ≥ sˆ00K (p) + W (t)(p), f¨ ur p ∈ / P 0 , d.h. s00 (p) = ω ≥ K + W (t)(p) ≥ k, f¨ ur K groß genug, bzw.
48
2 Petri Netze und ihre Mathematik
sˆ0K (p) = sˆ00K (p) + W (t)(p) + r · W (σ)(p) ≥ sˆ00K (p) + W (t)(p) + r, f¨ ur p ∈ P 0 ≥ k, f¨ ur r groß genug, F¨ ur K groß genug ist damit sˆ0 := sˆ0K gefunden. Damit ergibt sich direkt ein Kriterium f¨ ur die Beschr¨anktheit von Netzen. ¨ Lemma 17 (Uberdeckungsgraphen beschr¨ ankter Netze). • Ein Petri-Netz N ist beschr¨ ankt genau dann, wenn in einem ungesteuer¨ ten Uberdeckungsgraphen Covo (N ) kein Knoten mit einer ω-Koordinate existiert. Das ist genau dann der Fall, wenn Covo (N ) = EG(N ) gilt. • N ist k-beschr¨ ankt genau dann, wenn Covo (N ) in keinem Knoten eine Komponente gr¨ oßer als k besitzt. • Seien N = (P, T, F, s0 ) ein Petri Netz und P 0 ⊆ P . P 0 heißt simultan unbeschr¨ ankt, falls zu jedem k ∈ N eine Feuersequenz σ ∈ T ∗ existiert mit s0 [σ>s und s(p) ≥ k f¨ ur alle p ∈ P 0 . Es gilt: P 0 ist simultan unbeschr¨ ankt genau dann, wenn ein Knoten s in Covo (N ) existiert mit s(p) = ω f¨ ur alle p ∈ P 0 . ¨ Existieren in einem Uberdeckungsgraphen Covo (G, v, N, s) zwei Knoten (v, s1 ), (v, s2 ) mit s ≤ω s1 , s ≤ω s2 und s1 6= s2 , so m¨ ussen s1 und s2 unterschiedliche ω-Koordinaten besitzen. Dann existiert, wie wir gleich zeigen werden, auch ein Knoten (v, s3 ) in Covo (G, v, N, s) mit s1 ≤ω s3 und s2 ≤ω s3 . Das heißt, s3 besitzt die ω-Koordinaten von s1 und s2 und s ≤ω s3 gilt. Insbesondere existiert bez¨ uglich ≤ω ein zu (v, s) maximales Element in Covo (G, v, N, s). Dieses maximale Element ist in allen vom gleichen Graphen ¨ gesteuerten Uberdeckungsgraphen gleich, unabh¨angig von der Wahl von o. Definition 42 (Maximum). Es seien N = (P, T, F ) ein Petri-Netz, s ∈ NP ω, G = (V, E, Σ) ein endlicher Graph, v ∈ V und Covo (G, v, N, s) ein gesteuer¨ ter Uberdeckungsgraph. Ein Knoten (v, s+ ) heißt Maximum von (v, s) in Covo (G, v, N, s), falls (v, s+ ) in Covo (G, v, N, s) vorkommt und f¨ ur jeden Knoten (v, s0 ) in Covo (G, v, N, s) mit s ≤ω s0 bereits s0 ≤ω s+ gilt. Das Maximum von (v, s) wird mit max(v, s) bezeichnet. In unseren Beispielen in Abb. 2.5 und 2.6 sind die Maxima einfach ωωω bzw. vωωω. Es ist jedoch durchaus m¨ oglich, dass nicht an allen ω-Stellen im Maximum auch der Wert ω angenommen wird. Betrachtet man zu dem
¨ 2.3 Uberdeckungsgraphen
49
in Abb. 2.7 gegebenen Graphen G und dem Petri Netz aus Abb. 2.1 einen ¨ (G, v)-gesteuerten Uberdeckungsgraphen Covo (G, v, N, s), vgl. Abb. 2.7, so ist das Maximum gerade der Startknoten (v, (0, 2, 0)), aber dennoch k¨onnen Stellen den Wert ω erreichen, z.B. in (z, (ω, ω, 0)). t1 , t3 , t4
@ R @
- v t2
?
x
?
z
t4
G
t3
t2-
x110
t2-
z200
t1-
z030
t3
t2-
t2-
z120 t1
? t2 ? - x101 v011
t1 , t3 , t4
t2
v020
z2ω0 t2
t2 ? - zωω0 z0ω0
t3
?
v002
I
Cov(G, v, N, s)
t1 , t2
I t1 , t4 ¨ Abb. 2.7 Ein Graph G und dazu ein (G, v)-gesteuerter Uberdeckungsgraph zum Petri ¨ Netz aus Abb. 2.1. Das Maximum dieses Uberdeckungsgraphen ist v020
¨ Nach Lemma 16 sollte es nicht u ¨berraschen, dass in jedem Uberdeckungsgraphen ein Maximum existiert. Sogar bei zwei verschiedenen (G, v)-gesteuerten ¨ Uberdeckungsgraphen zu einem Petri Netz N und Zustand s (mit jeweils dem gleichen Graphen G und Knoten v) ist das Maximum schon eindeutig bestimmt. Insbesondere h¨ angt das Maximum nicht von der Bijektion o, also der Auswahlreihenfolge in NP ur ist wieder etwas ω ∪ T ab. Der Beweis hierf¨ aufw¨ andiger. Lemma 18. Es seien N = (P, T, F ) ein Petri-Netz, s ∈ NP ω , G = (V, E, Σ) ein endlicher Graph und v ∈ V . Ein Maximum (v, s+ ) von (v, s) existiert ¨ in jedem Uberdeckungsgraphen Covo (G, v, N, s) und ist von der Wahl von o unabh¨ angig. ¨ Beweis. F¨ ur i = 1, 2 seien Ci := Covoi (G, v, N, s) (G, v)-gesteuerte Uberdeckungsgraphen von N und s mit Knoten (v, si ) in Ci mit s ≤ω si . Es gen¨ ugt ∗ + zu zeigen, dass in C1 und C2 ein Knoten (v, s ) existiert mit (v, s1 ) − →C1 ∗ (v, s+ ), (v, s2 ) − →C2 (v, s+ ), s1 ≤ω s+ und s2 ≤ω s+ . Gilt s1 = s2 sind wir fertig, indem wir s+ := s1 setzen. Es gelte also s1 6= s2 . Wegen s ≤ω s1 und s ≤ω s2 existiert damit ein p0 ∈ P mit s1 (p0 ) 6= ω = s2 (p0 ) oder s1 (p0 ) = ω 6= s2 (p0 ). Es sei U (s1 , s2 ) := {p ∈ P | s1 (p) = ω = s2 (p)}. Es sei N0 die gr¨ oßte nat¨ urliche Zahl, die in einer Koordinate eines Zustandes in C1 oder C2 vorkommt. Wir setzen k := N0 + 1. Nach Lemma 16 finden wir damit Feuersequenzen σ1 , σ2 und Zust¨ande sˆ1 , sˆ2 mit s [σ1>ˆ s1 ≤ω s1 und s [σ2>ˆ s2 ≤ω s2 und ∀p ∈ P : (s1 (p) = ω ⇒ sˆ1 (p) ≥ k) ∧ (s2 (p) = ω ⇒ sˆ2 (p) ≥ k). Damit gilt f¨ ur i = 1, 2:
50
2 Petri Netze und ihre Mathematik
W (σi )(p) =
0, falls si (p) 6= ω ≥ k − s(p) > 0, falls si (p) = ω
(2.1)
Aus s [σi>ˆ si = s + W (σi ) ≥ s f¨ ur i = 1, 2 folgt dann auch s [σ1 σ2> und s [σ2 σ1>. F¨ ur s3 := s + W (σ1 ) + W (σ2 ) gilt also s [σ1>ˆ s1 [σ2>s3 und s [σ2>ˆ s2 [σ1>s3 . Damit gilt auch s1 [σ2> und s2 [σ1>. Daher existieren mit Lemma 13 zwei σ2 ∗ 0 zus¨ atzliche Zust¨ ande s01 und s02 in C1 bzw. C2 mit s − →C1 s1 −→ C1 s1 ≥ω s3 σ1 ∗ 0 und s − →C2 s2 −→C2 s2 ≥ω s3 . Gilt s1 (p) = ω oder s2 (p) = ω, so gilt mit (2.1) nun s3 (p) = s(p) + W (σ1 )(p) + W (σ2 )(p) ≥ k. Aus s3 ≤ω s01 und s3 ≤ω s02 folgt damit auch s01 (p) = ω und s02 (p) = ω, da in C1 oder C2 keine nat¨ urliche Zahl ≥ k in den Koordinaten der Zust¨ ande vorkommt. Das heißt, s1 ≤ω s01 und s2 ≤ω s02 gilt und p0 ∈ U (s01 , s02 ) − U (s1 , s2 ). Gilt bereits s01 = s02 , so sind wir fertig. Ansonsten iterieren wir das Verfahren mit s01 und s02 anstelle von 0 0 s1 und s2 . Wegen U (s1 , s2 ) ⊆ / U (s1 , s2 ) ⊆ P bricht das Verfahren ab. ¨ Da die f¨ ur uns wesentlichen Eigenschaften von Uberdeckungsgraphen von der Auswahlfunktion o unabh¨ angig sind, verzichten wir im Folgenden auf den ¨ Index o und sprechen auch von dem (G, v)-gesteuerten Uberdeckungsgraphen Cov(G, v, N, s). Wege vom Startknoten zum Maximum werden sp¨ater besonders interessant. Speziell kann man immer Wege so finden, dass diese Feuersequenzen entsprechen, die die Tokenzahlen auf allen ω-Stellen erh¨ohen, die im Startzustand noch nicht mit ω besetzt sind. ¨ Definition 43 (Uberdeckende Feuersequenz). Seien N = (P, T, F ) ein Petri Netz, s ∈ NP ein Zustand, G = (V, E, Σ) ein endlicher Graph und ω v ∈ V ein Knoten. Dann heißt eine Feuersequenz σ ∈ T ∗ u ¨berdeckend genau dann, wenn gilt σ
• v− →G v, • s [σ> und • ∀p ∈ P : mit max(v, s) = (v, s+ ) gilt – s(p) = s+ (p) ∈ N ⇒ W (σ)(p) ≥ 0 und – s(p) ∈ N ∧ s+ (p) = ω ⇒ W (σ)(p) > 0. Nat¨ urlich kann nicht s(p) = ω und s+ (p) ∈ N gelten, da (v, s) ≤ω max(v, s) ¨ gilt. Im Uberdeckungsgraphen aus Abb. 2.6 mit Startknoten (v, (0, 2, 0)) und Maximum (v, (ω, ω, ω)) ist z.B. σ = t2 t2 t1 t2 t2 t3 trotz der Tatsache, dass es
¨ 2.3 Uberdeckungsgraphen
51
sich um einen feuerbaren Weg zum Maximum handelt, keine u ¨berdeckende Feuersequenz, denn auf der mittleren Stelle, s2 , gilt W (σ)(s2 ) = −2, laut Definition muss aber W (σ)(s2 ) > 0 sein. Man findet jedoch immer eine u ¨berdeckende Feuersequenz, wir wir gleich sehen werden. In unserem Beispiel aus Abb. 2.6 gen¨ ugt z.B. die Feuersequenz σ 0 = t2 t2 t1 t2 t2 t1 t2 t2 t1 t3 t2 mit σ0
W (σ 0 ) = (1, 1, 1)T , v −→G v und (0, 2, 0)T [σ 0>(1, 3, 1)T ≤ω (ω, ω, ω)T . Lemma 19 (Existenz u ¨ berdeckender Feuersequenzen). • Ist σ u ¨berdeckend, so gilt in C = Cov(G, v, N, s): σ (v, s) − →C max(v, s). • Eine u ¨berdeckende Feuersequenz ist stets konstruierbar. Beweis. Die erste Aussage ist offensichtlich. Um eine u ¨berdeckende Feuersequenz zu konstruieren, muss man nur einen Weg von (v, s) nach max(v, s) finden, der in allen ω-Koordinaten von max(v, s) Werte gr¨oßer als in s erreicht. Das ist nach Lemma 16 stets m¨ oglich. Die Beweistechnik dieses Lemmas zeigt auch, wie solch ein Weg konstruktiv gefunden werden kann.
2.3.5 Keime und Keim-Transition-Sequenzen ¨ Als steuernde Graphen f¨ ur unsere Uberdeckungsgraphen wollen wir uns nun auf sogenannte Keime oder Pre¨ uberdeckungsgraphen beschr¨anken. Diese sind ¨ eng mit dem Uberdeckungsgraphen verwandt. Ihre Knoten m¨ ussen erweiterte Zust¨ ande des betrachteten Petri Netzes sein, und Kanten sind nur erlaubt, wenn sie das Feuern einer Transition korrekt darstellen. Es ist aber erlaubt, ¨ ¨ Kanten auszulassen. Uber Uberdeckungsgraphen hinaus wird noch gefordert, dass Keime streng zusammenh¨ angend sein m¨ ussen. Daraus ergibt sich trivial, dass in Keimen keine ωs neu eingef¨ uhrt werden k¨onnen. Man kann daher sogar argumentieren, dass Keime enger mit Erreichbarkeitsgraphen verwandt sind ¨ als mit Uberdeckungsgraphen. Definition 44 (Keim). Seien G = (V, E, Σ) ein endlicher Graph und N = (P, T, F ) ein Petri-Netz. G heißt ein Keim (oder Pre¨ uberdeckungsgraph) von N , falls gilt: • G ist endlich, • G ist lokal determiniert,
52
2 Petri Netze und ihre Mathematik
• G ist streng zusammenh¨ angend, • V ⊆ Nω P , • Σ = T und t
• ∀s, s0 ∈ V ∀t ∈ T : (s → − G s0 ⇒ s [t>s + W (t) ≤ω s0 ). Die Wege in einem Keim entsprechen genau Feuersequenzen in N , wie das folgende Lemma zeigt. Lemma 20. Sei G = (V, E, T ) Keim eines Petri-Netzes N = (P, T, F ), so gilt: • Jeder streng zusammenh¨ angende Teilgraph von G ist selbst ein Keim von N. • ∀s, s0 ∈ V ∀p ∈ P : (s(p) = ω ⇐⇒ s0 (p) = ω). σ
• ∀s, s0 ∈ V ∀σ ∈ T ∗ : (s − →G s0 ⇒ s [σ>s0 ). Beweis. Der erste Punkt ist trivial und der dritte folgt sofort aus dem zweiten. Aber auch der zweite Punkt wird klar, wenn man bedenkt, dass G streng zusammenh¨ angend ist. Gilt etwa s1 (p) ∈ N und s2 (p) = ω f¨ ur ein p ∈ P und s1 , s2 ∈ V , so folgt aus dem strengen Zusammenhang sofort die Existenz von σ1 σ2 Feuersequenzen σ1 , σ2 ∈ T ∗ mit s1 −→ G s2 −→G s1 . Dann muss aber auch s2 [σ2>s2 + W (σ2 ) ≤ω s1 gelten im Widerspruch zu s2 (p) >ω s1 (p). ¨ Im Folgenden betrachten wir nur noch solche gesteuerten Uberdeckungsgraphen eines Petri-Netzes N = (P, T, F, s), die von einem Keim G = (V, E, T, v) von N gesteuert werden, und f¨ ur die s ≤ω v gilt. Beispiel 10. Zu dem in Abb. 2.8 abgebildeten Graphen G mit Startknoten ¨ v = (0, ω, 0)T zeigt Abb. 2.9 den (G, v)-gesteuerten Uberdeckungsgraphen zum Petri Netz aus Abb. 2.1 mit Startzustand s = (0, 2, 0)T . ¨ Um den so entstandenen gesteuerten Uberdeckungsgraphen erneut als Keim verwenden zu k¨onnen, identifizieren wir diesen Graphen zun¨achst mit seiner Projektion auf die zweite Komponente. Satz 5 (Projektionssatz). Seien N = (P, T, F ) ein Petri-Netz mit einem initialen Zustand sˆ ∈ Nω P , G = (V, E, T ) ein Keim von N mit einem initialen Knoten s ∈ Nω P mit sˆ ≤ω s und C = Cov(G, s, N, sˆ) sei der (G, s)¨ gesteuerte Uberdeckungsgraph (VC , EC , T, (s, sˆ)) von (N, sˆ). Dann gilt:
¨ 2.3 Uberdeckungsgraphen
53
@ R @
t2-
0ω0
1ω0
Y t3 ?
t2-
2ω0
t1
0ω1 t4
t3
?
0ω2
Abb. 2.8 Ein Keim G zum Petri Netz N aus Abb. 2.1 t2 t2 - (0ω0, 020) (1ω0, 110) - (2ω0, 200) t3 t1 ? ? t2 t2 (0ω1, 011) (0ω0, 0ω0) - (1ω0, 1ω0) - (2ω0, 2ω0) Y t4 t3 t3 ? ? t1 (0ω2, 002)
(0ω1, 0ω1)
t4
t3
?
(0ω2, 0ω2) ¨ Abb. 2.9 Ein Uberdeckungsgraph zum Keim G aus Abb. 2.8 und dem Petri Netz N aus Abb. 2.1 mit Startzustand (0, 2, 0)T (G, (0, ω, 0)T )-gesteuerter
• ∀s0 , sˆ0 ∈ Nω P : ((s0 , sˆ0 ) ∈ VC ⇒ sˆ0 ≤ω s0 ). • Die Projektion π2 : V × Nω P → Nω P von V × Nω P auf die zweite Komponente ist injektiv. • π2 (C) entstehe aus C, indem jeder Knoten v in VC durch π2 (v) ersetzt wird. Dann entstehen keine zwei Knoten gleichen Namens π2 (v) in π2 (C) und π2 (C) ist zu C isomorph. Beweis. Der dritte Punkt ist unmittelbare Konsequenz des zweiten. Zu Punkt 1: Es sei (s0 , sˆ0 ) ∈ VC . Da VC per Konstruktion nur von (s, sˆ) σ erreichbare Knoten besitzt, existiert ein σ ∈ T ∗ mit (s, sˆ) − →C (s0 , sˆ0 ). Mit σ Lemma 13 gilt also sˆ [σ>ˆ s + W (σ) ≤ω sˆ0 ∧ s − →G s0 , also auch s [σ>s0 , da G 0 ein Keim ist. Also gilt s = s + W (σ) ≥ω sˆ + W (σ) ≤ω sˆ0 . Insbesondere gilt damit s0 (p) = sˆ0 (p), falls s0 (p) ∈ N und sˆ0 (p) ∈ N ist. Damit bleibt nur noch zu zeigen, dass sˆ0 (p) = ω bereits s0 (p) = ω impliziert. Sei also sˆ0 (p) = ω. Nach Lemma 16 existieren dann zu jedem k ∈ N ein σk ∈ T ∗ und ein sˆk ∈ Nω P σk 0 0 mit sˆ [σk>ˆ sk ≤ω sˆ0 ∧ sˆk (p) ≥ k ∧ s −→ G s , d.h. s [σk>s . Es gilt also 0 s (p) = (s + W (σk ))(p) ≥ (ˆ s + W (σk ))(p) = sˆk (p) ≥ k f¨ ur jedes k ∈ N, also s0 (p) = ω. Zu Punkt 2: Es seien (s1 , sˆ1 ) und (s2 , sˆ2 ) aus VC mit sˆ1 = sˆ2 . Aus sˆ1 ≤ω s1 und sˆ2 ≤ω s2 folgt, dass s1 und s2 auf allen endlichen Koordinaten u ¨bereinstimmen. Da alle Knoten eines Keimes nach Lemma 20 auch die gleichen ω-Koordinaten besitzen, gilt bereits s1 = s2 .
54
2 Petri Netze und ihre Mathematik
Im Folgenden identifizieren wir stets C mit π2 (C). Startzustand ist also jetzt nur noch sˆ statt (s, sˆ), max(s, sˆ) heißt jetzt max sˆ etc. Es gilt max(s, sˆ) = (s, s+ ) f¨ ur ein s+ ∈ Nω P geeignet. Aus sˆ ≤ω s folgt mit Satz 5 auch s+ ≤ω s. Identifizieren wir C mit π2 (C) wird dann s+ selbst zu max sˆ (= max(s, sˆ)). Das heißt, es gilt in π2 (C) das Korollar 4. sˆ ≤ω s impliziert max sˆ ≤ω s. Leider reicht die Projektion auf die zweite Komponente nicht, um aus dem ge¨ steuerten Uberdeckungsgraphen aus Abb. 2.9 wieder einen Keim zu machen. ¨ Man sieht n¨ amlich sofort, dass dieser Uberdeckungsgraph nicht mehr streng zusammenh¨ angend ist. Da sich dieser Zustand so auch nicht beheben l¨asst, ¨ bleibt zum Zweck der Wiederverwendung des gesteuerten Uberdeckungsgraphen nur dessen Zerlegung in strenge Zusammenhangskomponenten, um diese dann als Keime zu verwenden. In unserem Beispiel zerf¨allt der gesteuerte ¨ Uberdeckungsgraph in vier neue Keime, K1 , K2 , K3 und K4 , vgl. Abb. 2.10.
@ R @
020 t3
?
011 t4
t3
?
002
K0
@ R @
110
@ R @
0ω0
K1 200
K2
1ω0
t2-
2ω0
t1
0ω1 t4
@ R @
t2-
Y t3 ? t3
?
0ω2
K3
¨ Abb. 2.10 Zerlegung des Uberdeckungsgraphen aus Abb. 2.9 in seine vier starken Zusammenhangskomponenten. Um die Information aus Abb. 2.9 komplett wiederherstellen zu k¨ onnen, muss man noch die entfallenen Transitionen kennen, z.B. in Form der Sequenz K0 t2 K1 t2 K2 t1 K3
¨ Um bei der Zerlegung keine Informationen aus dem gesteuerten Uberdeckungsgraphen zu verlieren, merken wir uns die Verbindungen zwischen den starken Zusammenhangskomponenten. In unserem Beispiel erhalten wir so die Se¨ quenz K0 t2 K1 t2 K2 t1 K3 . Im Allgemeinen kann man den Uberdeckungsgraph aber nicht mit einer Sequenz darstellen. Zun¨ achst ergibt sich hier das Verbindungsproblem: Wir sind implizit davon ausgegangen, dass die Komponenten an ihren Startzust¨ anden nicht nur betreten, sondern dort auch wieder verlassen werden. Ist das einmal nicht der Fall, so kann der Weg vom Eintritts- zum Austrittspunkt kopiert und als Kette von separaten, neuen starken Zusammenhangskomponenten aufgefasst werden. Man durchl¨auft dann die origin¨are Komponente vom Eintritts- zum Eintrittspunkt und anschließend die separate Kette zum korrekten Austrittszustand. Das so entstehende Objekt ist
¨ 2.3 Uberdeckungsgraphen
55
¨ zwar kein Uberdeckungsgraph mehr, erlaubt aber dieselben Wege und damit ¨ Feuersequenzen. Jeden Weg durch den urspr¨ unglichen Uberdeckungsgraphen findet man in einer geeigneten Sequenz aus starken Zusammenhangskomponenten und ihren Verbindungen wieder, insbesondere kann dabei keine starke Zusammenhangskomponente in einer solchen Sequenz mehrfach auftreten, da man starke Zusammenhangskomponenten nicht verlassen und erneut betreten ¨ kann. Folgerichtig kann man alle Wege im Uberdeckungsgraphen zusammen mit Hilfe einer endlichen Menge solcher Sequenzen exakt beschreiben. Diese Sequenzen wollen wir Keim-Transition-Folgen nennen. Definition 45 (Keim-Transition-Folge). Gegeben seien ein Petri-Netz N = (P, T, F ), n ∈ N, n Transitionen ti , 1 ≤ i ≤ n, und n + 1 Keime Ki = (Vi , Ei , Ti ), 0 ≤ i ≤ n, von N . Die alternierende Folge F = K0 t1 K1 t2 . . . tn Kn von Keimen und Transitionen heißt eine Keim-Transition-Folge von N . F heißt markiert, falls zu jedem Keim Ki , 0 ≤ i ≤ n, drei weitere Zust¨ande out out si ∈ Vi , sin ∈ Nω P annotiert sind mit sin ≤ω si , wobei i , si i ≤ω si und si in out si der Startzustand, si der Input und si der Output von Ki heißen. sin 0 heißt auch Input von F und sout auch Output von F. n Ein Wort σ ∈ T ∗ heißt ein Weg durch F, falls f¨ ur 0 ≤ i ≤ n Kreise σi in Ki σi von si nach si , si −→ Ki si , existieren und σ = σ0 t1 σ1 t2 . . . tn σn gilt. Ein Weg σ = σ0 t1 σ1 t2 . . . tn σn durch F heißt L¨ osung von F oder F-Feuersequenz, falls gilt: ∀i ∈ {0, . . . , n} ∃ˆ sin ˆout ∈ NP : i ,s i in • sˆin i ≤ω si ,
• sˆout ≤ω sout i i , • sˆin ˆout i [σi>N s i , • sˆout [ti+1>N s ˆin ur 0 ≤ i < n). i i+1 (f¨ Beispiel 11. In unserem Beispiel mit den vier Keimen gem¨aß Abb. 2.10 erhalten wir z.B. eine markierte Keim-Transition-Folge F = K0 t2 K1 t2 K2 t1 K3 out out mit s0 = sin = (0, 2, 0)T , s1 = sin = (1, 1, 0)T , s2 = sin 0 = s0 1 = s1 2 = out T in out T out s2 = (2, 0, 0) , s3 = s3 = s3 = (0, ω, 0) . Anstelle des ω in sin 3 und s3 kann man von der Definition her auch beliebige nat¨ urliche Zahlen setzen, aber T in T nur mit sin osung: Wegen 3 = (0, 3, 0) oder s3 = (0, ω, 0) besitzt F eine L¨ T sˆout sin ˆout = sout = (2, 0, 0)T muss sˆin 2 [t1>ˆ 3 und s 2 2 3 = (0, 3, 0) gelten. Wegen in in T in T sˆin 3 ≤ω s3 muss dann s3 = (0, 3, 0) oder s3 = (0, ω, 0) sein. Abbildung 2.11 veranschaulicht die Situation im allgemeinen Fall.
sˆin 0
w
≤ω
0
wsin
≤ω
[σ0>N
w s0 @ @ @
0
w
w
≤ω
1
≤ω
wsin
sˆout [t1>N s ˆin 0 1
≤ω
@ ≤ω @ sout@w
[σ 1 > N
w s1 @ @ @
σ1
σ0
1
w sˆout [t2>N 1
≤ω
@ ≤ω @ sout@w
...
...
sˆin n
w
≤ω
wsin n
≤ω
[σn>N
w sn @ @ @
σn
Kn
w sˆout n
≤ω
von F
@ ≤ω @ @w = Output sout n
Abb. 2.11 Eine Keim-Transition-Folge F = K0 t1 K1 . . . tn Kn mit einer F-L¨ osung σ = σ0 t1 σ1 . . . tn σn . Hierbei sind die sˆin i i.A. spezifizierter als out spezifizierter als die Outputs sout von K . Die Inputs sin und die Outputs sout von K m¨ die Inputs sin von K und die s ˆ ussen selbst nicht in i i i i i i i i Ki liegen. Sie sind i.A. spezifizierter als der Startzustand si von Ki , der in Ki liegen muss
von F:
L¨ osung
von F =
Input
F:
K1
K0
56 2 Petri Netze und ihre Mathematik
2.4 Lineare Gleichungssysteme u ¨ber Z
57
Beobachtung 1. Ist zu einer Keim-Transition-Folge F σ = σ0 t1 σ1 . . . tn σn eine F-Feuersequenz mit obigen Bezeichnungen, so gilt bereits sˆin sout sin sout ˆout sin sout 0 [σ0>ˆ 0 [t1>ˆ 1 [σ1>ˆ 1 ...s n−1 [tn>ˆ n [σn>ˆ n . Insbesondere sind mit σ und sˆin ande sˆin 0 alle weiteren Zwischenzust¨ i , 1 ≤ out i ≤ n, und sˆi , 0 ≤ i ≤ n, eindeutig festgelegt, da sowohl Keime als auch Petri-Netze lokal determiniert sind.
2.4 Lineare Gleichungssysteme u ¨ ber Z Im n¨ achsten Kapitel wollen wir uns der Frage widmen, ob in einem Petri Netz von einem gegebenen Zustand aus ein anderer, ebenfalls gegebener Zustand erreichbar ist. Dazu kann man im Allgemeinen nicht den Erreichbarkeitsgraphen einsetzen, da dieser ja typischerweise unendlich groß ist. Andererseits ¨ hilft auch ein Uberdeckungsgraph hier nur bedingt, da man bei ω-Eintr¨agen in Knoten nicht weiß, welche Werte hier tats¨achlich angenommen werden k¨ onnen. So k¨ onnte es etwa sein, dass zwar auf einer Stelle beliebig große Tokenzahlen erreicht werden, aber z.B. keine ungeraden Tokenzahlen erreichbar sind oder nicht 29 oder 118 Token auf der Stelle liegen k¨onnen. Die im vorigen Abschnitt eingef¨ uhrten Keime und Keim-Transition-Folgen scheinen da ¨ zun¨ achst auch nicht besser geeignet zu sein als Uberdeckungsgraphen, es wird sich jedoch noch zeigen, dass man zu ihrer L¨ osung lineare Gleichungssysteme angeben kann, in denen u.a. die Tokenzahl auf einer Stelle durch Variablen repr¨ asentiert wird. Unangenehm ist dabei, dass ein ω in einer Keim-TransitionFolge nicht unbedingt bedeutet, dass hier wirklich beliebig hohe Werte in L¨ osungen vorkommen k¨ onnen, sondern nur, dass man die m¨oglichen Werte nicht kennt. Daher definieren wir jetzt nicht nur lineare Gleichungssysteme, sondern auch den Begriff des Supports (alle Variablen, die tats¨achlich beliebig große Werte annehmen k¨ onnen) und die Menge SA,b , die die m¨oglichen Werte f¨ ur diejenigen Variablen angibt, f¨ ur die es nur endlich viele L¨osungen gibt. Mit Hilfe dieser beiden Mengen sind wir sp¨ater in der Lage, die Frage nach der Erreichbarkeit von Zust¨ anden exakt zu beantworten.
2.4.1 Lineare Gleichungssysteme Definition 46 (Lineares Gleichungssystem). Seien R eine Menge mit Addition, Multiplikation und neutralen Elementen. Seien A ∈ Rm×n eine
58
2 Petri Netze und ihre Mathematik
Matrix und b ∈ Rn ein Spaltenvektor. Dann ist Ax = b ein lineares Gleichungssystem u ¨ber R. Einen Vektor x ∈ Rm , der dieses lineare Gleichungssystem erf¨ ullt, nennen wir L¨ osung von Ax = b. Ist b = 0, so nennen wir das lineare Gleichungssystem homogen, sonst inhomogen. Zu einem linearen Gleichungssystem Ax = b ist Ax = 0 das unterliegende homogene lineare Gleichungssystem. Gilt f¨ ur eine L¨ osung x von Ax = b, dass x ∈ R0 mit 0 R ⊆ R liegt, so sagen wir, dass x eine L¨ osung von Ax = b in R0 ist. Die Menge aller L¨ osungen von Ax = b bezeichnen wir mit L(A, b). Im Folgenden sei R := Z. F¨ ur ein lineares Gleichungssystem u ¨ber Z sei der Support supp A von A definiert als supp A := {i | 0 ≤ i ≤ n ∧ ∃x ∈ Nn : (Ax = 0 ∧ x(i) > 0)}. Mit supp A := {1, . . . , m}\supp A bezeichnen wir das Komplement des Supports. Eine Support-L¨ osung u von Ax = 0 ist eine L¨osung u ∈ Nn von Ax = 0 mit u(i) ≥ 1 f¨ ur jedes i ∈ supp A. SA,b := {πsupp A (x) | x ∈ Nn ∧ Ax = b} ist die Menge der Werte außerhalb des Supports von A, die von L¨osungen in N von Ax = b angenommen werden k¨ onnen. Hierbei ist πsupp A (x) die Projektion von x auf alle Koordinaten, die nicht im Support liegen. Dass man L¨ osungen eines linearen Gleichungssystems u ¨ber Z berechnen kann, ist bekannt. Aber auch wenn man L¨ osungen in N eines linearen Gleichungssystems u undig. Ein Verfahren, mit dem man viele ¨ber Z sucht, wird man f¨ solche L¨ osungen ermitteln kann, ist jedoch deutlich komplizierter und soll im Folgenden vorgestellt werden.
2.4.2 L¨ osungen in N Wir werden in diesem Kapitel h¨ aufig mit Fallunterscheidungen vom Typ falls ” a ∈ M dann setze b := f (a) sonst b := g(a)“ arbeiten. Damit diese Art Fallunterscheidung in Algorithmen erlaubt ist, reicht es nicht, dass M berechenbar oder sogar endlich ist und f und g auch berechenbar sind. Man ben¨ otigt zus¨ atzlich, dass M , f und g konstruierbar sind. Der Unterschied zwischen berechenbar und konstruierbar ist dabei wie folgt: Eine Menge M (oder Funktion f ) heißt berechenbar, falls eine Turingmaschine existiert, die diese Menge M entscheidet (bzw. diese Funktion f berechnet). Hingegen nennen wir M (oder f ) konstruierbar, falls eine Turingmaschine bekannt ist, die M entscheidet (bzw. f berechnet). Um eine Fallunterscheidung der obigen
2.4 Lineare Gleichungssysteme u ¨ber Z
59
Art in einem Algorithmus verwenden zu d¨ urfen, muss man nat¨ urlich einen Algorithmus (z.B. eine Turingmaschine) kennen, der M entscheidet bzw. f oder g berechnet. So ist z.B. jede endliche Menge berechenbar, aber im Allgemeinen nicht konstruierbar. Ein Beispiel soll das verdeutlichen. Die endliche Menge P sei definiert durch P := {1}, falls es unendlich viele Primzahlzwillinge gibt und P := {0} sonst. Damit ist P wohldefiniert und endlich. P ist auch entscheidbar, da es eine Turingmaschine MP gibt, die P entscheidet. Im Fall P = {0} ist das jede Turingmaschine, die die Menge {0} entscheidet, im Fall P = {1} jede Turingmaschine, die die Menge {1} entscheidet. Aber P ist (zur Zeit) nicht konstruierbar, da niemand explizit eine Turingmaschine angeben kann, die P entscheidet. Das liegt einfach daran, dass man (noch?) nicht weiß, ob unendlich viele Primzahlzwillinge existieren. Eine Anweisung wie a := 0 falls 0 ∈ P“ ist daher erst dann in einem Algorithmus erlaubt, ” wenn P konstruierbar ist. Satz 6 (Konstruierbarkeit von L¨ osungen). Matrix u ¨ber Z und b ∈ Zn ein Vektor. Dann gilt
Es seien A eine m × n-
• supp A ist konstruierbar • SA,b ist endlich und konstruierbar • zumindest eine Support-L¨ osung von Ax = 0 ist konstruierbar. Mit Hilfe dieses Satzes l¨ asst sich eine L¨ osung in N von Ax = b u ¨ber Z finden, falls eine existiert. Partielle L¨ osungen liegen in SA,b vor, diese kann man in Ax = b einsetzen und f¨ ur das so vereinfachte lineare Gleichungssystem eine L¨ osung in Z finden (wenn eine existiert). In einer solchen L¨osung k¨onnen nur diejenigen Variablen, die im Support liegen, negativ sein. Addiert man eine Support-L¨ osung oft genug auf, werden alle diese Variablen nicht-negativ und man erh¨ alt eine L¨ osung in N. Also gilt: Korollar 5. Falls das Gleichungssystem Ax = b u osung in N ¨ber Z eine L¨ besitzt, kann man wenigstens eine solche L¨ osung konstruieren. Der Beweis des Satzes benutzt ganz wesentlich ein von Gordan [Gor73] entdecktes Dualit¨ atsprinzip zwischen den L¨ osungen eines linearen Gleichungssystems Ax = 0 und L¨ osungen von Ungleichungen mit der transponierten Matrix AT der Form AT u ≥ 0, das wir im Folgenden vorstellen wollen.
60
2 Petri Netze und ihre Mathematik
2.4.3 Das Dualit¨ atsprinzip Im Verlauf dieses Abschnitts bezeichne Ai stets die i-te Spalte einer m × nMatrix A mit 1 ≤ i ≤ n, bei einem Vektor x bezeichne xi := x(i) den i-ten Eintrag (die i-te Zeile). Wir studieren das Dualit¨atsprinzip nun zun¨achst f¨ ur rationale L¨osungen (in Q), bevor wir dann zu ganzzahligen L¨osungen u ¨bergehen. Wir folgen dabei dem Vorgehen von Tucker [Tuc56]. Lemma 21. Sei A ∈ Zm×n eine Matrix. Dann existieren u ∈ Qm und x = (x1 , . . . , xn )T ∈ Qn mit AT u ≥ 0,
Ax = 0,
x≥0
und
AT 1 u + x1 > 0
und ein solches Paar u und x ist konstruierbar. Beweis. Der Beweis erfolgt u ¨ber die Anzahl n der Spalten von A. Induktionsanfang n = 1: Es gilt also A = A1 ∈ Zm . Fall 1: A = 0. F¨ ur u := 0 und x = x1 := 1 gilt dann AT u = 0, Ax = x1 · A = T 0, x = 1 ≥ 0 und AT 1 u + x1 = A u + x1 = 1 > 0. Fall 2: A 6= 0. F¨ ur u := A und x = x1 := 0 erhalten wir AT u = AT A = 2 T 2 |A| > 0, Ax = 0p ·A 0, x = 0 ≥ 0 und AT 1 u + x1 = A u + 0 = |A| > 0. P= m T 2 Hierbei ist |A| = ur A = (a1 , . . . , am ) . i=1 ai f¨ In beiden F¨ allen sind u und x konstruierbar. Induktionsschritt n 7→ n+1: Sei A ∈ Zm×(n+1) und B ∈ Zm×n entstehe aus A durch Weglassen der letzten (n + 1-ten) Spalte. Per Induktionsvoraussetzung gilt das Lemma f¨ ur B und wir erhalten konstruierbare u ∈ Qm und x = T n (x1 , . . . , xn ) ∈ Q mit B T u ≥ 0, Bx = 0, x ≥ 0 und B1T u+x1 = AT 1 u+x1 > 0. Wir unterscheiden nun zwei F¨ alle: Fall 1: AT ur u0 := u und x0 := (x1 , . . . , xn , 0)T gilt dann wegen n+1 u ≥ 0. F¨ T T 0 B B u 0 T 0 0 A u = u = ≥ = 0, T 0 0 AT A u n+1 n+1 und Ax0 = Bx + An+1 · 0 = Bx = 0 die Behauptung. m×n Fall 2: AT die Matrix, deren i-te Spalte durch n+1 u < 0. Sei C ∈ Z
Ai + λi An+1 mit λi := −
AT i u AT n+1 u
gegeben ist. Wegen AT n+1 u 6= 0 sind alle
λi definiert. Aus 0 ≤ B T u = (B1 , . . . , Bn )T u = (A1 , . . . , An )T u folgt desweiteren ∀i ∈ {1, . . . , n}: AT i u ≥ 0 und somit auch λi ≥ 0. Man errechnet nun
2.4 Lineare Gleichungssysteme u ¨ber Z
C Tu
=
=
61
T
(A1 + λ1 An+1 ) .. u . T (An + λn An+1 ) AT 1 u AT n+1 u AT n+1 u
=
T AT 1 u + λ1 An+1 u .. .
T AT n u + λn An+1 u
AT 1u −
.. .
AT nu AT n+1 u AT n+1 u
AT nu −
T AT 1 u − A1 u .. .
=
AT nu
−
=
0
AT nu
Da C nur n Spalten besitzt, l¨ asst sich per Induktionsvoraussetzung das Lemma anwenden, und wir erhalten konstruierbare uC ∈ Qm und xC = (xC,1 , . . . , xC,n ) ∈ Qn mit C T uC ≥ 0, CxC = 0, xC ≥ 0 und C1T uC + xC,1 > 0. Als gesuchte L¨ osung bzgl. A w¨ ahlen wir nun u0 := uC −
AT n+1 uC u AT u
und x0 :=
n+1
(xC,1 , . . . , xC,n , AT n+1 uC
−
Pn
i=1
AT n+1 uC
0 T λi xC,i )T . Es gilt AT n+1 u = An+1 uC −
AT n+1 uC AT n+1 u AT u
=
n+1
= 0. Damit errechnen wir
T 0 T 0 AT A1 u A1 u + λ 1 · 0 1 .. B T u0 = ... u0 = ... = .
0 AT nu
AT n
0 AT n u + λn · 0
T 0 T 0 AT A1 + λ 1 · AT 1 u + λ1 · An+1 u n+1 0 .. .. T 0 = = u = C u . .
0 T 0 AT n u + λn · An+1 u
= C T uC −
T AT n + λn · An+1
AT n+1 uC T C u = C T uC − 0 = C T uC ≥ 0 und AT u n+1
Ax0 = BxC + An+1 ·
n X
λi xC,i =
i=1
=
n X
Ai xC,i +
i=1
n X
n X i=1
λi An+1 xC,i =
i=1
n X
Bi xC,i +
n X
λi xC,i An+1
i=1
(Ai + λi An+1 )xC,i = CxC = 0.
i=1
Damit gilt T 0
A u =
B T u0 0 AT n+1 u
=
B T u0 0
T 0 T C u C uC = = ≥ 0. 0 0
x0 ≥ 0 ist offensichtlich, da alle xC,i und λi gr¨oßer oder gleich null sind. 0 T 0 T 0 0 Ebenso gilt AT 1 u + xC,1 = C1 u + xC,1 = C1 uC + xC,1 > 0. Da u und x konstruierbar sind, ist das Lemma bewiesen.
62
2 Petri Netze und ihre Mathematik
Wir haben in diesem Lemma die erste Spalte von A ausgezeichnet, da eine Aussage des Lemmas gerade AT 1 u + x1 > 0 lautet. Man kann die Aussage aber nat¨ urlich so umformulieren, dass eine beliebige andere Spalte von A die ausgezeichnete Spalte ist. Lemma 22. Seien A ∈ Zm×n und i ∈ {1, . . . , n}. Dann existieren u ∈ Qm und x = (x1 , . . . , xn )T ∈ Qn mit AT u ≥ 0,
Ax = 0,
x≥0
und
AT i u + xi > 0
und ein solches Paar u und x ist konstruierbar. Beweis. Sei B ∈ Zm×n die Matrix B = (Ai , A1 , . . . , Ai−1 , Ai+1 , . . . , An ) bestehend aus den permutierten Spalten von A. Nach Lemma 21 existieren uB ∈ Qm und xB = (xB,1 , . . . , xB,n )T ∈ Qn mit B T uB ≥ 0, BxB = 0, xB ≥ 0, B1T uB + xB,1 > 0, und ein solches Paar uB , xB l¨asst sich konstruT T T T T ieren. Aus B T uB = (AT ≥ 0 i uB , A1 uB , . . . , Ai−1 uB , Ai+1 uB , . . . , An uB ) T T T T folgt sofort A uB = (A1 uB , . . . , An uB ) ≥ 0. W¨ahlen wir u := uB und x := (xB,2 , . . . , xB,i , xB,1 , xB,i+1 , . . . , xB,n )T , so sieht man weiterhin: xB,2 .. . xB,1 xB,i . Ax = (A1 , ..., An ) xB,1 = (Ai , A1 , ..., Ai−1 , Ai+1 , ..., An ) .. xB,i+1 xB,n . .. xB,n = BxB = 0. T T Ferner ist x ≥ 0 da xB ≥ 0 gilt, sowie AT i u + xi = B1 u + xB,1 = B1 uB + xB,1 > 0.
Nun wollen wir zeigen, dass die obige Aussage nicht nur f¨ ur L¨osungen u ¨ber Q, sondern sogar f¨ ur L¨ osungen u ¨ber Z gilt. Lemma 23. Seien A ∈ Zm×n und i ∈ {1, . . . , n}. Dann existieren u ∈ Zm und x = (x1 , . . . , xn )T ∈ Zn mit AT u ≥ 0,
Ax = 0,
x≥0
und
AT i u + xi > 0
und ein solches Paar u und x ist konstruierbar. Beweis. Nach Lemma 22 l¨ asst sich ein Paar u0 , x0 mit u0 ∈ Qm und 0 n x ∈ Q konstruieren, das die geforderten Eigenschaften besitzt. Sei u0 =
2.4 Lineare Gleichungssysteme u ¨ber Z
63
m T ( uv11 , . . . , uvm ) und x0 = ( wy11 , . . . , wynn )T mit uk , wj ∈ Z und vk , yj ∈ N − {0} Qm Qn f¨ ur 1 ≤ k ≤ m und 1 ≤ j ≤ n. Wir w¨ ahlen z := k=1 vk · j=1 yj > 0. Dann gilt offensichtlich u := z · u0 ∈ Zm und x := z · x0 ∈ Zn . Weiter sieht man:
AT u = AT (zu0 ) = z · (AT u0 ) ≥ z · 0 = 0, Ax = A(zx0 ) = z · (Ax0 ) = z · 0 = 0, x = zx0 ≥ z · 0 = 0, und wi wi T 0 0 AT = z · (AT ) > z · 0 = 0. i u + xi = Ai (zu ) + z iu + yi yi Dabei sind z und somit u und x konstruierbar. Im n¨ achsten Schritt zeigen wir, dass wir die Bedingung AT i u + xi > 0 nicht nur f¨ ur jede einzelne Spalte i von A, sondern auch f¨ ur alle Spalten von A simultan erf¨ ullen k¨ onnen. Die Aussage x ∈ Zn und x ≥ 0 heißt nat¨ urlich nichts anderes als x ∈ Nn . Lemma 24. Sei A ∈ Zm×n . Dann existieren u ∈ Zm und x = (x1 , . . ., xn )T ∈ Nn mit AT u ≥ 0, Ax = 0, und AT u + x ≥ 1 und ein solches Paar u und x ist konstruierbar. Beweis. Nach Lemma 23 existieren f¨ ur alle i ∈ {1, . . . , n} L¨osungen ui ∈ Zm i i i n T i T i i und x = (x1 , . . . , xn ) ∈ N mit A u ≥ 0, Axi = 0 und PnAi u i + xi > 0 und L¨ osungen sind konstruierbar. Wir w¨ahlen u := i=1 u und x := Pn solche i x . Dann gilt: i=1 AT u = AT ·
n X
ui =
i=1
Ax = A ·
n X
x=
n X
AT ui ≥ 0,
i=1
xi =
i=1
n X
n X
Axi = 0,
i=1
xi ≥ 0,
i=1 i AT iu
j und aus der Voraussetzung + xii > 0 und der Erkenntnis, dass AT iu + j j T j xi ≥ 0 f¨ ur alle 1 ≤ j ≤ n gilt (gefolgert aus x ≥ 0 und A u ≥ 0), errechnen wir n X j j T i i AT (AT i u + xi = i u + xi ) ≥ Ai u + xi > 0 j=1
64
2 Petri Netze und ihre Mathematik
f¨ ur 1 ≤ i ≤ n. Da A, u und x u ¨ber Z sind, muss auch AT i u + xi ≥ 1 T gelten. Damit ist A u + x in jeder Komponente gr¨oßer oder gleich eins, d.h. AT u + x ≥ 1. Damit k¨ onnen wir nun den eigentlichen Satz von Gordan [Gor73] zeigen. Teil 1 stammt von Gordan selbst, Teil 2, wie auch die ganze bisherige Vorgehensweise, folgt dem Ansatz von Tucker [Tuc56]. Satz 7 (Satz von Gordan). Sei A ∈ Zm×n . 1. (∀u ∈ Zm : (AT u ≥ 0 ⇒ AT u = 0)) ⇒ ∃x ∈ Nn : (Ax = 0 ∧ x ≥ 1), und dieses x ist konstruierbar. 2. (∀x ∈ Nn : (Ax = 0 ⇒ x = 0)) ⇒ ∃u ∈ Zm : AT u ≥ 1 und dieses u ist konstruierbar. Beweis. Zu 1.: Lemma 24 liefert uns u ∈ Zm und x ∈ Nn mit AT u ≥ 0, Ax = 0 und AT u + x ≥ 1. Gilt die Pr¨ amisse, so ist demnach AT u = 0. Also T gilt x = A u + x ≥ 1. Zu 2.: Wieder liefert Lemma 24 u ∈ Zm und x ∈ Nn mit insbesondere Ax = 0. Gilt die Pr¨ amisse, so ist x = 0. Also ist AT u = AT u + x ≥ 1. Wir ben¨ otigen noch eine Art Umkehrung des Satzes von Gordan, bevor wir uns unserem eigentlichen Ziel zuwenden k¨ onnen. Lemma 25. Sei A ∈ Zm×n und x ≥ 1 eine L¨ osung f¨ ur Ax = 0 mit x ∈ Rn . m T Dann existiert kein u ∈ R mit A u > 0. Beweis. Jede L¨osung x ∈ Rn von Ax = 0 ist auch L¨osung von uT Ax = 0 f¨ ur beliebige u ∈ Rm . Ist uT A = (c1 , . . . , cn ), so l¨asst sich uT Ax = 0 auch schreiben als c1 x1 + . . . + cn xn = 0. Wir nehmen nun an, es gibt ein u ∈ Rm mit AT u > 0. Wegen uT A = (AT u)T ist dann auch uT A > 0. Also gilt ci ≥ 0 f¨ ur alle 1 ≤ i ≤ n, und es existiert ein j ∈ {1, . . . , n} mit cj > 0. Setzt man die L¨ osung x ≥ 1 in die Gleichung uT Ax = 0 ein, so ergibt sich (da alle xi > 0 sind) c1 x1 + . . . + cn xn ≥ cj xj > 0, im Widerspruch zu uT Ax = 0 und Ax = 0. Also war die Annahme falsch, und ein u ∈ Rm mit AT u > 0 existiert nicht.
2.4 Lineare Gleichungssysteme u ¨ber Z
65
2.4.4 Konstruktion einer Support-L¨ osung Wir k¨ onnen nun zeigen, dass der Support von A konstruiert werden kann. Lemma 26. Sei A ∈ Zm×n . Dann existiert ein konstruierbares u ∈ Zm mit folgenden Eigenschaften: 1. AT u ≥ 0, 2. ∀i ∈ supp A: (AT u)i = 0, 3. ∀i ∈ supp A: (AT u)i ≥ 1. Beweis. Nach Lemma 24 erhalten wir konstruierbare u ∈ Zm und x ∈ Nn mit AT u ≥ 0, Ax = 0 und AT u + x ≥ 1. F¨ ur alle i ∈ supp A ist xi = 0 und somit (AT u)i ≥ 1. Es bleibt Punkt 2 zu zeigen. A0 entstehe aus A durch Streichen aller Spalten, deren Indizes nicht zum Support geh¨ oren. Seien xi ∈P Nn L¨ osungen von Ax = 0 mit xii > 0 f¨ ur i alle i ∈ supp A. Dann ist x eine L¨ o sung von Ax = 0 mit i∈supp A P ( i∈supp A xi )j > 0 ⇐⇒ j ∈ supp A. (Man beachte, dass xij = 0 f¨ ur P i j ∈ / supp A ist.) Sei y der Vektor, der aus i∈supp A x durch Streichen aller Eintr¨ age (Zeilen) entsteht, deren Index nicht zum Support geh¨ort, also durch Streichen aller Nullen. Da diese sowieso keinen Beitrag im linearen Gleichungssystem Ax = 0 liefern, gilt auch A0 y = 0. Wegen y ≥ 1 k¨onnen wir nun Lemma 25 anwenden. Da aus AT u ≥ 0 sofort A0T u ≥ 0 (durch Weglassen von Zeilen) folgt, liefert Lemma 25 also die Aussage A0T u = 0. Da die Zeilen von A0T gerade diejenigen Zeilen von AT sind, deren Index zum Support geh¨ ort, erhalten wir also (AT u)i = 0 f¨ ur alle i ∈ supp A. Damit k¨ onnen wir u ¨ber das Produkt AT u mit dem nach Lemma 24 konstruierbaren u feststellen, welche Variablen/Indizes zum Support geh¨oren. Also gilt: Korollar 6 (Konstruierbarkeit des Supports). Zu jedem A ∈ Zm×n ist der Support supp A konstruierbar. Mit Hilfe eines Satzes von Hilbert [Hil90] k¨ onnen wir nun auch eine SupportL¨ osung bestimmen. Lemma 27 (Konstruierbarkeit einer Support-L¨ osung). Zu jedem A ∈ Zm×n existiert eine konstruierbare Support-L¨ osung.
66
2 Petri Netze und ihre Mathematik
Beweis. Nach Hilbert [Hil90] existiert f¨ ur die L¨osungen von Ax = 0, die in Nn liegen, eine endliche Basis x1 , . . . , xk ∈ Nn (k ∈ N), so dass jede L¨osung eine nicht-negative Linearkombination der Basisvektoren ist. Zu jedem i ∈ supp A muss daher wenigstens ein xj mit xji > 0 existieren. Daher gilt f¨ ur Pk j x := j=1 x gerade: ∀i ∈ supp A: xi > 0. Damit ist x eine Support-L¨osung. Eine Support-L¨osung konstruiert man, indem man alle Vektoren aus Nn aufz¨ ahlt, und pr¨ uft, ob der jeweils betrachtete Vektor die Definition einer Support-L¨ osung erf¨ ullt. Dies ist durchf¨ uhrbar, da supp A selbst konstruierbar und Ax leicht auszurechnen ist. Da eine Support-L¨osung existiert, kann man die Aufz¨ ahlung abbrechen, wenn man eine gefunden hat. Das Verfahren terminiert also.
2.4.5 Dimensionen mit endlicher L¨ osungsmenge Nun m¨ ussen wir nur noch die Endlichkeit und Konstruierbarkeit der Menge der L¨ osungen des inhomogenen linearen Gleichungssystems Ax = b eingeschr¨ ankt auf das Komplement des Supports nachweisen. Wir beginnen mit der Endlichkeit. Lemma 28 (Endlichkeit von SA,b ). Seien A ∈ Zm×n und b ∈ Zm . Dann ist die Menge SA,b = {πsupp A (x) | x ∈ Nn ∧ Ax = b} endlich. Beweis. Der Fall supp A = ∅ ist trivial (SA,b = {()} ⊆ N0 ). Sei also supp A 6= ∅. Lemma 26 konstruiert uns ein u ∈ Zm mit AT u ≥ 0 und (AT u)i = 0 ⇐⇒ i ∈ supp A. Sei AT u = (c1 , . . . , cn )T , dann ist ci ≥ 0 f¨ ur alle 1 ≤ i ≤ n und ci > 0 ⇐⇒ i ∈ supp A. Jede L¨ osung von Ax = b ist trivial auch L¨osung von uT Ax = (AT u)T x = uT b. Diese Gleichung l¨ asst sich als c1 x1 + . . . + cn xn = uT b mit uT b ∈ Z schreiben. Dabei tauchen ausschließlich die Variablen xi auf, f¨ ur die i ∈ supp A gilt; f¨ ur alle anderen ist ja ci = 0. Da die Koeffizienten ci aller xi mit i ∈ supp A aber echt positiv sind, gibt es nur endlich viele Belegungen f¨ ur diese xi ∈ N, die uT Ax = uT b erf¨ ullen – keine, falls uT b < 0 T ist, und um so mehr, je gr¨ oßer u b ist. Damit ist die Menge 0 SA,b := {πsupp A (x) | x ∈ Nn ∧ uT Ax = uT b} 0 endlich und somit wegen SA,b ⊆ SA,b auch SA,b .
2.4 Lineare Gleichungssysteme u ¨ber Z
67
F¨ ur die Konstruktivit¨ at von SA,b m¨ ussen wir ebenfalls einen Umweg u ¨ber 0 SA,b aus dem obigen Beweis machen. 0 Lemma 29 (Konstruierbarkeit von SA,b ). Seien A ∈ Zm×n und b ∈ Zm , m sowie u ∈ Z der gem¨ aß Lemma 26 konstruierte Vektor. Dann ist die Menge 0 SA,b := {πsupp
A (x) | x
∈ Nn ∧ uT Ax = uT b}
konstruierbar. Beweis. Sei uT Ax = uT b die Gleichung c1 x1 + . . . + cn xn = uT b. Ist i ∈ T supp A, so gilt, da alle cj ≥ 0 (f¨ ur 1 ≤ j ≤ n) sind, ci xi ≤ uT b bzw. xi ≤ ucib . T
0 Also gilt f¨ ur alle πsupp A (x) ∈ SA,b und alle i ∈ supp A: 0 ≤ xi ≤ ucib und xi ∈ N. Da in uT Ax = uT b Variablen aus supp A nicht vorkommen, gen¨ ugt es also, 0 diese endlich vielen M¨ oglichkeiten f¨ ur πsupp A (x) ∈ SA,b durchzuprobieren 0 und zu testen, ob uT Ax = uT b gilt. Damit ist SA,b konstruiert. 0 Leider folgt aus der Konstruierbarkeit von SA,b die von SA,b nicht unmittel¨ bar. Wir brauchen noch eine Reihe von Uberlegungen. Da es sich als einfacher erweist, Ax = b u osen als u ¨ber Z zu l¨ ¨ber N, wollen wir versuchen, soweit wie m¨ oglich auf die Beschr¨ ankung auf N zu verzichten. Es zeigt sich, dass es f¨ ur SA,b keine Rolle spielt, ob man L¨ osungen u ¨ber N betrachtet oder L¨osungen, die nur auf supp A in N sein m¨ ussen.
Lemma 30. Es gilt {πsupp
A (x) | x ∈ N
n
∧ Ax = b} = {πsupp
A (x) ∈ N
|supp A|
| x ∈ Zn ∧ Ax = b}
Beweis. “⊆”: offensichtlich. “⊇”: Sei x ∈ Zn mit πsupp A (x) ∈ N|supp A| und Ax = b. Nach Lemma 27 k¨ onnen wir eine Support-L¨ osung y mit πsupp A (y) ≥ 1 und Ay = 0 konstruieren. F¨ ur diese gilt gem¨ aß Definition außerdem πsupp A (y) = 0. Da xi < 0 nur f¨ ur i ∈ supp A gelten kann, l¨ asst sich ein λ ∈ N bestimmen mit x + λy ∈ Nn . Wir stellen weiter fest: A(x + λy) = Ax + λAy = Ax + λ · 0 = Ax = b und πsupp A (x + λy) = πsupp A (x) + πsupp A (λy) = πsupp A (x) + λ · 0 = πsupp A (x). Damit ist πsupp A (x) = πsupp A (x + λy) ∈ SA,b .
68
2 Petri Netze und ihre Mathematik
2.4.6 L¨ osungen von Ax = b in Z Zur Bestimmung von SA,b wollen wir nun das lineare Gleichungssystem Ax = b l¨ osen. Dazu nutzen wir Matrizenumformungen. Matrizenumformungen werden durch Multiplikation mit invertierbaren Matrizen dargestellt. Definition 47 (Umformungsmatrizen). Sei n ∈ N. Wir definieren die n × n-Matrizen αi,j := (ak,` )k,` mit 1 ≤ i, j ≤ n und i 6= j durch ak,` = 1, falls i 6= k = ` 6= j oder (i = k ∧ ` = j) oder (i = ` ∧ k = j) gilt. Ansonsten sei ak,` = 0. Die n × n-Matrizen βi,j,λ := (bk,` )k,` f¨ ur i 6= j mit 1 ≤ i, j ≤ n und λ ∈ Z seien durch bk,` = 1 f¨ ur k = `, bi,j = λ und bk,` = 0 sonst gegeben. Die n × n-Matrizen γi := (ck,` )k,` f¨ ur 1 ≤ i ≤ n seien durch ck,` = 1 falls k = ` 6= i, ck,` = −1 falls k = ` = i und ck,` = 0 sonst gegeben. Wir wollen die Auswirkungen, die die Multiplikation einer Matrix mit αi,j hat, am Beispiel einer allgemeinen 5 × 5-Matrix einmal darstellen. Wir beobachten zun¨ achst die Auswirkungen einer Multiplikation von links mit α2,3 . 1 0 0 0 0
0 0 1 0 0
0 1 0 0 0
0 0 0 1 0
0 a1 b1 0 0 c1 0 d1 1 e1
a2 b2 c2 d2 e2
a3 b3 c3 d3 e3
a4 b4 c4 d4 e4
a5 a1 c1 b5 c5 = b1 d1 d5 e5 e1
a2 c2 b2 d2 e2
a3 c3 b3 d3 e3
a4 c4 b4 d4 e4
a5 c5 b5 d5 e5
Offensichtlich f¨ uhrt diese Multiplikation zu einer Vertauschung der zweiten und dritten Zeile, allgemeiner: der i-ten und j-ten Zeile, in der untersuchten Matrix. Nochmalige Vertauschung w¨ urde wieder zur Originalmatrix f¨ uhren, womit auch klar ist, dass αi,j sein eigenes (beidseitiges) Inverses sein muss: −1 αi,j = αi,j . Die Multiplikation von rechts mit α2,3 f¨ uhrt nun erwartungsgem¨ aß zur Vertauschung der zweiten und dritten Spalte: a1 b1 c1 d1 e1
a2 b2 c2 d2 e2
a3 b3 c3 d3 e3
a4 b4 c4 d4 e4
a5 1 0 b5 c5 0 d5 0 e5 0
0 0 1 0 0
0 1 0 0 0
0 0 0 1 0
0 a1 b1 0 0 = c1 d1 0 1 e1
a3 b3 c3 d3 e3
a2 b2 c2 d2 e2
a4 b4 c4 d4 e4
a5 b5 c5 d5 e5
Die Multiplikation von rechts mit der Matrix βi,j,λ bewirkt eine Addition des λ-fachen der i-ten Spalte zur j-ten Spalte. Wir beobachten dies am Beispiel β2,4,λ :
2.4 Lineare Gleichungssysteme u ¨ber Z
a1 b1 c1 d1 e1
a2 b2 c2 d2 e2
a3 b3 c3 d3 e3
a4 b4 c4 d4 e4
a5 1 0 b5 c5 0 d5 0 e5 0
0 1 0 0 0
69
000 a1 b1 0 λ 0 1 0 0 = c1 d1 010 001 e1
a2 b2 c2 d2 e2
a3 b3 c3 d3 e3
a4 + λa2 b4 + λb2 c4 + λc2 d4 + λd2 e4 + λe2
a5 b5 c5 d5 e5
Es ist sofort klar, dass dieser Effekt r¨ uckg¨ angig gemacht werden kann, indem man (wiederum von rechts) mit β2,4,−λ multipliziert. Es gilt daher −1 β2,4,−λ β2,4,λ = E = β2,4,λ β2,4,−λ , und β2,4,λ := β2,4,−λ ist beidseitiges Inverses von β2,4,λ . Die Linksmultiplikation mit βi,j,λ f¨ uhrt auch hier erwartungsgem¨ aß zur Addition des λ-fachen der i-ten Zeile zur j-ten Zeile. Wir verzichten aus darstellungstechnischen Gr¨ unden auf die Beispielrechnung. Die Matrizen γi schließlich erlauben die Multiplikation ganzer Zeilen bzw. Spalten mit −1. Wir zeigen dies am Beispiel der Multiplikation mit γ3 von rechts. γi ist offensichtlich zu sich selbst invers. Arbeitet man auf Matrizen u orper Q oder R, so l¨ asst sich wegen der Existenz multiplikativer ¨ber dem K¨ Inverser in Q bzw. R auch die Multiplikation von Zeilen und Spalten mit beliebigen Zahlen ungleich Null wieder r¨ uckg¨ angig machen. Bei Matrizen u ¨ber dem Ring Z ist dies nicht m¨ oglich. a1 b1 c1 d1 e1
a2 b2 c2 d2 e2
a3 b3 c3 d3 e3
a4 b4 c4 d4 e4
a5 1 b5 0 c5 0 d5 0 e5 0
0 0 1 0 0 −1 0 0 0 0
00 a1 0 0 b1 0 0 = c1 d1 10 01 e1
a2 b2 c2 d2 e2
−a3 −b3 −c3 −d3 −e3
a4 b4 c4 d4 e4
a5 b5 c5 d5 e5
Wir k¨ onnen nun zeigen, dass sich jede Matrix u ¨ber Z durch Multiplikation mit den oben eingef¨ uhrten invertierbaren Matrizen in eine Form u uhren ¨berf¨ l¨ asst, in der alle Elemente der Diagonale ganze Zahlen und alle anderen Eintr¨ age der Matrix Null sind. Dazu ben¨ otigen wir lediglich noch eine einfache Erkenntnis u oßten gemeinsamen Teiler von mehreren Zahlen. F¨ ur ¨ber den gr¨ zwei Zahlen a, b ∈ N l¨ asst sich der gr¨ oßte gemeinsame Teiler ggT (a, b) bekanntlich berechnen durch ggT (a−b, b), falls a > b > 0 ist, ggT (b, a) f¨ ur a < b und ggT (a, 0) = a. Es gilt dabei ggT (a, b) ≤ min{a, b}. Das Verfahren l¨asst sich leicht auf mehr als zwei Zahlen erweitern, indem wir f¨ ur die Differenzbildung (oben a − b) immer die gr¨ oßte Zahl mit heranziehen: ggT (a1 , . . . , an ) := ggT (a1 , . . . , ai−1 , ai − aj , ai+1 , . . . , an ) f¨ ur ai = max{ak | 1 ≤ k ≤ n} und aj 6= 0 sowie ggT (a1 , . . . , an ) = ai falls f¨ ur alle j 6= i gilt: aj = 0. Da stets die gr¨ oßte Zahl verkleinert wird, muss der Algorithmus irgendwann terminieren. Auch hier gilt ggT (a1 , . . . , an ) ≤ min{ak | 1 ≤ k ≤ n}. Der Algorithmus l¨ asst sich leicht noch einmal auf Zahlen aus Z erweitern. Wir setzen dazu ggT (a1 , . . . , an ) := ggT (a1 , . . . , ai−1 , ai − aj , ai+1 , . . . , an ) f¨ ur |ai | = max{|ak | | 1 ≤ k ≤ n}, ai · aj > 0 und ggT (a1 , . . . , an ) :=
70
2 Petri Netze und ihre Mathematik
ggT (a1 , . . . , ai−1 , ai + aj , ai+1 , . . . , an ) f¨ ur |ai | = max{|ak | | 1 ≤ k ≤ n}, ai · aj < 0 und ggT (a1 , . . . , an ) = ai falls f¨ ur alle k 6= i gilt: ak = 0. Die betragsm¨ aßig gr¨ oßte Zahl wird dabei durch Addition oder Subtraktion einer anderen Zahl ungleich Null betragsm¨aßig verkleinert. Das Verfahren bricht ab, wenn die betragsm¨ aßig zweitgr¨oßte Zahl Null wird, die letzte Zahl ungleich Null ist dann der gr¨ oßte gemeinsame Teiler. Auch hier gilt |ggT (a1 , . . . , an )| ≤ min{|ak | | 1 ≤ k ≤ n}. Im Fall |ggT (a1 , . . . , am )| = |ai | kann man zudem garantieren, dass ai nie als betragsm¨aßig gr¨oßte Zahl ausgew¨ ahlt und ver¨ andert wird. Lemma 31. Sei A ∈ Zm×n . Dann kann man Matrizen B, B −1 ∈ Zm×m und C, C −1 ∈ Zn×n konstruieren mit B −1 B = E, CC −1 = E und BAC = (λi,j )i,j ∈ Zm×n mit λi,j = 0, falls i 6= j ist. Beweis. Sei k ∈ N mit 0 ≤ k ≤ min{m, n}. Wir zeigen zun¨achst per Induktion u ¨ber k: Hat A bereits die Form λ1,1 0 . . . 0 .. 0 . .. . 0 0 0 . . . 0 λk,k 0 R mit R ∈ Z(m−k)×(n−k) und λ1,1 , λ2,2 , . . . , λk,k ∈ Z, so k¨onnen wir A in die gew¨ unschte Form bringen. Induktionsanfang k = min{m, n}: In diesem Fall hat A bereits die gew¨ unschte Form. Induktionsschritt k → k − 1 (mit k > 0). Wir stellen zun¨achst fest, dass Zeilen- und Spaltenumformungen durch Multiplikation mit αx,y oder βx,y,λ mit x, y > k ausschließlich R ver¨ andern, den Rest von A aber unver¨andert lassen. Nehmen wir an, R hat die allgemeine Gestalt a1,1 a1,2 a1,3 . . . a1,n−k a2,1 a2,2 a2,3 . . . a2,n−k a3,1 a3,2 a3,3 . . . a3,n−k . .. .. .. .. . . . . am−k,1 am−k,2 am−k,3 . . . am−k,n−k Sei b die betragsm¨ aßig gr¨ oßte Zahl der ersten Zeile von R. Wir wenden nun wiederholt das folgende Verfahren an: Sei A0 = B 0 AC 0 die bisher durch dieses
2.4 Lineare Gleichungssysteme u ¨ber Z
71
Verfahren gewonnene Matrix und R0 der aus R entstandene Teil davon, am Anfang gilt also A0 = A, R0 = R, B 0 = E und C 0 = E. Wir bestimmen die beiden betragsm¨ aßig gr¨ oßten Elemente der ersten Zeile von R0 , seien dies 0 0 0 a1,i und a1,j mit |a1,i | ≥ |a01,j |. Wir multiplizieren nun A0 von rechts mit βk+j,k+i,1 , falls a1,i und a1,j verschiedene Vorzeichen haben, und sonst mit βk+j,k+i,−1 . Dabei ¨ andert sich nur die Spalte i in R0 . Speziell wird der Wert 0 a1,i durch einen betragsm¨ aßig kleineren Wert ersetzt, sofern a01,j 6= 0 gilt. 00 Das Ergebnis sei A := A0 βk+j,k+i,±1 = B 0 AC 0 βk+j,k+i,±1 = B 00 AC 00 mit B 00 = B 0 und C 00 = C 0 βk+j,k+i,±1 . Dabei sind B 00 und C 00 invertierbare Matrizen, falls B 0 und C 0 solche sind. Wir wiederholen dies Verfahren, bis a01,j , also die zweitgr¨oßte Zahl, Null ist. Damit haben wir genau den Algorithmus zur Bestimmung des gr¨oßten gemeinsamen Teilers nachvollzogen. Da dieser Algorithmus terminiert, bleibt in der ersten Zeile der Matrix nur eine Zahl ungleich Null u ¨brig, die wir c nennen. Da c der gr¨ oßte gemeinsame Teiler der Zahlen aus der ersten Zeile ist, gilt |a01,i | ≥ |c|. Steht c nicht in der k + 1-ten Spalte des Ergebnisses A00 , also der ersten Spalte von R00 , so k¨ onnen wir dies durch Multiplikation des Ergebnisses A00 von rechts mit αk+1,k+j f¨ ur ein geeignetes j erreichen. Das Resultat ist eine Matrix A000 der gleichen Form wie A, aber mit einer Teilmatrix R000 anstelle von R, die die Gestalt c = b1,1 0 0 ... 0 b2,1 b2,2 b2,3 . . . b2,n−k b3,1 b3,2 b3,3 . . . b3,n−k .. .. .. .. . . . . bm−k,1 bm−k,2 bm−k,3 . . . bm−k,n−k hat. Analog zur obigen Vorgehensweise k¨ onnen wir nun auch die erste Spalte b1,1 , . . . , bm−k,1 durch Zeilenumformungen bearbeiten, bis h¨ochstens noch ein Wert in dieser Spalte ungleich Null ist. Nennen wir diesen Wert d. Durch Zeilenvertauschung (Multiplikation von links mit αk+1,k+j f¨ ur geeignetes j) erreichen wir, dass d gerade in der ersten Zeile der resultierenden Teilmatrix R steht. Da d der gr¨ oßte gemeinsame Teiler der Zahlen c = b1,1 bis bm−k,1 ist, muss |d| ≤ |c| gelten, insgesamt ist damit |d| ≤ |c| ≤ |a01,i |. Falls |d| = |c| = |a01,i | ist, so haben wir den betragsm¨ aßig gr¨ oßten Wert niemals zur Bildung des gr¨ oßten gemeinsamen Teilers herangezogen. Daher m¨ ussen sowohl die erste Zeile als auch die erste Spalte außer d nur Nullen enthalten und die Restmatrix R0 wird um eine Zeile und Spalte kleiner. Gilt |d| < |a01,i |, so k¨ onnen wir erneut beginnen, die erste Zeile von R0 zu bearbeiten. Da der gr¨ oßte gemeinsame Teiler mindestens 1 ist, bricht das Verfahren sp¨atestens ab, wenn |d| diesen Wert erreicht. Bei einem weiteren Durchlauf kann |d| nun nicht mehr kleiner werden, die erste Zeile und Spalte von R0 sind (bis auf die linke obere Ecke) nur mit Nullen besetzt. A hat dann die notwendige Form f¨ ur k − 1, wir k¨ onnen die Induktionsaussage anwenden und erhalten die
72
2 Petri Netze und ihre Mathematik
gew¨ unschte Umformung in Gestalt von zwei Matrizen B und C, die u ¨ber Z invertierbar sind. Die beiden Matrizen sind einfach das Produkt aller Zeilenbzw. Spaltenumformungen im Verlauf des Beweises. Der Induktionsschritt ist somit bewiesen. Man kann sogar noch weiter gehen und verlangen, dass alle Eintr¨age der Ergebnismatrix gr¨ oßer oder gleich Null sind. Lemma 32. Sei A ∈ Zm×n . Dann kann man Matrizen B, B −1 ∈ Zm×m und C, C −1 ∈ Zn×n konstruieren mit B −1 B = E, CC −1 = E und BAC = (λi,j )i,j ∈ Nm×n mit λi,j = 0, falls i 6= j ist. Beweis. Mit Lemma 31 erh¨ alt man zun¨ achst Matrizen B und C, die alle geforderten Eigenschaften bis auf BAC ∈ Nm×n erf¨ ullen. Wir multiplizieren nun BAC mit jedem γi f¨ ur das λi,i < 0 gilt. Da γi die Vorzeichen in der i-ten Zeile bzw. Spalte umkehrt, dort aber außer λi,i nur Nullen stehen, wird Q genau das Vorzeichen von λi,i umgekehrt. W¨ahlen wir C 0 := C · λi,i <0 γi , so hat BAC 0 die gew¨ unschte Form und C 0 ist wie C u ¨ber Z invertierbar. Mit diesen Erkenntnissen u ¨ber Matrizenumformungen k¨onnen wir bereits alle linearen Gleichungssysteme u osen. ¨ber Z l¨ Satz 8. Sei Ax = b ein lineares Gleichungssystem mit A ∈ Zm×n und b ∈ Zm . Dann lassen sich alle L¨ osungen in Z von Ax = b konstruieren. Beweis. Wir bestimmen die Matrizen B, B −1 , C, C −1 , die die Anforderungen von Lemma 32 bzgl. A erf¨ ullen. Insbesondere gilt damit f¨ ur z := C −1 x: Ax = b ⇐⇒ (B −1 BACC −1 )x = b ⇐⇒ B(B −1 BACC −1 )x = Bb ⇐⇒ (BACC −1 )x = Bb ⇐⇒ (BAC)(C −1 x) = Bb ⇐⇒ (BAC)z = Bb. Ist z = (z1 , . . . , zn )T und BAC = (λi,j )i,j , so errechnen wir, da BAC nur in der Diagonale Eintr¨ age ungleich Null besitzt, sofort: (BAC)z = (λ1,1 z1 , . . ., λm,m zm , 0, . . ., 0)T falls m < n ist, und (BAC)z = (λ1,1 z1 , . . ., λn,n zn )T sonst. Wir erhalten also ein Gleichungssystem
2.4 Lineare Gleichungssysteme u ¨ber Z
73
λ1,1 z1 = (Bb)1 .. . λm,m zm = (Bb)m 0 = (Bb)m+1 .. . 0 = (Bb)n oder (bei m ≥ n) λ1,1 z1 = (Bb)1 .. . λn,n zn = (Bb)n Damit lassen sich bereits alle L¨ osungen von (BAC)z = Bb bestimmen. Ist i λi,i > 0, so muss zi genau den Wert (Bb) annehmen, der u ¨berdies eine λi,i nat¨ urliche Zahl sein muss (sonst existieren keine L¨osungen). Ist λi,i = 0, so muss auch (Bb)i = 0 sein, und dann sind alle Werte f¨ ur zi in jeder L¨osung erlaubt. Die L¨ osungen f¨ ur das urspr¨ ungliche lineare Gleichungssystem Ax = b erh¨alt man nun u ¨ber die Beziehung z = C −1 x, d.h. x = CC −1 x = Cz. Die Vorgehensweise zur Bestimmung von L¨ osungen in Z von Ax = b nutzen wir nun aus, um zu (Teil-)L¨ osungen, von denen wir die Werte auf dem Komplement des Supports supp A bereits kennen, die m¨oglichen Werte auf dem Support supp A zu bestimmen. M¨ ogliche Werte von L¨osungen auf dem Komplement des Supports kennen wir aber wirklich – dies sind die Elemente der 0 Menge SA,b – nur wissen wir nicht, ob diese Teill¨osungen sich zu L¨osungen von Ax = b komplettieren lassen. Genau das liefert uns das folgende Lemma. Lemma 33. Seien A ∈ Zm×n , b ∈ Zn und x ∈ Nn . Es ist entscheidbar, ob ein y ∈ Zn mit Ay = b und πsupp A (y) = πsupp A (x) existiert, und kann im positiven Falle auch konstruiert werden. Beweis. U bestehe aus denjenigen Spalten von A, deren Indizes zum Support geh¨ oren, und V aus den restlichen Spalten von A. Damit gilt offenbar f¨ ur alle w ∈ Zn : Aw = U πsupp A (w) + V πsupp A (w). Wir k¨onnen damit die Gleichung Ay = b auch schreiben als U πsupp A (y) = b − V πsupp A (y) = b − V πsupp A (x),
74
2 Petri Netze und ihre Mathematik
wenn wir nur L¨osungen y mit πsupp A (y) = πsupp A (x) suchen. Auf dieses inhomogene lineare Gleichungssystem ist nun Satz 8 anwendbar und konstruiert uns (mit den Bezeichnungen aus dem Satz) f¨ ur 1 ≤ i ≤ |supp A|: zi :=
(B(b − V πsupp A (x)))i λi,i
falls λi,i > 0 und zi beliebig, falls λi,i = 0 = (B(b − V πsupp A (x)))i ist. Dabei ist y := Cz unsere gesuchte L¨ osung, falls alle zi ∈ Z sind und (B(b − V πsupp A (x)))i = 0 gilt, wenn λi,i = 0 ist. Ist eine dieser Bedingungen nicht erf¨ ullt, so existiert ein y mit den gew¨ unschten Anforderungen nicht. Damit k¨ onnen wir nun den letzten Teil von Satz 6 beweisen. Satz 9 (Konstruierbarkeit von SA,b ). Die Menge SA,b = {πsupp
A (x) | x
∈ Nn ∧ Ax = b}
ist konstruierbar. 0 Beweis. Nach Lemma 28 und 29 ist SA,b = {πsupp A (x) | x ∈ Nn ∧ uT Ax = uT b} f¨ ur das u aus Lemma 26 endlich und konstruierbar, und es gilt SA,b ⊆ 0 0 SA,b . Nach Lemma 33 k¨ onnen wir f¨ ur jedes πsupp A (x) ∈ SA,b feststellen, n ob ein y ∈ Z mit Ay = b und πsupp A (y) = πsupp A (x) existiert. Nach Lemma 30 ist das aber genau dann der Fall, wenn auch ein z ∈ Nn mit Az = b und πsupp A (z) = πsupp A (y) existiert. Dieses z erf¨ ullt nun die Bedingungen f¨ ur SA,b . Da z gem¨ aß Lemma 30 aus y konstruiert wird, k¨onnen wir die Mitgliedschaft πsupp A (x) = πsupp A (z) ∈ SA,b entscheiden. Man kann somit 0 f¨ ur jedes der endlich vielen Elemente von SA,b pr¨ ufen, ob es in SA,b liegt.
Kapitel 3
Das Erreichbarkeitsproblem
3.1 Reduktion auf das Keim-Transition-Problem In diesem Kapitel stellen wir einen Algorithmus vor, der das Erreichbarkeitsproblem l¨ ost. Definition 48 (Erreichbarkeitsproblem). Das Erreichbarkeitsproblem ist die Menge EP = {(N, s1 , s2 ) | N = (P, T, F ) ist ein Petri-Netz ∧ s1 , s2 ∈ NP ∧ ∃σ ∈ T ∗ : s1 [σ>N s2 }. Ein Algorithmus, der EP entscheidet, sagt also zu jedem Petri-Netz N und jedem Paar s1 , s2 ∈ NP von Zust¨ anden von N , ob man in N von s1 nach s2 feuern kann. Nat¨ urlich ist eine Feuersequenz σ von s1 nach s2 auch konstruierbar, falls sie existiert: Falls der Algorithmus sagt, dass eine Feuersequenz von s1 nach s2 in N existiert, so testet man systematisch alle Feuersequenzen, bis man schließlich eine findet, die von s1 nach s2 feuert. Hierbei ist es nat¨ urlich trivial zu gegebenen N , σ, s1 und s2 festzustellen, ob s1 [σ>N s2 gilt oder nicht. Der hier vorgestellte Algorithmus liefert sogar selbst eine solche Feuersequenz. Ein Nachteil des Algorithmus ist seine Komplexit¨at: Der Algorithmus basiert ¨ auf der Konstruktion von Uberdeckungsgraphen, deren Gr¨oße im Allgemeinen nicht beschr¨ ankt ist. Daher kann man f¨ ur diesen Algorithmus auch keine Komplexit¨ atsschranke angeben. Abstrahiert man von diesem speziellen Algorithmus, so kann man lediglich sagen, dass das Erreichbarkeitsproblem mindestens exponentiellen Platzaufwand hat. Diese Aussage geht auf ein Papier von Lipton [Lip76] zur¨ uck, in dem gezeigt wird, wie man mit Petri Netzen der 75
76
3 Das Erreichbarkeitsproblem
Gr¨ oße O(n) Registermaschinen simulieren kann, die Zahlen bis zur Obergrenn ¨ ze von 22 verarbeiten k¨ onnen. Uber eine obere Schranke der Komplexit¨at des Erreichbarkeitsproblems ist bisher nichts bekannt. Die Erreichbarkeitsprobleme“ z.B. f¨ ur endliche Automaten (existiert ein ” Weg in A von s1 nach s2 ), Kellerautomaten oder linear beschr¨ankte Automaten (kann man von einer Konfiguration C1 aus eine Konfiguration C2 erreichen) sind entscheidbar, f¨ ur Turingmaschinen ist dieses Problem unentscheidbar. F¨ ur Petri Netze war das Problem u ¨ber ein Jahrzehnt offen, bis Mayr [May80, May84] und Kosaraju [Kos82] unabh¨angig voneinander eine L¨ osung fanden. Wir folgen hier einer Beweisvariante von Lambert [Lam92], der ohne den Begriff der Semilinearit¨ at“ (wie Mayr und Kosaraju) aus” kommt. Daf¨ ur ben¨ otigt er S¨ atze u osungen in N von inhomogenen linea¨ber L¨ ren Gleichungssystemen u ¨ber Z. Die L¨ osung des Erreichbarkeitsproblems gewinnt man durch Reduktion auf ein leicht anders definiertes Problem, das Keim-Transition-Problem: Definition 49 (Keim-Transition-Problem). Das Keim-TransitionProblem ist die Frage, ob ein Algorithmus existiert, der zu einer gegebenen, markierten Keim-Transition-Folge F = K0 t1 K1 t2 . . . tn Kn bestimmt, ob diese eine L¨ osung besitzt. Keim-Transition-Folgen wurden in Definition 45 eingef¨ uhrt. Lemma 34 (EP). Eine positive Antwort zum Keim-Transition-Problem impliziert einen Algorithmus, der das Erreichbarkeitsproblem EP f¨ ur Petri Netze l¨ ost. Beweis. Das Erreichbarkeitsproblem f¨ ur Petri Netze ist offensichtlich ein Spezialfall des Keim-Transition-Problems. Gegeben seien ein Petri Netz N = (P, T, F ) und s, s0 ∈ NP . Wir definieren den trivialen Keim K von N als K = (V, E, T ) mit V := {v}, v = (ω, . . . , ω)T und E := {(v, t, v) | t ∈ T }. K annotieren wir mit v als Start, s als Input und s0 als Output. Abbildung 3.1 zeigt die Situation f¨ ur T = {t1 , . . . , tn }. Die einzige m¨ ogliche L¨ osung der trivialen Keim-Transition-Folge K, die nur aus K besteht, ist ein σ ∈ T ∗ mit s [σ>N s0 . Wir gehen hier wie h¨ aufig in der Mathematik vor: Anstelle ein Problem X direkt zu l¨ osen (hier: das Erreichbarkeitsproblem EP), l¨osen wir eine Verallgemeinerung Y von X (hier: das Keim-Transition-Problem). Die komplexe Struktur von Y erlaubt jetzt aber einen neuen strukturellen Zugang zum Problem (hier: diverse Reduktionsschritte).
3.2 Die Charakteristische Gleichung
77
t1
tn
... U x @ω @ ≤ω
x
@ ≥ @ω @
Input = s
@x s0 = Output
Abb. 3.1 Die einfachste Form der Keim-Transition-Folge: Ein Keim mit dem einzigen Knoten ω = (ω, . . . , ω)T
Wir beginnen nun damit, den Algorithmus vorzustellen, der das KeimTransition-Problem l¨ ost. Dazu ben¨ otigen wir im Folgenden die Begriffe des Supports supp A einer Matrix A u ¨ber Z, einer Support-L¨osung und der Menge SA,b der Werte außerhalb des Supports von A, die von L¨osungen in N des linearen Gleichungssystems Ax = b angenommen werden k¨onnen. Diese Begriffe wurden in Definition 46 eingef¨ uhrt und in Satz 6 wurde ihre Konstruierbarkeit gezeigt. Im Ablaufdiagramm in Abb. 3.2 kann man erkennen, wie die folgenden Beweisteile ineinandergreifen: Mittels einer Dekompositionstechnik wird eine Menge von Keim-Transition-Folgen (anfangs nur der Keim aus Abb. 3.1) in sogenannte perfekte“ Keim-Transition-Folgen u uhrt; zu diesen wird je¨berf¨ ” weils ein lineares Gleichungssystem erstellt und ausgewertet; dessen L¨osung (falls existent) findet Eingang in ein Pumping-Lemma und dieses liefert dann (mindestens) eine Feuersequenz, die das untersuchte Problem l¨ost.
3.2 Die Charakteristische Gleichung Wir ordnen jeder markierten Keim-Transition-Folge F ein inhomogenes lineares Gleichungssystem Ax = b u ¨ber Z zu. Dabei ist b ein Z-Vektor und A eine Matrix u ¨ber Z, beide von einer recht hohen Dimension. Die Variable x ist ein Vektor x = (x(1), . . . , x(`))T . Des besseren Verst¨andnisses wegen werden wir den Koordinaten i der Variablen x(i) Namen zuordnen, die die Intention dieser Variablen x(i) widerspiegeln.
78
3 Das Erreichbarkeitsproblem
Start
?
Inputkeim
(Abb. 3.1) ? KTF-Pool
Pool leer
? Auswahl einer Keim-
- Transition-Folge (KTF) aus dem Pool
? PP P nein Perfekte KTF?PP PP (Def. 52) PP P ja ?
Dekomposition (Def. 53)
Charakteristische Gleichung erstellen (Def. 50)
? Lineares Gleichungssystem l¨ osen (Abschnitt 2.4)
? PP PP L¨ osung PP vorhanden? P PP P ja ?
nein
KTF verwerfen
Pumping-Lemma (Satz 11)
? L¨ osung mit
Feuersequenz
? - keine L¨osung
-
Ende
Abb. 3.2 Vorgehensweise zur L¨ osung eines Erreichbarkeitsproblems. Die noch zu bearbeitenden Keim-Transition-Folgen (KTF) liegen jeweils im KTF-Pool, anfangs ist dies nur der Inputkeim
3.2 Die Charakteristische Gleichung
79
Im Weiteren benutzen wir folgende Bezeichnungen: F ist eine Keim-TransitionFolge F = K0 t1 K1 . . . tn Kn von einem Petri-Netz N = (P, T, F ). Jedes Ki ist in ein Keim Ki = (Vi , Ei , TS i ), annotiert mit dem Start si , dem Input si und n out dem Output si . E := i=0 Ei ist die Menge der Kanten aller Keime. F¨ ur jedes e ∈ E ist x(e) eine Variable im Variablenvektor x, mit W (e) bezeichnen wir den Wechsel WN (t), falls die Kante e mit t beschriftet ist. Ferner seien I := {iin (p) | 0 ≤ i ≤ n ∧ p ∈ P }, O := {iout (p) | 0 ≤ i ≤ n ∧ p ∈ P } Mengen von weiteren Namen von Koordinaten des Variablenvektors x. Zu jedem i, 0 ≤ i ≤ n und p ∈ P sind iin (p) und iout (p) also zwei Koordinaten, x(iin (p)) und x(iout (p)) sind zwei Variablen in x. Definition 50 (Charakteristische Gleichung). Es sei F eine markierte Keim-Transition-Folge eines Petri-Netzes N , mit den Bezeichnungen von oben. Die Charakteristische Gleichung Ax = b f¨ ur F ist durch folgende f¨ unf Gleichungssysteme bestimmt: ∀i ∈ {0, . . . , n} ∀p ∈ P : i)
in x(iin (p)) = sin i (p), falls si (p) 6= ω,
out x(iout (p)) = sout i (p), falls si (p) 6= ω, P iii) x(iout (p)) − x(iin (p)) − e∈Ei W (e)(p) · x(e) = 0,
ii)
∀i ∈ {0, . . . , n − 1} ∀p ∈ P : iv) x((i + 1)in (p)) − x(iout (p)) = WN (ti+1 )(p), und ∀i ∈ {0, . . . , n} ∀v ∈ Vi : v)
P
e∈v •
x(e) −
P
e∈• v
x(e) = 0.
Die f¨ unf Gleichungssysteme lassen sich als Ax = b schreiben. Die Werte sin (p) 6= ω, sout i i (p) 6= ω sowie WN (ti+1 )(p) bestimmen den Vektor b. Ist u eine L¨ osung u ¨ber Z von Ax = b, so gilt u ∈ ZE∪I∪O , d.h. |E ∪ I ∪ O| ist die Spaltenanzahl in A. Beobachtung 2. Sei σ = σ0 t1 σ1 . . . tn σn eine L¨ osung von F mit sˆin ˆout ˆin ˆin ˆout 0 [σ0>N s 0 [t1>N s 1 . . . [tn>N s n [σn>N s n in und sˆin ˆout ≤ω sout und sˆin ˆout ∈ NP f¨ ur 0 ≤ i ≤ n. i ≤ω si , s i i i ,s i
Die Gleichungen i) und ii) besagen nun, dass endliche Werte in den Annotationen eines Keims in der L¨ osung an den zugeh¨origen Stellen in der Feuersequenz σ exakt angenommen werden m¨ ussen. Die Gleichungen iii) und iv)
80
3 Das Erreichbarkeitsproblem
legen fest, dass die Wechsel der entsprechenden Teile von σ beim Durchlaufen eines Keims oder einer zwei Keime verbindenden Transition korrekt sind, sagen allerdings nichts u urden aus. Gleichung v) schließlich verbie¨ber die H¨ tet lose Enden in L¨ osungen, jedes σi muss im Prinzip (einen oder mehrere) Kreise im Keim Ki bilden, die aber nicht zusammenh¨angen m¨ ussen. Man erh¨ alt eine L¨ osung u ∈ NE∪I∪O der Charakteristischen Gleichung Ax = b von F, indem man u f¨ ur alle i, 0 ≤ i ≤ n wie folgt festlegt: ∀p ∈ P : u(iin (p)) := sˆin i (p) ∀p ∈ P : u(iout (p)) := sˆout i (p) ∀e ∈ Ei : u(e) := P (σi )(e). Dies rechnet man einfach nach. i) bis iv) sind klar. Zu beachten ist hierbei P nur, dass W (σ) = e∈E P (σ)(e) · W (e) gilt, vgl. Korollar 1, P (σ) ist die Parikhabbildung von σ.1 v) gilt deshalb, da jedes σi einen Kreis in Ki von si nach si darstellt und f¨ ur jeden Kreis die Anzahl der in einem Knoten ankommenden Kanten gleich der diesen Knoten verlassenden Kanten des Kreises ist. Beispiel 12. Betrachten wir die Keim-Transition-Folge F = K0 t2 K1 t2 K2 t1 K3 aus Beispiel 11 mit den Keimen aus Abb. 2.10 zum Petri Netz N aus Abb. 2.1, T w¨ ahlen aber sin 3 := (0, 3, 0) . Die Kanten von K0 bezeichnen wir mit e1 , e2 , e3 (in der Abfolge wie im Graphen), die Kanten im unteren Kreis von K3 mit e4 , e5 , e6 , im rechten Kreis mit e7 , e8 , e9 . Wir erhalten dann die folgende Charakteristische Gleichung: i) x(0in (p1 ))=0 x(0in (p2 ))=2 x(0in (p3 ))=0 x(1in (p1 ))=1 x(1in (p2 ))=1 x(1in (p3 ))=0 1
x(2in (p1 ))=2 ii) x(0out (p1 ))=0 x(2in (p2 ))=0 x(0out (p2 ))=2 in x(2 (p3 ))=0 x(0out (p3 ))=0 in x(3 (p1 ))=0 x(1out (p1 ))=1 in x(3 (p2 ))=3 x(1out (p2 ))=1 in x(3 (p3 ))=0 x(1out (p3 ))=0
x(2out (p1 ))=2 x(2out (p2 ))=0 x(2out (p3 ))=0 x(3out (p1 ))=0 x(3out (p3 ))=0
Das Parikh-Bild P (σ) interpretieren wir hier als Vektor der Kantenanzahlen im Keim und nicht als Vektor von Transitionenanzahlen im Petri Netz. Wir ersparen uns damit lediglich die Einf¨ uhrung eines Algorithmus zur Umrechnung von Kantenbeschriftungen in Kanten, der jedoch keinen inhaltlichen Beitrag leistet.
3.2 Die Charakteristische Gleichung
81
iii) x(0out (p1 )) − x(0in (p1 )) =0 x(0out (p2 )) − x(0in (p2 )) + x(e1 ) + x(e2 ) − 2x(e3 ) =0 x(0out (p3 )) − x(0in (p3 )) − x(e1 ) − x(e2 ) + 2x(e3 ) =0 x(1out (p1 )) − x(1in (p1 )) =0 x(1out (p2 )) − x(1in (p2 )) =0 x(1out (p3 )) − x(1in (p3 )) =0 x(2out (p1 )) − x(2in (p1 )) =0 x(2out (p2 )) − x(2in (p2 )) =0 x(2out (p3 )) − x(2in (p3 )) =0 x(3out (p1 )) − x(3in (p1 )) − x(e7 ) − x(e8 ) + 2x(e9 ) =0 x(3out (p2 )) − x(3in (p2 ))+x(e4 )+x(e5 )−2x(e6 )+x(e7 )+x(e8 )−3x(e9 )=0 x(3out (p3 )) − x(3in (p3 )) − x(e4 ) − x(e5 ) + 2x(e6 ) =0 iv) x(1in (p1 )) − x(0out (p1 ))=1 v) x(e1 ) − x(e3 ) =0 x(1in (p2 )) − x(0out (p2 ))=−1 x(e2 ) − x(e1 ) =0 x(1in (p3 )) − x(0out (p3 ))=0 x(e3 ) − x(e2 ) =0 x(2in (p1 )) − x(1out (p1 ))=1 x(e4 ) + x(e7 ) − x(e6 ) − x(e9 )=0 x(2in (p2 )) − x(1out (p2 ))=−1 x(e5 ) − x(e4 ) =0 x(2in (p3 )) − x(1out (p3 ))=0 x(e6 ) − x(e5 ) =0 x(3in (p1 )) − x(2out (p1 ))=−2 x(e8 ) − x(e7 ) =0 x(3in (p2 )) − x(2out (p2 ))=3 x(e9 ) − x(e8 ) =0 x(3in (p3 )) − x(2out (p3 ))=0
Definition 51 (Assoziierte L¨ osung). Seien σ eine L¨osung von F und u wie eben aus σ konstruiert eine L¨ osung der Charakteristischen Gleichung von F. Dann nennen wir u die zu σ assoziierte L¨ osung von Ax = b und bezeichnen sie mit uσ . Beispiel 13. Die Sequenz σ = σ0 t2 σ1 t2 σ2 t1 σ3 mit σ0 = σ1 = σ2 = ε und σ3 = t3 t3 t4 ist eine L¨ osung von F aus dem vorigen Beispiel. In der assoziierten L¨ osung der Charakteristischen Gleichung gilt x(e1 ) = x(e2 ) = x(e3 ) = x(e7 ) = x(e8 ) = x(e9 ) = 0, x(e4 ) = x(e5 ) = x(e6 ) = 1, x(3out (p2 )) = 3, alle anderen Variablen sind wie in den Teilsystemen i) und ii) festgelegt. Man sieht leicht, dass diese Variablenbelegung alle Gleichungen erf¨ ullt. Ersetzt man σ3 durch t4 t3 t3 , so ist σ keine L¨ osung von F mehr, die zu σ assoziier” te L¨ osung“ der Charakteristischen Gleichung erh¨alt aber die exakt gleichen Variablenbelegungen. Offenbar liefert nicht jede L¨ osung u u ¨ber N der Charakteristischen Gleichung in Ax = b eine L¨ osung von F. Definieren wir sˆin ˆout i (p) := u(i (p)) und s i (p) := out u(i (p)) f¨ ur 0 ≤ i ≤ n und p ∈ P und σi als einen Kreis in Ki von si nach si mit P (σi ) = πEi (u), so gilt zwar
82
3 Das Erreichbarkeitsproblem
sˆin ˆout f¨ ur 0 ≤ i ≤ n und i + W (σi ) = s i sˆout + W (ti+1 ) = sˆin ur 0 ≤ i ≤ n, i i+1 f¨ aber wir k¨ onnen noch nicht folgern, dass bereits sˆin ˆout [ti+1>N i [σi>N und s i gilt, also die notwendigen H¨ urden H(σi ) bzw. H(ti+1 ) u ¨bersprungen werden. Folgendes entnimmt man unmittelbar der Definition der Charakteristischen Gleichung: Ist u0 eine L¨ osung der homogenen Gleichung Ax = 0, so erf¨ ullt u0 i’)
u0 (iin (p)) = 0 f¨ ur 0 ≤ i ≤ n, p ∈ P mit sin i (p) 6= ω,
ii’) u0 (iout (p)) = 0 f¨ ur 0 ≤ i ≤ n, p ∈ P mit sout i (p) 6= ω, iv’) u0 ((i + 1)in (p)) − u0 (iout (p)) = 0 f¨ ur 0 ≤ i < n, p ∈ P , und iii) und v) wie zuvor. In Definition 46 haben wir den Support von A definiert als supp A := {i ∈ E ∪ I ∪ O | ∃u ∈ NE∪I∪O : (Au = 0 ∧ u(i) > 0)}. Aus i’) und ii’) folgt sofort, dass out supp A ⊆ E ∪ {iin (p) ∈ I | sin (p) ∈ O | sout i (p) = ω} ∪ {i i (p) = ω}
gilt. Definition 52 (Perfekt, F-Doppelfolge). Sei F eine markierte KeimTransition-Folge eines Petri Netzes N mit obigen Bezeichnungen. Es seien ¨ Ci := Cov(Ki , si , N , sin i ) der (Ki , si )-gesteuerte Uberdeckungsgraph von 0 rev rev out rev ¨ (N, sin ) und C := Cov(K , s , N , s ) der (K i i i i i i , si )-gesteuerte Uberrev out deckungsgraph im reversen Netz N mit si als Anfangszustand. Ferner sei in out ¨ maxCi sin die mai die maximale Uberdeckung von si in Ci und maxCi0 si out 0 ¨ ximale Uberdeckung von si in Ci , d.h. im reversen Netz. Ax = b bezeichne die Charakteristische Gleichung von F. F heißt perfekt, falls gilt: out • supp A = E ∪ {iin (p) ∈ I | sin (p) ∈ O | sout i (p) = ω} ∪ {i i (p) = ω} und out • si = maxCi sin i = maxCi0 si .
Eine F-Doppelfolge (ηi , µi )0≤i≤n ist eine endliche Folge von W¨ortern ηi , µi ∈ T ∗ , so dass ηi u ¨berdeckende Feuersequenz in Ci ist, die unter sin i feuern kann, rev und µi u feuern kann. ¨berdeckende Feuersequenz in Ci0 ist, die unter sout i
3.2 Die Charakteristische Gleichung
83
Da u ¨berdeckende Feuersequenzen nach Lemma 19 stets existieren und konstruierbar sind, kann man auch stets eine F-Doppelfolge finden. Die oben ge¨ nannte u ¨berdeckende Feuersequenz ηi besitzt ihre Uberdeckungseigenschaft ηi sowohl in Bezug auf den Keim Ki (si −→Ki si ist trivial u ¨berdeckend) als auch ηi ¨ in Bezug auf den gesteuerten Uberdeckungsgraphen Ci (sin →Ci maxCi sin i − i ist u ¨berdeckend per Konstruktion von ηi ). In perfekten Keim-Transition¨ Folgen gilt diese Uberdeckungseigenschaft jedoch zus¨atzlich auch f¨ ur den in ηi Pseudoweg“ si −→Ki si , also hier den Weg vom Input zum Start des Keims ” Ki , und zwar wegen si = maxCi sin i . Man kann also auf allen Supportstellen von si nicht nur von sin aus beliebig hohe Werte erreichen, indem man ηi i oft genug feuert, man kann sogar mittels einer Sequenz η k αj (j, k geeignet) jede Kante von Ki beliebig oft benutzen, indem man α als einen alle Kanten enthaltenden Kreis von si nach si w¨ ahlt. Beispiel 14. Die Keim-Transition-Folge F aus Beispiel 12 ist perfekt. Zum Support von Ax = 0 geh¨ oren hier die Variablen x(e1 ) bis x(e9 ) sowie x(3out (p2 )), alle anderen Variablen sind in den Teilsystemen i’) und ii’) eindeutig festgelegt. F¨ ur die Supportvariablen gelten die Bedingungen x(e1 ) = x(e2 ) = x(e3 ), x(e4 ) = x(e5 ) = x(e6 ), x(e7 ) = x(e8 ) = x(e9 ) = x(3out (p2 )), wie man leicht durch Vereinfachungen des homogenen Gleichungssystem Ax = 0 erkennt. Man kann u ¨brigens verschiedene F-Doppelfolgen (ηi , µi )0≤i≤3 finden. So kann man z.B. η0 = (t3 t3 t4 )k und µ0 = (t3 t3 t4 )n mit k, n ≥ 0 beliebig w¨ahlen. Die Sequenzen η1 , µ1 , η2 und µ2 m¨ ussen jeweils das leere Wort sein, da die Keime K1 und K2 keine Kanten besitzen. F¨ ur den Keim K3 ist die Situation T T komplexer. Da hier sin 3 = (0, 3, 0) 6= (0, ω, 0) = s3 gilt, ist der Keim K3 ¨ nicht identisch mit dem gesteuerten Uberdeckungsgraphen C3 (C30 ist hingerev gen wegen s3 = sout identisch mit K ). Abbildung 3.3 zeigt C3 . 3 3 @ R @
(0ω0, 030)
t2 t2 (1ω0, 120) - (2ω0, 210)
t3
t1
?
?
(0ω1, 021) t4
(0ω0, 0ω0)
t3
?
t3
?
(0ω2, 012)
t2 t2 (1ω0, 1ω0) - (2ω0, 2ω0) Y t1
(0ω1, 0ω1) t4
t3
?
(0ω2, 0ω2) ¨ Abb. 3.3 Ein (K3 Uberdeckungsgraph zum Keim K3 aus Abb. 2.10 und dem Petri Netz N aus Abb. 2.1 mit Startzustand (0, 3, 0)T , (0, ω, 0)T )-gesteuerter
Offenbar ist max((0, ω, 0)T , (0, 3, 0)T ) = ((0, ω, 0)T , (0, ω, 0)T ) bzw. verk¨ urzt in geschrieben max(0, 3, 0)T = (0, ω, 0)T , also max sin = s . Wegen s (p ) ∈N 3 2 3 3
84
3 Das Erreichbarkeitsproblem
und s3 (p2 ) = ω muss daher nach Definition 43 der Wechsel W (η3 ) an der Stelle p2 positiv sein. Man kann also η3 = t2 t2 t1 (mit W (t2 t2 t1 ) = (0, 1, 0)T ) w¨ ahlen, aber auch jede Sequenz, die man aus mindestens einmal t2 t2 t1 und einer beliebigen Anzahl von Vorkommen des Wortes t3 t3 t4 zusammensetzt, denn alle solchen Sequenzen f¨ uhren in C3 von sin urfen die 3 nach s3 . In µ3 d¨ beiden Kreise t2 t2 t1 und t3 t3 t4 dagegen beliebig oft auftreten, auch µ3 = ε ist erlaubt. Lemma 35. Es seien F eine perfekte Keim-Transition-Folge und dazu (ηi , µi )0≤i≤n eine F-Doppelfolge. Dann gilt ηi
ηi
• sin →Ci si −→Ci si , i − in • sin i [ηi>N si + WN (ηi ) ≤ω si [ηi>N si , µrev
µrev
• sout −−i−→Ci0 si −−i−→Ci0 si , i rev out rev • sout [µi >N rev si + WN rev (µrev i i ) ≤ω si [µi >N rev si [µi>N si ,
• sout − WN (µi ) [µi>N sout i i . ¨ Beweis. Dies folgt unmittelbar aus den Uberdeckungseigenschaften von ηi in rev out out f¨ ur si und µi f¨ ur si wegen si = maxCi sin i = maxCi0 si . Zum letzten Punkt ist nur zu beachten, dass stets WN rev (σ rev ) = −WN (σ) gilt.
3.3 Das Pumping-Lemma von Lambert Nun l¨ osen wir das Keim-Transition-Problem f¨ ur perfekte Keim-TransitionFolgen. Wir beweisen dazu den folgenden Satz. Satz 10. Es sei F eine perfekte Keim-Transition-Folge eines Petri-Netzes N mit den obigen Bezeichnungen. Dann sind folgende Aussagen ¨ aquivalent: i)
F besitzt eine L¨ osung.
ii)
Ax = b besitzt eine L¨ osung in N und sout [ti+1>N gilt f¨ ur 0 ≤ i < n. i
Wir wissen bereits aus dem letzten Abschnitt, dass jede L¨osung von F eine L¨ osung von Ax = b impliziert. Damit gilt i) ⇒ ii). Zur R¨ uckrichtung nutzen wir das folgende Pumping-Lemma.
3.3 Das Pumping-Lemma von Lambert
85
Satz 11 (Pumping-Lemma von Lambert). Es sei F eine perfekte KeimTransition-Folge mit der Charakteristischen Gleichung Ax = b. Besitzt Ax = b eine L¨ osung in N und gilt sout [ti+1>N f¨ ur 0 ≤ i < n, so gilt f¨ ur jede i F-Doppelfolge (ηi , µi )0≤i≤n , dass ein k0 ∈ N und W¨ orter αi , βi ∈ Ti∗ f¨ ur 0 ≤ i ≤ n konstruierbar sind mit α
βi
i • si −→ →Ki si , Ki si und si −
• ∀k ≥ k0 ist η0k β0 α0k µk0 t1 η1k β1 α1k µk1 t2 . . . tn ηnk βn αnk µkn eine F-Feuersequenz, d.h. eine L¨ osung f¨ ur F. Beweis. Mit Satz 6 kann man feststellen, ob Ax = b eine L¨osung u ¨ber N besitzt, und im positiven Fall eine solche L¨ osung konstruieren. Ax = b besitze nun eine L¨ osung u ¨ber N. Dann sei u1 ∈ NE∪I∪O eine solchermaßen konstruierte L¨ osung und usupp sei eine ebenfalls mit Satz 6 stets konstruierbare Supportl¨ osung von Ax = 0 mit πsupp A (usupp ) ≥ 1. Dann gilt f¨ ur u := u1 + usupp ∈ NE∪I∪O nun πsupp A (u) ≥ 1 und damit insbesondere πEi (u) ≥ 1 f¨ ur die Kantenmenge Ei jedes Keims Ki . u ist nat¨ urlich auch L¨ osung von P Ax = b. Da P u1 und usupp die Gleichung v) erf¨ ullen, gilt dies auch f¨ ur u: e∈v• u(e) = e∈• v u(e) f¨ ur alle v ∈ Vi mit 0 ≤ i ≤ n. Nach Lemma 10 u ¨ber Graphen kann man damit einen Kreis βi in Ki von si nach si mit P (βi ) = πEi (u) (≥ 1) konstruieren. F¨ ur 0 ≤ i < n und a ∈ N setzen wir ui,a := a · πEi (usupp ) − P (ηi µi ). F¨ Pur a groß genug gilt PπEi (ui,a ) ≥ 1. Da ηi µi ein Kreis in Ki ist, gilt auch P (η µ )(e) = ur usupp gilt, • i i e∈v e∈• v P (ηi µi )(e). Da Gleichung v) auch f¨ gilt v) also auch f¨ ur ui,a . Damit finden wir wieder mit Lemma 10 f¨ ur a1 groß genug einen Kreis αi,a1 in Ki von si nach si mit P (αi,a1 ) = πEi (ui,a1 ) = a1 πEi (usupp ) − P (ηi µi ). Also gilt auch a1 πEi (usupp ) = P (ηi αi,a1 µi ).
(3.1)
Damit kommen alle Kanten des Keimes Ki in dem Kreis ηi αi,a1 µi vor. Wir h¨ atten aber auch gerne, dass ηi und µi in unserer L¨osung tats¨achlich feuerbar sind und nach Feuern von ηi bzw. vor Feuern von µi die Stellenvariablen des Supports jeweils positiv sind, also mindestens ein Token auf jeder dieser Stellen liegt. Daf¨ ur ist a1 eventuell zu klein; wir bestimmen in weiteren Untersuchungen, wie groß dieser Wert mindestens sein muss. Dazu finden wir ein a2 groß genug mit a2 usupp (iin (p)) + WN (ηi )(p) ≥ 1 f¨ ur alle p ∈ P mit si (p) = ω
(3.2)
86
3 Das Erreichbarkeitsproblem
Das sieht man wie folgt: Es sei si (p) = ω f¨ ur eine Stelle p ∈ P . Fall 1: Es sei sin ur sin ¨berdeckend ist, gilt WN (ηi )(p) ≥ 1. i (p) ∈ N. Da ηi f¨ i u Da usupp L¨ osung von Ax = b in N ist, gilt a2 usupp (iin (p)) ≥ 0. Also gilt (3.2). in Fall 2: Es sei sin i (p) = ω. Da F perfekt ist, liegt i (p) im Support supp A. in Damit gilt usupp (i (p)) ≥ 1. Wir k¨ onnen jetzt a2 groß genug w¨ahlen, damit (3.2) gilt, auch f¨ ur negatives WN (ηi )(p).
Ganz analog finden wir ein a3 groß genug mit a3 usupp (iout (p)) + WN rev (µrev ur alle p ∈ P mit si (p) = ω i )(p) ≥ 1 f¨
(3.3)
Hierzu ist nur zu beachten, dass µrev u ur sout in N rev ist. ¨berdeckend f¨ i i Wir finden ein a4 groß genug f¨ ur die H¨ urde von ηi : (u + a4 usupp )(iin ) ≥ HN (ηi ).
(3.4)
Dies sieht man wie folgt: Da ηi u ur sin ¨berdeckend f¨ i ist, gilt insbesondere in in si [ηi>N und si ≥ HN (ηi ). F¨ ur jedes p ∈ P gilt einer der beiden folgenden F¨ alle: Fall 1: sin i (p) ∈ N. Nach den Gleichungen i) und i’) von Ax = b und Ax = 0 gilt damit f¨ ur u: u(iin (p)) = sin ur usupp : usupp (iin (p)) = 0. Also i (p), und f¨ in in gilt auch (u + a4 usupp )(i (p)) = si (p) ≥ HN (ηi )(p). in Fall 2: sin i (p) = ω. Da F perfekt ist, gilt i (p) ∈ supp A und damit in usupp (i (p)) ≥ 1. Also finden wir ein a4 , so dass (3.4) gilt.
Ganz analog konstruiert man ein a5 mit (u + a5 usupp )(iout ) ≥ HN rev (µrev i ).
(3.5)
out Laut Voraussetzung des Pumping-Lemmas gilt sout [ti+1>N , also auch si ≥ i out out out HN (ti+1 ). Gilt si (p) ∈ N, so gilt bereits (u + ausupp )(i (p)) = si (p) out (≥ HN (ti+1 )(p)) f¨ ur jedes a. Gilt sout (p) ∈ supp A und i (p) = ω, so gilt i out out usupp (i (p)) ≥ 1, also gilt (u + a6 usupp )(i (p)) ≥ HN (ti+1 )(p) f¨ ur ein geeignetes a6 . Das heißt, es existiert ein a6 mit
(u + a6 usupp )(iout ) ≥ HN (ti+1 ).
(3.6)
Diese Werte a1 bis a6 h¨ angen auch von i ab. Da i aber nur von 0 bis n l¨ auft, finden wir ein a ∈ N, f¨ ur das alle Gleichungen (3.1) bis (3.5) f¨ ur i mit 0 ≤ i ≤ n und Gleichung (3.6) f¨ ur i mit 0 ≤ i < n gelten. Solch ein a sei jetzt fest gew¨ ahlt. Insbesondere sei αi der Kreis αi,a in Ki von si nach si . F¨ ur 0 ≤ i ≤ n und k ∈ N setzen wir
3.3 Das Pumping-Lemma von Lambert
87
in P sˆin i,k := (u + k · a · usupp )(i ) ∈ N , und out sˆout ) ∈ NP . i,k := (u + k · a · usupp )(i
F¨ ur p ∈ PN mit sin i (p) 6= ω folgt aus den Gleichungen i) und i’) der charakteriin out stischen Gleichung von F sofort sˆin ˆout i,k (p) = si (p). Analog gilt s i,k (p) = si (p) in out f¨ ur p ∈ PN mit sout ˆin ˆout f¨ ur jedes i (p) 6= ω. Also gilt s i,k ≤ω si und s i,k ≤ω si k. Wir rechnen leicht aus: sˆout ˆin i,k + WN (ti+1 ) = s i+1,k ,
(3.7)
gem¨ aß Gleichung iv) f¨ ur u und iv’) f¨ ur usupp . Aus Gleichung (3.6) schließen out wir sˆout [ t > , also insgesamt s ˆ ˆin ur 0 ≤ i < n und k ∈ N. i,k i+1 N i,k [ti+1>N s i+1,k f¨ Ebenso rechnen wir leicht aus: k k k sˆin i,k + WN (ηi βi αi µi ) X = sˆin (P (βi ) + kP (ηi αi µi ))(e)W (e) i,k + e∈Ei
= sˆin i,k +
X
(u(e) + k · a · usupp (e))W (e),
e∈Ei
gem¨ aß der Definition von βi und αi (= αi,a ), = (u + k · a · usupp )(iin ) +
X
(u(e) + k · a · usupp (e))W (e)
e∈Ei
= u(iin ) +
X
u(e)W (e) + k · a · (usupp (iin ) +
e∈Ei
usupp (e)W (e))
e∈Ei
= u(iout ) + k · a · usupp (iout ), =
X
gem¨ aß iii) f¨ ur u und usupp .
sˆout i,k
k k k Wir m¨ ussen jetzt noch sˆin ur k groß genug beweisen. Zuerst i,k [ηi βi αi µi >N f¨ zeigen wir: k sˆin ur jedes k ∈ N. (3.8) i,k [ηi >N f¨ k Zu zeigen gen¨ ugt: sˆin i,k ≥ HN (ηi ) (≤ k · HN (ηi )). ηi
ηi
in k 1. Fall. sin →Ki si −→Ki si gilt auch sin i (p) ∈ N. Wegen si − i (p) ≥ HN (ηi )(p). in in k Das heißt, sˆi,k (p) = si (p) ≥ HN (ηi )(p). in 2. Fall. sin ˆin i (p) = ω. Es gilt mit (3.4) s i,k (p) = (u + k · a · usupp )(i (p)) ≥ k in HN (ηi )(p) und mit (3.2) sˆin i,k (p) + WN (ηi )(p) = (u + k · a · usupp )(i (p)) + k in k WN (ηi )(p) ≥ k(a · usupp (i (p)) + WN (ηi )(p)) ≥ k, mit HN (ηi ) ≥ −WN (ηik ) k k k folgt damit sˆin i,k (p) ≥ k − WN (ηi )(p) ≥ k + HN (ηi )(p) ≥ HN (ηi )(p).
88
3 Das Erreichbarkeitsproblem
Analog folgt aus (3.3) und (3.5) rev k sˆout ur jedes k ∈ N. i,k [(µi ) >N rev f¨ ηk
(3.9)
µk
i i Mit Lemma 35 gilt auch si −→ −→ Ki si − Ki si . Da βi und αi Kreise in Ki von
η k βi αk µk
i i i si nach si sind, gilt insbesondere si −− −−− −→Ki si , und mit Lemma 20 dann auch si [ηik βi αik µki>N si .
k Wir zeigen als n¨ achstes sˆin ur k groß genug: F¨ ur si (p) = ω gilt i,k [ηi βi αi>N f¨ nach (3.2) f¨ ur k groß genug (ˆ sin + k · W (η ))(p) ≥ k ≥ H ur N i N (βi αi )(p). F¨ i,k si (p) ∈ N gilt (ˆ sin + k · W (η ))(p) = (s + k · W (η ))(p) ≥ H (β α )(p), da N i i N i N i i i,k si + k · WN (ηi ) [βi αi>N . Das heißt, sˆin i,k + k · WN (ηi ) [βi αi>N , also mit (3.8) k auch sˆin ur k groß genug. i,k [ηi βi αi>N , f¨ rev k rev Genauso sieht man, dass sˆout ur k groß genug gilt. Aus i,k [(µi ) αi >N rev f¨ out rev k rev out k rev k sˆi,k [(µi ) αi >N rev sˆi,k + WN rev ((µrev ) α ) = sˆout ˆin i i i,k − WN (µi αi ) = s i,k + k−1 k−1 k in k k out WN (ηi βi αi ) folgt sofort sˆi,k + WN (ηi βi αi ) [αi µi >N sˆi,k . k k Damit gilt also insbesondere sˆin ˆin i,k + WN (ηi βi ) [αi>N und s i,k + WN (ηi βi ) + k k WN (αik−1 ) [αi>N , also mit Lemma 4 auch sˆin i,k + WN (ηi βi ) [αi >N . Das heißt, in k k in k k out k sˆi,k [ηi βi αi >N , und damit auch sˆi,k [ηi βi αi >N sˆi,k − WN (µi ) [µki>ˆ sout ur k i,k f¨ groß genug.
Insgesamt haben wir damit f¨ ur gen¨ ugend große k gezeigt, dass sin ˆin 0 ≥ω s 0,k k k k k k k k k k [η0 β0 α0 µ0 >N s ˆout [t1>N s ˆin ˆout ˆin 0 1 . . . [tn>N s 1,k [η1 β1 α1 µ1 >N s n,k [ηn βn αn µn>N out k k k k k k sˆout osung von n,k ≤ω sn gilt, d.h. η0 β0 α0 µ0 t1 . . . tn ηn βn αn µn ist die gesuchte L¨ F. Beispiel 15. Zur perfekten Keim-Transition-Folge aus Beispiel 12 w¨ahlen wir die Doppelfolge (ηi , µi )0≤ile3 mit η0 = µ0 = t3 t3 t4 , η1 = µ1 = η2 = µ2 = µ3 = ε und η3 = t2 t2 t1 . Ermittelt man gem¨aß dem gerade abgeschlossenen Beweis die aj f¨ ur 1 ≤ j ≤ 6 und jeden der vier Keime, so erh¨alt man a1 = 2 f¨ ur Keim K0 , a1 = a3 = 1 f¨ ur Keim K3 , alle anderen aj sind jeweils Null. Damit ergibt sich a = 2 und man erh¨alt β0 = t3 t3 t4 , β1 = β2 = α0 = α1 = α2 = ε, β3 = t3 t3 t4 t2 t2 t1 und α3 = t3 t3 t4 . Laut Beweis zum Pumping-Lemma muss man nun k so w¨ahlen, dass jeweils k ≥ HN (βi αi )(p) und k ≥ HN rev (αirev )(p) f¨ ur alle Stellen p mit si (p) = ω in jedem Keim i gilt. Da nur s3 (p2 ) = ω gilt und man auf dieser Stelle zwei Token ben¨ otigt, um β3 α3 oder α3rev (in N rev ) zu feuern, gen¨ ugt es k = 2 zu w¨ ahlen. Damit ist σ := η02 β0 α02 µ20 η12 β1 α12 µ21 η22 β2 α22 µ22 η32 β3 α32 µ23 = (t3 t3 t4 )5 (t2 t2 t1 )2 t3 t3 t4 t2 t2 t1 (t3 t3 t4 )2 eine m¨ ogliche Feuersequenz mit sin 0 ≥ω in T T out out sˆ0 = (0, 2, 0) [σ>(0, 5, 0) = sˆ3 ≤ω s3 .
3.4 Dekomposition in perfekte Keim-Transition-Folgen
89
3.4 Dekomposition in perfekte Keim-Transition-Folgen Wir zeigen jetzt, wie man eine beliebige markierte Keim-Transition-Folge F in eine endliche, konstruierbare Menge von perfekten Keim-Transition-Folgen M zerlegen kann, so dass ein σ genau dann eine L¨osung von F ist, falls es auch L¨ osung einer perfekten Keim-Transition-Folge in M ist. Da wir das Keim-Transition-Problem f¨ ur perfekte Keim-Transition-Folgen bereits gel¨ost haben, ist damit auch das allgemeine Keim-Transition-Problem gel¨ost. Definition 53 (Dekomposition). Die Mengen der ω-Vorkommen eines Keimes K f¨ ur Start s, Input sin und Output sout sind definiert durch ΩS (K) := {p | s(p) = ω}, ΩI (K) := {p | sin (p) = ω} und ΩO (K) := {p | sout (p) = ω}. Offenbar gilt ΩI (K) ⊆ ΩS (K) und ΩO (K) ⊆ ΩS (K). Die Mengen der ω-Vorkommen einer Keim-Transition-Folge F =SK0 t1 K1 . . . Sn n tn Kn sind definiert durch Ω (F) := Ω (K ), Ω (F) := S S i I i=0 i=0 ΩI (Ki ) Sn und ΩO (F) := i=0 ΩO (Ki ). Ein Keim K1 = (V1 , E1 , T1 ) heißt einfacher als ein Keim K2 = (V2 , E2 , T2 ), falls gilt ΩS (K1 ) ⊆ / ΩS (K2 ) oder ΩS (K1 ) = ΩS (K2 ) ∧ |E1 | < |E2 | oder ΩS (K1 ) = ΩS (K2 ) ∧ |E1 | = |E2 | ∧ ΩI (K1 ) ⊆ / ΩI (K2 ) oder ΩS (K1 ) = ΩS (K2 ) ∧ |E1 | = |E2 | ∧ ΩI (K1 ) = ΩI (K2 ) ∧ ΩO (K1 ) ⊆ / ΩO (K2 ). Eine markierte Keim-Transition-Folge F = K0 t1 . . . tn Kn heißt einfacher als ein Keim K, falls jeder Keim Ki in F einfacher als K ist. Eine Keim-Transition-Folge F0 heißt einfacher als eine Keim-TransitionFolge F, falls F0 aus F durch Ersetzen von Keimen durch einfachere KeimTransition-Folgen entsteht. Wir sagen, dass eine Menge M2 von Keim-Transition-Folgen aus einer endlichen Menge M1 von Keim-Transition-Folgen durch Dekomposition entsteht, falls M2 nach folgendem Schema gewonnen wird: M2 := M1 ; 1: w¨ ahle ein F = K0 t1 . . . tn Kn aus M2 : w¨ ahle ein Ki aus F: w¨ ahle eine endliche Menge M von Keim-Transition-Folgen, die alle einfacher sind als Ki : f¨ ur alle G in M:
90
3 Das Erreichbarkeitsproblem
FG entstehe aus F durch Ersetzen von Ki in F durch G; M2 := M2 ∪ {FG } M2 := M2 − {F} 2: gehe zur¨ uck zu 1. oder halte. In solch einem Dekompositionsschema wird M2 im Allgemeinen in der Gr¨oße explodieren. Jedoch wird in jedem Schritt nur jeweils ein einzelner Keim durch eine endliche Menge einfacherer Keim-Transition-Folgen ersetzt, daher terminiert jedes Dekompositionsschema schließlich mit einer endlichen Menge M2 . Wir werden jetzt eine solche Dekompositionstechnik auf eine nicht-perfekte Keim-Transition-Folge F ansetzen (M1 = {F} gilt hier). Ferner werden wir in jedem F0 aus M2 ein Ki nur durch solch eine Menge M von Keim-TransitionFolgen ersetzen, dass gelten wird: σ ist L¨osung von F0 ⇐⇒ ∃G ∈ M : σ ist L¨osung von F0G . Damit gilt insbesondere f¨ ur das Resultat M2 dieser Dekomposition von M1 = {F} aus, dass σ eine L¨ osung von F ist, genau dann, wenn ein F+ in M2 existiert, so dass σ L¨ osung von F+ ist. Satz 12 (Dekompositionstheorem). Sei F eine markierte Keim-Transition-Folge. Dann existiert zu F eine endliche, konstruierbare Menge MF von perfekten Keim-Transition-Folgen mit σ ist L¨ osung von F ⇐⇒ ∃G ∈ MF : σ ist L¨ osung von G. Beweis. Ist F perfekt, so sind wir bereits fertig. Wir werden nun zeigen, wie wir zu jedem nicht-perfekten F eine endliche, konstruierbare Menge M von einfacheren Keim-Transition-Folgen finden, die im Sinne des letzten Absatzes beim Ersetzen eines Ki von F den L¨osungsraum nicht ver¨ andert. Da also f¨ ur nicht-perfekte Keim-Transition-Folgen stets eine weitere Dekomposition m¨ oglich sein wird, das gesamte Dekompositionsverfahren aber terminiert, muss es mit einer endlichen Menge MF von perfekten Keim-Transition-Folgen terminieren, f¨ ur die gilt: σ ist L¨ osung von F ⇐⇒ ∃G ∈ MF : G ist perfekt und σ L¨osung von G. Es sei F = K0 t1 K1 . . . tn Kn eine Keim-Transition-Folge von N mit der Charakteristischen Gleichung Ax = b. Ist F nicht perfekt, so gibt es f¨ unf m¨ogliche Gr¨ unde daf¨ ur: In einem Keim Ki kommt in sin ein ω vor, ohne dass die enti sprechende Variable zum Support geh¨ ort; analog auch f¨ ur sout ; eine zu einer i
3.4 Dekomposition in perfekte Keim-Transition-Folgen
91
Kante geh¨ orende Variable geh¨ ort nicht zum Support; si ist nicht das Maxi¨ mum im gesteuerten Uberdeckungsgraphen Ci von sin i (vgl. Definition 52); ¨ si ist nicht das Maximum im gesteuerten Uberdeckungsgraphen Ci0 von sout i . F¨ ur jeden dieser f¨ unf Fehlerf¨ alle“ zeigen wir, wie man ihn behebt. ” in Fall 1: ∃i ∈ {0, . . . , n} ∃p ∈ P : (sin / supp A). i (p) = ω ∧ i (p) ∈ E∪I∪O Nun ist SA,b = {πsupp A (x) | x ∈ N ∧ Ax = b} laut Satz 6 endlich und konstruierbar.
Es sei SA,b = {x1 , . . . , xt }. F¨ ur 1 ≤ τ ≤ t entstehe Ki,τ aus Ki , indem wir in in sin den Wert s (p) = ω durch xτ (iin (p)) ∈ N ersetzen. Fτ entstehe aus F, i i indem wir Ki in F durch Ki,τ ersetzen. Damit ist Fτ einfacher als F und es gilt: σ ∈ T ∗ ist L¨ osung von F ⇐⇒ ∃τ ∈ {1, . . . , t}: σ ∈ T ∗ ist L¨osung von Fτ . Letzteres ist offensichtlich, da f¨ ur jede L¨ osung σ = σ0 t1 σ1 t2 . . . tn σn von F in mit der zu σ assoziierten L¨ osung uσ von Ax = b gilt, dass sˆin i (p) = uσ (i (p)) in in ist. Also kommt f¨ ur sˆi (p) nur einer der Werte xτ (i (p)) f¨ ur 1 ≤ τ ≤ t in Frage. Ist umgekehrt στ eine L¨ osung von Fτ , so ist στ bereits eine L¨osung von F, da in F ja wegen sin ur sin i (p) = ω nichts f¨ i (p) gefordert wird. out Fall 2: ∃i ∈ {1, . . . , n} ∃p ∈ P : (sout (p) ∈ / supp A). i (p) = ω ∧ i Dies wird ganz analog zu Fall 1 behandelt. Man ersetze in Fall 1 stets sin i durch sout und argumentiert dann genauso. i
Fall 3: ∃i ∈ {0, . . . , n} ∃ˆ e ∈ Ei : eˆ ∈ / supp A. Sei σ eine L¨ osung von F mit assoziierter L¨ osung uσ von Ax = b. Damit durchl¨ auft σ die Kante eˆ genau uσ (ˆ e)-mal. Es ist SA,b (ˆ e) = {x(ˆ e) | x ∈ NE∪I∪O ∧ Ax = b} eine endliche, konstruierbare Menge {m1 , . . . , mt }. σ muss also eˆ mi -mal durchlaufen f¨ ur ein i mit 1 ≤ i ≤ t. b eˆ von markierten KeimWir werden jetzt zu Ki eine endliche Menge K Transition-Folgen konstruieren mit • σ ist L¨ osung von Ki (d.h. ∃ˆ sin ∈ NP : sˆin ≤ω sin ˆin ˆin i i i und s i [σ>N s i + σ out e ˆ b : σ ist L¨osung von G. WN (σ) ≤ω si und si − →Ki si gilt) ⇐⇒ ∃G ∈ K b eˆ ist einfacher als Ki . • Jedes G in K Als erstes wollen wir zeigen, dass jeder Weg in Ki von s0 nach s00 , der die Kante eˆ nicht benutzt, bereits Weg in einer endlichen Menge von einfacheren Keim-Transition-Folgen ist. Diese werden aus allen einfachen Wegen von s0 nach s00 ohne eˆ aufgespannt. F¨ ur s0 , s00 ∈ Vi sei EWKi (s0 , s00 ) := { ∈ Ti∗ | ist 0 einfacher Weg in Ki von s nach s00 }. Einfache Wege sind nach Definition 36
92
3 Das Erreichbarkeitsproblem
gerade kreisfreie, gerichtete Wege. Es sei = (s0 , t1 , s1 )(s1 , t2 , s2 ) . . . (s`−1 , t` , s00 ) ein einfacher Weg der L¨ ange ` von s0 nach s00 , in dem die Kante eˆ nicht benutzt wird. Da Ki als Keim lokal determiniert ist, wird schon durch seinen Startzustand s0 und seine Beschriftung t1 . . . t` eindeutig bestimmt. Wir identifizieren daher auch mit t1 . . . t` , falls s0 bekannt ist. Wir ordnen die Keim-Transition-Folge Geˆ := Kseˆ0 t1 Kseˆ1 t2 . . . t` Kseˆ00 zu. Hierbei ist Kseˆ die strenge Zusammenhangskomponente von dem Zustand s aus in Ki − {ˆ e}. Dabei soll Ki − {ˆ e} der Graph Ki ohne die Kante eˆ sein, was auch bedeutet, dass Kseˆ weniger Kanten als Ki besitzt (|EKseˆ | < |EKi |). Offensichtlich liegt jeder Weg in Ki von s0 nach s00 ohne eˆ-Kante in einem Geˆ, wobei ein einfacher Weg ohne eˆ-Kante ist. F¨ ur zwei Keim-Transition-Folgen Gi = K0i ti1 K1i ti2 . . . ti`i K`ii , i = 1, 2, und eine Transition t ist G1 tG2 die Keim-Transition-Folge G1 tG2 = K01 t11 . . . t1`1 K`11 tK02 t21 . . . t2`2 K`22 . Analog sei f¨ ur Mengen Mi , i = 1, 2, von Keim-Transition-Folgen M1 tM2 die Menge M1 tM2 := {G1 tG2 | G1 ∈ M1 ∧ G2 ∈ M2 }. F¨ ur jedes Paar s0 , s00 ∈ Vi ist die endliche Menge Kseˆ0 ,s00 = {Geˆ | ∈ EWKi (s0 , s00 ) und eˆ kommt in nicht vor} konstruierbar, denn Ki ist als Keim ein endlicher Graph mit endlichem und konstruierbarem EWKi (s0 , s00 ) f¨ ur alle s0 , s00 ∈ Vi . Es sei eˆ in Ki eine Kante von einem Knoten seˆ zu einem Knoten eˆ s0eˆ. F¨ ur m ∈ N setzen wir K0eˆ := Kseˆi ,si und Km+1 := Kseˆi ,seˆ (ˆ eKseˆ0 ,seˆ )m eˆKseˆ0 ,si . e ˆ
e ˆ
eˆ Jeder Weg von si nach si durch ein G ∈ Km benutzt damit eˆ genau m-mal und jeder Weg durch Ki , der eˆ m-mal benutzt, ist ein Weg von si nach si eˆ eˆ durch ein G ∈ Km . Ferner ist Km stets eine endliche, konstruierbare Menge von Keim-Transition-Folgen. Wir setzen nun [ eˆ Keˆ := Km . m∈SA,b (ˆ e)
Damit ist ebenso Keˆ eine endliche, konstruierbare Menge von Keim-Transition-Folgen, allerdings unmarkierten. + + eˆ Sei G = K0+ t+ ussen G nun noch markieren. Das 1 . . . t` K` aus K . Wir m¨ + geschieht wie folgt: Es seien si,j := si + WN (t+ ur 0 ≤ j ≤ `. Von zwei 1 . . . tj ) f¨ Ausnahmen abgesehen annotieren wir jeden Keim Kj+ mit Start, Input und Output si,j . Den Input von K0+ setzen wir stattdessen auf sin i , den Output von K`+ auf sout i . Offensichtlich gilt ΩS (G) = ΩS (Ki ), da alle si,j die gleichen ω-Koordinaten wie si besitzen. Da alle Keime Kj+ die Gestalt eines Kseˆ (mit
3.4 Dekomposition in perfekte Keim-Transition-Folgen
93
geeignetem s) besitzen, und |EKseˆ | < |EKi | gilt, sind alle Keim-TransitionFolgen aus Keˆ einfacher als Ki . Was haben wir damit erreicht? σ ist eine L¨ osung von Ki genau dann, wenn sˆin ˆout ∈ NP existieren mit i ,s i sin ˆin ˆout ≤ω sout i ≥ω s i [σ>N s i i . Damit beschreibt σ auch einen Weg in Ki von si nach si . Dieser Weg kann eˆ genau m-mal durchlaufen, f¨ ur ein m ∈ SA,b (ˆ e). Damit ist σ ein Weg in einer eˆ Keim-Transition-Folge G in Km , wobei G die Form G1 eˆG2 eˆ . . . eˆGm+1 besitzt. Da σ als Weg in Ki zwischen zwei Kanten eˆ beliebige Kreise durchlaufen kann, werden diese Kreise als Wege in einer Keim-Transition-Folge G` aufgefasst, wobei G` = G1` t1` G2` t2` . . . tr` Gr+1 von einem einfachen Weg t1` . . . tr` von s0eˆ nach ` seˆ aufgespannt wird. Jeden Keim Gj` haben wir nun mit den Zust¨anden, den der kreisfreie“ Anteil von σ (d.h. ohne Durchlaufen der Keime Gj` , nur u ¨ber ” t11 . . . tr11 t12 . . . t`j ) gerade erreichen muss, annotiert. Also gilt: σ ist L¨ osung in Ki ⇐⇒ ∃G ∈ Keˆ : σ ist L¨osung in G. F¨ ur G aus Keˆ definieren wir FG , indem wir Ki in F durch G ersetzen. Damit ist σ eine L¨ osung f¨ ur F genau dann, wenn ein G aus Keˆ existiert, so dass σ eine L¨ osung von FG ist. Fall 4: ∃i ∈ {0, . . . , n}: si 6= maxCi sin i . Mit Korollar 4 gilt maxCi sin ≤ si . Wegen maxCi sin 6= si muss also ω i i in maxCi si <ω si gelten. Damit besitzt maxCi sin weniger ω-Koordinaten als i si , ist also spezifizierter. Es sei EWCi (s0 , s00 ) die Menge aller einfachen Wege in Ci von s0 nach s00 . + + Wir betrachten hier nur EWCi (sin ur s+ ∈ Nω P mit sin (≤ω i , s ) f¨ i ≤ω s in in + maxCi si ), Es sei solch ein einfacher Weg von si nach s ≤ω maxCi sin i + mit = (s0 , t1 , s1 )(s1 , t2 , s2 ) . . . (s`−1 , t` , s` ) mit s0 = sin i , s` = s . Es sei Kszsh die strenge Zusammenhangskomponente von sj in Ci . Wir ordnen die j Keim-Transition-Folge G := Kszsh t1 Kszsh t2 . . . t` Kszsh zu. 0 1 ` + Jeder Weg in Ci von sin ist damit ein Weg durch ein G f¨ ur ∈ i nach s in + EWCi (si , s ).
Ist σ ein Weg in Ki von si nach si , der auch im Petri-Netz N von sin i aus + feuerbar ist, so ist σ auch ein Weg in Ci von sin zu solch einem s mit i in + in si ≤ω s ≤ω maxCi si , da Ci ja durch Steuerung mittels (Ki , si ) entsteht. L¨ osungen von Ki sind genau die Wege σ in Ki von si nach si , die in N von P in 0 einem sˆin mit sˆin i ∈ N i ≤ω si aus feuerbar sind und in einen Zustand s
94
3 Das Erreichbarkeitsproblem
mit s0 ≤ω sout (≤ω si ) f¨ uhren. Es sei i + c := {G | ∃s+ : s+ ≤ω max C sin M ∧ ∈ EWCi (sin i , s )} i i
c mit Kj := K zsh Sei G = K0 t1 K1 . . . t` K` eine Keim-Transition-Folge in M sj + f¨ ur ein = (sin ussen G markieren. F¨ ur K0 i , t0 , s1 ) . . . (s` , t` , s ). Wir m¨ w¨ ahlen wir sin ande in Ci i als Input, Start und Output. Seien si,j die Zust¨ t1 ...tj
mit sin −−−−→Ci si,j f¨ ur 0 ≤ j ≤ `. Insbesondere gilt si,0 = sin und i i si,` = s+ <ω si . Jedem Kj mit 0 < j < ` ordnen wir si,j als Start, Input und Output zu. K` erh¨ alt si,` (= s+ ) als Start und Input. sout k¨onnen i + wir aber nicht mehr so einfach als Output f¨ ur K` w¨ahlen, da sout ≤ s nicht ω i + sichergestellt ist. Wir wissen nur sout ≤ s und s < s . Also w¨ a hlen wir ω i ω i i out + als Output von K` den Zustand min(s , s ) mit i out si (p), falls sout i (p) 6= ω, + + s+ (p), falls sout min(sout i (p) = ω ∧ s (p) 6= ω, i , s )(p) := ω, sonst. in + in Wegen si ≤ω s ≤ω maxCi si <ω si besitzen alle Keime der konstruierten Keim-Transition-Folge einen Startzustand mit weniger ω-Koordinaten als Ki , sind also einfacher als Ki . Es gilt: c : σ ist L¨osung von G. σ ist L¨osung von Ki ⇐⇒ ∃G ∈ M c ist offensichtlich endlich. Damit setzen wir M := {FG | G ∈ M}, c wobei FG M aus F durch Ersetzen von Ki durch G entsteht, und wir haben eine endliche Menge M konstruiert mit • σ ist L¨ osung von F ⇐⇒ ∃F0 ∈ M: σ ist L¨osung von F0 . • Jedes F0 ∈ M ist einfacher als F.
Fall 5: ∃i ∈ {0, . . . , n}: si 6= maxCi0 sout i . rev Dies wird aus Symmetriegr¨ unden (von N , sin , sout ollig i , si zu N i , si ) v¨ analog zu Fall 4 behandelt. Weitere M¨ oglichkeiten f¨ ur eine Keim-Transition-Folge, nicht perfekt zu sein, existieren gem¨ aß Definition der Perfektheit nicht. Da wir immer nur Keime durch einfachere Keime oder einfachere Keim-Transition-Folgen ersetzen, bricht das Verfahren irgendwann ab, und wir erhalten eine endliche Menge von perfekten Keim-Transition-Folgen. Satz 12 reduziert also das Keim-Transition-Problem auf perfekte Keim-Tran¨ sition-Folgen. Satz 10 zeigt die Aquivalenz der L¨osbarkeit perfekter KeimTransition-Folgen zur L¨ osbarkeit von Gleichungssystemen Ax = b u ¨ber N, eine entscheidbare Frage nach Korollar 5. Damit ist die Entscheidbarkeit des
3.4 Dekomposition in perfekte Keim-Transition-Folgen
95
Keim-Transition-Problems und mit Lemma 34 auch des Erreichbarkeitsproblems f¨ ur Petri Netze gezeigt.
Kapitel 4
Elementare Markierungsprobleme
Wir untersuchen jetzt einige Fragestellungen, die sich auf eine oder mehrere Markierungen eines Petri Netzes beziehen. Solche Fragen sind typischerweise eng mit dem Erreichbarkeitsproblem verwandt und lassen sich meist dadurch l¨ osen, dass man den Algorithmus zur L¨ osung des Erreichbarkeitsproblems mehr oder minder geringf¨ ugig modifiziert.
4.1 Erreichbarkeit linearer Mengen Schon Hack hat in [Hac76b] gezeigt, dass man f¨ ur jede lineare oder semilineare Teilmenge des Zustandsraums u ¨ber einem Petri Netz N entscheiden kann, ob ein Zustand aus dieser Menge erreichbar ist. Mit einer etwas anderen Konstruktion kann man allerdings sogar vom Startzustand des Petri Netzes N abstrahieren und diesen ebenfalls durch eine lineare oder semi-lineare Teilmenge des Gesamtzustandsraums ersetzen. Satz 13 (Erreichbarkeit in linearen Mengen). Seien N = (P, T, F ) ein Petri Netz, m, n ∈ N und b1 , x11 , . . . , x1m , b2 , x21 . . . , x2n ∈ NP . Dann ist P, m es Pnentscheidbar, ob es Markierungen s1 = b1 + i=1 ki x1i und s2 = b2 +∗ j=1 `j x2j (mit k1 , . . . , km , `1 , . . . , `n ∈ N) und eine Feuersequenz σ ∈ T gibt, so dass s1 [σ>N s2 gilt. Beweis. Man f¨ uge dem Petri Netz N drei neue Stellen hinzu, eine Stelle p1 zur Erzeugung eines Startzustands von N aus der linearen Menge S1 = {b1 + Pm k x | m, k1 , . . . , km ∈ N}, eine Stelle run, die mit jeder Transition aus i=1 i 1i N durch eine Schlinge verbunden ist, sowie eine PnStelle p2 zum L¨oschen eines Zustands aus der linearen Menge S2 = {b2 + j=1 `j x2j | n, `1 , . . . , `n ∈ N}, 97
98
4 Elementare Markierungsprobleme
vgl. Abb. 4.1. Im Startzustand des neu konstruierten Netzes befindet sich ein Token auf p1 , ansonsten ist das Netz leer. Zu jedem der Vektoren x1i (1 ≤ i ≤ m) existiert eine Transition t1i , die die Tokenbilanz des Gesamtnetzes genau um den Vektor x1i erh¨ oht. Diese Transitionen k¨onnen nur feuern, solange ein Token auf p1 liegt. Die Transition t1b erh¨oht die Gesamttokenbilanz noch einmal um den Vektor b1 , so dass N nun gem¨aß einem Element aus S1 markiert ist. Gleichzeitig wird der Token von p1 entfernt (was ein weiteres Feuern einer Transition t1i verhindert) und ein Token auf run gelegt. Damit k¨ onnen nun die Transitionen aus N feuern. Genau dann, wenn in N ein Zustand aus S2 erreicht wird, kann man mit Hilfe der Transition t2b und der Transitionen t2j (1 ≤ j ≤ n) das Netz N komplett leeren, so dass schließlich nur genau ein Token auf p2 liegen bleibt. Diesen Zustand definieren wir als den gew¨ unschten Zielzustand f¨ ur unser Netz. Man kann also in N von einem Zustand s1 ∈ S1 einen Zustand s2 ∈ S2 genau dann erreichen, wenn man in dem gem¨ aß Abb. 4.1 konstruierten Netz vom Zustand s01 mit s01 (p1 ) = 1 und s01 (p) = 0 sonst den Zustand s02 mit s02 (p2 ) = 1 und s02 (p) = 0 sonst erreichen kann. Dies ist aber mit dem Algorithmus zum Erreichbarkeitsproblem entscheidbar. '
$
N
& x1i
%
...
b1
b2
x2j
? 6t1i ? s p1
6t2j -
t1b
run
?
? -
t2b
p2
Abb. 4.1 P Schematische Konstruktion zum Erreichbarkeitstest von der linearen MenPn m ge {b1 + i=1 ki x1i | m, k1 , . . . , km ∈ N} zur linearen Menge {b2 + j=1 `j x2j | n, `1 , . . . , `n ∈ N} im Netz N . Die run-Stelle ist mit jeder Transition aus N durch eine Schlinge verbunden; im Endzustand ist das Netz leer bis auf einen Token auf p2
Da jede semi-lineare Menge nur die endliche Vereinigung von linearen Mengen ist, kann man diesen Satz trivial auf semi-lineare Mengen fortsetzen.
4.1 Erreichbarkeit linearer Mengen
99
Korollar 7. Seien N = (P, T, F ) ein Petri Netz und S1 , S2 ⊆ NP semilineare Mengen. Dann ist entscheidbar, ob Zust¨ ande s1 ∈ S1 und s2 ∈ S2 sowie eine Feuersequenz σ ∈ T ∗ mit s1 [σ>N s2 existieren. Damit sind einige bekannte Fragestellungen u ¨ber Petri Netze leicht zu entscheiden. Definition 54. Das partielle Erreichbarkeitsproblem pEP ist die Menge pEP = {(N, s1 , s2 ) | N = (P, T, F ) ist ein Petri-Netz ∧ ∃P1 , P2 ⊆ P : s1 ∈ NP1 ∧ s2 ∈ NP2 ∧ ∃σ ∈ T ∗ , s01 , s02 ∈ NP : s01 [σ>N s02 ∧ s1 = πP1 (s01 ) ∧ s2 = πP2 (s02 )}. ¨ ist die Menge ¨ Das Uberdeckungsproblem UP ¨ = {(N, s, s0 ) | N = (P, T, F ) ist ein Petri-Netz UP ∧ ∃s00 ∈ E(s) : s00 ≥ s0 }. Das Deadlockproblem DP ist die Menge DP = {(N, s) | N = (P, T, F ) ist ein Petri-Netz ∧ ∃s0 ∈ E(s)∀t ∈ T : ¬(s0 [t>)}. Das Persistenzproblem PP ist die Menge PP = {(N, s) | N = (P, T, F ) ist ein Petri-Netz ∧ ∀s0 ∈ E(s)∀t, t0 ∈ T : (t 6= t0 ∧ s0 [t> ∧ s0 [t0>) ⇒ s0 [tt0>}. ¨ DP und PP sind entscheidbar. Satz 14. pEP, UP, Beweis. pEP: Sei N = (P, T, F ) ein Petri Netz. Die Menge aller Zust¨ande s01 ∈ NP , die auf einer gegebenen Teilmenge von Stellen P1 ⊆ P mit einem partiellen Zustand s1 ∈ NP1 u ¨bereinstimmen, l¨asst sich offensichtlich durch P|P \P1 | die lineare Menge {˜ s1 + i=1 ki ei | k1 , . . . , k|P \P1 | ∈ N} beschreiben, wobei s˜1 der Zustand mit s˜1 (p) = s1 (p) f¨ ur p ∈ P1 und s˜1 (p) = 0 f¨ ur p ∈ P \P1 ist und die ei die Einheitsvektoren in NP mit ei (p) = 1 f¨ ur ein p ∈ P \P1 sind. Damit l¨ asst sich pEP auf das Erreichbarkeitsproblem auf linearen Mengen reduzieren.
100
4 Elementare Markierungsprobleme
¨ F¨ UP: ur einen Zustand s00 gilt genau dann s00 ≥ s0 , wenn s00 ∈ S = {s0 + P|P | P sind. i=1 ki ei | k1 , . . . , k|P | ∈ N} gilt, wobei ei die Einheitsvektoren in N 0 ¨ Damit ist das Uberdeckungsproblem (N, s, s ) ¨aquivalent zu der Frage, ob ein Element der linearen Menge S von s aus erreichbar ist. DP: Sei N = (P, T, F ) ein Petri Netz. Zu jeder Transition t ∈ T beschreibt jeder verallgemeinerte Zustand s mit s(p) < F (p, t) f¨ ur ein p ∈ P und s(p0 ) = ω f¨ ur p0 6= p eine Menge von Zust¨ anden, unter denen t nicht feuern kann. Dabei steht ω inhaltlich f¨ ur eine beliebige Tokenzahl. Die Menge aller verallgemeinerten Zust¨ ande s mit s(p) < F (p, t) f¨ ur ein p und s(p0 ) = ω 0 f¨ ur p 6= p beschreibt die Menge aller Zust¨ ande, unter denen t nicht feuern kann. Diese Menge ist endlich und heiße Dt . W¨ahlt man f¨ ur alle t0 ∈ T jeweils ein Element dt0 ∈ Dt0 , so beschreibt das komponentenweise Minimum dieser Elemente gerade eine Menge von Zust¨anden, unter denen keine Transition feuern kann. Dieses Minimum ist ein verallgemeinerter Zustand d (mit d(p) = mint0 ∈T 0 d0t (p)) und beschreibt daher eine lineare Menge. Die Menge aller auf diese Weise bildbaren Minima ist endlich (wegen der Endlichkeit der Dt0 ) und damit – als endliche Vereinigung von linearen Mengen – eine semi-lineare Menge. Die Menge aller Deadlocks ist also semi-linear und damit ist die Erreichbarkeit eines Deadlocks entscheidbar. PP: Sei N = (P, T, F ) ein Petri Netz und s ∈ NP ein Zustand. Wir entscheiden nun die Mitgliedschaft von (N, s) im Komplement von PP (und damit auch f¨ ur PP). Es gilt (N, s) ∈ / PP, wenn wir einen erreichbaren Zustand s0 und zwei verschiedene Transitionen t, t0 finden mit s0 [t>, s0 [t0> und ¬(s0 [tt0>). Letzteres ist genau dann der Fall, wenn es eine Stelle p ∈ • t ∩ • t0 gibt, f¨ ur die s0 (p) < F (p, t)−F (t, p)+F (p, t0 ) gilt. Wir konstruieren nun Zust¨ande bi ∈ NP f¨ ur max{F (p, t), F (p, t0 )} ≤ i < F (p, t) − F (t, p) + F (p, t0 ) mit bi (p) = i und bi (p0 ) = max{F (p0 , t), F (p0 , t0 )} f¨ ur p0 6= p. Das Maximum bestimmt hier gerade die mindestens n¨ otige Tokenzahl auf einer Stelle, die weder s0 [t> noch 0 0 s [t > verhindert. Jeder der Zust¨ ande bi soll als Basisvektor f¨ ur eine lineare Menge dienen, als Periodenvektoren w¨ ahlen wir xq ∈ NP f¨ ur q ∈ P \{p} mit 0 xq (q) = 1 und ur q 0 6= q. Damit beschreibt eine lineare Menge P xq (q ) = 0 f¨ Bi = {bi + q∈P \{p} kq xq | ∀q ∈ P \{p} : kq ∈ N} gerade die Menge aller Zust¨ ande, in denen auf allen Stellen genug Token liegen, um t oder t0 zu feuern, aber auf p nur i Token liegen und somit zu wenig, um tt0 zu feuern. Die Erreichbarkeit einer solchen Menge Bi in (N, s) k¨onnen wir nun nach Satz 13 entscheiden. F¨ allt diese Entscheidung f¨ ur irgendein erlaubtes i positiv aus, so ist (N, s) bez¨ uglich der Transitionen t und t0 nicht persistent und liegt nicht in PP. Wir m¨ ussen diesen Test nun lediglich f¨ ur jedes m¨ogliche Paar (t, t0 ) von verschiedenen Transitionen aus N durchf¨ uhren. Da es nur |T | ·(|T | −1) solche Paare gibt, l¨ asst sich die Mitgliedschaft in PP in endlicher Zeit entscheiden. ¨ ¨ Anmerkung 2. Das Uberdeckungsproblem l¨ asst sich auch direkt am Uberdeckungsgraphen l¨ osen, indem man einfach f¨ ur jeden Knoten pr¨ uft, ob er
4.1 Erreichbarkeit linearer Mengen
101
¨ gr¨ oßer oder gleich dem gesuchten Knoten ist. Da die Gr¨oße eines Uberdeckungsgraphen nicht von der Gr¨ oße des zugrunde liegenden Netzes abh¨angt, sondern beliebig groß werden kann, ist jedoch u ¨berhaupt nicht klar, ob diese Vorgehensweise tats¨ achlich einfacher als das L¨osen eines Erreichbarkeitsproblems ist. Instanzen des Erreichbarkeitsproblems, bei denen die Anforderungen an die Start- und Zielmarkierungen in Form zweier linearer Gleichungssysteme gegeben sind, lassen sich nat¨ urlich auch l¨ osen, da sie zwei lineare Mengen beschreiben. Etwas anders ist die Lage, wenn die Anforderungen an Start- und Zielmarkierung in einem linearen Gleichungssystem gegeben sind, d.h., wenn Gleichungen existieren, die sich gleichzeitig auf die Start- und die Zielmarkierung beziehen. F¨ ur diesen Fall m¨ ussen wir uns noch einmal mit dem Beweis zur Entscheidbarkeit des Erreichbarkeitsproblems auseinandersetzen; speziell m¨ ussen wir die Charakteristische Gleichung Ax = b aus diesem Beweis erneut betrachten. Definition 55 (Erweitertes Erreichbarkeitsproblem). Zu einem Petri Netz N mit Stellenmenge P sei VN := {si (p) | p ∈ P ∧ i ∈ {1, 2}} eine Menge von Variablen und GN die Menge aller linearen Gleichungen u ¨ber VN . Das erweiterte Erreichbarkeitsproblem sei die Menge EEP = {(N, G) | N ist ein Petri Netz ∧ G ⊆f in GN ∧ ∃s1 , s2 ∈ NP : s1 , s2 erf¨ ullen G ∧ ∃σ : s1 [σ>N s2 }. Eine endliche Menge G von Gleichungen betrachten wir als erf¨ ullt, wenn jede Gleichung in der Menge G erf¨ ullt ist. Satz 15. EEP ist entscheidbar. Beweis. Im Prinzip gehen wir wie bei der L¨ osung des Erreichbarkeitsproblems vor, mit einem Unterschied: Zu jeder Keim-Transition-Folge F, die im Verlaufe des Entscheidungsverfahrens auftritt, f¨ ugen wir ein lineares Gleichungssystem hinzu: Wir ersetzen dabei in jeder der Gleichungen aus G jede Variable s1 (p) durch x(0in (p)) und s2 (p) durch x(iout (p)) f¨ ur die Nummer i des letzten Keims Ki in der Keim-Transition-Folge F. Damit eine Feuersequenz eine L¨ osung von F ist, fordern wir, dass neben den u ¨blichen Anforderungen an eine L¨ osung auch dieses hinzugef¨ ugte lineare Gleichungssystem erf¨ ullt wird. Die simultane L¨ osbarkeit von F und den hinzugef¨ ugten Gleichungen zu pr¨ ufen, ist kein Problem: Die neuen Gleichungen besitzen nur Variablen, die auch
102
4 Elementare Markierungsprobleme
in der Charakteristischen Gleichung Ax = b (vgl. Definition 50) von F auftreten. F¨ ugt man die neuen Gleichungen der Charakteristischen Gleichung hinzu, so besitzt die so entstehende modifizierte Charakteristische Gleichung A0 x = b0 genau dann eine L¨ osung, wenn Ax = b und G simultan l¨osbar sind. Dabei kann es passieren, dass der Support von A und der Support von A0 verschieden sind (mit supp A0 ⊆ supp A), wodurch die Dekomposition (nach Satz 12) von F in perfekte Keim-Transition-Folgen je nach Wahl von G v¨ ollig verschieden verl¨ auft. An der Terminierung der Dekomposition ¨andert dies jedoch nichts, da die Charakteristische Gleichung bei der Dekomposition ansonsten nicht ben¨ otigt wird. Man kann also nach Erhalt der Menge perfekter Keim-Transition-Folgen weiter nach dem Verfahren aus dem Beweis zu Satz 11 vorgehen. Beobachtung 3. Man kann versuchen, auch nicht-lineare Gleichungssysteme als zus¨ atzliche Anforderungen an das Erreichbarkeitsproblem zu formulieren. Entscheidende Bedingung f¨ ur die L¨ osbarkeit eines solchen Problems ist die L¨ osbarkeit einer modifizierten Charakteristischen Gleichung in N. F¨ ur diese muss zumindest der Support und die endliche Teill¨osungsmenge SA,b berechnet werden k¨ onnen, denn der Support geht in die Perfektheitsbedingung nach Def. 52 ein, die u ufbar sein muss, und die Teill¨osung auf ¨berpr¨ dem Komplement des Supports ben¨ otigt man bei der Dekomposition nach Satz 12, wenn man Kopien von Keim-Transition-Folgen erstellen muss, in denen man einen ω-Wert durch die endlich vielen tats¨achlichen L¨osungswerte f¨ ur die betreffende Variable ersetzen muss. Lediglich die Existenz einer Support-L¨ osung, die in Satz 6 und Korollar 5 zus¨atzlich gefordert wird, ist nicht wirklich n¨otig. Existiert sie nicht, so kann man lediglich das PumpingLemma 11 nicht anwenden. Findet man eine L¨osung der modifizierten Charakteristischen Gleichung, so z¨ ahlt man stattdessen lediglich alle m¨oglichen Feuersequenzen rekursiv auf, bis man eine findet, die das gew¨ unschte modifizierte Erreichbarkeitsproblem l¨ ost. F¨ ur nicht-lineare Gleichungssysteme ist die Bestimmung des Supports und der Menge SA,b oft nicht m¨oglich; daher kann der Algorithmus f¨ ur das Erreichbarkeitsproblem dann nicht genutzt werden. Die Entscheidbarkeit solcher allgemeineren Probleme bleibt damit offen. Neben der Kopplung des Start- und Zielzustandes f¨ ur ein Erreichbarkeitsproblem mittels linearer Gleichungen ist es auch m¨oglich, mehrere Erreichbarkeitsprobleme zu koppeln. Will man feststellen, ob man z.B. in einem Petri Netz N von Zustand s1 in Zustand s2 und von dort in Zustand s3 gelangen kann, so muss man lediglich zwei verschiedene Erreichbarkeitsprobleme l¨osen, man muss n¨ amlich nur feststellen, ob (N, s1 , s2 ) ∈ EP und (N, s2 , s3 ) ∈ EP gilt. Sind die Zust¨ ande (insbesondere s2 ) nur partiell gegeben, d.h. sind s1 , s2 , s3 ∈ NP ahrleistet ist, dass ω , so funktioniert dies nicht, da nicht gew¨ in L¨ osungen der beiden Probleminstanzen die unspezifizierten Anteile von s2
4.1 Erreichbarkeit linearer Mengen
103
jeweils identisch gew¨ ahlt werden. Man kann solche Probleminstanzen aber leicht simultan l¨ osen. Satz 16 (Kopplung von Erreichbarkeitsproblemen). Sei N = (P , T , F ) ein Petri Netz und s1 , . . . , sk ∈ NP ω eine endliche Folge von partiell spezifizierten Zust¨ anden. Dann ist die Frage, ob σ1 , . . . , σk−1 ∈ T ∗ und s01 , . . . , s0k ∈ NP mit s0i ≤ω si f¨ ur 1 ≤ i ≤ k und s0i [σi>s0i+1 f¨ ur 1 ≤ i < k existieren, entscheidbar. Beweis. Wir f¨ ugen zum Petri Netz N eine neue Transition t mit leerem Vor- und Nachbereich hinzu. Dies bewirkt im Erreichbarkeitsgraphen an jedem Knoten eine neue, mit t beschriftete Schlinge, ¨andert jedoch sonst nichts an der Struktur des Graphen. Insbesondere sind nach wie vor dieselben Zust¨ ande erreichbar. Wir formulieren das zu untersuchende Erreichbarkeitsproblem nun als Keim-Transition-Problem mit der Keim-TransitionFolge K1 tK2 tK3 t . . . tKk−1 . Als Keim Ki w¨ ahlen wir jeweils den trivialen Keim K aus Abb. 3.1, der nur einen Knoten ω und f¨ ur jede Transition eine Schlinge an diesem Knoten enth¨ alt. Dazu w¨ahlen wir als Input sin i := si und als Output sout := s . Eine L¨ o sung dieses Keim-Transition-Problems, i+1 i also eine Feuersequenz, die die partiellen Zust¨ande s1 bis sk durchl¨auft, l¨ost damit auch das untersuchte Problem und umgekehrt. Die Konstruktion ist trivial durchf¨ uhrbar, daher haben wir das untersuchte Problem auf das KeimTransition-Problem reduziert und der Satz gilt. Man beachte, dass die Transition t lediglich als F¨ ullmasse dient, da man Keime nur u ¨ber Transitionen aneinanderkoppeln kann. Beobachtung 4. Die Ans¨ atze aus Satz 13, Satz 15 und Satz 16 lassen sich kombinieren. Im Prinzip ist dies offensichtlich, da die Ans¨atze jeweils orthogonal zueinander sind (Reduktion auf Netzen, Erweiterung der Charakteristischen Gleichung, Konstruktion einer Keim-Transition-Folge). Wir wollen diese Kombination einmal am Beispiel von Satz 13 mit Satz 16 zeigen. Nehmen wir an, zu einem Petri Netz N = (P, T, F ) sind drei lineare Mengen S1 , S2 , S3 ⊆ NP gegeben, und wir sollen die Frage beantworten, ob es Zust¨ ande si ∈ Si (mit 1 ≤ i ≤ 3) und Feuersequenzen σ1 , σ2 ∈ T ∗ mit s1 [σ1>s3 [σ2>s2 in N gibt. W¨ ahrend s1 ∈ S1 und s2 ∈ S2 mittels der Kon¨ struktion aus Abb. 4.1 garantiert werden kann, ist eine gesonderte Uberpr¨ ufung von s3 ∈ S3 auf Ebene der Petri Netze n¨otig. Dazu erweitern wir die Konstruktion aus Abb. 4.1 durch die in Abb. 4.2 gegebenen Elemente. Die Konstruktion erlaubt es, jederzeit Tokenzahlen gem¨aß einem der VektoPr ren b3 , x31 , . . ., x3r (wobei S3 = {b3 + i=1 qi x3i | r, q1 , . . . , qr ∈ N} ist) zu entnehmen. Dabei wird ein Token auf einer der Stellen pb3 , p31 , . . ., p3r gespeichert, um sich diese Entnahme zu merken und sp¨ater r¨ uckg¨angig machen zu k¨ onnen. Gem¨ aß Satz 16 konstruiert man nun eine Keim-Transition-Folge F = KtK mit dem trivialen Keim K aus Abb. 3.1 und der F¨ ulltransition
104
4 Elementare Markierungsprobleme
t. Input des ersten Keims ist s1 mit s1 (p1 ) = 1 und s1 (p) = 0 f¨ ur alle anderen Stellen p 6= p1 aus den Abb. 4.1 und 4.2, Output des zweiten Keims s2 mit s2 (p2 ) = 1 und analog s2 (p) = 0 f¨ ur p 6= p2 . Als Output des ersten wie auch Input des zweiten Keims w¨ ahlt man s3 mit s3 (run) = 1, s3 (pb3 ) = 1, s3 (p3i ) = ω f¨ ur 1 ≤ i ≤ r und s3 (p) = 0 sonst. Damit besitzt das zu F geh¨ orende Keim-Transition-Problem genau dann eine L¨osung, wenn man von S1 nach S2 gelangen kann, wobei man zwischendurch einen Zustand durchl¨auft, bei dem die Tokenzahl in N genau einem Element aus S3 entspricht. Diese Tokenzahlen sind zwar nur in pb3 , p31 , . . ., p3r repr¨asentiert, k¨ onnen aber jederzeit mittels der Transitionen aus Abb. 4.2 realisiert werden. Die Vorgabe s3 (pb3 ) = 1 sorgt daf¨ ur, dass der Vektor b3 dabei nur einmal eingesetzt werden kann. Da Keim-Transition-Probleme entscheidbar sind, ist auch die Frage, ob S2 von S1 u ¨ber S3 erreichbar ist, entscheidbar. '
$
N
I
& b3
% b3
x31
? 6
pb3
x31
? 6
x3r
...
x3r
? 6
p31
p3r
Abb. 4.2 Zusatzkonstruktion zu Abb. 4.1 f¨ ur den Test, ob eine lineare Menge S2 von einer linearen Menge S aus u ber den Umweg u ¨ ¨ber eine lineare Menge S3 = 1 P {b3 + ri=1 qi x3i | r, q1 , . . . , qr ∈ N} erreichbar ist
Beobachtung 5. Man kann das vorige Beispiel weiterspinnen und z.B. fragen, ob von der linearen Menge S1 die lineare Menge S2 erreichbar ist, wobei zwischenzeitlich aus jeder der beiden linearen Mengen S3 und S4 ein Zustand angenommen werden muss. Die Reihenfolge, in der die Zust¨ande aus S3 und S4 angenommen werden m¨ ussen, wird durch die gew¨ahlte Keim-TransitionFolge F = KtKtK festgelegt: W¨ ahlt man den Output des ersten und Input des zweiten Keims wie oben als s3 und den Output des zweiten und Input des dritten Keims als ein analoges s4 (f¨ ur S4 ), so muss zuerst ein Zustand
4.2 Reproduktion von Markierungen
105
aus S3 und erst dann einer aus S4 angenommen werden, um das Problem zu l¨ osen. W¨ ahlt man die Inputs und Outputs der Keime vertauscht, so muss eben erst ein Zustand aus S4 und erst dann ein Zustand aus S3 angenommen werden. Man kann hier auf eine vorgegebene Reihenfolge zwischen S3 und S4 verzichten, indem man das Keim-Transition-Problem einfach f¨ ur beide Keim-Transition-Folgen l¨ ost.
4.2 Reproduktion von Markierungen Schwieriger als das Erreichbarkeitsproblem ist die Frage, ob man entscheiden kann, ob Zust¨ ande reproduzierbar sind. Ein Zustand s ist dabei reproduzierbar, wenn eine nichtleere Feuersequenz σ mit s [σ>s existiert. Neben der Reproduzierbarkeit untersuchen wir auch, ob bestimmte Zust¨ande, genannt Home States, immer erreicht werden k¨ onnen, egal welche Transitionen man vorher feuert. Beide Eigenschaften bedeuten ein gewisses Wohlverhalten eines Netzes; reale Systeme, die sich wiederholende, aber je nach Eingabe immer etwas anders gestaltete Abl¨ aufe besitzen, haben typischerweise mindestens einen Home State, n¨ amlich den Zustand, in dem die Eingabe f¨ ur einen neuen Ablauf erfolgt. Definition 56 (Reproduktionsprobleme). Das zustandsfreie Reproduktionsproblem ZFRP ist die Menge ZFRP = {N | N = (P, T, F ) ist ein Petri-Netz ∧ ∃s ∈ NP ∃σ ∈ T + : s [σ>s}. Das spezielle Reproduktionsproblem SRP ist die Menge SRP = {(N, s) | N = (P, T, F ) ist ein Petri-Netz ∧ ∃σ ∈ T + : s [σ>s}. Das allgemeine Reproduktionsproblem ARP ist die Menge ARP = {(N, s) | N = (P, T, F ) ist ein Petri-Netz ∧ ∃s0 ∈ E(s)∃σ ∈ T + : s0 [σ>s0 }. Das Home State Problem HP ist die Menge HP = {(N, s, s0 ) | N = (P, T, F ) ist ein Petri-Netz ∧ ∀s00 ∈ E(s) : s0 ∈ E(s00 )}.
106
4 Elementare Markierungsprobleme
Das partielle Home State Problem pHP ist die Menge pHP = {(N, s, s0 , P 0 ) | N = (P, T, F ) ist ein Petri-Netz, P 0 ⊆ P ∧ ∀s00 ∈ E(s)∃s000 ∈ E(s00 ) : πP 0 (s000 ) = s0 }. Das allgemeine Home State Problem AHP ist die Menge AHP = {(N, s) | N = (P, T, F ) ist ein Petri-Netz ∧ ∃s0 ∈ NP ∀s00 ∈ E(s) : s0 ∈ E(s00 )}. Das partielle allgemeine Home State Problem pAHP ist die Menge pAHP = {(N, s˜, P 0 ) | N = (P, T, F ) ist ein Petri-Netz, P 0 ⊆ P, s˜ ∈ NP
0
0
∧ ∃˜ s0 ∈ NP ∃s ∈ NP ∀s00 ∈ E(s) ∃s0 ∈ E(s00 ) : πP 0 (s0 ) = s˜0 ∧ πP 0 (s) = s˜}.
Wir beginnen mit dem einfachsten Problem. Satz 17. ZFRP ist entscheidbar. Beweis. Ist σ eine in N unter einem Zustand s feuerbare ur P Sequenz, so gilt f¨ den Zustand s0 mit s [σ>s0 gem¨ aß Feuerregel s0 = s + t∈T (F (t, ·) − F (·, t)) · P (σ)(t), in Matrixdarstellung ausgedr¨ uckt als s0 = s + (B − F) · P (σ), wobei P die Parikhabbildung ist. Sucht man ein σ mit s [σ>s, so muss demnach (B − F) · P (σ) = 0 gelten. F¨ ur dieses lineare Gleichungssystem findet man nach Satz 6 eine Supportl¨ osung usupp . Ist diese Supportl¨osung der Nullvektor, so ist dies die einzige L¨ osung des Gleichungssystem. Aus P (σ) = 0 folgt dann sofort σ = ε, d.h. N ∈ / ZFRP. Ist der Support nicht leer, so findet man ein σ mit P (σ) = usupp . Zu diesem σ bestimmt man die H¨ urde HN (σ). Es gilt dann HN (σ) [σ>HN (σ) und somit N ∈ ZFRP. Damit ist ZFRP ohne Einsatz des Algorithmus zur Entscheidung des Erreichbarkeitsproblems zu entscheiden; es ist lediglich ein lineares Gleichungssystem zu l¨ osen, um nichtnegative T -Invarianten zu bestimmen. Dies f¨ uhrt zu der ¨ Uberlegung, ob man nicht auch f¨ ur die weiteren Probleme auf T -Invarianten zur¨ uckgreifen kann. So w¨ are z.B. f¨ ur SRP eine Idee, den Raum der nichtnegativen T -Invarianten zu bestimmen, darin die minimalen T -Invarianten zu bestimmen und zu pr¨ ufen, ob diese im vorgegebenen Zustand s realisierbar sind. Da der Raum der T -Invarianten durch ein lineares Gleichungssystem der Form (B − F) · x = 0 bestimmt ist, k¨ onnen wir nach Hilbert [Hil90] eine endliche Basis x1 , . . . , xk ∈ Nn (k ∈ N) des L¨osungsraumes bestimmen. Diese
4.2 Reproduktion von Markierungen
107
endliche Basis sind gerade die minimalen T -Invarianten. W¨ urde nun f¨ ur zwei Invarianten It und It0 stets gelten: ∃σ, σ 0 ∈ T ∗ : P (σ) = It ∧ P (σ 0 ) = It0 ∧ s [σ>s ∧ s [σ 0>s ⇐⇒ ∃σ 00 ∈ T ∗ : P (σ 00 ) = It + It0 ∧ s [σ 00>s so w¨ urde es tats¨ achlich gen¨ ugen festzustellen, ob sich zu einer der (endlich vielen) minimalen T -Invarianten eine Feuersequenz findet, die unter s feuern kann. Leider ist diese letzte Aussage jedoch falsch, wie folgendes Beispiel zeigt. Beispiel 16. Ein Petri Netz N mit Stellen p1 , p2 , p3 , p4 und Transitionen t1 , t2 , t3 , t4 , t5 , t6 sei wie folgt durch Matrizen B und F gegeben: 500004 021200 0 0 4 0 5 0 0 2 0 2 0 1 B= 0 2 0 0 0 0,F = 0 0 2 0 0 2 002002 000200 Aus der Matrix
5 −2 −1 −2 0 4 0 −2 4 −2 5 −1 B−F= 0 2 −2 0 0 −2 0 0 2 −2 0 2
lassen sich nun recht einfach zwei T -Invarianten ablesen: 1 0 1 1 1 0 0 It = und It = 1. 1 0 1 0 1 Das L¨ osen des linearen Gleichungssystems zeigt, dass diese beiden T -Invarianten auch gerade die minimalen T -Invarianten sind. Im Zustand s = (1, 1, 1, 1)T ist keine der beiden Invarianten realisierbar, d.h., keine Feuersequenz σ mit P (σ) = It oder P (σ) = It0 ist feuerbar. Es gilt jedoch s [t1 t5 t2 t2 t3 t6 t4 t4>s mit P (t1 t5 t2 t2 t3 t6 t4 t4 ) = It + It0 . Es n¨ utzt also weder eine Pr¨ ufung der minimalen T -Invarianten noch die Pr¨ ufung aller T -Invarianten, da dies unendlich viele sein k¨onnen. Daher scheint es erforderlich, SRP mittels des Algorithmus zur L¨osung des Erreichbarkeitsproblems anzugehen.
108
4 Elementare Markierungsprobleme
Satz 18. SRP ist entscheidbar. Beweis. Sei (N, s) eine Instanz, f¨ ur die eine Entscheidung bzgl. Mitgliedschaft in SRP zu treffen ist. Wir benutzen den Algorithmus f¨ ur das Erreichbarkeitsproblem, um (N, s, s) ∈ EP zu l¨ osen. Dabei erhalten wir eine endliche Menge von perfekten Keim-Transition-Folgen (vgl. Satz 12), die auf Existenz von L¨ osungen zu pr¨ ufen ist. Die perfekten Keim-Transition-Folgen ohne L¨osung werden verworfen. F¨ ur die anderen liefert das Pumping-Lemma von Lambert (Satz 11) jeweils eine Feuersequenz σ, deren Parikhbild die Form u + k · usupp hat. Dabei ist u eine L¨ osung der Charakteristischen Gleichung Ax = b, usupp eine Supportl¨ osung und k eine gen¨ ugend große nat¨ urliche Zahl. Ist entweder u oder usupp nicht der Nullvektor, so erh¨ alt man also automatisch eine nichtleere Feuersequenz σ mit s [σ>s. Nur wenn u und usupp beide zwingend der Nullvektor sind, liefert die betrachtete perfekte Keim-Transition-Folge keine echte L¨ osung. Dies l¨ asst sich aber nach Satz 6 entscheiden.
Satz 19. ARP ist entscheidbar. Beweis. Sei N = (P, T, F ) ein Petri Netz und s ∈ NP ein Zustand. Gem¨aß Satz 16 k¨ onnen wir das gekoppelte Erreichbarkeitsproblem mit s1 = s, s2 = s3 = ω, also die Frage, ob man von s aus irgendeinen Zustand s0 und von dort irgendeinen Zustand s00 erreichen kann, entscheiden. Gem¨aß Satz 15 k¨ onnen wir dieses Problem um das lineare Gleichungssystem s2 = s3 erweitern, und auch das neue Problem ist entscheidbar. Dies ist aber im Prinzip ARP. Analog zum Beweis von Satz 18 muss f¨ ur die potentiellen L¨osungen noch gepr¨ uft werden, ob der Anteil der Feuersequenz, der von s2 nach s3 f¨ uhrt, leer ist. Um dies tun zu k¨ onnen, markiert man sich w¨ahrend der Dekomposition nach Satz 12 in jeder entstehenden Keim-Transitions-Folge ¨ die Stelle, die dem urspr¨ unglichen Ubergang vom Problem (N, s1 , s2 ) ∈ EP? zum Problem (N, s2 , s3 ) ∈ EP? entspricht. Damit kann man f¨ ur die perfekten Keim-Transition-Folgen bestimmen, welche Variablen und damit welcher Anteil eines L¨ osungsvektors f¨ ur die gew¨ unschte Zustandsreproduktion verantwortlich ist. Diesen Anteil pr¨ uft man gem¨aß dem Beweis zu Satz 18. F¨ ur die L¨ osung des Home State Problems muss man im Vergleich zu den anderen Problemen dieses Abschnitts etwas ausholen. Die hier gezeigte L¨osung basiert auf [Oan02] und [VJ85], erstmalig gel¨ ost wurde das Problem in [FJ89]. Wir zeigen zun¨achst, wie man in der Erreichbarkeitsmenge eines Petri Netzes eine maximal unvergleichbare Menge von minimalen Zust¨anden findet. Definition 57. Seien N = (P, T, F ) ein Petri Netz und s, s0 ∈ NP ω zwei verallgemeinerte Zust¨ ande. Dann sei s∩s0 definiert durch ∀p ∈ P : (s∩s0 )(p) = min{s(p), s0 (p)}.
4.2 Reproduktion von Markierungen
109
Definition 58 (Zustandskegel). Seien N = (P, T, F ) ein Petri Netz und 0 P 0 s ∈ NP ω ein Zustand. Dann sei s ↓= {s ∈ N | s ≥ s } der von s nach 0 P 0 unten gerichtete Kegel und und s↑= {s ∈ N | s ≤ s } der vonSs nach oben gerichtete Kegel. F¨ ur eine Zustandsmenge S ⊆ NP ω sei S ↓= s∈S s ↓ und S S↑= s∈S s↑. Man beachte, dass die Definition von s ↑ nur f¨ ur Zust¨ande s ∈ NP sinnvoll ist; f¨ ur verallgemeinerte Zust¨ ande s, die ein ω enthalten, ist s ↑ stets leer. Man k¨ onnte die Definition nat¨ urlich geeignet ¨andern, f¨ ur unsere Zwecke ist dies jedoch nicht notwendig. Es ist im Gegenteil wichtig, dass die Kegel keine verallgemeinerten Zust¨ ande enthalten, denn mit ihnen wollen wir den Zustandsraum NP eines Petri Netzes partitionieren. 0 Korollar 8. F¨ ur zwei Zust¨ ande s, s0 ∈ NP ω eines Petri Netzes gilt s↓ ∩ s ↓= 0 (s ∩ s )↓.
S Korollar 9. F¨ ur einen Zustand s ∈ NP gilt NP \(s↑) = p∈P,s(p)>0 (sp↓) mit sp (p) = s(p) − 1 und sp (p0 ) = ω f¨ ur p 6= p0 ∈ P . Bezeichnen wir mit s↑ die Menge aller derart konstruierten verallgemeinerten Zust¨ ande sp , so ist NP \(s↑) = s↑↓.
Definition 59 (Algorithmus zur Berechnung minimaler Zust¨ ande). F¨ ur ein Petri Netz N = (P, T, F ) und eine entscheidbare Menge S ⊆ NP sei ein Algorithmus A wie folgt definiert. (Als Menge S stelle man sich z.B. die Erreichbarkeitsmenge vor.) R = ∅; X = {(ω, . . . , ω)T }; solange X 6= ∅ w¨ ahle x ∈ X; falls x↓ ∩S = ∅: X = X\{x}; ansonsten: w¨ ahle ein s ∈ x↓ ∩S mit 6 ∃s0 ∈ x↓ ∩S: (s0 ≤ s ∧ s0 6= s); R = R ∪ {s}; Xneu = {x0 ∩ x00 | x0 ∈ X ∧ x00 ∈ s↑}; X = Xneu ; Ausgabe des Algorithmus sei die Menge R. Beobachtung 6. Die Auswahl in den Zeilen 3 und 7 des Algorithmus kann immer konkret und in endlicher Zeit getroffen werden. In Zeile 3 ist dies offensichtlich, da X stets eine endliche, vom Algorithmus erzeugte Menge ist. Die Endlichkeit von X ergibt sich aus der letzten Zeile, wo man aus jedem
110
4 Elementare Markierungsprobleme
Element von X und s↑ einen Zustand f¨ ur das neue X erzeugt. Da beide Ursprungsmengen endlich sind, ist auch Xneu endlich. F¨ ur Zeile 7 sieht man leicht, dass man NP aufz¨ahlen und f¨ ur jeden Zustand testen kann, ob er in S und x↓ liegt. Im positiven Fall testet man nun noch alle Vektoren, die kleiner oder gleich dem gefundenen Zustand sind. Gibt es darunter keinen anderen Vektor, der sowohl in S als auch in x ↓ liegt, so ist der gefundene Zustand auch minimal. Da x↓ ∩S nicht leer ist, muss darin wenigstens ein minimales Element enthalten sein. Haben wir ein solches gefunden, halten wir die Aufz¨ ahlung von NP an und haben unsere Auswahl getroffen. Lemma 36. Wenn im Algorithmus A f¨ ur jedes x entscheidbar ist, ob x ↓ ∩S = ∅ ist, dann liefert der Algorithmus A als Ergebnis eine maximal unvergleichbare Menge von minimalen Elementen aus S. Beweis. X ↓ ist der im Algorithmus in jedem Durchlauf zu untersuchende Zustandsraum, zu Anfang ist dies der gesamte Zustandsraum. Elemente x ∈ X mit x↓ ∩S = ∅ werden verworfen, da x↓ dann u ¨berhaupt keine Elemente aus S enth¨ alt, also erst recht keine minimalen. Wird ein minimales Element s aus X ↓ ∩S gefunden, so wird im n¨ achsten Durchlauf nur noch der Teil des Zustandsraumes untersucht, der einerseits noch immer Teil von X ↓ ist und andererseits nicht vom minimalen Element s abgedeckt wird, also gem¨aß Korollar 9 in s↑↓ liegt. Die Konstruktion von Xneu erzeugt gem¨aß Korollar 8 genau diesen zu untersuchenden Zustandsraum. Im n¨achsten Durchlauf wird also insbesondere nur noch nach Zust¨ anden gesucht, die nicht mit dem gerade gefundenen Zustand vergleichbar sind. Damit ist sichergestellt, dass alle Elemente, die in R gespeichert werden, paarweise unvergleichbar und minimal in S sind. Nach Lemma 1 sind Mengen paarweise unvergleichbarer Elemente im Nk stets endlich (jedoch im Allgemeinen nicht in der Gr¨ oße beschr¨ ankt). Da die minimalen Elemente in S jedoch eindeutig bestimmt sind, muss der Algorithmus irgendwann alle gefunden haben. Wenn dies der Fall ist, sind alle in S liegenden Elemente mit einem der in R abgelegten Elemente vergleichbar. Folglich existieren in der dann zu untersuchenden Restmenge X ↓ keine Zust¨ande aus S mehr. Also ist der Test x↓ ∩S = ∅ ab diesem Durchlauf stets erf¨ ullt und die restlichen Elemente in X werden direkt verworfen. Der Algorithmus terminiert also. Lemma 37. Ist S die Erreichbarkeitsmenge eines Petri Netzes, so ist x ↓ ∩S = ∅ entscheidbar. Beweis. Das Problem l¨ asst sich mit endlich vielen partiellen Erreichbarkeitstests pEP l¨ osen. Eine Stelle p mit x(p) = ω darf offensichtlich in x↓ einen
4.2 Reproduktion von Markierungen
111
beliebigen nat¨ urlichzahligen Wert haben; im Fall x(p) ∈ N muss in x↓ an der Stelle p eine Tokenzahl zwischen 0 und x(p) vorliegen. F¨ ur den ersten Fall setzen wir beim pEP die gew¨ unschte Tokenzahl auf ω, also beliebig, f¨ ur den zweiten Fall pr¨ ufen wir alle Werte von 0 bis x(p) systematisch durch (auf allen solchen Stellen simultan). Es sind offensichtlich nur endlich viele Tests n¨ otig.
Definition 60. Zu einem Petri Netz N = (P, T, F ) und einer Menge P 0 ⊆ P 0 0 sei SkP die Menge aller Zust¨ ande mit maximal k Token auf P 0 , d.h. SkP := P 0 {s ∈ NP | p∈P 0 s(p) ≤ k}. Ferner sei zu einem partiellen Zustand s ∈ NP 0 die Menge SsP die Menge aller Zust¨ ande in NP , die auf P 0 die gleichen Werte P0 0 P wie s besitzen, d.h. Ss := {s ∈ N | πP 0 (s0 ) = s}. 0
Wir wenden nun den Algorithmus A auf die Mengen E(N )\SkP und E(N ) ∩ 0 SsP an, um damit das Home State Problem zu entscheiden. Lemma 38. Sei N = (P, T, F, s0 ) ein Petri Netz mit der Erreichbarkeitsmen0 ge E(N ) und seien k ∈ N, P 0 ⊆ P und s ∈ NP . Dann ist es f¨ ur jeden Zustand 0 P P0 x ∈ NP ω entscheidbar, ob x↓ ∩(E(N )\Sk ) = ∅ und x↓ ∩(E(N ) ∩ Ss ) = ∅ gelten. 0
Beweis. x↓ ∩(E(N )\SkP ) = ∅: Gem¨ aß Lemma 37 k¨onnen wir entscheiden, ob ein Zustand in x↓ erreichbar ist. Im Verlauf der (evtl. zahlreichen) partiellen Erreichbarkeitstests erh¨ alt man Mengen von perfekten Keim-TransitionFolgen, aus denen man die Folgen ohne L¨ osung aussortiert. Bei den u ¨brigen untersucht man jeweils den erreichten Zielzustand: Ist hier einer der zu P 0 geh¨ orenden Eintr¨ age ω, so kann man eine L¨ osung finden, die beliebig viele Token auf der entsprechenden Stelle besitzt, da die Stelle zum Support der Charakteristischen Gleichung geh¨ ort. Damit findet man eine solche L¨osung, 0 die nicht in SkP liegt. Ist im Zielzustand f¨ ur jede Stelle aus P 0 ein endlicher Wert berechnet worden, so muss die Summe aller dieser Werte gr¨oßer als k 0 sein, damit eine L¨ osung existiert, die nicht in SkP liegt. Anderenfalls liefert 0 diese perfekte Keim-Transition-Folge keine L¨ osung außerhalb von SkP . 0
x↓ ∩(E(N ) ∩ SsP ) = ∅: Bei jedem der f¨ ur x↓ durchzuf¨ uhrenden partiellen Erreichbarkeitstests pEP k¨ onnen wir nach Satz 15 zus¨atzlich das Gleichungssystem s2 = s f¨ ur den Zielzustand s2 spezifizieren. Die L¨osung einer solchen 0 Probleminstanz liegt gerade gleichzeitig in x↓, SsP und E(N ). 0
Damit ist der Algorithmus A mit der Startmenge S = E(N )\SkP und S = 0 E(N ) ∩ SsP durchf¨ uhrbar. Dies gen¨ ugt, um das partielle Home State Problem zu entscheiden.
112
4 Elementare Markierungsprobleme
Satz 20. Das partielle Home State Problem pHP ist entscheidbar. 0
0 P Beweis. Seien N = (P, T, F, s0 ) ein Petri Netz, P P ⊆ P und h ∈ N ein partieller Zustand. Sei k ∈ N so gew¨ ahlt, dass p∈P 0 h(p) ≤ k gilt. Sei R die 0 0 Menge der minimalen Zust¨ ande in E(N )\SkP und Rs f¨ ur s ∈ NP die Menge 0 der minimalen Zust¨ ande in E(N ) ∩ SsP , die nach Lemma 36 und 38 mittels des S Algorithmus A aus Definition 59 berechnet werden k¨onnen. Sei H = 0 R ∪ s∈π 0 (E(N )∩S P 0 ) Rs . Da die Menge πP 0 (SkP ) endlich ist, gen¨ ugen endlich P
k
0
viele Tests f¨ ur das partielle Erreichbarkeitsproblem pEP, um πP 0 (E(N )∩SkP ) zu bestimmen. Damit ist dann auch H endlich und konstruierbar. Wir zeigen nun (im Wesentlichen per Induktion) die Aussage ∀s ∈ H: h ∈ πP 0 (E(s)) ⇐⇒ ∀s ∈ E(N ): h ∈ πP 0 (E(s)). Da H eine endliche, konstruierbare Menge ist, kann man dann mit endlich vielen partiellen Entscheidbarkeitstests der Form (N, s, h) ∈ pEP?“ (f¨ ur s ∈ H) entscheiden, ob h ein ” partieller Home State f¨ ur (N, s0 ) ist, d.h., ob (N, s0 , h) ∈ pHP gilt. Zum Beweis der Aussage u uckrichtung ⇐“ ist offensichtlich. ¨ber H: Die R¨ ” Es bleibt ⇒“ zu zeigen. Wir zeigen per Induktion u ¨ber i nun ∀s ∈ H: 0 ” h ∈ πP 0 (E(s)) ⇒ ∀s ∈ E(N ) ∩ SiP : h ∈ πP 0 (E(s)), woraus mit dem Induktionsschluss die gew¨ unschte Aussage folgt. Induktionsanfang i = k: Wir nehmen an, ∀s ∈ H: h ∈ πP 0 (E(s)) gilt. Sei nun 0 s ∈ E(N ) ∩ SiP . Dann existiert ein r ∈ RπP 0 (s) ⊆ H mit πP 0 (r) = πP 0 (s), r ≤ s sowie σ ∈ T ∗ und h0 ∈ NP mit πP 0 (h0 ) = h, so dass r [σ>h0 gilt. Folglich gilt auch s [σ>h0 + s − r mit πP 0 (h0 + s − r) = πP 0 (h0 ) = h. Also ist h ∈ πP 0 (E(s)). Induktionsschritt i 7→ i + 1: Wir nehmen an, ∀s ∈ H: h ∈ πP 0 (E(s)) und 0 ∀s ∈ H: h ∈ πP 0 (E(s)) ⇒ ∀s ∈ E(N ) ∩ SiP : h ∈ πP 0 (E(s)) gelten bereits. 0 P Sei nun s ∈ E(N ) ∩ Si+1 . Dann existiert ein r ∈ R mit r ≤ s. Wegen r ∈ H 0 0 existiert eine Feuersequenz σ mit r [σ>h0 , πP 0 (h0 ) = h, h0 ∈ SkP , r ∈ / SkP , d.h., σ erniedrigt die Gesamttokenzahl auf P 0 im Netz. Damit gilt aber auch 0 P0 s [σ>h0 + s − r mit s ∈ Si+1 und h0 + s − r ∈ SiP . Folglich existiert nach Voraussetzung eine Feuersequenz σ 0 mit h0 + s − r [σ 0>h00 und πP 0 (h00 ) = h. Insgesamt gilt s [σσ 0>h00 mit πP 0 (h00 ) = h, also h ∈ πP 0 (E(s)). Als Spezialfall von pHP ist auch das Home State Problem HP damit ent¨ scheidbar. Uber das Problem AHP kann hier keine Aussage getroffen werden. Es ist bisher nicht bekannt, ob man zu jedem Netz entscheiden kann, ob es einen Home State besitzt. Das Problem ist aber zumindest rekursiv aufz¨ahlbar, da NP aufz¨ ahlbar ist und man f¨ ur jedes Element aus NP pr¨ ufen kann, ob es Home State ist. Korollar 10. AHP ist rekursiv aufz¨ ahlbar.
4.3 Weitere Probleme mit Mengen von Markierungen
113
Analog weiß man auch nichts u ¨ber die Entscheidbarkeit von pAHP, außer folgendem trivialen Korollar: Korollar 11. AHP ≤p pAHP und pAHP ist rekursiv aufz¨ ahlbar. In der Literatur findet man leicht Algorithmen, die das allgemeine Home State Problem mit Hilfe von sogenannten sturen Mengen (stubborn sets) zu l¨ osen versuchen, siehe z.B. [KV00]. Diese Methoden funktionieren jedoch nur, wenn man bereits weiß, dass der Erreichbarkeitsgraph des betrachteten Petri Netzes endlich ist. Nat¨ urlich ist in einem solchen Fall das Problem trivial entscheidbar. Die Methoden mit Hilfe sturer Mengen reduzieren den Erreichbarkeitsgraphen je nach Parameterwahl auf einen Bruchteil der urspr¨ unglichen Gr¨ oße, aber bei einem unendlichen Graphen n¨ utzt dies im Allgemeinen nichts. Ihr Einsatz hilft also nur, Rechenzeit zu sparen, ist aber keine M¨oglichkeit, die Probleme AHP oder pAHP allgemein zu l¨ osen.
4.3 Weitere Probleme mit Mengen von Markierungen Wir wollen nun einige Probleme untersuchen, die sich nicht auf einzelne Markierungen, sondern auf ganze Mengen von Markierungen beziehen. Definition 61. Das Home State Problem f¨ ur Zustandsmengen ZHP (auch Home Space Problem) ist die Menge ZHP = {(N, s, S) | N = (P, T, F ) ist ein Petri Netz ∧ ∀s0 ∈ E(s)∃s00 ∈ S : s00 ∈ E(s0 )}. Das Endlichkeitsproblem f¨ ur Zustandsmengen ZEP ist die Menge ZEP = {(N, s) | N = (P, T, F ) ist ein Petri Netz ∧ E(s) ist endlich}. Das Endlichkeitsproblem f¨ ur Zwischenzust¨ ande ZZEP ist die Menge ZZEP = {(N, s, s0 ) | N = (P, T, F ) ist ein Petri Netz ∧ {s00 | s00 ∈ E(s) ∧ s0 ∈ E(s00 )} ist endlich}. Das Totalit¨ atsproblem f¨ ur Zustandsmengen ZTP ist die Menge
114
4 Elementare Markierungsprobleme
ZTP = {(N, s) | N = (P, T, F ) ist ein Petri Netz ∧ E(s) = NP }. Das Inklusionsproblem f¨ ur partielle Zustandsmengen pZIP ist die Menge pZIP = {(N, s, N 0 , s0 , P0 ) | N = (P, T, F ), N 0 = (P 0 , T 0 , F 0 ) sind Petri Netze ∧ P ⊇ P0 ⊆ P 0 ∧ πP0 (E(N, s)) ⊆ πP0 (E(N 0 , s0 ))}. Das Inklusionsproblem f¨ ur Zustandsmengen ZIP ist die Menge ZIP = {(N, s, N 0 , s0 ) | N = (P, T, F ), N 0 = (P 0 , T 0 , F 0 ) sind Petri Netze ∧ E(N, s) ⊆ E(N 0 , s0 )}. Das Gleichheitsproblem f¨ ur Zustandsmengen ZGP ist die Menge ZGP = {(N, s, N 0 , s0 ) | N = (P, T, F ), N 0 = (P 0 , T 0 , F 0 ) sind Petri Netze ∧ E(N, s) = E(N 0 , s0 )}.
Das Home State Problem f¨ ur Zustandsmengen ZHP, auch Home Space Problem genannt, ist sicher nicht generell entscheidbar, da man als Menge S nat¨ urlich jede beliebige Menge w¨ ahlen kann, also z.B. auch eine unentscheidbare. Man kann aber leicht f¨ ur lineare Mengen S zeigen, dass ZHP entscheidbar ist. Satz 21. ZHP ist f¨ ur Instanzen (N, s, S) entscheidbar, wenn S eine lineare Menge ist. Beweis. Wir f¨ uhren eine polynomielle Reduktion einer solchen Instanz von ZHP auf das partielle Home State Problem pHP durch. Gegeben seien N = P P (P, T, PFn), ein Zustand s ∈ N und S = {s ∈ N | ∃k1 , . . . , kPn ∈ N : s = b + j=1 kj · xj } mit gegebenen n ∈ N und b, x1 , . . . , xn ∈ N . Wir definieren ein neues Petri Netz N 0 = (P 0 , T 0 , F 0 ) mit P 0 = P ∪˙ {pb,0 , pb,1 } ∪˙ {px,j | 1 ≤ j ≤ n}, T 0 = T ∪˙ {tb,0 , tb,1 } ∪˙ {tx,j,k | 1 ≤ j ≤ n ∧ 0 ≤ k ≤ 1}. F 0 enth¨ alt dieselben Kanten wie F plus folgende (jeweils f¨ ur p ∈ P und 1 ≤ j ≤ n): F 0 (pb,0 , tb,1 ) = 1, F 0 (tb,1 , pb,1 ) = 1, F 0 (pb,1 , tb,0 ) = 1, F 0 (tb,0 , pb,0 ) = 1, F 0 (p, tb,1 ) = b(p), F 0 (tb,0 , p) = b(p), F 0 (p, tx,j,1 ) = xj (p), F 0 (tx,j,1 , px,j ) = 1, F 0 (px,j , tx,j,0 ) = 1, F 0 (tx,j,0 , p) = xj (p). Die Transitionen mit letztem Index 1 entfernen jeweils eine Tokenzahl entsprechend einem der Vektoren b, x1 , . . ., xn aus dem Netz N , die Transitionen mit letztem Index 0 legen
4.3 Weitere Probleme mit Mengen von Markierungen
115
dieselbe Tokenzahl wieder zur¨ uck. Auf den zus¨atzlichen Stellen merkt man sich, welche Vielfachen der Vektoren aus dem Netz N abgezogen wurden. Die Konstruktion ist in Abb. 4.3 dargestellt. Die Anfangsmarkierung von N 0 sei der Zustand s0 mit s0 (p) = s(p) f¨ ur p ∈ P , s0 (pb,0 ) = 1 und s0 (p) = 0 f¨ ur 0 p ∈ P \(P ∪ {pb,0 }). '
$
N 6 & pb,0 b b s ? tb,1 tb,0 pb,1
6%
6 x1
x1
? tx,1,1
-
...
px,1
xn
tx,1,0
xn
?
tx,n,1
-
px,n
tx,n,0
Abb. 4.3 Reduktionskonstruktion von ZHP nach pHP
Die Konstruktion, die offensichtlich polynomiell ist, erlaubt dem urspr¨ unglichen Netz N (als Anteil von N 0 ), genauso zu feuern wie bisher. Zudem kann zu einem beliebigen Zeitpunkt, zu dem die aktuelle Markierung b erreicht oder u ¨berschreitet, einmal tb,1 feuern und b von der aktuellen Markierung subtrahieren. Alle tx,j,1 sind feuerbar, wann immer mindestens die Markierung xj erreicht wird. Man kann also f¨ ur jedes s0 ∈ S genau s0 von der erreichten Markierung subtrahieren, sofern gen¨ ugend Token daf¨ ur vorhanden sind. Die Subtraktion von Werten, die nicht in S liegen, ist genauso offensichtlich unm¨ oglich. Eine weitere (partielle) Markierung von N 0 sei s00 ∈ NP ∪{pb,0 } mit s00 (p) = 0 f¨ ur p ∈ Pˆ := P ∪ {pb,0 }. Wir zeigen nun (N, s, S) ∈ ZHP ⇐⇒ (N 0 , s0 , s00 ) ∈ pHP. ⇒“: Sei s1 ∈ E(N, s), dann existieren ein Zustand s2 ∈ S und Feuerse” quenzen σ1P , σ2 mit s [σ1>N s1 [σ2>N s2 . Nun hat s2 ∈ S eine Darstellung n s2 = b+ j=1 kj · xj mit geeigneten kj ∈ N. Wir betrachten alle erreichbaren Zust¨ ande in N 0 , die durch Feuern von σ1 und eventuell weiteren Transitionen aus T 0 \T zustande kommen. Sei s01 ein solcher Zustand, 1 n dann erreicht man s01 auch mittels s0 [σ1 σ 0>N 0 s01 mit σ 0 = tix,1,1 . . . tix,n,1 oder i1 in 0 σ = tb,1 tx,1,1 . . . tx,n,1 f¨ ur geeignete i1 , . . . , in ∈ N, da die u ¨brigen Transitionen tb,0 , tx,1,0 , . . ., tx,n,0 nur den Effekt der entsprechenden Transition mit Index 1 r¨ uckg¨ angig machen und durch das Feuern der Transitionen mit Index 1 nur die entsprechenden Transitionen mit Index 0 aktiviert werden. F¨ ur
116
4 Elementare Markierungsprobleme
1 n 1 n σ 00 = tix,1,0 . . . tix,1,0 σ2 tkx,n,0 . . . tkx,n,1 und ein passendes sˆ00 mit πPˆ (ˆ s00 ) = s00 0 00 00 0 00 00 gilt aber s1 [σ tb,1>N 0 sˆ oder s1 [tb,0 σ tb,1>N 0 sˆ . Da s1 ein beliebiger erreichbarer Zustand aus N war, durchl¨ auft s01 alle erreichbaren Zust¨ande in 0 00 N . Damit ist s ein partieller Home State.
⇐“: Sei s00 der partielle Home State von (N 0 , s0 ) und s01 ∈ E(s0 ) ein beliebiger ” erreichbarer Zustand. Dann existiert eine Feuersequenz σ mit s01 [σ>N 0 sˆ00 ∈ 00 πP−1 ˆ (s ). Seien kj = P (σ)(tx,j,1 )−P (σ)(tx,j,0 ) und i = P (σ)(tb,1 )−P (σ)(tb,0 ). Per Konstruktion von N 0 sind alle kj sowie i nicht negativ, da nicht weniger als null Token auf px,j bzw. pb,1 liegen k¨ onnen. Da die Transitionen aus T 0 \T auch keine zus¨ atzlichen Transitionen aus T aktivieren k¨onnen, kann man diese alle aus σ entfernen und erh¨ alt s01 [πT (σ)>N 0 s02 mit s02 = sˆ00 − (B − F) · P (πT 0 \T (σ)). Eingeschr¨ ankt auf P errechnen πP (s02 ) = πP (ˆ s00 ) − Pwir n πP ((B − F) · P (πT 0 \T (σ))) = 0 + πP (i · b) + πP ( j=1 kj · xj ). Damit ist πP (s02 ) ∈ S und es gilt πP (s01 ) [πT (σ)>N πP (s02 ). Da s01 in N 0 alle erreichbaren Zust¨ ande durchl¨ auft, gilt dies auch f¨ ur πP (s01 ) bezogen auf N 0 und P . Da N 0 jeden Vorgang in N simulieren kann, durchl¨auft πP (s01 ) bezogen auf N alle erreichbaren Zust¨ ande (plus eventuell weitere, in N unerreichbare Zust¨ande). Da man stets ein πP (s02 ) ∈ S erreichen kann, ist (N, s, S) ∈ ZHP. Man kann die Bedingung, dass S lineare Menge sein muss, noch geringf¨ ugig ausweiten, wie z.B. in [Oan02] gezeigt wird. Es gen¨ ugt, wenn S eine endliche Vereinigung linearer Mengen ist, wobei alle linearen Mengen dieselbe Basis x1 , . . ., xn haben m¨ ussen. Eine triviale Erweiterung der obigen Reduktionskonstruktion gen¨ ugt, um dies zu zeigen. Wir wollen im n¨achsten Abschnitt zeigen, dass auch die Lebendigkeitsprobleme entscheidbar sind, und dazu reicht uns die hier gemachte Aussage u ¨ber ZHP. Das Endlichkeitsproblem f¨ ur Zustandsmengen ZEP l¨asst sich einfacher ent¨ scheiden, obwohl, dank der Beteiligung eines Uberdeckungsgraphen, auch hier wieder nicht bekannt ist, welche Komplexit¨ at das Problem besitzt. Satz 22. ZEP ist entscheidbar. ¨ Beweis. Sei eine Instanz (N, s) gegeben. Man konstruiere den Uberdeckungs¨ graphen zu N mit Startzustand s. Enth¨ alt der Uberdeckungsgraph Knotenbeschriftungen, in denen Stellen der Wert ω zugewiesen wird, so sind diese Stellen nach Lemma 15 unbeschr¨ ankt. Damit ist E(N, s) aber nicht endlich. ¨ Gibt es kein einziges ω im Uberdeckungsgraphen, so ist dieser gleichzeitig der Erreichbarkeitsgraph, der damit endlich ist. Gibt man f¨ ur das Endlichkeitsproblem nicht nur einen Anfangszustand vor, sondern auch noch einen Zielzustand, so wird das Problem deutlich kom¨ plizierter. Auch wenn der Uberdeckungsgraph ω’s enth¨alt, so kann es doch
4.3 Weitere Probleme mit Mengen von Markierungen
117
sein, dass man nur von endlichen vielen erreichbaren Zust¨anden aus noch den Zielzustand erreichen kann. Falls der Zielzustand ein Home State ist, w¨ are das Problem nat¨ urlich gel¨ ost (da es dann ¨aquivalent zu ZEP ist), aber ansonsten m¨ ussen wir uns erneut in den Algorithmus zur Entscheidung des Erreichbarkeitsproblems vertiefen. Satz 23. ZZEP ist entscheidbar. Beweis. Sei eine Testinstanz (N, s, s0 ) f¨ ur ZZEP gegeben. Wir f¨ uttern zun¨ achst den Algorithmus zur Entscheidung des Erreichbarkeitsproblems mit dieser Instanz und erhalten mittels Dekomposition nach Satz 12 eine endliche Menge M von perfekten Keim-Transition-Folgen, die insgesamt alle L¨osungen des Problems (N, s, s0 ) ∈ EP enthalten. F¨ ur jede Keim-Transition-Folge F ∈ M mit F = K0 t1 K1 . . . tn Kn (n ∈ N) k¨ onnen wir zwei F¨alle unterscheiden: Fall 1: F¨ ur alle Keime Ki (i ∈ N) und deren Zentralknoten si und alle Stellen p ∈ P gilt si (p) ∈ N. Da alle Keime per Definition streng zusammenh¨angend sind und alle ihre Knoten dieselben ω-Eintr¨ age besitzen, kommt in der gesamten Keim-Transition-Folge kein ω vor. Insbesondere enthalten auch die out Inputknoten sin der Keime Ki kein ω. Eine L¨osung i und Outputknoten si von F, also eine Feuersequenz, die in F von s nach s0 f¨ uhrt, kann nur genau die in F vorkommenden Zust¨ ande betreten; die Charakteristische Gleichung (Definition 50) schreibt dies vor. Da F endlich ist, k¨onnen also in den in F vorkommenden L¨ osungen nur endlich viele Zust¨ande betreten werden. Fall 2: Es gibt einen Keim Ki (i ∈ N) und eine Stelle p ∈ P mit si (p) = ω. Wir w¨ ahlen i minimal, d.h., in den Keimen Kj mit j < i soll in sj kein ω vorkommen. Wir betrachten nun den Input sin i von Ki . Untersuchen wir zun¨ achst den Fall i = 0. Bei der Anwendung des Algorithmus f¨ ur EP wird zun¨ achst ein einzelner Keim mit Input sin 0 = s erzeugt; dieser Input wird bei keiner Anwendung des Dekompositionstheorems ver¨andert. in Damit ist auch in F nun sin 0 = s, insbesondere ist damit s0 (p) < ω = s0 (p). Im Fall i > 0 gilt f¨ ur jede Stelle p0 ∈ P si−1 (p0 ) < ω und wegen out si−1 ≤ω si−1 (nach Definition einer markierten Keim-Transition-Folge) ist 0 damit auch sout osung σ von F besitzt nun die Form i−1 (p ) < ω. Eine L¨ 0 σ = σ0 t1 σ1 t2 . . . σi−1 ti σi . . . σn mit s [σ0 t1 σ1 t2 . . . σi−1>sout i−1 [ti σi . . . σn>s , out wobei si−1 exakt getroffen werden muss, da es kein ω enth¨alt. Damit ist auch 00 der Folgezustand s00 mit sout aß den Bedini−1 [ti>s eindeutig bestimmt. Gem¨ gungen der Charakteristischen Gleichung gilt hier s00 ≤ω sin i ≤ω si . Da in einer L¨ osung σ nach Feuern von ti nur genau der Wert s00 (p) angenommen werden kann, liegt die zu sin orige Variable der Charakteristischen i (p) geh¨ Gleichung Ax = b nicht im Support von A. Nach Definition 52 u ¨ber die Perfektheit von Keim-Transition-Folgen muss dann aber zwingend sin i (p) < ω gelten. Wir folgern sin (p) < ω = s (p). i i
118
4 Elementare Markierungsprobleme
Damit haben wir sowohl f¨ ur i = 0 als auch f¨ ur i > 0 jeweils sin i (p) < ω = si (p) gezeigt. Man findet nun eine F-Doppelfolge (ηj , µj )1≤j≤n gem¨aß Definition 52 mit einer u ¨berdeckenden Feuersequenz ηi gem¨aß Definition 43. Dort steht sin (p) ∈ N ∧ si (p) = ω ⇒ W (ηi )(p) > 0, d.h., ηi erh¨oht die Tokenzahl auf p. i Nach dem Pumping Lemma von Lambert (Satz 11) k¨onnen wir aus unserer Doppelfolge nun eine Schar von L¨ osungen f¨ ur k ≥ k0 (k0 ∈ N geeignet) konstruieren, die die Gestalt %k ηik τk mit %k = η0k β0 α0k µk0 t1 η1k β1 α1k µk1 t2 . . . µki−1 ti k k und τk = βi αik µki ti+1 ηi+1 βi+1 αi+1 µki+1 ti+2 . . . tn ηnk βn αnk µkn haben. Dabei gilt 00 aber s [%k>s mit dem eindeutig bestimmten s00 . Wegen W (ηi )(p) > 0 f¨ uhrt nun s00 [ηik>sk f¨ ur jedes k in einen anderen Zustand sk . Damit werden in der betrachteten L¨ osungsschar bereits unendlich viele Zust¨ande betreten. F¨ uhrt man also die einfache Fallunterscheidung, ob ein si (p) = ω vorkommt, f¨ ur alle perfekten Keim-Transition-Folgen mit L¨osungen durch und tritt auch nur einmal Fall 2 ein, so k¨ onnen wir ZZEP mit ja“ entscheiden, sonst mit ” nein“. Ob eine perfekte Keim-Transition-Folge eine L¨osung besitzt, l¨asst sich ” aber nach Korollar 5 durch L¨ osen der Charakteristischen Gleichung bestimmen. Wir betrachten nun das Totalit¨ atsproblem f¨ ur Zust¨ande, also die Frage, ob man vom Startzustand eines Petri Netzes jeden beliebigen Zustand erreichen kann. Satz 24. Das Totalit¨ atsproblem f¨ ur Zust¨ ande ZTP ist entscheidbar. Beweis. Sei (N, s) ∈ ZTP? die zu l¨ osende Instanz mit N = (P, T, F ). Wir m¨ ussen also f¨ ur alle Vektoren x, y ∈ NP pr¨ ufen, ob aus s + x − y ∈ NP stets s+x−y ∈ E(s) folgt. Falls ja, so ist (N, s) ∈ ZTP, sonst nicht. Mit nur endlich vielen Erreichbarkeitstests kann man offensichtlich zun¨achst f¨ ur jeden Vektor s − y ∈ NP pr¨ ufen, ob s − y ∈ E(s) gilt. F¨ ur jeden Einheitsvektor ep ∈ NP mit ep (p) = 1 und ep (p0 ) = 0 f¨ ur p 6= p0 kann man pr¨ ufen, ob s + ep ∈ E(s) ist. Ist irgendeiner der bisher untersuchten Zust¨ande unerreichbar, so gilt (N, s) ∈ / ZTP. Nun betrachten wir den allgemeinen Fall und gehen davon aus, dass die obigen Tests positiv verlaufen sind. Sei σ ∈ T ∗ die Feuersequenz mit s [σ>s−y, dann gilt wegen der Monotonie von Petri Netzen trivial auch s + x [σ>s + x − y. Sei σp ∈ T ∗ jeweils ur die KonkateQ die Feuersequenz mit s [σp>s + ep , dann gilt f¨ nation σ 0 = p∈P (σp )x(p) wieder wegen der Monotonie s [σ 0>s + x, ingesamt erhalten wir also s [σ 0 σ>s + x − y. Daher gen¨ ugen die oben durchgef¨ uhrten, endlich vielen Tests auch, um (N, s) ∈ ZTP positiv zu entscheiden. Die u ¨brigen zu Beginn dieses Abschnitt definierten Inklusions- und Gleichheitsprobleme, pZIP, ZIP und ZGP, erweisen sich als unentscheidbar. Wir
4.3 Weitere Probleme mit Mengen von Markierungen
119
greifen dazu auf einen sehr bekannten Satz von Matijaseviˇc [Mat70] zur¨ uck, der besagt, dass es unentscheidbar ist, ob ein Polynom mit ganzzahligen Koeffizienten auch eine Nullstelle in den ganzen Zahlen besitzt. Dieses Problem ist als Hilberts zehntes Problem bekannt. Definition 62 (Hilberts zehntes Problem). Zu einem Polynom f ∈ Z[X] der Dimension k sei die Menge Hf = {(x1 , . . . , xk )T ∈ Zn | f (x1 , . . . , xk ) = 0}.
Satz 25 ([Mat70]). F¨ ur Polynome f ist es unentscheidbar, ob Hf = ∅ gilt. Wir formen nun die Polynome so weit um, dass sie bei Petri Netzen nutzbringend eingesetzt werden k¨ onnen. Dazu wollen wir letztlich nur Polynome auf nat¨ urlichen Zahlen betrachten, da man negative Zahlen in Petri Netzen schlecht verarbeiten kann. Lemma 39. Zu jedem Polynom f der Dimension k findet man ein weiteres Polynom g, so dass Hf = Hg sowie ∀x ∈ Zk : g(x) ≥ 0 gilt. Beweis. Man w¨ ahle g = f 2 , dann hat g dieselben Nullstellen wie f , aber keine negativen Funktionswerte. Nach dem Funktionswert beschr¨ anken wir nun die Parameter des Polynoms auf nat¨ urliche Zahlen. Lemma 40. Sei f ∈ Z[X] ein Polynom mit Dimension k. F¨ ur ein geeignetes Polynom g ∈ Z[X]N gilt Hf = ∅ ⇐⇒ Hg = ∅. Beweis. Zu einem Vorzeichenvektor s = (s1 , . . . , sk ) ∈ {−1, 1}k sei fs das Polynom, das durch fs (xQ 1 , . . . , xk ) = f (s1 · x1 , . . . , sk · xk ) bestimmt ist. Man konstruiere nun g = s∈{−1,1}k fs . Besitzt f eine Nullstelle (x1 , . . . , xk ) mit x1 , . . . , xk ∈ Z, so findet man einen s = (s1 , . . . , sk ) ∈ {−1, 1}k , so dass (s1 x1 , . . . , sk xk ) ∈ Nk gilt. Damit ist dieser Vektor aber automatisch Nullstelle von fs und auch von g. Ist (x1 , . . . , xk ) ∈ Nk Nullstelle von g, dann ist es auch Nullstelle von fs f¨ ur ein geeignetes s = (s1 , . . . , sk ) ∈ {−1, 1}k . Damit ist aber (s1 x1 , . . . , sk xk ) ∈ Zk dann auch eine Nullstelle von f . Mit diesen beiden Lemmata haben wir gezeigt, dass es bereits unentscheidbar ist, ob ein Polynom in Z[X], das nur nat¨ urliche Zahlen als Funktionswerte hat, eine Nullstelle in den nat¨ urlichen Zahlen besitzt. Die negativen Zahlen, die nun noch vorkommen k¨ onnen, sind die Koeffizienten der Polynome.
120
4 Elementare Markierungsprobleme
Lemma 41. Sei f ∈ Z[X]N ein Polynom. Dann gibt es Polynome f1 , f2 ∈ N[X] mit f = f1 − f2 , wobei f1 und f2 dieselbe Dimension haben wie f und h¨ ochstens denselben Grad. Beweis. Wir legen f1 als die Summe aller Terme aus f fest, die einen positiven Koeffizienten haben, entsprechend −f2 als die Summe aller Terme aus f mit negativen Koeffizienten. Damit sind f1 , f2 ∈ N[X]. Sollten Variablen in f1 oder f2 , die in f vorkommen, nicht mehr erscheinen, so interpretieren wir f1 und f2 trotzdem als Polynome mit diesen Variablen. Damit l¨ asst sich nun ein unentscheidbares Problem f¨ ur zwei Polynome aus N[X] formulieren. Satz 26. F¨ ur zwei Polynome f, g ∈ N[X] mit gleicher Dimension ist es unentscheidbar, ob ∀x ∈ Nk : f (x) ≤ g(x) gilt. Beweis. Sei f0 ∈ Z[X] ein Polynom der Dimension k. Nach Lemmata 39, 40 und 41 finden wir Polynome f1 , f2 ∈ N[X] mit ∃x ∈ Nk : f (x) = 0 ⇐⇒ ∃x ∈ Nk : f1 (x) = f2 (x). Per Konstruktion nach Lemma 41 besitzt das Polynom f1 − f2 ∈ Z[X]N dabei keine negativen Funktionswerte, und damit gilt im Fall f1 (x) ≤ f2 (x) automatisch sofort f1 (x) = f2 (x) (und umgekehrt). Folglich ist es unentscheidbar, ob f1 (x) ≤ f2 (x) f¨ ur ein x ∈ Nk gilt. Auch die komplement¨ are Frage, ob f1 (x) > f2 (x) f¨ ur alle x ∈ Nk gilt, ist unentscheidbar. Mit f = f2 +1 und g = f1 ist dann aber auch unentscheidbar, ob f (x) = f2 (x) + 1 < f1 (x) + 1 = g(x) + 1, also f (x) ≤ g(x) f¨ ur alle x ∈ Nk gilt. F¨ ur Petri Netze, deren Feuerverhalten monoton ist, ist die Nachbildung der Berechnung eines Polynoms, die nun folgen soll, nicht direkt m¨oglich. Daher f¨ uhren wir den schwachen Graphen eines Polynoms ein, der ebenfalls eine Monotonieeigenschaft besitzt. Definition 63 (Schwacher Graph). Sei f ∈ N[X] ein Polynom der Dimension k. Der schwache Graph von f ist die Menge Gf = {(x1 , . . . , xk+1 ) ∈ Nk+1 | f (x1 , . . . , xk ) ≥ xk+1 }. Lemma 42. F¨ ur zwei Polynome f, g ∈ N[X] der Dimension k ist es unentscheidbar, ob Gf ⊆ Gg gilt. Beweis. Gf ⊆ Gg gilt genau dann, wenn f¨ ur alle x ∈ Nk gilt, dass f (x) ≤ g(x) ist, was nach Satz 26 unentscheidbar ist.
4.3 Weitere Probleme mit Mengen von Markierungen
121
Wir definieren nun, wie man mit einem Petri Netz einen schwachen Graphen berechnet. Definition 64 (Schwacher Graph eines Petri Netzes). Sei N = (P , T , F , s) ein Petri Netz mit einer ausgezeichneten Menge von Stellen P0 = {p1 , . . ., pk , pk+1 }. Der schwache Graph von N ist die Menge GN = {πP0 (s0 ) ∈ Nk+1 | s0 ∈ E(s)}. Falls man nun zu jedem Polynom ein Petri Netz mit demselben schwachen Graphen findet, kann man die Unentscheidbarkeit von pZIP bereits zeigen. Satz 27. Falls zu jedem Polynom f ∈ N[X] ein Petri Netz N mit Gf = GN existiert, ist pZIP unentscheidbar. Beweis. Seien f, g ∈ N[X] zwei Polynome der Dimension k. Nach Voraussetzung existieren damit zwei Petri Netze Nf und Ng mit Gf = GNf und Gg = GNg , die beide dieselbe Menge P0 = {p1 , . . . , pk , pk+1 } von ausgezeichneten Stellen besitzen. Dann gilt (mit den passenden Startzust¨anden sf und sg von Nf bzw. Ng ) Gf ⊆ Gg ⇐⇒ GNf ⊆ GNg ⇐⇒ πP0 (E(Nf , sf )) ⊆ πP0 (E(Ng , sg )) (Nf , sf , Ng , sg , P0 ) ∈ pZIP. Da Gf ⊆ Gg unentscheidbar ist, gilt dies auch f¨ ur pZIP. Es bleibt also noch zu zeigen, wie man zu einem Polynom f ein Petri Netz N mit Gf = GN gewinnt. Sei im Folgenden N[X]\C die Menge aller Polynome ohne konstanten (variablenfreien) Term. Wir zeigen, wie man mit einem Petri Netz ein solches k-dimensionales Polynom f berechnet, d.h. bei Eingabe der Parameter (x1 , . . . , xk ) ∈ Nk ein Ergebnis xk+1 berechnet, f¨ ur das 0 ≤ xk+1 ≤ f (x1 , . . . , xk ) gilt. Im eigentlich zweiten Schritt (den wir hier aber als erstes durchf¨ uhren) muss man dann ein Petri Netz konstruieren, das den Graphen von f + c f¨ ur eine beliebige Konstante c erzeugt. Lemma 43. Sei f ∈ N[X]\C ein Polynom ohne konstanten Term mit Dimension k, f¨ ur das ein Petri Netz N = (P, T, F ) mit ausgezeichneten Stellen in1 , . . ., ink , out und ein Teilzustand s0 ∈ NP \{in1 ,...,ink } existieren, die folgende Bedingung erf¨ ullen: Vom Startzustand s mit s(ini ) = xi ∈ N (1 ≤ i ≤ k) und s(p) = s0 (p) f¨ ur alle anderen Stellen ist f¨ ur jedes j ≤ f (x1 , . . . , xn ) ein Zustand sj mit sj (out) = j erreichbar. Dann existiert zu jeder Konstanten c ∈ N ein Petri Netz N 0 mit Gf +c = GN 0 .
122
4 Elementare Markierungsprobleme
Beweis. Wir konstruieren N 0 wie es in Abb. 4.4 gezeigt wird. Mit jedem Token, das auf einem pi landet, erh¨ alt auch das Netz, das f berechnet einen Token auf ini . Aufgrund der Monotonie des Feuerns er¨offnet eine verz¨ogerte Lieferung von Token an f keine zus¨ atzlichen Feuerm¨oglichkeiten (verglichen mit einer fr¨ uheren Anlieferung der Token). Erh¨alt f also insgesamt den Tokenvektor (x1 , . . . , xk ) auf seinen Stellen in1 bis ink , so kann dieses Netz maximal f (x1 , . . . , xk ) Token auf out legen. Man kann nun jeden beliebigen Anteil dieser Token auf pk+1 verschieben und zus¨atzlich bis zu c Token, die mittels des Tokens auf const erzeugt werden. Damit kann jede Tokenanzahl zwischen 0 und f (x1 , . . . , xk ) + c auf pk+1 erreicht werden.
...
1
-
2
in
.. . ?
?
p1
p2
...
out
f
c
?
?
?
in
k ? pk
s const ?
in
-
j
z 9 pk+1
Abb. 4.4 Konstruktion zur Erzeugung des schwachen Graphen eines Polynoms f + c mit f ∈ N[X]\C und c ∈ N mittels eines Petri Netzes
Lemma 44. Sei f ∈ N[X]\C ein Polynom ohne konstanten Term mit Dimension k. Dann existiert ein Petri Netz N mit ausgezeichneten Stellen in1 , . . ., ink , out und einem Teilzustand s0 ∈ NP \{in1 ,...,ink } , das folgende Bedingung erf¨ ullt: Vom Startzustand s mit s(ini ) = xi ∈ N (1 ≤ i ≤ k) und s(p) = s0 (p) f¨ ur alle anderen Stellen ist f¨ ur jedes j ≤ f (x1 , . . . , xn ) ein Zustand sj mit sj (out) = j erreichbar. Beweis. Jedes Polynom ohne konstanten Term kann man darstellen, indem man nur Variablen (evtl. mehrfach), Addition und Multiplikation benutzt. Es gen¨ ugt also zu zeigen, dass man mit Petri Netzen eine Variable mehrfach kopieren, addieren, multiplizieren und die so gewonnenen Einzelnetze geeignet zusammenf¨ ugen kann. Die Abb. 4.5 zeigt das Addieren und Multiplizieren. Der Addierer ist selbsterkl¨ arend, der Multiplizierer arbeitet wie folgt: Der
4.3 Weitere Probleme mit Mengen von Markierungen
123
innere Kreis ist der Kontrollfluss, der Token kann den Kreis so oft umrunden, wie Token auf in1 sind, seien dies x St¨ uck. Jedesmal, wenn der Token oben ist, k¨ onnen die Token auf in2 , seien dies y St¨ uck, die obere H¨alfte des außeren Kreises durchlaufen und dabei y Token auf out legen. Um die Token ¨ auf in2 zur¨ uckzulegen, muss aber der Token des inneren Kreises nach unten wandern. Damit wurde dann ein Token von in1 verbraucht und gleichzeitig y Token zu out hinzugef¨ ugt. Wenn der Token des inneren Kreises x-mal herumgewandert ist, also x · y Token auf out liegen, endet die Tokenproduktion auf out. Man kann nat¨ urlich weniger Token auf out erzeugen, wenn man z.B. nicht alle Token des ¨ außeren Kreises jedesmal mitlaufen l¨asst. in1
out
6 ? -
in1
in2
6 @ R @
out
in2
? 6
? s 6 ?
(a) Addierer
?
(b) Multiplizierer
Abb. 4.5 Teilnetze f¨ ur das (a) Addieren und (b) Multiplizieren
Das Kopieren und Zusammenf¨ ugen geschieht ohne irgendwelche R¨ uckkopp¨ lungen (also ohne Mehrfachnutzung von Teilnetzen) durch simples Ubertragen des Ergebnisses eines Teilnetzes (oder der Token auf einer der ini -Stellen von f ) mittels einer einzelnen Transition auf die Eing¨ange derjenigen Teilnetze, die dieses Ergebnis ben¨ otigen. Wegen des R¨ uckkopplungsverbots sind keine Seiteneffekte m¨ oglich. Wir w¨ ahlen s0 (out) = 0 und auch f¨ ur fast alle anderen Stellen p schreiben wir s0 (p) = 0 vor. Lediglich die mit einem Token belegte Stelle des Multiplikationsnetzes aus Abb. 4.5 ist unter s0 belegt, dieser Token verbleibt jedoch im Netz und kann nicht auf out wandern. Damit haben wir gezeigt: Korollar 12. pZIP ist unentscheidbar.
124
4 Elementare Markierungsprobleme
Hat man erst einmal gezeigt, dass pZIP unentscheidbar ist, l¨asst sich auch die Unentscheidbarkeit von ZIP und ZGP mittels zweier sch¨oner Reduktionen aus der Feder von Hack [Hac76] zeigen. Satz 28. ZIP ist unentscheidbar. Beweis. Sei eine Testinstanz (N, s, N 0 , s0 , P0 ) ∈ pZIP? mit N = (P, T, F ) und N 0 = (P 0 , T 0 , F 0 ) gegeben. Wir erweitern zun¨achst N um die Stellen P 0 \P und N 0 um die Stellen P \P 0 , die jeweils v¨ ollig isoliert und ohne Starttoken zu b mit Anfangsmarkieden Netzen hinzugef¨ ugt werden. So entstehen Netze N b 0 mit Anfangsmarkierung sˆ0 . Beide Netze haben dieselbe Stellenrung sˆ und N menge Pb mit P0 ⊆ Pb. Offensichtlich gilt πP0 (E(N, s)) ⊆ πP0 (E(N 0 , s0 )) genau b , sˆ)) ⊆ πP (E(N b 0 , sb0 )) ist. Es gilt also (N, s, N 0 , s0 , P0 ) ∈ dann, wenn πP0 (E(N 0 0 0 b b pZIP ⇐⇒ (N , sˆ, N , sˆ , P0 ) ∈ pZIP. e , s˜, N e 0 , s˜0 ) ∈ ZIP? gem¨aß Wir konstruieren nun eine neue Testinstanz (N e ist praktisch identisch mit N b , es gibt lediglich zwei Abb. 4.6. Das Netz N neue, isolierte Stellen run und correct, wobei auf correct unter der erweiterten Anfangsmarkierung s˜ ein Token liegt. Ansonsten gilt s˜(p) = sˆ(p) f¨ ur die b. Stellen p aus N
run
run
l
'
e N b N P0 :
..j H . * ..H j . *
*.. H j.
..j H . *
*.. H j.
$ ' e0 N .H .. j * . 0 . b H * j. N
pm 1 .. pl *.. ..H *.. j l . * H * H j. . j.
&
P0 :
..H j . *
..j H . *
? tstop
pm 1 .. pl *.. ..H *.. j l . * H * H j. . j.
H j Pb\P0 :
t− p1
t+ p1
correct
*.. H j.
*.. ..H *.. j l l H * H j. . j.
% &
rl
$
...
*.. ..H *.. j l l H * H j. . j.
H j Pb\P0 :
rl 6I
6
%
O
...
t+ pm
66 - l y
R
t− pm
6
correct
Abb. 4.6 Konstruktion zur Reduktion von pZIP auf das Inklusionsproblem ZIP
4.3 Weitere Probleme mit Mengen von Markierungen
125
e 0 ist eine Erweiterung von N b 0 , allerdings ist diese deutlich komDas Netz N e und N e0 plexer. Es gibt ebenfalls zwei neue Stellen run und correct, so dass N dieselbe Stellenmenge besitzen. Unter der Anfangsmarkierung ist nun aber b 0 durch run markiert und nicht correct. Zudem sind alle Transitionen aus N eine Schlinge mit run verbunden, k¨ onnen also nur feuern, solange der Token auf run liegt. Mittels der Transition tstop kann man den Token von e 0 das Feuern weiterer Transitionen aus run auf correct legen und so in N 0 b N unterbinden. Nun kann man nur noch die Tokenzahl auf den Stellen aus Pb\P0 = {p1 , . . . , pm } nach Belieben ver¨ andern, indem man die Transitionen − + − e 0 m¨oglich, auf P0 t+ , t bis t , t je nach Wunsch feuert. Damit ist es in N p1 p1 pm pm b 0 m¨oglich ist, und auf Pb\P0 jede Tokenverteilung einzustellen, die auch in N jede beliebige Tokenverteilung. e erreichbarer Zustand, so kann man – falls (N b , sˆ, N b 0 , sˆ0 , P0 ) ∈ Ist nun s0 ein in N 0 e pZIP gilt – auf P0 in N denselben Zustand einstellen, dann tstop feuern und auf Pb\P0 ebenfalls denselben Zustand einstellen. Auf run und correct e 0 , s˜0 ). Ist stimmen die Zust¨ ande dann ebenfalls u ¨berein. Also ist s0 ∈ E(N 0 0 b b e (N , sˆ, N , sˆ , P0 ) ∈ / pZIP, so gibt es einen in N erreichbaren Zustand s0 , dese 0 nicht einstellbar ist, d.h. s0 ∈ e 0 , s˜0 ). sen Tokenverteilung auf P0 in N / E(N b , sˆ, N b 0 , sˆ0 , P0 ) ∈ pZIP ⇐⇒ (N e , s˜, N e 0 , s˜0 ) ∈ ZIP gezeigt. Damit ist (N Satz 29. ZGP ist unentscheidbar. Beweis. Eine Testinstanz (N, s, N 0 , s0 ) ∈ ZIP? sei gegeben. Wir konstruiee und N f0 mit demselben ren nun gem¨ aß Abb. 4.7 zwei neue Petri Netze N Startzustand s˜. Dazu erzeugen wir zun¨ achst quasi die Vereinigung der Netze N = (P, T, F ) und N 0 = (P, T 0 , F 0 ), indem wir die (in beiden Netzen identischen) Stellenmengen P = {p1 , . . . , pn } identifizieren. Damit keine Transitionen identifiziert werden k¨ onnen, gehen wir davon aus, dass T ∩T 0 = ∅ gilt. Zu dieser Vereinigung (P, T ∪˙ T 0 , F ∪ F 0 ) f¨ ugen wir drei neue Stellen start, run und run0 hinzu. Im Anfangszustand s˜, in dem insgesamt genau ein Token auf start liegt, k¨ onnen nur zwei neue Transitionen tN und tN 0 schalten, von denen aber nur eine maximal einmal feuerbar ist. Die feuernde Transition legt entweder den Anfangszustand s auf P und einen Token auf run oder den Anfangszustand s0 auf P und einen Token auf run0 . Die Stelle run ist mit jeder Transition aus N durch eine Schlinge verbunden, analog run0 mit den Transitionen aus N 0 . Daher kann je nach Auswahl der ersten feuernden Transition danach nur noch das Feuerverhalten eines der beiden Netze N oder N 0 nachgebildet werden. Entsprechend kann man entweder einen Token auf run und einen Zustand aus E(N, s) auf P erhalten oder einen Token auf run0 und einen Zustand aus E(N 0 , s0 ) auf P . e 0 , indem wir eine weitere TransitiAus dieser Konstruktion erhalten wir nun N 0 e 0 zus¨atzlich on tNe 0 einf¨ ugen, die den Token von run entfernt. Damit sind in N
126
4 Elementare Markierungsprobleme
'
$
e N tNe
6 '
$ '
N
' p
1
run
f¨ ur N)
$ tNe 0 6
R (run0 ] 6
e0 N $
...
...
R
&
...
K pn K
sN 0
sN 0
0
tN
& &
s
0
run ^ - (run 6 f¨ ur N 0)
N0 %
&
6
I
I %
tN 0
6
start
% %
Abb. 4.7 Die Konstruktionsidee zur Reduktion von ZIP auf das Gleichheitsproblem ZGP
alle Zust¨ ande erreichbar, in denen auf P ein Zustand aus E(N 0 , s0 ) erreicht e kann man wird, ansonsten aber keine Token mehr im Netz sind. Im Netz N dagegen mit den Transitionen tNe und tNe 0 den Token von run oder run0 entfernen. Hier sind also zus¨ atzlich alle Zust¨ ande erreichbar, in denen auf P ein Zustand aus E(N, s) ∪ E(N 0 , s0 ) erreicht wird, ansonsten das Netz aber leer ist. Nummeriert man die Stellen start, run und run0 als die Stellen n + 1 bis n + 3, so errechnet man insgesamt f¨ ur die Erreichbarkeitsmengen e , s˜) = {(0, 1, 0, 0)T } E(N ∪ E(N, s) × {(0, 1, 0)T } ∪ E(N 0 , s0 ) × {(0, 0, 1)T , (0, 0, 0)T } und
4.4 Lebendigkeit
127
e 0 , s˜) = {(0, 1, 0, 0)T } E(N ∪ E(N, s) × {(0, 1, 0)T , (0, 0, 0)T } ∪ E(N 0 , s0 ) × {(0, 0, 1)T , (0, 0, 0)T }. e , s˜) = E(N e 0 , s˜) genau dann, wenn E(N, s) × {(0, 0, 0)T } ⊆ Damit ist E(N 0 0 T E(N , s ) × {(0, 0, 0) } und ¨ aquivalent E(N, s) ⊆ E(N 0 , s0 ) gilt. Folglich haben wir e , s˜, N e 0 , s˜) ∈ ZGP (N, s, N 0 , s0 ) ∈ ZIP ⇐⇒ (N gezeigt und damit die Unentscheidbarkeit von ZGP durch Reduktion von ZIP nachgewiesen.
4.4 Lebendigkeit Wir untersuchen nun die Transitionen eines Petri Netzes im Hinblick auf die in Definition 33 eingef¨ uhrten Lebendigkeitsgrade und werden feststellen, dass die Frage nach der Lebendigkeit f¨ ur einzelne Transitionen stets entscheidbar ist. Es sind jedoch keine Algorithmen niedriger Komplexit¨at bekannt, die diese Eigenschaften entscheiden. Im Allgemeinen ben¨otigt man immer zumindest ¨ einen Uberdeckungsgraphen des Petri Netzes um Aussagen u ¨ber Lebendigkeit zu machen. Definition 65 (Lebendigkeitsprobleme). problem ELP ist die Menge
Das einfache Lebendigkeits-
ELP = {(N, s, t) | N = (P, T, F ) ist ein Petri Netz ∧ t ist einfach lebendig unter s}. Das endliche Lebendigkeitsproblem NLP ist die Menge NLP = {(N, s, t) | N = (P, T, F ) ist ein Petri Netz ∧ t ist endlich lebendig unter s}. Das schwache Lebendigkeitsproblem SLP ist die Menge SLP = {(N, s, t) | N = (P, T, F ) ist ein Petri Netz ∧ t ist schwach lebendig unter s}. Das (starke) Lebendigkeitsproblem LP ist die Menge
128
4 Elementare Markierungsprobleme
LP = {(N, s, t) | N = (P, T, F ) ist ein Petri Netz ∧ t ist stark lebendig unter s}. Das Gesamtlebendigkeitsproblem GLP ist die Menge GLP = {(N, s) | N = (P, T, F ) ist ein Petri Netz ∧ N ist stark lebendig unter s}. Das strukturelle Lebendigkeitsproblem STLP ist die Menge STLP = {N | N = (P, T, F ) ist ein Petri Netz ∧ ∃s ∈ NP : N ist stark lebendig unter s}.
Es ist nicht u ¨berraschend, wenn man bei den leichteren Lebendigkeitsproblemen ohne den Einsatz des Algorithmus zur Entscheidung des Erreichbarkeits¨ problems auskommt. Dennoch ben¨ otigen wir zumindest einen Uberdeckungsgraphen; diese Probleme sind also keineswegs trivial. Satz 30. ELP ist entscheidbar. Beweis. Sei (N, s, t) ∈ ELP? der durchzuf¨ uhrende Test. Wir zeigen, dass t ¨ einfach lebendig ist genau dann, wenn im Uberdeckungsgraphen Cov(N, s) ¨ eine Kante mit Beschriftung t vorkommt. Wegen der Endlichkeit des Uberdeckungsgraphen ist das Problem dann entscheidbar. W¨ are die Transition t einfach lebendig, so m¨ usste sie nach Lemma 13 im ¨ Uberdeckungsgraphen vorkommen. Existiert in Cov(N, s) eine Kante mit Beschriftung t, d.h., gibt es Knoten t v1 , v2 mit v1 → − v2 , so kann man nach Lemma 16 f¨ ur jedes k ∈ N einen Zustand sk mit sk ≤ω v1 und sk (p) ≥ k f¨ ur alle Stellen p ∈ P in N mit v1 (p) = ω erreichen. Insbesondere kann man k = maxp∈P F (p, t) w¨ahlen, dann ist sk (p) ≥ F (p, t) f¨ ur alle p ∈ P mit v1 (p) = ω. Da t als Kante von v1 ausgeht, gilt v1 [t>, und wegen v1 (p) = s(p) f¨ ur p ∈ P mit v1 (p) 6= ω gilt dann insgesamt sk (p) ≥ F (p, t) f¨ ur alle p ∈ P . Damit ist sk erreichbar und sk [t> gilt. Also ist t einfach lebendig. ¨ Ahnlich einfach ist die endliche Lebendigkeit zu entscheiden. Die folgende Idee geht auf Keller [Kel74] zur¨ uck. Satz 31. NLP ist entscheidbar.
4.4 Lebendigkeit
129
Beweis. Sei (N, s, t) ∈ NLP? der durchzuf¨ uhrende Test. Wir f¨ ugen zum Petri Netz N eine neue Stelle s0 hinzu. Es wird genau eine neue Kante von t nach s0 eingef¨ uhrt, weitere Verbindungen zwischen s0 und N existieren nicht. Offensichtlich erh¨ oht sich die Tokenzahl auf s0 mit jedem Feuern von t. Die 0 Stelle s ist damit genau dann unbeschr¨ ankt, wenn t beliebig oft feuern kann. ¨ Dies kann man nat¨ urlich leicht am Uberdeckungsgraphen ablesen. ¨ Selbst bei schwacher Lebendigkeit gen¨ ugt noch eine Analyse des Uberdeckungsgraphen, wie Valk und Jantzen [VJ85] gezeigt haben. Satz 32. SLP ist entscheidbar. Beweis. Sei (N, s, t) ∈ SLP? der durchzuf¨ uhrende Test. Wir zeigen, dass eine ¨ Transition schwach lebendig ist genau dann, wenn im Uberdeckungsgraphen Cov(N, s) = (V, E, T ) von N = (P, T, F ) ein Kreis % mit nicht-negativem Wechsel W (%) vorkommt, auf dem eine Kante mit Beschriftung t liegt. %
Ist t schwach lebendig, so gibt es einen unendlichen Weg % mit s [%> und s − → (in Cov(N, s)), auf dem t unendlich oft auftritt. Wegen der Endlichkeit von Cov(N, s) muss eine der t-Kanten in Cov(N, s) dabei unendlich oft durcht laufen werden. Dies sei die Kante v → − v 0 mit v, v 0 ∈ V . Bei jedem Durchlauf durch diese t-Kante wird dabei ein Kreis vollendet. Wir zerlegen nun % in ein Anfangsst¨ uck τ und die jeweils mit t beginnenden Kreise %i ∈ t · T ∗ , d.h. %1 %2 τ % = τ %1 %2 . . . mit s − → v −→ v −→ v . . .. Nun gibt es Zust¨ande v1 , v2 , . . . mit s [τ>v1 [%1>v2 [%2> . . . und diese Zust¨ ande bilden eine Folge (vj )j∈N . Nach Satz 1 besitzt diese Folge eine monoton wachsende Teilfolge (vj` )`∈N mit j` < j`+1 , d.h. vj1 ≤ vj2 . Damit gilt aber f¨ ur den Kreis %j1 +1 . . . %j2 gerade vj1 [%j1 +1 . . . %j2 >vj2 und damit W (%j1 +1 . . . %j2 )(p) ≥ 0 f¨ ur alle p ∈ P , d.h., dieser Kreis besitzt einen nicht-negativen Wechsel. %
Nehmen wir nun an, es existiere ein Kreis v − → v in Cov(N, s) mit W (%)(p) ≥ 0 f¨ ur alle p ∈ P und #t (%) > 0. Da der Knoten v vom Startzustand s in Cov(N, s) erreichbar ist (sonst w¨ are er nicht in Cov(N, s)), existiert nach Lemma 16 f¨ ur jedes k ∈ N ein Zustand sk ≤ω v und eine Feuersequenz σk mit s [σk>sk und sk (p) ≥ k f¨ ur alle p ∈ P mit v(p) = ω. Man w¨ahle k groß genug, so dass sk [%> gilt. Wegen des nicht-negativen Wechsels von % ist dann s [σk %`> f¨ ur alle ` ∈ N feuerbar. Somit ist jeder Pr¨afix des unendlichen Wortes σk %ω feuerbar und t kommt in diesem Wort unendlich oft vor, d.h. t ist schwach lebendig. ¨ Es bleibt damit zu zeigen, dass es entscheidbar ist, ob im Uberdeckungsgraphen Cov(N, s) ein Kreis % mit nicht-negativem Wechsel W (%) vorkommt, auf dem eine Kante mit Beschriftung t liegt. Da sich Kreise aus einfachen Kreisen zusammensetzen, gen¨ ugt es, alle Linearkombinationen von einfachen Kreisen
130
4 Elementare Markierungsprobleme
auf ihren Wechsel und das Vorkommen einer t-Kante hin zu pr¨ ufen. Ein Kreis enth¨ alt offensichtlich eine t-Kante, wenn er einen einfachen Kreis enth¨alt, der eine t-Kante besitzt. Wir partitionieren Cov(N, s) zun¨achst in seine strengen Zusammenhangskomponenten und untersuchen diese dann einzeln; Kreise, die die Grenzen von strengen Zusammenhangskomponenten u ¨berschreiten, kann es nicht geben. Seien nun %1 , . . ., %n alle einfachen Kreise mit t-Kanten und %n+1 , . . ., %k alle einfachen Kreise ohne t-Kanten in einer strengen Zusammenhangskomponente. Wir erstellen nun eine k-spaltige Matrix A, die in den Spalten gerade die Vektoren W (%i ) f¨ ur 1 ≤ i ≤ k enth¨alt. Eine L¨osung in N des linearen Ungleichungssystems Ax ≥ 0 mit x = (x1 , . . . , xk )T ∈ Nk liefert genau dann den gesuchten Kreis %x1 1 . . . %xkk , wenn xi > 0 f¨ ur ein i ∈ {1, . . . , n} gilt, also mindestens ein einfacher Kreis mit t-Kante darin vorkommt. Wir m¨ ussen also nur noch eine L¨ osung in N f¨ ur Ax ≥ 0 mit xi > 0 f¨ ur ein i ≤ n finden. Offensichtlich gilt Ax ≥ 0 genau dann, wenn Ax = y f¨ ur ein y = (y1 , . . . , y|P | ) ∈ N|P | gilt. Dies schreibt man auch als Ax − y = 0 und – wenn (A| − E) ∈ N|P |×(k+|P |) die Matrix bezeichnet, die durch Nebeneinanderlegen der Spalten von A und der negierten Einheitsmatrix −E entsteht – als (A| − E)z = 0 mit z = (x1 , . . . , xk , y1 , . . . , y|P | )T ∈ Nk+|P | . F¨ ur dies letztere Gleichungssystem lassen sich nach Satz 6 der Support supp (A| − E) und die L¨ osungswerte S(A|−E),0 auf dem Komplement des Supports bestimmen. Wir pr¨ ufen nun, ob es eine L¨ osung gibt, in der eine der Variablen x1 bis xn im Support liegt. Falls ja, so existiert der gesuchte Kreis. Ansonsten pr¨ ufen wir, ob eine der Variablen x1 bis xn in S(A|−E),0 einen positiven Wert annehmen kann. Auch in diesem Fall existiert der gesuchte Kreis. Sind x1 bis xn in jeder L¨ osung stets null, findet man zwar Kreise mit nicht-negativem Wechsel (im Zweifel den leeren“ Kreis mit x = 0), keiner dieser Kreise enth¨alt jedoch ” eine t-Kante. Das (starke) Lebendigkeitsproblem kann man entweder direkt auf das Erreichbarkeitsproblem zur¨ uckf¨ uhren, so geschehen bei Hack [Hac74], oder auf dem Umweg u ¨ber das Home Space Problem. Da wir die Entscheidbarkeit letzteren Problems f¨ ur lineare Home Spaces bereits gezeigt haben, gehen wir diesen – dann viel einfacheren – Weg. Satz 33. LP ist entscheidbar. Beweis. Sei (N, s, t) ∈ LP? der durchzuf¨ uhrende Test. Seien e1 , . . . , e|P | ∈ N|P | die Einheitsvektoren mit ei (i) = 1 und ei (j) = 0 f¨ ur i 6= j. Die Menge aller Zust¨ ande, in denen t feuerbar ist, ist S = {s0 | ∃k1 , . . . k|P | ∈ N : s0 = P|P | F (·, t) + i=1 ki · ei } und damit eine lineare Menge. Damit t lebendig ist, muss von jedem erreichbaren Zustand aus ein Zustand aus S erreicht werden k¨ onnen. Mit anderen Worten: S muss ein Home Space sein. Also gilt
4.4 Lebendigkeit
131
(N, s, t) ∈ LP ⇐⇒ (N, s, S) ∈ ZHP. Da lineare Home Spaces nach Satz 21 entscheidbar sind, ist auch LP entscheidbar. Zu entscheiden, ob ein Petri Netz insgesamt lebendig ist, ist nun einfach. Satz 34. GLP ist entscheidbar. Beweis. Da Petri Netze stets endlich sind, kann man LP f¨ ur jede Transition einzeln entscheiden. Ist jede Transition lebendig, so ist auch das Netz insgesamt lebendig. Analoge Aussagen zum letzten Satz gelten nat¨ urlich auch f¨ ur alle anderen Lebendigkeitsbegriffe, da man auch hier die Fragestellung f¨ ur jede Transition einzeln l¨ osen kann. Anders sieht das beim strukturellen Lebendigkeitsproblem STLP aus; hier ist bisher nichts u ¨ber die Entscheidbarkeit bekannt. Man kann jedoch den folgenden Zusammenhang herstellen. Satz 35. STLP ≤p pAHP. Beweis. Gem¨ aß den Beweisen zu den S¨ atzen 21 und 33 findet man zu einer Testinstanz (N, s) ∈ LP? eine lineare Menge S, ein Netz N 0 mit Zust¨anden s0 , s00 und eine Teilmenge P 0 der Stellenmenge von N 0 , so dass (N, s) ∈ LP ⇐⇒ (N, s, S) ∈ ZHP ⇐⇒ (N 0 , s0 , s00 , P 0 ) ∈ pHP gilt. Dabei ist N 0 die kanonische Erweiterung von N gem¨aß Abb. 4.3 und P 0 die Menge der Stellen, die nur in N 0 und nicht in N liegen, und die auch nicht von der Struktur von N abh¨ angt. Daraus folgt: N ∈ STLP ⇐⇒ ∃s : (N, s) ∈ LP ⇐⇒ ∃s0 , s00 : (N 0 , s0 , s00 , P 0 ) ∈ pHP ⇐⇒ ∃s0 : (N 0 , s0 , P 0 ) ∈ pAHP, 0
wobei s0 ∈ NP insbesondere nicht vom Zustand s (vgl. Satz 21) abh¨angt. ¨ Wir k¨ onnen daher die Aquivalenz verk¨ urzen zu N ∈ STLP ⇐⇒ (N 0 , s0 , P 0 ) ∈ pAHP, womit die gew¨ unschte Reduktion gezeigt ist. Man u ¨berzeugt sich leicht, dass die beiden Reduktionen LP ≤ ZHP nach Satz 33 und ZHP ≤ pHP nach Satz 21 beide polynomiell sind.
Kapitel 5
Feuersequenzen und Sprachen
W¨ ahrend wir uns in den vergangenen Kapiteln stets mit Zust¨anden von Petri Netzen befasst haben, wollen wir in diesem Kapitel nun die Feuersequenzen und die Sprachen von Petri Netzen in den Vordergrund stellen. Wir verweisen auf den Abschnitt 2.2.5 f¨ ur die grundlegenden Definitionen.
5.1 Das Wortproblem Das Wortproblem ist wohl die einfachste Frage, die man sich im Zusammenhang mit Sprachen von Petri Netzen stellen kann. Man ist lediglich daran interessiert, ob ein gegebenes Wort w Element der betrachteten Sprache ist. Wir unterscheiden bei den Sprachen hier nach den vier definierten Sprachtypen L, P , G und T , aber auch danach, ob die betrachteten Petri Netze frei, ε-frei oder uneingeschr¨ ankt sein sollen. F¨ ur jeden der sich so ergebenden zw¨ olf F¨ alle wollen wir zeigen, dass das Wortproblem jeweils entscheidbar ist. Definition 66. Sei X ∈ {L, P, G, T }. Das Wortproblem f¨ ur freie Petri Netze ist definiert als die Menge WPF(X) = {(N, w) |N = (P, T, F, s0 , Sf , Σ, h) ist ein freies Petri Netz ∧ w ∈ X(N )} Das Wortproblem f¨ ur ε-freie Petri Netze ist definiert als die Menge WPE(X) = {N | N = (P, T, F, s0 , Sf , Σ, h) ist ein ε-freies Petri Netz ∧ w ∈ X(N )} 133
134
5 Feuersequenzen und Sprachen
Das Wortproblem f¨ ur (uneingeschr¨ ankt beschriftete) Petri Netze ist definiert als die Menge WPU(X) = {N | N = (P, T, F, s0 , Sf , Σ, h) ist ein Petri Netz ∧ w ∈ X(N )}
Zun¨ achst halten wir fest, dass die Probleme f¨ ur freie und ε-freie Netze nahezu trivial zu entscheiden sind. Satz 36. Sei N ein ε-freies oder freies Petri Netz und w ein Wort. Dann ist f¨ ur X ∈ {L, P, G, T } jeweils entscheidbar, ob w ∈ WPE(X) bzw. w ∈ WPF(X) gilt. Beweis. Zu jedem Buchstaben aus w gibt es in N nur eine feste, endliche Anzahl von Transitionen, die diesen Buchstaben erzeugen k¨onnen (also mit ihm beschriftet sind). Es gibt also nur endlich viele Transitionsw¨orter, deren Beschriftung das Wort w ergibt. Pr¨ uft man alle diese Transitionsw¨orter, ob sie tats¨ achlich feuerbar sind und einen Zustand erreichen, der der Endzustandsbedingung des Sprachtyps entspricht, so hat man damit das Wortproblem gel¨ ost. Nicht ganz so trivial ist der Fall, wenn auch ε-beschriftete Transitionen zugelassen sind. Dann kann man in ein Transitionswort, dessen Beschriftung das gesuchte Wort w erzeugt, n¨ amlich noch beliebig ε-Transitionen einf¨ ugen. Das heißt, eine Feuersequenz kann beliebig l¨anger sein als das von ihr durch die Beschriftung erzeugte Wort. Damit ist die Zahl der zu testenden Transitionsw¨ orter zu einem gesuchten Wort w nicht mehr beschr¨ankt. Eine kleine Manipulation des Petri Netzes gen¨ ugt jedoch, um das Wortproblem auf das Erreichbarkeitsproblem zu reduzieren. Satz 37. Das Wortproblem WPU(X) ist f¨ ur die Sprachtypen X ∈ {P , G, L, T } entscheidbar. Beweis. Sei eine Instanz (N, w) gegeben, f¨ ur die das Wortproblem zu l¨osen ist. Zum Petri Netz N = (P, T, F, s0 , Sf , Σ, h) konstruieren wir nun ein modifiziertes Netz N 0 = (P 0 , T 0 , F 0 , s00 , Sf0 , Σ 0 , h0 ) wie folgt: Wir f¨ ugen |w| + 1 neue Stellen ins Netz ein, d.h. P 0 = P ∪ {pi | 0 ≤ i ≤ |w|} mit P 0 ∩ P = P (was durch Umbenennen sichergestellt werden kann). Wir u ¨bernehmen alle ε-beschrifteten Transitionen und fertigen f¨ ur jedes einzelne Vorkommen eines Buchstaben a im Wort w jeweils eine Kopie von jeder Transition an, die mit a beschriftet ist: T 0 = {t ∈ T | h(t) = ε} ∪ {ti | t ∈ T ∧ w(i) = a}. Wir legen eine Projektion g : T 0 → T mit g(t) = t falls h(t) = ε und g(ti ) = t fest.
5.1 Das Wortproblem
135
Wir beschriften die Transitionen wie im Netz N : ∀t ∈ T 0 : h0 (t) = h(g(t)). Das Alphabet Σ 0 besteht demzufolge aus allen Buchstaben aus Σ, die im Wort w vorkommen. Gegen¨ uber dem Netz N f¨ ugen wir nur noch Kanten von und zu den neuen Stellen hinzu. Die u ¨brigen Kanten u ¨bernehmen wir aus N . Wir setzen also f¨ ur alle p ∈ P : F 0 (p, ·) = F (p, ·) und F 0 (·, p) = F (·, p) und zus¨ atzlich f¨ ur ti ∈ T 0 mit h0 (ti ) 6= ε: F 0 (pi−1 , ti ) = 1 = F 0 (ti , pi ). Andere Kanten gibt es nicht. F¨ ur die Anfangsmarkierung sehen wir einen zus¨ atzlichen Token auf p0 vor, f¨ ur die Endmarkierungen einen Token auf p|w| , also s00 |P = s0 , s0 (p0 ) = 1 und s0 (pi ) = 0 f¨ ur 1 ≤ i ≤ |w| sowie Sf0 = {s0f | s0f |P ∈ Sf ∧ s0f (p|w| ) = 1 ∧ ∀i ∈ {0, . . . , |w| − 1} : s0f (pi ) = 0}. Damit schiebt jede nicht mit ε-beschriftete Transition in N 0 den Token von p0 eine Stelle weiter, wobei jeweils nur diejenigen Transitionen feuern k¨onnen, die mit dem n¨ achsten zu erzeugenden Buchstaben aus w beschriftet sind. Mit ε-beschriftete Transitionen sind hingegen nicht von dem Token abh¨angig, das anfangs auf p0 liegt. Da wir die Kantenstruktur von N u ¨bernommen haben, gilt f¨ ur Feuersequenzen σ offensichtlich s00 [σ>N 0 ⇒ s0 [g(σ)>N . Ist h0 (σ) ein Pr¨ afix von w, dann gilt auch die Umkehrung dieser Implikation: Nehmen wir an, σ = σ1 tσ2 und es haben bereits s0 [g(σ1 )>N s1 und s00 [σ1>N 0 s01 gefeuert, wobei s01 |P = s1 und s01 (pi ) = 1 f¨ ur ein genau i mit 0 ≤ i ≤ |w| gilt. Dann wurden bereits die ersten i Buchstaben von w mittels σ1 erzeugt. Ist g(t) = t und h0 (t) = ε, so besitzen t (in N 0 ) und g(t) (in N ) denselben Vorund Nachbereich, und es gilt s1 [g(t)>N s2 ⇒ s01 [t>N 0 s02 mit s02 |P = s2 und s02 |P 0 \P = s01 |P 0 \P , und in σ1 t wurden weiterhin die ersten i Buchstaben von w erzeugt. Ist aber h0 (t) 6= ε, so gibt es eine Transition ti+1 in g −1 (g(t)), die gerade pi im Vorbereich hat (und pi+1 im Nachbereich), sonst aber denselben Effekt hat wie g(t). Wir k¨ onnen also s1 [g(t)>N s2 und s01 [ti+1>N 0 s02 feuern 0 0 mit s2 |P = s2 und s2 (pi+1 ) = 1. Entsprechend wurden die ersten i + 1 Buchstaben von w erzeugt. Insgesamt erhalten wir damit eine Induktion, die aus einer Feuersequenz f¨ ur das Wort w in N eine Feuersequenz f¨ ur das Wort w in N 0 macht, wobei die nicht mit ε beschrifteten Transitionen in N 0 geeignet gew¨ ahlt werden m¨ ussen. Außer f¨ ur X = T ist w ∈ X(N ) genau dann, wenn w ∈ X(N 0 ) gilt und dabei eine Feuersequenz benutzt werden kann, die einen Token auf p|w| legt. Im Falle X = P m¨ ussen wir also nur testen, ob ein Zustand s mit s(p|w| ) = 1 erreicht werden kann. Wir haben also eine Reduktion mit w ∈ P (N ) ⇐⇒ (N 0 , s00 , s) ∈ pEP, wobei der partielle Zustand s nur auf p|w| definiert ist. Ist X = L, so muss einfach ein Endzustand in N 0 erreicht werden, es gilt also w ∈ L(N ) ⇐⇒ ∃sf ∈ Sf0 : (N 0 , s00 , sf ) ∈ EP. F¨ ur X = G gen¨ ugt es, einen Endzustand zu u ¨berdecken, da auf p|w| ohnehin maximal ein Token liegen ¨ F¨ kann, also gilt w ∈ G(N ) ⇐⇒ ∃sf ∈ Sf0 : (N 0 , s00 , sf ) ∈ UP. ur X = T schließlich sei D die semi-lineare Menge der Deadlocks von N und D0 := {d ∈ 0 NP | πP (d) ∈ D ∧ d(p|w| ) = 1}. Offensichtlich ist D0 auch semi-linear und enth¨ alt genau die Zust¨ ande, die zur Akzeptanz in T (N ) f¨ uhren und zu deren
136
5 Feuersequenzen und Sprachen
Erreichen gerade w abgearbeitet wurde. Also gilt w ∈ T (N ) ⇐⇒ D0 ist in N 0 von s00 aus erreichbar. Die Erreichbarkeit semi-linearer Menge ist aber ja entscheidbar. Damit sind die Wortprobleme in allen F¨allen entscheidbar. F¨ ur die Wortprobleme der P - und G-Sprachtypen gibt es eine einfachere L¨ osung, wie auch schon Hack [Hac76b] erkannt hat. Da man hier nur auf die ¨ ¨ Uberdeckung eines oder mehrerer Zust¨ ande testen muss, gen¨ ugt es, den Uberdeckungsgraphen zu konstruieren, statt einen kompletten Erreichbarkeitstest zu machen.
5.2 Das Leerheitsproblem Das Leerheitsproblem ist die Frage, ob eine spezifizierte Menge leer ist. Als Mengen kommen dabei in unserem Fall die verschiedenen Sprachmodelle eines Petri Netzes in Frage. Wir unterscheiden wieder nach den vier definierten Sprachtypen L, P , G und T und danach, ob die betrachteten Petri Netze frei, ε-frei oder uneingeschr¨ ankt sind. F¨ ur jeden der sich so ergebenden zw¨ olf F¨ alle wollen wir zeigen, dass das Leerheitsproblem, also die Frage, ob die Sprache eines gegebenen Petri Netzes leer ist, jeweils entscheidbar ist. Definition 67. Sei X ∈ {L, P, G, T }. Das Leerheitsproblem f¨ ur freie Petri Netze ist definiert als die Menge LPF(X) = {N | N = (P, T, F, s0 , Sf , Σ, h) ist ein freies Petri Netz ∧ X(N ) = ∅} Das Leerheitsproblem f¨ ur ε-freie Petri Netze ist definiert als die Menge LPE(X) = {N | N = (P, T, F, s0 , Sf , Σ, h) ist ein ε-freies Petri Netz ∧ X(N ) = ∅} Das Leerheitsproblem f¨ ur (uneingeschr¨ ankt beschriftete) Petri Netze ist definiert als die Menge LPU(X) = {N | N = (P, T, F, s0 , Sf , Σ, h) ist ein Petri Netz ∧ X(N ) = ∅}
5.2 Das Leerheitsproblem
137
Zun¨ achst halten wir fest, dass es ausreicht, die Probleme LPF(X) zu betrachten, da LPE(X) und LPU(X) dazu ¨ aquivalent sind. Lemma 45. Sei N ein beliebiges Petri Netz und N f die freie Version von N . Dann gilt f¨ ur X ∈ {L, P, G, T } jeweils X(N ) = ∅ ⇐⇒ X(N f ) = ∅. Beweis. Sei w ∈ X(N ). Es existiert eine Feuersequenz σ mit h(σ) = w. Offensichtlich ist σ auch eine Feuersequenz in N f , und damit ist id(σ) = σ ∈ X(N f ), da die Beschriftungsfunktion von N f die Identit¨at ist. Ist umgekehrt σ ∈ X(N f ), so ist σ eine Feuersequenz in N f und damit auch in N . Also ist h(σ) ∈ X(N ). Hierbei ist zu beachten, dass f¨ ur N und N f exakt die gleichen Akzeptanzbedingungen gefordert werden (also z.B. f¨ ur X = T das Erreichen eines Deadlocks), dass diese Bedingungen jedoch nur von der erreichten Markierung abh¨ angen und insbesondere nicht von der Beschriftung h. Damit gen¨ ugt es uns zu zeigen, dass die vier Mengen LPF(L), LPF(P ), LPF(G) und LPF(T ) entscheidbar sind. Wir beginnen mit dem einfachsten Fall. Satz 38. LPF(P ) ist entscheidbar (und leer). Beweis. N ∈ LPF(P ) gilt genau dann, wenn in N keine einzige Feuersequenz feuerbar ist. Die leere Sequenz ε ist aber immer feuerbar. Daher gibt es kein Petri Netz N , das in LPF(P ) liegt. LPF(P ) ist leer und die leere Menge ist bekanntlich entscheidbar.
Satz 39. LPF(L) ist entscheidbar. Beweis. Sei N = (P, T, F, s0 , Sf , T, id) ein freies Petri Netz. F¨ ur jeden der endlich vielen Endzust¨ ande sf ∈ Sf ist das Erreichbarkeitsproblem “(N, s0 , sf ) ∈ EP?” entscheidbar. F¨ allt diese Entscheidung f¨ ur einen der Endzust¨ ande sf positiv aus, so liefert das Pumping-Lemma von Lambert eine Feuersequenz von s0 nach sf . Damit ist L(N ) nicht leer und N ∈ / LPF(L). F¨ allt die Entscheidung negativ aus, so ist kein Endzustand erreichbar, d.h. L(N ) = ∅ und N ∈ LPF(L). Damit ist die Fragestellung “N ∈ LPF(L)?” gel¨ ost.
Satz 40. LPF(G) ist entscheidbar. Beweis. Wir m¨ ussen pr¨ ufen, ob zu einem freien Petri Netz N = (P, T, F, s0 , Sf , T, id) ein Zustand s mit s ≥ sf ∈ Sf erreichbar ist. Hierzu betrachten wir den
138
5 Feuersequenzen und Sprachen
¨ Uberdeckungsgraphen Cov(N, s0 ). Falls dort ein Knoten s mit s ≥ sf ∈ Sf existiert, so kann man diesen Knoten auch mit einer Feuersequenz erreichen. An den ω-Stellen von s kann man dabei insbesondere nach Lemma 16 simultan beliebig große Werte erreichen, so dass man sf dort stets u ¨bertreffen kann. Damit ist G(N ) 6= ∅ und N ∈ / LPF(G). Ist kein Knoten s mit s ≥ sf ∈ Sf in Cov(N, s0 ) vorhanden, so kann auch kein solcher Zustand erreicht werden und G(N ) = ∅ sowie N ∈ LPF(G) gelten. Also ist LPF(G) entscheidbar.
Satz 41. LPF(T ) ist entscheidbar. Beweis. Es ist zu pr¨ ufen, ob in einem freien Petri Netz N = (P, T, F, s0 , Sf , T , id) irgendein Deadlock erreichbar ist. Falls ja, so gilt N ∈ / LPF(T ), falls nein gilt N ∈ LPF(T ). Das Deadlockproblem ist nach Satz 14 entscheidbar.
5.3 Das Endlichkeitsproblem Das Endlichkeitsproblem ist die Frage, ob eine spezifizierte Menge endlich ist. Als Mengen kommen wieder die verschiedenen Sprachen eines Petri Netzes in Frage, wir unterteilen weiterhin nach freien, ε-freien und uneingeschr¨ankten“ ” Petri Netzen. F¨ ur jeden der sich so ergebenden F¨alle wollen wir zeigen, dass das Endlichkeitsproblem jeweils entscheidbar ist. Definition 68. Sei X ∈ {L, P, G, T }. Das Endlichkeitsproblem f¨ ur freie Petri Netze ist definiert als die Menge EPF(X) = {N | N = (P, T, F, s0 , Sf , Σ, h) ist ein freies Petri Netz ∧ |X(N )| ∈ N} Das Endlichkeitsproblem f¨ ur ε-freie Petri Netze ist definiert als die Menge EPE(X) = {N | N = (P, T, F, s0 , Sf , Σ, h) ist ein ε-freies Petri Netz ∧ |X(N )| ∈ N} Das Endlichkeitsproblem f¨ ur (uneingeschr¨ ankt beschriftete) Petri Netze ist definiert als die Menge EPU(X) = {N | N = (P, T, F, s0 , Sf , Σ, h) ist ein Petri Netz ∧ |X(N )| ∈ N}
5.3 Das Endlichkeitsproblem
139
Im Gegensatz zum Leerheitsproblem gen¨ ugt es nun nicht, lediglich die Probleme f¨ ur freie Petri Netze zu betrachten. Es ist problemlos m¨oglich, dass ein Petri Netz N unendlich viele Feuersequenzen besitzt, die zu einer der Sprachen seiner freien Version N f beitragen, dass jedoch die Beschriftungsfunktion h diese unendlich vielen Feuersequenzen auf nur endlich viele verschiedene W¨ orter abbildet. Dies passiert z.B., wenn t die einzige Transition von N ist, die in einer Feuersequenz beliebig oft vorkommen kann, und h(t) = ε gilt. Obwohl es beliebig lange Feuersequenzen gibt, sind die mittels h erzeugten W¨ orter in der L¨ ange beschr¨ ankt, d.h., es gibt nur endlich viele davon. Satz 42. EPU(P ), EPE(P ) und EPF(P ) sind entscheidbar. Beweis. Nach Satz 31 ist das endliche Lebendigkeitsproblem f¨ ur alle Transitionen eines betrachteten Petri Netzes N entscheidbar. Existiert eine nicht mit ε beschriftete, endlich lebendige Transition, so gibt es f¨ ur jedes k ∈ N eine Feuersequenz, in der diese Transition genau k-mal vorkommt. Also gibt es unendlich viele W¨ orter in P (N ). F¨ ur jede Transition, die nicht endlich lebendig ist, existiert eine obere Schranke j; h¨ aufiger als j-mal kann die Transition in keiner Feuersequenz auftreten. Sind alle nicht mit ε beschrifteten Transitionen nicht endlich lebendig, so ist die Summe aller oberen Schranken des Auftretens dieser Transitionen gleichzeitig die maximale Wortl¨ange in P (N ). Damit enth¨ alt P (N ) nur endlich viele W¨ orter. Satz 43. EPU(G), EPE(G) und EPF(G) sind entscheidbar. Beweis. Sei N = (P, T, F, s0 , Sf , Σ, h). Um die Fragestellung N ∈ EPU(G)?“ ” ¨ zu l¨ osen, untersuchen wir im Uberdeckungsgraphen Cov(N, s0 ) jeden erweiterten Zustand s, f¨ ur den ein sf ∈ Sf mit s ≥ sf existiert. Wir bestimmen alle einfachen Wege von s0 zu einem solchen Zustand s und f¨ ur alle Zust¨ande auf einem solchen Weg jeweils die strengen Zusammenhangskomponenten. Enth¨ alt eine der strengen Zusammenhangskomponenten eine Kante, die mit einer nicht-ε-Transition beschriftet ist, so findet man offensichtlich Wege von s0 nach s, auf denen diese Kante beliebig oft auftritt. Ein solcher Weg ist nicht zwingend direkt feuerbar, aber wann immer ein Weitergehen auf dem Weg unm¨ oglich ist, liegt dies an einer mangelnden Tokenzahl auf einer Stelle p mit s(p) = ω. An einem geeigneten Punkt auf dem Weg kann man die Tokenzahl auf dieser Stelle daher gen¨ ugend erh¨ ohen, so dass der so erweiterte Weg feuerbar wird. Da die Beschriftungen der betrachteten Wege beliebig lang werden k¨ onnen, ist G(N ) unendlich groß und N ∈ / EPU(G) (oder EPE(G) ode EPF(G)). Enthalten alle strengen Zusammenhangskomponenten auf einem Weg von s0 nach s nur ε-beschriftete Transitionen (oder bestehen nur aus einem Knoten), so k¨ onnen aus solchen Wegen keine beliebig langen W¨orter entstehen. Kommt man f¨ ur alle betrachteten Zust¨ande s zu diesem Ergebnis, so muss G(N ) endlich und N ∈ EPU(G) (bzw. EPE(G) bzw. EPF(G)) sein.
140
5 Feuersequenzen und Sprachen
Bevor wir die Entscheidbarkeit f¨ ur die L- und T -Klassen zeigen k¨onnen, m¨ ussen wir zuerst ein einfacheres Problem l¨ osen, n¨amlich die Frage, ob man auf unendlich vielen Wegen von einem Start- zu einem Zielzustand gelangen kann. Satz 44. Die Frage, ob es unendlich viele Feuersequenzen vom Startzustand eines Petri Netzes zu einem festen Zielzustand gibt, also ob ein Paar (N, s) in der Menge UFZP = {(N, s) | N = (P, T, F, s0 ) ist ein Petri Netz ∧ s ∈ NP ∧ {σ ∈ T ∗ | s0 [σ>s} ist unendlich groß} liegt, ist entscheidbar. Beweis. ZZEP ist entscheidbar, d.h., wir k¨ onnen bei gegebenem Netz N = (P, T, F, s0 ) und weiterem Zustand s feststellen, ob es unendlich viele Zust¨ande s0 mit s0 ∈ E(s0 ) und s ∈ E(s0 ) gibt. Ist dies der Fall, so gibt es zu jedem der unendlich vielen s0 ein σ = σ1 σ2 mit s0 [σ1>s0 [σ2>s, also eine Feuersequenz von s0 nach s. W¨ aren dies nur endlich viele verschiedene Feuersequenzen, so m¨ ussten unendlich viele verschiedene Zust¨ ande s0 dabei auf dieselbe Feuersequenz σ abgebildet werden. Da alle diese Zust¨ande beim Feuern der Sequenz betreten werden, muss die Sequenz unendlich lang sein. Da die Sequenz aber im Zustand s0 beginnt und in s endet, ist das nicht m¨oglich. Also haben wir in diesem Fall unendlich viele verschiedene Feuersequenzen von s0 nach s gefunden. Gibt es nur endlich viele m¨ ogliche Zwischenzust¨ande auf den Wegen von s0 nach s, so kann es nur dann unendlich viele verschiedene Feuersequenzen von s0 nach s geben, wenn wenigstens ein Zustand auf dem Weg unendlich oft betreten werden kann. Dies l¨ asst sich aber pr¨ ufen. Bei der L¨osung einer Instanz ((P, T, F ), s0 , s) ∈ ZZEP?“ des ZZEP erh¨alt man eine perfekte Menge ” von Keim-Transition-Folgen, die zusammen die Menge aller Feuersequenzen von s0 nach s repr¨ asentieren. Gibt es nur endlich viele Zwischenzust¨ande, so taucht in keiner der l¨ osbaren Keim-Transition-Folgen F ein ω auf. Damit es unendlich viele verschiedene Wege durch eine Keim-Transition-Folge F gibt, muss diese einen Kreis enthalten, der nat¨ urlich nur in einem ihrer Keime Ki liegen kann. Da der Keim Ki nur u ¨ber den Zentralknoten si betreten und verlassen werden kann, existiert also ein (nicht leerer) Weg ηi von si nach si mit si ∈ NP . Dieser Weg ist nun aber per definitionem eine u ¨berdeckende Feuersequenz. Wir konstruieren aus ηi die Doppelfolge ((ε, ε), . . . , (ηi , ε), . . . , (ε, ε)), die nur f¨ ur den Keim Ki ein nicht-leeres Wort enth¨alt, n¨amlich ηi . (Hier ist ε ebenfalls jeweils eine u ¨berdeckende Feuersequenz, da F kein ω enth¨alt.) Das Pumping-Lemma von Lambert liefert zu dieser Doppelfolge nun eine Schar von Feuersequenzen εk β0 α0k εk t1 . . . ηik βi αik εk ti+1 . . . tn εk βn αnk εk , die mit zunehmendem k l¨anger werden (da ηi nicht leer ist) und alle bei s0 beginnen
5.3 Das Endlichkeitsproblem
141
und bei s aufh¨ oren. Existiert auf der anderen Seite in keinem der Keime Ki einer perfekten Keim-Transition-Folge F ein Kreis, so m¨ ussen alle Keime bis auf den Zentralknoten si jeweils leer sein, da Keime streng zusammenh¨angend sind. Dann ist die einzige Feuersequenz, die eine solche Keim-Transition-Folge F = K0 t1 K1 . . . tn Kn repr¨ asentiert, gerade die Sequenz t1 . . . tn . Wir k¨onnen also zu jeder der endlich vielen perfekten Keim-Transition-Folgen entscheiden, ob sie unendlich viele Feuersequenzen von s0 nach s repr¨asentiert oder nicht.
Satz 45. EPU(L), EPE(L) und EPF(L) sind entscheidbar. Beweis. Sei N = (P, T, F, s0 , Sf , Σ, h) das zu untersuchende Petri Netz. Da UFZP entscheidbar ist, k¨ onnen wir f¨ ur jeden Zustand aus sf ∈ Sf feststellen, ob es unendlich viele Feuersequenzen von s0 nach sf gibt. Wenn N frei oder zumindest ε-frei ist, ist man damit bereits fertig. Ist N nicht ε-frei und gibt es einen Zustand sf mit unendlich vielen Feuersequenzen von s0 nach sf , so muss man nun noch feststellen, ob daraus auch unendlich viele verschiedene W¨ orter in L(N ) werden. Dazu untersucht man die beim L¨osen des Problems (N, sf ) ∈ UFZP?“ entstehenden perfekten Keim-Transition-Folgen F. Be” sitzt eine solche Folge F unendlich viele L¨ osungen (was ja entscheidbar ist), so pr¨ uft man die Kanten aller Keime in F. Da alle Kanten aller Keime einer perfekten Keim-Transition-Folge zum Support ihrer Charakteristischen Gleichung geh¨ oren, konstruiert das Pumping-Lemma von Lambert (Satz 11) L¨ osungen, in denen alle diese Kanten beliebig oft auftreten. Jede Transition, die als Beschriftung einer solchen Kante auftritt, kann also in L¨osungen beliebig oft auftreten. Ist eine dieser Transitionen nicht mit ε beschriftet, so taucht das entsprechende Symbol also in W¨ortern aus L(N ) beliebig oft auf. Damit muss L(N ) unendlich groß sein. Sind alle Kanten aller Keime von F = K0 t1 K1 . . . tn Kn mit ε-Transitionen beschriftet, so erzeugt offenbar jede L¨ osung von F zwar eine andere Feuersequenz, aber alle diese Feuersequenzen werden auf dasselbe Wort h(t1 . . . tn ) abgebildet. Also tr¨agt jede l¨osbare perfekte Keim-Transition-Folge entweder ein Wort oder unendlich viele W¨orter zu L(N ) bei, und dies ist entscheidbar.
Satz 46. EPU(T ), EPE(T ) und EPF(T ) sind entscheidbar. Beweis. Die Entscheidbarkeit von EPU(T ), EPE(T ) und EPF(T ) l¨asst sich analog zur Entscheidbarkeit von EPU(L), EPE(L) bzw. EPF(L) nachweisen. Anstelle der Menge Sf der Endzust¨ ande als Zielzust¨ande muss hier die (unendliche) Menge aller Deadlocks untersucht werden, die sich aber endlich darstellen l¨ asst als Menge aller erweiterten Zust¨ande (¨ uber Nω ), bei denen f¨ ur jede Transition eine Stelle zuwenig Token zum Feuern dieser Transition
142
5 Feuersequenzen und Sprachen
aufweist und die Tokenzahl aller so nicht betroffenen Stellen auf ω gesetzt wird. Es ist offensichtlich, dass jeder Deadlock unter einen solchen erweiterten Zustand f¨ allt und dass andere Zust¨ ande damit nicht erfasst werden. Da es f¨ ur jede Stelle p nur endlich viele M¨ oglichkeiten f¨ ur die Tokenzahl gibt (ω oder weniger als F (p, t) f¨ ur eine der Transitionen t ∈ T ), ist die Menge der zu pr¨ ufenden erweiterten Zust¨ ande endlich. Neben den maximalen, endlichen Feuersequenzen, die beim T -Typ zur Sprache beitragen, kann man auch die unendlichen Feuersequenzen betrachten. W¨ ahrend die Frage nach der Existenz solcher unendlichen Feuersequenzen einfach die Frage nach der Existenz einer schwach lebendigen Transition ist, ist die Frage, ob es endlich oder unendlich viele solcher Feuersequenzen gibt, nicht mehr ganz so einfach zu beantworten. Definition 69. Sei U F (N ) die Menge aller unendlich langen Feuersequenzen eines Petri Netzes N . Das Endlichkeitsproblem f¨ ur unendliche Feuersequenzen EUFP ist die Menge EUFP = {N | N = (P, T, F, s0 ) ist ein Petri Netz ∧ |U F (N )| ∈ N}. Satz 47. EUFP ist entscheidbar. Beweis. Sei N = (P, T, F, s0 ) ein Petri Netz. Eine unendliche Menge von unendlichen Feuersequenzen impliziert eine Transition t ∈ T , die in unendlich vielen unendlich langen Feuersequenzen unendlich oft vorkommt (und umgekehrt). Um dies zu testen, modifizieren wir den Beweis zur Entscheidbarkeit der schwachen Lebendigkeit (Satz 32), in dem gepr¨ uft wurde, ob eine Transition t in einer unendlich langen Feuersequenz unendlich oft vorkommt. In Satz 32 haben wir gezeigt, dass eine Transition t genau dann schwach lebendig ist, wenn ein Kreis mit nichtnegativem Wechsel und einer t-Kante in Cov(N ) vorkommt. Wir machen nun folgende Aussage: Es gibt unendlich viele unendlich lange Feuersequenzen genau dann, wenn es zwei (evtl. identische) Kreise mit nichtnegativem Wechsel in Cov(N ) gibt, die durch einen Weg verbunden sind. Sind die beiden Kreise identisch, so muss der Weg mindestens eine Kante enthalten, die nicht zum Kreis geh¨ort. Zur Richtung “⇐”: Wir nehmen an, es gibt zwei Kreise %, %0 und zwei Knoten %
%0
κ
v, v 0 mit v − → v, v 0 −→ v 0 und einen Weg κ mit v − → v 0 . Nach Lemma 16 finden wir einen Zustand sk und eine Feuersequenz σk mit s0 [σk>sk ≤ω v und sk (p) ≥ k f¨ ur alle p ∈ P mit v(p) = ω. Mit demselben Lemma finden wir einen Zustand s` und eine Feuersequenz κ` mit v [κ`>s` ≤ω v 0 und s` (p) ≥ `
5.3 Das Endlichkeitsproblem
143
f¨ ur alle p ∈ P mit v 0 (p) = ω 6= v(p). F¨ ur gen¨ ugend großes k ist κ` auch unter sk feuerbar, und f¨ ur gen¨ ugend großes k und ` wird der Kreis %0 unter s` feuerbar. Wir erhalten dann mit s0 [σk %i κ` %0ω> f¨ ur jedes i ∈ N eine andere unendliche Feuersequenz. Dabei erm¨ oglicht die lokale Determiniert¨ heit des Uberdeckungsgraphen die Identifikation der Position von κ` in der Feuersequenz, selbst wenn % = %0 gilt. Zur Richtung “⇒”: Nach Satz 32 wissen wir, dass nur Kreise mit nichtnegativem Wechsel unendliche Feuersequenzen zur Folge haben. Wir nehmen nun an, dass keine Kreise mit nichtnegativem Wechsel in Cov(N ) durch Wege verbunden sind; insbesondere existiere auch kein solcher Kreis mit einem Weg zu sich selbst, der außerhalb des Kreises liegt. Sei % nun ein Kreis mit % nichtnegativem Wechsel und v ein Knoten mit v − → v. Eine unendliche Feuersequenz, die diesen Kreis benutzt, hat die Gestalt σ%ω , da der Kreis nicht verlassen werden kann. (Ansonsten k¨ onnte die Feuersequenz nicht unendlich sein, weil kein solcher Kreis noch einmal betreten werden kann, auch nicht % selbst.) Damit man durch diesen Kreis unendlich viele unendliche Feuersequenzen bekommen kann, m¨ usste es f¨ ur die Auswahl von σ unendlich viele M¨ oglichkeiten geben (wobei wir oBdA verbieten, dass σ selbst % enth¨alt). Bezeichnen wir die Menge aller Feuersequenzen σ, nach denen der Kreis % irgendwann betreten werden kann, mit V ; ferner bezeichne Vi die Menge aller W¨ orter der L¨ ange i in V . Mit der Relation v → − w ⇐⇒ ∃t ∈ T : w = vt erhalten wir einen Graphen u ber V . Nehmen wir nun an, V sei unendlich groß, ¨ dann k¨ onnen wir K¨ onigs Lemma anwenden. Es existiert damit ein unendliches Wort u afix in V liegt, also feuerbar ist. Dieses ¨ber T , von dem jeder Pr¨ ¨ unendliche Wort l¨ auft im Uberdeckungsgraphen (der endlich ist) Kreise ab. Von diesen Kreisen muss gem¨ aß dem Beweis zu Satz 32 wenigstens einer einen nichtnegativen Wechsel haben. Außerdem gibt es von diesem Kreis aus einen Weg zu %, da man nach jeder Feuersequenz aus V % noch erreichen kann. Dies widerspricht aber der Voraussetzung, folglich war die Annahme, dass V unendlich groß ist, falsch. Es gibt also zu dem betrachteten Kreis % nur endlich viele unendliche Feuersequenzen der Gestalt σ%ω . Da dies f¨ ur jeden Kreis mit nichtnegativem Wechsel gilt, ist die Kardinalit¨at der Menge der unendlichen Feuersequenzen insgesamt endlich. ¨ Es bleibt nur noch zu zeigen, dass es entscheidbar ist, ob ein Uberdeckungsgraph zwei Kreise mit nichtnegativem Wechsel enth¨alt, die durch einen Weg verbunden sind. Nach dem Beweis zu Satz 32 kann man die Kreise mit nichtnegativem Wechsel berechnen. Zu pr¨ ufen, ob zwei Knoten zweier Kreise durch einen Weg verbunden sind, ist in einem endlichen Graphen einfach.
144
5 Feuersequenzen und Sprachen
5.4 Das Totalit¨ atsproblem F¨ ur das Totalit¨atsproblem von Erreichbarkeitsmengen ZTP haben wir die Entscheidbarkeit mit Satz 24 gezeigt. Nat¨ urlich kann man dieses Problem auch f¨ ur Sprachen von Petri Netzen formulieren. Definition 70. Sei X ∈ {L, P, G, T }. Das Totalit¨atsproblem f¨ ur freie Petri Netze ist definiert als die Menge TPF(X) = {N | N = (P, T, F, s0 , Sf , Σ, h) ist ein freies Petri Netz ∧ X(N ) = Σ ∗ (= T ∗ )} Das Totalit¨ atsproblem f¨ ur ε-freie Petri Netze ist definiert als die Menge TPE(X) = {N | N = (P, T, F, s0 , Sf , Σ, h) ist ein ε-freies Petri Netz ∧ X(N ) = Σ ∗ } Das Totalit¨ atsproblem f¨ ur (uneingeschr¨ ankt beschriftete) Petri Netze ist definiert als die Menge TPU(X) = {N | N = (P, T, F, s0 , Sf , Σ, h) ist ein Petri Netz ∧ X(N ) = Σ ∗ }
Wir betrachten zun¨ achst das Problem f¨ ur die Klasse der freien Petri Netze. Hier k¨ onnen wir in allen F¨ allen relativ leicht die Entscheidbarkeit feststellen. Satz 48. TPF(P ) ist entscheidbar. Beweis. Sei N = (P, T, F, s0 ) ein Petri Netz. Zur Beantwortung der Frage N ∈ TPF(P )?“ m¨ ussen wir lediglich pr¨ ufen, ob jedes Wort u ¨ber T feuerbar ” ist. Dies ist genau dann nicht der Fall, wenn wir einen Zustand s erreichen k¨ onnen, in dem auf einer Stelle p weniger als F (p, t) Token liegen f¨ ur irgendein t ∈ T . Wir f¨ uhren f¨ ur jede Stelle p, jede Transition t und jede Zahl k mit 0 ≤ k < F (p, t) einen partiellen Erreichbarkeitstest durch, d.h., wir fragen, ob k Token auf p erreichbar sind. Nach Satz 14 ist das entscheidbar. Liefert auch nur einer dieser Tests die Antwort ja“, so gilt N ∈ / TPF(P ), ansonsten ” gilt N ∈ TPF(P ).
Satz 49. TPF(G) ist entscheidbar.
5.4 Das Totalit¨ atsproblem
145
Beweis. Sei N = (P, T, F, s0 , Sf ) ein Petri Netz. Wir pr¨ ufen zun¨achst, ob N ∈ TPF(P ) gilt. Falls nicht, so muss N ∈ / TPF(G) gelten, da es ein Wort in T ∗ gibt, das nicht feuerbar ist. Falls ja, so pr¨ ufen wir nun, ob ein Zustand s erreichbar ist, f¨ ur den es keinen Endzustand sf mit sf ≤ s gibt. Dazu m¨ ussen wir die Menge M = {s | 6 ∃sf ∈ Sf : sf ≤ s} mit Hilfe von erweiterten Zust¨ anden endlich darstellen und dann f¨ ur jeden dieser erweiterten Zust¨ ande einen Erreichbarkeitstest machen. Analog zur Vorgehensweise beim Deadlockproblem DP nimmt man alle erweiterten Zust¨ande, die jedes sf ∈ Sf an genau einer Stelle unterbieten und ansonsten u ¨berall ω-Eintr¨age haben. Dies sind nur endlich viele erweiterte Zust¨ande. Ist ein Zustand aus M erreichbar, so gilt nun N ∈ / TPF(G). Ist hingegen M unerreichbar und N ∈ TPF(P ), so gilt auch N ∈ TPF(G).
Satz 50. TPF(L) ist entscheidbar (in Polynomialzeit). Beweis. Sei N = (P, T, F, s0 , Sf ) ein Petri Netz. Damit N ∈ TPF(L) gilt, d¨ urfen nur Endzust¨ ande erreichbar sein. Wir konstruieren den Erreichbarkeitsgraphen, brechen jedoch ab, wenn ein Nichtendzustand erreicht wird oder eine Transition in einem erreichten Zustand nicht feuerbar ist. In diesem Fall gilt N ∈ / TPF(L). K¨ onnen wir den Erreichbarkeitsgraphen vollst¨andig konstruieren, ohne abzubrechen, so enth¨ alt er nur Endzust¨ande und jede Feuersequenz ist m¨ oglich. Folglich gilt N ∈ TPF(L). Da der Erreichbarkeitsgraph im positiven Fall maximal |T | · |Sf | Kanten haben kann, ist das Verfahren polynomiell.
Satz 51. TPF(T ) ist entscheidbar (und leer). Beweis. W¨ are N = (P, T, F ) ∈ TPF(T ), so m¨ usste bereits ε ∈ T (N ) gelten. Damit ergibt sich ein Deadlock im Startzustand, und keine andere Feuersequenz ist feuerbar. Also ist {ε} = T (N ) 6= T ∗ , im Widerspruch zur Annahme. Also ist TPF(T ) die leere Menge. Wie wir sp¨ ater noch sehen werden, sind f¨ ur freie Netze nicht nur die Totalit¨ atsprobleme entscheidbar, sondern auch die Inklusions- und Gleichheitsprobleme. Da das Totalit¨ atsproblem nur ein Spezialfall des Gleichheitsproblems ist, kann man auch auf diesem Weg folgern, dass das Totalit¨atsproblem f¨ ur freie Petri Netze entscheidbar ist. Allerdings sind die Beweise f¨ ur die Entscheidbarkeit des Gleichheitsproblems komplizierter. F¨ ur die Totalit¨ atsprobleme TPE(P ), TPE(G), TPU(P ) und TPU(G) bei beschrifteten Petri Netzen (mit oder ohne ε-Transitionen) sind bisher weder Entscheidungsverfahren noch Unentscheidbarkeitsbeweise bekannt. Versucht
146
5 Feuersequenzen und Sprachen
man diese Probleme mit Reduktionen abzusch¨atzen, also festzustellen, welche Probleme leichter, welche schwerer sind, so kommt man z.B. zu der folgenden Reduktionskette: ZTP ≤ TPF(P ) ≤ TPE(P ) ≤ TPU(P ) ≤ GPU(P ). Dabei ist TPF(P ) noch entscheidbar, das Sprachgleichheitsproblem GPU(P ) hingegen ist – wie wir noch sehen werden – unentscheidbar. Keines dieser Probleme n¨ utzt uns daher f¨ ur diese Totalit¨ atsprobleme von beschrifteten Netzen. F¨ ur die Totalit¨atsprobleme TPE(L), TPE(T ), TPU(L) und TPU(T ) gibt es dagegen Unentscheidbarkeitsbeweise. Valk und Vidal-Naquet [VV81] haben gezeigt, dass TPE(L) unentscheidbar ist, die u ¨brigen Probleme lassen sich leicht darauf zur¨ uckf¨ uhren. Der Beweis von Valk und Vidal-Naquet nutzt eine Reduktion des Leerheitsproblems f¨ ur Registermaschinen auf das Totalit¨ atsproblem f¨ ur beschriftete Petri Netze. Dazu definieren wir erst einmal die Sprache der Rechnungen einer Registermaschine. Speziell ziehen wir uns hier ohne Beschr¨ ankung der Allgemeinheit auf Registermaschinen mit zwei Registern zur¨ uck, die ja bereits berechenbarkeitsuniversell sind. Definition 71. Sei M eine Registermaschine mit zwei Registern und m Befehlen B1 bis Bm (wobei der letzte Befehl Bm : halt ist). Der korrekten, terminierenden Rechnung R von M mit Eingabe j1 und k1 in den beiden Registern ordnen wir das Wort w(R) := 1j1 01k1 Bi1 . . . Bi`−1 1j` 01k` Bi` zu, falls in R die Befehle genau in der Reihenfolge durchlaufen werden, in der sie in w(R) (durch die Symbole Bir repr¨ asentiert) vorkommen, i1 = 1 und i` = m ist, und f¨ ur jeden Befehl Bir in R bzw. w(R) gilt: • ist Bir der Befehl Bn : R1 := R1 + 1, so gilt ir+1 = n + 1, jr+1 = jr + 1 und kr+1 = kr , • ist Bir der Befehl Bn : R2 := R2 + 1, so gilt ir+1 = n + 1, jr+1 = jr und kr+1 = kr + 1, • ist Bir der Befehl Bn : R1 := R1 − 1, so gilt ir+1 = n + 1, jr+1 = jr − 1 und kr+1 = kr (und insbesondere jr > 0), • ist Bir der Befehl Bn : R2 := R2 − 1, so gilt ir+1 = n + 1, jr+1 = jr und kr+1 = kr − 1 (und insbesondere kr > 0), • ist Bir der Befehl Bn : if R1 = 0 goto Bq1 else goto Bq2 , so gilt entweder ir+1 = q1 , jr+1 = jr = 0 und kr+1 = kr , oder ir+1 = q2 , jr+1 = jr > 0 und kr+1 = kr ,
5.4 Das Totalit¨ atsproblem
147
• ist Bir der Befehl Bn : if R2 = 0 goto Bq1 else goto Bq2 , so gilt entweder ir+1 = q1 , jr+1 = jr und kr+1 = kr = 0, oder ir+1 = q2 , jr+1 = jr und kr+1 = kr > 0. Wir definieren nun die Sprache aller korrekten, terminierenden Rechnungen von M (mit beliebigen Eingaben) als L(M ) := {w(R) | R ist eine korrekte, terminierende Rechnung von M }. Wir k¨ onnen nun u orter u ¨berlegen, welche W¨ ¨ber dem Alphabet Σ = {0, 1, B1 , . . ., Bm } keine korrekten, terminierenden Rechnungen einer Registermaschine M mit zwei Registern und Befehlen B1 bis Bm darstellen. Korollar 13. Sei M eine Registermaschine mit Befehlen B1 bis Bm und zwei Registern und sei Σ := {0, 1, B1 , . . . , Bm }. Ein Wort w ∈ Σ ∗ repr¨ asentiert keine korrekte, terminierende Rechnung von M genau dann, wenn eine der folgenden Bedingungen erf¨ ullt ist: a) das Symbol Bm kommt in w vor dem Wortende vor (Rechnungsende ist nicht Wortende), b) das Symbol Bm ist nicht letztes Zeichen von w (Rechnung endet inkorrekt), c) w beginnt mit 1j1 01k1 Bi1 mit i1 6= 1 (falscher Anfangsbefehl), d) w beginnt mit 1j1 Bi1 (nur ein Registerinhalt eingegeben), e) w enth¨ alt ein Teilwort Bir−1 1jr Bir (ein Register vergessen), f ) w enth¨ alt ein Teilwort 01k 0 (zuviele Register), g) w enth¨ alt ein Teilwort 1jr 01kr Bir 1jr+1 01kr+1 Bir+1 mit Bir ≡ Bn : R1 := R1 + 1 und 1) ir+1 6= n + 1 oder 2) jr+1 > jr + 1 oder 3) jr+1 < jr + 1 oder 4) kr+1 > kr oder 5) kr+1 < kr , h) w enth¨ alt ein Teilwort 1jr 01kr Bir 1jr+1 01kr+1 Bir+1 mit Bir ≡ Bn : R2 := R2 + 1 und 1) ir+1 6= n + 1 oder 2) jr+1 > jr oder 3) jr+1 < jr oder 4) kr+1 > kr + 1 oder 5) kr+1 < kr + 1,
148
5 Feuersequenzen und Sprachen
i) w enth¨ alt ein Teilwort 1jr 01kr Bir 1jr+1 01kr+1 Bir+1 mit Bir ≡ Bn : R1 := R1 − 1 und 1) ir+1 6= n + 1 oder 2) jr+1 > jr − 1 oder 3) jr+1 < jr − 1 oder 4) kr+1 > kr oder 5) kr+1 < kr , j) w enth¨ alt ein Teilwort 1jr 01kr Bir 1jr+1 01kr+1 Bir+1 mit Bir ≡ Bn : R2 := R2 − 1 und 1) ir+1 6= n + 1 oder 2) jr+1 > jr oder 3) jr+1 < jr oder 4) kr+1 > kr − 1 oder 5) kr+1 < kr − 1, k) w enth¨ alt ein Teilwort 1jr 01kr Bir 1jr+1 01kr+1 Bir+1 mit Bir ≡ Bn : if R1 = 0 goto Bq1 else goto Bq2 und 1) jr = 0 und ir+1 6= q1 oder 2) jr > 0 und ir+1 6= q2 oder 3) jr+1 > jr oder 4) jr+1 < jr oder 5) kr+1 > kr oder 6) kr+1 < kr , l) w enth¨ alt ein Teilwort 1jr 01kr Bir 1jr+1 01kr+1 Bir+1 mit Bir ≡ Bn : if R2 = 0 goto Bq1 else goto Bq2 und 1) kr = 0 und ir+1 6= q1 oder 2) kr > 0 und ir+1 6= q2 oder 3) jr+1 > jr oder 4) jr+1 < jr oder 5) kr+1 > kr oder 6) kr+1 < kr . Wir zeigen nun, dass wir in jedem der in Korollar 13 angegebenen F¨alle ein beschriftetes, ε-freies Petri Netz finden, das genau die in diesem Fall angegebenen W¨orter erzeugt. Das Petri Netz kann dabei sowohl u ¨ber seinen Endzustand als auch u ¨ber einen Deadlock akzeptieren. Lemma 46. Sei M eine Registermaschine mit zwei Registern und m Befehlen. Zu den in Korollar 13 angegebenen F¨ allen und Unterf¨ allen gibt es beschriftete, ε-freie Petri Netze N , deren Sprachen L(N ) und T (N ) jeweils identisch sind und zusammen alle W¨ orter aus Σ ∗ \L(M ) enthalten. Beweis. Wir konstruieren zu jedem der F¨ alle aus Korollar 13 ein Petri Netz N . W¨ orter, die mehreren F¨ allen zugeordnet werden k¨onnen, werden oft nur in einer unserer Konstruktionen erzeugt. Insbesondere W¨orter, die unter die F¨ alle a) bis f) fallen, werden wir in g) bis l) nicht weiter betrachten.
5.4 Das Totalit¨ atsproblem
Σ
Σ
Bm
sf 6 6 ? ? j r - Σ- j - - j - Σ- j - Σ- j -Σ
s0
a)
149
Bm
Σ
1
Σ
1
f)
b)
V
Σ
sf 6 6 ? ? rj -V - j - A- j - Σ- j -A
s0
c)
Σ
sf 6 6 6 ? ? ? j r - Σ- j - 0- j - 0- j - Σ- j -0 -0
s0
sf 6 ? j r - Σ- j - C- j -C
Σ
sf 6 6 6 ? ? ? j r - Σ- j - B- j - B- j - Σ- j -B -B
s0
e)
Σ s0
1
Σ
sf 6 6 ? ? rj - 1- j - B- j - Σ- j 6 -B -B d) -B s0
Abb. 5.1 Petri Netze zu den F¨ allen a) bis f) aus Korollar 13. Beschriftungen mit einer der Mengen Σ = {0, 1, B1 , . . . , Bm }, V = {0, 1}, B = {B1 , . . . , Bm }, C = Σ\{Bm } oder A = B\{B1 } sollen bedeuten, dass f¨ ur jedes Symbol aus der Menge eine Kopie der Transition mit dieser Beschriftung existiert
Zu den F¨ allen a) bis f) wird in Abb. 5.1 jeweils ein Petri Netz gezeigt, das die W¨ orter aus dem betreffenden Fall sowohl u ¨ber den einzigen Endzustand mit einem Token auf sf (und sonst leerem Netz) als auch u ¨ber Deadlocks akzeptiert (wobei der einzige vom Startzustand s0 aus erreichbare Deadlock gerade im Endzustand sf erreicht wird). Einige Transitionen sind mit einer der Mengen Σ = {0, 1, B1 , . . . , Bm }, V = {0, 1}, B = {B1 , . . . , Bm }, C = Σ\{Bm } oder A = B\{B1 } beschriftet. Dies soll bedeuten, dass es zu jedem Symbol aus der Menge eine Transition gibt, die mit diesem Symbol beschriftet ist und die angegebenen Kanten besitzt. So kann also z.B. im Netz zu Fall a) im Startzustand u ¨ber den oberen Ast zun¨achst ein beliebiges Wort aus ΣΣ ∗ Bm , u ¨ber den unteren Ast alternativ einfach nur ein Bm erzeugt werden. Zusammen ergibt das erst einmal Σ ∗ Bm . In der rechten H¨alfte des Netzes erzeugt der obere Ast dann ΣΣ ∗ Σ, der untere Σ, zusammen ergibt das Σ + . Das Netz akzeptiert also Σ ∗ Bm Σ + , was gerade Fall a): ein Bm vor dem ” Wortende“ entspricht. Analog sieht man leicht, dass die u ¨brigen Netze gerade ∗ ∗ + ∗ die Sprachen b) Σ C = Σ (Σ\{Bm }), c) V AΣ = {0, 1}+ (B\{B1 })Σ ∗ , d) 1∗ BΣ ∗ , e) Σ ∗ B1∗ BΣ ∗ und f) Σ ∗ 01∗ 0Σ ∗ akzeptieren. Dies sind aber gerade die in den entsprechenden F¨ allen b) bis f) aus Korollar 13 gesuchten Sprachen, wobei zu Fall c) noch anzumerken ist, dass W¨ orter, bei denen vor dem ersten
150
5 Feuersequenzen und Sprachen
Befehl aus B nicht wenigstens eine Null steht, auch bereits durch Fall d) abgedeckt sind. Bleiben nun noch die Netze zu den F¨allen g) bis l). In Abb. 5.2 sind Petri Netze abgebildet, die alle W¨orter erzeugen k¨onnen, in denen ein Befehl nicht zum direkt nachfolgenden Befehl passt. Der allgemeine Fall Σ ∗ Bn {0, 1}∗ (B\{Bn+1 })Σ ∗ ist im obersten Bild dargestellt (mit B n = B\{Bn+1 }). F¨ ur jeden Additions- oder Subtraktionsbefehl Bn gibt es dabei ein eigenes Petri Netz, d.h., n ist hier ein Parameter. F¨ ur die bedingten Spr¨ unge m¨ ussen andere Netze benutzt werden, da hier der korrekte Nachfolgebefehl von einem Registerinhalt abh¨angt. Da ein Testbefehl die Registerinhalte nicht ver¨ andert, ist es aber egal, ob wir im Petri Netz die Register¨ uberpr¨ ufung vor oder nach Bn vornehmen. Die anderen vier Petri Netze aus Abb. 5.2 erzeugen also Σ ∗ Bn 01∗ (B\{Bq1 })Σ ∗ (R1 = 0), Σ ∗ Bn 11∗ 01∗ (B\{Bq2 })Σ ∗ (R1 > 0), Σ ∗ Bn 1∗ 0(B\{Bq1 })Σ ∗ (R2 = 0), Σ ∗ Bn 1∗ 01∗ 1(B\{Bq1 })Σ ∗ (R2 > 0), wobei in den Bildern B q1 = B\{Bq1 } und B q2 = B\{Bq2 } gelten und n wie gehabt ein Parameter ist. In Abb. 5.3 sind Petri Netze abgebildet, in denen das erste Register R1 von einem Befehl zum n¨ achsten falsch ver¨ andert wird. F¨ ur jeden Subtraktionsbefehl Bn : R1 := R1 − 1 benutzen wir das erste und das letzte Netz aus der Abbildung, f¨ ur jeden Additionsbefehl Bn : R1 := R1 + 1 die beiden mittleren Netze. F¨ ur alle anderen Befehle (also alle Testbefehle und alle Befehle, die das Register R2 betreffen) nutzen wir das zweite und das vorletzte Netz. Betrachten wir das erste Netz, also den Fall des Befehls Bn : R1 := R1 −1. Wir erzeugen hier alle W¨ orter, in denen das Register R1 bei Ausf¨ uhrung dieses Befehls f¨ alschlicherweise erh¨ oht oder zumindest nicht erniedrigt wird. Normalerweise erzeugen wir zun¨ achst Σ ∗ B (also alles bis zu der Stelle, an der der falsch ausgef¨ uhrte Befehl kommt), dann erzeugen wir f¨ ur jede 1 einen Token auf einer Z¨ ahlstelle c. Wir erzeugen also einen m¨oglichen Inhalt des Registers R1 vor dem Befehl Bn und merken uns diesen. Es folgt 01∗ Bn , also das zweite Register und unser Befehl, und nun 1∗ , wobei wir mit jeder 1 maximal einen Token von c entfernen k¨ onnen. Am Ende kommt dann noch 0Σ ∗ , wobei der Inhalt des zweiten Registers bereits in diesem Σ ∗ enthalten ist. Damit wir das Wort akzeptieren k¨ onnen, muss nun genau ein Token auf sf liegen, d.h., insbesondere muss c leer sein. Wir m¨ ussen also nach Bn mindestens soviele Einsen f¨ ur Register 1 erzeugt haben wie vor Bn . F¨ ur die Akzeptanz u ¨ber Deadlock haben wir noch eine 0-beschriftete Transition error“ eingef¨ ugt, ” die genau dann lebendig ist, wenn sowohl sf als auch c Token enthalten. Ein Deadlock kann sowieso h¨ ochstens entstehen, wenn ein Token auf sf ankommt, und jetzt auch nur noch dann, wenn c leer ist. Zu guter Letzt springen wir noch einmal an den Anfang: Wenn wir direkt den ersten Befehl B1 bei seiner ersten Ausf¨ uhrung behandeln wollen, beginnt unser zu erzeugendes Wort direkt mit dem wichtigen ersten Registerinhalt, d.h., wir m¨ ussen bereits die erste Eins auf unserer Z¨ ahlstelle c vermerken. Dazu dient die 1-beschriftete
5.4 Das Totalit¨ atsproblem
151
Σ
Bn
V
Bn
Σ
sf 6 6 6 ? ? ? j r - Σ- j - - j - - j - Σ- j -
s0
g1) h1) i1) j1)
Bn
Bn
Σ
1
Bn
B q1 Σ
sf 6 6 6 ? ? ? j r - Σ- j - - j - 0- j - - j - Σ- j -
s0
k1)
B q1
Bn
Σ
1
Bn
1
B q2 Σ
sf 6 6 6 6 ? ? ? ? j r - Σ- j - - j - 1- j - 0- j - - j - Σ- j -
s0
k2)
B q2
Bn
Σ
Bn
1
B q1 Σ
sf 6 6 6 ? ? ? j r - Σ- j - - j - 0- j - - j - Σ- j -
s0
l1)
B q1
Bn
Σ
Bn
1
1
B q2 Σ
sf 6 6 6 6 ? ? ? ? j r - Σ- j - - j - 0- j - 1- j - - j - Σ- j -
s0
l2)
Bn
B q2
Abb. 5.2 Petri Netze zu g) bis l) aus Korollar 13 f¨ ur den Fall des falschen Nachfolgebefehls. Beschriftungen mit einer der Mengen Σ = {0, 1, B1 , . . . , Bm }, V = {0, 1}, B = {B1 , . . . , Bm }, B n = B\{Bn+1 }, B q1 = B\{Bq1 } oder B q2 = B\{Bq2 } sollen bedeuten, dass f¨ ur jedes Symbol aus der Menge eine Kopie der Transition mit dieser Beschriftung existiert
152
5 Feuersequenzen und Sprachen
jr+1 > jr −1:
c
Σ
error
- j
-1 1
-0 ?
1
1
1
y
Σ
s0
? ? 6 6 6 6 6 6 ? ? R ? j r - Σ- j - B- j - 0- j - - j - 0- j - Σ- jsf Bn -0 -0
i2)
c
jr+1 > jr : Σ
error
- j
-1 1
-0 ?
1
1
1
y
Σ
s0
? ? 6 6 6 6 6 6 ? ? R ? rj - Σ- j - B- j - 0- j - - j - 1- j - 0- j - Σ- jsf Bn -0 -0
h2) j2) k3) l3) jr+1 > jr +1:
c
Σ
error
- j
-1 1
-0 ?
1
1
1
y
Σ
s0
? ? 6 6 6 6 6 6 ? ? R ? j r - Σ- j - B- j - 0- j - - j - 1- j - 1- j - 0- j - Σ- jsf Bn -0 -0
g2)
jr+1 < jr +1: Σ
c
1
error
- j
-1 1
-0 ?
1
1
y
Σ
s0
? 6 6? 6 6 6 6 ? R ? R ? j r - Σ- j - B- j - 0- j - - j - 0- j - Σ- jsf Bn -1 -0 0 * g3) c
error
- j
jr+1 < jr : Σ
1
1
-0 ?
1
1
y
Σ
s0
? 6 6 6 6 6 6 ? ? R ? R rj j - Σ- j - B- j - 1- 0- j - - j - 0- j - Σ- jsf Bn -1 -0
h3) j3) k4) l4)
c
Σ
error
- j
jr+1 < jr −1: 1
1
1
-0 ?
1
y
Σ
s0
? 6 6 6 6 6 6 ? ? R ? R j r - Σ- j - B- j - 1- j - 1j - 0- j - - j - 0- j - Σ- jsf Bn -1 -0
i3)
Abb. 5.3 Petri Netze zu g) bis l) aus Korollar 13 f¨ ur den Fall des falsch ge¨ anderten ersten Registerinhalts jr /jr+1 . Beschriftungen mit der Menge Σ = {0, 1, B1 , . . . , Bm } oder B = {B1 , . . . , Bm } bedeuten, dass f¨ ur jedes Symbol aus der Menge eine Kopie der Transition mit dieser Beschriftung existiert
5.4 Das Totalit¨ atsproblem
153
Transition, die von s0 wegf¨ uhrt. Soll das erste Register am Anfang leer sein, so nutzen wir die von s0 weggehende 0-beschriftete Transition. Die u ¨brigen Netze in Abb. 5.3 funktionieren ziemlich analog. Soll der Registerinhalt nach der Befehlsausf¨ uhrung gr¨ oßer sein, so f¨ ugen wir eben ein oder zwei 1-beschriftete Transitionen beim Erzeugen des Registerinhalts von R1 nach Bn hinzu (vgl. das zweite und dritte Teilbild), soll der Registerinhalt kleiner werden statt gr¨ oßer, so d¨ urfen beim Z¨ahlen auf c anstatt hinter Bn nun vor Bn zus¨ atzliche Einsen erzeugt werden (viertes bis sechstes Bild). Ganz analog funktionieren auch die Petri Netze, die sich mit fehlerhaften Berechnungen im zweiten Register besch¨ aftigen, siehe Abb. 5.4. F¨ ur jeden Befehl Bn : R2 := R2 − 1 ben¨ otigen wir wieder das erste und das letzte Netz aus dieser Abbildung, f¨ ur Bn : R2 := R2 + 1 die beiden mittleren, und f¨ ur jeden anderen Befehl (inklusive derer, die R2 nicht betreffen) das zweite und das vorletzte Netz. Damit haben wir alle m¨ oglichen falschen Berechnungen mit Petri Netzen abgedeckt. Nun w¨ ahlen wir alle n¨ otigen Netze f¨ ur unsere Registermaschine aus (d.h. f¨ ur jeden Befehl Bn die dazu passenden Netze, ein bis zwei aus Abb. 5.2, je zwei aus Abb. 5.3 und 5.4, sowie alle Netze aus Abb. 5.1 insgesamt je einmal). Da es in keinem der Netze Kanten gibt, die nach s0 f¨ uhren, k¨onnen wir s0 in allen Netzen miteinander identifizieren: Der Token von s0 wird direkt am Anfang weggenommen und verbleibt dann f¨ ur immer in dem Teilnetz, das ihn dort weggenommen hat. Andere Teilnetze k¨onnen niemals feuern. Die vom Netz insgesamt erzeugte Sprache ist damit die Vereinigung der Sprachen aller Teilnetze, d.h., wir erzeugen gerade alle W¨orter, die nicht Rechnungen von M entsprechen, also Σ ∗ \L(M ). Ohne die erzeugte Sprache zu ver¨andern, k¨ onnen wir auch jeweils alle Z¨ ahlstellen c miteinander identifizieren und auch alle Endzustandsstellen sf , es gibt dann auch nur noch eine error-Transition. Dies ist m¨ oglich, da der Token auf sf bei einem akzeptierten Wort sowieso in jedem der Teilnetze festsitzt. Insgesamt erhalten wir so ein Petri Netz N mit L(N ) = T (N ) = Σ ∗ \L(M ). Das gerade konstruierte Petri Netz besitzt nur einen Endzustand und nur eine unbeschr¨ ankte Stelle (n¨ amlich die Z¨ ahlstelle c). Es besitzt ebenfalls u ¨berhaupt nur einen erreichbaren Deadlockzustand (n¨amlich den Endzustand). Damit k¨ onnen wir zeigen: Satz 52. Sei N ein beschriftetes Petri Netz N u ¨ber dem Alphabet Σ mit mindestens einer unbeschr¨ ankten Stelle. Besitzt N mindestens einen Endzustand, so ist es unentscheidbar, ob L(N ) = Σ ∗ gilt. Besitzt N mindestens einen Deadlockzustand, so ist es unentscheidbar, ob T (N ) = Σ ∗ gilt. Beweis. Sei M eine beliebige Registermaschine mit 2 Registern und m Befehlen. Man konstruiere das Petri Netz N gem¨aß Lemma 46. Dann gilt
154
5 Feuersequenzen und Sprachen c
error
- j
kr+1 > kr −1: Σ
1
1
-0 ?
1
1
y
Σ
s0
? 6 6 6 6 6 6 ? ? R ? j r - Σ- j - 0- j - - j - 0- j - B- j - Σ- jsf Bn -0 -B
j4)
c
error
- j
kr+1 > kr : Σ
1
1
-0 ?
1
1
y
Σ
s0
? 6 6 6 6 6 6 ? ? R ? rj - Σ- j - 0- j - - j - 0- j - 1- j - B- j - Σ- jsf Bn g4) -0 -B i4) k5) l5)
c
error
- j
kr+1 > kr +1: Σ
1
1
-0 ?
1
1
y
Σ
s0
? 6 6 6 6 6 6 ? ? R ? j r - Σ- j - 0- j - - j - 0- j - 1- j - 1- j - B- j - Σ- jsf Bn -0 -B
h4)
c
Σ
error
- j
kr+1 < kr +1: 1
1
1
-0 ?
1
y
Σ
s0
? 6 6 6 6 6 6 ? R ? R ? j r - Σ- j - 0- j - - j - 0- j - B- j - Σ- jsf Bn -0 -B
h5)
c
error
- j
kr+1 < kr : Σ
1
1
1
-0 ?
1
y
Σ
s0
? 6 6 6 6 6 6 ? R ? R ? rj - Σ- j - 0- j - - j - 0- j - 1- j - B- j - Σ- jsf Bn g5) -0 -B i5) k6) l6)
c
Σ
error
- j
kr+1 < kr −1: 1
1
1
-0 ?
1
y
Σ
s0
? 6 6 6 6 6 6 ? R ? R ? j r - Σ- j - 0- j - - j - 0- j - 1- j - 1- j - B- j - Σ- jsf Bn -0 -B
j5)
Abb. 5.4 Petri Netze zu g) bis l) aus Korollar 13 f¨ ur den Fall des falsch ge¨ anderten zweiten Registerinhalts kr /kr+1 . Beschriftungen mit der Menge Σ = {0, 1, B1 , . . . , Bm } oder B = {B1 , . . . , Bm } bedeuten, dass f¨ ur jedes Symbol aus der Menge eine Kopie der Transition mit dieser Beschriftung existiert
5.5 Gleichheits- und Inklusionsprobleme
155
M h¨ alt bei keiner Eingabe im Befehl Bm ⇐⇒ L(M ) = ∅ ⇐⇒ Σ ∗ \L(M ) = Σ ∗ ⇐⇒ L(N ) = T (N ) = Σ ∗ . Da es unentscheidbar ist, ob eine Registermaschine bei keiner Eingabe h¨alt (dies entspricht dem Leerheitsproblem f¨ ur Turingmaschinen), ist es auch unentscheidbar, ob f¨ ur ein Petri Netz N u ¨ber dem Alphabet Σ gerade L(N ) = Σ ∗ oder T (N ) = Σ ∗ gilt. Insbesondere ist das bei dieser Reduktion konstruierte Petri Netz N nur in einer Stelle unbeschr¨ankt und besitzt nur einen Endzustand und einen erreichbaren Deadlock, so dass die Unentscheidbarkeit auch unter diesen Einschr¨ ankungen weiterhin gilt. Wie schon Valk und Vidal-Naquet [VV81] festgestellt haben, ist die Unentscheidbarkeit bei mindestens einer unbeschr¨ ankten Stelle scharf, denn die Sprache eines beschr¨ ankten Netzes ist – wie wir noch sehen werden – stets regul¨ ar und f¨ ur regul¨ are Mengen ist das Totalit¨atsproblem entscheidbar. F¨ ur die von uns definierten Probleme k¨ onnen wir nun folgern: Korollar 14. Die Totalit¨ atsprobleme TPE(L) und TPE(T ) sowie deren Verallgemeinerungen TPU(L) und TPU(T ) sind unentscheidbar. Was wir aus diesem Unentscheidbarkeitsbeweis nicht folgern k¨onnen, ist die Unentscheidbarkeit von TPE(G) und TPE(P ). Da wir bei TPE(G) den Endzustand nur u ussen, funktionieren jeweils die ersten drei Netze ¨berdecken m¨ aus Abb. 5.3 und 5.4 nicht korrekt. Wir k¨ onnen nicht verlangen, dass die Z¨ahlstelle c am Ende leer ist. Daher kann man den Inhalt des ersten Registers bei Ausf¨ uhrung des Befehls Bn auch erniedrigen oder – was der eigentliche Problemfall ist – so ¨ andern, dass der Befehl korrekt ausgef¨ uhrt ist. Daher k¨onnen wir dann insgesamt auch korrekte Rechnungen der Registermaschine erhalten, also W¨ orter, die nicht in Σ ∗ \L(M ) liegen. F¨ ur TPE(P ) funktioniert keines der Petri Netze mehr, da wir hier sogar jedes beliebige Anfangsst¨ uck von W¨ ortern aus Σ ∗ \L(M ) akzeptieren k¨ onnen, d.h. sogar solche Anfangst¨ ucke, in denen gar kein Fehler auftritt. Dies k¨ onnen aber im Prinzip komplette Rechnungen von M sein. F¨ ur die Klassen TPE(P ), TPE(G), TPU(P ) und TPU(G) kann man daher vielleicht vermuten, dass sie unentscheidbar sind, aber ein Nachweis daf¨ ur ist bisher nicht bekannt.
5.5 Gleichheits- und Inklusionsprobleme Wir besch¨ aftigen uns nun mit den Gleichheits- und Inklusionsproblemen f¨ ur Sprachen von Petri Netzen.
156
5 Feuersequenzen und Sprachen
Definition 72. Sei X ∈ {L, P, G, T }. Das Sprachgleichheitsproblem f¨ ur freie Petri Netze ist definiert als die Menge GPF(X) = {(N1 , N2 ) | N1 und N2 sind freie Petri Netze ∧ X(N1 ) = X(N2 )} Das Sprachgleichheitsproblem f¨ ur ε-freie Petri Netze ist definiert als die Menge GPE(X) = {(N1 , N2 ) | N1 und N2 sind ε-freie Petri Netze ∧ X(N1 ) = X(N2 )} Das Sprachgleichheitsproblem f¨ ur (uneingeschr¨ankt beschriftete) Petri Netze ist definiert als die Menge GPU(X) = {(N1 , N2 ) | N1 und N2 sind Petri Netze ∧ X(N1 ) = X(N2 )} Das Sprachinklusionsproblem f¨ ur freie Petri Netze ist definiert als die Menge IPF(X) = {(N1 , N2 ) | N1 und N2 sind freie Petri Netze ∧ X(N1 ) ⊆ X(N2 )} Das Sprachinklusionsproblem f¨ ur ε-freie Petri Netze ist definiert als die Menge IPE(X) = {(N1 , N2 ) | N1 und N2 sind ε-freie Petri Netze ∧ X(N1 ) ⊆ X(N2 )} Das Sprachinklusionsproblem f¨ ur (uneingeschr¨ankt beschriftete) Petri Netze ist definiert als die Menge IPU(X) = {(N1 , N2 ) | N1 und N2 sind Petri Netze ∧ X(N1 ) ⊆ X(N2 )}
Bei diesen Problemen werden wir erstmals einen gesicherten Unterschied bei der Entscheidbarkeit der Probleme haben. W¨ahrend die Probleme f¨ ur freie Petri Netze (nach einer Idee von Hack [Hac76b]) entscheidbar sind, gilt dies f¨ ur ε-freie Petri Netze bereits nicht mehr. Man kann die entsprechenden Probleme entweder (wie bei den Problemen f¨ ur Zustandsmengen) u ¨ber das Polynominklusionsproblem angehen oder einem recht sch¨onen Ansatz von Janˇcar
5.5 Gleichheits- und Inklusionsprobleme
157
[Jan95] folgen, der eine Reduktion des Halteproblems von Registermaschinen auf das Sprachgleichheitsproblem gefunden hat. Wir beginnen nun aber mit dem Sprachinklusionsproblem f¨ ur freie Petri Netze ohne Akzeptanzkriterium, also IPF(P ). Dabei nehmen wir ohne Beschr¨ ankung der Allgemeinheit an, dass die beiden zu u ufenden freien ¨berpr¨ Petri Netze dieselbe Transitionsmenge besitzen. Ist dies nicht der Fall, so kann man offensichtlich die in einem der Netze fehlenden Transitionen so hinzuf¨ ugen, dass sie jeweils tot sind und nicht zum Feuerverhalten beitragen (z.B. durch eine Schlinge mit einer neuen Stelle, die anfangs und damit nie einen Token bekommt). Satz 53. Das Sprachinklusionsproblem IPF(P ) f¨ ur freie Petri Netze ohne Akzeptanzkriterium ist entscheidbar. Beweis. Seien N1 = (P1 , T1 , F1 , s1 ) und N2 = (P2 , T2 , F2 , s2 ) mit P1 = {p11 , . . ., p1j }, P2 = {p21 , . . . , p2k }, T1 = T2 = {t1 , . . . , tn }. Wir f¨ uhren nun eine Reduktion des Problems P (N1 ) ⊆ P (N2 )?“ auf das Lebendigkeitsproblem ” LP durch, welches nach Satz 33 entscheidbar ist. Dazu benennen wir die Transitionen im Netz N1 um in t11 bis t1n , die Transitionen im Netz N2 in t21 ugen nun die beiden Netze N1 und N2 disjunkt zusammen und bis t2n . Wir f¨ addieren weitere Stellen ps1 bis psn , psc , puc , p`c und Transitionen ts und `. Wir verbinden diese neuen Stellen und Transitionen untereinander und mit den Transitionen von N1 und N2 so wie in Abb- 5.5 dargestellt. Weitere Kanten, insbesondere zwischen den neuen Transitionen und den Stellen von N1 und N2 , gibt es nicht. Im Startzustand sollen auf N1 und N2 die Tokenverteilungen gem¨ aß s1 und s2 vorhanden sein, zus¨ atzlich soll ein Token auf der Stelle psc liegen. Betrachten wir nun die Konstruktion gem¨ aß Abb. 5.5. Entscheidend ist die Transition `; sie soll genau dann lebendig sein, wenn P (N1 ) ⊆ P (N2 ) gilt. Damit ` nicht lebendig ist, muss es m¨ oglich sein, den Token von psc abzuziehen, ohne ts zu feuern und ohne die M¨ oglichkeit, ihn sp¨ater wieder auf psc zur¨ uckzulegen. Um zu sehen, unter welchen Bedingungen dies eintreten kann, m¨ ussen wir das Netz analysieren. Die Stellen psc , puc und p`c sind Kontrollstellen, auf ihnen liegt zusammen immer genau ein Token. Dies sieht man leicht, da jede Transition des Netzes genau einen Token von einer der drei Stellen entfernt und auch genau einen Token auf eine der drei Stellen legt; die Stellen bilden somit eine S-Invariante. Wenn ein Token auf psc liegt, haben stets gleich viele Transitionen aus N1 und aus N2 gefeuert (d.h. N1 und N2 sind gerade synchron, daher das s), liegt ein Token auf puc hat in N1 eine Transition mehr gefeuert als in N2 (also u f¨ ur unsynchronisiert). Da die Transitionen aus N1 den Token von psc auf puc und die Transitionen aus N2 den Token von puc auf psc legen, m¨ ussen die Transitionen aus N1 und N2 immer abwechselnd feuern. Die Stellen ps1 bis psn (s wieder f¨ ur Synchronisation) sorgen nun daf¨ ur,
158
5 Feuersequenzen und Sprachen
...
p11
p1i
N1
...
t1 6
`
6 s 1 ps ? c
? ps1
t1n
1
...
6 - ts ??
psn
W q
` pc
u pc
?? t2 . . . 1
?? t2n
N2
p21
2
...
pk
Abb. 5.5 Konstruktion zur Reduktion des Sprachinklusionsproblems IPF(P ) auf das Lebendigkeitsproblem LP. Mit hochgestellter 1 oder 2 beschriftete Komponenten geh¨ oren inhaltlich zu den freien Netzen N1 bzw. N2 , f¨ ur die P (N1 ) ⊆ P (N2 ) zu entscheiden ist. Letzteres ist dabei ¨ aquivalent zur Lebendigkeit von `. Die Stellen ps1 bis psn , psc und psu dienen der Synchronisation von N1 und N2
dass man sich nach Feuern einer Transition t1i in N1 nicht aussuchen kann, welche Transition in N2 man feuern m¨ ochte, denn nur t2i ist feuerbar. Insgesamt stellen wir fest, dass Feuersequenzen ohne die Transition ts entweder die Gestalt t1i1 t2i1 t1i2 t2i2 . . . t1im t2im oder die Gestalt t1i1 t2i1 t1i2 t2i2 . . . t1im t2im t1im+1 haben. Bei der ersten Form ist nun ts feuerbar, wodurch ` lebendig wird. Ob nach einer Sequenz der zweiten Form ts noch irgendwann feuern kann, h¨angt davon ab, ob t2im+1 feuern kann. Wenn nicht, so ist das Netz tot (und damit auch `), wenn ja, wird der Token auf psc zur¨ uckgelegt und das Feuern kann weitergehen. Man sieht also, dass ` nicht lebendig ist, genau dann, wenn eine Feuersequenz σt existiert, so dass σt in N1 und σ in N2 feuern kann, aber σt
5.5 Gleichheits- und Inklusionsprobleme
159
in N2 nicht feuern kann. Mit anderen Worten, ∃σ ∈ P (N1 )\P (N2 ) ⇐⇒ ` ist nicht lebendig bzw. P (N1 ) ⊆ P (N2 ) ⇐⇒ ` ist lebendig. Das Gleichheitsproblem kann man nun mit einer einfachen Reduktion erschlagen. Satz 54. Das Sprachgleichheitsproblem GPF(P ) f¨ ur freie Petri Netze ohne Akzeptanzkriterium ist auf IPF(P ) reduzierbar und damit ebenfalls entscheidbar. Beweis. Es gilt P (N1 ) = P (N2 ) genau dann, wenn P (N1 ) ⊆ P (N2 ) und P (N2 ) ⊆ P (N1 ) gelten. Da das Inklusionsproblem entscheidbar ist, ist damit auch das Gleichheitsproblem entscheidbar. Die Reduktion des Gleichheitsproblems auf das Inklusionsproblem gilt trivial nat¨ urlich auch f¨ ur die anderen Akzeptanztypen G, L und T und f¨ ur ε-freie und beliebig beschriftete Netze. Mit dem Inklusions- und Gleichheitsproblem ist auch das Bisimulationsproblem f¨ ur freie Petri Netze entscheidbar. Den Begriff Bisimulation wollen wir dabei hier als 2-Personen-Spiel erkl¨ aren, das so funktioniert: Spieler 1 und Spieler 2 wechseln sich ab. Spieler 1 sucht sich jedesmal, wenn er dran ist, aus zwei Petri Netzen eines aus und feuert darin eine Transition seiner Wahl. Spieler 2 versucht dann, im anderen Petri Netz eine Transition mit der gleichen Beschriftung (hier: dieselbe Transition) zu feuern. Dann ist wieder Spieler 1 an der Reihe. Kann Spieler 1 eine Zugfolge finden, so dass Spieler 2 diese nicht nachvollziehen kann, gewinnt er und die beiden Petri Netze sind nicht bisimilar. Kann Spieler 2 immer jeden Zug von Spieler 1 nachvollziehen, gewinnt er und die Petri Netze sind bisimilar. Offensichtlich sind zwei freie Petri Netze genau dann bisimilar, wenn sie die gleiche P -Sprache besitzen. Also gilt Korollar 15. Das Bisimilationsproblem, also die Frage, ob zwei Petri Netze bisimilar sind, ist f¨ ur freie Petri Netze entscheidbar. Hack [Hac76b] hat neben der Konstruktion aus Abb. 5.5 auch eine kompliziertere Konstruktion f¨ ur den Fall der Petri Netze, die u ¨ber Endzust¨ande akzeptieren, entworfen. Seine Konstruktion ist jedoch inkorrekt f¨ ur den Fall, dass kein Wort aus L(N1 )\L(N2 ) in N2 feuerbar ist. Wir geben daher im Folgenden eine stark modifizierte Konstruktion an, bei der dies Problem nicht auftritt. Wir zeigen diese neue Konstruktion zun¨achst erst einmal f¨ ur den G¨ Sprachtyp, d.h. f¨ ur Petri Netze, die durch Uberdeckung von Endzust¨anden akzeptieren.
160
5 Feuersequenzen und Sprachen
Satz 55. Das Sprachinklusionproblem IPF(G) (und damit auch das Sprachgleichheitsproblem GPF(G)) f¨ ur freie Petri Netze mit Akzeptanz durch Endzustands¨ uberdeckung ist entscheidbar. Beweis. Seien N1 = (P1 , T1 , F1 , s1 , Sf,1 ) und N2 = (P2 , T2 , F2 , s2 , Sf,2 ) mit P1 = {p11 , . . ., p1i }, P2 = {p21 , . . . , p2k }, T1 = T2 = {t1 , . . . , tn }, Sf,1 = {s1f,1 , . . ., s1f,j } und Sf,2 = {s2f,1 , . . . , s2f,q }. Grunds¨atzlich gehen wir zun¨achst vor wie in Abb. 5.5, d.h., wir legen die Netze N1 und N2 disjunkt nebeneinander und f¨ ugen einige Stellen und Transitionen hinzu, die dieselbe Funktion wie in Satz 53 haben. Dar¨ uber hinaus erweitern wir aber die Konstruktion gem¨aß Abb. 5.6 um die Stellen pdc , p1v , p2v , p1a , p2a und die Transitionen tf1 bis tfn , td1 bis tdn , a11 bis a1j , a21 bis a2q , tu und t` . Im Anfangszustand des Netzes liegen auf N1 und N2 deren Anfangszust¨ ande s1 und s2 und jeweils ein Token auf psc , p1v und 2 pv . Die fetten, mit Endzust¨ anden beschrifteten Pfeile an den a-Transitionen sollen bedeuten, dass das Feuern der Transition so viele Token entnimmt wie es dem annotierten Endzustand aus N1 oder N2 entspricht. Zus¨atzlich zu den in der Abbildung gezeigten Kanten werden die Transitionen tf1 bis tfn genauso mit den Stellen von N1 verbunden wie die entsprechenden Transitionen t11 bis t1n aus N1 . Analoges gilt f¨ ur die Transitionen td1 bis tdn mit Bezug auf das Petri Netz N2 . Wir betrachten diese Transitionen als zu N1 bzw. N2 geh¨orig und ˜1 und N ˜2 . nennen N1 und N2 wegen dieser Modifikation nun N Die Konstruktion dieses Netzes folgt dabei einer simplen Idee. Um zu pr¨ ufen, ob G(N1 ) ⊆ G(N2 ) gilt, raten wir eine beliebige Feuersequenz in N1 . Wir pr¨ ufen dann, ob die Sequenz in G(N1 ) liegt, aber nicht in G(N2 ). Ist das der Fall, so gehen wir in einen Deadlock und sorgen so daf¨ ur, dass die Transition ` nicht lebendig ist. Ist das nicht der Fall, so haben wir die Feuersequenz falsch geraten und machen ` lebendig. Damit ist ` insgesamt nicht lebendig genau dann, wenn man eine Feuersequenz aus G(N1 )\G(N2 ) finden kann, also wenn G(N1 ) 6⊆ G(N2 ) gilt. Der Kontrollfluss in unserer Konstruktion ist etwas komplizierter, daher wol˜1 und N ˜2 sind nur genau len wir ihn hier erl¨ autern. Außerhalb der Netze N die folgenden Tokenverteilungen erreichbar (mit der Startverteilung gem¨aß Fall a) und einer am Anfang geratenen Feuersequenz ε): a) Je 1 Token auf psc , p1v und p2v . Dies ist genau dann der Fall, wenn wir beim Raten einer Feuersequenz aus P (N1 ) sind, und diese auch in P (N2 ) liegt. Man kann durch Feuern einer Transition t1m (1 ≤ m ≤ n) zu Fall b) kommen und durch Feuern von ts zu Fall c). b) Je 1 Token auf puc , p1v , p2v und psm (f¨ ur ein m mit 1 ≤ m ≤ n). Wir sind ebenfalls beim Raten einer Feuersequenz aus P (N1 ), die auf tm endet. In N2 ist die Feuersequenz bis exklusive tm ebenfalls feuerbar; u ¨ber die Feuerbarkeit von tm in N2 weiß man augenblicklich noch nichts. Durch Feuern
5.5 Gleichheits- und Inklusionsprobleme
...
161
p11
s1f,1
p1i
... p ... s
˜1 N
...
t1 6
...
...
tf1
6
s1f,j
tfn
6
psn
u
- tu
pc
?? t2 . . . 1
?? t2n
^? td1
...
^? tdn
2
?? ` 6pc
p1
2
...
pk
t`
a - 2 - - a1 s 2 pv - 29 - aq s2f,q
p2
s2f,1
...
˜2 N
U p1a
6
pdc
Y W q
- 1 - aj -
`
6
s - ts 1 s p ? c ^
? ps1
1 v
t1n
1
- 1 - a1 -
...
Abb. 5.6 Konstruktion zur Reduktion des Sprachinklusionsproblems IPF(G) auf das Lebendigkeitsproblem LP, die auf Abb. 5.5 aufbaut. Es gibt zwei Tests: ts f¨ ur Feuersequenzen aus P (N1 ) ∩ P (N2 ), tu f¨ ur Feuersequenzen aus P (N1 )\P (N2 ). p1v , p1a und die a1 Transitionen bilden einen Akzeptanztest f¨ ur N1 , analog p2v , p2a und die a2 -Transitionen f¨ ur N2 . Fette Kanten entnehmen Token gem¨ aß dem annotierten Endzustand. Die zus¨ atzlichen ˜1 und N ˜2 sind Kopien der Originaltransitionen und haben innerhalb Transitionen in N dieser Netze dieselben Kantenverbindungen
von t2m gelangt man zur¨ uck zu Fall a). Alternativ k¨onnen wir durch Feuern von tu raten, dass t2m nicht feuerbar und σ ∈ / P (N2 ) ist. Wir gelangen zu Fall g), k¨ onnen nat¨ urlich aber falsch geraten haben. c) Je 1 Token auf p`c , p1v und p2v . Hier beginnt f¨ ur Feuersequenzen σ ∈ P (N1 )∩ P (N2 ) der Test, ob σ ∈ G(N1 ) liegt. Falls nein, so ist keine der Transitionen ¨ a11 bis a1j feuerbar (da diese eine Uberdeckung eines der Endzust¨ande s1f,1 1 bis sf,j in N1 voraussetzen), also kann der Token p`c nicht mehr verlassen
162
5 Feuersequenzen und Sprachen
und ` ist lebendig (d.h., wir haben σ eventuell schlecht geraten). Falls σ ∈ G(N1 ) gilt, kann eine der Transitionen a11 bis a1j feuern und f¨ uhrt zu Fall d). d) Je 1 Token auf p1a und p2v . Die geratene Feuersequenz σ ∈ P (N1 ) ∩ P (N2 ) liegt in G(N1 ). Nun testen wir, ob σ ∈ G(N2 ) liegt. Falls ja, kann zu einem der u ande s2f,r (1 ≤ r ≤ q) die Transition a2r feuern ¨berdeckten Endzust¨ und f¨ uhrt zu Fall e). Anderenfalls sitzen die Token auf p1a und p2v fest und ` ist tot. Dies ist aber korrekt, da dann σ ∈ G(N1 )\G(N2 ) gilt. e) 1 Token auf p2a . Nun gilt f¨ ur die geratene Feuersequenz σ ∈ G(N1 )∩G(N2 ). Damit ist σ kein Gegenbeispiel f¨ ur G(N1 ) ⊆ G(N2 ) und wir m¨ ussen ` ¨ lebendig machen. Dies erreichen wir durch Feuern von t` und den Ubergang zu Fall f). f) 1 Token auf p`c . Da p1v nicht mehr markiert ist, kann nur noch ` feuern und ist lebendig. g) Je 1 Token auf pdc , p`c , p1v und psm (f¨ ur ein m mit 1 ≤ m ≤ n). Von Fall b) kommend haben wir damit eine Feuersequenz σ ∈ P (N1 ) geraten, von der wir noch nicht wissen, ob σ ∈ G(N1 ) und σ ∈ P (N2 ) gelten. Es sind zwei Unterf¨ alle zu unterscheiden: – σ ∈ / P (N2 ). Dann ist jede Sequenz σσ 0 ∈ G(N1 ) ein Gegenbeispiel f¨ ur G(N1 ) ⊆ G(N2 ). Existiert ein solches σ 0 , so k¨onnen wir die Zustands¨ anderungen, die es bewirkt, mittels der Transitionen tf1 bis tfn in ˜ N1 exakt nachvollziehen. Dadurch wird eine der Transitionen a11 bis a1j feuerbar und f¨ uhrt zu Fall h). Existiert so ein σ 0 nicht, so kann, egal welche der Transitionen tf1 bis tfn wir feuern, in N1 kein Endzustand u ¨berdeckt werden. Also wird auch keine der Transitionen a11 bis a1j jemals aktiviert. Auch die Token auf pdc , p1v und psm k¨onnen ihre Stelle nicht mehr verlassen. Also ist ` jetzt (korrekterweise) lebendig. – σ ∈ P (N2 ). Wir h¨ atten also t2m feuern k¨onnen (in Fall b)) und haben dies nicht korrekt erraten. Wir k¨ onnen nun beliebig viele der Transitionen tf1 bis tfn und dann einmal tdm feuern (und keine andere Transition kann die Token von pdc und psm entfernen). Die Folge ist Fall i) (und ` wird irgendwann lebendig). Alternativ k¨ onnen wir, falls ein σ 0 mit σσ 0 ∈ G(N1 ) existiert, ein solches f 0 σ mittels t1 bis tfn nachvollziehen und dann eine der Transitionen a11 bis a1j feuern. Wir erreichen Fall j) (und ` wird irgendwann lebendig). Falls σ ∈ G(N1 )\G(N2 ) sein sollte, machen wir ` hier trotzdem lebendig – insgesamt ist ` n¨ amlich wegen Fall c), der wegen σ ∈ P (N2 ) erreichbar ist, sowieso nicht lebendig.
5.5 Gleichheits- und Inklusionsprobleme
163
h) Je 1 Token auf pdc , p1a und psm (f¨ ur ein m mit 1 ≤ m ≤ n). Die Token auf pdc und psm k¨ onnen wegen σ ∈ / P (N2 ) (wir kommen vom ersten Unterfall zu g)) nicht mehr entfernt werden, denn t2m (und damit auch tdm ) ist nicht feuerbar. Der Token p1a kann ebenfalls nicht weiter, da die Transitionen a21 bis a2q alle einen Token auf p2v ben¨ otigen. Damit ist ein Deadlock erreicht und ` ist nicht lebendig. Wegen σ ∈ G(N1 )\P (N2 ) (und damit G(N1 ) 6⊆ G(N2 ) ⊆ P (N2 )) ist dies das korrekte Ergebnis. i) 2 Token auf p`c , 1 Token auf p1v . Weil nur ein Token auf p1v liegt, kann nur eine der Transitionen a11 bis a1j maximal einmal feuern und dabei einen Token von p`c entfernen. Der andere Token sorgt daf¨ ur, dass ` lebendig ist, wie f¨ ur den zweiten Unterfall von g) gew¨ unscht. j) Je 1 Token auf pdc , p1a und psm (f¨ ur ein m mit 1 ≤ m ≤ n). Wegen σ ∈ P (N2 ) gem¨ aß dem zweiten Unterfall von g) kann tdm feuern, und es ist die einzige Transition, die die Token von pdc und psm entfernen kann (t2m ist wegen ˜2 der unbesetzten Stelle puc nicht feuerbar, die u ¨brigen Transitionen aus N s d wegen der unbesetzten p -Stellen). Somit l¨ asst sich mittels tm irgendwann ein Token auf p`c legen. Mangels eines Tokens auf p1v kann p`c diesen Token nie wieder verlieren und ` ist lebendig. ˜1 und Damit haben wir alle m¨ oglichen Tokenverteilungen außerhalb von N ˜2 untersucht. Außer Fall a) und b) gibt es keine Schleifen. Verlassen wir N also die a)-b)-Schleife zum Raten eines passenden σ f¨ ur den Test σ ∈ ” G(N1 )\G(N2 )?“, so kommt der Test immer zu einem Ergebnis. An den einzelnen F¨ allen sieht man, dass dies auch immer das korrekte Ergebnis ist. Damit ist ` genau dann nicht lebendig, wenn es eine Feuersequenz σ ∈ G(N1 )\G(N2 ) gibt. Also haben wir das Inklusionsproblem auf das Lebendigkeitsproblem reduziert, und dieses ist nach Satz 33 entscheidbar. Wir wollen nun die Abb. 5.6 so erweitern, dass die Konstruktion funktioniert, wenn wir das exakte Erreichen eines Endzustands als Akzeptanzbedingung w¨ ahlen. Vom Prinzip her m¨ ussen wir dabei nach der Entnahme eines Endzu˜1 oder N ˜2 lediglich pr¨ stands aus einem der Netze N ufen, ob sich noch immer Token in diesem Netz befinden, und falls das so ist, das erreichte Ergebnis wieder verwerfen. Dies klappt auch in den meisten F¨allen, Schwierigkeiten bereiten nur Paare von Endzust¨ anden, die untereinander vergleichbar sind. Lemma 47. Das Sprachinklusionproblem IPF(L) ist f¨ ur Instanzen (N1 , N2 ), bei denen alle Endzust¨ ande von N2 paarweise unvergleichbar sind, entscheidbar. Beweis. Seien also N1 und N2 zwei freie Petri Netze, wobei in N2 f¨ ur je zwei Endzust¨ ande s2x und s2y gilt: s2x 6≤ s2y 6≤ s2x . Wir folgen der Konstruktion von
164
5 Feuersequenzen und Sprachen
Satz 55 vollst¨ andig und f¨ ugen dann noch einige zus¨atzliche Transitionen (¨ u11 1 2 2 ¨ bis u ¨i und u ¨1 bis u ¨k ) f¨ ur einen echten Uberdeckungstest hinzu, die entsprechend Abb. 5.7 mit dem bereits konstruierten Netz verbunden werden. # ?
?
...
p11
s1f,1
p1i
...
˜1 N
...
t1 6
6
...
tfn
6
psn
- tu
pc
1
?? t2n
^? td1
...
^? tdn
2
p1
2
...
6 "
pk
6
- 1 - a1 -
6
- 1 - aj -
U p1a MI
...
?? + 9 ` 6pc
?
u ¨11
6
t`
a - 2 - - a1 s 2 pv - 29 - aq s2f,q ? u ¨2 . . .
p2
s2f,1
...
˜2 N
...
6
pdc
u
u ¨1i
`
6
Y W q
?? t2 . . .
p1v s
s1f,j
s - ts 1 s p ? c ^
? ps1
...
tf1
t1n
1
?
...
k
6
?
u ¨21
6 !
Abb. 5.7 Konstruktion zur Reduktion des Sprachinklusionsproblems IPF(L) auf das Lebendigkeitsproblem LP, die auf Abb. 5.6 aufbaut. Das Netz N2 darf keine vergleichbaren Endzust¨ ande haben. Die u ¨-Transitionen geh¨ oren zu den jeweiligen Akzeptanztests und ¨ pr¨ ufen auf echte Uberdeckung (anstatt exaktes Erreichen) eines Endzustands
Wird ein Akzeptanztest f¨ ur N1 gem¨ aß Satz 55 erfolgreich ausgef¨ uhrt, so liegt dann ein Token auf p1a . F¨ ur die untersuchte Feuersequenz σ gilt in diesem Moment σ ∈ G(N1 ) und wir befinden uns im Beweis zu Satz 55 in einem der F¨ alle d), h) oder j). d) Es gilt σ ∈ G(N1 ) ∩ P (N2 ) nach dem Beweis zu Satz 55. Nur die a2 Transitionen und die u ¨1 -Transitionen sind in diesem Moment von Inter-
5.5 Gleichheits- und Inklusionsprobleme
165
esse; andere Transitionen k¨ onnen nicht aktiviert sein. Der einzige Token, der p`c noch erreichen und ` lebendig machen kann, ist der Token auf p1a . Wir gehen zun¨ achst davon aus, dass die korrekte a1 -Transition gefeuert hat, d.h., falls N1 einen Endzustand exakt erreicht hatte, so hat diejeni˜1 ge a1 -Transition gefeuert, die diesem Endzustand entspricht, und hat N vollst¨ andig geleert. Wir unterscheiden vier F¨alle: – σ ∈ L(N1 )\G(N2 ). In diesem Fall sind weder die a2 -Transitionen aktiviert (kein Endzustand in N2 wird u ¨1 -Transitionen ¨berdeckt) noch die u ˜ (es ist kein Token in N1 verblieben). Der Token kann p1a also nicht verlassen und ` ist tot. Dies ist korrekt, weil σ ∈ L(N1 )\L(N2 ) gilt. – σ ∈ (G(N1 )\L(N1 ))\G(N2 ). Die a2 -Transitionen sind wieder nicht aktiviert, aber die u ¨1 -Transitionen k¨ onnen feuern, da noch wenigstens ein ˜ Token im Netz N1 sein muss. Da dies die einzigen u ¨berhaupt feuerbaren Transitionen sind, wird gesichert ein Token auf p`c gelegt, wo der Token dann nicht mehr entfernt werden kann. Also ist ` lebendig geworden. Wegen σ ∈ / L(N1 ) ist das in Ordnung. – σ ∈ L(N1 ) ∩ G(N2 ). In diesem Fall sind die u ¨1 -Transitionen mangels 2 ˜ Token in N1 deaktiviert, aber eine der a -Transitionen kann wegen σ ∈ G(N2 ) feuern. Damit erreicht der Token p2a . Ist σ ∈ L(N2 ), so kann nun keine der u ¨2 -Transitionen feuern: Wegen der Unvergleichbarkeit der Endzust¨ ande von N2 ist n¨ amlich nur genau eine a2 -Transition aktiviert, ˜2 komplett leert. Also kann nur noch und das ist diejenige, die das Netz N t` feuern, wodurch ` lebendig wird. Dies ist offensichtlich in Ordnung. Nur wenn σ ∈ / L(N2 ) gilt, kann eine der u ¨2 -Transitionen feuern und 2 1 den Token von pa auf pa zur¨ ucklegen. Da die u ¨1 -Transitionen immer 2 noch nicht feuerbar sind und die a -Transitionen mangels Token auf p2v nicht mehr, ist das Netz tot. Da σ ∈ L(N1 )\L(N2 ) dann aber ein Gegenbeispiel f¨ ur L(N1 ) ⊆ L(N2 ) ist, ist dies korrekt. – σ ∈ (G(N1 )\L(N1 )) ∩ G(N2 ). Wegen σ ∈ / L(N1 ) sollte ` in diesem Fall lebendig gemacht werden. Dies geschieht auf einem von zwei Wegen. Entweder feuern wir direkt eine der u ¨1 -Transitionen, diese sind feuer˜ bar, da mindestens ein Token in N1 verblieben sein muss, und machen ` sofort lebendig, oder wir feuern zun¨ achst eine der a2 -Transitionen. Dann k¨ onnen wir entweder t` feuern (` wird lebendig) oder eine der u ¨2 -Transitionen (falls eine aktiviert ist). Im letzteren Fall liegt damit wieder ein Token auf p1a , von wo wir ihn nun nur noch mittels einer der immer noch feuerbaren u ¨1 -Transitionen auf p`c legen k¨onnen. In jedem Fall erreicht der Token von p1a schließlich p`c und ` ist lebendig. Alle vier F¨ alle zusammen decken genau L(N1 ) ab. Damit ist klar, dass wir in jedem Fall das gew¨ unschte Ergebnis erhalten. Wir hatten allerdings
166
5 Feuersequenzen und Sprachen
vorausgesetzt, dass von den Transitionen a11 bis a1j immer die richtige“ ” gefeuert hat. Falls die Endzust¨ ande von N1 paarweise unvergleichbar sind, ist auch nichts Anderes m¨ oglich: Wenn ein Endzustand erreicht ist, kann nur genau eine dieser Transitionen feuern. Sind aber zwei Endzust¨ande von N1 vergleichbar, etwa s1f,1 ≤ s1f,2 , so kann beim Erreichen des Endzustands s1f.2 auch die Transition a11 feuern. Dadurch wird – fehlerhafterweise – zumindest eine der u ¨1 -Transitionen aktiviert. Dies bedeutet aber nur, dass wir falsch geraten haben. Da das Feuern einer u ¨1 -Transition zur Lebendigkeit von ` f¨ uhrt, ist das aber kein Problem – wir wollen ja gerade, dass ` lebendig wird, wenn wir falsch raten. Falsch zu raten bedeutet ja nur, dass die aktuelle Berechnung kein Gegenbeispiel f¨ ur L(N1 ) ⊆ L(N2 ) darstellt. Im Gegensatz dazu w¨ are die Vergleichbarkeit von Endzust¨anden in N2 t¨ odlich f¨ ur den Beweis, da die u ¨2 -Transitionen in einem analogen Fall das Netz in einen Deadlock f¨ uhren, obwohl kein Gegenbeispiel f¨ ur L(N1 ) ⊆ L(N2 ) gefunden wurde. h) Nach dem Beweis zu Satz 55 tritt dieser Fall ein, wenn wir ein σ ∈ G(N1 )\P (N2 ) gew¨ ahlt haben. Dort befindet man sich dann in einem Deadlock. Nun verf¨ ugen wir aber zus¨ atzlich u ¨11 bis u ¨1j , die ¨ber die Transitionen u aktiviert sein k¨ onnten. Ist σ ∈ / L(N1 ), so kann mindestens eine dieser Transitionen feuern und ` lebendig machen. Dies ist offensichtlich korrekt. Ist ˜1 aber nicht σ ∈ L(N1 ), so sind die u ¨1 -Transitionen mangels Token in N aktiviert, und das Netz befindet sich insgesamt (korrekterweise) in einem Deadlock. j) Dieser Fall tritt ein, wenn man geraten hat, dass σ ∈ G(N1 )\P (N2 ) liegt, obwohl σ ∈ G(N1 ) ∩ P (N2 ) gilt. Bereits im Beweis zu Satz 55 haben wir gesehen, dass ` dann lebendig ist. Die eventuell zus¨atzlich aktivierten Transitionen u ¨11 bis u ¨1j k¨ onnen lediglich einen weiteren Token auf p`c legen, so dass dort dann zwei Token festsitzen statt nur einem. Auf jeden Fall bleibt ` dabei aber lebendig. Da wir ohnehin falsch geraten hatten, ist das in Ordnung. Man beachte noch, dass die neuen u ¨2 -Transitionen nur in Fall d) u ¨berhaupt aktiviert sein k¨onnen. In Fall h) und j) haben sie keinen Einfluss, da tu den Token von p2v abzieht, dieser aber ben¨ otigt wird, um p2a markieren zu k¨ onnen. Also sind die u ¨2 -Transitionen mangels Token auf p2v bzw. p2a dann stets deaktiviert. Insgesamt haben wir damit gezeigt: ` ist lebendig genau dann, wenn L(N1 ) ⊆ L(N2 ) gilt. Besitzt N2 vergleichbare Endzust¨ ande, so haben wir noch immer ein Problem. Man kann auch nicht ohne Beschr¨ ankung der Allgemeinheit fordern, dass N2 nur paarweise unvergleichbare Endzust¨ande haben soll. Dazu m¨ usste
5.5 Gleichheits- und Inklusionsprobleme
167
man eine Konstruktion angeben, die aus einem Netz mit vergleichbaren Endzust¨ anden eines mit paarweise unvergleichbaren Endzust¨anden macht, dabei aber alle Feuersequenzen erh¨ alt. Dazu muss man aber bereits innerhalb des ˜2 einmal nichtdeterministisch raten. Da man sp¨ater dann Netzes N2 oder N nichts mehr von diesem Ratevorgang weiß, kann man aber nicht mehr f¨ ur das Ergebnis garantieren. Besser ist es hingegen, die Konstruktion aus Abb. 5.7 ein wenig zu ¨ andern und dabei die partielle Ordnung der (endlich vielen) Endzust¨ ande im Akzeptanztest f¨ ur N2 exakt nachzubilden. Satz 56. Das Sprachinklusionproblem IPF(L) (und damit auch das Sprachgleichheitsproblem GPF(L)) f¨ ur freie Petri Netze mit Akzeptanz u ¨ber Endzust¨ ande ist entscheidbar. Beweis. Seien N1 und N2 wie im Beweis zu Satz 53 gegeben. Wir modifizieren die Konstruktion nach Abb. 5.7 wie folgt. Zun¨achst entfernen wir a21 bis a2q , u ¨21 bis u ¨2k , t` und p2a inklusive aller benachbarten Kanten aus dem Petri Netz, mit anderen Worten: Wir ersetzen den Akzeptanztest f¨ ur N2 komplett. Ist s2f,c ein minimaler Endzustand (bzgl. ≤) von N2 , so f¨ ugen wir die in Abb. 5.8 im umrandeten Gebiet gezeigte Konstruktion Ne,c zum Netz hinzu. Kanten, die nach außen f¨ uhren, werden wie in der Abbildung angegeben mit ˜2 sowie p`c und p1a verbunden. Die Stelle p2e den vorhandenen Stellen aus N v identifizieren wir mit der bereits vorhandenen Stelle p2v , den angegebenen Zustand s2f,e ersetzen wir durch den Nullvektor und alle sonstigen Vorkommen des Symbols e in Ne,c lassen wir ebenfalls weg. Hat N2 nur einen Endzustand, so f¨ uhrt dies offensichtlich exakt zur selben Konstruktion wie in Abb. 5.7, lediglich die Stelle p2c atzlich vorhanden, v ist zus¨ hat aber keine Auswirkungen. Gibt es mehrere Endzust¨ande, die aber alle minimal sind, so haben wir effektiv die Stelle p2a aus Abb. 5.7 aufgespalten, dieser Stelle bekomd.h., jeder Endzustand s2f,c hat eine eigene Kopie p2ec a men. Da aber jede dieser Stellen auch ihre eigenen t` - und u ¨2 -Transitionen bekommt, die alle genau das gleiche tun, wie die entsprechenden Transitionen in Abb. 5.7, ist der Beweis aus Lemma 47 noch immer g¨ ultig. Wir f¨ ugen nun f¨ ur jedes Paar s2f,e und s2f,c von vergleichbaren Endzust¨anden 2 in N2 mit sf,e ≤ s2f,c jeweils das Konstrukt Ne,c in unser bereits bestehendes Netz ein. Da es nur endlich viele Endzust¨ ande (und damit auch nur endlich viele vergleichbare Paare von Endzust¨ anden) gibt, m¨ ussen wir das Konstrukt auch nur endlich oft einf¨ ugen. Die Symbole e und c sind dabei bei jedem Einf¨ ugen von Ne,c nat¨ urlich andere, so dass die inneren Stellen und Transitionen von Ne,c jedesmal neu erzeugt werden und nicht mit anderen Stellen und Transitionen identifiziert werden k¨ onnen. Bei drei vergleichbaren Endzust¨ anden s2e ≤ s2c ≤ s2d ist den Konstrukten Ne,c und Nc,d aber die Stelle ` 1 ˜ p2c v gemein. Die Kantenanbindung des Konstrukts an N2 , pc und pa erfolgt wie in Abb. 5.8 angegeben.
168
5 Feuersequenzen und Sprachen
p`c
p1
6 '
a 6 6
u ¨2ec 1
tec ` p2e v
- aec 2
$ -
-
^ p2c v
...
p2ec a
6
u ¨2ec k
Ne,c
& s2f,c -s2f,e
? #
...
p21
% ? p2k
˜2 N Abb. 5.8 Ein Konstrukt Ne,c f¨ ur die Erkennung eines Endzustands s2f,c aus N2 bei vergleichbaren Endzust¨ anden s2f,e und s2f,c mit s2f,e ≤ s2f,c . F¨ ur minimale Endzust¨ ande s2f,c 2 2e 2 wird sf,e durch den Nullvektor ersetzt und pv wird mit pv aus Abb. 5.7 identifiziert. Stellen außerhalb von Ne,c stammen ebenfalls aus jener Abbildung
Die korrekte Arbeitsweise des erzeugten Netzes zeigt man im Prinzip u ¨ber strukturelle Induktion. Wir beachten zun¨ achst, dass nur Fall d) aus Satz 55 im Moment von Interesse ist, da der (modifizierte) Test, ob eine Feuersequenz σ von N2 akzeptiert wird, nur in diesem einen Fall durchgef¨ uhrt wird. Alle anderen Aspekte unseres konstruierten Netzes sind aber wie in Lemma 47 und arbeiten daher korrekt. Wir gehen also von einer Feuersequenz σ ∈ G(N1 ) ∩ P (N2 ) aus. Wir treffen folgende Aussage: Wenn ein Token auf einer Stelle 2 ˜ p2c v liegt, dann wurden genau sf,c Token aus N2 entfernt und es befindet sich ˜ noch immer wenigstens ein Token in N2 . Damit u ¨berhaupt ein Token nach p2c v 2e 2 gelangen kann, muss zuvor ein pv mit sf,e ≤ s2f,c ein Token erhalten (oder s2f,c ist minimal und s2f,e der Nullvektor). Zu diesem Zeitpunkt sind dann ˜2 entnommen worden, aber noch Token verblieben. Um den s2f,e Token aus N 2c Token auf pv zu legen, muss erst a2ec , dann eine der Transitionen u ¨21 ec bis 2k 2 2 2 2 ˜2 dann s + (s − s ) = s2 u ¨ec feuern. Nach Feuern von aec wurden N f,e f,c f,e f,c Token entnommen. Das Feuern einer der u ¨2ec -Transitionen garantiert, dass ˜2 verblieben ist. mindestens ein Token in N
5.5 Gleichheits- und Inklusionsprobleme
169
˜2 exakt erreicht Damit ist aber auch klar: Wenn ein Endzustand s2f,c in N 2 wird, dann finden wir f¨ ur alle Endzustandsfolgen sf,e1 ≤ . . . ≤ s2f,er ≤ s2f,c bei vorliegenden Token auf p1a und p2v gem¨ aß Fall d) nun eine Feuersequenz 2 2x 2 2x 2 a2e1 u ¨2x a u ¨ . . . a u ¨ a (wobei das x der Index einer beliebigen e1 e1 e2 e1 e2 er−1 er er−1 er er c 2 ˜ Stelle aus N2 ist, die unter sf,er nicht leer ist). Solange der Token von p1a nicht anderweitig abgezogen wird, ist damit garantiert, dass der Token, der rc ˜2 anfangs auf p2v liegt, eine Stelle p2e erreicht, wenn der Endzustand s2f,c in N a er c exakt erreicht wird. Von hier kann der Token nur u ber t abgeleitet werden, ¨ ` wodurch ` lebendig wird. Da in diesem Fall f¨ ur die getestete Feuersequenz σ ∈ L(N2 ) gilt, ist das in Ordnung. W¨ ahrend ein Token auf einem p2e v liegt, befindet sich auch ein Token auf 1 pa . Dieses kann eventuell u ¨1 -Transitionen entnommen werden ¨ber eine der u 2 und so aer c deaktivieren, obwohl σ ∈ L(N2 ) gilt. Da das Feuern einer u ¨1 Transition jedoch ` ebenfalls lebendig macht, ist dies unkritisch. Wir m¨ ussen nun noch pr¨ ufen, was im Fall σ ∈ L(N1 )\L(N2 ) (aber σ ∈ P (N2 )) passiert. Dann kann der Token auf p1a immer wieder von den a2 Transitionen entnommen und von einer der u ¨2 -Transitionen zur¨ uckgelegt werden. Da kein Endzustand in N2 exakt erreicht wurde, kann der Token von p2v nicht auf einer p2ec angen bleiben, man kann stets die nachfolgende a -Stelle h¨ 2c p2c v -Stelle erreichen. Irgendwann erreicht man auf diesem Weg eine pv -Stelle, so dass keiner der nachfolgend zu testenden (gr¨oßeren) Endzust¨ande mehr u atestens passiert dies, wenn ein maximaler Endzustand ¨berdeckt wird (sp¨ ˜2 abgezogen wurde, dann hat p2c keine ausgehenden Kanten). Dann aus N v liegt der Token auf dieser p2c v -Stelle fest. Wegen σ ∈ L(N1 ) sitzt auch der Token auf p1a in diesem Moment fest, folglich ist ` nicht lebendig. Dies ist genau das gew¨ unschte Ergebnis.
Satz 57. Das Sprachinklusionproblem IPF(T ) (und damit auch das Sprachgleichheitsproblem GPF(T )) f¨ ur freie Petri Netze mit Akzeptanz u ¨ber Deadlocks ist entscheidbar. Beweis. Die Menge aller Deadlocks eines Petri Netzes ist ja endlich darstellbar durch eine Menge von erweiterten Zust¨anden, bei denen die NichtFeuerbarkeit jeder Transition durch jeweils eine zu kleine Komponente sichergestellt wird. Wir benutzen diese endliche Menge von erweiterten Zust¨anden im Prinzip als Endzustandsmenge unseres Petri Netzes, wobei wir jedes ω durch den Wert Null ersetzen. Nun f¨ uhrt man die Konstruktion nach Satz 56 und Abb. 5.7 und 5.8 f¨ ur die betrachteten Netze N1 und N2 durch, entfernt aber die Transition u ¨2ec mit allen Kanten, wenn die Komponente, die zur r 2 Stelle pr geh¨ ort, im urspr¨ unglichen erweiterten Endzustand (aus dem der Endzustand s2f,c von N2 durch Ersetzen der ω’s durch Nullen entsteht) gerade ω ist. Dadurch verl¨ auft der Akzeptanztest von N2 nun positiv, wenn
170
5 Feuersequenzen und Sprachen
˜2 auf den endlichen Komponenten eines erweiterder aktuelle Zustand in N ten Endzustands exakt erreicht wird und auf den ω-Komponenten den Wert Null u ¨berdeckt. Folglich hat der Akzeptanztest ein positives Ergebnis genau dann, wenn N2 einen Deadlock erreicht. F¨ ur das Netz N1 muss man nun ebenfalls den Akzeptanztest modifizieren. Dies kann v¨ ollig analog zur der Konstruktion f¨ ur N2 erfolgen (bloß, wie bei allen bisherigen Konstruktionen, mit invertiertem Ergebnis). Da die u ¨brige Konstruktion gegen¨ uber Satz 56 unver¨ andert bleibt, gilt nun: ` ist lebendig ⇐⇒ T (N1 ) ⊆ T (N2 ). Wir haben damit f¨ ur freie Petri Netze alle Inklusions- und Gleichheitsprobleme als entscheidbar gezeigt. F¨ ur beschriftete Netze sind die entsprechenden Probleme nicht mehr entscheidbar. Wir zeigen dies nun mittels einer Reduktion des Halteproblems f¨ ur Registermaschinen auf die entsprechenden Probleme. Wie bereits fr¨ uher erw¨ ahnt, geht diese sch¨one Konstruktion auf Janˇcar [Jan95] zur¨ uck. Definition 73 (Janˇ cars Netze zum Gleichheitsproblem). Sei M eine beliebige Registermaschine. Das Programm bestehe aus m Befehlen B1 bis Bm (der letzte Befehl ist stets Bm : halt) und die Maschine benutze Register R1 bis Rn . Wir konstruieren nun zwei Petri Netze N1 und N2 so, dass sie den Programmablauf von M im Wesentlichen simulieren. Beide Netze erhalten dazu f¨ ur jeden Befehl eine Stelle: Diese Stellen nennen wir ebenfalls B1 bis Bm . F¨ ur jedes benutzte Register erhalten N1 und N2 ebenfalls eine Stelle, insgesamt also die Stellen R1 bis Rn f¨ ur die Register. Zust¨atzlich bekommen N1 und N2 noch je zwei weitere Stellen S und E, die Spezialaufgaben im Zusammenhang mit Testbefehlen u ¨bernehmen. Anfangs legen wir in N1 einen Token auf B1 (der erste Befehl kann dann simuliert werden) und einen Token auf E. Im Netz N2 legen wir anfangs je einen Token auf B1 und S. Ist Bi : Rj := Rj + 1 ein Additionsbefehl von M , so f¨ ugen wir N1 und N2 jeweils die im linken Teil von Abb. 5.9 gezeigte Transition hinzu, beim Subtraktionsbefehl Bi : Rj := Rj − 1 die im rechten Teil der Abbildung gezeigte Transition. F¨ ur einen Nulltest Bi : if Rj = 0 goto Bk1 else goto Bk2 f¨ ugen wir dem Netz N1 die im linken Teil von Abb. 5.10 gezeigte Konstruktion hinzu, dem Netz N2 die Konstruktion im rechten Teil der Abbildung. Die mit c beschriftete Transition wird (inklusive ihrer Kanten) nur einmal f¨ ur alle Nulltests zusammen eingef¨ ugt.
Satz 58. Das Sprachgleichheitsproblem GPE(P ) f¨ ur ε-freie Petri Netze ohne Akzeptanzkriterium ist unentscheidbar.
5.5 Gleichheits- und Inklusionsprobleme
171
Beweis. Sei M eine beliebige Registermaschine. Das Programm bestehe aus m Befehlen B1 bis Bm (der letzte Befehl ist stets Bm : halt) und die Maschine benutze Register R1 bis Rn . Seien N1 und N2 die in Definition 73 angegebenen ε-freien Petri Netze. Wir zeigen nun: P (N1 ) 6= P (N2 ) ⇐⇒ M , gestartet mit Null in jedem Register, erreicht den Befehl Bm . Da dieses Nullhalteproblem ein bekanntes unentscheidbares Problem f¨ ur Registermaschinen ist, haben wir damit ein unentscheidbares Problem auf GPE(P ) reduziert. Daher muss GPE(P ) dann selbst unentscheidbar sein. Wir geben nun an, wie wir die Befehle der Registermaschine M mittels der Netze N1 und N2 simulieren. F¨ ur einen Additionsbefehl Bi : Rj := Rj + 1 ist das recht einfach. Das linke Diagramm in Abb. 5.9 zeigt die Konstruktion.
R1
Rj
..
.. ..
.. ..
R1
B
ti ai
i
Rj
R Bi+1
.. ..
m
..
Rn
s B1
B
..
.. ..
.. ..
B
ti
i
- si R Bi+1
.. ..
m
..
Rn
s B1
B
Abb. 5.9 Simulation des Additionbefehls Bi : Rj := Rj + 1 (links) und des Subtraktionsbefehls Bi : Rj := Rj − 1 (rechts) einer Registermaschine mit m Befehlen und n Registern in einem Petri Netz
Die mit ai beschriftete Transition ti entnimmt den Token von Bi (der Befehl Bi wird begonnen), addiert einen Token zu Rj (die Addition wird ausgef¨ uhrt), und legt einen Token auf Bi+1 (der n¨ achste Befehl wird aktiviert). Die Konstruktion ist f¨ ur N1 und N2 jeweils identisch, die Stellen S und E werden hier noch nicht gebraucht und fehlen deshalb in der Zeichnung. Bei der Substraktion Bi : Rj := Rj − 1 m¨ ussen wir beachten, dass die Registermaschine M diesen Befehl nicht ausf¨ uhren kann, wenn das Register Rj
172
5 Feuersequenzen und Sprachen
zu diesem Zeitpunkt leer ist.1 Dies l¨ asst sich in N1 und N2 aber leicht simulieren. Die mit si beschriftete Transition ti verschiebt f¨ ur die Substraktion ebenfalls den Token f¨ ur den Befehl Bi auf Bi+1 , damit der n¨achste Befehl simuliert werden kann, entnimmt Rj gleichzeitig aber noch einen Token. Ist kein Token auf Rj , so kann die Transition einfach nicht feuern und simuliert den Befehl Bi von M damit ebenfalls korrekt. Petri Netze k¨ onnen ohne syntaktische Erweiterungen keinen Nulltest durchf¨ uhren. Der Test Bi : if Rj = 0 goto Bk1 else goto Bk2 l¨asst sich also in einem Petri Netz nicht darstellen. Man kann zwar pr¨ ufen, ob Token auf Rj liegen (durch eine Transition, die einen Token von Rj entnimmt und dann zur¨ ucklegt), aber nicht, ob keine Token auf Rj liegen: Wegen der Monotonie von Petri Netzen kann n¨ amlich jede bei leerem Rj feuerbare Transition auch dann feuern, wenn zus¨ atzlich ein oder mehrere Token auf Rj liegen. Wir k¨ onnen den Nulltest also mit einem Petri Netz nicht simulieren, mit zwei Petri Netzen N1 und N2 klappt dies aber, sofern wir die Rechnungen der beiden Netze vergleichen k¨ onnen. Genau das werden wir mit dem Gleichheitstest tun. Die Additionstransition zum Befehl Bi haben wir bereits mit ai , zum Subtraktionsbefehl mit si beschriftet, so dass wir in jedem Wort aus P (N1 ) und P (N2 ) erkennen k¨ onnen, wo der Befehl Bi ausgef¨ uhrt wurde. Was der Befehl getan hat, wissen wir ebenfalls (da wir den Befehl ja kennen). Wir simulieren nun noch den Nulltest. Da wir das nicht korrekt machen k¨ onnen, machen wir es eben falsch, aber in N1 und N2 jeweils verschieden. Durch die Verschiedenheit der Fehler k¨ onnen wir im Vergleich am Ende die korrekten Simulationen identifizieren. Die Konstruktionen sehen wir in Abb. 5.10. Im linken Diagramm ist der Nulltest Bi : if Rj = 0 goto Bk1 else goto Bk2 f¨ ur das Netz N1 zu sehen. Die Transition t>0 simuliert korrekt den else-Zweig i und kann den Token von Bi nur dann auf Bk2 legen, wenn Rj mindestens ein Token enth¨alt. In der Sprache P (N1 ) erkennen wir das Feuern dieser Transition am (eindeutigen) Symbol pi . Die Transition t=0 i , die eigentlich nur im Fall Rj = 0 feuern k¨ onnen sollte, kann aber bei jeder Ausf¨ uhrung von Bi feuern, egal was auf Rj liegt. Das heißt, wir k¨onnen M korrekt simulieren; falls bei einer korrekten Rechnung von M aber auch nur einmal ein elseZweig eines Nulltests betreten wird, k¨ onnen wir falsch raten, da sowohl t>0 i =0 als auch ti feuerbar sind. Die c-beschriftete Transition tm (die nur einmal existiert und nicht f¨ ur jeden Testbefehl einmal) erlaubt es uns, diejenigen W¨ orter in P (N1 ) auszumachen, bei denen N1 die Rechnung u ¨ber den Befehl Bm beendet hat. Zu diesen W¨ ortern geh¨ oren neben der korrekten Rechnung (falls M h¨ alt) auch viele falsche Simulationen. Wenn die c-Transition feuert, sind alle Stellen B1 bis Bm leer. Da jede Transition eine der B-Stellen im 1
Man kann durch Vorschalten eines Nulltests Bi−1 : if Rj = 0 goto Bi−1 else goto Bi aber erreichen, dass die Subtraktion stets ausf¨ uhrbar ist. Der Test schickt die Registermaschine im unerw¨ unschten Fall dann in eine Endlosschleife.
5.5 Gleichheits- und Inklusionsprobleme
R1
S
..
s B1
.. ..
N1
Rj
.. .. I ..
Rn
R1
ni
- pi
9 -
i
B
k1
..
Rj
.. .. I
B
.. ..
k2
tm s -c E Bm
S
s
N2
B
t=0 i
t>0 i
173
?terr i - ni
B
i R 9 ni Bk1 - pi Bk2
.. ..
..
.. ..
t=0 i
t>0 i
Rn
s B1
E
tm ? -c Bm
Abb. 5.10 Der Nulltest if Rj = 0 goto Bk1 else goto Bk2 einer Registermaschine mit m Befehlen und n Registern, in zwei verschiedenen (fehlerhaften) Implementierungen durch Petri Netze N1 und N2
Vorbereich hat, ist das Netz dann tot. Der Buchstabe c kann also nur als letzter Buchstabe eines Wortes in P (N1 ) auftreten. In N2 haben wir f¨ ur den Test neben den beiden Transitionen t>0 und t=0 i i err eine weitere Testtransition. Die Transition ti ist in P (N2 ) nicht von t=0 zu i unterscheiden; beide tragen die Beschriftung ni . Sie kann jedoch h¨ochstens feuern, wenn t=0 inkorrekt feuern kann, d.h., wenn sich mindestens ein Token i auf Rj befindet. In der Sprache P (N2 ) ist der Unterschied zwischen t=0 und i terr zun¨ a chst nicht direkt erkennbar, da beide Transitionen das Register Rj i unver¨ andert lassen und den Befehl Bk2 als n¨ achsten auszuf¨ uhrenden Befehl bestimmen. Der Unterschied liegt in den Stellen S und E: Wenn ein terr i feuert, wird der Token von S auf E gelegt. Das bedeutet auch, dass insgesamt nur eine der terr i -Transitionen in N2 einmal feuern kann. Die c-Transition kann wie bei N1 h¨ ochstens am Ende feuern, und auch nur wenn eine der terr -Transitionen irgendwann gefeuert hat. i Ist w ∈ P (N1 ) ein Wort, das zu einer falschen Simulation von M geh¨ort, dann enth¨ alt dieses Wort ein ni (1 ≤ i ≤ m), bei dem bei Ausf¨ uhrung des zugeh¨ origen Testbefehls Bi an dieser Stelle ein Token auf dem zu testenden Register Rj liegt. Wir markieren das erste ni in w mit dieser Eigenschaft. In der (eindeutigen) Feuersequenz σ in N1 , deren Beschriftung gerade w ist, tauschen wir die zu ni geh¨ orende Transition t=0 an dieser einen Stelle gegen i
174
5 Feuersequenzen und Sprachen
terr aus und nennen die entstehende Feuersequenz σ 0 . Da alle Transitionen i aus N1 genauso auch in N2 vorkommen, ist σ 0 bis exklusive terr in N2 feui erbar. Da Rj in diesem Moment nicht leer ist, ist auch terr feuerbar. Nun i hat das Netz N2 exakt dieselbe Markierung wie N1 nach dem markierten ni , folglich ist jedes weitere Feuern, das in N1 m¨oglich ist, auch in N2 m¨oglich. Insbesondere ist σ 0 in N2 feuerbar und somit w ∈ P (N2 ). Ist w ∈ P (N2 ) ein Wort, das zu einer falschen Simulation von M geh¨ort, so kann eine zu w geh¨ orende Feuersequenz in N2 eventuell eine terr i -Transition enthalten. In N1 ist an dieser Stelle dann aber sicher t=0 feuerbar und f¨ uhrt i zum selben Wort in P (N1 ). Falls der letzte Buchstabe von w ein c ist, ist noch zu bemerken, dass die Rechnung in N1 (mit Ersetzung von terr durch i t=0 ) vor diesem c f¨ u r einen Token auf B sorgt (sowohl in N als auch in m 2 i N1 ). Da E in N1 von Anfang an markiert ist, ist c dann auch in N1 feuerbar. Es gilt also w ∈ P (N1 ). Bei einer korrekten Simulation von M sind die in N1 und N2 feuernden Transitionen jeweils eindeutig bestimmt. Insbesondere kann in N2 kein terr i feuern, da dies ja gerade eine falsche Simulation garantiert. Ist w ∈ P (N1 ) ein zu einer korrekten (aber eventuell unvollst¨andigen) Simulation von M geh¨ orendes Wort, das nicht auf c endet, so kann man in N2 exakt dieselben Transitionen feuern, d.h. w ∈ P (N2 ). Umgekehrt gilt bei w ∈ P (N2 ) das Gleiche, und man kann w ∈ P (N1 ) folgern. Wir betrachten nun noch alle korrekten Simulationen von M , die zu einem Wort wc f¨ uhren. In N1 ist das kein Problem: Wenn w zu einer korrekten, terminierenden Simulation von M geh¨ ort, liegt dann je ein Token auf E und Bm und c kann feuern. Also gilt wc ∈ P (N1 ). In N2 k¨onnen wir ebenfalls die korrekte Simulation betrachten, die zum Wort w geh¨ort. Da ein Symbol ni in einer korrekten Simulation nur auftritt, wenn das zu testende Register tats¨ achlich leer ist, muss ein solches ni dann stets von einer Transition t=0 i erzeugt werden. Folglich kann zur Erzeugung von w nie eine terr i -Transition feuern. Damit wird auch nie ein Token auf E gelegt. Also kann c nie feuern und es gilt wc ∈ / P (N2 ). H¨ alt die Registermaschine also im Befehl Bm , so ist P (N1 ) 6= P (N2 ). Tut sie dies nicht, so gibt es keine korrekten Simulationen von M in N1 und N2 , die einen Token auf Bm legen. Da die falschen und die zu fr¨ uh abbrechenden Simulationen in N1 und N2 aber dieselben W¨orter erzeugen, gilt P (N1 ) = P (N2 ). Insgesamt erhalten wir: Gestartet mit leerem Registern h¨ alt M im Befehl Bm ⇐⇒ P (N1 ) 6= P (N2 ). Damit ist das Nullhalteproblem von Registermaschinen auf das Komplement von GPE(P ) reduziert und die Unentscheidbarkeit von GPE(P ) gezeigt.
5.5 Gleichheits- und Inklusionsprobleme
175
F¨ ur die u ¨brigen Probleme ergibt sich die Unentscheidbarkeit nun auf recht einfache Weise. Satz 59. GPE(G) ist unentscheidbar. Beweis. GPE(P ) ist ein Spezialfall von GPE(G), bei dem man als zu u ¨berdeckenden Endzustand f¨ ur die beiden auf Gleichheit zu testenden Netze jeweils den Nullvektor w¨ ahlt. W¨ are GPE(G) entscheidbar, so m¨ usste auch GPE(P ) entscheidbar sein, im Widerspruch zu Satz 58.
Satz 60. GPE(L) ist unentscheidbar. Beweis. Wir nutzen wieder die Konstruktion nach Definition 73, vgl. Abb. 5.9 und 5.10, f¨ ur die Addition, Substraktion und die beiden m¨oglichen Nulltests zur Simulation einer Registermaschine M durch zwei Petri Netze N1 und N2 . Da wir nur endlich viele Endzust¨ ande haben d¨ urfen, die Register aber am Ende einer Simulation beliebigen Inhalt haben k¨onnen, m¨ ussen diese noch geleert werden. Damit man aber keinen Einfluss auf die eigentliche Simulation der Registermaschine nehmen und so die G¨ ultigkeit von Satz 58 zerst¨oren kann, stellen wir sicher, dass die Register erst vollst¨andig geleert werden, nachdem die c-beschriftete Transition das Ende der Simulation angezeigt hat. Die Modifikation, die f¨ ur beide zu testenden Netze N1 und N2 vorzunehmen ist, zeigt Abb. 5.11. Wir w¨ ahlen als Endzustand in den Netzen N1 und N2 nun jeweils den Zustand, in dem genau auf der neuen Stelle L noch ein Token liegt. Damit k¨ onnen nur W¨ orter in L(N1 ) bzw. L(N2 ) liegen, in denen ein c vorkommt. In N2 sind das nur die fehlerhaften (beim Nulltest falsch ratenden) Simulationen von M , die irgendwann einen Token auf Bm legen, in N1 sind das zus¨atzlich auch alle korrekten Simulationen von M , bei denen M im Befehl Bm h¨alt, vgl. mit dem Beweis zu Satz 58. Eine fehlerhafte Simulation von M kann in N1 und N2 zwar durch unterschiedliche Feuersequenzen repr¨asentiert sein, simuliert aber in beiden Netzen die Additions- und Substraktionsbefehle f¨ ur jedes Register gleich oft. Nehmen wir an, das Register Rj enthalte bei Erreichen des Befehls Bm gerade den Wert kj (f¨ ur 1 ≤ j ≤ n). Ist w das bei der Simulation in N1 und N2 erzeugte Wort, wenn der Befehl Bm erreicht wird, so muss zum Erreichen des Endzustands in beiden Netzen insgesamt wc`k11 . . . `knn feuern, wobei die `-Transitionen dabei allerdings jeweils in beliebiger Reihenfolge auftreten d¨ urfen. Da dies jedoch f¨ ur beide Netze gleich ist, geh¨ oren zu den fehlerhaften Simulationen, die akzeptiert werden, in N1 und N2 noch immer dieselben W¨ orter. Also ist L(N1 ) = L(N2 ) genau dann, wenn M keine in Bm terminierende Rechnung besitzt. Terminiert M in Bm , so liegt in L(N1 ) zus¨ atzlich die korrekte Simulation der Rechnung von M .
176
5 Feuersequenzen und Sprachen
R1
-` S 1
..
..
B
1
.. ..
?L - `j Rj 6
..
..
tm - `n -c Rn Bm E Abb. 5.11 Modifikation zur Leerung der Register nach Abschluss der Simulation. Die c-Transition legt zus¨ atzlich einen Token auf die neue Stelle L, wodurch die Entnahme aller Token aus den Registern m¨ oglich wird
Satz 61. GPE(T ) ist unentscheidbar. Beweis. Analog zu Satz 60 sorgen wir daf¨ ur, dass genau nach dem Feuern der c-Transition ein Deadlock erreicht wird (anstelle des Endzustands). Dass nach Feuern der c-Transition ein Deadlock erreicht wird, ist klar. Wir m¨ ussen nun allerdings noch sicherstellen, dass die Netze N1 und N2 deadlockfrei sind, solange c noch nicht gefeuert hat. Ist der gerade zu simulierende Befehl eine Addition, so ist die entsprechende ai -Transition auf jeden Fall feuerbar. Beim Nulltest ist zumindest die t=0 i -Transition feuerbar. Um bei der Subtraktion ebenfalls sicher zu sein, dass si feuerbar ist, verlangen wir ohne Beschr¨ ankung der Allgemeinheit, dass Registermaschinen vor einer Substraktion Bi : Rj := Rj − 1 immer erst einen Nulltest Bi−1 : if Rj = 0 goto Bi−1 else goto Bi durchf¨ uhren. Der Stelle Bm f¨ ugen wir eine neue Transition `m mit F (Bm , `m ) = 1 = F (`m , Bm ) hinzu. Damit kann das Netz nur genau dann einen Deadlock erreichen, wenn auf keiner der Stellen B1 bis Bm ein Token liegt, also nach Feuern von c. In N2 k¨ onnen nur diejenigen fehlerhaften Simulationen von M , die einen Token auf Bm legen, in einen Deadlock f¨ uhren, in N1 aber zus¨ atzlich auch die korrekte Simulation von M , wenn diese im Befehl Bm endet. Also h¨ alt M im Befehl Bm genau dann, wenn T (N1 ) 6= T (N2 ) gilt.
5.5 Gleichheits- und Inklusionsprobleme
177
Das jeweilige GPE-Problem ist ein Spezialfall des GPU-Problems mit gleichem Akzeptanzkriterium. W¨ are eines der GPU-Probleme entscheidbar, dann auch das entsprechende GPE-Problem. Wegen der S¨atze 58, 59, 60 und 61 w¨ urde dies aber zu einem Widerspruch f¨ uhren. Also sind die GPU-Probleme auch unentscheidbar. Korollar 16. Die Gleichheitsprobleme f¨ ur beliebig beschriftete Petri Netze GPU(P ), GPU(G), GPU(L) und GPU(T ) sind unentscheidbar. In Satz 54 haben wir gesehen, dass das Gleichheitsproblem auf das Inklusionsproblem rein mengentheoretisch reduzierbar ist, also unabh¨angig von Petri Netzen und Akzeptanzkriterien. Aus der Unentscheidbarkeit der Probleme GPE(P ), GPU(P ), GPE(G), GPU(G), GPE(L), GPU(L), GPE(T ) und GPU(T ) ergibt sich damit direkt die entsprechende Aussage f¨ ur Inklusionsprobleme: Korollar 17. Die Inklusionsprobleme IPE(P ), IPU(P ), IPE(G), IPU(G), IPE(L), IPU(L), IPE(T ) und IPU(T ) sind unentscheidbar.
Satz 62. Das Bisimulationsproblem f¨ ur beschriftete Petri Netze ist unentscheidbar. Beweis. Zu einer beliebigen Registermaschine M bauen wir die Netze N1 und N2 nach Definition 73. Wir belegen die Unentscheidbarkeit des Problems durch das Spiel mit zwei Spielern, bei dem Spieler 1 versuchen muss, ein Wort zu feuern, das Spieler 2 nicht nachvollziehen kann. Spieler 1 sucht sich vor jedem Spielzug eines der beiden Netze aus und erzeugt durch Feuern einer Transition deren Beschriftungssymbol. Spieler 2 muss dann versuchen, eine Transition mit der gleichen Beschriftung im anderen Netz zu feuern. Gelingt dies stets, sind die (beschrifteten) Netze bekanntlich bisimilar. H¨ alt die Maschine M durch Erreichen des Programmendes, so gilt nach dem Beweis zu Satz 58 P (N1 ) 6= P (N2 ). Spieler 1 w¨ahlt nun stets das Netz N1 und simuliert die Rechnung von M korrekt. Da Spieler 2 nur dann eine mit ni beschriftete Transition in N2 feuern darf, wenn das zu testende Register leer ist, kann das nie die terr i -Transition sein. Also gelingt es Spieler 2 nie, die Stelle E mit einem Token zu belegen. Also kann Spieler 1 irgendwann seine Simulation von M mit dem Feuern von c in N1 abschließen und Spieler 2 kann diesen Zug nicht nachvollziehen. Die Netze N1 und N2 sind nicht bisimilar. Gibt es keine korrekte Simulation, die im Befehl Bm endet, so ist P (N1 ) = P (N2 ). Daher kann Spieler 2 jeden Zug von Spieler 1 nachvollziehen, egal welche Auswahl dieser bei jedem Zug trifft. Die Netze sind also bisimilar.
178
5 Feuersequenzen und Sprachen
Insgesamt sind N1 und N2 also bisimilar genau dann, wenn P (N1 ) = P (N2 ) gilt, genau dann, wenn die Registermaschine M korrekt terminiert. Also ist das Bisimulationsproblem unentscheidbar. F¨ ur die Akzeptanz u ande oder Deadlocks kann man die Aussagen ¨ber Endzust¨ zum Gleichheits- und Inklusionsproblem zum Teil noch etwas versch¨arfen. Neben der Tatsache, dass ein Endzustand bzw. ein Deadlock pro Netz f¨ ur die Unentscheidbarkeit gen¨ ugt, was direkt aus der Konstruktion von Janˇcar folgt, reicht es im Prinzip ebenfalls, sich auf eine unbeschr¨ankte Stelle einzuschr¨ anken. Satz 63. Seien N1 und N2 zwei beschriftete Petri Netze, wobei N1 sicher ist und in N2 nur eine Stelle existiert, die in irgendeiner erreichbaren Markierung mehr als einen Token haben kann. Dann gilt: • Es ist unentscheidbar, ob L(N1 ) = L(N2 ) bzw. L(N1 ) ⊆ L(N2 ) gilt. • Falls N1 mindestens eine mit ε beschriftete Transition enth¨ alt, ist es unentscheidbar, ob T (N1 ) = T (N2 ) bzw. T (N1 ) ⊆ T (N2 ) gilt. Beweis. Nach Satz 52 ist das Totalit¨ atsproblem f¨ ur beschriftete Netze unentscheidbar, wenn auch nur eine unbeschr¨ ankte Stelle existiert. Um die Unentscheidbarkeit der angegebenen Fragestellungen zu zeigen, gen¨ ugt es daher, als N2 das f¨ ur Satz 52 konstruierte Netz zu benutzen und f¨ ur N1 ein Netz, das die Menge aller W¨ orter u ¨ber dem Alphabet Σ von N2 , also Σ ∗ akzeptiert. Sowohl der Gleichheitstest als auch der Inklusionstest f¨ ur N1 und N2 l¨ osen dann bereits das Totalit¨ atsproblem, welches aber unentscheidbar ist. Die Tests sind damit dann selbst unentscheidbar. Bleibt nur das Problem, ein Netz N1 zu finden, das Σ ∗ akzeptiert. F¨ ur Akzeptanz u ande ist das trivial: Man nehme eine Stelle und f¨ ur ¨ber Endzust¨ jedes Symbol aus Σ eine damit beschriftete Transition, die eine Schlinge mit der Stelle bildet. Als Start- und Endzustand w¨ahle man jeweils den Zustand mit genau einem Token auf der Stelle. Das konstruierte Netz ist ε-frei und liefert damit die Unentscheidbarkeit von L(N1 ) = L(N2 ) und L(N1 ) ⊆ L(N2 ) sowohl f¨ ur ε-freie als auch f¨ ur beliebig beschriftete Petri Netze. Bei Akzeptanz u ahlen wir f¨ ur N1 das gerade konstruierte ¨ber Deadlocks w¨ Netz, erweitert um eine Transition. Die neue Transition ist mit ε beschriftet und entfernt den Token aus dem Netz. Damit kann man jedes Wort feuern und dann mit der ε-Transition in einen Deadlock gehen. Also ist T (N1 ) = T (N2 ) und T (N1 ) ⊆ T (N2 ) unentscheidbar, wenn N1 wenigstens eine εTransition enth¨alt. Man beachte, dass Σ ∗ nicht von einem ε-freien Petri Netz u ¨ber Deadlocks akzeptiert werden kann, da man wegen des Wortes ε bereits im Startzustand im Deadlock sein m¨ usste.
5.5 Gleichheits- und Inklusionsprobleme
179
Wir k¨ onnen die Gleichheits- und Inklusionsprobleme auch mit gemischten Akzeptanzkriterien betrachten. Hier gelten zumindest folgende einfach zu erhaltende Resultate: Satz 64. Seien N1 und N2 beschriftete Petri Netze. Dann sind folgende Tests unentscheidbar: a) P (N1 ) = G(N2 ), P (N1 ) ⊆ G(N2 ) und G(N1 ) ⊆ P (N2 ), b) L(N1 ) = T (N2 ), L(N1 ) ⊆ T (N2 ) und T (N1 ) ⊆ L(N2 ), c) X(N1 ) ⊆ Y (N2 ) mit X ∈ {L, T } und Y ∈ {P, G}, und d) Y (N1 ) ⊆ X(N2 ) und Y (N1 ) = X(N2 ) mit X ∈ {L, T } und Y ∈ {P, G}, sofern ε-beschriftete Transitionen erlaubt sind. Beweis. a) Da der P -Typ Spezialfall des G-Typs ist, lassen sich diese Fragestellungen auf GPE(G) bzw. GPU(G) zur¨ uckf¨ uhren. b) Wir benutzen die Kombination der Konstruktionen aus den S¨atzen 60 und 61, d.h. die Konstruktion von Janˇcar mit der Erweiterung nach Abbildung 5.11 und der zus¨ atzlichen Transition mit Schlinge an Bm . Damit erreichen die konstruierten Netze genau dann einen Deadlock, wenn sie den Endzustand (n¨ amlich genau ein Token auf L und sonst keine Token im Netz) erreichen. Da N1 und N2 also jeweils dieselbe L-Sprache und T -Sprache besitzen, ist wegen der Unentscheidbarkeit von GPE(L) und GPE(T ) auch unentscheidbar, ob L(N1 ) = T (N2 ) bzw. T (N1 ) = L(N2 ) gilt. F¨ ur die Inklusionsprobleme m¨ ussen wir nun noch bedenken, dass per Konstruktion stets L(N1 ) = T (N1 ) ⊇ L(N2 ) = T (N2 ) gilt, denn alle falschen Rechnungen kann man in beiden Netzen simulieren, die korrekten aber nur in N1 . Aus der ¨ Unentscheidbarkeit der Aquivalenz folgt dann aber auch schon die Unentscheidbarkeit der Inklusionen L(N1 ) ⊆ T (N2 ) und T (N1 ) ⊆ L(N2 ). c) Hierzu konstruieren wir N1 und N2 wie in b) gem¨aß Satz 60 und Satz 61. Es gilt offensichtlich L(N1 ) = T (N1 ) ⊆ P (N1 ) = G(N1 ). Da P (N1 ) = G(N1 ) ⊆ P (N2 ) = G(N2 ) unentscheidbar ist und die korrekten, terminierenden Simulationen der Registermaschine in allen Sprachen von N1 (aber in keiner der Sprachen von N2 ) liegen, folgt die Aussage. d) Wir konstruieren die Netze N1 und N2 zun¨achst wie in c). Das Problem ist hier aber, dass wir in N2 das exakte Akzeptanzkriterium haben, in N1 aber nur das u ¨berdeckende. Daher werden bisher in P (N1 ) = G(N1 ) falsche Rechnungen liegen, die nicht im Befehl Bm enden, und die deshalb auch nicht in L(N2 ) = T (N2 ) liegen k¨ onnen. Um auch nach diesen Rechnungen terminieren zu k¨ onnen, f¨ ugen wir zus¨ atzliche ε-beschriftete Transitionen in unser Netz N2 ein: je eine Transition, die einen Token von Bi (1 ≤ i < m) und E
180
5 Feuersequenzen und Sprachen
nimmt und auf L legt, je eine Transition, die einen Token von Bi (1 ≤ i < m) und S nimmt und auf L legt, und eine Transition, die je einen Token von E und Bm nimmt und auf L legt (analog zu c). Ferner beschriften wir auch die `j -Transitionen (1 ≤ j ≤ n) nun mit ε. Damit k¨onnen wir zu jedem beliebigen Zeitpunkt (außer nach einer korrekten Terminierung in Bm ohne Token auf E) einen Token auf L legen und unsichtbar die Registerstellen leeren. Wir erreichen dann den Endzustand bzw. Deadlock mit genau einem Token auf L und akzeptieren. Folglich werden trotz des exakten Akzeptanzkriteriums in N2 immer noch alle fehlerhaften und alle unvollst¨andigen Rechnungen akzeptiert. Also gilt Y (N1 ) ⊆ X(N2 ) genau dann, wenn die simulierte Registermaschine nicht terminiert, was ja unentscheidbar ist. Da unsere neuen Transitionen alle Konstrollstellen B1 bis Bm , S und E leeren, k¨onnen danach keine nicht mit ε beschrifteten Transitionen mehr feuern. Folglich erhalten wir durch die Konstruktion auch keine neuen W¨orter in X(N2 ). Dann ist aber auch Y (N1 ) = X(N2 ) genau dann, wenn die Registermaschine nicht terminiert, d.h., auch Y (N1 ) = X(N2 ) ist unentscheidbar. Da sich die Netze N1 und N2 nach der Konstruktion von Janˇcar nur durch eine zus¨ atzliche Transition unterscheiden, bleibt eigentlich nur die Frage, was bei einem einzigen Petri Netz bei unterschiedlichen Akzeptanzkriterien passiert, also etwa, ob L(N ) = P (N ) f¨ ur beliebige Petri Netze entscheidbar ist. Hierzu sind im Moment aber noch keine Aussagen bekannt. Man kann sich noch fragen, warum die Gleichheitsprobleme f¨ ur Sprachen mit einem v¨ ollig anderen Ansatz gel¨ ost werden als die f¨ ur Zustandsmengen. Tats¨ achlich kann man z. B. die Unentscheidbarkeit von GPU(L) auch leicht durch eine Reduktion des Problems ZGP abhandeln. Eine Eingabe (N1 , N2 ) f¨ ur das ZGP modifiziert man so, dass man zun¨achst alle vorhandenen Transitionen mit ε beschriftet. F¨ ur jede Stelle p f¨ ugt man eine neue Transition tp im Nachbereich dieser Stelle ein, die man mit p beschriftet. Als Endzustand legen wir das tokenfreie Netz fest. Die Sprache dieses Netzes ist damit gerade die Menge aller Permutationen von Zustandsangaben, bei denen die Tokenzahl k auf einer Stelle p dem k-maligen Auftauchen des Symbols p in einem Wort entspricht. Die Konstruktion funktioniert allerdings schon nicht mehr, wenn wir Sprachen vom P - oder G-Typ betrachten. Hier kann man nicht erkennen, ob ein Wort in der Sprache liegt, weil der zugeh¨orige Zustand erreicht werden konnte oder weil er u ¨berdeckt werden konnte und einfach einige Token im Netz verblieben sind. Die ε-freien Netze scheiden hier ebenfalls von vornherein aus der Betrachtung aus, da die obige Konstruktion ja gerade ε-beschriftete Transitionen einf¨ uhrt. In der umgekehrten Richtung kann sich nat¨ urlich auch fragen, ob man aus dem Beweis f¨ ur die Unentscheidbarkeit von etwa GPE(P ) nicht auch die Unentscheidbarkeit von ZGP folgern und so den umst¨andlichen Weg u ¨ber Hilberts zehntes Problem vermeiden kann. Es f¨allt sofort auf, dass die Netze
5.6 Regularit¨ at und Kontextfreiheit
181
N1 und N2 , die wir zur Simulation einer Registermaschine konstruieren, niemals die gleiche Zustandsmenge haben k¨ onnen, da N1 eine stets tokenfreie Stelle S besitzt, die in N2 aber einen Token besitzen kann, vgl. Abb. 5.10. Wir m¨ ussen uns daher schon einmal auf eine Reduktion von GPE(P ) auf das Inklusionsproblem ZIP beschr¨ anken. Tats¨ achlich k¨onnte man auf die Idee kommen, zu zeigen, dass E(N1 ) ⊆ E(N2 ) genau dann gilt, wenn die simulierte Registermaschine nicht h¨ alt. Leider ist diese Vermutung jedoch falsch. Bei einer korrekten, terminierenden Simulation der Registermaschine sind alle Stellen im Netz N1 , die nicht zu einem Register geh¨oren, leer. Die Registerstellen enthalten irgendeine bestimmte Zahl von Token. Dies ist genau der Zustand, der die Inklusionsbeziehung zerst¨ oren m¨ usste. Die Frage ist nun, ob dieser Zustand auch im Netz N2 erreichbar ist. Dies klappt sicher nicht u ¨ber die korrekte, terminierende Rechnung, denn dabei k¨onnen die Token von S und Bm nicht entfernt werden. Es kann aber fehlerhafte, terminierende Simulationen der Registermaschine in N2 geben, die zuf¨allig zu denselben Registerinhalten, also zum selben Zustand f¨ uhren wie die korrekte Simulation in N1 . Also k¨ onnten die erreichbaren Zust¨ande von N1 in denen von N2 enthalten sein, obwohl die Registermaschine h¨alt. Dieses Problem l¨asst sich wohl nicht auf einfache Weise beheben, da man einer Registermaschine die Ergebnisse m¨ oglicher fehlerhafter Simulationen genausowenig ansehen kann wie die Terminierung mit dem korrekten Ergebnis.
5.6 Regularit¨ at und Kontextfreiheit Zum Abschluss unserer Betrachtungen der Sprachen von Petri Netzen wollen wir uns haupts¨ achlich mit der Regularit¨ at von Petri Netz Sprachen besch¨aftigen. Dazu ist zun¨ achst einmal festzustellen, dass jede regul¨are Sprache auch Sprache eines Petri Netzes ist. Satz 65. Zu jeder regul¨ aren Sprache L existieren beschriftete Petri Netze NG , NL und NT mit G(NG ) = L(NL ) = T (NT ) = L. Ist L abgeschlossen gegen Pr¨ afixbildung, so existiert auch ein Petri Netz NP mit P (NP ) = L. Beweis. Da L regul¨ ar ist, existiert ein endlicher Automat A = (Q, Σ, δ, q0 , Qf ) ¨ mit endlicher Zustandsmenge Q, Alphabet Σ, Ubergangsfunktion δ: Q×Σ → Q, Startzustand q0 und Endzustandsmenge Qf ⊆ Q, der L akzeptiert, d.h. L = L(A) = {w ∈ Σ ∗ | δ ∗ (q0 , w) ∈ Qf }. Wir konstruieren aus A ein Petri Netz N = (P, T, F, s0 , Sf , Σ, h) mit P = Q ∪ {f }, T = {tqaq0 | δ(q, a) = q 0 } ∪ {tqf | q ∈ Qf } mit h(tqaq0 ) = a und h(tqf ) = ε, s0 (q0 ) = 1 und s0 (q) = 0 f¨ ur q 6= q0 und Sf = {sf } mit sf (f ) = 1 und sf (q) = 0 f¨ ur q 6= f . Weiter bekommt jede Transition tqaq0 eine eingehende Kante von q und eine ausgehende
182
5 Feuersequenzen und Sprachen
Kante nach q 0 . Transitionen tqf bekommen eine eingehende Kante von q und eine ausgehende Kante nach f . Damit gilt δ(q, a) = q 0 ⇐⇒ q [tqaq0 >q 0 , wobei wir q und q 0 im Petri Netz N auch als den Zustand interpretieren, in dem auf dieser Stelle genau ein Token liegt und das Netz ansonsten leer ist. Wegen h(tqaq0 ) = a gilt damit auch δ ∗ (q, w) = q 0 ⇐⇒ ∃σ ∈ T ∗ : q [σ>q 0 ∧ h(σ) = w f¨ ur beliebige W¨orter w ∈ Σ ∗ . Somit gilt (f¨ ur geeignete qf und σ) w ∈ L ⇐⇒ δ ∗ (q0 , w) = qf ∈ Qf ⇐⇒ q0 [σ>qf ∧ h(σ) = w ⇐⇒ s0 [σtqf >sf ∧ h(σ) = w ⇐⇒ w ∈ L(N ). Man beachte, dass in N u ¨berhaupt nur Zust¨ande erreichbar sind, in denen sich genau ein Token im Netz befindet. Daher ist die einzige M¨oglichkeit, den Endzustand zu u ¨berdecken, ihn genau zu erreichen, d.h. L(N ) = G(N ). Ferner ist δ eine Funktion, und daher kann – außer im Endzustand – zu jedem a ∈ Σ auch stets eine Transition schalten. Das Netz ist also genau dann im Deadlock, wenn es den Endzustand erreicht. Wir folgern L(N ) = T (N ). Nehmen wir nun an, L sei pr¨ afixabgeschlossen. Erreicht man in A einmal einen Zustand, der kein Endzustand ist, kann man also nie wieder in einen Endzustand gelangen. Analoges gilt im Petri Netz N . Folglich k¨onnen wir alle Stellen, die zu solchen Nicht-Endzust¨ anden geh¨oren, mitsamt allen direkt davor oder dahinter liegenden Transitionen und Kanten aus N entfernen, ohne L(N ) dabei zu ¨ andern. Jedes jetzt noch feuerbare Wort wird akzeptiert. Also gilt P (N ) = L(N ). Nicht pr¨ afixabgeschlossene regul¨ are Sprachen k¨onnen selbstverst¨andlich keine Petri Netz Sprachen vom P -Typ sein, da diese alle pr¨afixabgeschlossen sind. Ebenso sind nicht alle regul¨ aren Sprachen auch Sprachen von freien Petri Netzen. Proposition 1. Es gibt kein freies Petri Netz N , dessen Sprache gerade die regul¨ are Sprache L = {an | n 6= 1} ist. Beweis. Nehmen wir an, es existiere ein solches Petri Netz N . Dann besitzt N genau eine Transition a (abgesehen von toten Transitionen), und vom Startzustand s0 aus ist s0 [a>s1 [a>s2 [a>s3 [a> . . . feuerbar. Da a beliebig oft feuern kann, muss s0 ≤ s1 ≤ s2 ≤ s3 ≤ . . . gelten, wobei entweder alle Zust¨ ande gleich oder alle verschieden sind. Bei Gleichheit gilt s0 = s1 , und da ε akzeptiert wird, wird dann auch a akzeptiert (egal welchen Sprachtyp wir betrachten). Ist aber s0 6= s1 6= s2 , so werden unendlich viele verschiedene Zust¨ ande erreicht. Da die Menge der Endzust¨ande endlich sein muss, gilt
5.6 Regularit¨ at und Kontextfreiheit
183
schon einmal L 6= L(N ). Wegen s0 ≤ s1 folgt aus ε ∈ G(N ) auch stets a ∈ G(N ) und somit L 6= G(N ). Da a zweimal feuern kann, kann es auch einmal feuern, und es gilt a ∈ P (N ) und L 6= P (N ). Da a immer wieder feuern kann, gilt schließlich T (N ) = ∅ und somit L 6= T (N ). Wann ist aber die Sprache eines Petri Netzes eine regul¨are Sprache? Hierauf geben Valk und Vidal-Naquet [VV81] f¨ ur die Pr¨afixsprache P (N ) eines freien Netzes N die Antwort. Satz 66. Es ist entscheidbar, ob die Sprache P (N ) eines freien Petri Netzes N regul¨ ar ist. Beweis. Sei N = (P, T, F, s0 ). Wir zeigen: P (N ) ist regul¨ar genau dann, ¨ wenn im ungesteuerten Uberdeckungsgraphen Cov(N ) f¨ ur jeden Kreis σ gilt W (σ) ≥ 0. Wir u achst, dass letztere Eigenschaft entscheidbar ist. Dazu ¨berlegen uns zun¨ gen¨ ugt es, zu erkennen, dass W (σ) ≥ 0 f¨ ur minimale Kreise (ohne Knoten¨ wiederholung) entscheidbar ist, denn der endliche Uberdeckungsgraph enth¨alt nur endlich viele minimale Kreise, die man einzeln pr¨ ufen kann. Existiert irgendein nicht-minimaler Kreis σ mit W (σ)(p) < 0 f¨ ur eine Stelle p, so kann man diesen Kreis zerlegen in σ = σ1 %σ2 , so dass % ebenfalls ein Kreis mit % 6= ε und % 6= σ ist. Falls W (%)(p) ≥ 0 gilt, so muss W (σ1 σ2 )(p) < 0 sein. Da sowohl % als auch σ1 σ2 kleinere Kreise als σ sind, k¨onnen wir denjenigen der beiden Kreise, der die Tokenzahl auf p erniedrigt, rekursiv weiterzerlegen (sofern er nicht schon minimal ist). Irgendwann halten wir so mit einen minimalen Kreis κ an, f¨ ur den immer noch W (κ)(p) < 0 gilt. Wir zeigen nun: Wenn P (N ) regul¨ ar ist, dann gilt f¨ ur alle minimalen Kreise σ in Cov(N ) stets W (σ) ≥ 0. Wir zeigen diese Aussage durch einen Widerspruchsbeweis, nehmen also an, P (N ) sei regul¨ar und es gebe trotzdem einen minimalen Kreis σ in Cov(N ) mit W (σ)(p) < 0 f¨ ur eine Stelle p. Sei A = (Q, Σ, δ, q0 , Qf ) ein endlicher Automat mit L(A) = P (N ). Wegen der ¨ Existenz von σ im Uberdeckungsgraphen besitzt N f¨ ur jedes k ∈ N eine Feuersequenz %k mit s0 [%k σ k>. Wir w¨ ahlen nun k > |Q|, dann gibt es im endlichen Automaten f¨ ur jedes i ≤ k einen Zustand qi ∈ Qf mit δ ∗ (q0 , %k σ i ) = qi . Wegen k > |Q| ≥ |Qf | muss es k1 < k2 ≤ k geben mit qk1 = qk2 . Daher wird auch %k σ k1 (σ k2 −k1 )j f¨ ur jedes j ∈ N vom endlichen Automaten A akzeptiert. Wegen P (N ) = L(A) kann %k σ k1 (σ k2 −k1 )j auch in N f¨ ur jedes j ∈ N feuern. Da N ein freies Netz ist, wissen wir auch, dass es sich bei σ k2 −k1 stets um ein Vielfaches des gew¨ ahlten minimalen Kreises mit W (σ k2 −k1 )(p) < 0 handelt. W¨ ahlt man daher j gen¨ ugend groß, so werden die Token auf p soweit aufgebraucht, dass σ nicht erneut feuern kann. Dies steht im Widerspruch zur Aussage, dass %k σ k1 (σ k2 −k1 )j f¨ ur jedes j ∈ N feuerbar ist.
184
5 Feuersequenzen und Sprachen
Es bleibt schließlich noch die Umkehrung der Aussage zu beweisen, d.h., wenn f¨ ur alle minimalen Kreise σ in Cov(N ) stets W (σ) ≥ 0 gilt, dann ist P (N ) regul¨ ar. Damit kann eine Erniedrigung der Tokenzahl auf einer Stelle p durch eine Feuersequenz σ (feuerbar unter einem beliebigen Zustand s) nur durch diejenigen Teile von σ verursacht werden, die keine Kreise bilden. Der kreisfreie Anteil kf (σ) von σ entstehe in diesem Sinne durch folgende (rekursiv aufzurufende) Prozedur: Wenn σ keinen Kreis enth¨alt, ist man fertig (d.h. kf (σ) := σ), ansonsten finde man eine Zerlegung σ = σ0 κσ1 mit einem Kreis κ 6= ε und definiere kf (σ) := kf (σ0 σ1 ). Nun gilt W (kf (σ)) ≤ W (σ) (wobei kf (σ) nicht unter s feuerbar sein muss), und kf (σ) ist in der L¨ange ¨ durch die Anzahl n der Knoten des Uberdeckungsgraphen beschr¨ankt. Sei ferner m := max{F (p, t) | t ∈ T, p ∈ P }, dann ist W (σ)(p) ≥ W (kf (σ))(p) ≥ −m·n f¨ ur jedes p ∈ P . Zu der Konstanten k := max{s0 (p) | p ∈ P }+m·n+m definieren wir nun den endlichen Automaten A = (Q, T, δ, q0 , Qf ) mit Q = {0, 1, . . . , k}P ∪ {err}, q0 = s0 , Qf = Q\{err}, δ(q, t)(p) = min{k, q(p) − F (p, t) + F (t, p)}, sofern q 6= err und q [t> gelten, δ(q, t) = err, falls nicht q [t> gilt, und schließlich δ(err, t) = err f¨ ur alle t ∈ T . Der Automat A vollzieht gewissermaßen die Schaltvorg¨ ange in N nach und merkt sich die Tokenzahlen f¨ ur jede Stelle, aber nur bis zu einem Maximum von k. Erh¨alt eine Stelle in N irgendwann mehr als k Token, so vergisst A einfach die u ahligen Token. Wit zeigen nun L(A) = P (N ). ¨berz¨ Sei σ = t1 . . . tn ∈ T ∗ ein beliebiges Wort. Gilt σ ∈ P (N ), so finden wir Zust¨ ande s1 , . . . , sn mit s0 [t1>s1 [t2>s2 . . . [tn>sn . Seien nun q1 , . . . , qn so gew¨ ahlt, dass f¨ ur 1 ≤ i ≤ n und p ∈ P gerade qi (p) = min{k, qi−1 (p) − F (p, t) + F (t, p)} gilt. Wir zeigen nun qi [ti+1>. F¨ ur q0 = s0 gilt dies bereits. Per Induktion nehmen wir an, qj [tj+1> gelte schon f¨ ur 0 ≤ j < i. F¨ ur p ∈ P sei jp < i der h¨ ochste Index, f¨ ur den qjp (p) = k gilt. Falls jp nicht existiert, so muss jeweils qj (p) = qj−1 (p) − F (p, tj ) + F (tj , p) f¨ ur 1 ≤ j ≤ i gelten. Damit ist aber qj (p) = sj (p) f¨ ur 1 ≤ j ≤ i und somit auch qi (p) = si (p) ≥ F (p, ti+1 ) gegeben. Existiert jp , so ist (wegen Feuerbarkeit qj [tj+1> f¨ ur j < i) qi (p) = qjp (p) + W (tjp +1 . . . ti−1 )(p) = k + W (tjp +1 . . . ti−1 )(p) ≥ k − m · n ≥ m ≥ F (p, ti+1 ). In jedem Fall liegen genug Token f¨ ur das Feuern von ti+1 auf p. Da die Aussage f¨ ur alle p ∈ P gilt, gilt somit qi [ti+1>. Mit Definition von δ ist dann aber δ(qj , tj+1 ) = qj+1 f¨ ur 0 ≤ j < n. Also gilt auch δ ∗ (q0 , σ) = qn ∈ Qf und σ ∈ L(A). Es folgt P (N ) ⊆ L(A). Setzen wir nun σ = t1 . . . tn ∈ L(A) voraus. Dann ist δ ∗ (q0 , σ) = qn ∈ Qf und δ(qj , tj+1 ) = qj+1 ∈ Qf f¨ ur geeignete q1 , . . . , qn ∈ Qf . Wir konstruieren induktiv sj mit qj ≤ sj . F¨ ur den Index Null gilt ohnehin s0 = q0 . Wegen qj [tj+1> und qj ≤ sj gilt auch sj [tj+1>; wir definieren dann sj+1 durch sj [tj+1>sj+1 . Per Definition von δ ist damit qj+1 ≤ sj+1 . Insgesamt gilt damit sj [tj+1>sj+1 f¨ ur alle 0 ≤ j < n und somit s0 [σ> und σ ∈ P (N ). Wir folgern schließlich L(A) ⊆ P (N ) und somit insgesamt L(A) = P (N ).
5.6 Regularit¨ at und Kontextfreiheit
185
Wir erweitern nun diesen Beweis so, dass er auch auf die G-, L- und T Sprachtypen anwendbar ist. Satz 67. Es ist entscheidbar, ob die Sprache G(N ) eines freien Petri Netzes N regul¨ ar ist. Beweis. Sei N = (P, T, F, s0 , Sf ). Wir zeigen: G(N ) ist regul¨ar genau dann, ¨ wenn im ungesteuerten Uberdeckungsgraphen Cov(N ) f¨ ur jeden Kreis σ entweder W (σ) ≥ 0 gilt oder kein Zustand s vom Kreis aus erreichbar ist, der einen Endzustand sf ∈ Sf u ¨berdeckt. Wir wenden uns zun¨ achst wieder der Entscheidbarkeit dieser Eigenschaft zu. Bereits im Beweis zu Satz 66 haben wir festgestellt, dass es entscheidbar ist, ob Kreise σ in Cov(N ) existieren, die W (σ) ≥ 0 nicht erf¨ ullen, und wir haben gesehen, dass man alle minimalen Kreise, denen diese Eigenschaft fehlt, bestimmen kann. Man kann offensichtlich pr¨ ufen, welche der endlich vielen Knoten von Cov(N ) von einem solchen Kreis aus erreichbar sind und ob ein Knoten dabei ist, in dem ein Endzustand u ¨berdeckt wird. (Man beachte, dass eventuelle ω-Komponenten eines solchen Knotens tats¨achlich beliebig groß werden k¨ onnen.) Wir zeigen nun: Wenn G(N ) regul¨ ar ist, dann ist von keinem minimalen Kreis σ in Cov(N ) mit W (σ)(p) < 0 f¨ ur eine Stelle p ein Zustand erreichbar, der einen Endzustand u ¨berdeckt. Wir nehmen an, G(N ) sei regul¨ar und es gebe trotzdem einen minimalen Kreis σ in Cov(N ) mit W (σ)(p) < 0 f¨ ur eine Stelle p und einen Weg von diesem Kreis aus, der zu einem einen Endzustand u uhrt. Sei A = (Q, Σ, δ, q0 , Qf ) ein endlicher Auto¨berdeckenden Knoten s f¨ ¨ mat mit L(A) = G(N ). Wegen der Existenz von σ im Uberdeckungsgraphen besitzt N f¨ ur jedes k ∈ N eine Feuersequenz %k mit s0 [%k σ k>. Wegen der Erreichbarkeit von s k¨ onnen wir %k so w¨ ahlen, dass nun ein τk feuerbar ist mit s0 [%k σ k τk>s0 ≤ s mit s0 ≥ sf f¨ ur ein sf ∈ Sf . Wir w¨ahlen nun k > |Q|, dann gibt es im endlichen Automaten f¨ ur jedes i ≤ k einen Zustand qi ∈ Q mit δ ∗ (q0 , %k σ i ) = qi . Wegen k > |Q| muss es k1 < k2 ≤ k geben mit qk1 = qk2 . Daher wird auch %k σ k1 (σ k2 −k1 )j τk f¨ ur jedes j ∈ N vom endlichen Automaten A akzeptiert. Wegen G(N ) = L(A) kann %k σ k1 (σ k2 −k1 )j τk auch in N f¨ ur jedes j ∈ N feuern. Da N ein freies Netz ist, wissen wir auch, dass es sich bei σ k2 −k1 stets um ein Vielfaches des gew¨ahlten minimalen Kreises mit W (σ k2 −k1 )(p) < 0 handelt. W¨ ahlt man daher j gen¨ ugend groß, so werden die Token auf p soweit aufgebraucht, dass σ nicht erneut feuern kann. Dies steht im Widerspruch zur Aussage, dass %k σ k1 (σ k2 −k1 )j τk f¨ ur jedes j ∈ N feuerbar ist. Es bleibt schließlich noch die Umkehrung der Aussage zu beweisen, d.h., wenn von keinem minimalen Kreis σ in Cov(N ) mit W (σ)(p) < 0 f¨ ur eine Stelle p ein Zustand erreichbar ist, der einen Endzustand u ¨berdeckt,
186
5 Feuersequenzen und Sprachen
¨ dann ist G(N ) regul¨ ar. Mit der Anzahl n der Knoten des Uberdeckungs¨ graphen, dem maximalen Wert ` 6= ω, der in einem Knoten des Uberdeckungsgraphen auftritt, und m := max{F (p, t) | t ∈ T, p ∈ P } definieren wir analog zum Beweis aus Satz 66 eine Konstante k := max{s0 (p) | p ∈ P }+m·n+m+`+max{sf (p) | sf ∈ Sf ∧ p ∈ P } und einen endlichen Automaten A = (Q, T, δ, q0 , Qf ) mit Q = {0, 1, . . . , k}P ∪ {err}, q0 = s0 , Qf = {q ∈ Q\{err} | ∃sf ∈ Sf : q ≥ sf }, δ(q, t)(p) = min{k, q(p) − F (p, t) + F (t, p)}, sofern q 6= err und q [t> gelten, δ(q, t) = err, falls nicht q [t> gilt, und schließlich δ(err, t) = err f¨ ur alle t ∈ T . Man beachte die Unterschiede zum Beweis von Satz 66: k wurde um ` + max{sf (p) | sf ∈ Sf ∧ p ∈ P } erh¨oht und Qf enth¨ alt nur noch diejenigen Zust¨ ande, die Endzust¨ande u ¨berdecken. Die Erh¨ ohung von k schadet dem Beweis aus Satz 66 nicht, d.h., w¨ urde man Qf = Q\{err} setzen, so w¨ urde bereits L(A) = P (N ) gelten. Durch die Umdefinition von Qf erreichen wir nun im Prinzip L(A) = G(N ). Durch das Addieren von max{sf (p) | sf ∈ Sf ∧ p ∈ P } zu k verhindern wir dabei, dass ein akzeptierender und ein nichtakzeptierender Zustand von N auf denselben Zustand in A abgebildet werden, was klar zu einem Fehler f¨ uhren w¨ urde. Wir untersuchen nun, welche Zust¨ ande in N bzw. A nach Abarbeiten einer beliebigen Feuersequenz τ erreicht werden, und vergleichen insbesondere die Akzeptanz. Zun¨achst halten wir fest, dass A sich f¨ ur jede Stelle von N eine Tokenzahl merkt, die entweder gleich der Tokenzahl in N ist oder niedriger (falls der Wert k irgendwann u ¨berschritten wurde). Sei τ eine beliebige Feuersequenz. Fall 1: τ ber¨ uhrt keinen Kreis σ mit W (σ)(p) < 0 f¨ ur eine Stelle p. Wie wir bereits im Beweis zu Satz 66 gezeigt haben, kann die Tokenzahl auf einer Stelle p dann von keiner Teilsequenz von τ um mehr als m · n erniedrigt werden. Hat p nach Feuern von τ mindestens k − m · n Token, so ist diese Zahl wegen k − m · n ≥ max{sf (p) | sf ∈ Sf ∧ p ∈ P } aber so groß, dass ¨ sie f¨ ur die Uberdeckung jedes Endzustands reicht. Das heißt, wenn wir in N einen Endzustand u ¨berdecken, aber in A nicht, dann liegt das nicht an der Tokenzahl auf p. Hat p dagegen weniger als k−m·n Token, so wurde w¨ahrend des Feuerns von τ niemals die Zahl von k Token auf p erreicht. Damit merkt sich auch der endliche Automat A nach Abarbeiten von τ die exakte Zahl der ¨ Token auf p, denn nur bei Uberschreiten des Wertes k ist in A ein zu geringer Wert gespeichert. Folglich kann auch ein solches p nicht daf¨ ur verantwortlich sein, dass N akzeptiert, A jedoch nicht. Da die gemerkte Tokenzahl auf A stets kleiner oder gleich der korrekten Tokenzahl in N ist, kann der Fall, dass A akzeptiert, N jedoch nicht, u ¨berhaupt nicht eintreten. Also akzeptiert A korrekt. Fall 2: τ ber¨ uhrt einen Kreis σ mit W (σ)(p) < 0 f¨ ur eine Stelle p. (Insbesondere akzeptiert N die Feuersequenz τ nicht, d.h. τ ∈ / G(N ).) Wir bestimmen zun¨ achst alle solchen Kreise σ, die τ ber¨ uhrt, und alle Stellen p, deren Tokenzahl durch mindestens einen dieser Kreise vermindert wird. Da
5.6 Regularit¨ at und Kontextfreiheit
187
sich die Tokenzahl einer solchen Stelle p beim Durchlaufen eines der Kreise ¨ andert, muss der Uberdeckunsgraph im betreffenden Kreis f¨ ur p den Eintrag ¨ ω aufweisen. Nach Satz 16 k¨ onnen wir die Tokenzahl auf diesen ω-Stellen simultan beliebig erh¨ ohen, indem wir die Feuersequenz τ geeignet erweitern. ¨ Nehmen wir an, es gilt s0 [τ>s und s ≤ sˆ, wobei sˆ der Knoten im Uberdeckungsgraphen ist, der nach Ablaufen von τ erreicht wird. Dann finden wir also eine Feuersequenz τ 0 , f¨ ur die s0 [τ 0>s0 gilt, die im selben Knoten sˆ ¨ im Uberdeckungsgraphen endet, die die oben ermittelten Kreise ber¨ uhrt und f¨ ur die s0 (p) ≥ max{sf (p) | sf ∈ Sf ∧ p ∈ P } f¨ ur jede ω-Stelle p gilt. Nun kann aber nach Benutzung eines der ermittelten Kreise nie wieder ein Endzustand u ur m¨ ussen dann die u ¨berdeckt werden. Daf¨ ¨brigen Stellen verantwortlich sein, also nur solche Stellen p, f¨ ur die in jedem der benutzten Kreise W (σ)(p) ≥ 0 gilt. Betrachten wir die Knoten, die wir beim Durchlaufen von ¨ τ im Uberdeckungsgraphen besuchen, so weisen diese u ¨brigen“ Stellen keine ” ω-Eintr¨ age auf. Folglich besitzen sie stets h¨ ochstens ` < k − m · n Token. Also merkt sich A f¨ ur diese Stellen die korrekten Tokenzahlen und erreicht ebenfalls keinen Endzustand. Wir folgern L(A) = G(N ) und somit die Regularit¨at von G(N ).
Satz 68. Es ist entscheidbar, ob die Sprache L(N ) eines freien Petri Netzes N regul¨ ar ist. Beweis. Sei N = (P, T, F, s0 , Sf ). Wir zeigen: L(N ) ist regul¨ar genau dann, ¨ wenn im ungesteuerten Uberdeckungsgraphen Cov(N ) f¨ ur jeden Kreis σ entweder W (σ) ≥ 0 gilt oder es eine Schranke k0 ∈ N gibt, so dass nach mehr als k0 -maligem Durchlaufen des Kreises σ kein Endzustand sf ∈ Sf mehr erreichbar ist. Dass man alle minimalen Kreise σ identifizieren kann, f¨ ur die W (σ) ≥ 0 nicht gilt, wissen wir bereits aus dem Beweis zu Satz 66. Wir wenden uns zun¨achst dem Problem zu, wie man feststellt, ob es die besagte obere Schranke k0 f¨ ur die Erreichbarkeit von Endzust¨ anden bei einem Kreis σ mit W (σ)(p) < 0 f¨ ur eine Stelle p gibt. Dazu formulieren wir ein komplexes Erreichbarkeitsproblem in Form von endlich vielen Keim-Transition-Folgen. Zuerst bestimmen wir zu ¨ jedem Knoten s des Uberdeckungsgraphen Cov(N ) die strenge Zusammenhangskomponente Ks , in der dieser Knoten liegt. Damit ist Ks bereits ein Keim, den wir nun noch mit sin = s = sout annotieren, um ihn in KeimTransition-Folgen einsetzen zu k¨ onnen. Da die Keime Ks bereits alle Kreise ¨ im Uberdeckungsgraphen abdecken, m¨ ussen wir nun nur noch kreisfreie Wege betrachten. Wir bestimmen also alle (endlich vielen) kreisfreien Wege, die uns interessieren, n¨ amlich solche, die vom Startzustand ausgehend zun¨achst zu einem Knoten unseres Kreises σ f¨ uhren und von dort aus dann zu einem Knoten, der einen der Endzust¨ ande u ¨berdeckt. Nehmen wir an, W sei die Menge
188
5 Feuersequenzen und Sprachen t
t
1 i all dieser Wege. Zu jedem Weg s0 −→ s1 . . . si−1 − → si in W konstruieren wir nun eine Keim-Transition-Folge Ks0 t1 Ks1 . . . Ksi−1 ti Ksi . Die Annotationen f¨ ur die einzelnen Keime seien wie oben angegeben, bloß den Output des letzten Keims Ksi annotieren wir anders. Da wir einen Endzustand nicht u ussen wir sout genau auf den ¨berdecken, sondern exakt erreichen wollen, m¨ i ¨ gew¨ unschten Endzustand setzen. (Uberdeckt der letzte Knoten si mehrere Endzust¨ ande, so m¨ ussen wir f¨ ur jeden dieser Endzust¨ande eine Kopie der Keim-Transition-Folge anlegen.) Ingesamt haben wir somit eine Menge G von Keim-Transition-Folgen erzeugt, die alle Wege vom Startzustand u ¨ber den Kreis σ zu einem Endzustand repr¨ asentieren.
In jeder Folge aus G gibt es normalerweise eine Transition, mit der der Kreis σ zum ersten Mal erreicht wird, und eine Transition, mit der der Kreis σ endg¨ ultig verlassen wird. Diese Transitionen markieren wir, damit wir sie sp¨ ater wiedererkennen. Falls s0 oder der gew¨ unschte Endzustand selbst im Kreis liegen, existieren diese Transitionen nicht, dann setzen wir entsprechend Marken vor oder nach der gesamten Keim-Transition-Folge. Das Dekompositionstheorem (Satz 12) ersetzt nur Keime durch Keim-Transition-Folgen und l¨ asst die dazwischenliegenden Transitionen unber¨ uhrt, so dass wir die Markierungen und damit Beginn und Ende von σ immer wiederfinden k¨onnen. Nach Anwendung des Dekompositionstheorems haben wir nun nur noch perfekte Keim-Transition-Folgen, die aber immer noch alle Wege vom Startzustand u ¨ber den Kreis σ zu einem Endzustand repr¨asentieren. Wir l¨osen also die Charakteristischen Gleichungen dazu und l¨oschen alle Keim-TransitionFolgen, die keine L¨ osung besitzen. Bei den u ¨brigen Keim-Transition-Folgen pr¨ ufen wir die Teilfolge zwischen den beiden von uns angelegten Markierungen darauf, ob der Kreis σ in einem der Keime wiedergefunden werden kann. Dies ist recht einfach, da der Zustand direkt nach unserer ersten Mar¨ kierung ja immer noch dem Zustand im Uberdeckungsgraphen entspricht, bei dem wir den Kreis σ urspr¨ unglich betreten haben, und aufgrund der lokalen Determiniertheit aller Keime l¨ asst sich feststellen, welche Kanten in den weiteren Keimen bis zur Abschlussmarkierung zu Kanten des Kreises σ geh¨ oren. Da alle Keim-Transition-Folgen mit L¨osung perfekt sind, m¨ ussen nach Definition 52 alle Kanten in allen Keimen zum Support der Charakteristischen Gleichung geh¨ oren. Finden wir also σ als Kreis in einem Keim wieder, so geh¨ ort σ zum Support, und damit gibt es L¨osungen, also Wege vom Startzustand in einen Endzustand, die σ beliebig oft benutzen. Kommt σ nicht als Kreis in einem Keim vor, so kann man σ nur beschr¨ankt oft ablaufen, wenn man dann noch einen Endzustand erreichen will. F¨ ur jede der perfekten Keim-Transition-Folgen kann man also feststellen, ob sie L¨osungen enth¨ alt, in denen σ unbeschr¨ ankt oft durchlaufen wird. Ist dies f¨ ur keine einzige der perfekten Keim-Transition-Folgen der Fall, so existiert die gesuchte obere Schranke k0 .
5.6 Regularit¨ at und Kontextfreiheit
189
Wir zeigen nun: Wenn L(N ) regul¨ ar ist, dann gibt es f¨ ur jeden Kreis σ im ¨ Uberdeckungsgraphen Cov(N ), der eine Stelle p mit W (σ)(p) < 0 besitzt, eine obere Schranke k0 ∈ N, so dass nach mehr als k0 -maligem Durchlaufen von σ kein Endzustand mehr erreicht werden kann. Wir nehmen dazu an, L(N ) sei regul¨ ar, die Schlussfolgerung gelte aber nicht, und zeigen einen Widerspruch. Sei A = (Q, Σ, δ, q0 , Qf ) ein endlicher Automat mit L(N ) = L(A). Sei σ ein Kreis mit W (σ)(p) < 0 f¨ ur eine Stelle p, f¨ ur den die obere Schranke k0 nicht existiert. Es gibt also unendlich viele verschiedene j ∈ N, f¨ ur die Feuersequenzen %j σ j τj existieren, die in einen Endzustand f¨ uhren. Es gilt dann jeweils auch δ ∗ (q0 , %j σ j τj ) = qf ∈ Qf f¨ ur jeweils geeignete qf . W¨ ahlt man ein solches j mit j > |Q|, so existie%j σ i1
σ i2 −i1
σ j−i2 τj
ren i1 , i2 und q ∈ Q mit q0 −−−→A q −−−−→A q −−−−−→A qf . Es folgt δ ∗ (q0 , %j σ j+r·(i2 −i1 ) τj ) = qf ∈ Qf f¨ ur jedes r ∈ N. W¨ahlt man r groß genug, so liegen auf p aber wegen W (σ i2 −i1 )(p) < 0 zu wenig Token, um σ nach %j σ j+r·(i2 −i1 ) ein weiteres Mal zu feuern, d.h., %j σ j+(r+1)·(i2 −i1 ) ist in N nicht feuerbar. Per Definition von A f¨ uhrt diese Sequenz dann aber in A in den Zustand err, der nicht wieder verlassen werden kann, im Widerspruch zur obigen Annahme δ ∗ (q0 , %j σ j+(r+1)·(i2 −i1 ) τj ) = qf ∈ Qf . Zum Abschluss ist noch zu zeigen: Wenn f¨ ur jeden Kreis σ in Cov(N ) mit W (σ)(p) < 0 f¨ ur ein p eine obere Schranke k0 ∈ N existiert, so dass man nach mehr als k0 -maligem Durchlaufen von σ auf keinen Fall mehr einen Endzustand erreichen kann, dann ist L(N ) regul¨ar. Wie auch in den beiden vorigen S¨ atzen konstruieren wir hierf¨ ur einen endlichen Automaten, der die Tokenverteilung auf jeder Stelle in N exakt mitz¨ahlt, solange ein Grenzwert k f¨ ur eine Stelle nicht u ¨berschritten wird. Sei also k0 die obere Schranke aus der Voraussetzung, n die Anzahl der Kno¨ ten des Uberdeckungsgraphen Cov(N ), m := max{F (p, t) | t ∈ T, p ∈ P }, k := max{s0 (p) | p ∈ P } + m · n + m + k0 · m · n + max{sf (p) | sf ∈ Sf ∧ p ∈ P } und A = (Q, T, δ, q0 , Qf ) mit Q = {0, 1, . . . , k}P ∪ {err}, q0 = s0 , Qf = Sf , δ(q, t)(p) = min{k, q(p) − F (p, t) + F (t, p)}, sofern q 6= err und q [t> gelten, δ(q, t) = err, falls nicht q [t> gilt, und schließlich δ(err, t) = err f¨ ur alle t ∈ T . Da wir k hier um k0 · m · n + max{sf (p) | sf ∈ Sf ∧ p ∈ P } gr¨oßer w¨ahlen als in Satz 66, w¨ urde mit Qf = Q\{err} automatisch L(A) = P (N ) gelten, die Wahl eines gr¨ oßeren k ist in Satz 66 unsch¨ adlich. Wir m¨ ussen also nur noch ¨ zeigen, dass die Anderung von Qf zu Sf genau L(A) = L(N ) bewirkt. Solange A sich die Tokenzahl auf allen Stellen exakt merkt, ist das offensichtlich. Erst wenn eine Stelle in N einmal mehr als k Token aufweist, arbeiten N und A mit unterschiedlichen Zust¨ anden. Wir zeigen aber, dass dann ohnehin kein Endzustand mehr erreichbar ist, weder in N noch in A. Nehmen wir an, in N liegen nach Feuersequenz τ mindestens k + 1 Token auf einer Stelle p. Ohne einen Kreis σ mit W (σ)(p) < 0 k¨ onnen – wie im Beweis zu Satz 66 gesehen – im weiteren Verlauf des Feuerns maximal m · n Token von p entfernt werden,
190
5 Feuersequenzen und Sprachen
so dass immer mindestens k−m·n > max{sf (p) | sf ∈ Sf ∧ p ∈ P } Token auf p verbleiben – zuviel um einen Endzustand zu erreichen. Da in A dieselben ¨ Uberg¨ ange m¨ oglich sind wie in N , gilt f¨ ur A dieselbe Argumentation. Benutzen wir nun in N einen Kreis σ von Cov(N ) mit W (σ)(p) < 0. Die Summe aller solchen Kreise σ, also deren Hintereinanderausf¨ uhrung, kann maximal m·n Token von p entfernen. Da wir jeden solchen Kreis maximal k0 -mal ausf¨ uhren k¨ onnen, wenn wir noch einen Endzustand erreichen wollen, kann die maximale Ausf¨ uhrung all dieser Kreise zusammen h¨ ochstens k0 ·m·n Token von p entfernen. Es gilt (analog zu oben) k − k0 · m · n > max{sf (p) | sf ∈ Sf ∧ p ∈ P }, d.h., ein Endzustand ist in N selbst dann nicht mehr erreichbar. Wiederum gilt die gleiche Schlussfolgerung auch f¨ ur A, denn A simuliert N und hat sich zwischenzeitlich ja auch zumindest k Token auf p gemerkt. Daher kann bei Erreichen von k Token auf einer beliebigen Stelle p weder N noch A jemals einen Endzustand erreichen. Es folgt L(A) = L(N ), und damit ist L(N ) regul¨ ar.
Satz 69. Es ist entscheidbar, ob die Sprache T (N ) eines freien Petri Netzes N regul¨ ar ist. Beweis. Sei N = (P, T, F, s0 ). Wir zeigen: T (N ) ist regul¨ar genau dann, wenn ¨ im ungesteuerten Uberdeckungsgraphen Cov(N ) f¨ ur jeden Kreis σ entweder W (σ) ≥ 0 gilt oder es eine Schranke k0 ∈ N gibt, so dass nach mehr als k0 -maligem Durchlaufen des Kreises σ kein Deadlock mehr erreichbar ist. Man beachte zun¨ achst, dass sich die Menge aller Deadlocks von N durch eine endliche Menge von erweiterten Zust¨ anden D darstellen l¨asst, man vergleiche mit dem Beweis zu Satz 14. Ersetzt man die Endzust¨ande im Beweis zu Satz 68 durch diese Deadlocks beschreibende Menge, so folgt die Entscheidbarkeit der obigen Eigenschaft direkt. Die Implikation Wenn T (N ) regul¨ ar ist, dann gibt es f¨ ur jeden Kreis σ im ” ¨ Uberdeckungsgraphen Cov(N ), der eine Stelle p mit W (σ)(p) < 0 besitzt, eine obere Schranke k0 ∈ N, so dass nach mehr als k0 -maligem Durchlaufen von σ kein Deadlock mehr erreicht werden kann“, wird exakt genauso bewiesen wie die analoge Aussage im Beweis zu Satz 68 f¨ ur L(N ). Man ersetze lediglich u ¨berall Endzustand“ durch Deadlock“ und L(N )“ durch T (N )“. ” ” ” ” Die Umkehrung dieser Implikation l¨ asst sich nicht ganz identisch zu Satz 68 beweisen. Wie auch in den drei vorigen S¨ atzen konstruieren wir hierf¨ ur einen endlichen Automaten, der die Tokenverteilung auf jeder Stelle in N exakt mitz¨ ahlt, solange ein Grenzwert k f¨ ur eine Stelle nicht u ¨berschritten wird. Sei k0 die obere Schranke aus der Voraussetzung, n die Anzahl der Knoten ¨ des Uberdeckungsgraphen Cov(N ), m := max{F (p, t) | t ∈ T, p ∈ P }, k := max{s0 (p) | p ∈ P }+m·n+m+k0 ·m·n+max{d(p) | d ∈ D ∧ p ∈ P ∧ d(p) 6= ω} und A = (Q, T, δ, q0 , Qf ) mit Q = {0, 1, . . . , k}P ∪ {err}, q0 = s0 , Qf = {q ∈
5.6 Regularit¨ at und Kontextfreiheit
191
Q | ∃d ∈ D : q ≤ d}, δ(q, t)(p) = min{k, q(p) − F (p, t) + F (t, p)}, sofern q 6= err und q [t> gelten, δ(q, t) = err, falls nicht q [t> gilt, und schließlich δ(err, t) = err f¨ ur alle t ∈ T . Da wir k hier um k0 · m · n + max{d(p) | d ∈ D ∧ p ∈ P ∧ d(p) 6= ω} gr¨ oßer w¨ ahlen als in Satz 66, w¨ urde mit Qf = Q\{err} automatisch L(A) = P (N ) gelten, die Wahl eines gr¨oßeren k ist in Satz 66 ¨ unsch¨ adlich. Wir m¨ ussen also nur noch zeigen, dass die Anderung von Qf zu {q ∈ Q | ∃d ∈ D : q ≤ d} genau L(A) = T (N ) bewirkt. Solange A sich die Tokenzahl auf allen Stellen exakt merkt, ist das offensichtlich, denn genau die Zust¨ ande, die kleiner oder gleich einem d ∈ D sind, sind Deadlocks. Erst wenn eine Stelle in N einmal mehr als k Token aufweist, arbeiten N und A mit unterschiedlichen Zust¨ anden. Nehmen wir an, in N liegen nach Feuersequenz τ mindestens k Token auf einer Stelle p. Ohne einen Kreis σ mit W (σ)(p) < 0 k¨onnen – wie im Beweis zu Satz 66 gesehen – im weiteren Verlauf des Feuerns maximal m·n Token von p entfernt werden, so dass immer mindestens k−m·n > max{d(p) | d ∈ D ∧ p ∈ P ∧ d(p) 6= ω} Token auf p verbleiben. Ist d ∈ D ein erweiterter Zustand mit d(p) < ω, dann ist auch d(p) ≤ max{d(p) | d ∈ D ∧ p ∈ P ∧ d(p) 6= ω}. Damit sind alle Deadlocks ≤ d dann nach τ unerreichbar, und zwar sowohl in N als auch in A. Gilt hingegen d(p) = ω, dann ist die Tokenzahl auf p unerheblich f¨ ur das Erreichen dieser Menge von Deadlocks d. Wir erreichen zwar in N und A Zust¨ ande mit unterschiedlichen Werten bzgl. p, aber es sind immer entweder beide Zust¨ ande ≤ d oder keiner von beiden. Also kommt man mit denselben Sequenzen in N und A in Deadlocks. Es bleibt noch der Fall, dass die Sequenz τ einen Knoten (in Cov(N )) eines Kreises σ mit W (σ)(p) < 0 ber¨ uhrt. Die Summe aller solchen Kreise σ, also deren einmalige Gesamtausf¨ uhrung, kann maximal m · n Token von p entfernen. Da wir jeden solchen Kreis maximal k0 -mal ausf¨ uhren k¨onnen, wenn wir noch einen Deadlock erreichen wollen, kann die maximal k0 -malige Ausf¨ uhrung all dieser Kreise zusammen h¨ ochstens k0 · m · n Token von p entfernen. Es gilt (analog zu oben) k − k0 · m · n > max{d(p) | d ∈ D ∧ p ∈ P ∧ d(p) 6= ω}, d.h., eine Deadlockmenge d ∈ D ist in N nur erreichbar, wenn d(p) = ω gilt. Aber dann ist die falsch gemerkte Tokenzahl f¨ ur p in A nicht relevant f¨ ur das Erreichen eines Deadlocks aus d. N und A erreichen also bei parallelem Abarbeiten von τ auch in diesem Fall stets gleichzeitig die gleiche Deadlockmenge d ∈ D oder sie erreichen beide keinen Deadlock. Lediglich der individuelle Deadlock innerhalb einer Menge d ∈ D, der erreicht wird, kann bei N und A verschieden sein. Es folgt L(A) = T (N ), und damit ist T (N ) regul¨ ar. Im Gegensatz zu den freien Petri Netzen sind f¨ ur das Regularit¨atsproblem bei beschrifteten Petri Netzen keine Beweise f¨ ur die allgemeine Entscheidbarkeit bekannt. Im Gegenteil, zumindest f¨ ur die Sprachtypen L und T ist
192
5 Feuersequenzen und Sprachen
die Regularit¨ at außer in Spezialf¨ allen unentscheidbar. Beginnen wir zun¨achst mit diesen Spezialf¨ allen, n¨ amlich den beschr¨ ankten Netzen. Lemma 48. Es gibt einen Algorithmus, der zu jedem beschr¨ ankten Petri Netz N endliche Automaten AP , AG , AL und AT konstruiert mit P (N ) = L(AP ), G(N ) = L(AG ), L(N ) = L(AL ) und T (N ) = L(AT ). Beweis. Wir geben den Algorithmus direkt an. Sei N = (P, T, F, s0 , Sf , Σ, h). Zun¨ achst bestimmen wir den Erreichbarkeitsgraphen EG(N ) = (E(N ), E, T , s0 ) zu N . Da dieser endlich ist, l¨ asst er sich auch in endlicher Zeit konstruieren. Wir wandeln EG(N ) nun in den endlichen Automaten AP um: AP = (E(N ), Σ, δ, s0 , Qf ) mit δ(s, a) = s0 ⇐⇒ ∃t ∈ T : (s, t, s0 ) ∈ E ∧ h(t) = a und Qf = E(N ). Es gilt also w ∈ P (N ) ⇐⇒ ∃σ ∈ T ∗ ∃s ∈ NP : s0 [σ>s ⇐⇒ σ ∃σ ∈ T ∗ ∃s ∈ NP : s0 − →EG(N ) s ⇐⇒ ∃s ∈ NP : δ ∗ (s0 , w) = s ⇐⇒ w ∈ L(AP ). F¨ ur die u ussen wir nur noch die Endzustands¨brigen Automaten m¨ menge geeignet einschr¨ anken. Als Endzustandsmenge Qf w¨ahlen wir f¨ ur AG : {s ∈ E(N ) | ∃sf ∈ Sf : s ≥ sf }, f¨ ur AL : Sf und f¨ ur AT : {s ∈ E(N ) | s ist Deadlock}. Da die Akzeptanzbedingung damit in N und den jeweiligen Automaten jeweils identisch ist, folgen aus P (N ) = L(AP ) automatisch G(N ) = L(AG ), L(N ) = L(AL ) und T (N ) = L(AT ). Damit gilt f¨ ur beschr¨ ankte Netze trivial: Korollar 18. Es ist entscheidbar, ob f¨ ur ein beschr¨ anktes Netz N die Sprachen P (N ), G(N ), L(N ) und T (N ) regul¨ ar sind. F¨ ur unbeschr¨ ankte, beschriftete Netze k¨ onnen wir bez¨ uglich der Entscheidbarkeit der Regularit¨ at f¨ ur die Sprachtypen P und G keine Aussage machen. F¨ ur die Sprachtypen L und T l¨ asst sich aber durch R¨ uckgriff auf das Totalit¨ atsproblem die Unentscheidbarkeit zeigen. Satz 70. F¨ ur beschriftete Netze N mit mindestens einer unbeschr¨ ankten Stelle und mindestens einem erreichbaren Endzustand ist es unentscheidbar, ob L(N ) regul¨ ar ist. F¨ ur beschriftete Netze N mit mindestens einer unbeschr¨ ankten Stelle und mindestens einem erreichbaren Deadlock ist es unentscheidbar, ob T (N ) regul¨ ar ist. Beweis. Zu einer beliebigen Registermaschine M sei L(M ) die in Definition 71 angegebene Sprache. Nach Lemma 46 und Satz 52 finden wir ein Petri Netz N mit L(N ) = T (N ) = Σ ∗ \L(M ), wobei Σ das Alphabet von L(M ) ist. Da regul¨ are Sprachen gegen Komplementbildung abgeschlossen sind, ist L(M ) genau dann regul¨ ar, wenn L(N ) und T (N ) regul¨ar sind. Es gen¨ ugt also zu zeigen, dass die Regularit¨ at von L(M ) unentscheidbar ist. Da N genau
5.6 Regularit¨ at und Kontextfreiheit
193
eine unbeschr¨ ankte Stelle, einen Deadlock und einen Endzustand besitzt, ist die Aussage des Satzes damit dann auch scharf. (F¨ ur Netze ohne erreichbaren Endzustand bzw. Deadlock sind die Sprachen L(N ) bzw. T (N ) trivial regul¨ ar.) M ist deterministisch. Wenn es nur endlich viele Inputs (j, k) f¨ ur die beiden Register gibt, so dass M h¨ alt, dann ist auch L(M ) endlich und somit regul¨ ar. Nehmen wir nun an, es gibt unendlich viele Inputpaare (j, k), bei denen M h¨ alt. Betrachtet man die W¨ orter in L(M ), so beginnen diese alle 0 0 mit 1j 01k B1 1j 01k , wobei sich j und j 0 bzw. k und k 0 um h¨ochstens Eins unterscheiden. Wegen der unendlichen Zahl der Inputpaare (j, k), die in L(M ) 0 0 m¨ oglich sind, gibt es dort auch Anfangsst¨ ucke 1j 01k B1 1j 01k beliebig großer L¨ ange. W¨ are L(M ) regul¨ ar, dann w¨ are nun auch das Pumping-Lemma f¨ ur regul¨ are Sprachen (vgl. Lemma 1) anwendbar, und auch das Anfangsst¨ uck 0 0 1j+n 01k B1 1j 01k m¨ usste f¨ ur geeignete, aber beliebig große n ∈ N in der Sprache L(M ) auftauchen. Dies ist nat¨ urlich ein Widerspruch dazu, dass j und j 0 sich nur um den Wert Eins unterscheiden d¨ urfen, und damit auch ein Widerspruch zur Regularit¨ at von L(M ). Wir folgern also: L(M ) ist regul¨ar genau dann, wenn es nur endlich viele Inputpaare (j, k) gibt, bei denen M h¨ alt. Der Satz von Rice (vgl. [EP00]) sagt nun aus, dass es unentscheidbar ist, ob eine Registermaschine bzw. Turingmaschine eine nicht-triviale Eigenschaft berechnet. Insbesondere ist damit auch die Frage, ob die Registermaschine f¨ ur endlich viele Eingaben h¨ alt, unentscheidbar. Also ist auch die Regularit¨at von L(M ), L(N ) und T (N ) unentscheidbar. Wir schließen damit die Untersuchungen zur Regularit¨at ab und wenden uns kurz der Kontextfreiheit zu. Hierzu gibt es eine Arbeit [Sch92], in der behauptet wird, dass auch die Kontextfreiheit f¨ ur freie Petri Netze entscheidbar sei. Darin werden f¨ unf notwendige Bedingungen f¨ ur die Kontextfreiheit genannt, und es wird behauptet, dass die f¨ unf Bedingungen zusammen hinreichend seien. Es wird recht schwammig gesagt, man k¨onne einen Kellerautomaten entsprechend den Bedingungen zusammenbauen, jedoch fehlt bereits eine formale Konstruktionsvorschrift, ganz abgesehen von einem Korrektheitsbeweis. Von Fachleuten der Petri Netz Theorie aus dem weiteren Umfeld der Autorin von [Sch92] wurden massive Zweifel an der Masterarbeit ge¨außert, auf der die Ver¨ offentlichung beruht. Hier gehen wir davon aus, dass das Problem – trotz der oben genannten Ver¨ offentlichung – noch immer offen ist.
Kapitel 6
Petri Netze mit Nulltest
Es gibt eine Vielzahl von Klassen von Petri Netzen, die entweder die Standarddefinitionen einschr¨ anken oder erweitern. Bei einschr¨ankenden Definitionen bleiben selbstverst¨ andlich alle entscheidbaren Eigenschaften weiterhin entscheidbar, oft haben die untersuchten Probleme dann aber bekannte obere ¨ Schranken f¨ ur die Komplexit¨ at. Einen umfassenden Uberblick u ¨ber die algorithmische Komplexit¨ at verschiedener Probleme bei eingeschr¨ankten Klassen von Petri Netzen findet man beispielsweise bei Javier Esparza [Esp98, EN94]. Hier betrachten wir Erweiterungen von Petri Netzen im Hinblick auf die Entscheidbarkeit des Erreichbarkeitsproblems. Dabei beschr¨anken wir uns aber auf Erweiterungen, die mit dem Begriff der algorithmischen Berechenbarkeit fassbar sind. Alternative Modelle, die dar¨ uber hinausgehen, wie etwa Petri Netze mit Zeit oder stochastischen Elementen, sind hier nicht von Interesse. F¨ ur solche Netze ist das Erreichbarkeitsproblem praktisch immer unentscheidbar. Wir beschr¨ anken uns hier einerseits auf Netze mit Priorit¨aten und andererseits auf Netze mit Spezialkanten, die mit variablen Tokenzahlen umgehen k¨ onnen. Dazu geh¨ oren Inhibitorkanten (die das Feuern einer Transition bei Anwesenheit von Token verhindern), Resetkanten (die eine Stelle auf einen Schlag leeren), Transferkanten (die den gesamten Tokenvorrat mit einmaligem Schalten auf eine andere Stelle legen) und Dopplerkanten (die die Tokenzahl auf einer Stelle verdoppeln). W¨ ahrend sich alle diese Netzmodelle allgemein als berechenbarkeitsuniversell erweisen, gibt es dennoch Unterschiede bei der Entscheidbarkeit einfacher Probleme wie z. B. der Frage nach der Beschr¨ anktheit.
195
196
6 Petri Netze mit Nulltest
6.1 Petri Netze mit Priorit¨ aten Bei einem Petri Netz mit Priorit¨ aten geben wir dem Netz zus¨atzlich eine partielle Ordnung auf den Transitionen. Unter mehreren im u ¨blichen Sinne gleichzeitig aktivierten Transitionen d¨ urfen nur diejenigen feuern, die bez¨ uglich der partiellen Ordnung in dieser Menge maximal sind. Definition 74 (Netze mit Priorit¨ aten). Ein Petri Netz mit Priorit¨aten N = (P, T, F, B, %, s0 ) besteht aus einem Petri Netz (P, T, F, B, s0 ) und einer partiellen Ordnung % ⊆ T × T . Eine Transition t ∈ T ist in einem Zustand s ∈ NP aktiviert, falls s ≥ F(t) und ∀t0 ∈ T : (t, t0 ) ∈ % ⇒ s 6≥ F(t0 ) gilt. Falls t bei s aktiviert ist, so ist s0 mit s [t>s0 der Zustand, f¨ ur den s0 = s−F(t)+B(t) gilt. Wir zeigen zun¨achst, dass Petri Netze mit Priorit¨aten berechenbarkeitsuniversell sind. Dazu simulieren wir eine beliebige Registermaschine M durch ein Petri Netz mit Priorit¨ aten. Definition 75. Sei M eine Registermaschine mit n Registern und m Befehlen. Zu M definieren wir ein Petri Netz mit Priorit¨aten N = (P, T, F, B, %, s0 ) mit P = {B1 , . . . , Bm , R1 , . . . , Rn , S, L, E}, s0 (B1 ) = s0 (E) = 1 und s0 (p) = 0 f¨ ur p ∈ P \{B1 , E}. Die Transition und Kanten ergeben sich wie folgt: • F¨ ur jeden Additions- oder Subtraktionsbefehl Bi existiert eine Transition ti mit Kanten gem¨ aß Abb. 5.9. • F¨ ur jeden Nulltest Bi existieren zwei Transitionen t>0 und t=0 i mit Kanten i =0 >0 gem¨ aß Abb. 5.10. Weiterhin gilt (ti , ti ) ∈ %. • Zus¨ atzlich existieren die in Abb. 5.11 gezeigten Transitionen und Kanten. • Andere Transitionen, Kanten und Elemente in % gibt es nicht. Das zu einer Registermaschine definierte Petri Netz entspricht damit dem Netz N1 aus dem Beweis der Unentscheidbarkeit des Gleichheitsproblems nach Janˇcar; wir lassen lediglich alle Beschriftungen weg und bestimmen, dass von zwei Transitionen t>0 und t=0 immer die Transition t>0 Vorrang i i i hat. Satz 71. Sei M eine Registermaschine und N = (P, T, F, B, %, s0 ) das Petri Netz mit Priorit¨ aten gem¨ aß Definition 75. Ferner sei s ∈ NP der Zustand mit s(L) = 1 und s(p) = 0 f¨ ur alle p ∈ P \{L}. Dann ist nicht entscheidbar, ob s in N erreichbar ist.
6.1 Petri Netze mit Priorit¨ aten
197
Beweis. Wir betrachten zun¨ achst das Netz N1 ohne Priorit¨aten, also N1 = (P, T, F, B, s0 ) und den Zustand s. Nach Satz 60 kann dieses Netz neben allen korrekten Rechnungen von M auch viele falsche Rechnungen simulieren. Satz 58 f¨ uhrt hierzu aus, wann falsch simuliert werden kann, n¨amlich genau dann, wenn beim Ausf¨ uhren eines Nulltests Bi f¨ ur ein nicht-leeres Register die Transition t=0 benutzt wird (statt der korrekten Transition t>0 i i ). Durch Hinzuf¨ ugen der Priorit¨ aten wird aber nun festgelegt, dass bei gleichzeitiger Aktivierung zweier Transitionen t>0 und t=0 immer nur t>0 feuern kann. i i i Somit sind im Netz N mit Priorit¨ aten nur genau die korrekten Simulationen der Registermaschine M m¨ oglich. Der Zustand s kann nun genau dann erreicht werden, wenn die Registermaschine M im Zustand Bm h¨alt, denn genau dann erreicht ein Token L. Mit Hilfe des Token auf L k¨onnen dann noch alle Registerstellen Rj geleert werden, um s zu erreichen. Es gilt also: s ist in N erreichbar genau dann, wenn M eine terminierende Rechnung besitzt. Letzteres ist aber bekanntlich unentscheidbar. Bei der bisherigen Konstruktion haben wir f¨ ur jeden Nulltest der Registermaschine ein Transitionspaar in die Relation % eingef¨ ugt. Man kann sich nun die Frage stellen, wie groß die Relation % mindestens sein muss, damit das Erreichbarkeitsproblem unentscheidbar wird. Die Antwort darauf lautet, dass es f¨ ur die Unentscheidbarkeit gen¨ ugt, wenn % nicht leer ist.1 Wir zeigen dies, indem wir ein Teilnetz konstruieren, das die Nulltests f¨ ur alle Register mit denselben zwei priorisierten Transitionen ausf¨ uhrt. Die Idee des Netzes in Abb. 6.1 ist es, den Kontrollfluss der Registermaschine v¨ ollig vom Nulltest abzukoppeln. Dadurch, dass man auf eine der drei Stellen g1 , g2 oder g3 ( go“) einen Token legt, aktiviert man den Nulltest. Auf welche ” dieser drei Stellen man den Token legt, entscheidet, welches (der hier drei) Register getestet wird. Bei einem Token auf gj (1 ≤ j ≤ 3) kann genau eine von zwei Sequenzen feuern, entweder ij t>0 oj oder ij t=0 oj . Insgesamt wird dabei ein Token von gj entfernt und ein Token auf hj ( halt“) sowie ein ” Token auf R > 0 oder R = 0 gelegt. Die Transition ij legt dabei zun¨achst auf jede Registerstelle, die nicht getestet werden soll, einen zus¨atzlichen Token, d.h., nur das zu testende Register Rj kann eventuell leer sein. Enth¨alt Rj einen Token, so hat die Transition t>0 Priorit¨ at; ist Rj leer, so kann nur t=0 schalten. Am Schluss sorgt oj daf¨ ur, dass die am Anfang auf alle Register bis auf Rj gelegten Token wieder entfernt werden. Vom umgebenden Netz wird erwartet, dass es sich bei Aktivierung des Tests weiterhin den aktuellen Befehl merkt (da mehrere Befehle dasselbe Register testen k¨onnen und die Befehlsnummer im Testnetz nicht vorkommt). Wenn ein Token hj erreicht, 1
Manchem mag hier als Argument die Tatsache einfallen, dass WHILE-Programme immer mit nur einer WHILE-Schleife auskommen k¨ onnen; dies ist jedoch kein Beweis f¨ ur diese Behauptung, da solche WHILE-Programme noch immer if -Anweisungen ben¨ otigen. Man kommt also zwar mit nur einer WHILE-Anweisung aus, aber nicht notwendigerweise mit nur einem Nulltest.
198
6 Petri Netze mit Nulltest
ng1
h1
g
n
n
ng2
6 ? a1
- n - o1
i1
R
n
ng3
h3
6 ? a2
- n - o2
i2
66
R3
h2
n 6
? a3 - n - o3
h
n
6 6
i3
66
66
) n
R z n - nR1 1 > K A R2 A A A U = ) - t>0 =0 :t (t=0 , t>0 ) ∈ %
? nR > 0
? nR = 0
Abb. 6.1 Ein Petri Netz zur Durchf¨ uhrung von Nulltests f¨ ur drei Register mit nur einem Paar von Transitionen in der Priorit¨ atsrelation. Die Konstruktion ist leicht auf beliebig viele Register erweiterbar
muss die Umgebung diesen Token und auch den Ergebnistoken (auf R > 0 oder R = 0) entfernen. Ein Nulltest Bi : if Rj = 0 goto Bk1 else goto Bk2 k¨ onnte damit wie in Abb. 6.2 gezeigt realisiert werden. Die Stelle ci ist dabei eine Kontrollstelle, die sich den aktuellen Befehl merkt, damit man bei einem Token auf hj nicht raten muss, welcher Befehl gerade ausgef¨ uhrt wurde. Wir erhalten insgesamt den folgenden Satz, der bereits von Araki und Kasami [AK77] mit einer etwas anderen Konstruktion gezeigt wurde. Satz 72. Die Frage, ob ein Zustand s in einem Netz N = (P, T, F, B, %, s0 ) mit Priorit¨ aten erreichbar ist, ist f¨ ur % 6= ∅ unentscheidbar. Beweis. Dies folgt aus Satz 71 mit den Konstruktionen aus Abb. 5.9 und 5.11 sowie den eben gemachten Ausf¨ uhrungen zur Modifikation des Nulltests f¨ ur Registermaschinen gem¨ aß Abb. 6.2 mit dem gemeinsamen Nulltest aus Abb. 6.1. Die Einschr¨ ankung letzterer Konstruktion auf drei Register ist einerseits nur darstellungstechnisch bedingt, andererseits gen¨ ugen aber ohnehin zwei Register zur Berechnungsuniversalit¨ at.
6.2 Petri Netze mit Spezialkanten
199
R =0
? Bk1
gj hj
Bi
@ @ @ -
ci
@ R @ -
-
B
k2 6
R>0 Abb. 6.2 Der Nulltest Bi : if Rj = 0 goto Bk1 else goto Bk2 einer Registermaschine unter Ausnutzung von Abb. 6.1
6.2 Petri Netze mit Spezialkanten Ebenfalls von Araki und Kasami [AK77] stammen Untersuchungen zu Petri Netzen mit Resetkanten. Diese speziellen Kanten erlauben es, eine Stelle unabh¨ angig von der auf ihr vorhandenen Tokenzahl vollst¨andig zu leeren. Andere Modelle erlauben, die Tokenzahl auf einer Stelle zu verdoppeln oder alle Token von einer Stelle simultan auf eine andere Stelle zu transferieren (mit nur einer Transition, unabh¨ angig von der Anzahl der Token). Bei Ciardo [Cia94] finden die drei Modelle erstmals gemeinsam Erw¨ahnung, Dufourd, Finkel und Schnoebelen [DFS98] untersuchen in ihrer Arbeit diese und andere Erweiterungen der normalen Petri Netze im Hinblick auf die Entscheidbar¨ keit verschiedener Probleme wie Erreichbarkeit, Beschr¨anktheit und Uberdeckbarkeit. Wir geben hier einige interessante Resultate aus letzterer Arbeit wieder. Es sei noch angemerkt, dass dieses Papier eine Beweisskizze zur Entscheidbarkeit der Beschr¨ anktheit von Netzen mit Resetkanten enth¨alt, die vermutlich fehlerhaft ist. Dufourd, Janˇcar und Schnoebelen haben jedoch in [DJS99] einen Beweis nachgeliefert, der auf einem ganz anderen Ansatz beruht. Definition 76 (Spezialkanten). Ein G-Netz ist ein Petri Netz N = (P, T , F, s0 ), bei dem die Kantenfunktion F : (P × T ) ∪ (T × P ) → N[P ] jedem Paar von Stelle und Transition ein Polynom u ¨ber den Stellennamen zuweist. F¨ ur ein Polynom q ∈ NP und einen Zustand s definieren wir q[s] als den Wert, der sich ergibt, wenn man in q jede Stelle p durch die Tokenzahl s(p) ersetzt. Eine Transition t ist nun unter einem Zustand s feuerbar,
200
6 Petri Netze mit Nulltest
s [t>, wenn t)[s] gilt. Es gilt ferner s[t>s0 , falls s[t> und p∈P F (p,P Ps ≥ 0 s = s − p∈P F (p, t)[s] + p∈P F (t, p)[s] gilt. Spezialf¨alle von G-Netzen sind: P
• Dopplernetze, bei denen ∀p ∈ P ∀t ∈ T : F (t, p) ∈ N ∪ {p} ∧ F (p, t) ∈ N gilt, • Transfernetze, bei denen ∀p ∈ P ∀t ∈ T : F (p, t) ∈ N ∪ {p} ∧ (F (p, t) = p ⇐⇒ ∃!p0 ∈ P : F (t, p0 ) = p) gilt (∃! = es gibt genau ein“), ” • Resetnetze, bei denen ∀p ∈ P ∀t ∈ T : F (t, p) ∈ N ∧ F (p, t) ∈ N ∪ {p} gilt, und • Inhibitornetze, bei denen ∀p ∈ P ∀t ∈ T : F (t, p) ∈ N ∧ F (p, t) ∈ N ∪ {2p} gilt. W¨ ahrend in einem Resetnetz eine p-beschriftete Kante (also eine Kante mit F (p, t) = p) soviele Token von p entfernt, wie darauf liegen (diese Stelle also leert), verdoppelt sich die Tokenzahl auf einer solchen Stelle in einem Dopplernetz, denn hier ist die ausgehende Kante F (t, p) = p. Beim Transfernetz geh¨ ort zu jeder Kante F (p, t) = p genau eine Stelle p0 , die die entfernten Token aufnimmt, f¨ ur die also F (t, p0 ) = p gilt. Bei Inhibitornetzen schließlich kann man eine Transition t mit F (p, t) = 2p nur feuern, wenn man doppelt soviele Token von der Stelle p entfernen kann, wie darauf liegen, also nur wenn die Stelle leer ist. ¨ F¨ ur Inhibitorkanten (mit F (p, t) = 2p) gibt es eine allgemeine Ubereinkunft f¨ ur die graphische Darstellung als eine Kante mit einem kleinen Kreis am Ende (anstelle einer Pfeilspitze), bei den anderen drei Typen gibt es wohl keine allgemein anerkannte Darstellung, so werden z.B. Resetkanten in der Arbeit von Araki [AK77] durch Pfeile mit einem zus¨atzlichen Kreis in der Mitte des Pfeils dargestellt, w¨ ahrend Dufourd [DFS98] eine durchkreuzte Kante ohne Pfeilspitze benutzt. Insbesondere bei Transfer- und Dopplernetzen schreiben wir daher das Polynom p an die jeweilige Kante. Wir k¨ ummern uns zun¨ achst um das Erreichbarkeitsproblem. Wie wir sehen werden, ist dieses Problem f¨ ur alle vier Netzklassen (also Doppler-, Transfer-, Reset- und Inhibitornetze) unentscheidbar. Wir zeigen dies erst einmal f¨ ur die Inhibitornetze und f¨ uhren dann Reduktionen auf die drei anderen Klassen durch. Satz 73. F¨ ur Inhibitornetze N und Zust¨ ande s ist es unentscheidbar, ob der Zustand s im Netz N erreichbar ist, wenn N mindestens zwei Inhibitorkanten besitzt.
6.2 Petri Netze mit Spezialkanten
201
Beweis. Wir zeigen dies durch Simulation einer Registermaschine mit zwei Registern mittels eines Inhibitornetzes. Die Simulation erfolgt analog zu Definition 73, d.h., wir simulieren die Additions- und Subtraktionsbefehle der Registermaschine wie in Abb. 5.9, wobei es aber eben nur zwei Register gibt, d.h. n = 2. Der Testbefehl der Registermaschine wird hingegen wie in Abb. 6.2 gezeigt ausgef¨ uhrt. Der eigentliche Nulltest ist dann recht einfach: Gestartet mit einem Token auf der Stelle gj (siehe Abb. 6.2) liefert das Netz in Abb. 6.3 je einen Token auf hj und R = 0 im Fall Rj = 0 bzw. je einen Token auf hj und R > 0 im Fall Rj > 0 (j ∈ {1, 2}). Offensichtlich kann t>0 nur feuern, wenn die Registerstelle Rj Token enth¨ alt, t=0 nur, wenn diese leer ist. Da das Netz aus Abb. 6.3 je einmal f¨ ur jedes der beiden Register ben¨otigt wird, enth¨alt das Gesamtnetz zur Simulation der Registermaschine insgesamt genau zwei Inhibitorkanten. Wegen der Unentscheidbarkeit des Halteproblems f¨ ur Registermaschinen muss (per Reduktion mit der angegebenen Netzkonstruktion) auch unentscheidbar sein, ob das simulierende Inhibitornetz gestartet mit einem Token auf B1 (erster Befehl) jemals einen Zustand erreicht, in dem ein Token auf Bm (halt-Befehl) liegt. Da das Problem also f¨ ur einen speziellen Zustand bereits unentscheidbar ist, ist es dann auch f¨ ur beliebige ausgew¨ahlte Zust¨ ande unentscheidbar.
- t>0
-
R>0
6 gj
?
?
Rj
h
j 6
b -
t=0
-
R=0
Abb. 6.3 Der Nulltest einer Registermaschine f¨ ur das Register Rj unter Benutzung einer Inhibitorkante. Die Aktivierung des Tests erfolgt durch einen Token auf gj , bei einem Token auf hj liegt auf R = 0 oder R > 0 das Ergebnis des Tests
Damit ist das Erreichbarkeitsproblem f¨ ur Inhibitornetze ab zwei Inhibitorkanten also unentscheidbar, ohne Inhibitorkanten (also bei normalen Petri Netzen) ist es bekanntlich entscheidbar. Die Frage, wie es sich mit der Entscheidbarkeit bei genau einer Inhibitorkante verh¨alt, kl¨aren wir sp¨ater. Stattdessen wenden wir uns einigen Konstruktionen zu, mit deren Hilfe man Spe-
202
6 Petri Netze mit Nulltest
zialkanten eines Typs in einen anderen Typ u uhren kann. Im Anschluss ¨berf¨ kann man dann untersuchen, welche dieser Konstruktionen f¨ ur welche Art von Problemstellung eine Reduktion bilden und somit Entscheidbarkeit oder Unentscheidbarkeit f¨ ur das betreffende Problem vererben. Satz 74. F¨ ur Resetnetze, Transfernetze und Dopplernetze ist das Erreichbarkeitsproblem unentscheidbar, wenn mindestens zwei Spezialkanten im Netz vorhanden sind. Das Erreichbarkeitsproblem f¨ ur diese drei Netztypen ist rekursiv ¨ aquivalent zum Erreichbarkeitsproblem f¨ ur Inhibitornetze. Beweis. Wir zeigen dies, indem wir f¨ ur jeden der drei Netztypen jeweils eine Reduktion von Inhibitornetzen auf diesen Netztyp und eine Reduktion in der umgekehrten Richtung angeben. Die Konstruktionen f¨ ur diese Reduktionen sind jeweils im Wesentlichen lokal und in den Abbildungen 6.4, 6.5 und 6.6 zu sehen. Links im Bild befindet sich jeweils die zu ersetzende Spezialkante mit den adjazenten Stellen und Transitionen, f¨ ur die der Anteil ihres Vorund Nachbereichs, der aus normalen Kanten besteht, jeweils generisch durch zwei Pfeile mit der Bezeichnung des entsprechenden Vor- oder Nachbereichs (z.B. p• oder • t) gekennzeichnet ist. Rechts im Bild befindet sich jeweils die Konstruktion, die anstelle der Spezialkante einzusetzen ist. Fett gedruckte Teile der Zeichnung sind global und werden f¨ ur alle Spezialkanten im Netz zusammen nur einmal erzeugt; dies sind eventuell eine Stelle mit der Bezeichnung run (mit einem Token in der Anfangsmarkierung) sowie eine Schlinge zwischen run und jeder Transition, die keine Spezialkanten besitzt. Besitzt eine Transition mehrere Spezialkanten (zu verschiedenen Stellen), so muss die gezeigte Konstruktion jeweils nur einmal ausgef¨ uhrt werden, lediglich die Transitionen, die mit einer Schlinge an eine der neuen Stellen angebunden sind, sind f¨ ur jede Spezialkante erneut zu erzeugen (run gilt hier nicht als neue Stelle). Schließlich verlangen einige der Konstruktionen noch die Nebenbedingung s(p) = s(p0 ) (oder s(p) ≤ s(p0 )), wobei p die Stelle mit der Spezialkante und p0 eine neue Stelle ist. Hiermit ist gemeint, dass die Konstruktion nur unter der Bedingung korrekt funktioniert, dass auf der Stelle p stets genauso viele (oder weniger) Token liegen, als auf der neuen Stelle p0 . Wir kommen nun zum eigentlichen Inhalt der Konstruktion, beginnend mit den Resetnetzen, siehe Abb. 6.4. Wir duplizieren die Stelle p (als p0 ), und zwar mit dem gleichen Vor- und Nachbereich (abgesehen von Inhibitorkanten). Damit haben p und p0 stets gleich viele Token. Die Inhibitorkante wird durch eine Resetkante ersetzt, die wir aber nur an eine der beiden Stellen anschließen (hier p0 ). Kann die Transition t mit Inhibitorkante feuern, so kann auch die neue Transition t mit Resetkante feuern. Da auf p und p0 zu diesem Zeitpunkt keine Token liegen, l¨ oscht die Resetkante auch keine Token, und die Tokenzahl auf p und p0 bleibt gleich. Kann t mit der Inhibitorkante nicht feuern, so kann aber eventuell das neue t mit Resetkante feuern (n¨amlich wenn der normale“ Vorbereich von t belegt ist und auch auf p und p0 Token ”
6.2 Petri Netze mit Spezialkanten •p
B BN p
203
•t
B p• BN
B BN b t
•p
⇒
B t• BN
p
•p
•t
B B BN BN
B BN s(p) = s(p0 )
B B p• BN p• BN
0 B s(p) ≤ s(p ) t• BN
p0
×
t
oder
•t
•p
p
•t
B BN
B BN
B p• BN
t
×
B t• BN
•p
⇒
B BN tin
B u 6= t ? pt run BN s ` p t B 6 ? p• BN btout B t• BN
Abb. 6.4 Oben: Lokale Ersetzung von Inhibitorkanten durch Resetkanten. • p und p• bezeichnen die normalen Kanten im Vor- und Nachbereich von p; analog f¨ ur t. Ein Zustand s ist im Inhibitornetz erreichbar genau dann, wenn s mit zus¨ atzlich s(p0 ) = s(p) im Resetnetz erreichbar ist. Unten: Ersetzung von Resetkanten durch Inhibitorkanten. Die Stelle run ist global und erh¨ alt eine Schlinge mit jeder Transition u ohne Resetkante (fett gezeichnet), die u ¨brige Konstruktion ist lokal. Bei mehreren Resetkanten an t werden nur die Transition t` (mit Vor- und Nachbereich) und die Inhibitorkante mehrfach erzeugt
liegen). In diesem Fall entfernt t Token von p0 , d.h., p enth¨alt nun mehr Token als p0 . Diese Differenz kann nicht mehr ausgeglichen werden, da es keine Transition gibt, die mehr Token auf p0 legt als auf p (oder mehr von p nimmt als von p0 ). Bei einer korrekten Simulation der Inhibitorkante durch die Resetkante befinden sich also stets genau gleich viele Token auf p und p0 , bei einer inkorrekten Simulation enth¨ alt p mehr Token als p0 . Ist nun ein Erreichbarkeitsproblem (N, s) f¨ ur ein Inhibitornetz N und einen Zustand s zu l¨osen, so k¨ onnen wir alle Inhibitorkanten per Konstruktion durch Resetkanten ersetzen, den Zustand s erweitern, und zwar f¨ ur jedes p mit Inhibitorkante um eine Stelle p0 mit s(p0 ) = s(p), und dann pr¨ ufen, ob dieser neue Zustand s im konstruierten Resetnetz erreichbar ist. Das Resultat ist auch die Antwort auf das urspr¨ ungliche Erreichbarkeitsproblem. Damit ist eine Reduktionsrichtung vollendet. Nehmen wir nun an, wir haben ein Resetnetz N und einen Zustand s, f¨ ur die wir das Erreichbarkeitsproblem l¨ osen wollen. Dann k¨onnten wir aus N mittels der unteren Konstruktion aus Abb. 6.4 ein Inhibitornetz machen. Soll urspr¨ unglich die Transition t (mit Resetkante zu p) gefeuert werden, so feuern wir nun tin . Da tin den Vorbereich von t besitzt, klappt dies nur, wenn t aktiviert gewesen w¨ are. Zus¨ atzlich zieht tin den Token von run ab, so dass ` out außer t und t keine anderen Transitionen mehr feuern k¨onnen. Die Tran-
204
6 Petri Netze mit Nulltest
sition t` kann nun s¨ amtliche Token von p entfernen und muss dies auch tun, da tout erst aktiviert wird, wenn p leer ist. Am Schluss sorgt tout daf¨ ur, dass der Gesamteffekt von t erreicht wird (indem t• mit Token versorgt wird) und legt den Token auf run zur¨ uck, damit auch andere Transitionen wieder feuern k¨ onnen. Insgesamt ist der Effekt der Transition t mit Resetkante damit exakt nachvollzogen. Pr¨ ufen wir also die Erreichbarkeit des Zustandes s (erweitert um s(run) = 1 und s(q) = 0 f¨ ur alle neuen Stellen q) im konstruierten Inhibitornetz, so liefert das Ergebnis auch die Antwort auf die urspr¨ ungliche Frage nach Erreichbarkeit im Resetnetz. Damit ist auch diese Reduktionsrichtung abgeschlossen. Insgesamt sind also die Erreichbarkeitsprobleme f¨ ur Inhibitornetze und Resetnetze rekursiv ¨ aquivalent. Da das Problem f¨ ur Inhibitornetze unentscheidbar ist, ist es also auch f¨ ur Resetnetze unentscheidbar. F¨ ur Transfernetze und Dopplernetze funktionieren die Konstruktionen sehr ¨ahnlich. Bei Transfernetzen, vgl. Abb. 6.5, wird f¨ ur die Simulation von Inhibitorkanten durch Trans•p
•t
B BN b t
B BN p
B p• BN
•p
⇒
B t• BN
•t
B BN p0 p B p• BN
•p
B B BN s(p) = s(p0 ) BN 0 p 0 t p oder s(p) ≤ s(p0 ) B •B p• BN t BN •t
p0
PP 1 q p• PP 1 q p 6 PP 1 q •t t t• PP 1 q p 6 Pq 1 •p P p• PP 1 q
p0
•p
p
PP 1 q p• PP 1 q u 6= t 6 ? pt run s ` - t 6 ? p PP •p q btout 1 B B p• BN t• BN
•p
⇒
B BN tin
Abb. 6.5 Oben: Lokale Ersetzung von Inhibitorkanten durch Transferkanten. Ein Zustand s ist im Inhibitornetz erreichbar genau dann, wenn s mit zus¨ atzlich s(p0 ) = s(p) im Transfernetz erreichbar ist. Unten: Ersetzung von Transferkanten durch Inhibitorkanten. Wie in Abb. 6.4 ist der fett gedruckte Teil der Konstruktion global und betrifft die Transitionen ohne Transferkanten
ferkanten ebenfalls daf¨ ur gesorgt, dass p0 weniger Token als p enth¨alt, wenn eine Transition einen Transfer durchf¨ uhrt, obwohl die urspr¨ ungliche Transition mit Inhibitorkante nicht aktiviert war. Bei der umgekehrten Konstruktion l¨ oscht t` nicht nur den Inhalt von p, sondern kopiert ihn gleichzeitig auch auf p0 (und f¨ uhrt so einen Transfer durch statt des R¨ ucksetzens auf Null). Mit diesen beiden Konstruktionen sind dann auch Inhibitor- und Transfernetze re-
6.2 Petri Netze mit Spezialkanten
205
kursiv ¨ aquivalent bez¨ uglich des Erreichbarkeitsproblems. Damit ist nat¨ urlich das Erreichbarkeitsproblem f¨ ur Transfernetze ebenfalls unentscheidbar. F¨ ur Dopplernetze, siehe die Konstruktionen in Abb. 6.6, gilt im Prinzip das Gleiche. Bei der Simulation von Inhibitorkanten durch Verdopplungskanten •p
•t
B BN b t
B BN p
B p• BN
•p
⇒
B t• BN
•t
B B BN p BN p t B B p• BN t• BN
•p
B s(p) = s(p0 ) BN p0
oder
s(p) ≤ s(p0 ) B p• BN
•p
•t
B BN t
B t• BN
B BN iP P p p• Y H * H ) H ?HH ? 2
•p
p
B BN p B p• BN
⇒
b b 6 6 ? ? PP 1 q in - - tout t• t 1 PP q 6 s
•t
run
u 6= t
Abb. 6.6 Oben: Lokale Ersetzung von Inhibitorkanten durch Verdopplungskanten. Unten: Ersetzung von Verdopplungskanten durch Inhibitorkanten. Die Konstruktion funktioniert analog zu Abb. 6.4 und Abb. 6.5
sorgt wieder eine Verdopplungskante f¨ ur mehr Token auf p als auf p0 , wenn die Simulation falsch durchgef¨ uhrt wird. Bei der Simulation einer Verdopplungskante durch Inhibitorkanten m¨ ussen wir zun¨achst alle Token von p auf eine neue Stelle legen, u ufen, dass keine Token mehr auf p liegen, dann ¨berpr¨ alle Token nach p zur¨ uckkopieren und dabei gleichzeitig verdoppeln und dann pr¨ ufen, dass die neue Stelle leer ist. Genau dies geschieht in der unteren Konstruktion in Abb. 6.6. Damit ist das Erreichbarkeitsproblem f¨ ur Inhibitorund Dopplernetze rekursiv ¨ aquivalent und f¨ ur Dopplernetze unentscheidbar. ¨ Neben dem Erreichbarkeitsproblem wollen wir nun noch die Fragen der Uberdeckbarkeit und Beschr¨ anktheit untersuchen. Interessanterweise zeigen sich die Inhibitor-, Reset-, Transfer- und Dopplernetze hierbei nicht als rekursiv ¨ aquivalent. W¨ ahrend Inhibitornetze berechenbarkeitsuniversell sind, ist dies f¨ ur die anderen drei Klassen nicht gegeben; ihnen allen fehlt der Nulltest und damit die F¨ ahigkeit Registermaschinen zu simulieren. Bez¨ uglich der ¨ Uberdeckbarkeit und Beschr¨ anktheit kann man auch diese drei Klassen nun
206
6 Petri Netze mit Nulltest
¨ ¨ noch differenzieren. Wir untersuchen zun¨ achst das Uberdeckungsproblem UP ¨ f¨ ur die erweiterten Klassen von Petri Netzen. Die Konstruktion von Uberdeckungsgraphen ist bei Reset- und Transfernetzen leider nicht m¨oglich, da Transitionen mit einer solchen Spezialkante die Tokenzahl auf einer Stelle auf ¨ Null setzen k¨ onnen. Bei der Konstruktion eines Uberdeckungsgraphen kann es also passieren, dass eine Stelle, die bereits mit einem ω markiert ist, im n¨ achsten Schritt wieder null Token enth¨ alt. Damit ist der Beweis zur End¨ lichkeit des Uberdeckungsgraphen, der ausnutzt, dass man nur endlich oft ¨ ein ω einf¨ uhren kann, nicht mehr zu halten. Dass man den Uberdeckungs¨ zu l¨osen, graphen nicht unbedingt ben¨ otigt, um das Uberdeckungsproblem haben Abdulla et al. [ACJ96] und Finkel et al. [FS98] gezeigt. Definition 77 (Algorithmus B). F¨ ur ein Petri Netz N = (P, T, F ) mit beliebigen Spezialkanten und einen Zustand s ∈ NP sei ein Algorithmus B unter Benutzung des Algorithmus A zur Berechnung der minimalen Zust¨ande einer entscheidbaren Zustandsmenge S aus Definition 59 wie folgt definiert. R = {s}, R0 = ∅; S = R; Q = R; solange R 6= R0 : R0 = R; S = R ∪ {s0 | ∃r ∈ R∃r0 ∈ NP ∃t ∈ T : r0 ≥ r ∧ s0 [t>N r0 }; R = A(S); Q = Q ∪ R; Ausgabe des Algorithmus sei die Menge R. Die Menge Q wird lediglich zur sp¨ ateren Argumentation ben¨ otigt und hat keine Auswirkungen auf das Ergebnis des Algorithmus. Satz 75. F¨ ur Reset-, Transfer- und Dopplernetze terminiert der Algorithmus B und liefert als Ergebnis die Menge R ↑ aller Zust¨ ande r, von denen aus man durch geeignete Feuersequenzen den gew¨ ahlten Zustand s u ¨berdecken kann. Beweis. Zun¨ achst beachte man, dass Reset-, Transfer- und Dopplernetze alle schwach monoton sind, d.h., aus s1 [σ>s2 und s3 ≥ s1 folgt s3 [σ>s4 mit s4 ≥ s2 . (Inhibitornetze sind im Vergleich dazu nicht schwach monoton.) Daher muss der Algorithmus B nicht alle Zust¨ande berechnen, von denen aus man s u ¨berdecken kann, sondern nur die minimalen. Die Menge aller dieser Zust¨ ande ergibt sich dann, indem man aus der Ergebnismenge R der minimalen Zust¨ande den Kegel R ↑ berechnet. Die Zahl der minimalen (und damit unvergleichbaren) Zust¨ ande in R ↑, also die Menge R, ist endlich. Zu Anfang ist R ↑ die Menge aller Zust¨ ande, von denen aus man s in null Schritten u amlich s ↑). Bei jedem Schleifendurchlauf wer¨berdecken kann (n¨ den zus¨ atzlich alle Zust¨ ande hinzugenommen, von denen aus man in einem
6.2 Petri Netze mit Spezialkanten
207
Schritt einen Zustand aus R ↑ u ¨berdecken kann. Die Minima dieser Menge sind im n¨ achsten Durchlauf das neue R. Falls der Algorithmus terminiert, so konnten im letzten Durchlauf keinen weiteren Zust¨ande mehr gefunden werden, von denen aus man s mit einem Schritt mehr u ¨berdecken kann. Also w¨ urden auch in beliebig vielen weiteren Durchl¨aufen keine solchen Zust¨ande mehr gefunden. Wir haben dann also alle gesuchten Zust¨ande gefunden und R ist die gesuchte Menge ihrer Minima. Wir beobachten, dass nach jedem Schleifendurchlauf Q ↑= R ↑ gilt, denn Elemente aus Q\R waren vormals in R und wurden aus R entfernt, weil dort ein kleineres Element aufgenommen wurde. Also liegen die Elemente aus Q\R selbst schon in R ↑ und wegen R ⊆ Q gilt Q ↑= R ↑. Nehmen wir nun an, der Algorithmus terminiere nicht, d.h., in jedem Schleifendurchlauf kommt mindestens ein neuer Zustand zur Menge R ↑= Q ↑ hinzu. Ein solcher Zustand kann entweder unvergleichbar zu den Elementen aus Q sein oder kleiner als eines der Elemente aus Q, also in Q ↓ liegen. Solange wir in Schleifendurchl¨ aufen immer nur mit Q vergleichbare Zust¨ande zum neuen R hinzuf¨ ugen, ¨ andert sich Q ↓ nicht. Da Q stets endlich bleibt und somit Q ↓ immer ein endlicher Zustandsraum ist, kann man nur beschr¨ankt oft mit Q vergleichbare Zust¨ ande neu in R (und Q) aufnehmen. Folglich kann man (ausgehend von einem aktuellen R und Q) eine Zahl von Schleifendurchl¨aufen angeben, nach der sp¨ atestens ein mit Q unvergleichbarer Zustand zu R (und Q) hinzugef¨ ugt wird. Falls der Algorithmus nicht terminiert, wird also unendlich oft ein zu Q unvergleichbarer Zustand neu in Q aufgenommen. Betrachten wir nun die Folge, die mit dem Zustand s beginnt und aus jedem Schleifendurchlauf einen neuen, mit dem bisherigen Q unvergleichbaren Zustand enth¨ alt, sofern ein solcher zu Q hinzugef¨ ugt wurde. Dann besteht diese unendliche Folge aus paarweise unvergleichbaren Elementen, was nach Satz 1 aber unm¨ oglich ist. Folglich war die Annahme, dass der Algorithmus nicht terminiert, falsch. Insgesamt liefert der Algorithmus B damit die Menge R ↑ aller Zust¨ande, von denen aus s u ¨berdeckt werden kann. ¨ f¨ ur einen Zustand s zu l¨osen, gen¨ ugt es also Um das Uberdeckungsproblem nun, zu pr¨ ufen, ob der Startzustand s0 des betrachteten Petri Netzes in R ↑ enthalten ist, wobei R die Ausgabe des Algorithmus B ist. ¨ Korollar 19. F¨ ur Reset-, Transfer- und Dopplernetze ist das Uberdeckungsproblem entscheidbar. Peterson [Pet81] hat einmal vermutet, dass es bez¨ uglich der Ausdrucksm¨achtigkeit keine echte Hierarchie zwischen den normalen Petri Netzen und Petri Netzen mit Nulltest gibt. Dufourd, Finkel und Schnoebelen [DFS98] haben
208
6 Petri Netze mit Nulltest
dieser Aussage widersprochen und gezeigt, dass Reset-, Transfer- und Dopplernetze durchaus eine solche Hierarchie bilden. Satz 76 ([DJS99]). Es ist unentscheidbar, ob ein Resetnetz beschr¨ ankt ist. Beweis. Wir zeigen dies u ¨ber eine Registermaschinensimulation, d.h., wir simulieren eine Registermaschine mit zwei Registern durch ein Resetnetz. Eine Registermaschine bezeichnen wir an dieser Stelle als beschr¨ankt, wenn die Summe aller Registerinhalte w¨ ahrend einer (potentiell unendlichen) Rechnung (gestartet mit leeren Registern) eine obere Schranke besitzt. Die Beschr¨ anktheit einer Registermaschine ist selbstverst¨andlich unentscheidbar, ansonsten k¨ onnte man auch das Halteproblem entscheiden: Ist die Maschine unbeschr¨ ankt, h¨ alt sie nie, ist sie beschr¨ ankt, gibt es nur endlich viele Konfigurationen, die durchlaufen werden k¨ onnen, und diese kann man mitprotokollieren und mit der aktuellen Konfiguration vergleichen. Bei Gleichheit ist die Maschine in einer Endlosschleife und h¨alt nie. Also k¨onnte man das Halteproblem entscheiden. Wir zeigen nun, dass die Registermaschine, gestartet mit Null in beiden Registern, genau dann beschr¨ ankt ist, wenn das zugeh¨orige, noch zu konstruierende Resetnetz beschr¨ ankt ist. Wir gehen hier davon aus, dass ein Befehl Ri = Ri − 1 nicht ausgef¨ uhrt werden kann, wenn Ri = 0 gilt und sich die Maschine stattdessen aufh¨ angt“. (Der Einfachheit halber verzichten wir hier ” auf die Einf¨ uhrung von Tests, um so ein Aufh¨angen zu verhindern.) In einem ersten Schritt erweitern wir die Registermaschine nicht nur um ein drittes Register, sondern auch um zwei Befehle, Ri = 0 als R¨ ucksetzbefehl und goto als unbedingten Sprung, sowie zwei Befehlsverkn¨ upfungen, ;“ f¨ ur ” Sequenzen von Befehlen und “ als nichtdeterministische Auswahl, d.h., ” bei bef ehl1 bef ehl2 darf die Registermaschine zuf¨allig ausw¨ahlen, welcher der beiden Befehle ausgef¨ uhrt werden soll. Wir f¨ uhren nun die folgenden (textuellen) Ersetzungen am Programm durch:
2
2
1. Das Programm wird um drei Befehle nach hinten verschoben, beginnt also nun beim Befehl mit der Nummer vier. Sprungziele sind anzupassen. Die ersten drei Befehle werden fest vorgegeben durch: 1: (R1 = R1 − 1; R3 = R3 + 1; goto 1) (R1 = 0) 2: (R2 = R2 − 1; R3 = R3 + 1; goto 2) (R2 = 0) 3: R3 = R3 + 1
2 2
2. Jeder Befehl des urspr¨ unglichen Programms (außer halt) wird nun ersetzt: j: Ri = Ri + 1 durch j: (R3 = R3 − 1; Ri = Ri + 1) (R3 = 0; goto 1) j: Ri = Ri − 1 durch j: Ri = Ri − 1; R3 = R3 + 1
2
6.2 Petri Netze mit Spezialkanten
j: if Ri = 0 goto k1 else goto k2 durch j: (Ri = Ri − 1; Ri = Ri + 1; goto k1 )
209
2(Ri = 0; goto k2).
Jeder Nulltest wurde damit durch eine nichtdeterministische Auswahl ersetzt, eine erste Voraussetzung, will man das Programm anschließend von einem Resetnetz simulieren lassen. Wir m¨ ussen uns jedoch zun¨achst u ¨berzeugen, dass dieses neue Programm im Prinzip genauso rechnet wie das Originalprogramm. Es f¨ allt auf, dass auf der linken Seite jeder Auswahl der erste Befehl eine Subtraktion ist und auf der rechten Seite der erste Befehl ein R¨ ucksetzbefehl f¨ ur dasselbe Register. Gehen wir erst einmal davon aus, dass die Registermaschine bei jeder nichtdeterministischen Auswahl die richtige Wahl trifft, d.h. den linken Zweig betritt, wenn das Register positiv ist, und den rechten Zweig, wenn das Register Null ist. Das neue Register R3 dient dazu, die Summe aller Register m¨ oglichst konstant zu halten. Wir stellen fest: Der einzige Befehl, der die Summe der Register ¨andert, ist Befehl Nr.3 (dies liegt an der Annahme, dass immer korrekt geraten wird!). Dieser Befehl kann aber nur nach einem goto 1 erreicht werden, es werden daf¨ ur also immer die ersten drei Programmzeilen ausgef¨ uhrt. Diese drei Programmzeilen setzen R1 und R2 auf Null und R3 auf die bisherige Summe der drei Register plus Eins. Ist w¨ ahrend einer Berechnung ein Additionsbefehl f¨ ur R1 oder R2 auszuf¨ uhren und ist R3 dabei Null, so reicht offensichtlich die aktuelle Summe R1 + R2 + R3 nicht als obere Schranke f¨ ur die Summe der Registerinhalte w¨ ahrend des Programmablaufs. Daher werden R1 und R2 auf Null gesetzt (d.h., das Programm wird neu gestartet), aber die Summe wird vorher durch den Befehl Nr.3 um Eins erh¨ oht. Ist die Summe R1 + R2 im Originalprogramm unbeschr¨ ankt, so wird der Befehl Nr.3 nun unendlich oft durchlaufen und erreicht damit auch beliebig große Werte (denn R1 und R2 sind zu dieser Zeit Null). Nehmen wir nun an, unser neues Programm r¨at irgendwann falsch, was passiert dann? Der linke Teil einer Auswahl beginnt stets mit Ri = Ri − 1. Ist die Auswahl falsch, gilt also Ri = 0, so h¨ angt sich das Programm auf. Dies kann nat¨ urlich keinen Einfluss auf die Beschr¨anktheit haben (man kann ja richtig raten). Gilt Ri > 0 und man betritt irrt¨ umlich den rechten Teil einer Auswahl, so wird dort mit dem ersten Befehl Ri = 0 die Summe der Register um mindestens Eins erniedrigt. Erreicht man nun ein goto 1, so wird das Programm neu gestartet, und die Summe der Register wird durch Befehl Nr.3 maximal wieder auf den Wert vor der falschen Auswahl gebracht. Dies heißt nat¨ urlich, dass man den Teil der Rechnung, in dem man falsch geraten hat, nun erneut (d.h. mit derselben Registersumme) durchlaufen muss. Beliebig erh¨ ohen kann sich die Registersumme also nur, wenn man stets richtig r¨at. Damit kann die Registermaschine durch falsches Raten niemals unbeschr¨ankt werden, oder anders gesagt, die neue Registermaschine ist unbeschr¨ankt genau dann, wenn es die alte war.
210
6 Petri Netze mit Nulltest
¨ Die Ubersetzung der neuen Registermaschine in ein Resetnetz ist nun nur noch ein kleiner Schritt. F¨ ur eine Programmzeile k erzeugen wir (wie u ¨blich) eine Stelle Bk , f¨ ur die Register die drei Stellen R1 , R2 und R3 . Den Additionsbefehl simulieren wir wie in Abb. 5.9 dargestellt. Die meisten Befehle haben die Form k: (Ri = Ri − 1; Rj = Rj + 1; goto k1 ) (Ri = 0; goto k2 ). Eventuell fehlt eines der gotos, dies entspricht aber nur einem Sprung mit Ziel k + 1. Abbildung 6.7 zeigt, wie man den komplexen Auswahlbefehl im Resetnetz durchf¨ uhrt.
2
- t>0
-
k
B
k1
6 Bk
Ri
? R
j
× - t=0 k
-
B
k2
Abb. 6.7 Konstruktion zur Simulation des Befehls k: (Ri = Ri − 1; Rj = Rj + 1; goto k1 ) (Ri = 0; goto k2 ) in einem Resetnetz
2
Die Transition t>0 k deckt den linken Teil der Auswahl ab, kann aber nur bei Ri > 0 ausgef¨ uhrt werden. Die Registermaschine h¨angt sich bei der fehlerhaften linken Auswahl dagegen auf, aber f¨ ur die Beschr¨anktheit macht dies keinen Unterschied, da weder Registermaschine noch Resetnetz hier zus¨atzliches Verhalten besitzen. Die Transition t=0 k setzt wie gefordert das Register auf Null und kann in beiden Modellen stets ausgef¨ uhrt werden. Als letzten Befehl betrachten wir noch die ehemalige Subtraktion, die durch Ri = Ri −1; R3 = R3 + 1 ersetzt wurde. L¨ asst man in Abb. 6.7 die Transition t=0 k weg und setzt Bk1 := Bk+1 , so simuliert man damit gerade die ehemalige Subtraktion. Da das Resetnetz also richtig arbeitet, ist es genau dann beschr¨ankt, wenn die Registermaschine beachr¨ ankt ist, und das ist unentscheidbar. Damit ist nat¨ urlich auch die Beschr¨ anktheit einzelner Stellen in einem Resetnetz unentscheidbar, denn wenn man die Beschr¨anktheit f¨ ur jede einzelne Stelle entscheiden k¨ onnte, k¨ onnte man auch die Beschr¨anktheit des gesamten Netzes entscheiden. Diese beiden Beschr¨ anktheitsbegriffe (einzelne Stellen oder das gesamte Netz) liegen so eng beieinander, dass oft kaum dazwischen
6.2 Petri Netze mit Spezialkanten
211
unterschieden wird. In [DFS98] wurde jedoch interessanterweise gezeigt, dass diese Begriffe nicht zusammenfallen. Satz 77. Es ist nicht entscheidbar, ob eine Stelle eines Transfernetzes beschr¨ ankt ist. Beweis. Wir nehmen an, die Beschr¨ anktheit einzelner Stellen sei bei Transfernetzen entscheidbar, und zeigen, dass dann auch die Beschr¨anktheit von Resetnetzen entscheidbar w¨ are, im Widerspruch zu Satz 76. Sei also N ein beliebiges Resetnetz. Wir konstruieren ein Transfernetz N 0 , in das wir alle Stellen, Transitionen und normalen Kanten aus N u ¨bernehmen. F¨ ur jede Stelle p in N erzeugen wir eine neue Stelle p0 in N 0 , und falls F (p, t) = p in N f¨ ur eine Transition t gilt, legen wir F 0 (p, t) = p = F 0 (t, p0 ) 0 in N fest. Da von den neuen Stellen nie Token entfernt werden, haben sie keinen Einfluss auf die m¨ oglichen Feuersequenzen, d.h., N und N 0 besitzen dieselben Feuersequenzen und auf den Stellen von N auch dieselben erreichbaren Zust¨ ande. Wenn wir nun f¨ ur jede Stelle aus N entscheiden k¨onnen, ob diese in N 0 beschr¨ ankt ist, so haben wir damit auch entschieden, ob N insgesamt beschr¨ ankt ist.
Satz 78. Es ist entscheidbar, ob ein Transfernetz beschr¨ ankt ist. Beweis. F¨ ur Transfernetze gilt die folgende Monotonieeigenschaft: Sind s, s0 σ Zust¨ ande und σ eine Feuersequenz mit s − → s0 , und ist sˆ ein Zustand mit σ sˆ ≥ s und sˆ 6= s, dann existiert ein Zustand sˆ0 mit sˆ − → sˆ0 und sˆ0 ≥ s0 0 0 sowie sˆ 6= s . Zur Begr¨ undung beachte man einfach, dass Transferkanten selbst der Monotonie unterliegen, d.h. bei Erh¨ohung der Tokenzahl nicht zur Deaktivierung einer Transition f¨ uhren k¨ onnen. ¨ Nun erzeuge man mit dem u ¨blichen Algorithmus den Uberdeckungsgraphen des Transfernetzes, und zwar bis dorthin, wo man das erste ω in den Graphen einf¨ ugt. Passiert das nie, so terminiert die Konstruktion irgendwann, und das Transfernetz muss beschr¨ ankt sein. Nehmen wir nun an, es gibt einen Pfad σ1 σ2 s0 −→ s −→ s0 , wobei wegen des Vergleichs s ≤ s0 und s 6= s0 in s0 das erste ω σ σ
k
2 einzuf¨ ugen w¨ are. Dann ist mit s0 −−1−− → s + k · (s0 − s) nun σ1 σ2 k eine Schar von Feuersequenzen, die die Tokenzahl im Netz beliebig erh¨ohen. Somit ist das Netz unbeschr¨ ankt.
Auch wenn es nach diesem Beweis so scheinen mag, kann man die Konstruk¨ tion des Uberdeckungsgraphen nicht u uhren und so ¨ber das erste ω hinausf¨ f¨ ur jede Stelle entscheiden, ob sie beschr¨ ankt ist. Eine Transferkante w¨ urde n¨ amlich bei einer ω-Stelle dazu f¨ uhren, dass nach Ausf¨ uhrung des Transfers
212
6 Petri Netze mit Nulltest
wieder null Token auf der Stelle liegen (anstatt weiterhin ω). Daher w¨ urde die ¨ vollst¨ andige Konstruktion des Uberdeckungsgraphen eventuell nie abbrechen, d.h., der Graph ist m¨ oglicherweise unendlich groß. Im Gegensatz dazu bleibt ¨ der Uberdeckungsgraph bei Dopplernetzen stets endlich, wie von Finkel et al. [Fin90, DFS98] gezeigt wurde. Satz 79. Es ist entscheidbar, ob eine Stelle eines Dopplernetzes beschr¨ ankt ist (und damit auch die Beschr¨ anktheit des ganzen Netzes). ¨ Beweis. Hierzu betrachten wir die Konstruktionsidee des Uberdeckungsgraphen: Bei der Erzeugung eines neuen Knoten s wird nur dann ein ω eingef¨ uhrt, wenn es einen fr¨ uheren Knoten s0 gibt, der u ¨berdeckt wird, mit ∗ 0 anderen Worten, wenn s ≤ s und s0 − → s gilt. Das ω zeigt dann gera∗ ∗ ∗ ∗ de an, dass s0 − → s − → 2s − s0 − → 3s − 2s0 − → . . . m¨oglich ist und dabei die Tokenzahl auf der mit ω annotierten Stelle p immer gr¨oßer wird, d.h. s0 (p) < s(p) < 2s(p) − s0 (p) < 3s(p) − 2s0 (p) < . . .. Besitzt das Netz nun eine Verdopplungskante an der Stelle p, so ¨ andern sich in der letzten Ungleichung zwar die erreichten Markierungen, aber der Charakter der Ungleichung bleibt erhalten. Nehmen wir z.B. an, es gelte s0 [σ>ˆ s [tσ 0>s mit F (t, p) = p, wobei in σ keine Transitionen mit Dopplerkanten f¨ ur p vorkommen. Dann erhalten wir f¨ ur s [σ>˜ s [tσ 0>s00 nun s˜(p) > sˆ(p) (da s(p) > s0 (p) gilt). Wir folgern s00 (p) − s(p) > s(p) − s0 (p), d.h., der Zuwachs auf der Stelle p ist nicht konstant (wie im normalen Petrinetz), sondern erh¨oht sich sogar. Folglich gilt ¨ auch hier, dass ω unbeschr¨ ankte Stellen repr¨asentiert, wenn wir den Uberdeckungsgraphen nach der u ¨blichen Konstruktionsvorschrift erstellen. Wir ¨ k¨ onnen also am Uberdeckungsgraphen ablesen, ob eine Stelle p unbeschr¨ankt ist.
6.3 Petri Netze mit begrenzten Nulltests Wir haben bisher gesehen, dass zwei Spezialkanten (z.B. Inhibitorkanten) im Allgemeinen ausreichen, damit das Erreichbarkeitsproblem unentscheidbar wird. Ohne solche Kanten ist das Erreichbarkeitsproblem nat¨ urlich entscheidbar, aber wir wissen noch nicht, wie das aussieht, wenn wir genau eine solche Kante im Netz haben. Dies wollen wir nun beleuchten; der Beweis, dass das Erreichbarkeitsproblem f¨ ur Petri Netze mit einer Inhibitorkante entscheidbar ist, wurde von Klaus Reinhardt [Rei06] erbracht. Unser Vorgehen gliedert sich im Prinzip in zwei Teile, die Elimination einer Inhibitorkante in einem geeigneten Modell und die L¨osung des Erreichbarkeitsproblems im Rahmen dieses Modells. Als Modell w¨ urden wir nat¨ urlich
6.3 Petri Netze mit begrenzten Nulltests
213
gern die auch in Kapitel 3 genutzten Keim-Transition-Folgen w¨ahlen, leider scheint es jedoch so, dass diese hier nicht gen¨ ugen. Wie wir sehen werden, m¨ ussten wir zur Elimination der Inhibitorkante eine ∗-Iteration“ von Keim” Transition-Folgen durchf¨ uhren (analog zum Kleene-Stern). Leider f¨ uhrt dies bei der Betrachtung der zugeh¨ origen Charakteristischen Gleichung dazu, dass die vorkommenden Variablen bei jedem Iterationsschritt einen anderen Wert annehmen k¨ onnen. Da sich das Problem der beliebigen Vervielfachung der Variablen durch die Iteration so erst einmal nicht l¨osen l¨asst, w¨ahlen wir den Weg u ¨ber ein anderes Modell, das die Iteration als Grundoperation direkt beinhaltet, n¨ amlich eine Darstellung der Erreichbarkeitsmengen von Petri Netzen mittels semilinearer Mengen, wie sie in [May80], [Kos82] und [Rei06] benutzt wird. Der Beweis f¨ ur die Entscheidbarkeit der Erreichbarkeit hat dabei die gleiche Grundstruktur wie der Beweis in Kapitel 3. F¨ ur die Objekte wird wie bei Keim-Transition-Folgen eine Eigenschaft perfekt“ definiert, bei ” deren Erf¨ ulltheit man das Erreichbarkeitsproblem direkt entscheiden kann. Bei nicht perfekten Objekten kann man mittels eines Umformungstheorems analog zum Dekompositionstheorem von Satz 12 die Perfektheit in endlich vielen Schritten erzeugen. Nat¨ urlich unterscheiden sich die Beweise, bedingt durch die Verschiedenheit der Objekte, technisch sehr. Dies ist aber kein Grund, den gesamten Beweis f¨ ur die Entscheidbarkeit der Erreichbarkeit erneut zu f¨ uhren. Wir lassen diesen Beweis hier aus und zitieren nur die geeigneten S¨ atze aus [Rei06], die ben¨ otigt werden. Wir beginnen nun damit, das Erreichbarkeitsproblem f¨ ur Petri Netze mit einer Inhibitorkante zu l¨ osen, indem wir zuerst einmal eine Normalform f¨ ur Netze mit Inhibitorkanten einf¨ uhren. Definition 78 (Normalform f¨ ur Inhibitornetze). Sei N = (P, T, F ) ein Inhibitornetz. Wir sagen, N sei in Normalform, wenn f¨ ur alle p ∈ P und t ∈ T gilt: F (p, t) = 2p ⇒ F (t, p) = 0. Ein Zustand s von N besitzt Normalform, wenn f¨ ur alle p ∈ P und t ∈ T gilt: F (p, t) = 2p ⇒ s(p) = 0. Lemma 49. Zu jedem Inhibitornetz N = (P, T, F ) mit Zust¨ anden s1 und s2 ist ein Inhibitornetz N 0 = (P 0 , T 0 , F 0 ) mit Zust¨ anden s01 und s02 konstruierbar, so dass • N 0 , s01 und s02 in Normalform sind, • N und N 0 die gleichen Stellen mit Inhibitorkanten und die gleichen Transitionen mit Inhibitorkanten besitzen und • f¨ ur die Erreichbarkeitsprobleme gilt: (N, s1 , s2 ) ∈ EP ⇐⇒ (N 0 , s01 , s02 ) ∈ EP. Beweis. Seien pt und t0 f¨ ur jedes t ∈ T sowie ti , to , pi , po und pr Namen, die nicht in P ∪ T vorkommen. Dann definieren wir N 0 durch P 0 = P ∪
214
6 Petri Netze mit Nulltest
{pi , po , pr } ∪ {pt | F (p, t) = 2p}, T 0 = T ∪ {ti , to } ∪ {t0 | ∃p ∈ P : F (p, t) = 2p} und folgende Kanten in F 0 : • Eine Transition t ∈ T mit F (p, t) 6= 2p f¨ ur alle p ∈ P erh¨alt neben den Kanten gem¨aß F noch zus¨ atzlich die Kanten F 0 (pr , t) = 1 = F 0 (t, pr ). ¨ • Eine Transition t ∈ T mit F (p, t) = 2p f¨ ur ein p ∈ P erh¨alt als Anderung 0 0 0 gegen¨ uber F noch F (t, p) = 0, F (pr , t) = 1 und F (t, pt ) = 1. • Die Transition ti erh¨ alt F 0 (pi , ti ) = 1, F 0 (ti , pr ) = 1 und F 0 (ti , p) = s1 (p) f¨ ur alle p ∈ P . • Die Transition to erh¨ alt F 0 (pr , to ) = 1, F 0 (to , po ) = 1 und F 0 (p, to ) = s2 (p) f¨ ur alle p ∈ P . • Weitere Kanten gibt es in N 0 nicht. Die Konstruktion ist schematisch in Abb. 6.8 dargestellt.
'
$ p
n y F (t, p)
pi
n - ti s1
-
-
s2- to
pt
- n b H * j . .
• t\p
.. t
.. t• \p
H j 6 & *
- npo
6 ?
t0
H j .
* .
*
. H j 6
•u
.. u
. u•
%
- n pr
Abb. 6.8 Normierung eines Inhibitornetzes. Außen befindet sich der globale Teil der Konstruktion, innen links die lokale Konstruktion f¨ ur Transitionen t mit Inhibitorkanten (hier von der Stelle p aus). Transitionen u ohne Inhibitorkante bleiben bis auf eine Schlinge mit der run-Stelle pr unver¨ andert
Als zu konstruierende Zust¨ ande legen wir s01 (pi ) = 1, s01 (p) = 0 f¨ ur p 6= pi und 0 0 s2 (po ) = 1, s2 (p) = 0 f¨ ur p 6= po fest. Damit ist bereits klar, dass eine Feuersequenz σ mit s01 [σ>s02 die Transitionen ti und to genau je einmal enth¨alt,
6.3 Petri Netze mit begrenzten Nulltests
215
und zwar ti als erste und to als letzte Transition. Wir zeigen nun, dass wir zu jeder Feuersequenz σ in N mit s1 [σ>N s2 eine Feuersequenz s01 [ti σ 0 to>N 0 s02 in N 0 finden und umgekehrt. Damit w¨ are der Beweis abgeschlossen. Sei σ eine Feuersequenz in N mit s1 [σ>N s2 . In N 0 gilt bereits s01 [ti>N 0 (s1 + pr ) und (s2 + pr ) [to>N 0 s02 , wenn wir (s1 + pr ) und (s2 + pr ) als die kanonisch um einen Token f¨ ur die Stelle pr und null Token f¨ ur die anderen neuen Stellen erweiterten Zust¨ ande s1 und s2 auffassen. F¨ ur σ definieren wir den Homomorphismus h: T → (T 0 )∗ mit h(u) = u f¨ ur alle Transitionen u ohne Inhibitorkante und h(t) = tt0 f¨ ur Transitionen t mit Inhibitorkante(n). Man sieht nun leicht: Ist σ = u% mit s1 [u>N s [%>N s2 , so gilt auch (s1 +pr ) [h(u)>N 0 (s+pr ) (mit u = h(u)), im Falle σ = t% mit s1 [t>N s [%>N s2 sind h(t) = tt0 in N 0 feuerbar und bewirken dieselbe Zustands¨anderung wie t in N , d.h., es gilt ebenfalls (s1 + pr ) [h(t)>N 0 (s + pr ). Per Induktion arbeitet man nun % ab und erh¨ alt schließlich (s1 + pr ) [h(σ)>N 0 (s2 + pr ). Insgesamt gilt also s01 [ti h(σ)to>N 0 s02 . F¨ ur die Umkehrung der Aussage m¨ ussen wir nun lediglich noch beachten, dass nach dem Feuern einer Transition t mit Inhibitorkante in N 0 ausschließlich die Transition t0 aktiviert ist, denn es liegt ein Token auf pt und keines auf pr . Es folgt also auf jede solche Transition t in einer Feuersequenz immer direkt die Transition t0 und die obige Argumentation kann einfach r¨ uckw¨arts durchlaufen werden. Wir definieren nun Erreichbarkeitsrelationen, zun¨achst f¨ ur Petri Netze ohne Inhibitorkanten und dann auch f¨ ur Petri Netze mit Inhibitorkanten in Normalform. Die Erreichbarkeitsrelation soll dabei einfach aus Paaren von Vektoren bestehen, die m¨ ogliche Start- und Endzust¨ande verbindet. F¨ ur einzelne Transitionen t besteht die zugeh¨ orige Erreichbarkeitsrelation R(t) dabei aus Paaren mit einem Vektor s ≥ H(t), der mindestens so groß wie die H¨ urde von t ist, und einem Vektor s + W (t), der die Zustands¨anderung von dort aus dokumentiert. Definition 79 (Erreichbarkeitsrelation I). Sei N = (P, T, F ) ein Petri Netz. Erreichbarkeitsrelationen R definieren wir induktiv als Menge von Paaren von Vektoren in NP : • F¨ ur zwei Teilmengen R1 , R2 ⊆ (NP )2 sei R1 + R2 = {(r1 + r2 , r10 + 0 r2 ) | (r1 , r10 ) ∈ R1 ∧ (r2 , r20 ) ∈ R2 }. Ferner sei Id = {(s, s) | s ∈ NP }. • F¨ ur eine Transition t ∈ T ist die Erreichbarkeitsrelation R(t) definiert als R(t) = {(H(t), H(t) + W (t))} + Id. • Sind R1 , R2 zwei Erreichbarkeitsrelationen, so ist die Erreichbarkeitsrelation R1 ◦R2 definiert als R1 ◦R2 = {(s, s0 ) | ∃s00 : (s, s00 ) ∈ R1 ∧ (s00 , s0 ) ∈ R2 }.
216
6 Petri Netze mit Nulltest
• Ist R eine Erreichbarkeitsrelation, so ist die Erreichbarkeitsrelation R∗ S ∗ i 0 definiert als R = i∈N R mit R = Id und Ri+1 = Ri ◦ (R + Id). • Die Erreichbarkeitsrelation R(σ) einer Feuersequenz σ = σ 0 t mit t ∈ T ist definiert als R(σ) = R(σ 0 ) ◦ R(t). • Die ErreichbarkeitsrelationSR(L) einer Menge L von Feuersequenzen von N ist definiert als R(L) = σ∈L R(L). • Die S Erreichbarkeitsrelation des Petri Netzes N ist definiert als R(N ) = ( t∈T R(t))∗ .
4
t2
2
p1
?
?
6
2 6
p
2 3
-
t1
2
Abb. 6.9 Ein Petri Netz zur Erkl¨ arung der Erreichbarkeitsrelation R
Bei einem Petri Netz t1 und t2, die (siehe Abb.1 6.9) mit zwei Transitionen durch H(t1 ) = 22 , W (t1 ) = −1 , H(t2 ) = 40 und W (t2 ) = −2 be 3 1 2 stimmt sind, ergeben sich z.B. die Relationen R(t1 ) = {( 2 , 1 )} + Id, R(t2 ) = {( 40 , 21 )} + Id und R(t1 t2 ) = R(t1 ) ◦ R(t2 ) = {( 32 , 22 )} + Id. Als Zustand s00 in der Definition der Konkatenation ◦ muss man mindestens den Zustand 41 nehmen, kleinere Zust¨ ande liefern keinen Beitrag zum Er gebnis. Damit ist also H(t1 t2 ) = 32 und H(t1 t2 ) + W (t1 t2 ) = 22 , wie man auch am Netz leicht ablesen kann. Komplex werden die Erreichbarkeitsrelationen, wenn man die Iteration benutzt. Dies ist auch logisch, beobachtet man, dass iterationsfreie Erreichbarkeitsrelationen semi-linear sind, man jedoch mit Iteration Erreichbarkeitsrelationen von Netzen ausdr¨ ucken kann, die nicht semi-linear sind: Etwas seltsam mutet bei der Iteration die Addition einer Identit¨at zu R an, d.h., eigentlich ist R∗ hier der reflexive, transitive Abschluss von R + Id und nicht von R. Die Erreichbarkeitsrelationen, die wir hier aus den Transitionen eines Petri Netzes errechnen k¨onnen, sind aber immer monoton, so dass die Addition der Identit¨at scheinbar wirkungslos ist. Sie modelliert also nur die ohnehin vorhandene Monotonie von Petri Netzen. Das Erreichbarkeitsproblem wird sp¨ ater aber auf die Entscheidbarkeit
6.3 Petri Netze mit begrenzten Nulltests
217
eines Leerheitsproblems von Ausdr¨ ucken u ¨ber den obigen Operationen reduziert, und dieses Leerheitsproblem ist nur entscheidbar, wenn die Monotonie k¨ unstlich“ eingef¨ uhrt wird. ” Lemma 50. Seien N = (P, T, F ) ein Petri Netz und L ⊆ T ∗ . Dann gilt: (s1 , s2 ) ∈ R(L) ⇐⇒ ∃σ ∈ L: s1 [σ>s2 . Beweis. Folgt im Wesentlichen aus der Definition. Man muss lediglich beachten, dass bei der Konkatenation σσ 0 aus (s, s00 ) ∈ R(σ) und (s00 , s0 ) ∈ R(σ 0 ) per Induktion s [σ>s00 und s00 [σ 0>s0 folgt (und umgekehrt), und somit aus s [σσ 0>s0 dann das Paar (s, s0 ) ∈ R(σσ 0 ) entsteht (und umgekehrt), wie in der Definition gefordert. Die Iteration wird kanonisch auf die Konkatenation zur¨ uckgef¨ uhrt und der Induktionsanfang sind die R(t) f¨ ur t ∈ T . Um auch f¨ ur Inhibitornetze Erreichbarkeitsrelationen definieren zu k¨onnen, m¨ ussen wir die Konkatenation von Erreichbarkeitsrelationen etwas erweitern. Definition 80 (Erreichbarkeitsrelation II). Sei N = (P, T, F ) ein Inhibitornetz. • F¨ ur Q ⊆ P definieren wir IdQ = {(s, s) | s ∈ NP ∧ ∀p ∈ / Q : s(p) = 0}. • F¨ ur eine Transition t ∈ T (evtl. mit Inhibitorkanten) ist die Erreichbarkeitsrelation R(t) definiert als R(t) = {(H(t), H(t) + W (t))} + IdQ mit Q = {p ∈ P | F (p, t) ∈ N}. • F¨ ur zwei Erreichbarkeitsrelationen R1 , R2 und Q ⊆ P ist die Erreichbarkeitsrelation R1 ◦Q R2 definiert als R1 ◦Q R2 = {(s + s000 |P \Q , s00 |P \Q + s0 ) | ∃s00 , s000 : (s, s00 ) ∈ R1 ∧ (s000 , s0 ) ∈ R2 ∧ s00 |Q = s000 |Q }. • Ist R eine Erreichbarkeitsrelation und S Q ⊆ P , so ist die Erreichbarkeitsrelation R∗Q definiert als R∗Q = i∈N RiQ mit R0Q = IdQ und Ri+1Q = RiQ ◦Q (R + IdQ ). Mit den Bezeichnungen dieser Definition gilt offensichtlich R1 ◦P R2 = R1 ◦R2 und R∗P = R∗ . Interessant ist auch die M¨ oglichkeit, Elemente aus einer Relation herauszuschneiden, die an einer bestimmten Stelle nicht den Wert Null stehen haben: R ◦ IdQ = {(x, y) ∈ R | ∀p ∈ / Q : y(p) = 0} und IdQ ◦ R = {(x, y) ∈ R | ∀p ∈ / Q : x(p) = 0}. Ferner ist R1 + R2 = R1 ◦∅ R2 und die Identit¨ at IdQ l¨ asst sich als ({(eq , eq ) | q ∈ Q})∗∅ darstellen, wobei eq der Vektor mit eq (q) = 1 und eq (p) = 0 f¨ ur p 6= q ist. Damit gen¨ ugen die Operatoren ∪, ◦Q und ∗Q und die einelementigen Teilmengen von (NP )2 , um die Erreichbarkeitsmenge jeden Petri Netzes auszudr¨ ucken. Der Operator ◦Q
218
6 Petri Netze mit Nulltest
ist jedoch mit Vorsicht zu genießen: F¨ ur Stellen außerhalb von Q wird keine Pr¨ ufung vorgenommen, ob die beteiligten Zust¨ande zusammenpassen“, ” stattdessen werden einfach gen¨ ugend Token aufaddiert, bis dies der Fall ist. Ein solches Vorgehen macht bei normalen“ Stellen keinen Sinn (da haben ” wir bereits den ◦-Operator), und auch bei Inhibitorstellen scheint dies problematisch, da man so den Nulltest verf¨ alschen kann. Garantiert man aber, dass nur solche Zustandspaare damit verkn¨ upft werden, in denen gar keine Token auf Inhibitorstellen liegen, so scheint zumindest nichts Schlimmes zu passieren. Der Iterationsoperator ∗Q ist nun aber sehr interessant, denn er enth¨ alt nur ein +IdQ statt des +Id bei der normalen ∗-Iteration. Dies kann man nutzen, um bei einer Iteration zu garantieren, dass auf Inhibitorstellen (außerhalb von Q) keine Token addiert werden. Wir k¨onnen damit die Erreichbarkeitsmenge eines Inhibitornetzes in Normalform mit genau einer Stelle mit Inhibitorkanten so ausdr¨ ucken: Lemma 51. Seien N = (P, T, F ) ein Inhibitornetz in Normalform, I ⊆ T die Menge aller Transitionen mit Inhibitorkanten, T 0 = T \I, p ∈ P die einzige Stelle mit Inhibitorkanten und Q = P \{p}. Dann gilt: [ [ R(N ) ∩ {(x, y) | x(p) = y(p) = 0} = ((IdQ ◦ ( R(t))∗ ◦ IdQ ) ∪ R(t))∗Q . t∈T 0
t∈I
Beweis. ⊆“: Sei (x, y) ∈ R(N ) mit x(p) = y(p) = 0. Dann existiert eine ” Feuersequenz σ mit x [σ>y, die man zerlegen kann zu σ = u1 v1 u2 v2 . . . un vn mit jeweils ui ∈ T 0∗ und vi ∈ I ∗ f¨ ur 1 ≤ i ≤ n. F¨ ur Zust¨ande si , s0i mit 0 0 ≤ i ≤ n, die s0 [u1>s1 [v1>s1 [u2> . . . [vn−1>sn−1 [un>s0n [vn>sn erf¨ ullen, gilt si (p) = s0i (p) = 0 f¨ ur alle 1 ≤ i ≤ n, da jeder dieser Zust¨ande adjazent zu einer Transition t ∈ I ist und diese nur bei null Token auf p feuern kann und S dort auch keine Token ablegt. Folglich gilt jeweils schon einmal (s0i , si ) ∈ ( t∈I R(t))∗Q . (Die Feuersequenz s0i [vi>si kann S man nun noch in einzelne Transitionen unterteilen, um jeweils Paare aus t∈I R(t) zu erhalS ten.) Betrachten wir die ui , so gilt (si−1 , s0i ) ∈ ( t∈T 0 R(t))∗ , der Erreichbarkeitsrelation von N ohne die Inhibitortransitionen. Da si−1 (p) = s0i (p) = 0 gilt, werden diese Paare vonSeiner Konkatenation mit IdQ nicht aussortiert, liegen also auch in S (IdQ ◦ ( t∈T 0 R(t))∗ ◦SIdQ ). Damit gilt aber auch schon (s0 , sn ) ∈ ((IdQ ◦ ( t∈T 0 R(t))∗ ◦ IdQ ) ∪ t∈I R(t))∗Q . S S ⊇“: Sei (s, s0 ) ∈ ((IdQ ◦ ( t∈T 0 R(t))∗ ◦ IdQ ) ∪ t∈I R(t))∗Q , d.h., es existie” ren s0 , . .S . , sn (mit s0 = s und S sn = s0 ) mit (s0 , s1 ), (s1 , s2 ), . . . , (sn−1 , sn ) ∈ ∗ ((IdQ ◦ ( t∈T 0 R(t)) ◦ IdQ ) ∪ t∈I R(t)) + IdQ , wobei (s, s0 ) ∈ {(s0 , s1 )} ◦Q {(s1 , s2 )} ◦Q . . . ◦Q {(sn−1 , sn )} gilt. Das +IdQ“ k¨onnen wir dabei getrost ” ignorieren, da jedes der inneren R(t) jeweils selbst entweder ein +IdQ“ oder ” ein +Id“ enth¨alt und wir damit jede Tokenzahlerh¨ohung auch in diesem ” inneren Teil realisieren k¨ onnen. Also ist jedes der betrachteten Paare entweS der in (IdQ ◦ ( t∈T 0 R(t))∗ ◦ IdQ ) oder in R(t) f¨ ur ein t ∈ I. Damit gilt
6.3 Petri Netze mit begrenzten Nulltests
219
bei (si , si+1 ) ∈ R(t Si ∈ I) nun si [ti>si+1 und si (p) = si+1 (p) = 0, bei (si , si+1 ) ∈ (IdQ ◦( t∈T 0 R(t))∗ ◦IdQ ) folgern wir aus der Konkatenation mit S den beiden IdQ direkt si (p) = si+1 (p) = 0 und (si , si+1 ) ∈ ( t∈T 0 R(t))∗ . Aus Letzterem entnehmen wir wiederum die Existenz einer Feuersequenz %i ∈ T 0∗ mit si [%i>si+1 . Da dies f¨ ur alle 0 ≤ i < n gilt, erhalten wir also eine Feuersequenz s0 [u0>s1 [u1>s2 . . . [un−1>sn , wobei jeweils entweder ui = ti oder ui = %i gilt. Damit ist aber (s0 , sn ) = (s, s0 ) ∈ R(N ) und in allen betrachteten Zust¨ anden si galt si (p) = 0, also auch f¨ ur s und s0 . Damit k¨ onnen wir nun das Erreichbarkeitsproblem f¨ ur Inhibitornetze mit einer Inhibitorstelle auf ein Leerheitsproblem reduzieren. Satz 80. Seien N = (P, T, F ) ein Inhibitornetz in Normalform mit nur einer Inhibitorstelle p ∈ P und s1 , s2 ∈ NP zwei Zust¨ ande von N , jeweils in Normalform. Desweiteren seien Q = P \{p}, I = {t ∈ T | F (p, t) = 2p} und T 0 = T \I. Es existiert eine Feuersequenz σ ∈ T ∗ mit s1 [σ>s2 genau dann, wenn [ [ {(0, s1 )} ◦ ((IdQ ◦ ( R(t))∗ ◦ IdQ ) ∪ R(t))∗Q ◦ {(s2 , 0)} = 6 ∅ t∈T 0
t∈I
ist. Beweis. Eine solche Feuersequenz σ existiert genau dann, wenn die Erreichbarkeitsrelation R(N ) das Paar (s1 , s2 ) enth¨ alt. Da bereits garantiert ist, dass s1 (p) = s2 (p) = 0 gilt, ist (s1 , s2 ) ∈ R(N ) ⇐⇒ (s1 , s2 ) ∈ R(N ) ∩ {(x, y) | x(p) = y(p) = 0}, d.h., wir m¨ ussen nur pr¨ ufen, ob (s1 , s2 ) ∈ ((IdQ ◦ (
[
t∈T 0
R(t))∗ ◦ IdQ ) ∪
[
R(t))∗Q
t∈I
gilt. Um festzustellen, ob dieses Paar enthalten ist, entfernen wir durch geeignete Konkatenation von links mit {(0, s1 )} alle Paare, die in der ersten Komponente nicht s1 enthalten. Analog entfernt die Konkatenation von rechts mit {(s2 , 0)} alle Paare, die nicht s2 in der zweiten Komponente haben. Der in der Behauptung angegebene Ausdruck ist also leer, wenn (s1 , s2 ) ∈ / R(N ) gilt. Ist (s1 , s2 ) ∈ R(N ), so liefert der Ausdruck genau das Paar (0, 0), das aus den beiden ¨ außeren Vektoren dieses Ausdrucks besteht. ¨ Wir zitieren nun aus [Rei06] den Satz, der das Aquivalent zur L¨osung des Erreichbarkeitsproblems nach Lambert aus Kapitel 3 darstellt und auch inhaltlich sehr ¨ ahnlich bewiesen wird.
220
6 Petri Netze mit Nulltest
Satz 81 ([Rei06]). Das Leerheitsproblem f¨ ur Ausdr¨ ucke, die aus einelementigen Mengen mittels der Operationen ∪, ◦Q und ∗Q (mit Parameter Q) gebildet werden k¨ onnen, ist entscheidbar. Beachtet man, dass sich nach Lemma 49 jedes Inhibitornetz in Normalform bringen l¨ asst, ohne die Zahl der Inhibitorstellen zu ¨andern, so kann man nun folgern: Korollar 20. F¨ ur Inhibitornetze mit einer Inhibitorstelle ist das Erreichbarkeitsproblem entscheidbar. Nun kann man sich fragen, warum Lamberts Beweis dem von Reinhardt in dieser Arbeit vorgezogen wurde, wenn dieser doch zus¨atzlich die Behandlung von Inhibitornetzen mit einer Inhibitorstelle erlaubt. Bei genauerer Betrachtung sieht man jedoch auch den Vorteil des Ansatzes von Lambert: Er liefert im Falle endlich vieler L¨ osungen stets alle L¨ osungen und bei unendlich vielen L¨ osungen mittels seines Pumping-Lemmas auch tats¨achlich unendlich viele. Reinhardts Ansatz ist hingegen in Bezug auf die Feuersequenzen nicht konstruktiv (der Ausdruck f¨ ur den Leerheitstest enth¨alt und liefert somit keine Feuersequenz). Man erh¨ alt also f¨ ur ein Erreichbarkeitsproblem zun¨achst nur die Antwort ja“ oder nein“ und kann dann wegen der rekursiven Aufz¨ahl” ” barkeit des Problems im ja“-Falle eine L¨ osung ausfindig machen. Nach der ” ersten gefundenen L¨ osung sind keine weiteren mehr garantiert, weshalb ein sicher terminierender Algorithmus nicht mehr weiterrechnen darf. Interessant ist noch zu betrachten, warum die Entscheidbarkeit der Erreichbarkeit nicht auch f¨ ur Inhibitornetze mit zwei Inhibitorstellen gilt. Wesentlich f¨ ur die oben angewandte Technik ist, dass man die Feuersequenzen eines Inhibitornetzes in Abschnitte aufteilen kann, zwischen denen keine Token auf der Inhibitorstelle liegen. Jeder Abschnitt besteht entweder nur aus normalen Transitionen oder nur aus Transitionen mit Inhibitorkante. Nur solche Teilsequenzen kann man zum Zusammensetzen einer gesuchten Feuersequenz nutzen. Bei zwei Inhibitorstellen ist nicht mehr klar, wie diese Aufteilung einer Feuersequenz in Abschnitte erfolgen soll, denn es gibt eventuell Zust¨ande, in denen jeweils die eine Inhibitorstelle leer ist, die andere aber nicht. Die Abschnitte f¨ ur die beiden Inhibitorstellen u ¨berlappen sich also. Einerseits muss man die Feuersequenz auch an Abschnittsgrenzen zerlegen, an denen nur eine Inhibitorstelle leer ist, da man sonst beliebig lange, unzerlegbare Feuersequenzen haben k¨ onnte (weil niemals beide Inhibitorstellen gleichzeitig leer sind). Andererseits darf man nicht zerlegen, wo die andere Inhibitorstelle nicht auch null Token aufweist, denn der Iterationsoperator ∗Q achtet u ¨berhaupt nicht auf Stellen außerhalb von Q und verkn¨ upft Abschnitte auch dann, wenn sie außerhalb von Q bzgl. der Tokenzahl u ¨berhaupt nicht zusammenpassen. Der Operator ∗Q arbeitet nur korrekt, wenn alle Stellen außerhalb von Q leer sind.
6.3 Petri Netze mit begrenzten Nulltests
221
Wie Reinhardt [Rei06] zeigt – und auch aus obiger Argumentation recht offensichtlich ist – bietet das noch einen kleinen Spielraum, auf den man die Entscheidbarkeit der Erreichbarkeit ausdehnen kann. Kann man die Inhibitorstellen so ordnen, dass eine Inhibitortransition mit dem Nulltest einer Inhibitorstelle gleichzeitig auch immer alle Nulltests f¨ ur Inhibitorstellen ausf¨ uhrt, die in der Ordnung davor liegen, so ist die Erreichbarkeit wiederum entscheidbar. Die Anzahl der Inhibitorstellen spielt dann keine Rolle; die bez¨ uglich der Ordnung kleinste Inhibitorstelle bestimmt die Abschnitte, in die eine Feuersequenz eingeteilt werden kann. Das Zusammensetzen der Abschnitte erfolgt allerdings in mehreren Iterationsschritten – mindestens einem pro Inhibitorstelle. Satz 82. Sei N = (P, T, F ) ein Inhibitornetz in Normalform mit geordneter Stellenmenge P = {p1 , . . . , pn }, so dass f¨ ur alle 1 ≤ i, j ≤ n und t ∈ T gilt F (pi , t) = 2p ∧ j < i ⇒ F (pj , t) = 2p. F¨ ur 1 ≤ i ≤ n seien Qi = {pj | j > i} ∪ {p ∈ P | ∀t ∈ T : F (p, t) ∈ N}, Ii = {t ∈ T | F (pi , t) = 2p}, In+1 = ∅ und T 0 = T \I1 . Setzen wir nun X0 = (
[
R(t))∗
t∈T 0
Xi+1 = ((IdQi ◦ Xi ◦ IdQi ) ∪
[
R(t))∗Qi ,
t∈Ii \Ii+1
so ist f¨ ur zwei Zust¨ ande s1 und s2 von N in Normalform das Erreichbarkeitsproblem ¨ aquivalent zur Frage, ob {(0, s1 )} ◦ Xn ◦ {(s2 , 0)} = 6 ∅ gilt, und damit entscheidbar. Wir verzichten auf einen Beweis. Offensichtlich ist X0 die Erreichbarkeitsrelation bezogen auf Transitionen ohne Inhibitorkanten. Mit jeder Erh¨ohung des Index beschr¨ ankt man sich auf den Teil der Relation, in dem die gerade betrachtete Inhibitorstelle (und alle in der Ordnung davor liegenden) am Anfang und Ende frei von Token ist, f¨ ugt die Erreichbarkeitsrelationen derjenigen Inhibitortransitionen hinzu, die ebenfalls genau diese Stellen auf Null testen, und iteriert, um alle Sequenzen zu erhalten. In vorigen Durchg¨angen behandelte Inhibitorstellen behalten dabei ihre Tokenfreiheit. Abschließend k¨ onnen noch einige Iterationen f¨ ur Stellen kommen, die gar keine Inhibitorkanten besitzen. Daf¨ ur wurden die Qi so gestaltet, dass die Konkatenation mit IdQi und auch die Iteration ∗Qi nun nichts mehr bewirken (Qi = Qi−1 ), ebenso ist Ii \Ii+1 leer, da bereits alle Inhibitortransitionen in fr¨ uheren Iterationsschritten behandelt wurden.
Kapitel 7
¨ Ergebnisse im Uberblick
Wir fassen alle erzielten Ergebnisse noch einmal zusammen und erstellen nun eine Gesamt¨ ubersicht u ¨ber diese Resultate. Das wichtigste Resultat u ¨berhaupt ist nat¨ urlich die Entscheidbarkeit der Erreichbarkeit: Problem
Abk. ent? Literatur Referenz √ [May80], [Kos82], [May84], Erreichbarkeit EP Kapitel 3 [Lam92], [Rei06] Die Spalte Abk.“ enth¨ alt dabei die in dieser Arbeit benutzte Abk¨ urzung f¨ ur ” das Problem und die Spalte ent?“ beantwortet die Frage, ob das Problem ” entscheidbar ist (der Haken steht f¨ ur ja“). In den beiden hinteren Spalten ” finden sich eine Angabe zu der Literatur, in der dies Resultat bewiesen wurde (soweit bekannt), und eine Referenz (Abschnitts- oder Seitenangabe) auf die Stelle, an der das Resultat in dieser Arbeit wiederzufinden ist. F¨ ur die weiteren Probleme werden die Angaben analog gemacht. Eine leeres Feld bei der Literaturangabe zeigt ein neues Resultat an. In Kapitel 4 haben wir uns mit Markierungsproblemen befasst, zun¨achst mit einfachen Anwendungen des Erreichbarkeitsproblems, die dessen Reichweite vergr¨ oßern. Die drei wesentlichen Erweiterungen, die Erreichbarkeit semilinearer Mengen, die Einf¨ uhrung linearer Gleichungen mit simultanem Bezug auf Start- und Zielzustand und die Kopplung partieller Erreichbarkeitsprobleme, sind dabei orthogonal und somit kombinierbar.
223
¨ 7 Ergebnisse im Uberblick
224
Problem Abk. Erreichbarkeit semi-linearer Mengen partielle Erreichbarkeit pEP ¨ ¨ Uberdeckung UP Deadlockexistenz DP Persistenz PP Erreichbarkeit zwischen linear abh¨ angigen Zust¨ anden EEP Kopplung partieller Erreichbarkeitsprobleme
ent? Literatur √ [Hac76b] √ [Hac76b] √ [Hac76b] √ [Hac76b] √ [JL77],[May81] √ √
Ref. S. 99 S. S. S. S.
99 99 99 99
S. 101 S. 103
Weitere interessante Fragen betrafen die Reproduktion, also die Wiederherstellbarkeit von Zust¨ anden. Wir fragten hier einerseits nach reproduzierbaren Zust¨ anden, also Zust¨ anden, die durch geeignete Feuersequenzen zu sich selbst zur¨ uckf¨ uhren, und andererseits nach Varianten des bekannten Home State Problems, also der Frage nach Zust¨ anden, die von jedem erreichbaren Zustand aus erreicht werden k¨ onnen. Problem Existenz reprod. Zust¨ ande Test auf Reproduzierbarkeit Erreichbarkeit reprod. Zust¨ ande Test auf partiellen Home State Test auf Home State Existenz von Home States Test auf Home Space – wenn linear
Abk. ZFRP SRP ARP pHP HP AHP ZHP
ent? Literatur √ [Sif78] √ √ √ [FJ89], [Oan02] √ [FJ89], [Oan02] offen — – √ [FJ89], [Oan02]
Ref. S. 106 S. 108 S. 108 S. 112 S. 112 S. 114
Neben der Frage nach einzelnen Zust¨ anden interessierten wir uns auch f¨ ur Eigenschaften von Mengen von Zust¨ anden, wie etwa den in der obigen Tabelle erw¨ ahnten Home Spaces, und insbesondere nat¨ urlich f¨ ur die Menge aller erreichbaren Zust¨ ande eines Petri Netzes. Hier treten dann auch die ersten gesichert unentscheidbaren Probleme auf. Problem Abk. Endlichkeit der Zustandsmenge ZEP Endlichkeit von Zwischenzust¨ anden ZZEP Totalit¨ at der Zustandsmenge ZTP Inklusion von Zustandsmengen ZIP partielle Inklusion pZIP ¨ Aquivalenz von Zustandsmengen ZGP
ent? Literatur Ref. √ [KM69] S. 116 √ [Wim04] S. 117 √ S. 118 – [Hac76] S. 124 – [Hac76] S. 123 – [Hac76] S. 125
¨ 7 Ergebnisse im Uberblick
225
Als letzte große Problemgruppe der Markierungsprobleme haben wir uns schließlich der Lebendigkeit zugewandt und verschiedene Auspr¨agungen derselben untersucht. Problem einfache Lebendigkeit endliche Lebendigkeit schwache Lebendigkeit starke Lebendigkeit Netz-Lebendigkeit strukturelle Lebendigkeit
Abk. ent? √ ELP √ NLP √ SLP √ LP √ GLP STLP offen
Literatur Ref. [KM69] S. 128 [Kel74] S. 128 [VJ85] S. 129 [Hac76b] S. 130 [Hac76b] S. 131 — S. 131
Neben Markierungen haben wir als große Gruppe von Problemen noch die Fragen bez¨ uglich der von Petri Netzen erzeugten Sprachen betrachtet. Hierbei haben wir die Probleme im Hinblick auf die Sprachtypen (P , G, L, T ) und die Art der Beschriftung (frei, ε-frei, uneingeschr¨ankt) untersucht. Wir geben f¨ ur jedes untersuchte Problem eine eigene Tabelle an. Beim Wortproblem und dem Leerheitsproblem unterscheiden wir lediglich nach der Art der Beschriftung, der Sprachtyp ist hier nicht relevant. Das heißt, es gibt jeweils einen einheitlichen Beweis f¨ ur alle Sprachtypen. Wortproblem Abk. ent? √ frei WPF √ ε-frei WPE √ uneingeschr¨ ankt WPU
Literatur Ref. [Hac76b] S. 134 [Hac76b] S. 134 [Hac76b] S. 134
Leerheitsproblem frei ε-frei uneingeschr¨ ankt
Literatur Ref. [Hac76b] S. 137 [Hac76b] S. 137 [Hac76b] S. 137
Abk. ent? √ LPF √ LPE √ LPU
Beim Endlichkeitsproblem haben wir noch zwei zus¨atzliche Fragestellungen untersucht, n¨ amlich, ob es zwischen gegebenem Anfangs- und Endzustand (nur) endlich viele Feuersequenzen gibt und (als Erweiterung der Frage nach der schwachen Lebendigkeit) ob es endlich viele unendlich lange Feuersequenzen gibt.
¨ 7 Ergebnisse im Uberblick
226
Endlichkeitsproblem P -Typ G-Typ L-Typ T -Typ endlich viele Zwischensequenzen endlich viele unendl. Sequenzen
Abk. ent? √ EPU(P ) √ EPU(G) √ EPU(L) √ EPU(T ) √ UFZP EUFP
Literatur Ref. [Hac76b] S. 139 S. 139 [Hac76b] S. 141 S. 141 [Wim04] S. 140
√
S. 142
Beim Totalit¨ atsproblem, also der Frage, ob alle W¨orter u ¨ber einem Alphabet zur Sprache geh¨ oren, liefern die Untersuchungen eine scharfe Abgrenzung der Entscheidbarkeit in Bezug auf das Vorhandensein von unbeschr¨ankten Stellen im Netz. Die Fragestellungen zur Totalit¨at h¨angen recht eng mit der Regularit¨ at der Sprache eines Netzes zusammen. Totalit¨ atsproblem frei, P -Typ frei, G-Typ frei, L-Typ frei, T -Typ ε-frei, P -Typ ε-frei, G-Typ ε-frei, L-Typ ε-frei, T -Typ uneingeschr¨ ankt eine unbeschr¨ ankte Stelle beschr¨ anktes Netz
Abk. ent? √ TPF(P ) √ TPF(G) √ TPF(L) √ TPF(T ) TPE(P ) offen TPE(G) offen TPE(L) – TPE(T ) – TPU – – √
Literatur [Hac76b]
Ref. S. 144 S. 144 — (trivial) S. 145 — (trivial) S. 145 — — [VV81] S. 155 [VV81] S. 155 (wie TPE) S. 155 [VV81] S. 153 [VV81] S. 155
Beim Inklusionsproblem ist in der Literatur u ¨berraschenderweise ein fehlerhafter Beweis vorhanden. Wir haben dieses Problem hier korrigiert (ab S. 160) und auch solche Probleme betrachtet, bei denen sich die Akzeptanzkriteri¨ en der zu untersuchenden Netze unterscheiden. Ahnliches gilt f¨ ur die dann ¨ folgende Tabelle zum nahe verwandten Aquivalenzproblem. Inklusionsproblem frei, P -Typ frei, G-Typ frei, L-Typ frei, T -Typ ε-frei uneingeschr¨ ankt eine unbeschr¨ ankte Stelle gemischte Akzeptanz
Abk. IPF(P ) IPF(G) IPF(L) IPF(T ) IPE IPU
ent? Literatur Ref. √ √ [Hac76b] S. 157 S. 160 √ S. 167 √ S. 169 – (wie GPE) S. 177 – (wie GPE) S. 177 – [Jan95] S. 178 – S. 179
¨ 7 Ergebnisse im Uberblick
¨ Aquivalenzproblem frei, P -Typ frei, G-Typ frei, L-Typ frei, T -Typ ε-frei, P -Typ ε-frei, G-Typ ε-frei, L-Typ ε-frei, T -Typ uneingeschr¨ ankt eine unbeschr¨ ankte Stelle gemischte Akzeptanz
227
Abk. ent? √ GPF(P ) √ GPF(G) √ GPF(L) √ GPF(T ) GPE(P ) – GPE(G) – GPE(L) – GPE(T ) – GPU – – –
Literatur [Hac76b]
Ref. S. 159 S. 160 S. 167 S. 169 [Hac76b], [Jan95] S. 170 S. 175 S. 175 S. 176 (wie GPE) S. 177 [Jan95] S. 178 S. 179
Mit der richtigen Beweistechnik folgen auch Ergebnisse zur Entscheidbarkeit der Bisimulations¨ aquivalenz nun direkt. Bisimulationsproblem Abk. ent? Literatur Ref. √ frei [Hac76b] S. 159 ε-frei – [Jan95] S. 177 uneingeschr¨ ankt – [Jan95] S. 177 Als letzten Schritt zu den Sprachuntersuchungen haben wir uns schließlich mit der Regularit¨ at und Kontextfreiheit besch¨aftigt, zu letzterer sollen hier aber keine Ergebnisse zitiert werden. Regularit¨ atsproblem Abk. ent? Literatur Ref. √ frei, P -Typ √ [VV81] S. 183 frei, G-Typ S. 185 √ frei, L-Typ [Lam92] S. 187 √ frei, T -Typ S. 190 ε-frei/allg., P -Typ offen — ε-frei/allg., G-Typ offen — ε-frei/allg., L-Typ – [VV81] S. 192 ε-frei/allg., T -Typ – S. 192 Zum Abschluss haben wir uns Erweiterungen der Standardnetze angesehen, die zur Berechenbarkeitsuniversalit¨ at f¨ uhren. Dabei ging es haupts¨achlich um neue Kantentypen, die sich als Mehrfachkanten mit polynomiellem (statt nat¨ urlichzahligem) Gewicht darstellen, und nicht etwa um die Einf¨ uhrung ¨ von Wahrscheinlichkeiten, Zeit oder Ahnlichem, was zu einem komplexen neuen Feld von Problemen f¨ uhrt. Im Vordergrund stand hier die Abgrenzung der Entscheidbarkeit einfacherer Fragen als der Erreichbarkeit, d.h. die Frage, wie weit man Petri Netze erweitern kann, ohne die Entscheidbarkeit
¨ 7 Ergebnisse im Uberblick
228
¨ von beispielsweise der Uberdeckbarkeit oder der Beschr¨anktheit zu verlieren. In der folgenden Tabelle bezeichne SBP das Beschr¨ankheitsproblem f¨ ur einzelne Stellen und NBP das f¨ ur komplette Netze. Haken geben entscheidbare Probleme an, Striche unentscheidbare. Netzerweiterung Priorit¨ aten Inhibitorkanten Resetkanten Transferkanten Dopplerkanten ohne Erweiterung
¨ EP SBP NBP UP – – – – – – – – √ – – – √ √ – – √ √ √ – √ √ √ √
Die Beweise zu diesen Aussagen gehen im Wesentlichen auf die Arbeiten [DFS98], [DJS99], [ACJ96] und [FS98] zur¨ uck. Hat man weniger als zwei Spezialkanten (z.B. Inhibitorkanten) im Netz, so wird das Erreichbarkeitsproblem aber wieder entscheidbar, auch bestimmte strukturelle Einschr¨ankungen f¨ ur die Spezialkanten k¨ onnen dies bewirken. Um dies zu zeigen, wurden die entscheidenden Inhalte aus [Rei06] genutzt.
Abbildungsverzeichnis
2.1 2.2
Darstellung eines Petri-Netzes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Darstellung des reversen Petri Netzes N rev zum Petri Netz N aus Abb. 2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Ein Petri Netz mit endlich lebendiger Transition . . . . . . . . . . . . 2.4 Ein Ausschnitt des Erreichbarkeitsgraphen zum Petri Netz aus Abb. 2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ¨ 2.5 Ein ungesteuerter Uberdeckungsgraph zum Petri Netz aus Abb. 2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ¨ 2.6 Ein gesteuerter Uberdeckungsgraph zum Petri Netz aus Abb. 2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7 Ein Graph G und dazu ein (G, v)-gesteuerter ¨ Uberdeckungsgraph zum Petri Netz aus Abb. 2.1 . . . . . . . . . . . . 2.8 Ein Keim G zum Petri Netz N aus Abb. 2.1 . . . . . . . . . . . . . . . . ¨ 2.9 Ein (G, (0, ω, 0)T )-gesteuerter Uberdeckungsgraph zum Keim G aus Abb. 2.8 und dem Petri Netz N aus Abb. 2.1 mit Startzustand (0, 2, 0)T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ¨ 2.10 Zerlegung des Uberdeckungsgraphen aus Abb. 2.9 in seine vier starken Zusammenhangskomponenten . . . . . . . . . . . . . . . . . . 2.11 Eine Keim-Transition-Folge F = K0 t1 K1 . . . tn Kn mit einer F-L¨ osung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23 27 32 39 41 42 49 53
53 54 56
3.1 3.2 3.3
Die einfachste Form der Keim-Transition-Folge . . . . . . . . . . . . . . 77 Darstellung eines Petri-Netzes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 ¨ Ein (K3 , (0, ω, 0)T )-gesteuerter Uberdeckungsgraph zum Keim K3 aus Abb. 2.10 und dem Petri Netz N aus Abb. 2.1 mit Startzustand (0, 3, 0)T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.1
Schematische Konstruktion zum Erreichbarkeitstest f¨ ur lineare Mengen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zusatzkonstruktion zu Abb. 4.1 f¨ ur die Kopplung . . . . . . . . . . . . Reduktionskonstruktion von ZHP nach pHP . . . . . . . . . . . . . . . . Konstruktion zur Erzeugung des schwachen Graphen eines Polynoms f + c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 4.3 4.4
98 104 115 122 229
230
Abbildungsverzeichnis
4.5 4.6 4.7
Teilnetze f¨ ur das (a) Addieren und (b) Multiplizieren . . . . . . . . 123 Konstruktion zur Reduktion von pZIP auf das Inklusionsproblem ZIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Die Konstruktionsidee zur Reduktion von ZIP auf das Gleichheitsproblem ZGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
5.1 5.2
Petri Netze zu den F¨ allen a) bis f) aus Korollar 13 . . . . . . . . . . . Petri Netze zu g) bis l) aus Korollar 13 f¨ ur den Fall des falschen Nachfolgebefehls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Petri Netze zu g) bis l) aus Korollar 13 f¨ ur den Fall des falsch ge¨ anderten ersten Registerinhalts . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4 Petri Netze zu g) bis l) aus Korollar 13 f¨ ur den Fall des falsch ge¨ anderten zweiten Registerinhalts . . . . . . . . . . . . . . . . . . . . . . . . 5.5 Konstruktion zur Reduktion des Sprachinklusionsproblems IPF(P ) auf das Lebendigkeitsproblem LP . . . . . . . . . . . . . . . . . . . 5.6 Konstruktion zur Reduktion des Sprachinklusionsproblems IPF(G) auf das Lebendigkeitsproblem LP, die auf Abbildung 5.5 aufbaut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7 Konstruktion zur Reduktion des Sprachinklusionsproblems IPF(L) auf das Lebendigkeitsproblem LP, die auf Abbildung 5.6 aufbaut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.8 Ein Konstrukt Ne,c f¨ ur die Erkennung eines Endzustands s2f,c aus N2 bei vergleichbaren Endzust¨ anden . . . . . . . . . . . . . . . . . . . 5.9 Simulation des Additions- und des Subtraktionsbefehls . . . . . . . 5.10 Fehlerhafte Nulltests if Rj = 0 goto Bk1 else goto Bk2 . . . . . . . 5.11 Modifikation zur Leerung der Register nach Abschluss der Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9
Ein Petri Netz zur Durchf¨ uhrung von Nulltests bei einelementiger Priorit¨ atsrelation . . . . . . . . . . . . . . . . . . . . . . . . . . . Der Nulltest Bi : if Rj = 0 goto Bk1 else goto Bk2 einer Registermaschine unter Ausnutzung von Abb. 6.1 . . . . . . . . . . . Der Nulltest einer Registermaschine f¨ ur das Register Rj unter Benutzung einer Inhibitorkante . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ersetzung von Inhibitorkanten durch Resetkanten und umgekehrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ersetzung von Inhibitorkanten durch Transferkanten und umgekehrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ersetzung von Inhibitorkanten durch Verdopplungskanten und umgekehrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Konstruktion zur Simulation des Befehls k: (Ri = Ri − 1; Rj = Rj + 1; goto k1 ) (Ri = 0; goto k2 ) in einem Resetnetz Normierung eines Inhibitornetzes . . . . . . . . . . . . . . . . . . . . . . . . . . Ein Petri Netz zur Erkl¨ arung der Erreichbarkeitsrelation R . . .
2
149 151 152 154 158
161
164 168 171 173 176
198 199 201 203 204 205 210 214 216
Literaturverzeichnis
ˇ ans: Simulation is Decidable for One-counter Nets, ProceeP. Abdulla, K. Cer¯ dings of the 9th International Conference on Concurrency Theory, Lecture Notes in Computer Science 1466, pp.253–268, 1998. ˇ ans, B. Jonsson, T. Yih-Kuen: General Decidability Theorems [ACJ96] P. Abdulla, K. Cer¯ for Infinite-State Systems, Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science, ISBN 0-8186-7463-6, pp.313–321, 1996. [AK77] T. Araki, T. Kasami: Some Decision Problems Related to the Reachability Problem for Petri Nets, Theoretical Computer Science 3, pp.-85–104, 1977. [AK77b] T. Araki, T. Kasami: Decidable Problems on the Strong Connectivity of Petri Net Reachability Sets, Theoretical Computer Science 4, pp.99–119, 1977. [BDE92] E. Best, J. Desel, J. Esparza: Traps Characterize Home States in Free Choice Systems, Theoretical Computer Science 101, pp.161–176, 1992. [BF97] Z. Bouziane, A. Finkel: Cyclic Petri Net Reachability Sets are Semi-Linear Effectively Constructible, Electronic Notes in Theoretical Computer Science 9, 10 pages, 1997. [BFG01] F. Balduzzi, A. di Febbraro, A. Giua, C. Seatzu: Decidability results in FirstOrder Hybrid Petri Nets, Discrete Event Dynamic Systems: Theory and Applications 11, pp.41–57, 2001. [Car87] H. Carstensen: Decidability Questions for Fairness in Petri Nets, Proceedings of the International Symposium on Theoretical Aspects of Computer Science (STACS), Lecture Notes in Computer Science 247, pp.396–407, 1987. [CEP93] A. Cheng, J. Esparza, J. Palsberg: Complexity Results for 1-Safe Nets, Proceedings of the 13th Conference on Foundations of Software Technology and Theoretical Computer Science, Bombay, 1993. [Cia94] G. Ciardo: Petri Nets with Marking-Dependent Arc Cardinality: Properties and Analysis, In: Proceedings of the 15th International Conference for Applications and Theory of Petri Nets (ICATPN), Lecture Notes in Computer Science 815, pp.179–198, 1994. [CLM76] E. Cardoza, R. Lipton, A.R. Meyer: Exponential Space Complete Problems for Petri Nets and Commutative Semigroups: Preliminary Report, Proc. of the 8th Annual ACM Symposium on Theory of Computing, pp.50–54, 1976. [Clo86] P. Clote: On the Finite Containment Problem for Petri Nets, Theoretical Computer Science 43, pp.99–105, 1986. [DE93] J. Desel, J. Esparza: Reachability in Cyclic Extended Free-Choice Systems, Theoretical Computer Science 114, pp.93–118, 1993. [DF97] C. Dufourd, A. Finkel: Polynomial-Time Many-One Reductions for Petri Nets, In: Proceedings on the Foundation of Software Technology and Theoretical Com[AC98]
231
232
Literaturverzeichnis
puter Science (FSTTCS), Lecture Notes in Computer Science 1246, pp.312–326, 1997. [DFS98] C. Dufourd, A. Finkel, P. Schnoebelen: Reset nets between decidability and undecidability, In: Proceedings of the 25th International Colloquium on Automata, Languages, and Programming (ICALP), Lecture Notes in Computer Science 1443, pp.103–115, 1998. [DJS99] C. Dufourd, P. Janˇ car, P. Schnoebelen: Boundedness of Reset P/T nets, In: Proceedings of the 26th International Colloquium on Automata, Languages, and Programming (ICALP), Lecture Notes in Computer Science 1644, pp.301–310, 1999. [EN94] J. Esparza, M. Nielsen: Decidability Issues for Petri Nets - A Survey, Bulletin of the European Association for Theoretical Computer Science 52, pp.245–262, 1994. [EP00] K. Erk, L. Priese: Theoretische Informatik, Springer Verlag, ISBN 3-540-661921, 433 Seiten, 2000. [ES92] J. Esparza, M. Silva: A Polynomial-Time Algorithm to Decide Liveness of Bounded Free Choice Nets, Theoretical Computer Science 102, pp.185–205, 1992. [Esp98] J. Esparza: Decidability and Complexity of Petri Net Problems – an Introduction, Lectures on Petri Nets I: Basic Models, Advances in Petri Nets, G. Rozenberg, A. Salomaa (eds.), Lecture Notes in Computer Science 1491, pp.374–428, 1998. [Esp98b] J. Esparza: Reachability in live and safe free-choice Petri nets is NP-complete, Theoretical Computer Science 198, pp.211–224, 1998. [Fin90] A. Finkel: Reduction and Covering of Infinite Reachability Trees, Information and Computation 89(2), pp.144–179, 1990. [FJ89] A. Finkel, C. Johnen: The Home State Problem in Transition Systems, Rapport de Recherche 471. Univ. de Paris-Sud, Centre d’Orsay, Frankreich, 1989. [FRA00] D. de Frutos Escrig, V. Valero Ruiz, O. Marroqu´ın Alonso: Decidability of Properties of Timed-Arc Petri Nets, Application and Theory of Petri Nets 2000, Lecture Notes in Computer Science 1825, pp.187–206, 2000. [FS98] A. Finkel, P. Schnoebelen: Fundamental Structures in Well-Structured Infinite Transition Systems, Proceedings of the 3rd Latin American Theoretical Informatics Symposium, Lecture Notes in Computer Science 1380, pp.102–118, 1998. ¨ [Gor73] P. Gordan: Uber die Aufl¨ osung linearer Gleichungen mit reellen Coefficienten, Mathematische Annalen 6, pp.23-28, Berlin, 1873. [Gra80] J. Grabowski: The Decidability of Persistence for Vector Additions Systems, Information Processing Letters 11(1), pp.20–23, 1980. [GY80] A. Ginzburg, M. Yoeli: Vector Addition Systems and Regular Languages, Journal of Computer and System Sciences 20, pp.277–284, 1980. [Hac74] M. Hack: Decision Problems for Petri Nets and Vector Addition Systems, Computation Structures Memo 95, Project MAC, MIT, 1974. [Hac75] M. Hack: Petri Net Languages, Computation Structures Group Memo 124, Project MAC, MIT, 1975. [Hac76] M. Hack: The Equality Problem for Vector Addition Systems is Undecidable, Theoretical Computer Science 2, pp.77-95, 1976. [Hac76b] M. Hack: Decidability Questions for Petri Nets, Ph.D. Thesis, M.I.T., 1976. ¨ [Hil90] D. Hilbert: Uber die Theorie der algebraischen Formen, Mathematische Annalen 36, pp. 473–534, Berlin, 1890. [Hir93] Y. Hirshfeld: Petri Nets and the Equivalence Problem, Proceeding of the International Conference for Computer Science Logic (CSL), Lecture Notes in Computer Science 832, pp.165–174, 1993. [HJ93] R. Howell, P. Janˇ car, L. Rosier: Completeness Results for Single-path Petri Nets, Information and Computation 106, pp.253–265, 1993. [HP79] J. Hopcroft, J. Pansiot: On the Reachability Problem for 5-dimensional Vector Addition Systems, Theoretical Computer Science 8, pp.135–159, 1979.
Literaturverzeichnis [HR86]
[HR87]
[HR88] [HR89] [HR91] [HR93] [HU79] [Jan95]
[JL77] [KM69] [Kel74] [Knu68] [Kos82] [KV00]
[Lam92] [Lau73] [Lip76] [LR76] [LS00]
[Mat70] [May80]
[May81] [May84]
233
R. Howell, L. Rosier, D. Hyunh, H. Yen: Some Complexity Bounds for Problems Concerning Finite and 2-dimensional Vector Addition Systems with States, Theoretical Computer Science 46, pp.107–140, 1986. R. Howell, L. Rosier, H. Yen: An O(n1.5 ) Algorithm to Decide Boundedness for Conflict-free Vector Replacement Systems, Information Processing Letters 25, pp.27–33, 1987. R. Howell, L. Rosier: Completeness Results for Conflict-free Vector Replacement Systems, Journal of Computer and System Sciences 37, pp.349–366, 1988. R. Howell, L. Rosier: Problems Concerning Fairness and Temporal Logic for Conflict-Free Petri Nets, Theoretical Computer Science 64, pp.305–329, 1989. R. Howell, L. Rosier, H. Yen: A Taxonomy of Fairness and Temporal Logic Problems for Petri Nets, Theoretical Computer Science 82, pp.341–372, 1991. R. Howell, L. Rosier, H. Yen: Normal and Sinkless Petri Nets, Journal of Computer and System Sciences 46, pp.1–26, 1993. J.E. Hopcroft, J.D. Ullman: Introduction to Automata Theory, Languages, and Computation, Addison-Wesley, Reading, 1979. P. Janˇ car: All Action-based Behavioural Equivalences are Undecidable for Labelled Petri Nets, Bulletin of the European Association for Theoretical Computer Science, Vol. 56, 1995. N. Jones, L. Landweber, Y. Lien: Complexity of Some Problems in Petri Nets, Theoretical Computer Science 4, pp.277–299, 1977. R.M. Karp, R.E. Miller: Parallel Program Schemata, Journal of Computer and System Sciences 3, pp.147–195, 1969. R.M. Keller: Vector Replacement Systems: A Formalism for Modeling Asynchronous Systems, Technical Report 117, Princeton University, 1974. D.E. Knuth: The Art of Computer Programming (I): Fundamental Algorithms, Addison-Wesley, Reading, 1968. S.R. Kosaraju: Decidability of reachability in vector addition systems, Proceedings of the 14th Annual ACM STOC, pp.267–281, 1982. L.M. Kristensen, A. Valmari: Improved Question-Guided Stubborn Set Methods for State Properties, Proceedings of the International Conference on Application and Theory of Petri Nets (ICATPN), Lecture Notes in Computer Science 1825, pp.282–302, 2000. J. Lambert: A structure to decide reachability in Petri nets, Theoretical Computer Science 99, pp. 79–104, 1992. K. Lautenbach: Exakte Bedingungen der Lebendigkeit f¨ ur eine Klasse von PetriNetzen, GMD, Bericht Nr. 82 (Dissertation), 1973. R.J. Lipton: The Reachability Problem Requires Exponential Space, Research Report 62, Yale University, 1976. L. Landweber, E. Robertson: Properties of Conflict-free and Persistent Petri Nets, Journal of the ACM 25(3), pp.352–364, 1976. I. Lomazova, P. Schnoebelen: Some Decidability Results for Nested Petri Nets, Perspectives of System Informatics, Lecture Notes in Computer Science 1755, pp.208–220, 2000. J.V. Matijasevic: Enumerable Sets are Diophantine, Soviet. Math. Dokl. 11:2, pp.354–357, 1970. E. Mayr: Ein Algorithmus f¨ ur das allgemeine Erreichbarkeitsproblem bei Petrinetzen und damit zusammenh¨ angende Probleme, Technischer Bericht der Technischen Universit¨ at M¨ unchen TUM-I8010 (Dissertation), Institut f¨ ur Informatik, 1980. E. Mayr: Persistence of Vector Replacement Systems is Decidable, Acta Informatica 15, pp.309–318, 1981. E. Mayr: An algorithm for the general Petri net reachability problem, SIAM Journal of Computing 13:3, pp.441–460, 1984.
234 [MM81]
Literaturverzeichnis
E. Mayr, A. Meyer: The Complexity of the Finite Containment Problem for Petri Nets, Journal of the ACM 28(3), pp.561–576, 1981. [Mue81] H. M¨ uller: On the Reachability Problem for Persistent Vector Replacement Systems, Computing Supplements 3, pp.89–104, 1981. [NSS01] M. Nielsen, V. Sassone, J. Srba: Towards a Notion of Distributed Time for Petri Nets, Proceedings of 22nd International Conference on Application and Theory of Petri Nets, ICATPN 2001, Lecture Notes in Computer Science 2075, pp.23– 31, 2001. [Oan02] O. Oanea: Decidability and Complexity of Petri Net Problems, Technical Report TR02-04, Universit¨ at Iasi, Rum¨ anien, ISSN 1224-9327, 2002. [Pet62] C.A. Petri: Kommunikation mit Automaten, Institut f¨ ur Instrumentelle Mathematik, Bonn, Schriften des IMM Nr.2 (Dissertation), 1962. [Pet73] J.L. Peterson: Modelling of Parallel Systems (PhD Thesis), Department of Electrical Engineering. Stanford University, Stanford, CA, USA, 1973. [Pet77] J.L. Peterson: Petri Nets, ACM Computing Surveys 9(3), pp.223–252, 1977. [Pet81] J.L. Peterson: Petri Net Theory and the Modelling of Systems, Prentice Hall, 1981. [PW03] L. Priese, H. Wimmel: Theoretische Informatik – Petri-Netze, Springer-Verlag, ISBN 3-540-44289-8, 376 Seiten, 2003. [Rac78] C. Rackoff: The Covering and Boundedness Problem for Vector Addition Systems, Theoretical Computer Science 6, pp.223–231, 1978. [Rei06] K. Reinhardt: Reachability in Petri Nets with Inhibitor arcs, Manuskript, http://www-fs.informatik.uni-tuebingen.de/˜reinhard/repe.pdf, 1995/2006. [ST77] G. Sacerdote, R. Tenney: The Decidability of the Reachability Problem for Vector Addition Systems, Proceedings of the ninth annual ACM Symposium on Theory of Computing, Boulder, Colorado, pp. 61–76, 1977. [Sch86] S. Schwer: On the Rationality of Petri Net Languages, Information Processing Letters 22, pp.145–146, 1986. [Sch92] S. Schwer: The Context-freeness of the Languages Associated with Vector Addition Systems is Decidable, Theoretical Computer Science 98, pp.199–247, 1992. [Sif78] J. Sifakis: Structural Properties of Petri Nets, Lecture Note in Computer Science 64, pp.474–483, 1978. [Tuc56] A. W. Tucker: Dual Systems of Homogenous Linear Relations, in: Linear Inequalities and Relared Systems (eds.: H.W. Kuhn, A.W. Tucker), pp. 3–18, Princeton University Press, 1956. [Val78] R. Valk: Self-Modifying Nets, a Natural Extension of Petri Nets, Proceedings of the Fifth Colloquium on Automata, Languages and Programming, Lecture Notes in Computer Science 62, pp.464–476, 1978. [VJ85] R. Valk, M. Jantzen: The Residue of Vector Sets with Applications to Decidability Problems in Petri Nets, Acta Informatica 21, pp.643–674, 1985. [VV81] R. Valk, G. Vidal-Naquet: Petri Nets and Regular Languages, Journal of Computer and System Sciences 23(3), pp.299–325, 1981. [Wim04] H. Wimmel: Infinity of Intermediate States is Decidable for Petri Nets, Proceedings of the International Conference on Application and Theory of Petri Nets (ICATPN), Lecture Notes in Computer Science 3099, pp.426–434, 2004. [Yen96] H. Yen: On Reachability Equivalence for BPP-Nets, Theoretical Computer Science 179, pp.301–317, 1997. [YW93] H. Yen, B. Wang, M. Yang: A Unified Approach for Reasoning about ConflictFree Petri Nets, Proceedings of the International Conference on Application and Theory of Petri Nets (ICATPN), Lecture Notes in Computer Science 691, pp.513–531, 1993.
Sachverzeichnis
#a (w), 15 #t (σ), 24 Σ, 7 t
− → , 23 ∅, 15 [t>, 23 ≤ω , 13 • Ra, 7 • a, 7 aR• , 7 a• , 7 s↓, 109 s↑, 109 w(i), 15 |w|, 15 abelsch, 9 AHP, siehe allgemeines Home State Problem aktiviert, 23 akzeptierbar, 16 allgemeines Home State Problem, 106, 112 allgemeines Reproduktionsproblem, 105, 108 Alphabet, 7 antisymmetrisch, 8 ¨ Aquivalenzproblem f¨ ur ε-freie G-Sprachen, 175 f¨ ur ε-freie L-Sprachen, 175 f¨ ur ε-freie Netze, 156 f¨ ur ε-freie P-Sprachen, 170 f¨ ur ε-freie T-Sprachen, 176 f¨ ur beschriftete Netze, 156 f¨ ur freie Netze, 156 f¨ ur freie Sprachen, 159 f¨ ur uneingeschr¨ ankte Sprachen, 176
f¨ ur unterschiedliche Sprachtypen, 178, 179 f¨ ur Zustandsmengen, 114, 125 ARP, siehe allgemeines Reproduktionsproblem Assoziativgesetz, 9 Assoziierte L¨ osung, 81 asymmetrisch, 8 Ausgangsgrad, 34 Automat endlicher, 17 azyklisch, 8 B, siehe backward-Matrix backward-Matrix, 21 balanciert, 34 berechenbarkeitsuniversell, 17 beschr¨ ankt, 30 Beschr¨ anktheitsproblem f¨ ur Dopplernetze, 212 f¨ ur Resetnetze, 208 f¨ ur Transfernetze, 211 Beschriftung, 34 Beschriftungsfunktion, 32 bipartit, 8 Bisimulation, 159 Bisimulationsproblem f¨ ur beschriftete Netze, 177 f¨ ur freie Petri Netze, 159 Blatt, 34 Buchstabe, 7 Charakteristische Gleichung, 79 Assoziierte L¨ osung, 81 Dimension, 79 L¨ osung, 79 Cov(N ), 40
235
236 Deadlockproblem, 99 Dekomposition, 89 Algorithmus, 89 von Keim-Transition-Folgen, 89 Dimension, 10 direkter Nachfolger, 8 direkter Vorg¨ anger, 8 disjunkt, 8 disjunkte Vereinigung, 8 Distributivgesetz, 9 Doppelfolge, 82 Dopplerkante, 199 Dopplernetz, 199 DP, siehe Deadlockproblem Dualit¨ atsprinzip, 60 ε, 15 E(N ), 24 EEP, siehe erweitertes Erreichbarkeitsproblem ε-frei, 32 EG(N ), 38 Einbettung kanonische, 12 einfacher, 89 einfaches Lebendigkeitsproblem, 127, 128 Eingangsgrad, 34 Einheitsvektor, 12 Einselement, 9 Einsvektor, 12 Element Eins, 9 inverses, 9 neutrales, 9 Null, 9 ELP, siehe einfaches Lebendigkeitsproblem enabled, 23 endlicher Automat, 17 endlicher Graph, 34 endliches Lebendigkeitsproblem, 127, 128 Endlichkeitsproblem f¨ ur ε-freie Netze, 138 f¨ ur beschriftete Netze, 138 f¨ ur Feuersequenzen zwischen Zust¨ anden, 140 f¨ ur freie Netze, 138 f¨ ur G-Sprachen, 139 f¨ ur L-Sprachen, 141 f¨ ur P-Sprachen, 139 f¨ ur T-Sprachen, 141 f¨ ur unendliche Feuersequenzen, 142 f¨ ur Zustandsmengen, 113, 116 f¨ ur Zwischenzust¨ ande, 113, 117 entscheidbar, 16
Sachverzeichnis Entscheidbarkeit der Regularit¨ at, 183 EP, siehe Erreichbarkeitsproblem EPE , siehe Endlichkeitsproblem ε-freier Netze EPF , siehe Endlichkeitsproblem freier Netze EPU , siehe Endlichkeitsproblem beschrifteter Netze Erreichbarkeitsgraph, 38 Erreichbarkeitsmenge, 24 Erreichbarkeitsproblem, 75 ¨ Uberdeckung, 99 Deadlock, 99 erweitertes, 101 in Dopplernetzen, 202 in Inhibitornetzen, 200 in linearen Mengen, 97 in Resetnetzen, 202 in semi-linearen Mengen, 98 in Transfernetzen, 202 Kopplung, 103 partielles, 99 Reproduktion, 105 erweitertes Erreichbarkeitsproblem, 101 EUFP, 142 Euler-Kreis, 34 F, siehe forward-Matrix F, siehe Keim-Transition-Folge F-Doppelfolge, 82 feuerbar, 23 feuern, 23 Feuersequenz, 24 u ¨berdeckend, 50, 82 forward-Matrix, 21 frei, 32 freie Version, 32 Gesamtlebendigkeitsproblem, 128, 131 Gewicht, 34 Gleichheitsproblem f¨ ur ε-freie G-Sprachen, 175 f¨ ur ε-freie L-Sprachen, 175 f¨ ur ε-freie Netze, 156 f¨ ur ε-freie P-Sprachen, 170 f¨ ur ε-freie T-Sprachen, 176 f¨ ur beschriftete Netze, 156 f¨ ur freie Netze, 156 f¨ ur freie Sprachen, 159 f¨ ur uneingeschr¨ ankte Sprachen, 176 f¨ ur unterschiedliche Sprachtypen, 178, 179 f¨ ur Zustandsmengen, 114, 125
Sachverzeichnis GLP, siehe Gesamtlebendigkeitsproblem Gordan, 64 GPE , siehe Gleichheitsproblem ε-freier Netze GPF , siehe Gleichheitsproblem freier Netze GPU , siehe Gleichheitsproblem beschrifteter Netze Gr¨ oße, 10 Grad, 10 Graph, 34 balancierter, 34 endlicher, 34 initialer, 34 knotengewichteter, 34 lokal determinierter, 34 schwacher, 120 ungewichteter, 34 Gruppe, 9
237 IPU , siehe Inklusionsproblem beschrifteter Netze irreflexiv, 8 isoliert, 22, 34
H(σ), siehe H¨ urde H¨ urde, 24, 25 Halbgruppe, 9 Halbordnung, 8 Halteproblem, 19 Hilberts zehntes Problem, 119 Home Space Problem, 113, 114 Home State Problem, 105, 112 Homomorphismus, 16 HP, siehe Home State Problem
K¨ onigs Lemma, 36 K¨ orper, 9 k-beschr¨ ankt, 30 kanonische Einbettung, 12 Kante, 34 Kantenfunktion, 21 Keim, 51 einfacher, 89 Keim-Transition-Folge, 55, 77 Charakteristische Gleichung, 79 einfacher, 89 L¨ osung, 55 perfekt, 82 Weg, 55 Keim-Transition-Problem, 76 Kleene-Stern, 8 Knoten, 34 knotengewichteter Graph, 34 Koeffizient, 10 Kommutativgesetz, 9 Komponente, 12 kontextfrei, 193 kontextfreie Sprache, 193 Koordinate, 12 Kreis, 34
Identit¨ at, 8 Infix, 15 Inhibitorkante, 199 Inhibitornetz, 199 initialer Graph, 34 initialer Zustand, 22 Inklusionsproblem f¨ ur ε-freie Netze, 156, 177 f¨ ur beschriftete Netze, 156, 177 f¨ ur freie G-Sprachen, 159 f¨ ur freie L-Sprachen, 163, 167 f¨ ur freie Netze, 156 f¨ ur freie P-Sprachen, 157 f¨ ur freie T-Sprachen, 169 f¨ ur unterschiedliche Sprachtypen, 178, 179 f¨ ur Zustandsmengen, 114, 124 partielles, 114, 121, 123 Invariante, 28 Inverses Element, 9 IPE , siehe Inklusionsproblem ε-freier Netze IPF , siehe Inklusionsproblem freier Netze
L(M), siehe Registermaschine Lambert, 84 lebendig, 30 einfach, 30 endlich, 30 schwach, 30 stark, 30 Lebendigkeitsproblem, 127, 130 einfach, 127, 128 endlich, 127, 128 gesamt, 128, 131 schwach, 127, 129 stark, 127, 130 strukturell, 128, 131 leeres Wort, 15 Leerheitsproblem f¨ ur ε-freie Netze, 136, 137 f¨ ur beschriftete Netze, 136, 137 f¨ ur freie Netze, 136, 137 f¨ ur G-Sprachen, 137 f¨ ur L-Sprachen, 137 f¨ ur P-Sprachen, 137 f¨ ur T-Sprachen, 138
238 lineare Menge, 12 lineares Gleichungssystem, 57 L¨ osung, 59 Support, 58 Support-L¨ osung, 59 lokal determiniert, 34 LP, siehe starkes Lebendigkeitsproblem LPE , siehe Leerheitsproblem ε-freier Netze LPF , siehe Leerheitsproblem freier Netze LPU , siehe Leerheitsproblem beschrifteter Netze Markierung, 22 Markierungsmengenproblem endliche Zwischenzust¨ ande, 113, 117 Endlichkeit, 113, 116 Gleichheit, 114, 125 Home Space, 113, 114 Inklusion, 114, 124 partielle Inklusion, 114, 121, 123 Totalit¨ at, 113, 118 Matijaseviˇ c, 119 Matrix, 11 Addition, 11 Dimension einer, 11 Einheitsmatrix, 11 inverse, 11 Multiplikation, 11 Nullmatrix, 11 Spalte, 11 transponierte, 11 Umformungs-, 68 Zeile, 11 max, 48, 82 Maximum, 8 ¨ im Uberdeckungsgraphen, 48, 82 Menge lineare, 12 Minimum, 8 Modul, 10 Monoid, 9 N, 7 Nachbereich, 21 Nachfolger, 7, 34 direkter, 8, 34 Nachfolgerfunktion, 7 Name, 34 nat¨ urliche Zahl, 7 Neutrales Element, 9 N f , siehe freie Version eines Netzes NLP, siehe endliches Lebendigkeitsproblem NP , 12 N rev , 27
Sachverzeichnis Nullelement, 9 Nullvektor, 12 Ordnung, 8 partielle, 8 totale, 8 P (w), siehe Parikh-Bild pAHP, siehe partielles allgemeines Home State Problem Parikh-Bild, 15 partielles allgemeines Home State Problem, 106 partielles Erreichbarkeitsproblem, 99 partielles Home State Problem, 106, 111 partielles Inklusionsproblem f¨ ur Zustandsmengen, 114, 121, 123 pEP, siehe partielles Erreichbarkeitsproblem perfekt, 82 Persistenzproblem, 99 Petri Netz, 21, 22 k-beschr¨ anktes, 30 Beispiel, 22 beschr¨ anktes, 30 Beschriftungsfunktion, 32 Darstellung, 21 ε-frei, 32 frei, 32 freie Version, 32 initiales, 22 reverses, 27 sicheres, 30 Sprache, 32 Sprachtyp G, 32 Sprachtyp L, 32 Sprachtyp P, 32 Sprachtyp T, 32 pHP, siehe partielles Home State Problem PN, 21 Polynom, 10, 119 Dimension eines, 10 Gr¨ oße eines, 10 Grad eines, 10 Koeffizient eines, 10 Polynomring u ¨ber Z, 10 PP, siehe Persistenzproblem Pr¨ afix, 15 pr¨ afix-abgeschlossen, 16 Pre¨ uberdeckungsgraph, 51 Projektion, 12, 52 Pumping-Lemma, 18, 84 f¨ ur regul¨ are Sprachen, 18 von Lambert, 84
Sachverzeichnis pZIP, siehe partielles Inklusionsproblem Q, 7 R, 7 Reachabilitymenge, 24 realisierbar, 29 Reduktion, 20 polynomiell, 20 reflexiv, 8 Registermaschine, 18 Konfiguration, 19 Sprache der Rechnungen L(M), 146 regul¨ ar, 17 regul¨ are Sprache, 17, 181 Regularit¨ atsproblem f¨ ur beschr¨ ankte Netze, 192 f¨ ur beschriftete Netze, 192 f¨ ur freie G-Sprachen, 185 f¨ ur freie L-Sprachen, 187 f¨ ur freie P-Sprachen, 183 f¨ ur freie T-Sprachen, 190 rekursiv aufz¨ ahlbar, 16 Relation, 7 antisymmetrische, 8 asymmetrische, 8 azyklische, 8 bipartite, 8 irreflexive, 8 reflexive, 8 symmetrische, 8 transitive, 8 Reproduktionsproblem, 105 allgemeines, 105, 108 Home Space, 113, 114 Home State, 105, 106, 112 partieller Home State, 106, 111 spezielles, 105, 107 zustandsfreies, 105, 106 Resetkante, 199 Resetnetz, 199 reverses Netz, 27 Ring, 9 S-Invariante, 28 SA,b , 58, 66 Satz von Gordan, 64 Satz von Matijaseviˇ c, 119 schaltbar, 23 Schlinge, 22 schwacher Graph, 120 eines Petri Netzes, 121 schwaches Lebendigkeitsproblem, 127, 129 sicher, 30
239 Skalarmultiplikation, 10 0 SkP , 111 0 SsP , 111 SLP, siehe schwaches Lebendigkeitsproblem Sohn, 34 Spaltenvektor, 11 Spezialkante, 199 spezielles Reproduktionsproblem, 105, 107 Sprache, 15, 32 einer Registermaschine, 146 leere, 15 Sprachproblem Endlichkeit, 138 Gleichheit, 156 Inklusion, 156 leere Sprache, 136 Mitgliedschaft, 133, 134 Totalit¨ at, 144 Sprachtyp, 32 G, 32 L, 32 P, 32 T, 32 SRP, siehe spezielles Reproduktionsproblem stark zusammenh¨ angend, 35 starke Zusammenhangskomponente, 35 starkes Lebendigkeitsproblem, 127, 130 Startknoten, 34 Startzustand, 22 Stelleninvariante, 28 STLP, siehe strukturelles Lebendigkeitsproblem streng zusammenh¨ angend, 35 strenge Zusammenhangskomponente, 35 strukturelles Lebendigkeitsproblem, 128, 131 Suffix, 15 supp , 58, 82 Support, 58, 82 Support-L¨ osung, 59, 65 Symbol, 7 symmetrisch, 8 SZK(G, v), 35 T,
siehe Transposition T-Invariante, 28 Token, 22 tot, 30 Totalit¨ atsproblem bei beschr¨ ankten Netzen, 155 bei einer unbeschr¨ ankten Stelle, 153 f¨ ur ε-freie Netze, 144
240
Sachverzeichnis
f¨ ur beschriftete Netze, 144 f¨ ur freie G-Sprachen, 144 f¨ ur freie L-Sprachen, 145 f¨ ur freie Netze, 144 f¨ ur freie P-Sprachen, 144 f¨ ur freie T-Sprachen, 145 f¨ ur Zustandsmengen, 113, 118 TPE , siehe Totalit¨ atsproblem ε-freier Netze TPF , siehe Totalit¨ atsproblem freier Netze TPU , siehe Totalit¨ atsproblem beschrifteter Netze Transferkante, 199 Transfernetz, 199 Transitionsinvariante, 28 Transitionssystem, 35 transitiv, 8 Transitiver Abschluss, 8 Transposition, 11
Vorg¨ angerfunktion, 7
u ¨berdeckende Feuersequenz, 50 ¨ Uberdeckungsgraph, 40 Endlichkeit, 42 gesteuerter, 40 Maximum, 48 ungesteuerter, 40 ¨ Uberdeckungsproblem, 99 in Dopplernetzen, 206 in Resetnetzen, 206 in Transfernetzen, 206 UFZP, 140 Umformungsmatrix, 68 ungewichteter Graph, 34 ¨ siehe Uberdeckungsproblem ¨ UP,
Z, 7 Zeilenvektor, 11 ZEP, siehe Endlichkeitsproblem ZFRP, siehe zustandsfreies Reproduktionsproblem ZGP, siehe Gleichheitsproblem ZHP, siehe Home Space Problem ZIP, siehe Inklusionsproblem ZTP, siehe Totalit¨ atsproblem Zusammenhangskomponente starke, 35 strenge, 35 Zustand, 22 minimaler, 109 verallgemeinerter, 37 zustandsfreies Reproduktionsproblem, 105, 106 Zustandskegel, 109 Zustandsmengenproblem endliche Zwischenzust¨ ande, 113, 117 Endlichkeit, 113, 116 Gleichheit, 114, 125 Home Space, 113, 114 Inklusion, 114, 124 partielle Inklusion, 114, 121, 123 Totalit¨ at, 113, 118 Zustandsraum, 22 ZZEP, siehe Endlichkeitsproblem
Vektor Eins-, 12 Null-, 12 spezifizierter, 13 unvergleichbar, 13 Vektorraum, 10 verallgemeinerter Zustand, 37 Vereinigung disjunkte, 8 Vorbereich, 21 Vorfahr, 34 Vorg¨ anger, 7, 34 direkter, 8, 34
W (σ), siehe Wechsel ω, 13 Wechsel, 24, 25 Weg, 34 einfacher, 34 unendlicher, 34 Wort, 15 leeres, 15 Wortproblem, 16 f¨ ur ε-freie Netze, 133, 134 f¨ ur beschriftete Netze, 134 f¨ ur freie Netze, 133, 134 WPE , siehe Wortproblem ε-freier Netze WPF , siehe Wortproblem freier Netze WPU , siehe Wortproblem beschrifteter Netze