229 65 4MB
German Pages [470] Year 2006
Ereignisdiskrete Systeme Modellierung und Steuerung verteilter Systeme von Uwe Kiencke 2., überarbeitete und erweiterte Auflage
Oldenbourg Verlag München Wien
Prof. Dr.-Ing. Uwe Kiencke Institut für Industrielle Informationstechnik (IIIT) Universität Fridericiana zu Karlsruhe (TH) Hertzstraße 16 D 76187 Karlsruhe Internet:http://www.iiit.uni-karlsruhe.de/ E-Mail: [email protected] 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 Markenzeichen-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Sollte in diesem Werk direkt oder indirekt auf Gesetze, Vorschriften oder Richtlinien (z.B. DIN, VDI, VDE) Bezug genommen werden oder aus ihnen zitiert worden sein, so kann keine Gewähr für Richtigkeit, Vollständigkeit oder Aktualität übernommen werden. Es empfiehlt sich, gegebenenfalls für die einzelnen Arbeiten die vollständigen Vorschriften oder Richtlinien in der jeweils gültigen Fassung hinzuzuziehen.
Bibliografische Information Der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über abrufbar. © 2006 Oldenbourg Wissenschaftsverlag GmbH Rosenheimer Straße 145, D-81671 München Telefon: (089) 45051-0 www.oldenbourg-wissenschaftsverlag.de Das Werk einschließlich aller Abbildungen ist urheberrechtlich geschützt. Jede Verwertung außerhalb der Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlages unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Bearbeitung in elektronischen Systemen. Lektorat: Kathrin Mönch Herstellung: Anna Grosser Umschlagkonzeption: Kraxenberger Kommunikationshaus, München Gedruckt auf säure- und chlorfreiem Papier Druck: Grafik und Druck, München Bindung: R. Oldenbourg Graphische Betriebe Binderei GmbH ISBN 3-486-58011-6 ISBN 978-3-486-58011-2
Inhaltsverzeichnis 1
Verteilte ereignisdiskrete Systeme
1
1.1
Verteilte Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2
Ereignisdiskrete Systeme (DES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.3 1.3.1 1.3.2 1.3.3 1.3.4
Verteilte Steuerungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Hierarchische Steuerungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Verteilte kooperative Steuerungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Hybride Systembeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Echtzeit und Lokalit¨ at . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2
System-Modellierung
2.1
Modell-Klassifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2
Modellierung verteilter Systeme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3 2.3.1 2.3.2
Modellierung ereignisdiskreter Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Zustandsmodelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Automaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3
Graphentheorie
3.1
Grundlegende Begriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2
Graphen und Digraphen als Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3
B¨ aume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.4
Baumalgorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4
Markov-Theorie
39
4.1 4.1.1 4.1.2 4.1.3 4.1.4 4.1.5
Stochastische Zustandsmodelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Stochastische Prozesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verweilzeit in einem Zustand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ¨ Ubergangsrate aus einem Zustand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Markov-Folge. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kausale Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39 39 42 47 50 52
4.2 4.2.1 4.2.2
Zeitdiskrete Markov-Ketten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Markov-Eigenschaft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Zeitdiskrete Zustands¨ uberg¨ ange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
13
25
VI
Inhaltsverzeichnis
4.2.3 4.2.4 4.2.5 4.2.6 4.2.7
Homogene zeitdiskrete Markov-Ketten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Station¨ are Wahrscheinlichkeitsverteilung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zustandsverteilung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zeitdiskrete Verweildauer in einem Zustand . . . . . . . . . . . . . . . . . . . . . . . . . . . . Einteilung der Systemzust¨ ande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57 59 61 72 75
4.3 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6
77 77 78 80 85 86
4.3.7 4.3.8 4.3.9
Zeitkontinuierliche Markov-Ketten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Markov-Eigenschaft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wahrscheinlichkeitsdichte der Verweilzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ¨ Ubergangsraten ....................................................... ¨ Zusammenhang zwischen Ubergangsrate und Verweilzeit . . . . . . . . . . . . . . . Homogene zeitkontinuierliche Markov-Ketten . . . . . . . . . . . . . . . . . . . . . . . . . . Zustandsverteilung homogener zeitkontinuierlicher Markov-Ketten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Flussbalance zeitkontinuierlicher homogener Markov-Ketten . . . . . . . . . . . . Birth-Death-Prozess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Poisson-Prozess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
87 96 97 100
4.4 4.4.1 4.4.2 4.4.3 4.4.4
Ereignisprozesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ereignisrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Poisson-Ereignisprozess .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lebensdauer zuf¨ allig angetroffener Ereignisintervalle . . . . . . . . . . . . . . . . . . . Bestimmung der Ereignisrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
104 104 107 108 112
4.5 4.5.1 4.5.2 4.5.3 4.5.4
Semi-Markov-Prozesse .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Eingebettete Markov-Ketten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verallgemeinerte Semi-Markov-Prozesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lebensdauer-Verteilung u ¨ berlagerter Poisson-Ereignisprozesse . . . . . . . . . . Zustands¨ ubergang mit einem bestimmten Ereignisprozess . . . . . . . . . . . . . .
116 116 118 119 120
5
Warteschlangensysteme
123
5.1 5.1.1 5.1.2 5.1.3
Ereignisprozesse und Kundenzahl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Grundlegende Begriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Das Gesetz von Little . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kundenzahl im Warteschlangensystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
123 123 125 127
5.2 5.2.1 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6
Poissonverteilte Kundenfl¨ usse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . M/M/1-Warteschlangensystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . M/M/m-Warteschlangensystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . M/Er /1-Warteschlangensystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . M/Hr /1-Warteschlangensystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ann¨ aherung einer beliebigen Verteilung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . M/M/1-Warteschlangensystem mit R¨ uckkopplung. . . . . . . . . . . . . . . . . . . . . .
128 128 134 136 139 140 142
5.3 5.3.1 5.3.2 5.3.3
Warteschlangensysteme mit allg. Verteilungen . . . . . . . . . . . . . . . . . . . . . . . . . . Modellierung als eingebettete Markov-Kette . . . . . . . . . . . . . . . . . . . . . . . . . . . M/G/1-Warteschlangensysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G/M/1-Warteschlangensysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
149 149 151 162
Inhaltsverzeichnis 5.4 5.4.1 5.4.2 5.4.3 5.4.4 5.4.5
Warteschlangen-Netzwerke. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wahrscheinlichkeitsdichte der Verlassensintervalle eines M/M/1-Warteschlangensystems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vereinigung und Verzweigung schleifenfreier Kundenfl¨ usse . . . . . . . . . . . . . . ¨ Ubergangsraten in schleifenfreien M/M/1-Warteschlangennetzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ¨ Ubergangsraten in schleifenbehafteten G/M/1-Warteschlangennetzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Station¨ are Zustandsverteilung schleifenbehafteter G/M/1-Warteschlangennetze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
VII 173 174 177 180 181 185
6
Max-Plus-Algebra
191
6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5
Max-Plus-algebraische Struktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Max-Plus-Algebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Min-Plus-Algebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bin¨ are Max-Plus-Algebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Max-Plus-Matrix-Dioide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Erweiterte Matrix-Dioide ([CG79]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
191 192 194 196 197 203
6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.2.6 6.2.7
Ordnungen und Vollst¨ andigkeit in Dioiden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Algebraische Struktur eines Dioiden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Die kommutativen Dioide IRmax , IRmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Der Dioid Sig(D), ereignisdiskrete Signale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Der Dioid B[[q, ϑ]], Punktewolken ereignisdiskreter Signale . . . . . . . . . . . . . Der Matrix-Dioid Dn×n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Begriffe aus der Ordnungstheorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Geordnete Dioide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
204 205 207 207 208 210 211 214
6.3 6.3.1 6.3.2 6.3.3 6.3.4
Gleichungsl¨ osung in Dioiden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Residuierbare Abbildungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Duale Residuierung der Addition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Residuierung der Multiplikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Residuierung f¨ ur Matrizen-Gleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
217 218 221 223 224
6.4 6.4.1 6.4.2
Der Stern-Operator in Dioiden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 Gleichungsl¨ osung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 Rekursive Berechnung f¨ ur Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.5.5 6.5.6
Max-Plus-Beschreibung von Digraphen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Matrix der maximalen Kantengewichte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ben¨ otigte Ungleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lineares Gleichungssystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Erweitertes lineares Gleichungssystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Iterative Systemgleichung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pfade minimalen Summenkantengewichts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.6 6.6.1 6.6.2
Eigenwerte der Adjazenz-Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Maximales mittleres Summenschleifengewicht . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Eigenvektoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
234 235 238 240 241 242 248
VIII
Inhaltsverzeichnis
6.6.3 6.6.4
Berechnung des Eigenwertes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 Rekursive Bestimmung des Eigenwertes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.7.5
Spektraler Projektor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Definition und Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Linearkombination von spektralen Projektoren . . . . . . . . . . . . . . . . . . . . . . . . . Zyklizit¨ at von Graphen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Konvergenz der Potenz normierter Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . Iterative Systemgleichung bei Zyklizit¨at γ = 1 . . . . . . . . . . . . . . . . . . . . . . . . .
268 268 270 273 279 289
7
Petrinetze
295
7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5
Zeitdiskrete Petrinetze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Definitionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Netzinvarianten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Eigenschaften von Petrinetzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Konkurrenzen und Konflikte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Spezielle Petri-Netz-Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
296 296 303 307 310 312
7.2 7.2.1 7.2.2 7.2.3 7.2.4
Zeitkontinuierliche Petrinetze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zeitbewertung von Pl¨ atzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verz¨ ogerte Transitionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Petrinetze mit stochastischen Zeitverz¨ogerungen . . . . . . . . . . . . . . . . . . . . . . . Petrinetze mit deterministischen Zeitverz¨ogerungen . . . . . . . . . . . . . . . . . . . .
314 314 316 322 326
7.3 7.3.1 7.3.2 7.3.3
Gef¨ arbte Petrinetze (coloured PN, CPN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aktivierungs- und Schaltregeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Konflikte in gef¨ arbten Petrinetzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Identische Funktion und Entf¨ arbungsfunktion . . . . . . . . . . . . . . . . . . . . . . . . . .
332 333 336 338
7.4 7.4.1 7.4.2 7.4.3 7.4.4
Hierarchische Petrinetze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hierarchische Struktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verfeinerung einer Transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verfeinerung eines Platzes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zeitbewertung in der hierarchischen Struktur . . . . . . . . . . . . . . . . . . . . . . . . . .
340 340 341 342 343
7.5 7.5.1 7.5.2 7.5.3 7.5.4
Petrinetz-Steuerungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Synchronisierte Petrinetze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Petrinetz-Regler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Belegungsentscheidung nach der aktuellen Anforderung . . . . . . . . . . . . . . . . Pr¨ adiktive Belegungsentscheidung nach minimaler Planverschiebung . . . .
346 346 349 350 352
7.6 7.6.1 7.6.2
Anwendungsbeispiel Verkehrsregelung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 Hierarchisches Petrinetzmodell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 Petrinetz-Steuerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
8
Zeit in verteilten Systemen
8.1 8.1.1 8.1.2
Vektorzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 Raum-Zeit-Diagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 Kausalit¨ at in verteilten Systemen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
361
Inhaltsverzeichnis
IX
8.1.3 8.1.4 8.1.5 8.1.6 8.1.7
Logische Zeit in verteilten Systemen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vektorzeit in verteilten Systemen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Konsistenz der Vektorzeit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hasse-Diagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ausschluss von Vektorzeiten und Pfaden im Hasse-Diagramm . . . . . . . . . .
369 372 375 377 381
8.2 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6
Abbildung kausaler Auftragsstrukturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Einf¨ uhrung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Abbildung von Auftragsstrukturen in Digraphen . . . . . . . . . . . . . . . . . . . . . . . Vereinfachung der graphischen Auftragsstruktur . . . . . . . . . . . . . . . . . . . . . . . Umsetzung der graphischen Auftragsstruktur in Vektorzeiten . . . . . . . . . . . Hierarchische, auf mehrere Objekte erweiterte Auftragsstruktur . . . . . . . . Auftragsbearbeitung mit Max-Plus-Dioiden . . . . . . . . . . . . . . . . . . . . . . . . . . . .
385 386 387 389 392 396 400
9
Anwendungen
403
9.1 9.1.1 9.1.2 9.1.3
Flussberechnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mittlere Verz¨ ogerungen in Nachrichtennetzen . . . . . . . . . . . . . . . . . . . . . . . . . . Maximaler Fluss durch ein Netz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Algorithmus von Ford und Fulkerson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
403 403 407 412
9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5
Analyse von Echtzeitsystemen mit Max-Plus-Dioiden . . . . . . . . . . . . . . . . . . Systemaufteilung in Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Berechnung der Abarbeitungsreihenfolge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Task-Ketten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Algebraische Repr¨ asentation mit Max-Plus-Dioiden . . . . . . . . . . . . . . . . . . . . Echtzeitanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
421 421 422 425 427 429
9.3 9.3.1 9.3.2 9.3.3 9.3.4
Fehlerkompensation in verteilten Systemen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Systemdarstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Eliminierung defekter Knoten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Funktionsverlagerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Funktionssubstitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
436 437 441 442 444
10
Anhang
449
Literaturverzeichnis
451
Stichwortverzeichnis
455
Vorwort Dieses Lehrbuch wendet sich an Studierende der Ingenieurwissenschaften, die bereits mit den Grundlagen der Wahrscheinlichkeitsrechnung, den g¨angigen Integraltransformationen und der klassischen Systemdynamik vertraut sind. Man mag sich die Frage stellen, welche Bedeutung das Gebiet der ereignisdiskreten Systeme f¨ ur diesen Leserkreis hat. Bereits seit 50 Jahren wenden die Wirtschaftswissenschaftler ereignisdiskrete Systemmodelle zur Beschreibung organisatorischer und logistischer Abl¨aufe im Rahmen des Operations Research an. Die Informatiker wenden die gleiche Theorie erfolgreich auf die Analyse von Mehrrechnersystemen, Betriebssystemen und Datennetzen an. Mit der Entwicklung hin zu industriellen Steuerungen sind ereignisdiskrete Systeme heute f¨ ur Ingenieure ein wichtiges Werkzeug zur analytischen Beschreibung von Automatisierungssystemen. Bei der Planung, dem Entwurf und der Realisierung von industriellen Steuerungen ist ein Umdenken erforderlich. Anstelle einer einzelnen, abgegrenzten Automatisierungsaufgabe steht heute das Zusammenwirken vieler gegenseitig abh¨angiger, ¨ortlich verteilter Steuerungen im Vordergrund. Die Anwendungsgebiete daf¨ ur sind breit gestreut, wie • verkoppelte Fertigungsprozesse mit minimaler Durchlaufzeit und Lagerhaltung • redundante, sicherheitsrelevante Systeme, • Verkehrsleitsysteme f¨ ur Straßenfahrzeuge, Bahnen, Flugzeuge und Schiffe, • Echtzeitsteuerungen mit Regelfunktionen, die u ¨ ber viele Netzknoten verteilt sind. Solche komplexen Systeme werden h¨ aufig im Zusammenwirken mehrerer Firmen oder Bereiche entwickelt, so dass neben rein technischen Problemen organisatorische Randbedingungen eingehalten werden m¨ ussen. Dies erfordert neue Werkzeuge und Beschreibungsmethoden. Die Automatisierungstechnik und die Informationstechnik wachsen dabei zu einer einzigen Disziplin zusammen. Die klassische Regelungstechnik baut auf einer einheitlichen Systemtheorie auf. Im Gegensatz dazu verwendet man bei ereignisdiskreten Systemen vielf¨altige Beschreibungsm¨ oglichkeiten wie Warteschlangensysteme, Petrinetze oder Automaten. Die Theorie der Markov-Ketten stellt ein bereits klassisches Grundger¨ ust f¨ ur stochastische Zustandsmodelle dar, mit denen Warteschlangensysteme oder zeitbewertete stochastische Petrinetze beschrieben werden. Mit der Max-Plus-Algebra lassen sich Vorg¨ange beschreiben, die in minimalen oder maximalen Zeiten ablaufen m¨ ussen. Hier wurde in der zweiten Auflage eine theoretische Basis f¨ ur Max-Plus-Dioide sowie f¨ ur die Gleichungsl¨osung erg¨anzt. Zur Behandlung verteilter Systeme wurde ein neues Kapitel Zeit in verteilten Systemen“ ” eingef¨ uhrt. Hier wird untersucht, wie man trotz des Fehlens einer globalen Zeitbasis die
XII
Vorwort
Konsistenz verteilt ablaufender Vorg¨ ange sicherstellen kann. Zum Schluss des Buches findet der Leser einige Anwendungen. Der Stoffumfang kann nicht vollst¨andig sein, da sich das Gebiet der ereignisdiskreten Systeme erst am Anfang einer st¨ urmischen Entwicklung befindet. Alle wesentlichen Ableitungen sind unmittelbar im Text aufgef¨ uhrt. Das verl¨angert zwar die entsprechenden Abschnitte, ist aber unerl¨asslich f¨ ur ein wirkliches Verst¨andnis. Bei Vorhandensein des oben aufgef¨ uhrten Vorwissens soll der Leser damit in die Lage versetzt werden, sich den Stoff selbst anzueignen, und sich die weiterf¨ uhrende Literatur zu erschließen. Diesem Zweck dient auch eine Anpassung der Formelzeichen an die in den Ingenieurwissenschaften u ur Zeiten werden z.B. durchgehend die ¨ bliche Schreibweise. F¨ Zeichen t und τ verwendet, wobei t globale und τ lokale Zeiten bezeichnet, wie dies in der Zeit-Frequenzanalyse zeitvarianter Systeme bereits seit langem u ¨ blich ist. Anstelle der in der Statistik verwendeten erzeugenden Funktion wird hier mit der ansonsten u ¨ blichen z-Transformation gearbeitet. Eine vergleichende Tabelle ist im Anhang beigef¨ ugt. Abschließend m¨ ochte ich meinen Mitarbeitern danken, deren großes Engagement wesentlich zum Gelingen dieses Buches beigetragen hat, insbesondere Herrn Dr.-Ing. Wei Sun, Dr.-Ing. Peter Bort, Dr.-Ing. Carsten Thierer, Dr.-Ing. Holger J¨akel, Dr.-Ing. Thomas Rambow und Dipl.-Ing. Stephan Brummund. Außerdem m¨ochte ich an dieser Stelle meiner Frau Margarete danken. Obwohl ich in den letzten zwei Jahren all unseren Urlaub und nahezu alle Wochenenden den Ausarbeitungen geopfert habe, hat sie mich doch ermutigt, dieses Buch fertigzustellen. Ich hoffe, dass es den Leser erfolgreich in die Grundlagen der ereignisdiskreten Systeme einf¨ uhrt. Uwe Kiencke
Karlsruhe
1
Verteilte ereignisdiskrete Systeme
1.1
Verteilte Systeme
Komplexe Systeme k¨ onnen aus einer großen Zahl von verteilten Prozessen bestehen, welche u ¨ ber ein Netz miteinander verbunden sind. Im Gegensatz zu zentralen Systemen wird hier von verteilten Systemen gesprochen. Nach [LS94] wird ein verteiltes System wie folgt definiert: Ein verteiltes System besteht aus mehreren Prozessen, die mittels Nachrichten miteinander kommunizieren. Diese intuitive Beschreibung kann verfeinert werden, indem man an Hand der Hauptkomponenten eines Rechnersystems die Bedeutung der Verteilung untersucht. Die Hauptkomponenten, die ein komplettes System bilden, sind die 3 Dimensionen Hardware, Steuerung und Daten.
Bild 1.1: Enslows Einteilung verteilter Rechner-Systeme
Die Einteilung von Enslow [Ens78] in (Bild 1.1) verlangt, dass alle drei Dimensionen einen bestimmten Grad an Dezentralisation aufweisen, damit das System als verteilt klassifiziert werden kann, d.h. Verteiltes System = verteilte Hardware + verteilte Daten.
2
1 Verteilte ereignisdiskrete Systeme i. Verteilte Hardware Ein verteiltes System muss zwei oder mehr Rechner enthalten, jeder mit seinem eigenen lokalen Speicher und Prozessoren. Damit der Informationsaustausch zwischen den Rechnern m¨ oglich ist, m¨ ussen diese durch Kommunikationsnetze verbunden werden. ii. Verteilte Steuerung Die Steuerung wird in verschiedenen lokalen Bereichen parallel durchgef¨ uhrt. Daher muss irgendeine Art von Steuerung vorhanden sein, die nebenl¨aufige Prozesse koordiniert. iii. Verteilte Daten Die zu verarbeitenden Daten sind an verschiedenen Orten verteilt. Damit wird gegebenenfalls die Toleranz gegen¨ uber Ausf¨allen erh¨oht.
Die Vorteile verteilter Systeme liegen auf der Hand. Umfangreiche Aufgaben k¨onnen auf mehrere Rechner verteilt werden. Weniger komplexe Teilsysteme haben ein g¨ unstigeres Preis/Leistungsverh¨ altnis als zentrale Großrechner. Gegen¨ uber einem voll isolierten zentralisierten System bietet das verteilte System den Vorteil gemeinsam zu nutzender Daten, gemeinsamer Peripherie sowie die Kommunikationsm¨oglichkeit der Benutzer untereinander. Weitere Pluspunkte sind die einfache Erweiterbarkeit und die M¨oglichkeit einer fehlertoleranten Auslegung. Die Prozessverwaltung in einem verteilten System ist allerdings wesentlich komplexer als in einem klassischen zentralen System, da die Prozesse auf die verschiedenen Prozessoren verteilt sind. Auch die verteilte Datenhaltung ist problematisch, da die Konsistenz der Daten nur schwer zu gew¨ahrleisten ist. Ein Beispiel f¨ ur ein verteiltes System ist das Internet. In verteilten Systemen sind folgende drei Themen von Bedeutung: 1. Zusammenwirken der einzelnen Systeme, z.B. Konflikte und Verklemmungen (Deadlock) 2. Leistungsverhalten, z.B. Bearbeitungszeiten 3. Verhalten im Fehlerfall Verteilte Systeme unterscheiden sich von vollst¨andig eigenst¨andigen lokalen Teilsystemen dadurch, dass sie u ¨ ber Kommunikationskan¨ale zusammenwirken. Das Leistungsverhalten l¨ asst sich bei verteilten Systemen aufgrund der Parallelit¨at und gegenseitiger Abh¨ angigkeiten schwieriger als in zentralen Systemen absch¨atzen. Die effiziente Zuordnung von Steueraufgaben zu jedem Knoten einer verteilten Steuerung beeinflusst das Leistungsverhalten erheblich. Die Verteiltheit und die Parallelit¨at f¨ uhren u ¨ berdies ein Sicherheitsrisiko durch evtl. Konflikte oder Verklemmungen ein.
1.2 Ereignisdiskrete Systeme (DES)
1.2
3
Ereignisdiskrete Systeme (DES)
Ereignisdiskrete Systeme ¨ andern ihre Systemzust¨ande in den diskreten Zeitpunkten, in denen Ereignisse auftreten. Bild 1.2 zeigt den Unterschied zwischen Ereignisdiskreten-Systemen (Discrete Event System: DES) und Kontinuierlichen Variablen Systemen (Continuous Variable System CVS). Die Zust¨ ande im DES ¨ andern sich in unvorhersehbaren zuf¨alligen Zeitpunkten, die nur von den Ereignissen abh¨ angen, welche die Zustands¨anderung ausl¨osen (Bild 1.2-b und 1.2-d). Die Eingangssignale in das DES sind die diskreten Ereignisse. Dagegen ¨andern
a) zeit- und wertkontinuierlich
b) ereignisdiskret und wertkontinuierlich
c) zeitdiskret und wertkontinuierlich
d) ereignis- und wertdiskret
Bild 1.2: Trajektorienvergleich zwischen CVS und DES
4
1 Verteilte ereignisdiskrete Systeme
sich die Zust¨ ande im CVS zeitkontinuierlich und besitzen normalerweise kontinuierliche Eingangsvariable (Bild 1.2-a). Hier liegt auch der Unterschied zwischen ereignisdiskreten Systemen und zeitdiskreten Systemen. Ein zeitdiskretes System n¨ahert lediglich ein zeitkontinuierliches System an (Bild 1.2-c). Die Variablen im System sind weiterhin wertkontinuierlich, sie werden aber nur in diskreten Zeitpunkten bearbeitet (Abtastung). Definition 1.1 Gleichzeitigkeit von Ereignissen Zwei Ereignisse d¨ urfen in einem ereignisdiskreten System nicht gleichzeitig auftreten. Diese Anforderung muss notfalls durch geeignete Vorkehrungen gew¨ahrleistet werden, ¨ z.B. Priorit¨ atssteuerungen o.A. Physikalische Gr¨ oßen ¨ andern sich zeitkontinuierlich. Es stellt sich daher die Frage: Wie kommen diskrete Ereignisse u ¨ berhaupt zustande? 1. Nat¨ urliche diskrete Ereignisse Viele Vorg¨ ange werden als durch diskrete Ereignisse ausgel¨ost angenommen, wenn ¨ der Ubergangsprozess relativ kurz ist und deshalb vernachl¨assigt wird. Beispiel 1.2 Beispiele f¨ ur nat¨ urliche Ereignisse sind: Der Signalwechsel in Verkehrssteuerun¨ ¨ gen, in denen die Uberg¨ ange nicht wahrnehmbar sind. Die Anderung der Zahl der Z¨ uge in einem Bahnhof, wenn man das Ein- und Ausfahren vernachl¨assigt. 2. Vereinfachte Modellvorstellung f¨ ur komplexe Systeme Ein physikalischer Prozess l¨ asst sich vereinfacht darstellen durch: ¨ Ubergang
−→ Folgezustand ¨ Im Ubergang ¨ andert sich der Zustand in der Wirklichkeit kontinuierlich. Durch ¨ die vereinfachte Modellvorstellung wird der Ubergang aber jetzt auf ein Ereignis reduziert: Zustand
Zustand
Ereignis
−→
Folgezustand
Eine solche Reduktion f¨ uhrt auf die ereignisdiskrete Darstellung von Systemen. Beispiel 1.3: Fahrf¨ ahigkeit eines Autofahrers Die Fahrf¨ ahigkeit eines Autofahrers nimmt mit dem Alkoholgehalt im Blut ab. Da der Alkoholgehalt eine kontinuierliche Variable ist, ist die Fahrf¨ahigkeit auch eine kontinuierliche Gr¨ oße. Zur juristischen Bewertung der Fahrf¨ahigkeit gibt es daneben eine k¨ unstliche Definition. Wenn z.B. der Alkoholgehalt im Blut u ¨ ber 0,5 p.m. liegt, wird dem Fahrer die Fahrf¨ ahigkeit abgesprochen. Hier werden die Testergebnisse: u ¨ ber 0,5“ und unter 0,5“ zu Ereignissen. In Bild 1.3 werden die diskreten Zust¨ande ” ” ¨ und die Uberg¨ ange (Ereignisse) dargestellt.
1.3 Verteilte Steuerungen
5
0,5
0,5 Bild 1.3: Diskreter Zustandsgraph f¨ ur die Fahrf¨ ahigkeit
Beispiel 1.4: Ereignisbasierter Computer Man interessiert sich bei einer Anwendung nur f¨ ur wenige bestimmte Ereignisse. Ein Rechner erf¨ ahrt von ¨ außeren Signalen durch die Interrupt-Kan¨ale. Sie signali¨ sieren ihm zum Beispiel das Erreichen einer bestimmten Position oder die Uberschreitung eines Grenzwertes. Ein so arbeitender Controller wird ereignisbasierter (Event-based) Controller bezeichnet. Der Rechner braucht nicht st¨andig alle Kan¨ale abzufragen (Polling), sondern reagiert nur bei Bedarf auf Ereignisse. Beispiel 1.5: Ausfall eines elektronischen Bauelements Es gibt daf¨ ur viele Ursachen. Hier soll der Effekt des sog. Electron Migration“ ” betrachtet werden. Das ist eine Elektronenwanderung in einer Leiterbahn, die an Stellen hoher Stromdichte das Material so lange abtr¨agt, bis die Leiterbahn dort unterbrochen ist. Man interessiert sich beim Betrieb des elektronischen Bauelementes nicht f¨ ur den eventuell jahrelang andauernden, kontinuierlichen Vorgang des Electron Migration, sondern nur daf¨ ur, ob die Leiterbahn intakt ist oder nicht. Die Unterbrechung der Leiterbahn und der damit verbundene Ausfall des Bauelementes ist dann ein Ereignis“. Mit Hilfe einer derartigen Vereinfachung ist z.B. das Zuverl¨assigkeits” verhalten eines komplexen elektronischen Systems mit vielen Bauteilen analytisch zu beschreiben. Ansonsten w¨ are das Problem zu komplex.
1.3
Verteilte Steuerungen
1.3.1
Hierarchische Steuerungen
Eine komplexe Steuerung l¨ asst sich durch eine hierarchische Struktur vereinfachen. Das allgemeine Prinzip der hierarchischen Dekomposition ist, dass die Steuerungseingaben top-down“ und die R¨ uckmeldungen bottom-up“ durchgef¨ uhrt werden. ” Systeme in” den Unterebenen k¨ onnen • Regler, die direkt in den physikalischen Prozess eingreifen; • hierarchische Regler auf einer u ¨ bergeordneten Ebene sein. Die unterlagerten Regelungen greifen direkt in den Prozess ein, z.B. Temperaturregelung, Motorstromregelung, Geschwindigkeitsregelung usw. Die u ¨ berlagerte Steuerung
6
1 Verteilte ereignisdiskrete Systeme
Bild 1.4: Verteiltes, hierarchisches Regel-System (RS)
koordiniert den gemeinsamen Prozess. Die Informationen auf der Prozessebene sind h¨ aufig diskrete Ereignisse, z.B. Erreichen einer vorgegebenen Temperatur oder Erreichen einer Position. Auch die Sollwerte sind h¨aufig diskrete Ereignisse, z.B. die Sequenz eines Ablaufs von Aktionen. In der u ¨ bergeordneten Steuerung wird daher ein DESModell ben¨ otigt, damit der Steuerungsrechner eine Reihenfolge diskreter Ereignisse f¨ ur die unterlagerten Systeme festlegen kann.
1.3.2
Verteilte kooperative Steuerungen
In einem verteilten, kooperativen System sind nicht nur die unterlagerten Regler, sondern auch die Steuerung und die Daten (Informationen) verteilt. Zur Koordination der nebenl¨ aufigen Subsysteme oder Prozesse ist ein Informationsaustausch horizontal zwischen den gleichberechtigten Subsystemen erforderlich (Bild 1.5). Hier liegt der Unterschied zu hierarchischen Steuerungen, bei denen der Informationsaustausch vertikal zwischen u uhrt wird. ¨ bergeordneter und unterlagerter Ebene durchgef¨
Bild 1.5: Verteiltes, kooperatives System
1.3 Verteilte Steuerungen
7
Das dynamische Fortschreiten im verteilten System wird durch diskrete Ereignisse getragen, z.B. durch das Eintreffen von Nachrichten in Subsysteme und durch das Fortschalten von logischen Ablaufsequenzen. Ausf¨alle von lokalen Stationen sowie R¨ uckmeldungen von einer Station zur anderen Station sind diskrete Ereignisse. Beispiel 1.6: Synchronisation paralleler Prozesse Bild 1.6 zeigt die Synchronisation paralleler Prozesse in der Softwaretechnik, welche die logische Ablaufsequenz verschiedener Teilprogramme gew¨ahrleistet. Abschnitt B2 wird erst nach Abschnitt A1 betreten (Senden Synchronisations-Nachricht). Abschnitt A3 wird erst nach Abschnitt B2 betreten (R¨ uckmeldung Bearbeitungsende). Der zeitliche Ablauf der parallelen Prozesse wird durch die SynchronisationsEreignisse gesteuert.
Bild 1.6: Ablaufsequenzen in zwei Stationen
Da das verteilte System parallel operiert, ergeben sich unvermeidbare Konflikte, wie z.B. Verklemmungen beim gleichzeitigen Zugriff auf gemeinsam benutzte Ressourcen. Kooperative Steuerungen m¨ ussen solche Konflikte aufl¨osen k¨onnen. Beispiel 1.7: Multi-Agenten-System Zun¨ achst werden die die Eigenschaften eines Agenten-(Systems) vorgestellt und im Anschluss einige Aspekte von Multi-Agenten-Systemen wie in Bild 1.7 dargestellt. Obwohl sich keine einheitliche Definition eines Agenten finden l¨asst, ist eine m¨ogliche Beschreibung von Agenten nach [Woo99]: An agent is a computer system that is situated in some environment, and that is capable of autonomous action in this environment in order to meet its design objectives. Ein Agent ist somit eine gegen¨ uber seiner Umwelt abgeschlossene Einheit. MultiAgenten-Systeme sind nach [JSW98] definiert als Netzwerke von weitgehend autonom operierenden, lose gekoppelten Softwareeinheiten (Agenten). Das bedeutet, ein
8
1 Verteilte ereignisdiskrete Systeme
Umgebung
Agent Ziele Aktionen Systemwissen
Agent Ziele Aktionen Systemwissen Bild 1.7: Multi-Agenten-System
Agent kann selbst entscheiden, auf welche Weise er seine Aufgabe erf¨ ullt und wann der beste Zeitpunkt daf¨ ur ist. Die Agenten sind nicht fest verkn¨ upft und kommunizieren in diesem Zusammenhang nur bei Bedarf miteinander. Es handelt sich bei MultiAgenten-Systemen im Allgemeinen um offene Systeme, d.h. es ist m¨oglich Agenten hinzuzuf¨ ugen oder zu entfernen, oder die Umgebung der Agenten zu ver¨andern. Des Weiteren sind Agentensysteme meist dezentral ohne u ¨ bergeordnete Kontrollinstanz aufgebaut. Es gibt keinen Agenten, der u ¨ ber das gesamte Wissen des Systems (die Vereinigung der Informationen eines jeden Agenten) verf¨ ugt. Sowohl Wissen als auch Kontrolle sind u ¨ ber das Gesamtsystem verteilt. Verteilte Kontrolle bedeutet, dass ein Agent selbst neue Handlungen anstoßen kann und selbst entscheidet welche Ziele er als N¨ achstes verfolgt. Aus diesem dezentralen Aufbau ergibt sich, dass jeder Agent nur einen begrenzten Einblick in das Gesamtsystem besitzt. Er h¨alt nur die f¨ ur ihn relevanten Informationen und kennt nur die Aktionen von Agenten, mit denen er kommuniziert. Um dennoch ein einheitliches, zusammenh¨angendes Verhalten im Gesamtsystem zu erreichen, sind Kommunikation und Interaktion der Agenten untereinander unerl¨ asslich. Multi-Agenten-Systeme sind deshalb ein Beispiel f¨ ur verteilte, kooperative Systeme. Multi-Agenten-Systeme werden beispielsweise eingesetzt um die Planung und Steuerung von Produktionsprozessen zu unterst¨ utzen.
1.3.3
Hybride Systembeschreibung
Beim Entwurf komplexer Steuerungssysteme ist der Gesamt¨ uberblick u ¨ ber alle Funktionen f¨ ur einen einzelnen Menschen nicht mehr m¨oglich. Es erfolgt deshalb eine Darstellung als hybrides System. Das zeitkontinuierliche Teilsystem wird mit klassischen, zeitdiskreten Regelalgorithmen gesteuert. Ihre Funktion ist gut zu u ¨ berblicken, da man
1.3 Verteilte Steuerungen
9 Leistungsanalyse
System
System Design
Anforderungen & Kostenr¨ uck-
Autonomes Ressourcen Management
meldungen
Koordination
Anforderungen
Ereignisdiskrete
& Kostenr¨ uck-
Teilsystem-
meldungen
Interaktionen
Steuerung &
Informations-
Signalverarbeitung
gewinnung
Diagnose
& Steuerung
Physikalischer Prozess
Zeitdiskrete TeilsystemSteuerung
Zeitkontinuierliches Teilsystem
Bild 1.8: Hierarchische Struktur eines Teilsystems
nur das jeweilige Teilsystem betrachtet. Dar¨ uber hinaus ben¨otigt man eine weitere, u ¨ bergeordnete Instanz, welche die Interaktionen zwischen den Teilsystemen handhabt. Dies ist die ereignisdiskrete Ebene in Bild 1.8. Das Zusammenwirken erfolgt z.B. u ¨ ber Anforderungsereignisse und Kostenr¨ uckmeldungen. Bei Betrachtung des Gesamtsystems modelliert man dann den Vorgang, dass ein einzelnes Teilsystem gerade eine bestimmte Regelaufgabe bearbeitet, vereinfacht so, dass sich dieses Teilsystem in einem diskreten Zustand Bearbeitung der Regelungsaufgabe“ befindet. Dies reicht aus der Sicht ” des u ¨ bergeordneten Gesamtsystems aus, wo nur noch die wechselseitigen Beziehungen zwischen den Teilsystemen beschrieben werden. Der Aufruf von einem Teilsystem zur Bearbeitung einer Aufgabe in einem anderen Teilsystem ist ein Ereignis, aufgrund dessen das empfangende Teilsystem in einen diskreten Zustand Bearbeitung ...“ u uhrt ¨ berf¨ ” wird. Im Gesamtsystem werden die logischen Interaktionen (aufrufendes zu aufgerufenem Teilsystem) durch die • H¨ aufigkeit der Ereignisse (Ereignisraten, Zustands¨ ubergangsraten) • Verweilzeiten in den Zust¨ anden (Bearbeitungszeiten) der Teilsysteme beschrieben. Das Gesamtsystem mit seinen Wechselwirkungen zwischen den Teilsystemen wird als ereignisdiskretes System modelliert. Das Zusammenwirken von klassischen Teilsystemen im u ¨ bergeordneten Gesamtsystem nennen wir hybrides System. Zur Automatisierung komplexer, hybrider Systeme werden deshalb folgende Disziplinen ben¨ otigt: 1. Automatisierung kontinuierlicher Teilsysteme (CVS) 2. Ereignisdiskrete Modellierung und Steuerung (DES) der Interaktionen 3. Verfahren zur Aufl¨ osung von Konflikten und Verklemmungen
10
1 Verteilte ereignisdiskrete Systeme
Bild 1.9: Ereignisdiskretes Modellierung der Interaktionen in einem verteilten System
1.3.4
Echtzeit und Lokalit¨at
Wir wollen nun kl¨ aren, was unter dem Begriff Echtzeit“ zu verstehen ist. Abh¨angig von ” den zeitlichen Anforderungen an ein System wird die Echtzeitbedingung unterschiedlich definiert: Harte“ Echtzeitbedingung ” Ein System erf¨ ullt die Echtzeitbedingung, wenn f¨ ur jeden Ereignistyp ei , der eine Bearbeitung im System anfordert, die Bearbeitung (Systemdurchlaufzeit τd ) abgeschlossen ist, bevor das n¨ achste Ereignis desselben Typs am Eingang erscheint. Definition 1.8
∀ i, n : τd (ei,n ) < t(ei,n+1 ) − t(ei,n )
(1.9)
Weiche“ Echtzeitbedingung: ” Ein System erf¨ ullt die Echtzeitbedingung, wenn die mittlere Systemzeit τ¯d kleiner als die mittlere Ankunftsintervallzeit τ¯a der Ereignisse ei ist. Definition 1.10
τ¯d < τ¯a
(1.11)
¨ Bei dieser Definition sind zeitweise Wartezeiten τw durch Uberlastung zul¨assig, die aber im Mittel abgebaut werden m¨ ussen.
Beide Definitionen sind nicht an eine absolute Zeit gekoppelt. Die mittlere Systemzeit τ¯d setzt sich aus der mittleren Servicezeit τ¯s und der mittleren Wartezeit τ¯w in der
1.3 Verteilte Steuerungen
11
Bedieneinheit zusammen: τ¯d = τ¯w + τ¯s
(1.12)
In die Lokalit¨ at gehen der Umfang der Kommunikation und die lokale Ausdehnung ¨ der Ubertragung ein. Wenn in einem verteilten System im Mittel große Datenmengen ¨ pro Ubertragungsblock ausgetauscht werden (mittlere Botschaftszeit t¯m groß), ist es weniger zentralisiert. Das Gleiche gilt f¨ ur eine große mittlere Ausbreitungszeit t¯p der ¨ Nachrichten auf dem Ubertragungsmedium. Das Lokalit¨ atsmaß τ¯d L= ¯ tm + t¯p
(1.13)
bildet das Verh¨ altnis der Systemdurchlaufzeit τ¯d zur Summe von Botschafts- und Ausbreitungszeit. F¨ ur Echtzeitsysteme muss L1
(1.14)
gelten, d.h. trotz der lokalen Verteilung von Hardware, Daten und Steuerung soll sich das System logisch wie ein Zentralsystem verhalten. Dies ist dann der Fall, wenn der Zeitbedarf f¨ ur die Kommunikation zwischen den Teilsystemen klein ist gegen¨ uber den Bearbeitungszeiten in den Teilsystemen. Nur dann k¨onnen z.B. geschlossene Regelkreise bedient werden. Im Gegensatz dazu steht bei dezentralen Systemen der Transfer großer Datenmengen im Vordergrund, die mit großem zeitlichen Verzug empfangen werden d¨ urfen und deren Verarbeitung vergleichsweise weniger Zeit beansprucht. Beispiel 1.15: Verteiltes Regelsystem In einem zeitdiskreten Regelsystem muss die Rechenzeit τd f¨ ur den Regelalgorithmus τd < ta kleiner als die Abtastzeit ta sein. Ist das Regelsystem in mehreren ¨ortlichen Teilsystemen realisiert, die u ussen ¨ ber Kommunikation miteinander verbunden sind, so m¨ die Kommunikationszeiten wesentlich kleiner sein als die Abtastzeit. t¯m + t¯p τ¯d < ta Dies ist gleichbedeutend mit der Forderung L 1.
2
System-Modellierung
2.1
Modell-Klassifikation
Ein mathematisches Modell beschreibt die Gr¨oßen in realen Systemen durch Beschreibungsvariablen oder Variablen, die die Eigenschaften eines realen Systems repr¨asentieren. Das Modell beschreibt die wechselseitigen Auswirkungen zwischen den Variablen und Systemoperationen mit Funktionen, die die dynamischen Eigenschaften des Systems repr¨ asentieren. Die Funktion zur Beschreibung der Antwort der Eingaben l¨ asst sich in zwei Arten aufteilen: Eingabefunktion Φ und Ausgabefunktion Ω. Bild 2.1 zeigt das Zustandsmodell eines realen Systems.
Bild 2.1: Zustandsmodell eines realen Systems
X ist die Menge von Eingabevariablen, mit der sich die Eingaben des Systems beschreiben lassen. Y ist die Menge von Ausgabevariablen, die die Ausgaben des Systems beschreiben. Z ist die Menge der Variablen, die den Systemzustand bestimmen. Man nennt die Variablen Z Zustandsvariablen oder Zust¨ ande. Zwischen Zust¨anden ¨ und Ausgaben existierten ¨ ofter Uberlappungen. Das heißt ein Zustand zi kann auch eine Ausgabe yj sein. ¨ Die Ubergangsfunktion Φ( ) bestimmt den Zustands¨ ubergang aufgrund der Eingabe oder des Zeitablaufs. Die Ausgabefunktion Ω( ) bestimmt die Ausgaben aufgrund der Zustands¨ uberg¨ange. Es gibt viele M¨ oglichkeiten, um ereignisdiskrete Modelle zu klassifizieren. • Darstellungsform: In einem mathematischen Modell werden die Objekte eines Systems durch mathematische Variable repr¨ asentiert. Die Funktionen ΦIN , ΦEX , Ω und τ werden durch mathematische Funktionen analytisch beschrieben, wie Differentialgleichungen, Zustands¨ ubergangswahrscheinlichkeiten usw. In einem graphischen Modell werden die Variablen durch graphische Symbole dargestellt. Zum Beispiel wird der Zustand im Platz (Ressource) eines Petrinetzes durch markiert oder nicht markiert dargestellt. Die Funktionen ΦIN ,
14
2 System-Modellierung ΦEX und Ω werden durch graphische Operationen durchgef¨ uhrt. In einem Automaten werden die beeinflussten Variablen (Ausgabe) aufgrund eines Ereignisses (Eingabe) durch gerichtete Kanten dargestellt. In Petrinetzen werden die Funktionen durch Aktivierungs-Schalt-Regeln realisiert. Die Verweilzeitfunktion τ wird in graphischen Modellen durch Zeitelemente dargestellt, wie in Petrinetzen durch zeitbewertete Pl¨ atze oder Transitionen. Der Vorteil graphischer Modelle liegt in der anschaulicheren Darstellung. Der Nachteil ist, dass graphische Symbole einen realen Prozess nur sehr unvollkommen nachbilden. Ein graphisches Modell l¨ asst sich auch durch ein mathematisches Modell nachbilden. Die Operationen werden dann durch mathematische Funktionen durchgef¨ uhrt. Zum Beispiel kann ein Zustandsgraph als Markov-Kette dargestellt werden, wenn die Zustands¨ uberg¨ ange mit Wahrscheinlichkeiten erfolgen. In einem physikalischen Modell wird das zu untersuchende System durch ein reales Modell nachgebildet, z.B. Modelleisenbahn zum Testen der Verkehrsfl¨ usse, Flugzeugmodell zum Testen des Luftwiderstandes im Windkanal. Diese Vorgehensweise ist mit sehr hohen Kosten verbunden. Reale physikalische Modelle werden deshalb zunehmend durch mathematische bzw. graphische Modelle ersetzt. • Existenz einer Zeitbasis: In zeitdiskreten Modellen existiert die Zeitbasis nicht. Beispiele sind Automatenmodelle und klassische Petrinetze. In diesem Fall wird die Analyse f¨ ur die logische Reihenfolge von Ereignissen durchgef¨ uhrt. Der Zeitpunkt, an dem ein Ereignis auftritt, wird nicht betrachtet. Dagegen m¨ ussen zeitkontinuierliche Modelle, z.B. zeitkontinuierliche Petrinetze und Warteschlangenmodelle, die Zeitbasis enthalten. • Zust¨ ande und Zustands¨ uberg¨ ange Die Zust¨ ande und Zustands¨ uberg¨ ange k¨onnen deterministisch oder stochastisch sein. Deterministisch sind z.B. die Markenzahlen und die Transitionen in einem klassischen Petrinetz. Werden die Systemzust¨ande nur mit einer Wahrscheinlichkeit eingenommen, und erfolgen die Zustands¨ uberg¨ange mit bedingten Wahrscheinlichkeiten, so handelt es sich um stochastische Zustandsmodelle. Beispiele daf¨ ur sind Warteschlangennetze oder stochastische Petrinetze.
Bild 2.2: Klassifikation nach Zust¨ anden und Zustands¨ uberg¨ angen
• Existenz der Eingabevariablen X und Eingabefunktion ΦEX : Wenn das modellierte System ohne Einfluss aus der Umgebung arbeitet, d.h. ohne Eingaben X, dann heißt das entsprechende Modell autonom. Ein autonomes Mo-
2.2 Modellierung verteilter Systeme
15
dell ist ein Datenerzeuger, der in Simulationen eine wichtige Rolle spielt. Markov-Ketten (Kapitel 4) sind noch einfacher, weil sie keine Ausgaben Y und keine Ausgabefunktion Ω enthalten. Das Modell der Markov-Kette ist . • Abh¨ angigkeit der Systemeigenschaften von der Zeit: Wenn die Funktionen ΦIN , ΦEX , Ω und τ von der Zeit abh¨angig sind, heißt das Modell zeitvariant. Ansonsten heißt es zeitinvariant. Die meisten verwendeten Modelle sind zeitinvariant. Im Falle stochastischer Gr¨oßen sind diese station¨ar, d.h. ihre statistischen Eigenschaften bleiben u ¨ ber der Zeit konstant. • Abh¨ angigkeit der System¨ uberg¨ ange von der Vorgeschichte: ¨ Ein Modell heißt memoryless“, wenn der Ubergang in einen Folgezustand nur vom ” augenblicklichen Zustand zi abh¨ angig ist. Markov-Ketten haben diese Eigenschaft, wobei die Verweilzeit τ (zi ) eine Exponentialverteilung besitzt (Abschnitt 4.3). Bei einem memoryless Modell wird die mathematische Analyse leicht.
2.2
Modellierung verteilter Systeme
Bei der Modellierung von verteilten Systemen sollten folgende Aspekte ber¨ ucksichtigt werden: 1. Zerlegungsf¨ ahigkeit Ein verteiltes System besteht aus mehreren Teilsystemen, die u ¨ ber die Netztopologie miteinander verbunden sind. Der Zustand des gesamten Systems wird globaler Zustand genannt. Er setzt sich aus den Zust¨anden der Teilsysteme zusammen, die man lokale Zust¨ ande nennt. Zum Beispiel kann der globale Zustand eines Warteschlangen-Netzwerkes mit N Warteschlangensystemen durch den Vektor der Kundenzahlen zi in jedem lokalen Warteschlangensystem dargestellt werden, d.h. Z = [z1 , z2 , ..., zN ]T . Die Kombination dieser lokalen Zust¨ ande {zi } l¨asst den Zustandsraum des globalen Zustands Z = {z1 , z2 , ..., zN } schnell anwachsen. Einige Modellierungsmethoden mit vollst¨ andigen globalen Zust¨anden, wie z.B. endliche Automaten oder Markov-Ketten, werden dadurch sehr komplex, so dass Anwendungen auch mit sehr großen Computern nicht mehr berechenbar sind [Ho89a]. Wenn z.B. der Rechenaufwand einer Modellierung exponentiell zur Modellkomplexit¨at w¨achst (NPhard-Problem), ist diese f¨ ur praktische Problemstellungen nicht mehr anwendbar. Eine erfolgreiche Modellierung muss die Komplexit¨at der Beschreibung begrenzen. Das erreicht man durch Zerlegung der verteilten Systeme in Teilsysteme. Die Voraussetzung daf¨ ur ist, dass die Teilsysteme untereinander entkoppelt werden k¨ onnen. Im Kapitel 5 Warteschlangensysteme werden wir zeigen, wie ein Warteschlangennetz in die einzelnen Warteschlangen zerlegt wird. 2. Hierarchische Darstellung Ein verteiltes System ist normalerweise komplex. Unter einem komplexen“ Sys” tem versteht man gemeinhin ein System, bei dem eine Person nicht in der Lage ist, alle f¨ ur das Systemverhalten relevanten Details im Kopf zu haben [Sta90]. Ob
16
2 System-Modellierung ein System als komplex empfunden wird, h¨angt folglich nicht nur von der Komplexit¨ at seines Verhaltens ab, sondern auch von der Abstraktionsebene, auf der es beschrieben, entworfen und analysiert wird. Nach [DV89] wird ein System als eine Menge von Subsystemen definiert. Diese Subsysteme lassen sich selbst wieder in Subsysteme“ zerlegen. Aus dieser Sicht ” ist ein System eine Hierarchie von Subsystemen. Das Modell des Systems besteht dann aus den Modellen der Subsysteme. Solche hierarchischen Modelle vereinfachen die Darstellung des gesamten Systems. In den meisten ereignisdiskreten Systemen werden die Operationen oder Steuerungen auf mehreren Ebenen durchgef¨ uhrt. Auf jeder Ebene gibt es einen bestimmten Detaillierungsaufwand zur Modellierung und Steuerung. Ein gutes hierarchisches Modell soll die F¨ ahigkeit besitzen, auf verschiedenen Ebenen mit denselben Strukturen zu operieren, ohne jedesmal neue Elemente zu definieren [Ho89a]. Im Kapitel 7 Petrinetze“ werden wir die hierarchische Darstellung von Petrinetzen ” diskutieren. 3. Hybride Systemdarstellung Die Modellierung erfolgt mit zwei unterschiedlichen, sich erg¨anzenden Beschreibungsformen. Auf der oberen Ebene wird das Zusammenwirken der Teilsysteme als ereignisdiskretes System modelliert. Innerhalb eines Teilsystems werden Prozesse durch Eingangsereignisse aktiviert. Diese generieren evtl. Ausgangsereignisse, die zum Eingang anderer Teilsysteme gef¨ uhrt werden. Der Vorteil dieser Struktur ist, dass man einen besseren Gesamt¨ uberblick u ¨ ber das modellierte System bekommt. Daf¨ ur kann man allerdings nicht jeden detaillierten Ablauf in den Teilsystemen betrachten. Die einzelnen Teilsysteme werden – jedes f¨ ur sich – wiederum in Subteilsysteme zerlegt, bis man zu sog. atomaren Teilsystemen gelangt, die nicht weiter aufgeteilt werden. Auf der unteren Ebene eines atomaren Teilsystems wird dessen Verhalten mit klassischen Modellierungsmethoden beschrieben, z.B. mit Differenzengleichungen oder regelungstechnischen Blockschaltbildern. Dies gestattet es, die Funktionen eines Teilsystems gut zu u ur sich. ¨ berblicken, jedes f¨ Es existieren Entwicklungswerkzeuge, welche eine hybride Modellierungsmethodik unterst¨ utzen. Ein Beispiel ist Simulink zusammen mit der Erweiterung Stateflow. Neben der zeitdiskreten und zeitkontinuierlichen Simulation dynamischer Systeme ist die ereignisorientierte Simulation unter Simulink gew¨ahrleistet.
Bild 2.3: Obere Ebene der hybriden Systemdarstellung
2.2 Modellierung verteilter Systeme
17
Beispiel 2.1: Thermostat [ACH+ 95] Die Temperatur eines Raumes wird mit Hilfe eines Thermostats geregelt, der kontinuierlich die Temperatur im Raum misst und die Heizung an- oder abstellt. Die Temperatur¨ anderung l¨ asst sich mit Differentialgleichungen beschreiben. Wenn die Heizung ausgeschaltet ist, sinkt die Temperatur, die durch die Variable x beschrieben wird, nach dem Verlauf der Exponentialgleichung x(t) = θe−Kt . In dieser Gleichung steht t f¨ ur die Zeit, θ f¨ ur die Anfangstemperatur und K f¨ ur eine Raumkonstante. Ist die Heizung angeschaltet folgt der Temperaturverlauf der Funktion x(t) = θe−Kt + h(1 − e−Kt ). Hier beschreibt h eine Konstante, die von der Leistung der Heizung abh¨angt. Die Temperatur soll zwischen den Gr¨ oßen m und M gehalten werden und dementsprechend wird die Heizung an- oder abgestellt. Die resultierende hybride Systemdarstellung wird in Abbildung 2.4 gezeigt. Das System besitzt die Zust¨ande Heizung An“ ” und Heizung Aus“, deren Zustands¨ uberg¨ange durch die Ereignisse x = m und ” x = M ausgel¨ ost werden. F¨ ur jeden Zustand existiert eine eigene Beschreibung des zeitkontinuierlichen Systems durch entsprechende Differentialgleichungen.
x=q
Heizung Aus
x=m
Heizung An
x=-Kx x>m
x=M
x=K(h-x) x heißt Zustandsmodell eines ereignisdiskreten Systems. Hierbei ist X= {x1 , x2 , · · · , xk } Z= {z1 , z2 , · · · , zm } Y = {y1 , y2 , · · · , yn } ΦIN : Z → Z ΦEX : Z × X → Z Ω: Z ×X →Y τ: Z → R+
endliche Menge von Eingaben, endliche Menge von Zust¨anden, endliche Menge von Ausgaben, Zustands¨ ubergangsfunktion f¨ ur interne Ereignisse, Zustands¨ ubergangsfunktion f¨ ur externe Ereignisse, Ausgabefunktion, Verweilzeitfunktion.
In einem ereignisdiskreten System sind die Eingaben X Ereignisse, die externe Ereignisse genannt werden. Bei der Ankunft eines externen Ereignisses kann der Systemzustand Z ge¨ andert werden. Der neue Zustand Z l¨asst sich durch die Funktion Z (t) = ΦEX [Z(t), X(t)]
(2.3)
ermitteln (Bild 2.6), wobei Z der alte Zustand des Systems war. Die Zustands¨ anderungen ohne Eingaben erfolgen durch interne Ereignisse, die aufgrund des Zeitablaufs erzeugt werden. Das System bleibt im Zustand zi mit einer Verweilzeit τ (zi ), wenn keine Eingabe ankommt. Bei Ablauf der Verweilzeit τ (zi ) wird ein neuer Zustand erzeugt, der durch die interne Funktion Z[t + τ (zi )] = ΦIN (zi )
(2.4)
bestimmt wird (Bild 2.7). Bei Zustands¨ anderungen werden gleichzeitig die Ausgaben erzeugt, die durch die Ausgabefunktion Y (t) = Ω[Z(t), X(t)]
(2.5)
2.3 Modellierung ereignisdiskreter Systeme
19
Bild 2.6: Zustands¨ ubergang und Ausgaben bei einem externen Ereignis
Bild 2.7: Zustands¨ ubergang und Ausgaben bei einem internen Ereignis
bestimmt werden. Hierbei ist Z(t) wieder der alte Zustand. X(t) darf auch Null sein (ohne Eingaben). Die Verweilzeitfunktion τ bestimmt die Dauer jedes Zustands {zi }. Ein globaler Zu¨ stand Z hat mehrere Elemente oder Teilzust¨ande {z1 , z2 , ..., zm }. Jede Anderung in ¨ Teilzust¨ anden f¨ uhrt zu Anderungen des globalen Zustands. Mit den Annahmen, dass • t die Anfangszeit eines Zustands zi sei; • {τ1 , τ2 , · · · , τm } die vom Zeitpunkt t ermittelten Restzeiten der Teilzust¨ande {z1 , z2 , · · · , zm } sind,
20
2 System-Modellierung
Bild 2.8: Beispiel f¨ ur die Verweilzeitfunktion bei Teilzust¨ anden
l¨ asst sich die Verweilzeitfunktion im Zustand zi berechnen (Bild 2.8). τ (zi ) = min{τ1 , τ2 , · · · , τm }
(2.6)
Ein Spezialfall eines ereignisdiskreten Systems, das auf externe Ereignisse hin seine Zust¨ ande ¨ andert, ist das zeitdiskrete Zustandsmodell. Dabei haben die externen Ereignisintervalle die deterministische L¨ ange der Abtastzeit. Demgegen¨ uber treten bei typischen ereignisdiskreten Systemen die Ereignisse in zuf¨alligen Zeitpunkten auf. Die Zustands¨ anderungen werden dann mit Hilfe der Wahrscheinlichkeitstheorie berechnet. Zustandsmodelle k¨ onnen alle Aspekte eines Systems beschreiben. In vielen praktischen Anwendungen l¨ asst sich aber ein solches Zustandsmodell nur schwer aufbauen, da sehr viele Komponenten und sehr komplexe Algorithmen darin enthalten sind. Man vereinfacht deshalb das Zustandsmodell nach folgenden Aspekten: 1. Beschr¨ ankung der Variablenmenge Bei jeder Anwendung gibt es einige vorgegebene Ziele. Deshalb sind nicht alle Variablen des realen Systems wichtig. Zum Beispiel darf die St¨orung bei der Analyse eines Regelungssystems eventuell vernachl¨assigt werden, was bei der Fehlererkennung dagegen nicht erlaubt ist.
2.3 Modellierung ereignisdiskreter Systeme
21
2. Beschr¨ ankung durch Annahmen Um analytische L¨ osungen zu finden, braucht man mathematische Beschreibungsformen. Daf¨ ur m¨ ussen einige einschr¨ ankende Annahmen eingesetzt werden. Ein Beispiel daf¨ ur ist das Markov-Modell (Kapitel 4). Die Annahme ist, dass das System memoryless sei. Das heißt, die Geschichte des Systems wird allein durch den gegenw¨ artigen Zustand eindeutig dargestellt. Obwohl diese Annahme fast niemals genau erf¨ ullt werden kann, nimmt man dennoch solche Modelle, weil damit eine geschlossene mathematische L¨ osung erreicht wird. Tats¨achlich kann man mit diesen Annahmen bei vielen Anwendungen das Systemverhalten ausreichend genau approximieren. Zur Realisierung der vier Funktionen ΦIN , ΦEX , Ω und τ gibt es verschiedene M¨oglichkeiten. In der klassischen Regelungstechnik werden z.B. die Funktionen durch Differentialgleichungen repr¨ asentiert. Petrinetze strukturieren die Funktionen ΦIN , ΦEX und Ω durch Aktivierungs-Schalt-Regeln mit Hilfe der Netzdarstellung (Kapitel 7). Dabei weicht man von der obigen globalen Darstellung im Zustandsraum ab und beschr¨ankt sich auf den Zustand der einzelnen lokalen Netzelemente (z.B. Pl¨atze). In diesem Buch werden wir folgende Modelle f¨ ur ereignisdiskrete Systeme behandeln: • Automaten (Abschnitt 2.3.2) • Markov-Ketten (Kapitel 4) • Warteschlangensysteme (Kapitel 5) • Beschreibung mit Max-Plus-Algebra (Kapitel 6) • Petrinetze (Kapitel 7) ¨ Zwischen einigen dieser Beschreibungsformen gibt es Uberg¨ ange. Zum Beispiel werden Petrinetze mit stochastischen Zeitverz¨ ogerungen als Markov-Ketten modelliert (Abschnitt 7.2.3). Synchronisationsgraphen mit deterministischen Zeitverz¨ogerungen k¨onnen in der Max-Plus-Algebra beschrieben werden (Abschnitt 7.2.4).
2.3.2
Automaten
Dieser Modellansatz soll hier nur kurz behandelt werden. Wir werden heutzutage h¨aufig mit Automaten konfrontiert. Beispiele allt¨ aglicher Automaten sind M¨ unzfernsprecher, Waschmaschinen, Bankautomaten usw. Die Automatentheorie behandelt die Beschreibung solcher Systeme. Typisch f¨ ur Automaten ist, dass sie von außen bedient werden. In solchen Systemen wirkt eine zeitdiskrete Ereignisfolge von außen auf den Automaten ein. Eine Eingabe erzeugt zusammen mit einem Systemzustand ein bestimmtes Ergebnis (neuer Zustand oder Ausgabe). Zum Beispiel muss das Telefon nach dem Einwerfen der M¨ unzen in den Telefonautomaten in Betrieb sein, sobald die Anzahl der M¨ unzen ausreicht. Dagegen k¨ onnen die genauen Zeitpunkte der Zustands¨ uberg¨ange vernachl¨assigt werden, z.B. um wie viel sp¨ ater nach dem Einwerfen der M¨ unzen das Telefon im Betrieb sein
22
2 System-Modellierung
¨ muss. Obwohl der Ubergang sicher eine gewisse Zeit dauert, hat diese Dauer f¨ ur die logische Analyse keine Bedeutung. Auch die Dauer des Telefongespr¨achs wird nicht betrachtet, sondern nur dessen Beendigung. Wir wollen im Folgenden aus dem Zustandsmodell < X, Z, Y, ΦIN , ΦEX , Ω, τ > eines ereignisdiskreten, nichtautonomen Systems das Automatenmodell ableiten. Die statische Struktur des Systems wird durch folgende Variablen beschrieben: x z y
Eingabevariable, die endliche diskrete Werte von Xa annimmt, Zustandsvariable, die endliche diskrete Werte von Za annimmt, Ausgabevariable, die endliche diskrete Werte von Ya nimmt.
Wir kennzeichnen die Menge der Werte mit Xa , um diese von der Menge der Variablen X zu unterscheiden. Die Variablen X, Z, Y im Zustandsmodell sollen nur ein Element haben, d.h. X = x; Z = z und Y = y. Zur Beschreibung der dynamischen Eigenschaften (Funktionen ΦEX und Ω) wird angenommen, dass die Ereignisfolge zeitdiskret ist. Eine Zeitbasis existiert nicht. Die Verweilzeitfunktion τ wird nicht ben¨ otigt. Das System reagiert auf die Eingabe x, d.h. der Zustand z ¨andert sich ausschließlich bei ¨ der Ankunft einer Eingabe x. Das bedeutet, dass die Ubergangsfunktion ΦIN aufgrund von internen Ereignissen im Modell nicht existiert. Eine Eingabe xi beim Zustand zi legt den folgenden Zustand zi+1 und die Ausgabe yi eindeutig fest. Hierbei ist xi die Eingabe im Schritt i. F¨ ur jeden Automaten sind die Zustands¨ ubergangsfunktion ΦEX (zi , xi ) = zi+1
(2.7)
und die Ausgabefunktion Ω(zi , xi ) = yi
(2.8)
gegeben. Im Vergleich zur Definition in [Rem91] legen wir fest, dass dieses 5-Tupel < x, z, y, ΦEX , Ω > ein Automatenmodell ist. ¨ Der Ubergang von einem Zustand zi aufgrund der Eingabe xi zum Folgezustand l¨asst sich durch Graphen anschaulich darstellen (Bild 2.9). Die Ausgabe yi ist an den Pfeil zwischen den Systemzust¨ anden gezeichnet. ¨ Aus den Zust¨ anden und ihren Uberg¨ angen kann ein Graph gebildet werden. Der Graph heißt Zustands¨ ubergangsgraph oder kurz Zustandsgraph. Wenn die Zustandsvariable Z nur endliche Werte hat, heißt der Zustandsgraph endlicher Graph. Entsprechend wird das Automatenmodell endlicher Automat genannt. Da das Verhalten des Automaten durch einen Graphen beschrieben wird, handelt es sich um ein graphisches Modell. Mit graphischen Modellen lassen sich z.B. nicht erreichbare Zust¨ande erkennen. Die daf¨ ur verantwortlichen logischen Fehler k¨onnen dann beseitigt werden.
2.3 Modellierung ereignisdiskreter Systeme
23
Bild 2.9: Graphische Darstellung eines Zustands¨ ubergangs im Automatenmodell
Beispiel 2.9: Getr¨ ankeautomat [Rem91] Nach Einwurf eines Geldst¨ uckes vom Betrag x kann der Bediener des Automaten eines von zwei m¨ oglichen Getr¨ anken 1 oder 2 durch Dr¨ ucken einer der beiden Auswahltasten Getr¨ ank-1“ oder Getr¨ ank-2“ herauslassen. Selbstverst¨andlich existiert ” ” auch die M¨oglichkeit, anstatt eines Getr¨ ankes den eingeworfenen Geldbetrag x durch Dr¨ ucken einer R¨ uckgabetaste R zur¨ uckzuerhalten. Wird eine Auswahltaste bet¨atigt, ohne dass zuvor Geld eingeworfen wurde, so erscheint die Anzeige Zuerst Geld ” einwerfen“. Beim Getr¨ ankeautomat lassen sich folgende Mengen unterscheiden: 1. Eingabezeichen x = x1 , x2 , x3 , x4 mit der Bedeutung: x1 Passenden Geldbetrag einwerfen x2 Auswahltaste Getr¨ ank-1“ dr¨ ucken ” x3 Auswahltaste Getr¨ ank-2“ dr¨ ucken ” x4 Auswahltaste Geld zur¨ uck“ dr¨ ucken ” 2. Zustandsmenge Z = z1 , z2 mit der Bedeutung: z1 Automat wartet z2 bereit
Bild 2.10: Zustandsgraph des Getr¨ ankeautomaten
24
2 System-Modellierung 3. Ausgabezeichen y = y1 , y2 , y3 , y4 mit der Bedeutung: y1 Anzeige Zuerst Geld einwerfen“ ” y2 Ausgabe Getr¨ ank 1 y3 Ausgabe Getr¨ ank 2 y4 Ausgabe Geldbetrag Der Zustandsgraph im Bild 2.10 f¨ ur diesen Automaten ergibt sich, wenn man f¨ ur jeden Zustand einen Knoten zeichnet. Von jedem Knoten gehen so viele gerichtete Kanten aus, wie es Eingabezeichen gibt, die einen Zustands¨ ubergang ausl¨osen k¨onnen. Die Kanten sind durch das Eingabezeichen und das Ausgabezeichen markiert.
3
Graphentheorie
3.1
Grundlegende Begriffe
Die oben diskutierten verteilten Systeme, Zustandsmodelle oder Petri-Netze sind graphische Modelle. Deshalb sollen einige Grundbegriffe der Graphentheorie eingef¨ uhrt werden. Die Graphentheorie erm¨ oglicht es, komplexe Systeme zu beschreiben, deren einzelne Elemente in logischen Beziehungen zueinander stehen. Die Elemente des Systems sind die Knoten. Zwei Knoten werden durch eine verbindende Kante in eine Beziehung (Relation) gesetzt. Das Paar aus der Menge der Knoten und der Menge der Kanten wird Graph genannt [Neu75a]. Definition 3.1 Graph Ein Graph G = (V, E) besteht aus einer Menge V von Knoten und einer Menge E von Kanten mit V E = 0. Die Kanten dienen dazu, die Knoten miteinander zu verbinden.
Bild 3.1: Graph
Die Kanten sind als Verbindung der Knoten definiert. Die runden Klammern in der Def. 3.1 bedeutet, dass die Kanten in G ungerichtet“ sind. ” Definition 3.2 Gerichteter Graph Ein gerichteter Graph G = [V, E] ist ein Graph, in dem alle Kanten gerichtet sind. Eine gerichtete Kante heißt Pfeil.
Bild 3.2: Gerichteter Graph
Die eckigen Klammern in der Def. 3.2 bedeuten, dass die Kanten in G gerichtet“ sind. ”
26
3 Graphentheorie
Definition 3.3 Vorg¨ anger und Nachfolger Ein Knoten w eines gerichteten Graphen heißt unmittelbarer Nachfolger oder kurz Nachfolger eines Knoten k, wenn ein Pfeil [k, w] existiert. Ein Knoten v eines gerichteten Graphen heißt unmittelbarer Vorg¨ anger oder kurz Vorg¨ anger eines Knoten k, wenn ein Pfeil [v, k] existiert. Die Vereinigungsmenge der Vorg¨ anger und Nachfolger des Knoten k heißt Nachbarn von k. Bild 3.3: Vorg¨ anger/Nachfolger
Die Beziehung Vorg¨ anger eines Knoten k wird durch V (k) und die Beziehung Nachfolger eines Knoten k durch N (k) gekennzeichnet. Es kann mehrere Vorg¨anger und Nachfolger geben. Definition 3.4 Quelle und Senke Ein Knoten, der keine Vorg¨ anger besitzt, heißt Quelle. Ein Knoten ohne Nachfolger heißt Senke.
Bild 3.4: Quelle und Senke
Definition 3.5 Parallele Pfeile Zwei Pfeile werden parallel genannt, wenn sie denselben Anfangs- und Endknoten haben.
Bild 3.5: Parallele Pfeile
Definition 3.6 Schlinge Ein Pfeil heißt Schlinge, wenn sein Anfangs- und Endknoten miteinander u ¨ bereinstimmen.
Bild 3.6: Schlinge
3.1 Grundlegende Begriffe
27
Definition 3.7 Schlichter Graph Ein gerichteter Graph heißt schlicht, wenn er weder parallele Pfeile noch Schlingen besitzt.
Bild 3.7: Schlichter Graph
Die Verbindung [v, w] vom Knoten v nach w ist bei schlichten Graphen eindeutig. Definition 3.8 Endlicher Graph Ein Graph (ungerichtet oder gerichtet) heißt endlich, wenn sowohl die Knotenmenge als auch die Kanten- bzw. Pfeilmenge des Graphen endlich sind.
Definition 3.9 Digraph Ein endlicher schlichter gerichteter Graph heiß Digraph, der durch D gekennzeichnet wird. Bei Digraphen wird der Abstand zwischen einem Knoten v und seinem Nachfolger w durch das Kantengewicht g[v, w] dargestellt. Im Folgenden werden haupts¨ achlich Digraphen verwendet.
Definition 3.10 Pfeilfolge D = [V, E] sei ein Digraph. Eine Folge ek,1 , ...ek,s von Pfeilen ek,s ∈ E heißt Pfeilfolge oder gerichtete Kantenfolge in D, wenn eine Folge von Knoten, vi,0 , ..., vi,s , existiert, so dass ek,r = [vi,r−1 , vi,r ] ist. Als Bezeichnungsweise w¨ahlen wir F = [vi,0 , ..., vi,s ]. Die Folge F kann z.B. eine Route in einem Digraphen festlegen.
Definition 3.11 Pfeilweg Ein Pfeilweg oder kurz Weg ist eine offene Pfeilfolge [vi,0 , ..., vi,s ] mit lauter verschiedenen Knoten vk,r (r = 0, ..., s). Eine geschlossene Pfeilfolge [vi,0 , ..., vi,s ] mit demselben Anfangs- und Endknoten (vk,0 = vk,s ) und verschiedenen Zwischenkno” ten“ vk,r (vk,r = vk,0 und r = 1, ..., s − 1) heißt Zyklus oder Schleife. Zum Beispiel ist die Pfeilfolge [a, b, c, d] ein Weg und [a, b, c, d, e, f, a] eine Schleife.
Bild 3.8: Pfeilweg
Eine Semipfeilfolge ist eine Folge von Knoten und Pfeilen, in der die Pfeile nicht notwendigerweise die gleiche Orientierung besitzen. In Analogie dazu sind die Begriffe Semiweg und Semizyklus bzw. Semischleife definiert.
28
3 Graphentheorie
Satz 3.12 Jede offene Pfeilfolge F = [vi,0 , ..., vi,s ] enth¨alt genau einen von vi,0 nach vi,s f¨ uhrenden Weg. Beweis 3.13 vi,r sei ein Zwischenknoten in der Folge F , der entgegen Def. 3.11 zweimal in der Folge auftritt, d.h. F = [vi,0 , ..., vi,r , ..., vi,r , ..., vi,s ].
(3.14)
Dann l¨ asst sich die Teilfolge [vi,r , ..., vi,r ] durch einen Knoten ersetzen (Weglassen der Schleife). In der neuen Folge F = [vi,0 , ..., vi,r , ..., vi,s ]
(3.15)
tritt der Knoten vi,r jetzt nur noch einmal auf. So fahren wir entsprechend fort. Da bei jedem derartigen Schnitt eine neue k¨ urzere“ offene Pfeilfolge konstruiert wird, ” bricht das Verfahren nach endlich vielen Schnitten ab, und die zuletzt erhaltene Pfeilfolge ist ein Weg (nach Def. 3.11). Satz 3.12 ist bei der Bestimmung behilflich, ob ein Weg von einem Knoten v zum anderen Knoten w existiert. Bei der folgenden Definition weiß man sofort, dass mindestens ein Weg existiert, wenn w von v aus erreichbar ist. Definition 3.16 Erreichbarkeit Ein Knoten w eines Digraphen D = [V, E] heißt von einem Knoten v ∈ V aus erreichbar, wenn es in D eine Pfeilfolge mit dem Anfangsknoten v und dem Endknoten w gibt. Die Menge der von einem Knoten v aus erreichbaren Knoten wird mit (v) bezeichnet und die Menge derjenigen Knoten, von denen aus v erreichbar ist, mit (v). Des Weiteren sei ˙ (v) = (v) \ {v}
(3.17)
die Menge der von v aus erreichbaren, aber von v verschiedenen Knoten.
Definition 3.18 Stark zusammenh¨ angender Graph Ein Digraph heißt stark zusammenh¨ angend, wenn f¨ ur je zwei Knoten v und w sowohl w von v als auch v von w aus erreichbar ist.
Bild 3.9: Stark zusammenh¨ angender Graph
3.2 Graphen und Digraphen als Matrizen
29
Definition 3.19 Schwach zusammenh¨ angender Graph Ein Digraph wird schwach zusammenh¨ angend genannt, wenn f¨ ur je zwei Knoten v und w entweder w von v aus oder v von w aus erreichbar ist.
Bild 3.10: Schwach zusammenh¨ angender Graph
Es ist klar, dass ein stark zusammenh¨ angender Graph auch schwach zusammenh¨angend ist, aber nicht umgekehrt. Diese Definition kann bei der Erkennung von Entwurfsfehlern verwendet werden. Zum Beispiel soll evtl. jeder Zustand eines ereignisdiskreten Systems von den anderen aus erreichbar sein, d.h. der Zustandsgraph soll stark zusammenh¨angend sein.
3.2
Beschreibung von Graphen und Digraphen durch Matrizen
Graphen und Digraphen lassen sich durch Matrizen beschreiben, wodurch eine analytische Behandlung der Graphen erm¨ oglicht wird. Definition 3.20 Adjazenzmatrix Die dem Graphen G = (V, E) mit der Knotenmenge V = v1 , ..., vn und der Kantenmenge E zugeordnete quadratische nxn Matrix A(G) ⎡
a11 a12 ⎢ a21 a22 A(G) = [aij ] = ⎢ .. ⎣ .. . . an1 an2
⎤ · · · a1n · · · a2n ⎥ . ⎥ .. . .. ⎦ · · · ann
(3.21)
heißt Adjazenzmatrix von G. Das Element aij repr¨asentiert die Kante vom Knoten i zum Knoten j. aij ist 1, falls die Kante vom Knoten i zum Knoten j existiert, andernfalls ist aij gleich 0. aij :=
1, 0,
falls (vi , vj ) ∈ E sonst
(i, j = 1, . . . , n)
(3.22)
Entsprechend ergibt sich die Adjazenzmatrix A(D) f¨ ur einen Digraphen D = [V, E] mit den Elementen 1, falls [vi , vj ] ∈ E (i, j = 1, . . . , n) (3.23) aij := 0, sonst
30
3 Graphentheorie
In der Literatur werden bei einigen Autoren f¨ ur die Elemente der Adjazenzmatrix A wie in Definition 3.20 nur die Werte 0 und 1 zugelassen. Wir wollen f¨ ur die Elemente der Adjazenzmatrix auch Gewichte zulassen, die von 1 abweichen. Dadurch k¨onnen gewichtete Kanten von Digraphen direkt in der Adjazenzmatrix dargestellt werden. Anhand der Adjazenzmatrix kann man erkennen, ob ein Graph st¨arker oder schw¨acher zusammenh¨ angend ist. Ein Graph ist st¨arker zusammenh¨angend, wenn viele Elemente aij der Matrix A von 0 verschieden sind. Ist die Matrix A nur schwach besetzt, handelt es sich um einen schw¨ acher zusammenh¨angenden Graphen. Die Adjazenzmatrix eines stark zusammenh¨ angenden Digraphen ist irreduzierbar. Eine Matrix A heißt irreduzierbar, wenn es keine Permutationsmatrix P gibt, mit der A in eine obere Dreiecksmatrix A˜ = P T A P (3.24) transformiert werden kann. Die Transformation bewirkt eine Umnummerierung der Knoten vi , ohne die Struktur des Digraphen oder die Kantengewichte zu ¨andern. ⎤ ⎡ a ˜11 a ˜12 a ˜13 · · · a ˜1n ˜22 a ˜23 · · · a ˜2n ⎥ ⎢ 0 a ⎢ 0 0 a ˜ · · · a ˜3n ⎥ ⎥ 33 (3.25) A˜ = ⎢ ⎢ . . .. . . .. ⎥ ⎦ ⎣ .. .. . . . 0 0 0 ··· a ˜nn Die Gewichte einer reduzierbaren Matrix sind ≥ 0 f¨ ur j ≥ i a ˜ij := 0 f¨ ur j < i
(3.26)
¨ d.h. es gibt nur Uberg¨ ange von Knoten vi nach vj (j ≥ i), aber nicht umgekehrt. Der Digraph einer reduzierbaren Matrix ist damit nicht stark zusammenh¨angend. Ein irreduzierbarer Digraph besitzt Schleifen, die zyklisch durchlaufen werden k¨onnen. Die Zyklizit¨ at f¨ ur den gesamten Digraphen ist der gr¨oßte gemeinsame Teiler der Zyklizit¨ aten aller in dem Digraphen enthaltenen Schleifen. Ein Digraph heißt symmetrisch, wenn die Adjazenzmatrix symmetrisch ist, d.h. wenn zu jedem Pfeil ij ein Pfeil ji gleichen Gewichts existiert.
Definition 3.27 Inzidenzmatrix V = v1 , ..., vn sei die Knotenmenge und E = e1 , ..., em die Kanten- bzw. Pfeilmenge des betrachteten Graphen. el inzident vk heißt, dass die Kante el vom Knoten vk kommt oder zum Knoten vk f¨ uhrt. Die Inzidenzmatrix I(G) ⎡
i11 ⎢ i21 I(G) = ⎢ ⎣ .. . in1
⎤ i12 · · · i1m i22 · · · i2m ⎥ .. . . . ⎥ . .. ⎦ . in2 · · · inm
(3.28)
3.2 Graphen und Digraphen als Matrizen des Graphen G = (V, E) ist eine n × m-Matrix mit den Elementen 1, falls el inzident mit vk (k = 1, . . . , n; ikl := l = 1, . . . , m) 0, sonst
31
(3.29)
Analog ergibt sich die Inzidenzmatrix I(D) des Digraphen D = [V, E] mit den Elementen ⎧ ⎪ falls el positiv inzident mit vk ⎨ 1, (k = 1, . . . , n; (3.30) ikl := −1, falls el negativ inzident mit vk l = 1, . . . , m) ⎪ ⎩ 0, sonst el positiv inzident mit vk bedeutet, dass die Kante el vom Knoten vk wegf¨ uhrt, entsprechend heißt negativ inzident, dass die Kante el zum Knoten vk hinf¨ uhrt. In der Inzidenzmatrix entsprechen die Zeilen den Knoten und die Spalten den Kanten bzw. Pfeilen des Graphen bzw. Digraphen. Eine Kante erscheint zweimal, einmal in der Zeile des Knotens, von dem sie ausgeht, und ein weiteres Mal in der Zeile des Knotens, zu dem sie hinf¨ uhrt, alle weiteren Elemente der Spalte sind Null. Bei einem Digraphen ist die Spaltensumme der Inzidenzmatrix immer Null, da eine Kante von einem Knoten ausgeht und zu einem anderen Knoten hinf¨ uhrt. Diese Eigenschaft l¨asst sich zur Fehlerpr¨ ufung beim Aufstellen der Inzidenzmatrix nutzen. n
ikl = 0,
l = 1, . . . , n
(3.31)
k=1
Beispiel 3.32: Aufstellen der Adjazenz- und Indizenzmatrix F¨ ur den Digraphen aus Bild 3.11 ist die Adjazenzmatrix und die Inzidenzmatrix anzugeben. Die Adjazenzmatrix erh¨ alt man, indem man die Zeilen und Spalten der Matrix mit den Knotennummern durchnummeriert und dort eine 1 eintr¨agt wo eine Verbindung
Bild 3.11: Diagraph zum Aufstellen der Adjazenz- und Inzidenzmatrix
32
3 Graphentheorie (Pfeil) zwischen den Knoten besteht. Zum Beispiel geht der Pfeil a vom Knoten 1 zum Knoten 2, d.h. das Element a12 = 1.
1 2 3 4 5 6
1
2
3
4
5
6
0 0 0 0 0 0
1 0 0 0 0 1
0 1 0 0 0 0
0 1 1 0 0 0
0 0 1 1 0 0
0 0 0 0 1 0
Knoten
= A
Knoten Zum Aufstellen der Inzidenzmatrix nummeriert man die Zeilen mit den Knotennummern und die Spalten mit den Kanten- bzw. Pfeilbezeichnungen durch. Eine Zeile der Matrix gibt an, welche Kanten vom zugeordneten Knoten ausgehen (+1), bzw. in diesen m¨ unden (-1). In einer Inzidenzmatrix sind in jeder Spalte genau zwei Elemente von 0 verschieden. Wenn dies nicht der Fall ist, muss ein Fehler vorliegen. Zum Beispiel f¨ uhrt der Pfeil a aus dem Knoten 1 heraus, i1a = 1, und in den Knoten 2 hinein, i2a = −1.
1 2 3 4 5 6
a
b
c
d
e
f
g
h
1 –1 0 0 0 0
0 1 0 –1 0 0
0 1 –1 0 0 0
0 0 1 –1 0 0
0 0 0 1 –1 0
0 0 1 0 –1 0
0 0 0 0 1 –1
0 –1 0 0 0 1
Pfeil
= I
Knoten Aus einer Adjazenzmatrix A mit den Elementen aij l¨asst sich die zugeh¨orige Inzidenzmatrix I mit dem Elementen ikl ermitteln. Dazu wird f¨ ur jedes Matrizenelement aij (aij steht f¨ ur eine Kante) eine weitere Spalte l an die Inzidenzmatrix angef¨ ugt. In dieser Spalte wird in der i-ten Zeile eine 1 (iil = 1) f¨ ur den Ausgangspunkt der Kante und in der j-ten Zeile eine −1 (ijl = −1) f¨ ur den Endpunkt der Kante eingetragen, die restlichen Zeilen werden mit Nullen aufgef¨ ullt.
3.3 B¨ aume
3.3
33
B¨aume
B¨ aume und W¨alder sind spezielle Graphen und Digraphen. Definition 3.33 Baum Ein Baum ist ein schwach zusammenh¨ angender schleifenfreier Graph. Ein gerichteter Baum ist ein schwach zusammenh¨ angender schleifenfreier Digraph. Ein Baum heißt Wurzelbaum mit der Wurzel r (root), wenn r die Quelle eines Digraphen D ist und jeder der u ¨ brigen Knoten von D genau einen Vorg¨ angerknoten besitzt.
Bild 3.12: Wurzelbaum
In einem Baum wird der Vorg¨ anger eines Knotens als dessen Vater und die Nachfolger des Knotens als dessen S¨ ohne bezeichnet. Die Baumenden (Senken) eines gerichteten Baumes bezeichnet man auch als Bl¨ atter. Ein Weg oder Pfeilweg vom Wurzelknoten r bis zu einem Blatt wird Ast des Baumes genannt. Die Anzahl t der Pfeile vom Wurzelknoten r bis zu einem Knoten gibt die Tiefe des Knotens an. Der Wurzelknoten r besitzt die Tiefe 0. Die Tiefe des Wurzelbaumes T = max {t} ist die maximale Tiefe der Knoten im Wurzelbaum. Der Baum in Bild 3.13 besitzt nach dieser Definition die Tiefe T = 3. Definition 3.34 Bin¨ arbaum
Ein Bin¨ arbaum ist ein gerichteter Baum, bei dem jeder Knoten h¨ochstens zwei S¨ ohne besitzt. Ein Bin¨ arbaum B wird als balancierter Bin¨ arbaum (Bild 3.13) mit der Tiefe T ≥ 1 bezeichnet, wenn er sich durch die folgenden Eigenschaften charakterisieren l¨ asst:
Bild 3.13: Balancierter Bin¨ arbaum
1. B besitzt maximal 2t Knoten der Tiefe t 2. Die Knoten der Tiefe t sind alle so weit wie m¨oglich links angeordnet. Alle Knoten der Tiefe t mit zwei S¨ ohnen stehen links von den Knoten der Tiefe t mit keinem Sohn, und zwischen beiden existiert maximal ein Knoten mit genau einem Sohn.
34
3 Graphentheorie
Definition 3.35 Wald Ein Graph mit n schleifenfreien zusammenh¨angenden Komponenten heißt Wald W mit n B¨aumen. Das Bild 3.14 zeigt einen Wald, der sich aus zwei B¨ aumen zusammensetzt. Bild 3.14: Wald
Definition 3.36 Ger¨ ust Ein Ger¨ ust ist ein schwach zusammenh¨angender schleifenfreier Teilgraph eines Graphen, der alle Knoten des Graphen enth¨ alt. Nach dieser Definition ist jedes Ger¨ ust als Baum anzusehen. Ein gerichtetes Ger¨ ust eines Digraphen D stellt somit einen gerichteten Baum dar (Teildigraph von D), der alle Knoten des Digraphen enth¨ alt. In Bild 3.15 ist ein m¨ ogliches Ger¨ ust des Graphen durch fette Kanten hervorgehoben.
3.4
Bild 3.15: Ger¨ ust
Baumalgorithmus
Jeder Knoten eines Zustandsgraphen repr¨asentiert einen diskreten Systemzustand. Die einzelnen Zust¨ ande werden durch Kanten miteinander verbunden, welche die Zustands¨ uberg¨ ange repr¨ asentieren. Bild 3.16 zeigt einen Zustandsgraphen mit 5 Zust¨anden Z1 bis Z5. Wie beim Zustandsgraphen werden beim Erreichbarkeitsgraph die Systemzust¨ande durch die Knoten dargestellt. Außer den Zust¨anden interessiert jetzt auch, wie ein Folgezustand von einem Ausgangszustand aus erreicht werden kann. Bei einem Erreichbarkeitsgraphen handelt es sich somit um einen verfeinerten Zustandsgraphen. F¨ ur jeden Zustand zi im Zustandsgraphen gibt es eine Alternativenmenge
Bild 3.16: Zustandsgraph
3.4 Baumalgorithmus
35
Bild 3.17: Erreichbarkeitsgraph vom Zustand Z1
A(zi ) von Zust¨ anden, die von zi aus erreicht werden k¨onnen. F¨ ur den Zustand zi = Z1 ist die Alternativenmenge A(zi = Z1) = {Z2, Z3, und Z4}. Die Zust¨ande dieser Alternativenmenge bilden die erste Stufe im Erreichbarkeitsgraphen. Im n¨achsten Schritt werden f¨ ur die Zust¨ ande Z2, Z3 und Z4 die Alternativenmengen bestimmt und der Erreichbarkeitsgraph von zi = Z1 entsprechend erweitert. Der Vorgang wird so lange fortgesetzt, bis kein weiterer Knoten mehr erreichbar ist. Der Erreichbarkeitsgraph f¨ ur die Knoten, die vom Startknoten Z1 aus erreicht werden k¨onnen, ist in Bild 3.17 dargestellt. Aus Bild 3.17 ist zu erkennen, dass einzelne Zust¨ande des Zustandsgraphen mehrmals im Erreichbarkeitsgraphen enthalten sind, d.h. dass diese Zust¨ande u ¨ ber mehrere verschiedene Pfade erreichbar sind. Die Verfahren zur Erzeugung eines Baumes aller von einem Ausgangsknoten erreichbaren u ¨ brigen Knoten eines Graphen werden auch Baumalgorithmen genannt, da diese Verfahren jeweils einen gerichteten Baum mit dem Wurzelknoten r generieren, der alle von r aus erreichbaren Knoten enth¨alt. Dabei kann ein erreichbarer Knoten auf verschiedenen Routen erreicht werden. Funktionsweise eines Baumalgorithmus 1. Ausgangspunkt: F¨ ur jeden Knoten des zu untersuchenden Graphen wird ein Wurzelbaum der von ihm aus erreichbaren Knoten entwickelt. Der jeweils aktuelle Wurzelbaum wird mit T bezeichnet. F¨ ur jeden Knoten j wird eine Marke dj eingef¨ uhrt, die zur Aufnahme der bisher geringsten Kosten vom Startknoten r nach j dient. Der Knoten j wird in eine Menge Q neu markierter Knoten aufgenommen, wenn die bisher ben¨ otigten Kosten von r nach j weiter gesenkt werden k¨onnen. T besteht zu Beginn aus dem Startknoten r mit dr = 0 und dj = ∞ f¨ ur alle vom Startknoten r verschiedenen Knoten j sowie Q = r. 2. Iterationsschritt: Es wird jeweils ein Knoten i aus Q entfernt (zu Beginn nur der Knoten i = r) und jeder Nachfolger j von i daraufhin untersucht, ob seine Marke dj verbessert werden kann. Eine Verbesserung ist m¨oglich, wenn dj > di + cij ist.
36
3 Graphentheorie cij entspricht den Kosten vom Knoten i zum Knoten j. In diesem Fall setzt man dj = di +cij und nimmt j in Q auf. Anschließend wird der n¨achste Iterationsschritt ausgef¨ uhrt, d.h. der n¨ achste Knoten i aus der Menge Q entfernt. 3. Aufnahme von j in Q und Manipulation von T wie folgt: Enth¨alt der aktuelle Wurzelbaum T bereits einen Pfeil mit dem Endknoten j, wird dieser Pfeil durch [i, j] ersetzt und damit der bisher g¨ unstigste Weg verworfen. Enth¨alt der Wurzelbaum T noch keinen Pfeil mit dem Endknoten j, wird [i, j] zu T hinzugef¨ ugt. 4. Abbruchbedingung: Das Verfahren bricht ab, sobald keine Marke dj mehr verbessert werden kann. Dieser Fall ist gegeben, wenn Q gleich null ist und kein Nachfolger des zuletzt aus Q entfernten Knotens mehr in Q aufgenommen werden kann, d.h. Q leer bleibt.
Der beschriebene Baumalgorithmus generiert f¨ ur jeden Knoten v1 , . . . , vn eines Graphen einen Wurzelbaum T1 , . . . , Tn , der jeweils alle von r = i aus erreichbaren Knoten enth¨alt. Jeder Baum enth¨ alt die Wege minimaler Kosten zwischen den einzelnen Knoten. Beispiel 3.37: Erreichbarkeitsgraph F¨ ur den Knoten 2 und 3 des Graphen aus Bild 3.11 ergeben sich mit dem beschriebenen Baumalgorithmus, unter der Annahme, dass alle Wegl¨angen zu 1 angenommen werden, die beiden in Bild 3.18 dargestellten Wurzelb¨aume. In den B¨aumen sind jeweils alle vom Knoten 2 bzw. Knoten 3 aus erreichbaren Knoten enthalten.
a) von Knoten 2 aus erreichbare Knoten
b) von Knoten 3 aus erreichbare Knoten
Bild 3.18: Erreichbarkeitsgraph zum Graphen 3.11
Aus dem Bild 3.18a) l¨ asst sich eine Schw¨ache des beschriebenen Algorithmus erkennen. Knoten 5 und 6 sind von Knoten 2 u ¨ ber den Knoten 4 zu denselben Bedingungen wie u ¨ ber den Knoten 3 erreichbar. In dem Baum taucht aber nur der Weg u ¨ ber Knoten 3 auf, da dieser von dem Algorithmus zuerst u uft wird. ¨ berpr¨ Allgemein unterscheiden sich Baumalgorithmen darin, wie der Knoten i aus der Menge der noch zu untersuchenden (markierten) Knoten Q ausgew¨ahlt wird, und welche Datenstruktur f¨ ur die Implementierung der Menge Q verwendet wird. Kann jeder Knoten i nur
3.4 Baumalgorithmus
37
einmal aus der Menge Q entfernt beziehungsweise aufgenommen werden, handelt es sich um ein Label-Setting-Verfahren. Wenn dagegen der Knoten i mehrmals in Q aufgenommen und wieder entfernt werden kann, spricht man vom Label-Correcting-Verfahren. In Kapitel 6 wird ein algebraisches Verfahren vorgestellt, mit dem die Erreichbarkeit von Knoten und das Summenkantengewicht von der Wurzel bis zum zu erreichenden Knoten berechnet wird.
4
Markov-Theorie
4.1
Stochastische Zustandsmodelle ereignisdiskreter Systeme
Der Zustand in einem typischen ereignisdiskreten System ¨andert sich aufgrund der internen Ereignisse sprunghaft in zuf¨ alligen Zeitpunkten. Nach Ablauf einer Verweildauer ¨ andert sich der Systemzustand erneut. Die Verweilzeit eines Zustands ist in diesen Systemen eine stochastische Gr¨ oße. Zur Analyse des Systemverhaltens wird deshalb ein stochastisches Zustandsmodell ben¨ otigt. Wir wollen zuerst annehmen, das stochastische Zustandsmodell weise nicht die Markov-Eigenschaft auf.
z2 P{z2|z1} z1
P{z4|z2}
P{z1|z4} P{z2|z3}
P{z3|z1}
z4
P{z4|z1} z3
Bild 4.1: Zustandsmodell mit stochastischen Zustands¨ uberg¨ angen
4.1.1
Stochastische Prozesse
In diesem Abschnitt wollen wir kurz die Eigenschaften stochastischer Prozesse ins Ged¨ achtnis rufen. Ein stochastischer Prozess ist eine Klasse von Zeitfunktionen X(t, ζ) ,
(4.1)
deren Wert X eine stochastische Gr¨ oße (Zufallsgr¨oße) ist, die von den Versuchen ζ ∈ E abh¨ angen. Hierbei ist E der Erprobungsraum. Die Funktionswerte k¨onnen im Allgemeinen nicht explizit angegeben werden. Aus einem Funktionswert X(t1 , ζ) kann ein zuk¨ unftiger Funktionswert X(t2 , ζ) mit t2 > t1 nicht vorhergesagt werden.
40
4 Markov-Theorie
Beispiel 4.2: Fertigungsstreuungen [Pap65] Eine Fabrik stellt elektrische Generatoren her, die in ihren Werten streuen. Bei einer Erprobung ζ streuen die Amplitude A(ζ), die Kreisfrequenz ω(ζ) und der Phasenwinkel φ(ζ) von Generator zu Generator. Sie k¨onnen als stochastische Variablen aufgefasst werden. Damit ist der Ausgangsspannungsverlauf u ¨ ber der Zeit X(t, ζ) = A(ζ) sin[ω(ζ)t + φ(ζ)]
(4.3)
ein stochastischer Prozess. Ergodische Prozesse lassen sich durch ihre statistischen Kenngr¨ oßen wie Erwartungswert, Varianz, Korrelation beschreiben. Die daraus abgeleiteten Systemeigenschaften gelten nicht deterministisch in einem vorgegebenen Zeitpunkt t, sondern im Mittel u ¨ ber alle Zeitpunkte. F¨ ur ein festes ζ erh¨ alt man zu jedem Zeitpunkt t einen Wert xζ (t) := X(t, ζ). xζ (t) ist dann eine m¨ ogliche Trajektorie des Prozesses u ¨ ber der Zeit. Der Bezug auf ζ ∈ E wird aus Bequemlichkeit oft weggelassen. F¨ ur ein festes t ist X(t) eine stochastische Variable mit einer Wahrscheinlichkeitsdichteverteilung. Aus Vereinfachungsgr¨ unden wird auch t oft weggelassen. In diesem Fall ist immer eine feste Zeit t gemeint. Als Verteilungsfunktion F (x) der stochastischen Gr¨oße X(t) bezeichnet man die Funktion F (x) = P (X < x) .
(4.4)
In der Praxis sind zwei Typen von stochastischen Gr¨oßen von besonderer Bedeutung, die stetigen und die diskreten stochastischen Gr¨oßen. Stetige stochastische Gr¨ oßen Eine stochastische Gr¨ oße X heißt stetig, wenn sich ihre Verteilungsfunktion in folgender Weise darstellen l¨ asst: x F (x) =
f (y) dy .
(4.5)
−∞
Die Funktion f (x) heißt die Wahrscheinlichkeitsdichte der Verteilung [BS87] mit der Bedingung +∞ f (x) dx = 1 .
(4.6)
−∞
Bei gegebener Wahrscheinlichkeitsdichte erh¨alt man die Wahrscheinlichkeit daf¨ ur, dass die Zufallsgr¨ oße X in ein vorgegebenes Intervall f¨allt, aus (4.4) b f (x) dx = F (b) − F (a) .
P {a ≤ X < b} = a
(4.7)
4.1 Stochastische Zustandsmodelle
a) Wahrscheinlichkeitsdichte
41
b) Verteilungsfunktion
Bild 4.2: Wahrscheinlichkeitsdichte und Verteilungsfunktion einer stetigen stochastischen Gr¨ oße X
Bild 4.2 zeigt ein Beispiel f¨ ur die Wahrscheinlichkeitsdichte und die Verteilungsfunktion einer stetigen stochastische Gr¨ oße X. Diskrete stochastische Gr¨ oßen Eine stochastische Gr¨ oße X heißt diskret, wenn sie nur endlich oder abz¨ahlbar unendlich viele Werte annehmen kann. Die diskrete Gr¨oße X nimmt einen Wert xi mit der Wahrscheinlichkeit pi = P {X = xi }
(4.8)
an. pi wird auch als diskrete Wahrscheinlichkeit oder Einzelwahrscheinlichkeit bezeichnet. Die Gesamtheit aller Zahlenpaare (xi ,pi ) heißt Zustandsverteilung der Variablen X [Bos92]. Hierbei ist der Zustandsraum der Variablen X die Menge der Werte, die der Prozess annehmen kann. Bei diskreten Variablen lautet die Verteilungsfunktion (4.4) dann: F (x) =
pi .
(4.9)
xi tn + τe erfolgt insgesamt wieder mit der Wahrscheinlichkeit 1, wenn sich das System zum Zeitpunkt tn + τe noch im Zustand zi befindet. uber der nicht bedingDie residuelle Wahrscheinlichkeitsdichte fi (tn , τe , τr ) wird gegen¨ ¨ ten Wahrscheinlichkeitsdichte fi (tn , τ ) so lange vergr¨oßert, wie der Ubergang von zi in einen anderen Zustand noch nicht stattgefunden hat. Das heißt in fi (tn , τe , τr ) ist die Geschichte des Verweilens enthalten. In Bild (4.9) sind zwei unterschiedliche Wahrscheinlichkeitsdichten fi (tn , τ ) und hi (tn , τ ) und die dazugeh¨origen residuellen Wahrscheinlichkeitsdichten fi (tn , τe , τr ) und hi (tn , τe , τr ) dargestellt. F¨ ur fi (tn , τ ) ist die Restwahrscheinlichkeit 1−Fi (tn , τe ), dass sich das System zum Zeitpunkt tn +τe noch im Zustand zi befindet, groß. Die residuelle Wahrscheinlichkeitsdichte fi (tn , τe , τr ) ist die auf die Restwahrscheinlichkeit 1 − Fi (tn , τe ) bezogene Wahrschein-
46
4 Markov-Theorie
f,h
hi(tn,te,tr)
fi(tn,te,tr)
hi(tn,t) fi(tn,t) tn
tn+te
t
Bild 4.9: Wahrscheinlichkeitsverteilungen von Verweilzeit und Restverweilzeit
lichkeitsdichte fi (tn , τ ). Dadurch ist die Vorgeschichte des Ablaufs bis tn + τe ber¨ ucksichtigt. Bei hi (tn , τ ) ist die Restwahrscheinlichkeit 1−Hi (tn , τe ) kleiner als bei fi (tn , τ ). Entsprechend wird die residuelle Wahrscheinlichkeitsdichte hi (tn , τe , τr ) im Zeitpunkt tn + τe st¨ arker vergr¨ oßert. Aufgrund der unterschiedlichen Vorgeschichte besitzen die residuellen Wahrscheinlichkeitsdichten unterschiedliche Werte im Zeitpunkt τe , obwohl die Wahrscheinlichkeitsdichten im Zeitpunkt τe gleich sind. fi (tn , τe ) = hi (tn , τe ) ,
(4.18)
fi (tn , τe , 0) < hi (tn , τe , 0) .
(4.19)
Beispiel 4.20: Atomarer Teilchenzerfall In der Atomphysik nimmt man an, dass die Abnahmegeschwindigkeit der Teilchen im Mittel proportional zur Teilchenzahl sei. −
dN (τ ) = λ · N (τ ) . dτ
(4.21)
Der Vorgang des Teilchenzerfalls entspricht dem Verbleiben in einem Zustand des stochastischen Zustandsmodells. Die Zeit tn wird im Folgenden weggelassen. Durch
4.1 Stochastische Zustandsmodelle
47
Integration erh¨ alt man N (τ ) = N (0) · e−λτ .
(4.22)
Der Teilchenzerfall ist ein Zufallsprozess, der mit Wahrscheinlichkeiten beschrieben (τ ) wird. Die Wahrscheinlichkeit daf¨ ur, dass ein Anteil von N N (0) Teilchen nach der Zeit τ noch vorhanden ist, ist 1 − F (τ ) = e−λτ .
(4.23)
Die dazugeh¨ orige Wahrscheinlichkeitsdichte ist eine Exponentialfunktion. f (τ ) = λ · e−λτ .
(4.24)
Weil der Zerfall ein fortlaufender Prozess ist, ist die Wahl des Anfangszeitpunktes willk¨ urlich. 1. Man w¨ ahlt f¨ ur τ = 0 einen Anfangswert von N (0) Teilchen. Der relative Teilchenbestand geht mit 1 − F (τ ) gegen Null. Die dazugeh¨orige Wahrscheinlichkeitsdichte ist f (τ ). 2. Ebenso berechtigt ist es, den gleichen Zerfallsprozess erst ab dem Zeitpunkt τe = 0 zu betrachten. Dort ist die erwartete Teilchenzahl (1 − F (τe )) · N (0) .
(4.25)
Nimmt man diesen kleineren Anfangswert, so gehorcht der Zerfall der residuellen Wahrscheinlichkeitsdichte f (τe , τr ) =
f (τe + τr ) , 1 − F (τe )
τr = τ − τe ≥ 0 .
(4.26)
Bei einer Exponentialverteilung ist die residuelle Wahrscheinlichkeitsdichte f (τe , τr ) gerade gleich der um τe verschobenen Wahrscheinlichkeitsdichte f (τr ) = f (τ − τe ). f (τe , τr ) =
4.1.3
λ · e−λ(τe +τr ) = λ · e−λτr = λ · e−λ(τ −τe ) . 1 − (1 − e−λτe )
(4.27)
¨ Ubergangsrate aus einem Zustand
Es wird die bedingte Wahrscheinlichkeit daf¨ ur betrachtet, dass der Zustands¨ ubergang aus Z(tn + τe ) = zi in alle m¨ oglichen Folgezust¨ande Z(tn + τe + Δτe ) = zi im infinitesimalen Zeitintervall [tn + τe , tn + τe + Δτe ] erfolgt. tn sei weiterhin der Zeitpunkt des Eintretens in den betrachteten Zustand zi . Die bedingte Wahrscheinlichkeit P {Z(tn + τe + Δτe ) = zi | Z(tn + τe ) = zi }
(4.28)
48
4 Markov-Theorie
ist die Wahrscheinlichkeit f¨ ur das Verlassen des Zustands zi w¨ahrend der infinitesimalen Restzeitspanne τr = Δτe . Diese Wahrscheinlichkeit ist vom Anfangszeitpunkt tn und der bisherigen Verweilzeit τe im Zustand zi abh¨angig. Die Ableitung der beding¨ ten Wahrscheinlichkeit nach der Verweilzeit τe wird als Ubergangsrate λi (tn , τe ) des ereignisdiskreten Systems aus dem Zustand Z(tn + τe ) = zi bezeichnet. λi (tn , τe ) = = = = =
P {Z(tn + τe + Δτe ) = zi | Z(tn + τe ) = zi } (4.29) Δτe 1 P {Z(tn + τe + Δτe ) = zi ; Z(tn + τe ) = zi } lim Δτe →0 Δτe P {Z(tn + τe ) = zi } 1 Fi (tn , τe + Δτe ) − Fi (tn , τe ) lim 1 − Fi (tn , τe ) Δτe →0 Δτe 1 ∂Fi (tn , τe ) 1 − Fi (tn , τe ) ∂τe fi (tn , τe ) . (4.30) 1 − Fi (tn , τe ) lim
Δτe →0
Mit Gl. (4.17) ergibt sich λi (tn , τe ) = fi (tn , τe , 0) .
(4.31)
¨ Die Ubergangsrate λi aus dem Zustand zi ist ein singul¨arer Punkt der zugeh¨origen residuellen Wahrscheinlichkeitsdichte f¨ ur τr = 0. fi (tn , τe + τr ) 1 − Fi (tn , τe ) τe = 0
fi (tn , τ = τr )
τr = 0
λi (tn , τe )
¨ Mit Hilfe der residuellen Wahrscheinlichkeitsdichten k¨onnen die Ubergangsraten aus unterschiedlichen Systemzust¨ anden mit verschiedenen Zustandswahrscheinlichkeiten unmittelbar miteinander verglichen werden. Dies bildet z.B. die Grundlage f¨ ur die Fluss¨ balance der Ubergangsraten in einen Zustand zj hinein und aus dem Zustand zi heraus. In Bild 4.10 ist der Zusammenhang zwischen residueller Wahrscheinlichkeitsdichte und ¨ Ubergangsrate dargestellt. Beispiel 4.32: Ausfallrate Die Ausfallrate eines elektronischen Systems λ(τ ) ist durch die Beziehung λ(τ ) =
F˙ (τ ) f (τ ) = τ 1 − F (τ ) f (t)dt 0
(4.33)
4.1 Stochastische Zustandsmodelle
49
Bild 4.10: Zusammenhang zwischen bedingter Wahrscheinlichkeitsdichte fi (tn , τe , τr ) und Zustands¨ ubergangsrate λi (tn , τe )
gegeben. Dabei ist f (τ ) die Wahrscheinlichkeitsdichte f¨ ur die Betriebszeit bis zum Ausfall des Systems. Durch Integration erh¨alt man die Verteilungsfunktion τ − ln(1 − F (τ )) =
λ(t)dt 0
F (τ ) = 1 − exp −
τ λ(t)dt
(4.34)
0
und die Wahrscheinlichkeitsdichte
τ
f (τ ) = λ(τ ) · exp −
λ(t)dt
.
(4.35)
0
In praktischen Systemen ist λ(τ ) h¨ aufig nicht konstant (Bild 4.11). Die so genannte Badewannenkurve kann z.B. n¨ aherungsweise durch eine Weibull-Verteilung beschrieben werden. Diese hat die Wahrscheinlichkeitsdichte τ − γ β β τ − γ β−1 f (τ ) = · , (4.36) · exp − η η η wobei die Kurvenform durch die Parameter η charakteristische Lebensdauer ¨ Bei τ = η hat sich die Uberlebenswahrscheinlichkeit auf 0.37 verringert.
50
4 Markov-Theorie
λ(τ ) Fr¨ uhausf¨ alle Verschleißausf¨alle Konstante Ausfallrate
τ Bild 4.11: Badewannenkurve“ f¨ ur die Ausfallrate ”
β
γ
Formparamter β < 1 Fr¨ uhausf¨ alle, β = 1 Exponentialverteilung, β > 1 Verschleißausf¨ alle Zeitpunkt, ab dem Ausf¨ alle m¨oglich sind. γ > 0 Ausf¨ alle erst nach einiger Zeit (z. B. Korrosion), γ = 0 Ausf¨ alle ab Betriebsbeginn
bestimmt wird. Die Ausfallrate ist dann β τ − γ β−1 λ(τ ) = · . η η
(4.37)
Aus Gr¨ unden der Einfachheit wird h¨ aufig mit der Exponentialverteilung gerechnet, bei der die Ausfallrate konstant ist.
4.1.4
Markov-Folge
Die Markovsche Theorie ist eine wichtige mathematische Methode zur Beschreibung der Dynamik stochastischer Prozesse. Diese nehmen nacheinander unterschiedliche diskrete Zust¨ ande ein, entsprechend ihrer dynamischen Ver¨anderung. Markov-Prozesse basieren daher auf einer Zustandsbeschreibung des ereignisdiskreten Systems. Eine Markov-Folge ist eine Klasse von stochastischen Prozessen mit der speziellen Eigenschaft der Ged¨achtnislosigkeit. Der stochastische Prozess sei als eine zeitliche Folge (Trajektorie) Z(0) = z1 , Z(1) = z3 , Z(2) = z4 , Z(n − 1) = z5 , Z(n) = z2 , Z(n + 1) = z3 , . . .
(4.38)
von diskreten Zust¨ anden zi aus der Zustandsmenge z1 , ..., z5 einer Zufallsvariablen Z gegeben. Die Zeit t nehme nur bestimmte diskrete Werte an. Die Folge von Zust¨anden einer Zufallsvariablen Z wird zeitdiskrete Markov-Folge genannt, wenn die bedingte
4.1 Stochastische Zustandsmodelle
51
Wahrscheinlichkeit P {Z(n) | Z(n − 1), Z(n − 2), . . . , Z(0)} = P {Z(n) | Z(n − 1)}
(4.39)
f¨ ur den Zustands¨ ubergang in den Zustand Z(n) ausschließlich vom vorherigen Zustand Z(n − 1) abh¨ angt. F¨ ur den bedingten Erwartungswert gilt entsprechend E{Z(n) | Z(n − 1), Z(n − 2), . . . , Z(0)} = E{Z(n) | Z(n − 1)} .
(4.40)
Eine Markov-Folge wird homogen genannt, wenn die bedingte Wahrscheinlichkeit f¨ ur ¨ den Ubergang P {Z(n) | Z(n − 1)}
(4.41)
angig vom absoluten Zeitpunkt n ist. Eine Markov-Folge befindet sich außerdem unabh¨ in einer station¨ aren Zustandsverteilung, wenn die Zustandswahrscheinlichkeiten Π(n) = P {Z(n)} = Π ,
f¨ ur
n→∞
(4.42)
ur eine die wir im Folgenden mit Π bezeichnen, unabh¨angig vom Zeitpunkt n sind. F¨ zeitkontinuierliche Markov-Folge gilt entsprechend P {Z(tn ) | Z(tn−1 ), Z(tn−2 ), . . . , Z(t0 )} = P {Z(tn ) | Z(tn−1 )}
(4.43)
ur die station¨aren Zustandswahrscheinlichkeiten mit t0 ≤ ... ≤ tn−1 ≤ tn . Weiterhin gilt f¨ einer zeitkontinuierlichen Markov-Folge Π(tn ) = P {Z(tn )} = Π ,
f¨ ur
tn → ∞ .
(4.44)
Bemerkung 4.45 Nach den Betrachtungen von Markov besitzt der Markov-Prozess die Markoveigenschaft auch in umgekehrter Richtung [Pap65] P {Z(tn ) | Z(t), ∀t ≥ tn−1 } = P {Z(tn−1 ) | Z(tn ), tn ≥ tn−1 } .
(4.46)
Die Vergangenheit h¨ angt somit bis auf den unmittelbaren Folgezustand nicht von der Zukunft ab. Die Markoveigenschaft besagt, dass alle Informationen u ¨ ber die Vergangenheit eines ubergang enthalMarkov-Prozesses vollst¨ andig im Zustand Z(tn−1 ) vor dem Zustands¨ ten sind. Es h¨ angt auch ausschließlich vom Zustand Z(tn−1 ) ab, in welchen Folgezustand Z(tn ) der Prozess u ¨ bergehen wird. Daraus folgt aber, dass die bedingte Wahrscheinlichkeitsdichte f¨ ur die Zeit, wie lange der Prozess noch im Zustand Z(tn−1 ) verbleiben wird, unabh¨ angig von der Bedingung ist, wie lange sich der Prozess bereits in diesem Zustand befunden hat. Die Verteilung der Verweilzeiten in den einzelnen Zust¨anden besitzt demnach die Eigenschaft der Ged¨ achtnislosigkeit. F¨ ur den zeitdiskreten Fall entspricht dies der geometrischen Verteilung in Abschnitt 4.2.6, im zeitkontinuierlichen Fall wird diese Bedingung von der Exponentialverteilung erf¨ ullt (Abschnitt 4.3.2).
52
4.1.5
4 Markov-Theorie
Kausale Systeme
Das System sei durch eine lineare Differentialgleichung erster Ordnung dy − g(y, t) = x(t) dt
(4.47)
bestimmt. Die Integration ergibt f¨ ur kausale Systeme t y(t) =
t0 dy(t) =
−∞
t [g(y, t) + x(t)] dt +
−∞
y(t0 )
t y(t) = y(t0 ) +
(4.48)
t0
t g(y, t) dt +
t0
[g(y, t) + x(t)] dt ,
x(t) dt .
(4.49)
t0
Das Systemverhalten f¨ ur die Zeiten t ≤ t0 ist im Anfangswert y(t0 ) enthalten. Bei kausalen Systemen wird y(t0 ) nur durch x(t), t ≤ t0 beeinflusst. Dadurch ist die Systemantwort y(t), t > t0 nur abh¨ angig vom Anfangswert y(t0 ) und der Anregung x(t), t > t0 . Die Kausalit¨ at eines linearen dynamischen Systems entspricht damit der Markoveigenschaft stochastischer, dynamischer Prozesse. Zum Vergleich seien x(t) und y(t) jetzt kontinuierliche Zufallsvariable, wobei die Anregung x(t) unabh¨ angig von y(t) sein soll. Das Systemverhalten f¨ ur t ≤ t0 sei aufgrund der Kausalit¨ at wiederum im Anfangswert y(t0 ) enthalten. Als Vorbedingung habe y(t) in t0 den Anfangswert y(t0 ). Die Zufallsvariable y(t) h¨angt dann zus¨atzlich nur von der Anregung x(t) f¨ ur die Zeiten t > t0 ab. Durch die Vorbedingung y(t0 ) ist y(t) unabh¨angig von x(t) f¨ ur t ≤ t0 . Das heißt die bedingte Wahrscheinlichkeitsdichte f (y(t) | y(t0 ), y(t−1 ), . . . , y(t−n )) = f (y(t) | y(t0 ))
(4.50)
h¨ angt nur von der Vorbedingung y(t0 ) ab, mit t−n < ... < t−1 < t0 . Der Ausgang eines durch eine Differentialgleichung erster Ordnung beschriebenen kausalen Systems, das durch eine unabh¨ angige Zufallsvariable x(t) angeregt wird, hat die Markoveigenschaft. Bei akausalen Systemen h¨ angt der Anfangswert y(t0 ) von der Anregung x(t), t > t0 ab, und der Ausgang y(t), t > t0 von der Anregung x(t), t ≤ t0 . Bei akausalen Systemen ist deshalb obige Markoveigenschaft nicht gegeben.
Bild 4.12: Blockschaltbild eines linearen Systems
4.2 Zeitdiskrete Markov-Ketten
4.2
Zeitdiskrete Markov-Ketten (Discrete-Time Markov Chain: DTMC)
4.2.1
Markov-Eigenschaft
53
¨ Zeitdiskrete Markov-Ketten durchlaufen bei dynamischen Uberg¨ angen eine zeitliche Kette von diskreten Systemzust¨ anden (Zustandstrajektorie). Das System befindet sich zu jedem Zeitpunkt in einem dieser Zust¨ ande. Die Zustandsvariable Z ist deshalb diskret. Wenn die Zustandsmenge endlich ist, aus der sich die Markov-Kette zusammensetzt, heißt die Kette endliche Markov-Kette. Eine Markov-Kette heißt zeitdiskret, wenn Zustands¨ uberg¨ ange nur in diskreten Zeitpunkten m¨oglich sind. Dabei interessieren nicht die absoluten Zeitpunkte, sondern nur die Reihenfolge der Zust¨ande. Die Markov-Eigenschaft f¨ ur zeitdiskrete Zustandsketten sagt aus, dass die bedingten ¨ Ubergangswahrscheinlichkeiten nur vom gegenw¨artigen Zustand Z(n) abh¨angen, und nicht von weiter zur¨ uckliegenden Zust¨ anden. P {Z(n + 1) = zj | Z(n) = zi , Z(n − 1) = zh , . . .} = P {Z(n + 1) = zj | Z(n) = zi } .
(4.51)
Die Zustandsmenge sei zh , zi , zj ∈ Z = {z1 , . . . , zS } .
(4.52)
Diese Eigenschaft wird auch als memoryless“ bezeichnet. Die bedingte Ein-Schritt” ¨ Ubergangswahrscheinlichkeit vom Zustand zi in den direkten Nachfolgezustand zj ist pij (n, n + 1) = P {Z(n + 1) = zj | Z(n) = zi } ,
(4.53)
siehe Bild 4.13. Dabei gilt f¨ ur alle i, j S
pij (n, n + 1) = 1 .
(4.54)
j=1
Die Wahrscheinlichkeit, dass sich der Markov-Prozess zum Zeitpunkt n im Zustand zi aufh¨ alt, ist πi (n) = P {Z(n) = zi } .
4.2.2
(4.55)
Zeitdiskrete Zustandsu ¨berga¨nge
¨ Die Zustands¨ uberg¨ ange finden an diskreten Zeitpunkten statt. Man unterscheidet Uber¨ g¨ ange in einen Nachfolgezustand ohne Zwischenzustand und Uberg¨ange mit Zwischenzustand. Die Wahrscheinlichkeit daf¨ ur, dass sich das System nach k diskreten Schritten
54
4 Markov-Theorie
n,n+1 n,n+1
n,n+1
n,n+1
Bild 4.13: Bedingte Ein-Schritt¨ Ubergangswahrscheinlichkeit
im Zustand zj befindet, ist Summation u ¨ ber die Verbundwahrscheinlichkeiten P {Z(n + k) = zj } =
S
P {Z(n + k) = zj ; Z(n) = zi }
i=1
=
S
P {Z(n + k) = zj | Z(n) = zi } · P {Z(n) = zi } ,
(4.56)
i=1
πj (n + k) =
S
pij (n, n + k) · πi (n) .
(4.57)
i=1
ur den Zustand zj . In dieser Gleichung bezeichnet πj die Zustandswahrscheinlichkeit f¨ F¨ ur die Wahrscheinlichkeitsverteilung der Zust¨ande gilt insgesamt mit der Matrix ¨ P (n, n + k) der bedingten k-Schritt-Ubergangswahrscheinlichkeiten ΠT (n + k) = ΠT (n) · P (n, n + k) .
(4.58)
¨ Die bedingte k-Schritt-Ubergangswahrscheinlichkeit f¨ ur den Zustands¨ ubergang u ¨ ber (k − 1) Zwischenzust¨ ande ist pij (n, n + k) = P {Z(n + k) = zj | Z(n) = zi } .
(4.59)
Mit Hilfe der Chapman-Kolmogorov-Beziehung kann die Kette der Zwischenzu¨ st¨ ande in Uberg¨ ange mit k¨ urzerer Schrittweite aufgel¨ost werden. Mit einem Zwischenzustand Z(n + r) = zl ,
0 0 ist. Dazu muss die Summe im Nenner von Gl. (4.246) konvergieren. Das erfolgt unter zwei Bedingungen. I.
ρi =
λi
1 λ0 , S
S < ∞, i = 1, 2, . . .
(4.248)
sein. Damit wird die Reihe ∞ i=1
ai =
∞ λ0 λ1 . . . λi−1 i=1
μ1 μ2 . . . μi
=
i−1 ∞ λ0 $ i=1
μi
j=1
ρj < S
∞ i−1 $ i=1 j=1
ρj .
(4.249)
100
4 Markov-Theorie
Nach dem Kriterium von Weierstraß [BS87] konvergiert eine Reihe, wenn ihre Glieder ai kleiner sind als die Glieder Si einer Majorante. Dies gilt ab einem endlichen i = im , im+1 , . . . . ai =
i−1 i−1 $ λ0 $ ρj < S ρj = S i , μi j=1 j=1
ai+1 =
i i $ λ0 $ ρj < S ρj = Si+1 = Si ρi . μi+1 j=1 j=1
(4.250)
(4.251)
Die Glieder Si der Majorante nehmen wegen Si+1 = ρi Si < Si
(4.252)
ur gleiche Geburtsab, d.h. die Reihe der ai konvergiert unter diesen Bedingungen. F¨ und Sterberaten (λi = λ, μi = μ) wird ∞
ai =
i=1
∞ ∞ ρ λ i−1 i ρ = ρ = μ 1 − ρ i=1 i=1
(4.253)
und damit die station¨ aren Zustandswahrscheinlichkeiten
4.3.9
π0 = 1 − ρ ,
(4.254)
πk = ρk (1 − ρ) .
(4.255)
Poisson-Prozess
Der Poisson-Prozess ist ein Sonderfall des Birth-Death-Prozesses mit λk = λ ,
μk = 0 .
(4.256)
¨ Es finden nur Uberg¨ ange zu h¨ oheren Zust¨anden hin statt. Wegen der Verletzung der Bedingungen I und II gibt es keine station¨ are Zustandsverteilung. Der Zustand Z(t) = z0 ist nicht rekurrent. Aus Gl. (4.244) dπ0 (t) = −λπ0 (t) dt
(4.257)
π0 (t) = e−λt .
(4.258)
erh¨ alt man
Aus Gl. (4.243) f¨ ur μk = 0 dπk (t) = −λπk (t) + λπk−1 (t) dt erh¨ alt man entsprechend die Poisson-Verteilung πk (t) =
(λt)k −λt k! e
.
(4.259)
(4.260)
4.3 Zeitkontinuierliche Markov-Ketten
101
Beweis 4.261: Poisson-Verteilung Dies ist f¨ ur k = 0 in Gl. (4.258) bewiesen. Zur vollst¨andigen Induktion sei nun der Schritt von k auf k + 1 vollzogen. dπk+1 (t) = −λπk+1 (t) + λπk (t) dt (λt)k −λt e . = −λπk+1 (t) + λ k! Durch Einsetzen von πk+1 (t) =
(4.262)
(λt)k+1 −λt e (k + 1)!
(4.263)
erh¨ alt man die Identit¨ at λ(k + 1)
(λt)k+1 −λt (λt)k+1 −λt (λt)k −λt (λt)k −λt e e e e −λ = −λ +λ . (k + 1)! (k + 1)! (k + 1)! k! (4.264)
Der Poisson-Prozess gibt die Wahrscheinlichkeit an, dass sich das System zum Zeitpunkt t im Zustand zk befindet. πk (t) = P {Z(t) = zk } =
(λt)k −λt e . k!
(4.265)
¨ Dabei ist die konstante Ubergangsrate λ als Parameter vorgegeben. Der Erwartungswert der Zufallsgr¨ oße Z(t) ist E{Z(t)} =
∞ k=0
∞
k·
(λt)k−1 (λt)k −λt e = λt · e−λt = λt . k! (k − 1)! k=1 eλt
Bild 4.37: Poisson-Prozess
(4.266)
102
4 Markov-Theorie
Wenn der Zustand z(t) dem Z¨ ahlerstand eines stochastischen Z¨ahlprozesses entspricht, ¨ so ist die Ubergangsrate λ=
E{Z(t)} t
(4.267)
gerade gleich dem mittleren Z¨ ahlerstand pro Zeiteinheit. Das zweite Moment des PoissonProzesses ist E{Z 2 (t)} = =
∞ k=0 ∞
k2
(λk) −λt e k! ∞
k(k − 1)
k=0
(λk)k −λt (λk)k −λt e e + k k! k! k=0 λt
= (λt)2 e−λt
(4.268)
∞
(λk)k−2 +λt (k − 2)! k=2 eλt
2
= (λt) + λt . Die Varianz des Poisson-Prozesses ist σ 2 {Z(t)} = E{Z 2 (t)} − E 2 {Z(t)} = λt .
(4.269)
Satz 4.270: Summation von zwei unabh¨ angigen Poisson-Prozessen ¨ Die Summation von zwei unabh¨ angigen Poisson-Prozessen mit den Uber¨ gangsraten λ1 und λ2 , ergibt wieder einen Poisson-Prozess mit der Summen-Ubergangsrate λ = λ1 + λ2 . Beweis 4.271 Es seien Z1 (t) und Z2 (t) zwei voneinander unabh¨angige Poisson-Prozesse mit den ¨ Ubergangsraten λ1 und λ2 und den Zustandsverteilungen P {Z1 (t) = zk1 } =
(λ1 t)k1 −λ1 t e , k1 !
k1 = 0, 1, . . .
(4.272)
P {Z2 (t) = zk2 } =
(λ2 t)k2 −λ2 t e , k2 !
k2 = 0, 1, . . . .
(4.273)
und
Aus der Beziehung Z(t) = Z1 (t) + Z2 (t)
(4.274)
4.3 Zeitkontinuierliche Markov-Ketten
103
folgt der Summenzustand zk = zk1 + zk2 .
(4.275)
Die Verbundwahrscheinlichkeit daf¨ ur, dass die Zustandsvariablen Z1 (t) gleich k1 und und Z2 (t) gleich k2 sind, ist bei gegenseitiger Unabh¨angigkeit das Produkt der Einzelwahrscheinlichkeiten P {Z1 (t) = zk1 , Z2 (t) = zk2 } = P {z1 (t) = zk1 } · P {Z2 (t) = zk2 } =
(λ1 t)k1 −λ1 t (λ2 t)k2 −λ2 t e e · . k1 ! k2 !
(4.276)
Es wird nun u oglichen Kombinationen von zk1 und zk2 summiert, die auf ¨ ber alle m¨ den Summenzustand zk = zk1 + zk2 f¨ uhren (λ1 t)k1 (λ2 t)k2 −λ2 t e−λ1 t e , k2 = k − k1 P {Z(t) = zk } = k1 ! k2 ! k=k1 +k2
=
k (λ1 t)k1 −λ1 t (λ2 t)k−k1 −λ2 t e e k1 ! (k − k1 )!
k1 =0
= tk e−(λ1 +λ2 )t
k k1 =0
=
1 λk11 λk−k 2 k1 !(k − k1 )!
k 1 tk −(λ1 +λ2 )t k(k − 1) . . . (k − k1 + 1)λk11 λk−k 2 e k! k1 ! k1 =0
=
k tk −(λ1 +λ2 )t k e λk1 λk−k1 . k! k1 1 2 k1 =0
(4.277) Nach dem Binomischen Satz n n n n−1 1 n n−i i n n a + a b + ···+ a b + ··· + b (a + b)n = 0 1 i n n n n−i i a b , = i i=0 (4.278) erh¨ alt man die Wahrscheinlichkeit f¨ ur den Zustand Z(t) = zk P {Z(t) = zk } =
tk (λt)k −λt (λ1 + λ2 )k · e−(λ1 +λ2 )t = e . k! k!
(4.279)
Damit besitzt die Summen-Zustandsvariable Z(t) = Z1 (t)+ Z2 (t) auch eine Poisson¨ Verteilung mit der Ubergangsrate λ = λ1 + λ2 , d.h P {Z(t)} = e−λt
(λt)k . k!
(4.280)
104
4 Markov-Theorie
¨ Umgekehrt l¨ asst sich ein Poisson-Prozess mit der Ubergangsrate β in zwei PoissonProzesse mit β1 + β2 = β zerlegen. Es sind β1 = rβ und β2 = (1 − r) β (0 ≤ r ≤ 1). Zum Beweis braucht man nur die obige Ableitung in umgekehrter Richtung durchzuf¨ uhren.
4.4
Ereignisprozesse
4.4.1
Ereignisrate
Ereignisprozesse sind stochastische Prozesse, bei denen jeweils nach Ablauf der Ereignisintervallzeit τi ein Ereignis auftritt. Z¨ ahlt man parallel dazu die Zahl der Ereignisse, so ist der Z¨ ahlerstand die Zustandsgr¨ oße eines ereignisdiskreten Systems. Man spricht deshalb auch von Z¨ ahlprozessen (counting process). Ein anderer in der Statistik verwendeter Begriff ist der des Erneuerungsprozesses (renewal process). Wir gehen davon aus, dass die einzelnen Ereignisintervalle voneinander statistisch unabh¨ angig sind und dass sie die gleiche Wahrscheinlichkeitsdichte f (τ ) haben. Dies entspricht der Anforderung an einen station¨aren Ereignisprozess. Der wesentliche Unterschied des Ereignisprozesses zu den bislang behandelten Prozessen ist, dass der Zeitpunkt t zuf¨ allig ist, zu dem wir den Prozess mit einem Ereignisintervall τ betrachten. ¨ Bei den zeitkontinuierlichen Markov-Ketten erfolgte der Ubergang aus einem Zustand nach Ablauf der Verweilzeit (internes Ereignis). Bei Ereignisprozessen sind die Ereigniszeitpunkte durch die Eigenschaften des Prozesses definiert (externes Ereignis). Die Beobachtungspunkte t sind zuf¨ allig und stimmen nicht mit den Ereigniszeitpunkten tn u ¨ berein. Die Wahrscheinlichkeitsdichte der Ereignisintervalle ist f (τ ). Wollen wir nun den Erwartungswert A(t) = E{Z(t)}
Bild 4.38: Ereignisintervalle und zuf¨ alliger Beobachtungszeitpunkt t
(4.281)
4.4 Ereignisprozesse
105
der Zahl der Ereignisse im zuf¨ alligen Beobachtungsintervall [0, t] berechnen, so stoßen wir auf die Schwierigkeit, dass die Ereignisse von den Beobachtungsgrenzen abweichen. Die Ableitung von A(t) ist α(t) =
dA(t) dt
(4.282)
die Ereignisrate, d.h. die Dichte der Ereignisse im Beobachtungsintervall [0, t]. Aufgrund der eingangs vereinbarten Stationarit¨at muss die mittlere Ereignisrate f¨ ur große Intervalle konstant sein. Bei der Berechnung der Ereignisrate α(t) werden zwei F¨alle unterschieden: 1. Es tritt kein sicheres Ereignis im Beobachtungsintervall [0, t] auf. Die Beobachtungszeit t ist dann gleich der zuf¨ alligen Ereignisintervallzeit τ (Synchronit¨at von Beobachtungszeitpunkt und Ereigniszeitpunkt). t=τ . Die Wahrscheinlichkeitsverteilung der Ereignisintervallzeit ist A(t) = E{Z(t) = 1} = P {τ ≤ t} = F (t)
(4.283)
bzw. die Rate α(t) =
d A(t) = f (t) . dt
(4.284)
2. Es treten ein oder mehr Ereignisse im Beobachtungsintervall [0, t] auf. Die Beobachtungszeit t ist gr¨ oßer als die erste Intervallzeit τ . Die Wahrscheinlichkeit daf¨ ur, dass das erste Ereignis zum Zeitpunkt τ1 = τ auftritt, ist f (τ )dτ = P {τ ≤ τ1 ≤ τ + dτ } = P {τ1 = τ } ,
0 ≤ τ < t . (4.285)
Die mit dieser Wahrscheinlichkeit gewichtete Ereignisrate f¨ ur das restliche Beobachtungsintervall (t − τ ) α(t − τ ) · f (τ )dτ ,
0≤τ τ } = P {Z(tn + τ ) = 0} = π0 (τ ) = e−λτ .
(4.295)
Die Wahrscheinlichkeitsdichte der Intervall-Lebensdauer ist mit fτ (τ ) = −
d P {τn > τ } = λ · e−λτ . dτ
exponentialverteilt. Der Erwartungswert der Intervall-Lebensdauer ist ∞ ∞ 1 . E{τ } = τ · fτ (τ )dτ = λτ · e−λτ dτ = λ 0 0 Das zweite Moment ist E{τ 2 } =
∞
λτ 2 e−λτ dτ =
0
2 λ2
und die Varianz der Intervall-Lebensdauer 1 στ2 = E{τ 2 } − E 2 {τ } = 2 . λ
(4.296)
(4.297)
(4.298)
(4.299)
Der Poisson-Ereignisprozess kann durch verschiedene Aussagen charakterisiert werden. 1. Die Zustandswahrscheinlichkeiten der Ereignisz¨ahlerzust¨ande sind poissonverteilt πn (t) =
(λt)n −λt e . n!
(4.300)
2. Die Lebensdauern der Ereignisintervalle sind exponentialverteilt fτ (τ ) = λ · e−λτ .
(4.301)
3. Aufgrund der Exponentialverteilung der Lebensdauern sind auch die Restlebensdauern τr = τ − τe ab einem Beobachtungszeitpunkt t exponentialverteilt. fτ r (τ ) = λ · e−λτ .
(4.302)
Die Ereignisrate ist beim Poisson-Prozess α(s) =
λ 1 f (s) λ = · , = λ 1 − f (s) s + λ 1 − s+λ s
α(t) = λ .
(4.303) (4.304)
108
4 Markov-Theorie ¨ gleich der Ubergangsrate λ. Der Erwartungswert der Z¨ahlereignisse im Intervall [0, t] ist beim Poisson-Prozess t A(t) = α(t)dt = λt . (4.305) 0
4.4.3
Lebensdauer zufa¨llig angetroffener Ereignisintervalle
Werden die Zustands¨ uberg¨ ange durch externe Ereignisprozesse ausgel¨ost, so gibt es zwei m¨ ogliche Betrachtungsweisen der Ereignisintervall-Lebensdauer, die abh¨angig vom Beobachtungszeitpunkt sind. 1. Lebensdauer-Verteilung der Ereignisintervalle: Die Beobachtungszeitpunkte t sind genau die Zeitpunkte ti , an denen die Ereignisse auftreten. 2. Lebensdauer-Verteilung der zuf¨ allig angetroffenen Ereignisintervalle: Die Beobachtungszeitpunkte t sind zuf¨allig und stimmen nicht mit den Zeitpunkten ti u ¨ berein, an denen die Ereignisse auftreten. Die Wahrscheinlichkeitsverteilung der Lebensdauer τ˜n zuf¨allig angetroffener Ereignisintervalle berechnet sich aus der Beobachtung des externen Ereignisprozesses. Der Beobachtungszeitpunkt t wird zuf¨ allig von außen festgelegt. Bei der Berechnung der Lebensdauer-Verteilung gehen dadurch die unterschiedlichen Intervall¨angen τn nicht mehr wie bisher mit gleichem Gewicht ein. Ein zuf¨allig von außen auftretender Beobachter wird n¨ amlich mit gr¨ oßerer Wahrscheinlichkeit ein l¨angeres Intervall antreffen als ein k¨ urzeres. Dies liegt daran, dass die langen Intervalle einen gr¨oßeren Abschnitt auf der Zeitachse einnehmen als die kurzen. Die Lebensdauer-Verteilung zuf¨allig angetroffener Ereignisintervalle ist deshalb zu gr¨ oßeren Intervall¨angen hin verschoben. Die Wahrscheinlichkeit P {τ ≤ τ˜n ≤ τ + dτ } daf¨ ur, dass ein externer Beobachter im zuf¨alligen Zeitpunkt t ein Intervall der L¨ ange τ antrifft, ist proportional zur • L¨ ange τ dieses Intervalls auf der Zeitachse • Wahrscheinlichkeit P {τ ≤ τn ≤ τ + dτ } f¨ ur die Intervall¨ange. P {τ ≤ τ˜n ≤ τ + dτ } = const · τ · P {τ ≤ τn ≤ τ + dτ } ,
(4.306)
fτ˜n (τ )dτ = const · τ · fτ n (τ )dτ .
(4.307)
Bild 4.39: Lebensdauer-Intervalle eines externen Ereignisprozesses
4.4 Ereignisprozesse
109
Das Integral u ¨ ber die Wahrscheinlichkeitsdichte der Lebensdauer der zuf¨allig angetroffenen Intervalle muss auf ∞ fτ˜n (τ )dτ = 1 (4.308) 0
normiert sein. Daraus kann die Proportionalit¨atskonstante berechnet werden. ∞ const · τ · fτ n (τ )dτ = const · E{τ } = 1 , 0
const = α =
1 . E{τ }
(4.309)
Damit ist die Wahrscheinlichkeitsdichte der Lebensdauer der zuf¨allig angetroffenen Intervalle fτ˜n (τ ) = α · τ · fτ n (τ ) =
τ · fτ n (τ ) . E{τ }
(4.310)
Dies ist die Palm-Wahrscheinlichkeitsdichte [BB87]. Der Erwartungswert der Lebensdauern der zuf¨ allig angetroffenen Intervalle τ˜ ist mit ∞ ∞ 1 E{τ 2 } τ · fτ˜n (τ )dτ = τ 2 fτ n (τ )dτ = E{˜ τn } = E{τ } 0 E{τ } 0 (4.311) 2 στ = E{τ } + E{τ } h¨ oher als der Erwartungswert der Intervalllebensdauern τ , da ein zuf¨allig von außen ankommender Beobachter mit gr¨ oßerer Wahrscheinlichkeit gr¨oßere Intervalll¨angen antrifft. Beispiel 4.312: Erwartungswert eines zuf¨ allig angetroffenen, exponentialverteilten Intervalls Beim Poisson-Ereignisprozess ist der Erwartungswert der Lebensdauer der Ereignisintervalle E{τ } =
1 λ
und deren Varianz στ2 =
1 . λ2
Der Erwartungswert der Lebensdauer der von einem externen Beobachter zu einem zuf¨ alligen Zeitpunkt t angetroffenen Ereignisintervalle ist beim Poisson-Prozess mit E{˜ τn } = doppelt so groß.
2 λ
110
4 Markov-Theorie
Als N¨ achstes interessiert die Restlebensdauer τ˜r der zuf¨allig angetroffenen Intervalle. Der Beobachtungszeitpunkt t f¨ allt mit gleicher Wahrscheinlichkeit irgendwo in das angetroffene Intervall. Unter der Voraussetzung, dass ein Intervall mit der L¨ange τn angetroffen wurde, ist die bedingte Wahrscheinlichkeitsdichte f¨ ur die Lage von t in [0, τn ] gleichverteilt. Das Gleiche gilt f¨ ur die angetroffene Restlebensdauer τ˜r . F¨ ur die folgenden Berechnungen wird der angetroffenen Restlebensdauer τ˜r die Variable τ und der angetroffenen Lebensdauer τ˜n die Variable τn zugeordnet.
Bild 4.40: Bedingte Wahrscheinlichkeitsdichte der Restlebensdauer des zuf¨ allig angetroffenen Intervalls
Die bedingte Wahrscheinlichkeit f¨ ur die Restintervallzeit τ bei vorgegebener Intervalldauer τn ist die Gleichverteilung fτ˜r |˜τn (τ )dτ = P {τ ≤ τ˜r ≤ τ + dτ |τn ≤ τ˜n ≤ τn + dτn } 1 0 ≤ τ ≤ τn . = dτ , τn
(4.313)
Die Verbundwahrscheinlichkeit l¨ asst sich nach der Bayes-Formel aufspalten in fτ˜r ,˜τn (τ, τn )dτ = P {τ ≤ τ˜r ≤ τ + dτ ; τn ≤ τ˜n ≤ τn + dτn } = P {τ ≤ τ˜r ≤ τ + dτ |τn ≤ τ˜n ≤ τn + dτn } · P {τn ≤ τ˜n ≤ τn + dτn } .
(4.314)
Mit der Wahrscheinlichkeit der Lebensdauer der zuf¨allig angetroffenen Intervalle aus Gl. (4.310) P {τn ≤ τ˜n ≤ τn + dτn } = fτ˜n (τn )dτn = ατn fτ (τn )dτn ,
(4.315)
ur die Verbundwahrim Zeitpunkt t ein Intervall der L¨ ange τn anzutreffen, erh¨alt man f¨ scheinlichkeit 1 fτ˜r ,˜τn (τ, τn )dτ dτn = ατn fτ (τn )dτn dτ . (4.316) τn Die Wahrscheinlichkeit f¨ ur die angetroffene Restlebensdauer erh¨alt man durch Integration u ¨ ber τn auf die Marginaldichte ∞ fτ˜r ,˜τn (τ, τn )dτn dτ , (4.317) fτ˜r (τ )dτ = τn =τ
4.4 Ereignisprozesse
111
wobei die Bedingung τn ≥ τ bei den Integrationsgrenzen zu ber¨ ucksichtigen ist. ∞ fτ˜r (τ ) = α fτ (τn )dτn , τn =τ
(4.318)
= α (Fτ (∞) − Fτ (τ )) . Die Wahrscheinlichkeitsdichte der Restlebensdauer des zuf¨allig angetroffenen Ereignisintervalls ist damit fτ˜r (τ ) =
1 − Fτ (τ ) . E{τ }
(4.319)
Formulieren wir Gl. (4.319) um in τ 1 − fτ (τ ) dτ fτ˜r (τ ) =
0
E{τ }
,
(4.320)
so erhalten wir daraus mittels der Laplace-Transformation die charakteristische Funktion der Restlebensdauer des zuf¨ allig angetroffenen Ereignisintervalls. fτ˜r (s) =
1 − fτ (s) . s · E{τ }
(4.321)
Diese finden wir z.B. in Gl. (5.154) der charakteristischen Funktion f¨ ur die zuf¨allig angetroffenen Serviceintervalle in M/G/1-Warteschlangensystemen. Der Erwartungswert der Restlebendauer ist ∞ 1 E{˜ τr } = τ (1 − Fτ (τ )) dτ . (4.322) E{τ } 0 Partielle Integration ergibt
∞ ∞ 1 1 τ dτ − τ 2 Fτ (τ )|∞ + 0 E{τ } 2 0 0 ∞ 1 2 2 τ (1 − Fτ (τ )) |0 + E{τ } = 2E{τ }
E{˜ τr } =
1 2 τ fτ (τ )dτ 2
(4.323)
.
Der erste Ausdruck ist f¨ ur τ → ∞ unbestimmt ∞ · 0. Die Regel von l’Hospital ergibt lim τ 2 (1 − Fτ (τ )) =
τ →∞
1 lim τ 3 fτ (τ ) . 2 τ →∞
Dies ist nach dem Grenzwertsatz der Laplace-Transformation ∞ 1 2 lim τ (1 − Fτ (τ )) = lim s τ 3 fτ (τ )e−sτ dτ τ →∞ 2 s→0 0 ∞ , 1+ lim s · lim = τ 3 fτ (τ )e−sτ dτ s→0 0 2 s→0 1 = lim s · E{τ 3 } = 0 . 2 s→0
(4.324)
(4.325)
112
4 Markov-Theorie
Der Erwartungswert der Restlebensdauer eines zuf¨allig angetroffenen Ereignisintervalls ist damit E{τ 2 } 2E{τ } στ2 1 E{τ } + . = 2 E{τ }
E{˜ τr } =
(4.326)
Beispiel 4.327: Wartezeit eines Bahnreisenden Ein zuf¨ allig am Bahnhof eintreffender Reisender muss auf die Abfahrt des n¨achsten Zuges warten. Die Wartezeit entspricht der Restlebensdauer τ˜r des zuf¨allig angetroffenen Intervalls zwischen zwei Abfahrtereignissen. Bei einer deterministischen Abfahrtfolge der Z¨ uge haben die Intervalle die L¨ange 1/λ. Die Varianz στ2 der Ereignisintervalle ist null. Deterministisch: E{˜ τr } =
1 1 E{τ } = . 2 2λ
Bei exponentialverteilten Abfahrtintervallen ist deren Varianz 1/λ2 und damit E{˜ τr } =
1 στ2 1 1 E{τ } + = . 2 2 E{τ } λ
Die mittlere Wartezeit steigt mit der Varianz der Ereignisintervalle. Sie ist bei exponentialverteilten Intervallen doppelt so hoch wie bei deterministischen Intervallen. Deshalb arbeiten Verkehrsbetriebe mit festen, gleichabst¨andigen Abfahrtszeiten.
4.4.4
Bestimmung der Ereignisrate
Die Ereignisraten m¨ ussen in praktischen Anwendungen messtechnisch bestimmt werden. F¨ ur den Fall, dass die einzelnen Ereignisse wegen ihrer endlichen L¨ange und großen H¨ aufigkeit nicht mehr aufgel¨ ost und gez¨ ahlt werden k¨onnen, kann die Ereignisrate mit Hilfe des Campbell-Theorems [Kro91] bestimmt werden. Dies geschieht in den folgenden Schritten. 1. Wahrscheinlichkeitsverteilung der Zahl der Ereignisse Die Wahrscheinlichkeit, dass in einem Beobachtungsintervall T0 genau k Ereignisse auftreten, ist bekanntlich durch die Poisson-Verteilung P {Z(T0 ) = k} = e−αT0
(αT0 )k k!
(4.328)
gegeben. Die Zeitpunkte ti f¨ ur das Auftreten der Ereignisse sind zuf¨allig; zwei Zeitpunkte ti und tj seien voneinander statistisch unabh¨angig.
4.4 Ereignisprozesse
113
xk(t) aT >> 1
0
ti
tj
T0
t
Bild 4.41: Ereignisrate und Impulsantwort des erzeugenden Systems
2. Modellierung der realen Impulse Die mittlere Ereignisintervallzeit 1/α der Ereignisse sei klein gegen¨ uber der Zeitkonstanten T der Impulsantwort g(t) des Systems G(ω), das die Ereignisimpulse erzeugt. Daher u ¨ berlappen die Impulse. Der Signalverlauf xk (t) u ¨ ber der Zeit ergibt f¨ ur k Impulse die Summe der verschobenen Impulsantworten xk (t) =
k
g(t − ti ) ,
(4.329)
i=1
mit den zuf¨ alligen Zeitpunkten ti . 3. Autokorrelationsfunktion eines Signals mit k Ereignissen Die Autokorrelationsfunktion von xk (t) mit genau k Ereignissen in den Zeitpunkten ti innerhalb des Beobachtungsintervalls T0 ist f¨ ur station¨are Prozesse (T λi ,
i = 1 ,...,4 .
und die Summe 4
ki =
i=1
4 i=1
4λ0 2λ0 3λ0 2λ0 λi = + + + =3 . μi − λi μ1 − 4λ0 μ2 − 2λ0 μ3 − 3λ0 μ4 − 2λ0
Man erh¨ alt dann λ0 = 60/7 und λ1 = 240/7,
λ2 = 120/7,
λ3 = 180/7,
λ4 = 120/7 .
Die Belastungsrate ρi ist in allen Warteschlangensystemen gleich ρ1 =
λ1 3 3 . = , ρ2 = ρ3 = ρ4 = μ1 7 7
6
Max-Plus-Algebra
Ereignisdiskrete Systeme lassen sich durch Zustandsgraphen modellieren. Bei Annahme von stochastischen Zustands¨ uberg¨ angen werden diese Systeme zweckm¨aßigerweise mit Markov-Ketten beschrieben. Ein Beispiel f¨ ur stochastische Zustands¨ uberg¨ange sind Bauelemente-Ausf¨ alle, die mit gewissen Wahrscheinlichkeiten auftreten. Es gibt daneben zahlreiche technische Anwendungen, deren Verhalten ebenfalls durch Zustandsgraphen beschrieben wird, deren Zustands¨ uberg¨ ange aber notwendigerweise als deterministisch anzunehmen sind. Beispiele sind Worst-case-Absch¨atzungen wie die maximale Rechenzeit nebenl¨ aufiger, untereinander kausal abh¨ angiger Programme oder wie der Pfad minimalen Summenkantengewichts zwischen zwei Knoten in einem Digraphen. z. B. die k¨ urzestes Fahrzeit in einem Verkehrsnetz. Beim Entwurf von Echtzeitsystemen reicht die in der Theorie der Warteschlangen ermittelte mittlere Systemzeit τ d nicht aus. Anstelle der mittleren muss die maximale Systemzeit τd ≤ τd,max kleiner gleich einer oberen Schranke τd,max sein, welche durch die harten Echtzeitanforderungen vorgegeben ist. Bei der mathematischen Modellierung derartiger Anwendungen werden nichtlineare Maximum- und Minimum-Operationen ben¨ otigt. Will man den Durchlauf durch den Zustandsgraphen u ¨ ber mehrere Zwischenknoten beschreiben, so m¨ ussen diese nichtlinearen Operationen wiederholt angewendet werden. Dies ist in der klassischen, linearen Algebra nicht geschlossen darstellbar. Die Max-Plus-Algebra ist ein mathematisches Werkzeug, um derartige Problemstellungen zu bearbeiten. Trotz des nichtlinearen Operators Maximumbildung“ handelt es ” sich um eine lineare algebraische Struktur. Die Rechenregeln der gew¨ohnlichen Algebra behalten deshalb weitgehend ihre G¨ ultigkeit. Auch Vektoren und Matrizen k¨onnen in der Max-Plus-Algebra mit gewissen Einschr¨ankungen bearbeitet werden.
6.1
Max-Plus-algebraische Struktur
Das Konzept der Max-Plus-Algebra besteht darin, auf einer Grundmenge zwei Verkn¨ upfungsoperatoren max“ und plus“ zu definieren. Der Maximum-Operator, der mit ” ” dem Symbol ⊕“ bezeichnet wird, w¨ ahlt das gr¨oßere aus zwei Elementen. Er entspricht, ” wie durch die Bezeichnung ⊕ angedeutet, der Addition in der klassischen Algebra. Der Plus-Operator, der mit dem Symbol ⊗“ bezeichnet wird, bewirkt die Addition zwei” er Elemente. Er entspricht der Multiplikation in der klassischen Algebra. Um auch Minimums-Aufgaben l¨ osen zu k¨ onnen, wird die zur Max-Plus-Algebra isomorphe MinPlus-Algebra eingef¨ uhrt. Mit Einschr¨ ankungen k¨onnen Max- und Min-Operator auch miteinander verwendet werden.
192
6.1.1
6 Max-Plus-Algebra
Max-Plus-Algebra
Satz 6.1: Definition der Max-Plus-Algebra Die Max-Plus-algebraische Struktur (IRmax , ⊕, , ⊗, e) ist eine partielle Algebra. Sie stellt einen idempotenten, kommutativen Halbk¨orper (engl.: semifield) dar, ([Ihr88]). Auf der Grundmenge IRmax = IR ∪ {} = IR ∪ {−∞}
(6.2)
der um das konstante Element = −∞ erweiterten reellen Zahlen sind die beiden Operatoren ⊕ (Maximum) und ⊗ (Plus) definiert. Die Max-Plus-Addition ⊕ ist durch die Maximumbildung a ⊕ b = max{a, b} , ∀a, b ∈ IRmax
(6.3)
und die Max-Plus-Multiplikation ⊗ durch die herk¨ommliche Addition a⊗b=a+b
, ∀a, b ∈ IRmax
(6.4)
definiert. Das konstante Einselement e=0
(6.5)
stellt das neutrale Element bez¨ uglich des Operators ⊗ dar. Entsprechend ist das Nullelement = −∞
(6.6)
das neutrale Element bez¨ uglich des Operators ⊕. Der un¨are Inversions-Operator −1 bez¨ uglich ⊗ ist u ¨ ber x−1 ⊗ x = x ⊗ x−1 = e , ∀x =
(6.7)
definiert. Der Inversions-Operator ist wichtig bei der Integration des Minimum-Operators ⊕ in die Max-Plus-algebraische Struktur. Anschaulich spiegelt er die Elemente x an e = 0. Im Vergleich zu einer vollst¨ andigen algebraischen Struktur gibt es bei der Max-Plus-Algebra kein inverses Element zu bez¨ uglich des Operators ⊗, das in der Grundmenge IRmax enthalten ist. Der idempotente und kommutative Halbk¨orper IRmax , ⊕, , ⊗, e,−1 setzt sich aus einem Abelschen Monoiden (IRmax , ⊕, ) vom Typ (2, 0) und einer Abelschen Gruppe IRmax , ⊗, e,−1 vom Typ (2, 1, 0) zusammen. In der Abelschen Gruppe gibt es das zu inverse Element bez¨ uglich ⊗ nicht [Ihr88].
6.1 Max-Plus-algebraische Struktur
193
Satz 6.8: Axiome der Max-Plus-Algebra In der Max-Plus-algebraischen Struktur gelten f¨ ur die Elemente x, y, z ∈ IRmax die folgenden Axiome: Der Operator ⊕ 1.1. ist kommutativ: x ⊕ y = y ⊕ x 1.2. ist assoziativ: (x ⊕ y) ⊕ z = x ⊕ (y ⊕ z) 1.3. besitzt ein neutrales Element , das Nullelement: x ⊕ = ⊕ x = x 1.4. ist idempotent: x ⊕ x = x. Der Operator ⊗ 2.1. ist kommutativ: x ⊗ y = y ⊗ x 2.2. ist assoziativ: (x ⊗ y) ⊗ z = x ⊗ (y ⊗ z) 2.3. besitzt ein neutrales Element e, das Einselement: x ⊗ e = e ⊗ x = x 2.4. besitzt ein absorbierendes Nullelement : x ⊗ = ⊗ x = Weiterhin gilt die linksseitige Distributivit¨at bzgl. ⊕ 3.1. x ⊗ (y ⊕ z) = (x ⊗ y) ⊕ (x ⊗ z) at bzgl. ⊕ und die rechtsseitige Distributivit¨ 3.2. (x ⊕ y) ⊗ z = (x ⊗ z) ⊕ (y ⊗ z), die sich bei kommutativem ⊗ auf eine Gleichung reduzieren, sowie die Existenz eines inversen Elements x−1 bzgl. ⊗ : 4. x ⊗ x−1 = x−1 ⊗ x = e , ∀x = Verzichtet man auf die Eigenschaft 2.1. der Kommutativit¨at bez¨ uglich ⊗ sowie auf die Existenz 4. eines inversen Elementes x−1 , so wird aus dem idempotenten, kommutativen Halbk¨ orper ein Dioid. In diesem Fall sind beide Formulierungen der Distributivit¨at ¨ notwendig. Dies ist beispielsweise der Fall beim Ubergang von Skalaren auf Matrizen, die nicht bzgl. ⊗ kommutativ sind, und f¨ ur die anders als in der klassischen Algebra keine Inverse existiert.
194
6 Max-Plus-Algebra
Satz 6.9: Ordnungsrelation in der Max-Plus-Algebra In der Max-Plus-algebraischen Struktur wird mittels a≤b⇔a⊕b=b⊕a=b
, ∀a, b ∈ IRmax
(6.10)
eine Ordnungsrelation erkl¨ art. Daraus l¨asst sich a ≤ b ⇒ ∀c ∈ IRmax : (a ⊕ c ≤ b ⊕ c) und (a ⊗ c ≤ b ⊗ c)
(6.11)
ableiten.
6.1.2
Min-Plus-Algebra
Nach [BCOQ92] existiert neben der Max-Plus-Algebra eine dazu isomorphe, so genannte Min-Plus-Algebra (IR ∪ { }, ⊕ , , ⊗ , e ,−1 ). Dabei sind • ⊕ der Minimum-Operator, • ⊗ der Plus-Operator, • = +∞ das Nullelement und • e = 0 das Einselement. ¨ Zur Uberf¨ uhrung algebraischer Strukturen ineinander sind Abbildungen von Interesse, welche die Verkn¨ upfungen erhalten. Dies sind die im Folgenden definierten Homomorphismen.
Definition 6.12 Homomorphismus Ist Π : C → D eine Abbildung von C nach D, so heißt Π Homomorphismus von C nach D, wenn gilt: 1. ∀x, y ∈ C : Π(x ⊕C y) = Π(x) ⊕D Π(y) ∈ D 2. Π(C ) = D 3. ∀x, y ∈ C : Π(x ⊗C y) = Π(x) ⊗D Π(y) ∈ D 4. Π(eC ) = eD Dabei stellen und e die neutralen Elemente bzgl. der Operationen ⊕ bzw. ⊗ dar. Ist eine solche Abbildung bijektiv, so sind u ¨ ber diese Abbildung Elemente einander eindeutig zugeordnet.
6.1 Max-Plus-algebraische Struktur
195
Definition 6.13 Isomorphismus Ist Π ein Homomorphismus von C nach D und ist die Abbildung Π bijektiv, so ist Π ein Isomorphismus zwischen C und D. Ein Isomorphismus zwischen C und D bedeutet, dass ein Homomorphismus Π : C → D und gleichzeitig ein Homomorphismus Π−1 : D → C existiert. Dazu muss die Abbildung Π zwangsl¨ aufig bijektiv sein. Satz 6.14: Isomorphismus Min-Plus- zu Max-Plus-Algebra Die Min-Plus-Algebra ist isomorph zur Max-Plus-Algebra. Die Abbildung der Elemente lautet dabei Π(x) = −x = x−1
,
Π−1 (x) = −x = x−1 ,
(6.15)
d.h. die Elemente werden an e = 0 gespiegelt. Die Abbildung der Operatoren ergibt Π(⊕) = ⊕
(Max → Min)
,
Π(⊗) = ⊗
(Plus → Plus),
(6.16)
und die inverse Abbildung ist Π−1 (⊕ ) = ⊕
(Min → Max) ,
Π−1 (⊗ ) = ⊗
(Plus → Plus).
(6.17)
Somit sind die Anforderungen aus den Definitionen (6.12) und (6.13) erf¨ ullt. Im Folgenden ist dargestellt, wie sich der Isomorphismus zwischen der Max-Plus- und der Min-Plus-Algebra auswirkt. Es gelte hierzu in der Max-Plus-Algebra die Beziehung a ⊕ b = c.
(6.18)
In der dazu isomorphen Min-Plus-Algebra muss dann Π(a) ⊕ Π(b) = Π(c) a−1 ⊕ b−1 = c−1
(6.19) (6.20)
gelten. Das ist in Bild 6.1 skizziert. Die Minimumbildung der inversen Elemente ergibt a−1 ⊕ b−1 = (−a) ⊕ (−b) = [b − (a ⊗ b)] ⊕ [a − (a ⊗ b)] = (a ⊕ b) − (a ⊗ b).
(6.21) (6.22)
Andererseits gilt a−1 ⊕ b−1 = c−1 = −c = −(a ⊕ b).
(6.23) (6.24)
Durch Gleichsetzen der beiden Ergebnisse erh¨alt man die Minimumbildung a ⊕ b = (a ⊗ b) − (a ⊕ b).
(6.25)
196
6 Max-Plus-Algebra c
b a
e=0
a−1 b−1
c−1
Bild 6.1: Isomorphismus zwischen Max-Plus- und Min-Plus-Algebra
Beispiel 6.26: Minimumbildung zweier Skalare Die Minimumbildung zweier Skalare a und b soll mit Hilfe der Operatoren ⊗ (Plus) und ⊕ (Max) durchgef¨ uhrt werden. F¨ ur a = 3 und b = 5 folgt (3 ⊕ 5) = (3 ⊗ 5) − (3 ⊕ 5) = 8 − 5 = 3.
(6.27)
Die Minimum-Operation ⊕ kann mit Hilfe des Inversions-Operators c−1 = −c durch die Maximum- und Plus-Operationen entsprechend Gl. (6.25) ersetzt werden. Es gilt a ⊕ b = − ((−a) ⊕ (−b)) , a ⊕ b = − ((−a) ⊕ (−b)) .
(6.28) (6.29)
F¨ ur die Nullelemente gilt = −1 = −(−∞) = +∞
(6.30)
und f¨ ur das Einselement e = e−1 = −(0) = 0 = e.
6.1.3
(6.31)
Bin¨are Max-Plus-Algebra
Reduziert man die Grundmenge der Max-Plus-Algebra auf die zwei Elemente und e, die per Definition in der Grundmenge enthalten sein m¨ ussen, so erh¨alt man die Boolesche Algebra.
6.1 Max-Plus-algebraische Struktur
197
Satz 6.32: Boolesche Algebra Die Boolesche Algebra ({, e}, ⊕, , ⊗, e, ) ist eine algebraische Struktur gem¨aß Satz 6.1. Lediglich der un¨ are Operator −1 der Inversion ist aufgrund der zweiwertigen Grundmenge durch die Negation zu ersetzen. Dabei gilt =e ,
e = .
(6.33)
In Analogie zur klassischen Booleschen Algebra kann man die Zuordnung =0 ˆ ,
e=1 ˆ
,
⊕=∨ ˆ ,
⊗=∧ ˆ
(6.34)
vornehmen. Es gelten die folgenden Beziehungen: x ⊗ (y ⊕ z) x ⊕ (y ⊗ z) x⊗ x⊕e x⊗x x⊕x
= = = = = =
(x ⊗ y) ⊕ (x ⊗ z) , ∀x, y, z ∈ {, e}, (x ⊕ y) ⊗ (x ⊕ z) , ∀x, y, z ∈ {, e}, , ∀x ∈ {, e}, e , ∀x ∈ {, e}, , ∀x ∈ {, e}, e , ∀x ∈ {, e}.
(6.35) (6.36) (6.37) (6.38) (6.39) (6.40)
Die bin¨ aren Elemente der Grundmenge kann man als e= ˆ wahr“ und = ˆ unwahr“ inter” ” pretieren.
6.1.4
Max-Plus-Matrix-Dioide
Aus dem skalaren, idempotenten, kommutativen Halbk¨orper der Max-Plus-Algebra l¨asst sich ein Matrix-Dioid ableiten [BCOQ92]. Die Elemente des Matrix-Dioiden seien Matrizen mit beliebiger, aber fester Dimension n × m aus dem Wertebereich IR(n×m) max . In Analogie zur herk¨ ommlichen Algebra werden die Operatoren ⊕ und ⊗ als Kombination der entsprechenden Skalaroperationen definiert.
Definition 6.41 Maximum- und Plus-Operatoren in Max-Plus-Matrix-Dioiden Gegeben seien die beiden Matrizen A = [aij ]
,
B = [bij ] , ∀i = 1, . . . , n, j = 1, . . . , m
(6.42)
der Dimension n × m. Dann ist die Maximum-Operation A ⊕ B = [aij ⊕ bij ]
, ∀i = 1, . . . , n, j = 1, . . . , m
die elementweise Maximum-Operation.
(6.43)
198
6 Max-Plus-Algebra
Entsprechend ist die Plus-Operation der Matrix A der Ordnung n×m und der Matrix B der Ordnung m × n * ) m 2 A⊗B = , ∀i, j = 1, . . . , n, k = 1, . . . , m (6.44) aik ⊗ bkj k=1
definiert. Im Folgenden wird davon ausgegangen, dass bei den verwendeten MatrixMultiplikationen stets die Anzahl der Spalten des linken Multiplikators gleich der Anzahl der Zeilen des rechten Multiplikators ist, d.h. die Dimensionen der beteiligten Faktoren stets dementsprechend in Beziehung stehen. Die skalare Gewichtung der (n × m)-Matrix A mit einem skalaren Faktor c ergibt die Plus-Bildung aller Elemente aij mit c c ⊗ A = [c ⊗ aij ] , ∀i = 1, . . . , n, j = 1, . . . , m.
(6.45)
Es handelt sich bei obiger Struktur um einen Dioiden und nicht um einen kommutativen Halbk¨ orper, weil die Matrizen bez¨ uglich des Plus-Operators ⊗ im Allgemeinen nicht kommutativ sind A ⊗ B = B ⊗ A,
(6.46)
und weil wegen der Nichtlinearit¨ at der Maximumbildung keine Matrizen-Inverse wie in der klassischen Algebra existiert.
Definition 6.47 Null- und Einselement in Max-Plus-Matrix-Dioiden Das Nullelement N bei Addition von Matrizen der Dimension n × m ist eine Matrix der Dimension n × m ⎛ ⎞ ... ⎜ ⎟ N = ⎝ ... . . . ... ⎠ . (6.48) ... Entsprechend ist das Einselement f¨ ur die Multiplikation von Matrizen der Dimension n×n ⎛ ⎞ e ... ⎜ .. ⎟ ⎜ e .⎟ ⎜ ⎟. (6.49) I =⎜. ⎟ . . . ... ⎠ ⎝ .. ... ... e
6.1 Max-Plus-algebraische Struktur
199
Das Nullelement N ist das neutrale Element bzgl. des Operators ⊕, A ⊕ N = A,
(6.50)
und besitzt bzgl. des Operators ⊗ absorbierende Wirkung: A ⊗ N = N.
(6.51)
Das Einselement I ist das neutrale Element bzgl. des Operators ⊗, A ⊗ I = A.
(6.52)
Definition 6.53 Transponierte einer Matrix A der Dimension n × m Die transponierte Matrix AT ergibt sich aus der Matrix A durch Vertauschen von Zeilen und Spalten. A = [aij ]
=⇒
AT = [aji ]
, ∀i = 1, . . . , n, j = 1, . . . , m
(6.54)
Es gilt
AT
T
= A.
(6.55)
F¨ ur m = 1 ist das Innenprodukt zweier Vektoren der Dimension n × 1 xT ⊗ y =
n 2
xi ⊗ yi
(6.56)
i=1
ein Skalar. Entsprechend ist das dyadische Produkt zweier Vektoren der Dimension n×1 x ⊗ y T = [xi ⊗ yj ]
, ∀i, j = 1, . . . , n
(6.57)
eine quadratische Matrix. Beispiel 6.58: Max-Plus-Multiplikation von Matrizen Exemplarisch ist die Multiplikation zweier Max-Plus-Matrizen durchgef¨ uhrt. F¨ ur deren Produkt ergibt sich:
1 0 −3
⊗
2 −1 3 2
(1 ⊗ 2) ⊕ (0 ⊗ 3) (1 ⊗ −1) ⊕ (0 ⊗ 2) = ( ⊗ 2) ⊕ (−3 ⊗ 3) ( ⊗ −1) ⊕ (−3 ⊗ 2) 3⊕3 0⊕2 3 2 = = ⊕ 0 ⊕ −1 0 −1
(6.59)
200
6 Max-Plus-Algebra
Die Gewichtung einer Matrix mit einem Skalar berechnet sich zu 3 2 3⊗a 2⊗a a⊗ = . 4 1 4⊗a 1⊗a
(6.60)
Mittels des zus¨ atzlichen Matrix-Operators f¨ uhrt [Gau92] die elementweise Multiplikation von Matrizen ein, die als Hadamard-Multiplikation bezeichnet wird.
Definition 6.61 Hadamard-Multiplikation Die Hadamard-Multiplikation zweier Matrizen A = [aij ], B = [bij ] gleicher Dimension n × m ist definiert als die elementweise Multiplikation A B = [aij ⊗ bij ]
, ∀i = 1, . . . , n, j = 1, . . . , m.
(6.62)
Die Hadamard-Multiplikation im Max-Plus-Matrix-Dioid ist der Matrizenaddition der klassischen Algebra gleichwertig. F¨ ur die Hadamard-Multiplikation gelten Kommutativit¨ at, Assoziativit¨ at sowie die beiden Distributiv-Gesetze A (B ⊕ C) = (A B) ⊕ (A C)
(6.63)
(A ⊕ B) C) = (A C) ⊕ (B C).
(6.64)
und
Die mehrfache Multiplikation ⊗ einer Matrix mit sich selbst, welche beispielsweise bei der Beschreibung von Wegen in Digraphen verwendet wird, f¨ uhrt auf Matrix-Potenzen. Definition 6.65 Potenz einer quadratischen Matrix der Dimension n × n Die k-te Potenz der quadratischen Matrix A ist die k-fache Max-Plus-Multiplikation Ak = A ⊗ A ⊗ . . . ⊗ A =
k 5
A
, ∀k ∈ IN, k ≥ 1.
(6.66)
i=1
Es gilt A0 = I
(6.67)
und weiterhin Ak = Ak−1 ⊗ A , k ≥ 1.
(6.68)
6.1 Max-Plus-algebraische Struktur
201
F¨ ur die weiteren Betrachtungen ist eine Operation hilfreich, die Matrizen punktweise an e = 0 spiegelt. Hierf¨ ur wird der Inversions-Operator −1 verwendet. Bereits aufgrund der Definition wird klar, dass mittels −1 keineswegs eine bzgl. ⊗ inverse Matrix berechnet wird. Definition 6.69 Inversions-Operator in Max-Plus-Matrix-Dioiden Gegeben seien der Vektor x der Dimension m × 1 x = [xj ] , ∀j = 1, . . . , m
(6.70)
und die Matrix A der Dimension n × m A = [aij ] −1
Der Operator
x−1 −1
A
, ∀i = 1, . . . , n, j = 1, . . . , m.
(6.71)
wirkt auf jedes einzelne Element. = [−xj ] = x−1 j −1 = aij = [−aij ]
(6.72) (6.73)
Es sei noch einmal darauf hingewiesen, dass im Allgemeinen A ⊗ A−1 = I gilt, und somit
−1
(6.74)
nicht die Matrix-Inverse im u ¨ blichen Sinne darstellt.
Beispiel 6.75: Multiplikation einer Matrix mit ihrer Max-Plus-Inversen Die Matrix A sei 2 −1 A= . 3 2 Ihre Multiplikation mit der Inversen A−1 nach Definition (6.69) ergibt
2 −1 3 2
⊗
2 −1 3 2
−1
=
0 3 1 4
=
0 −∞ −∞ 0
.
Anhand dieses Beispiels wird noch einmal verdeutlicht, dass es sich bei A−1 nicht um die zu A inverse Matrix im u ¨ blichen Sinne handelt. Definition 6.76 Potenzen von Matrizen ([Bor00]) Die Potenzoperation wird im Folgenden f¨ ur vektorielle Exponenten und MatrixExponenten definiert. Bei der Potenzbildung sind dabei drei F¨alle zu unterscheiden:
202
6 Max-Plus-Algebra
• Handelt es sich bei der Basis A und bei dem Exponenten B um Matrizen gleicher Dimension n × m, ist die Potenzoperation elementweise definiert. b
AB = [aijij ] , ∀i = 1, . . . , n , j = 1, . . . , m .
(6.77)
Die Potenzoperation in Max-Plus-Dioiden entspricht einer elementweisen Multiplikation in der klassischen Algebra. • Ist die Basis A dagegen ein Vektor oder eine Matrix der Dimension n × m und der Exponent ein Vektor b der Dimension n × 1, wird die Potenzoperation zeilenweise durchgef¨ uhrt. Ab = [abiji ] , ∀i = 1, . . . , n , j = 1, . . . , m .
(6.78)
• Ist der Exponent B eine Matrix der Dimension n × m und die Basis a ein Vektor der Dimension n×1, dann ist die Potenzoperation ebenfalls zeilenweise definiert. b
aB = [ai ij ] , ∀i = 1, . . . , n , j = 1, . . . , m .
(6.79)
Das Ergebnis ist in allen drei F¨ allen eine Matrix der Dimension n × m. Bez¨ uglich der Potenzoperation f¨ ur Vektor- und Matrizenexponenten gelten Kommutativit¨ at AB = B A
(6.80)
und Assoziativit¨ at B C C = A(B ) . A
(6.81)
Bei der Potenzierung von Matrizen der Dimension n × m gilt f¨ ur das neutrale Element 1 ⎛ ⎞ 1 ... 1 ⎜ .. . . .. ⎟ 1 A A = 1 = A , mit 1 = ⎝ . . . ⎠ . (6.82) 1 ... 1 Das Element N besitzt absorbierende Wirkung: AN = N A = N .
(6.83)
Beispiel 6.84: Binarisierung von Matrizen Die Potenzoperation kann zur Binarisierung von Matrizen eingesetzt werden. Durch Potenzieren der Matrix ⎞ ⎛ 6 −2 ε A = ⎝ ε ε −3 ⎠ . 2 ε ε
6.1 Max-Plus-algebraische Struktur
203
mit der Matrix ⎛
⎞ e e e E = ⎝e e e⎠ . e e e
kann die Matrix A in eine bin¨ are Matrix ⎞ ⎛ e e ε Bin{A} = AE = ⎝ ε ε e ⎠ . e ε ε u uhrt werden. ¨ berf¨ Alternativ kann die Binarisierung mit der Hadamard-Multiplikation erfolgen. Damit erh¨ alt man Bin{A} = A A−1 . Dabei wird entsprechend Gl. (6.163) ε ⊗ ε−1 = ε ⊗ = ε verwendet. Das maximale Element = ε−1 = +∞.
6.1.5
Erweiterte Matrix-Dioide ([CG79])
In vielen praktischen Anwendungen bedeutet die ausschließliche Verf¨ ugbarkeit entweder der Maximum- oder der Minimum-Bildung eine Einschr¨ankung. In [CG79] wurde deshalb eine eigenst¨ andige algebraische Struktur mit den drei Operatoren Maximumbildung ⊕, Minimumbildung ⊕ und Addition ⊗ eingef¨ uhrt. Bei Matrix-Dioiden muss man dann zwei Dioid-Multiplikationen ⊗ und ⊗ unterscheiden. Die Matrizenmultiplikation ⊗ ergibt sich analog zu Gleichung (6.44) als )
A⊗ B =
m 2
*
aik ⊗ bkj .
(6.85)
k=1
Aufgrund des Isomorphismus (6.25) k¨ onnen skalare Elemente und Operatoren der MinPlus-Algebra in solche der Max-Plus-Algebra abgebildet werden. Auf diese Weise kann die Minimumbildung ⊕ zus¨ atzlich eingef¨ uhrt werden. Es gilt: −1 −1 x =x −1 (x ⊕ y) = x−1 ⊕ y −1
x⊗ y =x⊗y
(6.86) (6.87) (6.88)
204
6 Max-Plus-Algebra
x−1
−1
=x −1 (x ⊕ y) = x−1 ⊕ y −1 −1 xT ⊗ y = (xT )−1 ⊗ y−1 −1 x ⊗ y T = x−1 ⊗ (y T )−1
(6.89) (6.90) (6.91) (6.92) (6.93)
und −1 −1 = A A −1 (A ⊕ B) = A−1 ⊕ B −1 −1 (A ⊗ B) = A−1 ⊗ B −1 −1 A ⊗ x = A−1 ⊗ x−1
(6.94) (6.95) (6.96) (6.97)
Damit gilt auch −1
(x ⊗ y) = x−1 ⊗ y −1 , −1 −1 = x−1 ⊗ yT . x ⊗ y T
(6.98) (6.99)
Ein Problem dieses Vorgehens ist, dass aufgrund der unterschiedlichen, abgeschlossenen Grundmengen Max-Plus : IR ∪ {−∞} Min-Plus : IR ∪ {+∞}
(6.100) (6.101)
eine Verkn¨ upfung der beiden Elemente +∞ und −∞ nicht ohne weiteres zul¨assig ist.
6.2
Ordnungen und Vollst¨andigkeit in Dioiden
In diesem Abschnitt wird der algebraische Begriff des Dioiden (und somit der MaxPlus-Algebra) aus elementaren Strukturen aufgebaut. Somit stellt dieser Abschnitt die theoretischen Grundlagen der Max-Plus-Algebra bereit. Naturgem¨aß ist die Formulierung dieses Abschnitts somit sehr abstrakt und mathematisch. Nach Herleitung und Bereitstellung der formalen Begr¨ undungen kann in weiteren Rechnungen die Max-PlusAlgebra mit s¨ amtlichen Eigenschaften verwendet werden. Viele der in Abschnitt 6.1 bereits aufgef¨ uhrten Eigenschaften werden im Folgenden aus algebraischen Gesichtspunkten betrachtet. Den Ausgangspunkt bildet eine Struktur mit minimalen Anforderungen. Es wird sukzessive aufgezeigt, wie die Struktur eines Dioiden aus elementaren Strukturen entsteht. Die Betrachtungen finden sich in [J¨ ak03].
6.2 Ordnungen und Vollst¨ andigkeit in Dioiden
6.2.1
205
Algebraische Struktur eines Dioiden
Die Mindestanforderungen an eine Menge, mit deren Elementen gerechnet werden soll, sind die Unabh¨ angigkeit von der Rechenreihenfolge und die Existenz einer neutralen Gr¨ oße. Die Voraussetzungen f¨ uhren auf Monoide, vgl. [BCOQ92].
Definition 6.102 Monoid Ein Monoid (M, ⊕) ist ein Menge M mit einer inneren Verkn¨ upfung ⊕, welche die folgenden Bedingungen erf¨ ullt: 1. Assoziativit¨ at: a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c
, ∀a, b, c ∈ M
(6.103)
2. Neutrales Element ε: ∃ε ∈ M : a ⊕ ε = ε ⊕ a = a
, ∀a ∈ M
(6.104)
Der Monoid heißt kommutativ, falls die Operation ⊕ kommutativ ist, d.h. falls a⊕b=b⊕a
, ∀a, b ∈ M
(6.105)
gilt.
Die Schreibweise der inneren Operation auf der Menge wurde in obiger Definition durch eine additive Verkn¨ upfung symbolisiert. Dies ist jedoch eine mathematisch willk¨ urlich gew¨ ahlte Bezeichnung. Bedeutung erlangt die Wahl der Schreibweise dadurch, dass man das neutrale Element im Falle einer additiv geschriebenen Operation Nullelement und im Falle einer multiplikativen Verkn¨ upfung Einselement nennt, vgl. Satz (6.8). Infolge der Forderung nach zwei Verkn¨ upfungen mit den Eigenschaften, die zur Modellierung sowohl der Parallel- als auch der Serienschaltung von Zeiten ben¨otigt werden, entsteht der Halbring, vgl. [Gau92].
Definition 6.106 Halbring Ein Halbring (H, ⊕, ⊗) ist eine Menge H mit zwei inneren Verkn¨ upfungen ⊕ und ⊗, in welcher 1. (H, ⊕) ein kommutativer Monoid ist (Nullelement ε). 2. (H, ⊗) einen Monoiden bildet (Einselement e).
206
6 Max-Plus-Algebra 3. ⊗ bez¨ uglich ⊕ links- und rechts-distributiv ist, a ⊗ (b ⊕ c) = (a ⊗ b) ⊕ (a ⊗ c) , ∀a, b, c ∈ H, (b ⊕ c) ⊗ a = (b ⊗ a) ⊕ (c ⊗ a) , ∀a, b, c ∈ H.
(6.107) (6.108)
4. das Nullelement ε von ⊕ absorbierend f¨ ur ⊗ ist, d.h. a ⊗ ε = ε ⊗ a = ε , ∀a ∈ H.
(6.109)
W¨ ahrend die drei ersten Punkte gel¨ aufige Forderungen im Umgang mit algebraischen Strukturen sind, ist es die Absorptionseigenschaft des Nullelements, die einerseits die Eignung zur Behandlung ereignisdiskreter Systeme mit begr¨ undet, andererseits aber in ¨ einigen Punkten zus¨ atzliche Uberlegungen notwendig werden l¨asst. Interpretiert man das Nullelement ε als eine geringstm¨ogliche zeitliche Einschr¨ankung, so l¨ asst sich die Absorption dadurch deuten, dass bei Serienschaltung zweier Systeme mit einer geringstm¨ oglichen zeitlichen Einschr¨ankung der Ausgang des gekoppelten Gesamtsystems ebenfalls die geringstm¨ ogliche zeitliche Einschr¨ankung besitzt. Als weitere Eigenschaft f¨ uhrt man in Definition (6.106) die Idempotenz f¨ ur die Operation ⊕ ein, welche f¨ ur eine Beschreibung der Parallelschaltung zweier Systeme und f¨ ur die Einf¨ uhrung einer Ordnung auf der betrachteten Menge notwendig ist. Damit ergibt sich ein Dioid, der exakt die in Satz (6.8) f¨ ur die Max-Plus-Algebra geforderten Eigenschaften besitzt. Definition 6.110 Dioid Ein Dioid (D, ⊕, ⊗) ist ein Halbring, in dem ⊕ eine idempotente Operation darstellt, d.h.: a ⊕ a = a , ∀a ∈ D (6.111) Ein Dioid heißt kommutativ, falls die Operation ⊗ kommutativ ist. Der Einfachheit halber sind die Begriffe f¨ ur die betrachteten Dioid-Mengen D und die algebraischen Strukturen (D, ⊕, ⊗) nicht unterschieden. So wird von Dioiden D gesprochen, womit stets die Operationen miteinbezogen sind. Dies vereinfacht die Schreibweise, da nicht bei jeder Referenz ein drei-Tupel angegeben werden muss. Aufgrund der Definition enth¨ alt jeder Dioid mindestens das Nullelement ε und das Einselement e. Ein im Sinne der Inklusion minimaler Dioid ist deshalb durch B = {ε, e}
(6.112)
gegeben. Dieser Dioid entspricht nach Abschnitt 6.1.3 mit seinen Rechenregeln der Booleschen Algebra. Die Elemente von B k¨ onnen also als wahr bzw. existent f¨ ur e und unwahr bzw. nicht existent f¨ ur ε interpretiert werden. Die folgenden Abschnitte f¨ uhren Beispiele f¨ ur Dioide an.
6.2 Ordnungen und Vollst¨ andigkeit in Dioiden
6.2.2
207
Die kommutativen Dioide IRmax , IRmin
Ein kommutativer Dioid ist durch die bereits in Abschnitt 6.1 eingef¨ uhrte Max-PlusAlgebra IRmax gegeben. Als Grundmenge dient die Menge der reellen Zahlen, erweitert um das Element −∞, IRmax = IR ∪ {−∞}.
(6.113)
Die Operationen ⊕ bzw. ⊗ sind durch die Maximumbildung bzw. durch die herk¨ommliche Addition definiert. Die herk¨ ommliche Addition ist hierbei auf naheliegende Weise auf das Element −∞ erweitert: a ⊕ b = max{a, b} a + b , −∞ ∈ / {a, b} a⊗b = −∞ , −∞ ∈ {a, b}
(6.114) (6.115)
Das Nullelement dieser Struktur ist offensichtlich durch ε = −∞ und das Einselement durch e = 0 gegeben. In der Min-Plus-Algebra IRmin betrachtet man die Grundmenge IRmin = IR ∪ {∞} und definiert die Operationen a ⊕ b = min{a, b} bzw. a ⊗ b = a + b erweitert um Verkn¨ upfungen mit = ∞, dem Nullelement dieser Struktur.
6.2.3
Der Dioid Sig(D), ereignisdiskrete Signale
Ausgehend von einem Dioiden (D, ⊕, ⊗), beispielsweise IRmax , definiert man die Menge aller Abbildungen der ganzen Zahlen k in den Wertebereich x des Dioiden Sig(D) = {x : Z → D, k → x(k)},
(6.116)
was Zahlenfolgen in D entspricht. Diese Folgen k¨onnen als Funktionen mit Werten in D beschrieben werden. Somit besteht die M¨ oglichkeit, Signale entweder als Folge xk oder als Abbildung x(k) zu bezeichnen. Die Menge Sig(D) wird mittels der Definitionen f¨ ur die beiden Operationen (x1 ⊕ x2 ) (k) = x1 (k) ⊕ x2 (k) 2 (x1 ∗ x2 ) (k) = [x1 (i) ⊗ x2 (k − i)]
(6.117) (6.118)
i∈Z
ebenfalls zu einem Dioiden. Anhand der Definitionsgleichung (6.118) l¨asst sich leicht erkennen, dass der Dioid Sig(D) genau dann kommutativ ist, wenn der Dioid D kommutativ ist. Die Operation ∗ entspricht in ihrem Aufbau einer Faltung und wird deshalb als Faltungsprodukt oder Faltung bezeichnet. Ein Vorteil der Bezeichnung ∗ ist die Tatsache, dass sich dadurch die Multiplikation in Sig(D) von der in D unterscheiden l¨asst.
208
6 Max-Plus-Algebra
Beispiel 6.119: k-tes Ereignis bei Parallel- und Serienschaltung Die Gr¨ oße x habe die Bedeutung einer Zeit. Werden zwei Signale x1 (k), x2 (k) u ¨ ber die Operation ⊕ als Parallelschaltung verkn¨ upft, so berechnet x1 (k) ⊕ x2 (k) das k-te Ereignis bei Parallelschaltung. Dem k-ten Ereignis wird die gr¨oßere Zeit zugeordnet. Das durch ⊕ resultierende Ereignis tritt dann zum k-ten Mal auf, wenn beide Signale aufgetreten sind. Es findet eine Synchronisation der beiden Teilsysteme statt. Bei der Serienschaltung folgt aus Gleichung (6.118) der Ausdruck (x1 ∗ x2 ) (k) =
2
[x1 (i) ⊗ x2 (k − i)] .
(6.120)
i∈Z Z
Das k-te Ausgangsereignis tritt auf, wenn alle m¨oglichen Kombinationen der IndexDauer k vergangen sind. Dem k-ten Ereignis wird das Maximum aller SummenzeitenKombinationen zugeordnet. Eine m¨ ogliche Kombination x1 (i) ⊗ x2 (k − i) beschreibt die Tatsache, dass im ersten Teilsystem eine Indexverschiebung um i Indizes und im zweiten Teilsystem um k − i Indizes stattfindet. Diese Dauern werden durch ⊗ aufeinander synchronisiert. Das Nullsignal bzw. Einssignal ist durch ,k ∈ Z
ε(k) = ε
(6.121)
bzw. δ(k) =
e ,k = 0 ε , k ∈ Z \ {0}
(6.122)
gegeben. Man rechnet beispielsweise die Faltung mit dem Einssignal (x ∗ δ) (k) =
2
x(k − m)δ(m) = x(k − 0)δ(0) ⊕ ε = x(k).
(6.123)
m∈Z Z
6.2.4
Der Dioid B[[q, ϑ]], Punktewolken ereignisdiskreter Signale
Als Grundlage der folgenden Betrachtungen dient der bereits eingef¨ uhrte Boolesche Dioid B, vgl. [BCOQ92]. Von Interesse sind B-wertige Abbildungen s : Z × Z → B, deren Wert von zwei Indizes abh¨ angt. Solche Abbildungen kann man beispielsweise aus einer Abbildung x(k) ∈ Sig(D) durch sx (k, t) = konstruieren.
e ε
, x(k) = t , x(k) = t
(6.124)
6.2 Ordnungen und Vollst¨ andigkeit in Dioiden
209
Die Menge dieser Abbildungen s(k, t) wird zu einem Dioiden, sobald man f¨ ur die Operationen folgende Konventionen festlegt: (s1 ⊕ s2 ) (k, t) = s1 (k, t) ⊕ s2 (k, t) 2 (s1 ⊗ s2 ) (k, t) = [s1 (i, τ ) ⊗ s2 (k − i, t − τ )]
(6.125) (6.126)
i,τ ∈Z
Interpretieren lassen sich die Funktionen s(k, t) dadurch, dass sie allen Punkten (k, t) der Z × Z -Ebene die Eigenschaft vorhanden“ bzw. nicht vorhanden“ zuweisen. Somit ” ” werden Punktewolken erzeugt, die im Falle der Addition als die Vereinigung zweier Punktewolken verkn¨ upft werden, und im Falle der Multiplikation zur Vektorsumme werden, vgl. [Men97]. Dies ist in Bild 6.2 illustriert. Man erkennt wie bei s1 (k, t) ⊕ s2 (k, t) die Vereinigung beider Punktewolken gebildet wird. Das Resultat der Multiplikation s1 (k, t) ⊗ s2 (k, t) ergibt sich durch Verschiebung der Punkte von s2 (k, t) um drei Einheiten in k- und vier Einheiten in t-Richtung. In der Abbildung ist auch in t-Richtung ein diskretes Raster eingezeichnet, um die Verschiebung deutlich zu machen. Eine weitere m¨ ogliche Darstellung von ereignisdiskreten Signalen ist die Verwendung der Punktewolken als Koeffizienten von Reihen in zwei formalen Variablen. Hierzu definiert man die Punktewolke eines ereignisdiskreten Signals als Potenzreihe ⎧ ⎫ ⎨ ⎬ 2 B[[q, ϑ]] = S(q, ϑ) = s(k, t)q k ϑt . (6.127) ⎩ ⎭ k,t∈Z Z
t
t
k s1 (k, t)
s2 (k, t)
k s1 (k, t) ⊕ s2 (k, t)
s1 (k, t) ⊗ s2 (k, t)
Bild 6.2: Beispiel der Operationen ⊕ und ⊗ f¨ ur Punktewolken
210
6 Max-Plus-Algebra
Die formalen Gr¨ oßen q, ϑ beschreiben hierbei eine Verschiebung um eine Einheit in kbzw. in t-Richtung. Es gilt somit in Analogie zur z-Transformation q k : Verschiebung um k Ereignisse ϑt : Verschiebung um die Zeit t
(6.128) (6.129)
Durch Verkn¨ upfung von Reihen mittels der in den Gleichungen (6.125) und (6.126) vorgegebenen Operationen f¨ ur die Koeffizienten wird die Menge der Potenzreihen zu einem Dioiden. Diese Definition ist lediglich eine andere Formulierung desselben Sachverhalts wie in Bild 6.2, welche sich aber bei Rechnungen als vorteilhaft erweist. Sie bildet die Grundlage der ereignisdiskreten Systemtheorie und dient hierbei als Bildbereich [Gau92], [BCOQ92].
6.2.5
Der Matrix-Dioid Dn×n
Aus einem vorgegebenen Dioiden D kann der Matrix-Dioid Dn×n gebildet werden. Hierzu fasst man jeweils n2 Elemente aus D zu der Matrix ⎛ ⎞ a11 · · · a1n ⎜ ⎟ (6.130) A = ⎝ ... . . . ... ⎠ ∈ Dn×n an1 · · · ann zusammen. Die Menge aller Matrizen der Dimension n×n wird zu einem Dioiden, indem f¨ ur zwei Matrizen A, B ∈ Dn×n die Verkn¨ upfungen [A ⊕ B]ij = aij ⊕ bij [A ⊗ B]ij =
n 2
(aik ⊗ bkj )
(6.131) (6.132)
k=1
definiert werden. Sie entsprechen in ihrem Aufbau der bekannten Verkn¨ upfung von Matrizen, nur dass die Operationen mit den Dioid-Verkn¨ upfungen ⊕ und ⊗ auszuf¨ uhren sind. F¨ ur den Matrix-Dioiden ergeben sich das Nullelement (Nullmatrix) bzw. das Einselement (Einsmatrix, Identit¨ atsmatrix) ⎞ ⎛ ⎛ ⎞ e ε ··· ε ε ··· ε ⎜ε e ··· ε⎟ ⎜ ⎟ ⎟ N = ⎝ ... . . . ... ⎠ , I = ⎜ (6.133) ⎝ .. . . . . . . ⎠ . ε . ε ··· ε ε ··· ε e Ebenso erfolgt die Multiplikation zweier Matrizen A ∈ Dm×n und B ∈ Dn×p . Das Resultat ist eine Matrix aus Dm×p . F¨ ur die folgenden Belange ist jedoch die Betrachtung quadratischer Matrizen ausreichend. Nicht-quadratische Matrizen k¨onnen durch k¨ unstliche Erweiterung vorgegebener Matrizen um Nullelemente stets erreicht werden.
6.2 Ordnungen und Vollst¨ andigkeit in Dioiden
211
Die Multiplikation einer Matrix mit einem Vektor x ∈ Dn versteht sich als Analogie zur herk¨ ommlichen Matrix-Vektor-Multiplikation unter Verwendung der Dioid-Operationen ⊕ und ⊗.
6.2.6
Begriffe aus der Ordnungstheorie
Der eingef¨ uhrte Begriff des Dioiden hatte zum Ziel, einen auf die ereignisdiskreten Systeme angepassten Zeitbegriff bereitzustellen. Betrachtet man die Verkn¨ upfungen der Max-Plus-Algebra, so f¨ allt auf, dass wegen a ⊕ b = max{a, b} u ¨ ber ⊕ die Definition eines Maximums m¨ oglich ist. Es wird sich im Folgenden zeigen, dass dies in einem Dioiden stets zutrifft. In vielen praktischen Anwendungen bedeutet das ausschließliche Vorhandensein entweder nur der Minimum- oder nur der Maximumoperation eine Einschr¨ankung. Um dem zu entgehen, wurden in [Bor00] und [Ber99] Ans¨atze zur Bereitstellung beider Operationen in einer gemeinsamen algebraischen Struktur verfolgt. Die Ans¨atze basieren in [Ber99] auf einer Erweiterung der Max-Plus-Algebra durch Hinzunahme eines k¨ unstlichen Elements inv und in [Bor00] auf der Verwendung des abstrakten Nullelements als Nullelement bez¨ uglich beider Operationen. Im Gegensatz zu den oben erw¨ ahnten Ans¨ atzen soll im Folgenden ein mathematisch klassischer Weg beschritten werden. Die in einem Dioiden induzierte Ordnung wird dabei als Ausgangspunkt gew¨ ahlt. Dadurch l¨asst sich kanonisch eine obere Schranke und ein maximales Element konstruieren, ohne auf k¨ unstliche Definitionen zur¨ uckgreifen zu m¨ ussen. Dies rechtfertigt schließlich die Verwendung von Max-Plus- und Min-PlusAlgebra in einer einzigen geschlossenen algebraischen Struktur. Zuerst sind die ben¨ otigten Begriffe aus der Ordnungstheorie einzuf¨ uhren. Die nachfolgende Darstellung orientiert sich an [Men97]. Definition 6.134 Geordnete Menge Eine Menge E heißt geordnete Menge (E, ), falls auf ihr eine Ordnungsrelation R ⊆ E × E definiert ist, d.h. falls f¨ ur alle x, y, z ∈ E gilt: Reflexivit¨ at: Antisymmetrie: Transitivit¨ at:
(x, x) ∈ R (x, y) ∈ R, (y, x) ∈ R =⇒ x = y (x, y) ∈ R, (y, z) ∈ R =⇒ (x, z) ∈ R
(6.135) (6.136) (6.137)
Im Falle (x, y) ∈ R heißt x kleiner gleich“ y und man schreibt x y. Die Menge aller ” Elemente aus E, welche kleiner gleich als ein vorgegebenes z ∈ E sind, bezeichnet man als [←, z] = {x ∈ E : x z}. Analog versteht sich die Bezeichnung [z, →] = {x ∈ E : z x} als die Elemente aus E, welche gr¨oßer gleich einem Element z sind. Zur Definition der folgenden Begriffe wird eine geordnete Menge (E, ) betrachtet. Als ersten Schritt pr¨ uft man die Existenz einer unteren Schranke ∧ und einer oberen Schranke ∨. Die Schreibweisen f¨ ur die untere bzw. obere Schranke entstammen der Theorie
212
6 Max-Plus-Algebra
geordneter Mengen und sind nicht mit den in der Logik verwendeten Bezeichnern f¨ ur UND“ bzw. ODER“ zu verwechseln. ” ” Definition 6.138 Sup- und Inf-Halbverband Eine geordnete Menge (E, ) heißt Sup-Halbverband, falls jedes Elementenpaar {a, b} ⊆ E in E eine kleinste obere Schranke (Supremum) a ∨ b in E besitzt. Es gilt also a, b (a ∨ b) und [∀x ∈ E : a, b x =⇒ (a ∨ b) x]
(6.139)
Eine geordnete Menge (E, ) heißt Inf-Halbverband, falls jedes Elementenpaar {a, b} ⊆ E in E eine gr¨ oßte untere Schranke (Infimum) a ∧ b in E besitzt. Es gilt also (a ∧ b) a, b und [∀x ∈ E : x a, b =⇒ x (a ∧ b)] .
(6.140)
Zur Vereinfachung werden diese zuk¨ unftig einfach als obere Schranke bzw. untere Schranke bezeichnet. Ob eine geordnete Menge einen Sup-Halbverband bildet, kann man anhand der Existenz einer inneren Operation Δ auf der Menge E u ufen, vgl. [Men97]. Dies wird ¨ berpr¨ durchgef¨ uhrt, um f¨ ur Dioiden einen Ansatzpunkt zur Definition einer Ordnung bereitzustellen. Bei der Betrachtung von Dioiden spielt dies eine wichtige Rolle. Satz 6.141: Bedingung f¨ ur Sup-Halbverband Eine Menge E ist genau dann ein Sup-Halbverband, wenn eine innere Operation : E ×E → E , (x, y) → x y existiert, die kommutativ, assoziativ und idempotent ist. Beweis 6.142 Der Zusammenhang zwischen Operatoren auf einer Menge und einer Ordnungsrelation l¨ asst sich wie folgt beweisen: 1. =⇒“ Wenn ein Sup-Halbverband E gegeben ist, so erf¨ ullt dieser mit mit Δ = ∨ ” die geforderten Eigenschaften, d.h. Δ ist idempotent, kommutativ und assoziativ. 2. ⇐=“ Umgekehrt sei eine Verkn¨ upfung Δ gegeben, die idempotent, kommu” tativ und assoziativ ist. Aus definiert man eine Relation R durch xRy ⇔ x y = y. R stellt eine Ordnungsrelation dar und man schreibt x y f¨ ur xRy. Wegen x x y und y x y folgt mittels der f¨ ur Δ geforderten Eigenschaften x y ∈ [x, →] ∩ [y, →]. Aufgrund der Transitivit¨at von R folgt daraus [x y, →] ⊆ [x, →]∩[y, →]. Ebenso zeigt man [x, →]∩[y, →] ⊆ [x y, →]. Somit gilt [x, →] ∩ [y, →] = [x y, →]. Definiert man also x ∨ y = x y, so wird E zu einem Sup-Halbverband.
6.2 Ordnungen und Vollst¨ andigkeit in Dioiden
213
Fordert man die Existenz sowohl einer oberen als auch einer unteren Schranke, so entsteht ein Verband. Definition 6.143 Verband Eine geordnete Menge (E, ) heißt Verband, falls sie gleichzeitig einen Inf- und einen Sup-Halbverband bildet, d.h. falls f¨ ur jedes Elementenpaar sowohl eine untere als auch eine obere Schranke existiert. Die Definition des Verbandes bezieht sich auf obere und untere Schranken von jeweils zwei Elementen. Dies soll auf beliebige Teilmengen erweitert werden. Es fehlt hierzu lediglich noch der Begriff der Vollst¨ andigkeit, um auf einer geordneten Menge eine untere Schranke aus der Operation f¨ ur eine obere Schranke zu konstruieren. Die Vollst¨andigkeit entspricht einer Erweiterung der unteren bzw. oberen Schranke auf beliebige Teilmengen der geordneten Menge. Definition 6.144 Sup- und inf-vollst¨ andiger Halbverband Ein Halbverband heißt sup-vollst¨ andig, falls jede nichtleere Teilmenge von E eine kleinste obere Schranke Schranke besitzt. Ein Halbverband heißt inf-vollst¨ andig, falls jede nichtleere Teilmenge von E eine gr¨ oßte untere Schranke besitzt. Durch Zusammenfassen beider Forderungen zu einer Vollst¨andigkeit bzgl. oberer und unterer Schranken entsteht ein vollst¨ andiger Verband. Definition 6.145 Vollst¨ andiger Verband Ein Verband heißt vollst¨ andig, falls er gleichzeitig einen sup- und inf-vollst¨andigen Halbverband bildet. Die Definitionen oberer und unterer Schranken u ¨ bertragen sich ohne Schwierigkeiten auf Mengen mit mehr als zwei Elementen. So ist beispielsweise die obere Schranke 9 9 M= m (6.146) m∈M
einer beliebigen, nichtleeren Teilmenge M ⊆ E, M = ∅ durch + , 9 9 m M, m ∈ M und m x, m ∈ M =⇒ M x
(6.147)
charakterisiert. Eine analoge Definition f¨ uhrt auf die untere Schranke : : m. M=
(6.148)
m∈M
214
6 Max-Plus-Algebra
Nun sind die Mittel zur Konstruktion einer unteren Schranke aus einer oberen Schranke bereitgestellt. Diese Konstruktion erlaubt Rechnungen mit der Max-Plus-Algebra und bildet die Grundlage zur Fusion der Max-Plus- und der Min-Plus-Algebra. Satz 6.149: Verband zum Sup-Halbverband Ein sup-vollst¨ andiger Halbverband (E, ) ist genau dann ein vollst¨andiger Verband, wenn ein minimales Element in E existiert. Beweis 6.150 1. =⇒“ Ist (E, ) ein vollst¨ andiger Verband, dann ist ; das minimale Element ” durch die untere Schranke aller Elemente der Menge E gegeben. 2. ⇐=“ Gegeben sei ein sup-vollst¨ andiger Halbverband (E, ). Betrachtet man ” eine Teilmenge X ⊆ E, X = ∅, so definiert man die Menge MX aller Minoranten von X in E durch MX = {m ∈ E : m x ∀x ∈ X}.
(6.151)
Da das minimale Element ein Element von MX ist, folgt MX = ∅ und besitzt deshalb nach Definition (6.144) eine obere Schranke 9 mX = MX . (6.152) Diese bildet gleichzeitig die untere Schranke der Menge X, da aus y x, x ∈ X stets y ∈ MX und somit y mX folgt. Das Element mX ist damit die gr¨oßte untere Schranke von X. Die Konstruktion wird in Bild 6.3 veranschaulicht.
MX
mX
X
Bild 6.3: Konstruktion einer unteren Schranke bei Vorhandensein einer oberen Schranke
Somit kann in einer Menge, welche die Berechnung einer oberen Schranke erlaubt, stets auch eine untere Schranke eingef¨ uhrt werden. Hierdurch ist die Grundlage f¨ ur die Betrachtung von Ordnungen in Dioiden gelegt, die im Folgenden durchgef¨ uhrt wird.
6.2.7
Geordnete Dioide
In diesem Abschnitt soll in einem Dioiden (D, ⊕, ⊗) eine Ordnungsrelation definiert werden. Aufgrund der f¨ ur ⊕ geforderten Eigenschaften kann wegen Satz 6.141 ein Dioid mit einer Ordnung versehen werden, da die dort beschriebenen Eigenschaften exakt durch Δ = ⊕ erf¨ ullt werden, vgl. [BCOQ92]:
6.2 Ordnungen und Vollst¨ andigkeit in Dioiden
215
Satz 6.153: Ordnung auf Dioiden Auf einem Dioiden (D, ⊕, ⊗) definiert a b ⇐⇒ a ⊕ b = b ⊕ a = b
, ∀a, b ∈ D
(6.154)
eine Ordnungsrelation. (D, ) ist eine geordnete Menge. Die Ordnung ist gegen¨ uber der Addition und der Multiplikation invariant, d.h. a⊕cb⊕c a b =⇒ , ∀c ∈ D. (6.155) a⊗cb⊗c Die obere Schranke des Elementenpaars {a, b} ist durch a ∨ b = a ⊕ b gegeben, das minimale Element der geordneten Menge ist das Nullelement . Somit kann die obere Schranke in Dioiden zuk¨ unftig sowohl durch ⊕ als auch durch ∨ bezeichnet werden. Beweis 6.156 Aufgrund von Satz 6.141, angewandt auf die Addition ⊕, ist ein Dioid ein SupHalbverband, dessen Ordnung durch Gl.(6.154) gegeben ist. Ist a b und somit a ⊕ b = b, so folgt wegen (a ⊕ c) ⊕ (b ⊕ c) = (a ⊕ b) ⊕ (c ⊕ c) = b ⊕ c die Kompatibilit¨ at mit der Addition. Weiter ist (a ⊗ c) ⊕ (b ⊗ c) = (a ⊕ b) ⊗ c = b ⊗ c, und deshalb folgt a ⊗ c b ⊗ c. Durch die Idempotenz der Addition ⊕ gilt f¨ ur die definierte Ordnung a a ⊕ b und b a ⊕ b. Erh¨ alt man f¨ ur ein anderes Element x ∈ D ebenfalls a x, b x, so ergibt sich x ⊕ (a ⊕ b) = (x ⊕ a) ⊕ b = x ⊕ b = x und somit a ⊕ b x. Aus diesem Grund definiert a ⊕ b die kleinste obere Schranke des Elementenpaars {a, b}. Aufgrund der Definition des Nullelements ist das minimale Element des geordneten Dioiden. Eine obere Schranke zweier Elemente l¨ asst sich somit nach Satz 6.153 in einem Dioiden stets bilden. Im Falle eines vollst¨ andigen Dioiden wird außerdem wegen Satz 6.149 die Definition einer unteren Schranke a ∧ b m¨ oglich. Definition 6.157 Vollst¨ andiger Dioid Ein Dioid (D, ⊕, ⊗) heißt vollst¨ andiger Dioid, falls er bez¨ uglich der unendlichen Summation abgeschlossen ist, d.h. falls er einen sup-vollst¨andigen Halbverband darstellt, mit der oberen Schranke 9 2 ai ∈ D , i ∈ I =⇒ ai = ai ∈ D. (6.158) i∈I
i∈I
216
6 Max-Plus-Algebra
Weiterhin muss unendliche Distributivit¨at erf¨ ullt sein, d.h. f¨ ur die Teilmenge A ⊆ D und ein Element b ∈ D gilt " # " # 2 2 2 2 a ⊗b= (a ⊗ b) , b ⊗ a = (b ⊗ a). (6.159) a∈A
a∈A
a∈A
a∈A
Entsteht ein vollst¨ andiger Dioid durch Erg¨anzen all der Elemente, die aus unendlichen Summen in D resultieren, so bezeichnet man diesen durch D.
In einem vollst¨ andigen Dioiden sichert Satz (6.149) die Existenz eines Operators ∧ zur Ermittlung der unteren Schranke. Das Supremum kann anstelle der Teilmenge f¨ ur die gesamte Grundmenge gebildet werden. Das resultierende maximale Element =
2
d
(6.160)
d∈D
ist wieder ein Element des Dioiden. Das Symbol des maximalen Elements ist wie in [BCOQ92] und [Gau92] in Anlehnung an die englische Bezeichnung Top“ gew¨ahlt. ” Beispielsweise gilt in IRmax die Gleichheit = +∞. Man erh¨ alt f¨ ur alle a ∈ D aufgrund der Definition von und der Idempotenz von ⊕ a⊕=a⊕
2
d=
d∈D
2
d=
(6.161)
d∈D
und somit die Beziehung a , a ∈ D.
(6.162)
Dar¨ uber hinaus folgt wegen der Distributivit¨at aus Definition 6.157 mit " ⊗=
2
d∈D
# d
⊗=
2
(d ⊗ ) =
(6.163)
d∈D
eine Festlegung f¨ ur den Ausdruck ⊗ . Eine Festlegung f¨ ur a ⊗ , a = w¨are auf nat¨ urliche Weise durch a ⊗ = gegeben. Diese l¨asst sich aber nur in so genannten archimedischen Dioiden nachweisen, vgl. [BCOQ92]. In IRmax ist dies nach [BCOQ92] erf¨ ullt. Die Forderung nach Erhalt existierender Rechenregeln f¨ ur die untere Schranke ∧ f¨ uhrt auf distributive Dioide.
6.3 Gleichungsl¨ osung in Dioiden
217
Definition 6.164 Distributiver Dioid Einen vollst¨ andigen Dioiden (D, ⊕, ⊗) nennt man distributiv, falls f¨ ur alle a ∈ D und M ⊆ D gilt: " # : : m ⊕a= (m ⊕ a) (6.165) "
m∈M
2
m∈M
# ∧a=
m
m∈M
2
(m ∧ a)
(6.166)
m∈M
Die Bildung der unteren Schranke durch den Operator ∧ und die Bildung der oberen Schranke durch den Operator ⊕ k¨ onnen vertauscht werden. Satz 6.167: Dioid IRmax , IRmin Die Dioden IRmax , IRmin sind distributive (also insbesondere vollst¨andige) und kommutative Dioide. Somit sind f¨ ur den Bildbereich IRmax alle notwendigen Zusammenh¨ange rein algebraisch hergeleitet. Es kann damit in IRmax so gerechnet werden, wie dies in Abschnitt 6.1 eingef¨ uhrt wurde. Insbesondere ist nun nach den Gleichungen (6.161) und (6.163) die Verkn¨ upfung von +∞ und −∞ zul¨ assig.
6.3
Gleichungsl¨osung in Dioiden
Die Gleichungsl¨ osung zur Bestimmung unbekannter Gr¨oßen aus Beobachtungen ist f¨ ur Rechnungen in Wertemengen unerl¨ asslich. Beispielsweise sollen die Systemgleichungen nach den Zustandsgr¨ oßen aufgel¨ ost werden k¨onnen. Aufgrund nicht existenter Inverser f¨ ur die Addition ⊕ und die Multiplikation ⊗ gestaltet sich die Rechnung in Dioiden schwieriger als in der herk¨ ommlichen Wertemenge IR. Im Folgenden sind stets vollst¨ andige Dioide C, D betrachtet, die nach Abschnitt 6.2.7 vollst¨ andig geordnete Mengen bilden. Es sollen die Gleichung bzw. die Ungleichungen f (x) = y
,
f (x) y
,
f (x) $ y
(6.168)
bei gegebener Funktion f : C → D untersucht werden. L¨osungen der Ungleichungen sind von Interesse, da exakte L¨ osungen der Gleichung oft nicht existieren. Aus diesem Grund werden die Mengen aller L¨ osungen L , Unterl¨osungen LU und Oberl¨osungen LO betrachtet. L(f, y) = {x ∈ C : f (x) = y} LU (f, y) = {x ∈ C : f (x) y} LO (f, y) = {x ∈ C : f (x) $ y}
,y ∈ D ,y ∈ D ,y ∈ D
(6.169) (6.170) (6.171)
218
6 Max-Plus-Algebra
Diese Mengen dienen der L¨ osung oder der Approximation von Gleichungen, bei denen die exakte L¨osung nicht existiert.
6.3.1
Residuierbare Abbildungen
Im Folgenden werden die Begriffe der Residuierbarkeit und der dualen Residuierbarkeit von Abbildungen eingef¨ uhrt. Diese sind im Sinne der Existenz maximaler Unterl¨osungen bzw. minimaler Oberl¨ osungen zu verstehen. Deren formale Definition lautet: Definition 6.172 Residuierbar und dual residuierbar Eine Abbildung f : C → D heißt residuierbar, wenn f¨ ur jedes y ∈ D eine maximale Unterl¨ osung ∃z1 ∈ C : LU (f, y) = [←, z1 ]
(6.173)
existiert. Eine Abbildung f : C → D heißt dual residuierbar, wenn f¨ ur jedes y ∈ D bzw. eine minimale Oberl¨ osung ∃z2 ∈ C : LO (f, y) = [z2 , →] existiert. Dann sind die auftretenden maximalen unteren Schranken durch 2 z1 = x
(6.174)
(6.175)
x∈LU (f,y)
und minimalen oberen Schranken durch : z2 = x
(6.176)
x∈LO (f,y)
gegeben. Mittels der Residuierbarkeit wird eine Gleichung, f¨ ur welche keine exakte L¨osung berechenbar ist, durch Angabe maximaler Unterl¨osungen und minimaler Oberl¨osungen approximativ gel¨ ost. Zum Nachweis der Residuierbarkeit einer Abbildung erweist sich die Untersuchung auf Isotonie einer Abbildung als n¨ utzlich. Hierbei handelt es sich um eine wachsende bzw. fallende Abbildung zwischen Dioiden. Die Begriffe der Isotonie und der Antitonie werden in der Literatur gew¨ ahlt, um deutlich zu machen, dass es sich sowohl bei dem Urbildals auch dem Bildbereich allgemein um geordnete Mengen handelt.
6.3 Gleichungsl¨ osung in Dioiden
219
Definition 6.177 Isotonie und Antitonie Eine Abbildung f : C → D heißt isoton, falls x y =⇒ f (x) f (y) , ∀x, y ∈ C
(6.178)
gilt. Eine Abbildung f : C → D heißt antiton, falls x y =⇒ f (x) $ f (y) , ∀x, y ∈ C
(6.179)
gilt.
Die folgenden S¨ atze werden ohne die Angabe von Beweisen formuliert. Sie charakterisieren die Existenz von maximalen Unter- und minimalen Oberl¨osungen von Gleichungen. So l¨ asst sich die Existenz einer L¨ osung nachweisen, die anschließend praktisch berechnet werden kann. Die Beweise finden sich beispielsweise in [BCOQ92], [Gau92], [Men97]. Die Residuierbarkeit einer Abbildung kann unter bestimmten Bedingungen auf die Isotonie zur¨ uckgef¨ uhrt werden, vgl. [BCOQ92], [Gau92]. Dadurch erleichtert sich der Nachweis der Residuierbarkeit, d.h. der Existenz maximaler Unterl¨osungen.
Satz 6.180: Residuierbare Abbildung (gr¨ oßte Unterl¨ osung) F¨ ur eine Abbildung f : C → D sind folgende Aussagen ¨aquivalent: 1. Die Abbildung f ist residuierbar. 2. Die Abbildung f : C → D ist isoton und es existiert eine isotone Abbildung h1 : D → C, so dass f ◦ h1 ID
,
h1 ◦ f $ IC
(6.181)
gilt. Hierin bezeichnen IC , ID die Identit¨atsabbildungen auf C, D und ◦ die Hintereinanderausf¨ uhrung von Abbildungen. Die Abbildung h1 ist dann eindeutig und wird als residuierte Abbildung mit f = h1 bezeichnet. f charakterisiert maximale Unterl¨osungen von f. ¨ Die aufgef¨ uhrten Ungleichungen beschreiben die Tatsache, dass f Unterl¨osung ist. Uber
die erste Ungleichung wird f als Unterl¨ osung charakterisiert, da f (f (y)) $ y ∈ D gilt. Da das Element x eine Unterl¨ osung von f (x) bildet, ist die maximale Unterl¨osung mindestens ebenso groß, was durch f (f (x)) x ∈ C formuliert wird. Ebenso l¨ asst sich nach [BCOQ92], [Gau92] die duale Residuierbarkeit und damit die Existenz minimaler Oberl¨ osungen charakterisieren:
220
6 Max-Plus-Algebra
Satz 6.182: Dual residuierbare Abbildung (kleinste Oberl¨ osung) F¨ ur eine Abbildung f : C → D sind folgende Aussagen ¨aquivalent: 1. Die Abbildung f ist dual residuierbar. 2. Die Abbildung f : C → D ist isoton und es existiert eine isotone Abbildung h2 : D → C, so dass f ◦ h2 $ ID
,
h2 ◦ f IC
(6.183)
gilt. Die Abbildung h2 ist eindeutig und wird als dual residuierte Abbildung mit f = h2 bezeichnet. f charakterisiert minimale Oberl¨osungen von f. Die Interpretation der Ungleichungen erfolgt analog zu der bei der Residuierung angef¨ uhrten Sichtweise. Der Nachweis der Residuierbarkeit kann neben den S¨atzen (6.180) und (6.182) auch auf die Eigenschaften der Funktion bez¨ uglich einer noch zu definierenden Halbstetigkeit zur¨ uckgef¨ uhrt werden. Definition 6.184 Von unten und von oben halbstetig Eine Abbildung f : C → D heißt von unten halbstetig, falls f¨ ur beliebige xi ∈ C , i ∈ I " # 2 2 f xi = f (xi ) (6.185) i∈I
i∈I
gilt. Eine Abbildung f : C → D heißt von oben halbstetig, falls f¨ ur beliebige xi ∈ C ,i ∈ I " # : : f xi = f (xi ) (6.186) i∈I
i∈I
gilt. Die Funktion f u agt somit obere und untere Schranken. ¨ bertr¨ Mittels der Halbstetigkeit l¨ asst sich nun ebenfalls die Residuierbarkeit einer Funktion u ufen, vgl. [BCOQ92],[Gau92],[Men97]. ¨ berpr¨ Satz 6.187: Residuierbarkeit und Halbstetigkeit F¨ ur eine isotone Abbildung f : C → D sind bei vollst¨andigen Dioden C, D folgende Charakterisierungen der Residuierbarkeit bzw. der dualen Residuierbarkeit zutreffend:
6.3 Gleichungsl¨ osung in Dioiden
221
1. f ist genau dann residuierbar, wenn f von unten halbstetig ist und f () = gilt. 2. f ist genau dann dual residuierbar, wenn f von oben halbstetig ist und f () = gilt. Beispielsweise gilt f¨ ur die Additionsabbildung x → a⊕ x der Zusammenhang a⊕ = . Aufgrund der Isotonie des ⊕-Operators ist ⊕ dual residuierbar und es kann stets eine minimale Oberl¨ osung (Approximation der L¨osung von oben) angegeben werden. Ist eine Abbildung f sowohl residuierbar als auch dual residuierbar, so existiert zu jeder Gleichung jeweils eine maximale Unterl¨ osung und eine minimale Oberl¨osung. Stimmen diese u ur die Abbildung f : C → D genau eine ¨ berein, besitzt jede Gleichung (6.168) f¨ L¨ osung: Satz 6.188: Invertierbare Abbildung Eine Abbildung f ist invertierbar, wenn f = f gilt. In diesem Fall ist f −1 = f = f . Somit l¨ asst sich charakterisieren, in welchen F¨allen f¨ ur eine vorgegebene Abbildung deren Inverse bestimmbar ist und damit eine eindeutige Gleichungsl¨osung existiert. Im n¨ achsten Abschnitt werden Methoden und M¨oglichkeiten aufgezeigt, um die Berechnung der residuierten und der dual residuierten Abbildung in konkreten, praktischen F¨ allen durchf¨ uhren zu k¨ onnen.
6.3.2
Duale Residuierung der Addition
Im Folgenden werden einige Elementargleichungen“ mit Hilfe der Residuierung gel¨ost. ” Die Beschreibung der Addition und der Multiplikation als Abbildung anstelle einfacher Operationen vereinfacht dabei die Formulierung der Residuierung. Nach Berechnung der jeweiligen Residuierten wird dann auf die umst¨andliche Bezeichnung zugunsten einer vereinfachten Schreibweise verzichtet. Zur Anwendung von Satz (6.187) wird eine von unten bzw. von oben halbstetige Abbildung ben¨ otigt, um Aussagen u ¨ ber die Residuierbarkeit der Abbildung zu erhalten. Vor diesem Hintergrund sind additiv und multiplikativ formulierte Gleichungen auf Halbstetigkeit zu untersuchen. Betrachtet man f¨ ur ein festes Element a ∈ D die Additionsoperation Ta :
D→D , x → a ⊕ x
(6.189)
so folgt wegen a ⊕ = und Gleichung (6.165) die duale Residuierbarkeit (kleinste Oberl¨ osung) der Addition. Die Residuierung ist wegen a ⊕ = a nicht m¨oglich.
222
6 Max-Plus-Algebra
Die dual residuierte Abbildung der Addition berechnet nach Definition die kleinste Oberl¨ osung der Gleichung a ⊕ x = b. Weil dadurch eine Invertierung“ der Addition ” approximiert wird, w¨ ahlt man eine Operation & in Analogie zur herk¨ommlichen Subtraktion und schreibt : x = b & a = Ta (b) = LO (Ta , b). (6.190) Einige Rechenregeln der dual residuierten Addition & sind in der Tabelle 6.1 aufgef¨ uhrt. Sie wurden [BCOQ92] entnommen. In den meisten F¨allen lassen sich die Eigenschaften mit geringem Aufwand unter Verwendung algebraischer Umformungen nachrechnen. Tabelle 6.1: Rechenregeln der dualen Residuierung der Addition
(x ⊕ y) & a = (x & a) ⊕ (y & a) (x ∧ y) & a (x & a) ∧ (y & a) (x & a) ⊕ a = x ⊕ a (x ⊕ a) & a = x & a In Tabelle 6.2 ist die Operation & f¨ ur die vervollst¨andigte Max-Plus-Algebra IRmax aufgef¨ uhrt. Man erkennt, dass sich f¨ ur Elemente aus den reellen Zahlen eine einfache Darstellung f¨ ur b & a ergibt. Tabelle 6.2: Berechnung der dualen Residuierung der Addition in IRmax
b&a
a
IR
b IR b ,b ≤ a b ,b > a
So berechnet sich beispielsweise f¨ ur den Fall a, b ∈ IRmax \ {±∞}: : b&a= LO (Ta , b) = inf{z ∈ IRmax : max{a, z} ≥ b}
(6.191)
Ist nun b ≤ a, so ist die Ungleichung stets erf¨ ullt. Es folgt : IRmax = , b ≤ a. b&a=
(6.192)
F¨ ur den Fall b > a ist : b & a = {z ∈ IRmax : z ≥ b} = b
(6.193)
, b > a.
6.3 Gleichungsl¨ osung in Dioiden
6.3.3
223
Residuierung der Multiplikation
Nachdem die Approximation einer zur Addition inversen Operation & zur Verf¨ ugung steht, erfolgt die Approximation einer zur Multiplikation mit dem Faktor a ∈ D inversen Abbildung. D→D Ma : (6.194) x → a ⊗ x Bei Beschr¨ ankung auf kommutative Dioide ist im skalaren Fall die Betrachtung der linksseitigen Multiplikation ausreichend. Hierzu kann wegen a ⊗ = die residuierte Abbildung Anwendung finden. Die Betrachtung vollst¨ andiger Dioide begr¨ undet nach Definition (6.157) die Halbstetigkeit der Multiplikation von unten. Zur Charakterisierung der Residuierbarkeit wird deshalb Satz (6.187) herangezogen. Mittels des Satzes (6.187) definiert man die Operation Division“, ” d.h die Approximation der Inversion von a ⊗ x = b, in einem Dioiden: 9 x = a \◦ b = Ma (b) = LU (Ma , b) (6.195) Die Bezeichnung symbolisiert die Division b geteilt durch a“ (b steht oberhalb von ◦\ ). ” Durch die Position des Elementes a wird zudem darauf hingewiesen, dass die Division von links stattfindet. Die Unterscheidung wird bei der Matrix-Residuierung wichtig werden. Einige Rechenregeln der residuierten Multiplikation sind in der Tabelle 6.3 aufgef¨ uhrt. Sie stammen aus [BCOQ92] und [BCF01]. Tabelle 6.3: Rechenregeln der Residuierung der Multiplikation
a \◦ (x ∧ y) = (a \◦ x) ∧ (a \◦ y) a \◦ (x ⊕ y) $ (a \◦ x) ∧ (a \◦ y) (a ⊕ b) \◦ x = (a \◦ x) ∧ (b \◦ x) (a ∧ b) \◦ x $ (a \◦ x) ⊕ (b \◦ x) a(a \◦ x) x a \◦ (ax) $ x a \◦ a(ax) = ax (a \◦ x) ⊕ b a \◦ (x ⊕ ab) F¨ ur die vervollst¨ andigte Max-Plus-Algebra IRmax ergeben sich die Spezialf¨alle in Tabelle 6.4. Beispielsweise folgt f¨ ur den Fall b = , a ∈ IRmax \ {±∞} 9 (6.196) a \◦ b = LU (Ma , b) = sup{z ∈ IRmax : a + z ≤ } = sup{} = . ¨ F¨ ur a, b ∈ IRmax \ {±∞} folgt durch analoge Uberlegungen 9 a \◦ b = LU (Ma , b) = sup{ ≤ z ≤ b − a} = b − a. Auf diese Weise ergeben sich die in Tabelle 6.4 aufgef¨ uhrten Resultate.
(6.197)
(6.198)
224
6 Max-Plus-Algebra Tabelle 6.4: Berechnung der Residuierung der Multiplikation in IRmax
a \◦ b a IR
6.3.4
b IR b−a
Residuierung fu ¨ r Matrizen-Gleichungen
Ist der betrachtete Dioid nicht kommutativ, so muss die Rechtsmultiplikation mit dem Faktor a ∈ D getrennt untersucht werden, vgl. [Cot99]. Dies ist beispielsweise bei Matrix-Dioiden der Fall. Man definiert hierzu D→D MaR : . (6.199) x → x ⊗ a Deren Residuierung ist im Allgemeinen von Ma verschieden. Aus diesem Grund verwendet man hierf¨ ur die ge¨ anderte Notation 9 R LU (MaR , b). (6.200) x = b /◦ a = Ma (b) = Auch hier wird b durch a geteilt“, lediglich die Orientierung des Divisionsoperators ” ist unterschiedlich. Somit bleiben die Regeln in Tabelle 6.4 f¨ ur die Residuierung der Rechtsmultiplikation ◦/ g¨ ultig. Sie sind in Tabelle 6.5 noch einmal formuliert. Tabelle 6.5: Berechnung der Residuierung der Multiplikation von rechts in IRmax
b /◦ a a IR
b IR b−a
Durch die R¨ uckf¨ uhrung auf den skalaren Fall ergibt sich f¨ ur die Matrizen A, B ∈ Dn×n nach [BCOQ92]: [A \◦ B]ij = [B /◦ A]ij =
n : k=1 n :
(aki \◦ bkj )
(6.201)
(bik /◦ ajk )
(6.202)
k=1
F¨ ur die L¨ osung der Gleichung A ⊗ x y
A \◦ y
i
=
n : k=1
(aki \◦ yk ).
, A ∈ Dn×n , x, y ∈ Dn folgt (6.203)
6.3 Gleichungsl¨ osung in Dioiden
225
In den Gleichungen wird zur Berechnung von Matrix-Residuierten die Residuierung von Skalaren verwendet. Liegen die Skalare in IRmax , so k¨onnen die in den Tabellen 6.4 und 6.5 aufgef¨ uhrten Rechenregeln Anwendung finden. Sind die Werte zudem alle endlich, aij = ±∞, so ergibt sich f¨ ur A ⊗ x y die Berechnungsvorschrift
A \◦ y
i
= =
n 2 k=1 n 2
(yk − aki ) =
n 2
(−aki + yk )
(6.204)
k=1
( −AT ik + yk ) = −AT ⊗ y i
(6.205)
k=1
bzw. in Matrixform A \◦ y = −AT ⊗ y.
(6.206)
Das folgende Beispiel verwendet die eingef¨ uhrte Residuierung bei Gleichungsl¨osung, um f¨ ur ein vorgegebenes Modell eines ereignisdiskreten Systems die Parameter zu bestimmen. Beispiel 6.207: Bestimmung von Systemparametern Als Beispiel soll eine lineare ARMA-Darstellung f¨ ur ereignisdiskrete Systeme betrachtet werden, die in Bild 6.4 dargestellt ist, vgl. [J¨ak03]. y(k)
u(k) b0
q −1 a1
b1 q −1
aM−1
bM−1 q −1
bM
Bild 6.4: Ereignisdiskrete ARMA-Struktur
aM
226
6 Max-Plus-Algebra
F¨ ur die ARMA-Struktur aus Bild 6.4 entsteht die in IR lineare Gleichung y(k) = b0 u(k) ⊕ . . . ⊕ bM u(k − M ) ⊕a1 y(k − 1) ⊕ . . . ⊕ aM y(k − M )
(6.208)
zur Beschreibung des Zusammenhangs von Eingangs- und Ausgangsgr¨oßen. Der aktuelle Ausgangswert y(k) wird somit von vergangenen Werten des Ausgangs und dem aktuellen bzw. vergangenen Werten des Eingangs u(k) abh¨angig. Mit beobachtetem Ausgang y(k), dem Parametervektor T θˆ = (b0 , . . . , bM , a1 , . . . , aM )
(6.209)
und dem Regressionsvektor ϕ(k) = (u(k), . . . , u(k − M ), y(k − 1), . . . , y(k − M ))
T
(6.210)
ergibt sich das lineare Signalmodell y(k) = ϕT (k) ⊗ ˆθ.
(6.211)
Beispielsweise werden in [BCOQ92] und [J¨ak03] Petri-Netze durch lineare Systemmodelle beschrieben. Dabei werden allerdings Nichtlinearit¨aten und Konflikte nicht nachgebildet. Das lineare Modell besitzt bei Verwendung des Parametervektors ˆθ den Approximationsfehler (6.212) θ . Δ(k) = y(k) − ϕT (k) ⊗ ˆ Durch Zusammenfassen von N Beobachtungen y(0), y(1), . . . , y(N − 1) entsteht die Vektorgleichung θ Δ=y−Φ⊗ˆ unter Verwendung der Beobachtungsmatrix der Regressionsvektoren ⎞ ⎛ ϕT (0) ⎜ ϕT (1) ⎟ ⎟ ⎜ Φ=⎜ ⎟. .. ⎠ ⎝ . T ϕ (N − 1)
(6.213)
(6.214)
Das ereignisdiskrete ARMA-Modell soll nun zur Darstellung und Approximation eines ereignisdiskreten Systems 2. Ordnung verwendet werden. Das System wird hierzu durch Eingangsereignisse u(k) angeregt, die ab dem Z¨ahlindex k = 0 alle zum Zeitpunkt null zur Verf¨ ugung stehen bzw. alle zum Zeitpunkt null auftreten. Die Eingangsfunktion ist somit ,k < 0 u(k) = . (6.215) 0 ,k ≥ 0
6.3 Gleichungsl¨ osung in Dioiden
227
Die beobachteten Ausg¨ ange des Systems seien y(0) = 3, y(1) = 8, y(2) = 10, y(3) = 11, y(4) = 12. Nun berechnen wir die Koeffizienten einer ARMA-Darstellung gem¨aß Gleichung (6.208) f¨ ur den Fall m = 2. Es ergeben sich der Parametervektor ˆθ = (b0 , b1 , b2 , a1 , a2 ), der Beobachtungsvektor y = (3, 8, 10, 11, 12)T und die Beobachtungsmatrix ⎞ ⎛ 0 ⎜0 0 3 ⎟ ⎟ ⎜ (6.216) Φ = ⎜0 0 0 8 3 ⎟. ⎝ 0 0 0 10 8 ⎠ 0 0 0 11 10 Die Matrix entsteht u ur welche beispielsweise ϕT (0) = ¨ ber die Regressionsvektoren, f¨ (u(0), u(−1), u(−2), y(−1), y(−2)) = (0, , , , ) ist. Mit der Residuierung zur Gleichungsl¨ osung bzw. deren Approximation folgt nach Gleichung (6.206) der Parametervektor ˆ θ = −ΦT ⊗ y ⎞ ⎛ ⎞ ⎛ 3 0 0 0 0 0 0 ⎟ ⎜ 8 ⎟ ⎜ 0 0 0 ⎟ ⎜ ⎟ ⎜ 0 ⎟ ⊗ ⎜ 10 ⎟ = ⎜ 0 0 ⎝ 11 ⎠ ⎝ −3 −8 −10 −11 ⎠ 12 −3 −8 −10 ⎛ ⎞ 3 ⎜ 8 ⎟ ⎜ ⎟ = ⎜ 10 ⎟ . ⎝ 1 ⎠ 2
(6.217)
(6.218)
(6.219)
Die entsprechende ARMA-Struktur ist in Bild 6.5 dargestellt. Die Parameter in den Vorw¨ artszweigen bestimmen sich hierin durch die Verz¨ogerung der ersten Ereignisse y(k)
u(k) 3
q −1 1
8 q −1
10
2
Bild 6.5: Berechnete ereignisdiskrete ARMA-Struktur
228
6 Max-Plus-Algebra
(3, 8, 10), w¨ ahrend die darauffolgenden Verz¨ogerungen durch die R¨ uckw¨artszweige entstehen (1 = 11 − 10, 2 = 12 − 10). Durch die Ordnung 2 des ARMA-Modells und die berechneten Parameter ist das Systemverhalten vorgegeben. W¨ are beispielsweise in obigem Beispiel zus¨atzlich noch der Ausgangswert y(5) = 18 gegeben, so w¨ urde dieser Wert von dem berechneten Modell nicht erf¨ ullt. Der Approximationsfehler Δ(5) = 6 = 18−12 w¨are unerw¨ unscht groß. Zur Verbesserung m¨ usste die Ordnung erh¨oht und die Approximation erneut durchgef¨ uhrt werden. W¨ are andererseits y(5) = 13, so entspr¨ache dies dem Verhalten des berechneten Systems und das Verhalten w¨ urde durch Einsetzen in die ARMAGleichung erf¨ ullt.
6.4
Der Stern-Operator in Dioiden
Neben der Residuierung besteht eine weitere M¨oglichkeit zur Gleichungsl¨osung in der Verwendung des Stern-Operators. Dieser berechnet eine exakte L¨osung der Gleichung, sofern eine solche existiert.
6.4.1
Gleichungsl¨osung
Die Idee der Gleichungsl¨ osung mittels des Stern-Operators basiert auf der sukzessiven Approximation der L¨ osung bei von unten halbstetiger Abbildung. Inwieweit die L¨osung mit Stern-Operator der Approximation der L¨osung von unten entspricht, kann dem Beweis des folgenden Satzes entnommen werden.
Satz 6.220: Gleichungsl¨ osung mit Stern-Operator Ist (D, ⊕, ⊗) ein vollst¨ andiger Dioid, S : D → D eine von unten halbstetige Abbildung und x = S(x) ⊕ b , b ∈ D
(6.221)
eine nach x aufzul¨ osende Gleichung, dann betr¨agt die kleinste L¨osung der Gleichung x ˜ = S ∗ (b), wobei S ∗ u ¨ ber S 0 (x) = ID (x) ∗
S (x) =
∞ 2 n=0
definiert ist.
,
S n (x) = S(S n−1 (x)) = S(S(· · · ))(x)
(6.222)
n−mal n
S (x)
(6.223)
6.4 Der Stern-Operator in Dioiden
229
Beweis 6.224 Durch Einsetzen von x ˜ in Gl. (6.221) best¨atigt sich zun¨achst, dass es sich um eine L¨ osung handelt. S(˜ x) ⊕ b = S
"∞ 2
# n
S (b)
⊕b=
n=0
=
∞ 2
∞ 2
S n (b) ⊕ b
(6.225)
n=1
S n (b) = S ∗ (b) = x ˜
(6.226)
n=0
W¨ are andererseits x ˆ eine weitere L¨ osung der Gleichung, so gilt x ˆ = S(ˆ x) ⊕ b. Durch n-maliges Einsetzen dieser Gleichung in sich selbst folgt x) ⊕ S n−1 (b) ⊕ · · · ⊕ S(b) ⊕ b. xˆ = S(ˆ x) ⊕ b = . . . = S n (ˆ
(6.227)
Aufgrund der in einem Dioiden induzierten Ordnung gilt somit xˆ $ S n−1 (b) ⊕ · · · ⊕ S(b) ⊕ b
(6.228)
f¨ ur beliebiges n, woraus x ˆ $ x˜ folgt. Aus S(x) = a ⊗ x entsteht aus Gleichung (6.221) die Gleichung x = a ⊗ x ⊕ b,
(6.229)
f¨ ur die die kleinste L¨ osung x ˜ = S ∗ (b) gefunden werden soll. Die Gleichung wird mehrfach in sich selbst eingesetzt. x = a ⊗ (a ⊗ x ⊕ b) ⊕ b = a2 ⊗ x ⊕ a ⊗ b ⊕ b x = a ⊗ (a2 ⊗ x ⊕ a ⊗ b ⊕ b) = a3 ⊗ x ⊕ a2 ⊗ b ⊕ a ⊗ b ⊕ b ... n−1 2 x = an ⊗ x ⊕ ai ⊗ b
(6.230) (6.231)
(6.232)
i=0
Dies ergibt die Absch¨ atzung x≥
n−1 2
ai ⊗ b.
(6.233)
i=0
F¨ ur n → ∞ wird daraus die kleinste L¨ osung der Gleichung x˜ = a∗ ⊗ b.
(6.234)
230
6 Max-Plus-Algebra
Betrachtet man z.B. die Multiplikation S(x) = a ⊗ x in einem vollst¨andigen Dioiden, so wird S ∗ (b) = a∗ ⊗ b, wobei der Stern-Operator f¨ ur ein Element eines vollst¨andigen Dioiden durch a0 = e
,
an = a ⊗ an−1
,
a∗ =
∞ 2
an
(6.235)
n=0
definiert ist. F¨ ur den Stern-Operator in skalaren Dioiden gelten die Rechenregeln in Tabelle 6.6, vgl. [Gau92]. Tabelle 6.6: Rechenregeln der Stern-Operation in vollst¨ andigen Dioiden D
(a∗ )∗ = a∗ (a ⊕ b)∗ = (a∗ b)∗ a∗ (a ⊕ b)∗ = b∗ (ab∗ )∗ a∗ = a∗ a∗ (ab∗ )∗ = e ⊕ a(a ⊕ b)∗ D kommutativ =⇒ (a ⊕ b)∗ = a∗ b∗ In IRmax ergeben sich f¨ ur den Stern-Operator die Werte e =0 , a ∈ IRmax , a ≤ 0 a∗ = . = ∞ , a ∈ IRmax , a > 0
(6.236)
F¨ ur Skalare in IRmax besteht der Aufwand zur Berechnung des Stern-Operators somit nach Gl. (6.236) lediglich in einer Fallunterscheidung.
6.4.2
Rekursive Berechnung fu ¨r Matrizen
Im Folgenden wird gezeigt, wie der Stern-Operator f¨ ur Matrizen in Dn×n rekursiv berechnet werden kann, ohne die unendliche Summe A∗ = I ⊕ A ⊕ A2 ⊕ A3 ⊕ . . .
(6.237)
und hierf¨ ur die Matrix-Potenzen Ai , i = 2, 3, . . . zu bestimmen. Ausgangspunkt der Betrachtungen ist die Matrixgleichung X =A⊗X ⊕B
, A, B, X ∈ Dn×n ,
(6.238)
die durch S(X) = A ⊗ X aus der Gleichung (6.221) entsteht. In der Matrixgleichung ist die Vektorgleichung x=A⊗x⊕b
(6.239)
durch Beschr¨ ankung auf die erste Spalte enthalten. Durch sukzessives Einsetzen der Matrixgleichung in sich selbst ergibt sich der SternOperator f¨ ur die Matrix A. Nach Satz (6.220) handelt es sich somit wegen S ∗ (A) = A∗ ∗ bei x˜ = A ⊗ B um die kleinste L¨ osung der Gleichung (6.238).
6.4 Der Stern-Operator in Dioiden
231
Eine Absch¨ atzung f¨ ur den Aufwand einer Stern-Operation ergibt, dass sich diese mit ahnlich geringem Aufwand wie eine Multiplikation f¨ ur Matrizen entsprechender Di¨ mension durchf¨ uhren l¨ asst. Dies wird wie bei der Fast-Fourier-Transformation, FFT, durch R¨ uckf¨ uhrung der Stern-Operation h¨ oherer Dimensionen auf die Berechnung des Stern-Operators f¨ ur kleinere Dimensionen erreicht. Ausgangspunkt der Betrachtungen ist folgender Satz, der sich beispielsweise in [BCOQ92] oder [Gau92] findet. Satz 6.240: Rekursive Berechnung des Stern-Operators Unterteilt man eine quadratische Matrix A ∈ D2N ×2N der Dimension 2N × 2N in vier quadratische Bl¨ ocke a, b, c, d ∈ DN ×N der Dimension N × N, a b , (6.241) A= c d so kann der Stern-Operator f¨ ur A folgendermaßen berechnet werden:1 ∗ a ⊕ a∗ b(c a∗ b ⊕ d)∗ c a∗ a∗ b(c a∗ b ⊕ d)∗ A∗ = (c a∗ b ⊕ d)∗ c a∗ (c a∗ b ⊕ d)∗
(6.242)
Beweis 6.243 Zur Herleitung der behaupteten Gleichung (6.242) wird in [BCOQ92] die Tatsache zugrunde gelegt, dass es sich wegen Satz (6.220) bei A∗ um die kleinste L¨osung der Gleichung X = AX ⊕ I
(6.244)
handelt. Schreibt man die Gleichung unter Partitionierung der vorkommenden Matrizen X, A in vier Teilmatrizen als x1,1 x1,2 x1,1 x1,2 a b I = ⊕ , (6.245) x2,1 x2,2 c d x2,1 x2,2 I so ergeben sich die Gleichungen x1,1 x1,2 x2,1 x2,2
= = = =
a x1,1 ⊕ b x2,1 ⊕ I a x1,2 ⊕ b x2,2 c x1,1 ⊕ d x2,1 c x1,2 ⊕ d x2,2 ⊕ I.
(6.246) (6.247) (6.248) (6.249)
Die kleinsten L¨ osungen der Gl. (6.246) und (6.247) sind nach Satz (6.220) durch x1,1 = a∗ b x2,1 ⊕ I x1,2 = a∗ b x2,2 1 F¨ ur
(6.250) (6.251)
h i Matrizen A = [aij ]ij ist im Allgemeinen [A∗ ]ij = a∗ij , da sich der Stern-Operator auf die ij
Matrix-Multiplikation und nicht die komponentenweise Multiplikation bezieht.
232
6 Max-Plus-Algebra
gegeben. Setzt man die L¨ osungen in die verbleibenden Gleichungen (6.248) und (6.249) ein, so folgt x2,1 = c a∗ b x2,1 ⊕ I ⊕ d x2,1 (6.252) ∗ x2,2 = c a b x2,2 ⊕ d x2,2 ⊕ I. (6.253) Erneute Anwendung von Satz 6.220 f¨ uhrt auf ∗
x2,1 = (c a∗ b ⊕ d) c a∗ ∗
∗
x2,2 = (c a b ⊕ d) .
(6.254) (6.255)
Durch Einsetzen der Resultate in die Gleichungen (6.250) und (6.251) folgt die behauptete Gleichung ∗ a ⊕ a∗ b(c a∗ b ⊕ d)∗ c a∗ a∗ b(c a∗ b ⊕ d)∗ ∗ . (6.256) A = (c a∗ b ⊕ d)∗ c a∗ (c a∗ b ⊕ d)∗ Bei den im Beweis durchgef¨ uhrten Schritten ist zu beachten, dass aufgrund der Struktur der Gleichungen ein Einsetzen einer kleinsten L¨osung stets wieder zu einer kleinsten L¨ osung f¨ uhrt. Somit k¨ onnen die vorgenommenen Umformungen und Vereinfachungen ohne Schwierigkeiten angewandt werden. Mittels dieses Satzes ist die Berechnung eines Stern-Operators f¨ ur Matrizen der Dimension 2N × 2N auf Berechnungen der Dimension N × N zur¨ uckgef¨ uhrt. Somit kann im Falle M = 2k , k ∈ IN f¨ ur eine quadratische Matrix A ∈ DM×M der Dimension M × M die Operation rekursiv aus der Stern-Operation f¨ ur Skalare gewonnen werden. Ist die Ordnung M der Matrix A keine Potenz von 2, so kann man dies durch Erg¨anzung von Zeilen und Spalten erreichen. Da in Gl.(6.242) bestimmte Ausdr¨ ucke mehrfach auftreten, reduziert sich der Aufwand bei geschickter Wahl der Berechnungsreihenfolge. Satz 6.257: Rechenaufwand f¨ ur die Stern-Operation Die Stern-Operation kann f¨ ur eine 2N × 2N -Matrix A ∈ D2N ×2N mit zwei Additionen, sechs Multiplikationen und zwei Stern-Operationen in DN ×N berechnet werden.
Beweis 6.258 Die Berechnung ist bei einer Unterteilung der Matrix A wie in Satz 6.240 folgendermaßen auszuf¨ uhren: 1. a∗ 2. c a∗ , a∗ b, c a∗ b 3. (c a∗ b ⊕ d)∗ 4. a∗ b(c a∗ b ⊕ d)∗ , (c a∗ b ⊕ d)∗ c a∗ , a∗ ⊕ a∗ b(c a∗ b ⊕ d)∗ c a∗
6.4 Der Stern-Operator in Dioiden
233
Man erkennt, dass bei dieser Vorgehensweise die behauptete Anzahl an ElementarOperationen ben¨ otigt wird. So werden zwei Stern-Operationen in den Schritten 1. und 3. ben¨ otigt. Zwei Additionen finden in den Berechnungen bei 3. und 4. statt. Die Anzahl der Multiplikationen berechnet sich aus je drei Multiplikationen im 2. und 4. Schritt. Durch Kombination der Aussagen in Satz (6.240) und (6.257) kann der verminderte Rechenaufwand nachgewiesen werden. Satz 6.259: Aufwandsvergleich Stern-Operation zu Multiplikation F¨ ur eine Matrix A ∈ Dn×n , n = 2k , k ∈ IN ben¨otigt die Stern-Operation einen ahnlich hohen Aufwand wie eine Matrix-Multiplikation derselben Dimension. ¨ Beweis 6.260 Die folgenden Betrachtungen und Berechnungen finden in der herk¨ommlichen Algebra mit den Operationen Addition +“ und Multiplikation ·“ statt. ” ” Seien NS (k), NM (k) und NA (k) die Anzahl der Stern-Operationen, Multiplikationen k k und Additionen, welche in D2 ×2 zur Berechnung der Stern-Operation n¨otig sind. Dann folgt aus Satz (6.257) mit N (k) = (NS (k), NM (k), NA (k))T die Rekursionsbeziehung ⎞ ⎛ 26 2 N (k) = ⎝ 0 8 4 ⎠ ·N (k − 1) , ∀k ≥ 1. 00 4
(6.261)
(6.262)
=:B
Hierin ergibt sich die erste Zeile durch Satz (6.257). Zur Berechnung der Multiplikation bei Unterteilung einer quadratischen Matrix in vier Unterbl¨ocke wie in Gl. (6.241) entsteht durch (a ⊗ a) ⊕ (b ⊗ c) die linke obere Untermatrix des Produkts. Die Berechnung ben¨ otigt also 2 Multiplikationen und 1 Addition der Dimension 2k−1 × 2k−1 . Der behauptete Zusammenhang f¨ ur den Aufwand bei Addition weist sich ebenso nach. Wendet man diese Rekursion k-mal an, so erh¨alt man N (k) = B k N (0).
(6.263)
Geht man davon aus, dass in dem skalaren Dioiden D (k = 0) der Aufwand f¨ ur eine Multiplikation, eine Addition und eine Stern-Operation ann¨ahernd gleich sind, so ist N(0) = (1, 1, 1)T . Diese Annahme kann beispielsweise dadurch gerechtfertigt werden, dass sie in der Max-Plus-Algebra nahezu erf¨ ullt ist, vgl. Gl. (6.236).
234
6 Max-Plus-Algebra
Bei Kenntnis der Matrix B k kann man somit einen geschlossenen Ausdruck f¨ ur N (k) angeben. Zur Herleitung von B k stellt man B unter Verwendung der Eigenwertmatrix ⎞ ⎛ 2 0 0 (6.264) D = ⎝0 8 0⎠ 0 0 4 und der Eigenvektormatrix ⎛ ⎞ 1 √12 − √26 ⎜ ⎟ V = ⎝ 0 √12 − √16 ⎠ 0 0 √16
(6.265)
durch B = V D V −1 dar. Somit ergibt sich ⎛ k ⎞ 2 −2k + 8k 2k + 8k − 2 · 4k ⎠. 8k 8k − 4k B k = V Dk V −1 = ⎝ 0 k 0 0 4
(6.266)
Durch Einsetzen von B k und N (0) in Gl. (6.263) folgt durch Umformung ⎞ ⎛ k⎞ ⎛ ⎞ 8 2 · 8k − 2 · 4k + 2k 2 −2 1 ⎠ 2 · 8k − 4k N (k) = ⎝ 2 −1 0 ⎠ · ⎝ 4k ⎠ = ⎝ k k 0 1 0 2 4 ⎞ ⎛ 3 ⎞ ⎛ 3 2 n + n(n − 1)2 2n − 2n + n = ⎝ 2n3 − n2 ⎠ = ⎝ n3 + n2 (n − 1) ⎠ . n2 n2 ⎛
(6.267)
Das Verh¨ altnis von ben¨ otigten Stern-Operationen zu ben¨otigten Multiplikationen ist 2 · 8k − 2 · 4k + 2k n3 + n(n − 1)2 NS (k) = = NM (k) 2 · 8k − 4k n3 + n2 (n − 1)
.
(6.268)
Eventuell ist beim Sternoperator die Ordnung n der Matrix aufgrund der Erg¨anzung auf 2k gr¨oßer, was gegen¨ uber der Multiplikation zu einem erh¨ohten Aufwand f¨ uhrt.
6.5
Max-Plus-Beschreibung von Digraphen
Ereignisdiskrete Systeme lassen sich durch Digraphen modellieren, die mit der MaxPlus-Algebra oder dazu isomorphen Strukturen analytisch behandelt werden k¨onnen. Beispiele daf¨ ur sind Zustandsgraphen, die Koordination bzw. Synchronisation aufeinander folgender Vorg¨ ange oder Petrinetze.
6.5 Max-Plus-Beschreibung von Digraphen
6.5.1
235
Matrix der maximalen Kantengewichte
Wir betrachten den Digraphen in Bild 6.6. Zur analytischen Beschreibung des Graphen ben¨ otigen wir die Adjazenzmatrix A der Ordnung n × n, deren Kantengewichte aij an die Verarbeitung in der Max-Plus-Algebra angepasst werden. • aij ∈ IRmax . • aij = : Kantengewicht der gerichteten Kante vom Knoten j zum Knoten i. • aij = : es existiert keine Kante vom Knoten j zum Knoten i existiert.
Bild 6.6: Schleifenfreier Digraph
F¨ ur den Digraphen in Bild 6.6 entspricht der Kante von j = 1 nach i = 2 das Element a21 = 5. Die Adjazenzmatrix des Digraphen in Bild 6.6 ist damit ⎤ ⎡ ⎢5 3 ⎥ ⎥ ⎢ (6.269) A = ⎢ 8 7 4⎥ . ⎣2 ⎦ 2 4 Werden zwei Adjazenzmatrizen gleicher Ordnung A und B im Sinne der Max-PlusAlgebra parallel zusammengeschaltet, so besitzt der resultierende Digraph die Matrix C =A⊕B
(6.270)
mit den Elementen cij = aij ⊕ bij .
(6.271)
Das Kantengewicht cij der gerichteten Kante vom Knoten j zum Knoten i ist das maximale der beiden einzelnen Kantengewichte aij und bij . Entsprechend ist eine serielle Zusammenschaltung der Matrizen A und B m¨oglich. Dazu muss die Spaltenzahl der Matrix A gleich der Zeilenzahl der Matrix B sein. Der resultierende Graph hat die Matrix D =A⊗B
(6.272)
236
6 Max-Plus-Algebra aik
bkj
j
k
i
Bild 6.7: Serienschaltungen von Matrizen
mit den Elementen dij =
n 2
(aik ⊗ bkj ) .
(6.273)
k=1
Das resultierende Kantengewicht u ¨ ber einen Zwischenknoten k ist die Summe von Kantengewichten. Mit n m¨ oglichen Zwischenknoten k erh¨alt man n parallele Strukturen, die wie bei der Parallelschaltung u ¨ ber die Maximumbildung zusammengeschaltet werden. Die Serienschaltung der Matrix A mit sich selbst ist entsprechend die zweite Potenz der Matrix A, ) n * 2 2 A =A⊗A= (aik ⊗ akj ) . (6.274) k=1
Sie enth¨ alt die maximalen Kantengewichte aller Pfade der L¨ ange 2 vom Knoten j u oglichen Zwischenknoten k zum Knoten i (siehe Bild 6.7). Sollen f¨ ur den ¨ ber alle m¨ Graphen in Bild 6.6 die maximalen Kantengewichte aller Pfade der L¨ange 3 berechnet werden, so ergibt sich ⎤ ⎡ ⎢ ⎥ ⎥ ⎢ (6.275) A3 = A ⊗ A ⊗ A = ⎢ 13 9 ⎥ . ⎣ ⎦ 7 Im betrachteten Graphen gibt es Pfade der L¨ange 3 nur von 1 nach 3, von 1 nach 5 und von 4 nach 3. Die Matrix Am enth¨ alt demzufolge die maximalen Kantengewichte aller Pfade der L¨ ange m. Besitzt der Digraph n Knoten, dann enth¨ alt mit m ≥ n − 1 die Matrix A∗ = I ⊕ A ⊕ A2 ⊕ · · · ⊕ An−1 ⊕ An ⊕ · · · ⊕ Am ,
m≥n−1
(6.276)
die maximalen Kantengewichte aller Pfade der L¨ange null bis m. Die Matrix I = A0 enth¨ alt die Kantengewichte f¨ ur Pfade der L¨ange null. Solche Pfade f¨ uhren von den Knoten zu sich selbst, d.h. die Kantengewichte der Diagonale von A0 sind e.
6.5 Max-Plus-Beschreibung von Digraphen
237
Pfade der L¨ ange null zwischen unterschiedlichen Knoten gibt es nicht, d.h. alle anderen Elemente von A0 sind ε. Die Matrix A∗ bezeichnet in den folgenden Betrachtungen die maximalen Kantengewichte f¨ ur beliebige Wegl¨ angen in einem Digraphen G(A). Der Zusammenhang zwischen diesen maximalen Kantengewichten und dem Stern-Operator bei der Gleichungsl¨ osung in Abschnitt 6.4 erfordert eine Unterscheidung nach bestimmten Eigenschaften des zugrunde liegenden Digraphen. Diese Unterscheidung wird an den jeweiligen Stellen explizit aufgef¨ uhrt. Alle Pfade der L¨ ange m ≥ n setzen sich bei einem Digraphen mit n Knoten aus mindestens einer Schleife und offenen Pfaden k¨ urzerer L¨ange als n zusammen. Die maximalen Gewichte aller offenen Pfade k¨ urzerer L¨ ange als n, d.h. der L¨ange 0 . . . (n − 1) sind bereits in der Matrix A∗ = I ⊕ A ⊕ A2 ⊕ · · · ⊕ An−1
(6.277)
enthalten. Der Graph in Bild 6.6 beispielsweise besitzt n = 5 Knoten und keine Schleifen. Die Matrix ⎤ ⎤ ⎡ ⎤ ⎡ ⎡ e ⎢ e ⎥ ⎢5 3 ⎥ ⎢ 5 ⎥ ⎥ ⎥ ⎢ ⎥ ⎢ ⎢ A∗ = ⎢ e ⎥ ⊕ ⎢ 8 7 4 ⎥ ⊕ ⎢ 13 6 11 ⎥ ⎣ e ⎦ ⎣2 ⎦ ⎣ ⎦ 7 5 2 4 e ⎤ ⎤ ⎡ ⎡ ⎢ ⎥ ⎢ ⎥ ⎥ ⎥ ⎢ ⎢ ⊕ ⎢ 13 9 ⎥ ⊕ ⎢ 11 ⎥ , ⎣ ⎦ ⎣ ⎦ 7 ⎡
e ⎢ 5 ⎢ A∗ = ⎢ 13 ⎣ 2 7
e 8 2
e
3 11 e 5
⎤ ⎥ ⎥ 4⎥ . ⎦ e
(6.278)
enth¨ alt deshalb die maximalen Kantengewichte aller m¨oglichen offenen Pfade der L¨ange null bis vier. Durch Hinzuf¨ ugen von weiteren Matrizen Am , m ≥ n werden die maximalen Kantengewichte nicht weiter erh¨ oht, da der zugrunde liegende Graph keine Schleifen enth¨ alt. Wir wollen nun anhand der Adjazenzmatrix A u ufen, ob ein Knoten i von einem ¨ berpr¨ anderen Knoten j aus erreichbar ist. Die Matrix I = A0 enth¨alt die Schleifen der L¨ange null. Diese wollen wir im Folgenden nicht betrachten. Deswegen wird die Matrix A+ = A ⊗ A∗ als Grundlage der Untersuchungen herangezogen.
(6.279)
238
6 Max-Plus-Algebra
Satz 6.280: Erreichbarkeit von Knoten Ein Knoten i eines Digraphen G(A) ist erreichbar von einem anderen Knoten j, wenn die Matrix der maximalen Kantengewichte A+ das Element a+ ij =
(6.281)
enth¨ alt. Enth¨ alt die Matrix A+ der maximalen Kantengewichte aller Pfade der L¨ange 1 . . . n nur ¨ Elemente a+ ange zwischen beliebigen Knoten des Digraphen per ij = , dann sind Uberg¨ Definition m¨ oglich. Die Matrix A des stark zusammenh¨angenden Digraphen heißt dann irreduzierbar.
6.5.2
Ben¨otigte Ungleichungen
Die folgenden beiden Ungleichungen werden im Weiteren ben¨otigt und sollen deshalb bewiesen werden. Satz 6.282: Erste Matrix-Ungleichung F¨ ur Matrizen A, B, C ∈ IRn×n max gilt die Ungleichung K = A ⊗ (B ⊗ C) ≤ (A ⊗ B) ⊗ C = G. Ein Element kij der linken Seite ergibt sich als " n # n 2 2 air ⊗ (brs ⊗ csj ) . kij = r=1
(6.283)
(6.284)
s=1
Beweis 6.285 Als Erstes wird die Minimumbildung entfernt. Da f¨ ur alle s jeder der Terme (brs ⊗csj ) gr¨ oßer gleich dem Ergebnis der Minimumbildung ist, folgt die Ungleichung kij ≤
n 2 air ⊗ (brs ⊗ csj )
, ∀s .
(6.286)
r=1
Aufgrund der Assoziativit¨ at der Plus-Operation ⊗ kann jetzt die Klammerung vertauscht werden, was auf " n # 2 kij ≤ (air ⊗ brs ) ⊗ csj , ∀s (6.287) r=1
f¨ uhrt. Diese Ungleichung gilt f¨ ur alle s, d.h. insbesondere auch f¨ ur den minimalen Term. Damit kann der rechte Ausdruck um die Minimumbildung u ¨ ber alle s erweitert werden. # n " n 2 2 kij ≤ (air ⊗ brs ) ⊗ csj = gij . (6.288) s=1
r=1
6.5 Max-Plus-Beschreibung von Digraphen
239
Insgesamt ist damit Ungleichung (6.283) bewiesen. n 2 air ⊗ kij =
"
r=1
n 2
# (brs ⊗ csj )
≤
s=1
n 2
"
s=1
n 2
# (air ⊗ brs )
⊗ csj = gij .
r=1
(6.289) Eine weitere verwendete Ungleichung formuliert der folgende Satz. Satz 6.290: Zweite Matrix-Ungleichung F¨ ur zwei Matrizen A, X gilt stets die Absch¨atzung G = (−AT ⊗ A) ⊗ X ≥ X.
(6.291)
Elementweise lautet diese " n # n 2 2 (−ari ⊗ ars ) ⊗ xsj ≥ xij . gij = s=1
(6.292)
r=1
Beweis 6.293 Durch Weglassen der Maximumbildung ergibt sich f¨ ur alle s die Ungleichung " n # 2 gij ≥ (−ari ⊗ ars ) ⊗ xsj , ∀s . (6.294) r=1
Die Elemente der minimumbildenden Summe sind f¨ ur s = i −ari ⊗ ars = e ,
s=i ,
∀r,
(6.295)
woraus der Zusammenhang n 2
(−ari ⊗ ars ) = e ,
s=i .
(6.296)
r=1
folgt. Insgesamt ergibt sich daraus gij ≥ e ⊗ xij
(6.297)
oder " n n 2 2 s=1
# (−ari ⊗ ars )
⊗ xsj ≥ xij ,
r=1
womit die obige Ungleichung bewiesen ist.
(6.298)
240
6.5.3
6 Max-Plus-Algebra
Lineares Gleichungssystem
Das lineare Gleichungssystem A⊗x=y
(6.299)
ost werden. Anders als in der gew¨ohnlichen Algebra exissoll nach dem Vektor x aufgel¨ tiert in der Max-Plus-Algebra keine eindeutige Inverse zu A, da die Maximum-Operation nichtlinear ist. Zur Approximation der L¨ osung wird die Gleichung von links mit −AT multipliziert. Dies liefert −AT ⊗ (A ⊗ x) = −AT ⊗ y .
(6.300)
Mit Hilfe der ersten Ungleichung (6.283) erh¨alt man (−AT ⊗ A) ⊗ x ≤ −AT ⊗ (A ⊗ x) = −AT ⊗ y
(6.301)
und mit der zweiten Ungleichung (6.291) x ≤ (−AT ⊗ A) ⊗ x ≤ −AT ⊗ y .
(6.302)
Die Gleichung erlaubt damit eine Absch¨ atzung der L¨osung nach oben. Aufgrund von Gleichung (6.206) entspricht −AT ⊗ y gerade der Residuierung und somit wie bereits festgestellt der maximalen Unterl¨ osung der Gleichung. Die Verwendung von ⊕ und ∧ erfolgt nach Abschnitt 6.2 gleichwertig. H¨ aufig interessiert die maximale L¨ osung xmax mit xmax,i = −AT ⊗ y i
, ∀xi = .
(6.303)
osungen des linearen Gleichungssystems. Dann Wir nehmen nun an, x1 und x2 seien L¨ ist auch die Linearkombination von x1 und x2 eine L¨osung. A ⊗ (x1 ⊕ x2 ) = (A ⊗ x1 ) ⊕ (A ⊗ x2 ) = y ⊕ y = y .
(6.304)
Es gibt unendlich viele L¨ osungen, die einen Verband bilden. Beispiel 6.305: Zeitlicher Informationsdurchlauf durch ein verteiltes System x sei der Vektor der akkumulierten Zeiten, bis zu denen sich in jedem Knoten j eines verteilten Systems ein Referenzinformationsstand eingestellt habe. Die Elemente ¨ der Adjazenzmatrix aij sollen die Zeitzuschl¨age darstellen, die beim Ubergang der Information vom Knoten j zum Knoten i hinzukommen. Dann beschreibt y = A⊗x ¨ den Vektor y der akkumulierten Zeiten in allen Knoten nach dem Ubergang von den Vorg¨ angerknoten, deren Informations¨ ubertragung mit dem Vektor der Startzeitpunkte x beginnt.
6.5 Max-Plus-Beschreibung von Digraphen
241
In einem verteilten System seien die sp¨ atesten Zeiten yi in allen Teilsystemen gegeben, bis zu denen Informationen dort vorhanden sein m¨ ussen. Informationen k¨onnen z.B. Rechenergebnisse oder Fehleroffenbarung sein. Gesucht seien die sp¨atesten ¨ Startzeitpunkte xj , zu denen die Uberg¨ ange gestartet werden m¨ ussen, um die Worstcase-Zeiten yi einhalten zu k¨ onnen. Dazu muss das Gleichungssystem gel¨ost werden, und es folgt nach Gleichung (6.303) xmax,j = −AT ⊗ y j , ∀xj = Als Beispiel dient das System aus Bild 6.10. Die Kantengewichte entsprechen den Zeiten, die ben¨ otigt werden um eine Information vom Knoten j zum Knoten i zu u ¨bertragen. Die Elemente yi des Vektors ⎡ ⎤ 3 ⎢ 9 ⎥ ⎢ ⎥ (6.306) y = ⎢ 17 ⎥ ⎣ 5 ⎦ 11 ¨ kennzeichnen die Zeitpunkte, bis zu denen s¨amtliche Ubertragungen zum Knoten i ¨ abgeschlossen sein m¨ ussen. Die sp¨ atesten Startzeitpunkte xj der Ubertragung von den Knoten j berechnen sich damit zu ⎤ ⎡ ⎡ ⎤ ⎡ ⎤ 3 −5 −2 3 9 ⎥ −8 −2 9 ⎢ ⎥ ⎥ ⎢ ⎢ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ xmax = −AT ⊗ y = ⎢ ⎥ ⊗ ⎢ 17 ⎥ = ⎢ ⎥ . ⎣ −3 −7 −4 ⎦ ⎣ 5 ⎦ ⎣ 6 ⎦ 13 −4 11 Der Knoten 3 liefert an keinen anderen Knoten Werte. Deswegen ist keine Beschr¨ankung f¨ ur den Ausgang des Knotens notwendig, was x3,max = entspricht. Hierbei entsteht das maximale Element = ∞ aus dem minimalen Element = −∞ aufgrund der Verwendung von −AT . Durch den Zusammenhang in Gleichung (6.163) entstehen bei der Multiplikation A ⊗ x die Elemente .
6.5.4
Erweitertes lineares Gleichungssystem
Das lineare Gleichungssystem (6.299) wird um einen additiven Term erweitert, was auf eine so genannte affine“ Gleichung f¨ uhrt. ” (6.307) (A ⊗ x) ⊕ u = y . Der Vektor y muss gr¨ oßer gleich u sein, um die Gleichung zu erf¨ ullen. u ≤ y =⇒ y = y ⊕ u .
(6.308)
Man kann das Gleichungssystem deshalb auch als (A ⊗ x) ⊕ u = y ⊕ u
(6.309)
242
6 Max-Plus-Algebra
schreiben. Durch Entfernen des additiven Terms auf der linken Seite erh¨alt man die Ungleichung (A ⊗ x) ≤ y ⊕ u .
(6.310)
Multipliziert man diese unter Verwendung von ⊗ von links mit −AT , so ergibt sich −AT ⊗ (A ⊗ x) ≤ −AT ⊗ (y ⊕ u) .
(6.311)
Die linke Seite kann mit den beiden Ungleichungen (6.283) und (6.291) abgesch¨atzt werden und liefert schließlich den Zusammenhang x ≤ (−AT ⊗ A) ⊗ x ≤ −AT ⊗ (A ⊗ x) ≤ −AT ⊗ (y ⊕ u) . Die maximale L¨ osung des erweiterten linearen Gleichungssystems ist damit mit xmax,i = −AT ⊗ (y ⊕ u) i , ∀xi = . xmax
6.5.5
(6.312)
(6.313)
Iterative Systemgleichung
In Anlehnung an die klassische Systemtheorie sei das ereignisdiskrete System in Bild 6.8 betrachtet. Das System wird durch die iterativen Gleichungen x(k + 1) = A ⊗ x(k) ⊕ B ⊗ u(k) ,
(6.314)
y(k) = C ⊗ x(k)
(6.315)
beschrieben. Der Parameter k z¨ ahlt die Iterationsereignisse (Anzahl der aufgetretenen Ereignisse). Die in den Systemgleichungen verwendeten Vektoren sind: • der Zustandsvektor x(k) • der Eingangsvektor u(k) • der Ausgangsvektor y(k)
u(k)
B
x(k+1)
q
-1
A Bild 6.8: Ereignisdiskretes System
x(k)
C
y(k)
6.5 Max-Plus-Beschreibung von Digraphen
243
ai1
1 aij
j n
i ain
¨ Bild 6.9: Ein-Schritt-Uberg¨ ange in Digraphen
Eine m¨ogliche Interpretation sind akkumulierte Verz¨ ogerungszeiten oder resultierende Fehlerzust¨ande in den Knoten des Digraphen G(A). Mit der iterativen Systemgleichung ¨ k¨onnen somit z.B. k-schrittige Uberg¨ ange zwischen Knoten behandelt werden. Sind die Vorg¨angerknoten von i durch j ∈ V (i)
(6.316)
¨ beschrieben, so ist f¨ ur den k-ten Z¨ahlindex der Ein-Schritt-Ubergang von j nach i ⎛ ⎞ ⎛ ⎞ n n 2 2 xi (k + 1) = ⎝ (aij ⊗ xj (k))⎠ ⊕ ⎝ (bij ⊗ uj (k))⎠ . (6.317) j=1
j=1
Konstante Eingangsvektoren u0 modellieren die Tatsache, dass alle Eingangsereignisse uj (k) zum gleichen jeweiligen konstanten Zeitpunkt auftreten, unabh¨ angig vom Ereignisz¨ahlindex k. F¨ ur solch konstante Eingangsvektoren u(k) = u0
, ∀k
(6.318)
kann die Systemgleichung iterativ gel¨ost werden. F¨ ur steigendes k erh¨ alt man mit dem Anfangszustand x(0) x(1) = A ⊗ x(0) ⊕ B ⊗ u0 .
(6.319)
Durch Einsetzen von x(1) in Gl. (6.314) erh¨ alt man x(2) = A ⊗ x(1) ⊕ B ⊗ u0 = A ⊗ (A ⊗ x(0) ⊕ B ⊗ u0 ) ⊕ B ⊗ u0 = A2 ⊗ x(0) ⊕ (A ⊕ I) ⊗ B ⊗ u0
(6.320) (6.321)
und damit durch fortlaufendes iteratives Einsetzen x(k) = Ak ⊗ x(0) ⊕ (Ak−1 ⊕ · · · ⊕ A2 ⊕ A ⊕ I) ⊗ B ⊗ u0 .
(6.322)
244
6 Max-Plus-Algebra
G(A) sei der zu A geh¨ orende Digraph. Bei schleifenfreien Digraphen ist Ak = N , k ≥ n. Bei Schleifenfreiheit erh¨ alt man nach sp¨ atestens n − 1 Schritten eine station¨are L¨osung. Ein besonderes Problem f¨ ur die L¨ osung der iterativen Systemgleichung stellen Schleifen im Digraphen dar, die eventuell unendlich oft durchlaufen werden. Bei Pfaden der L¨ange k ≥ n wird mindestens eine Schleife durchlaufen, da der Graph n Knoten besitzt. Wir unterscheiden bei schleifenbehafteten Digraphen drei F¨alle f¨ ur die Matrixpotenzen: a.) Digraphen G(A) mit positiven Summenschleifengewichten. (k) Die Elemente all der Matrix Ak , deren zugeh¨orige Knoten l an einer Schleife positiven Summenschleifengewichts g(Sl,A ) > 0 liegen, divergieren mit wachsendem k gegen . (k)
lim all →
k→∞
,
∀l : g(Sl,A ) > 0
(6.323)
(k)
Alle weiteren Elemente aij der Matrix Ak , bei denen der Pfad maximalen Summenkantengewichts von j nach i einen Knoten l an einer Schleife, g(Sl,A ) > 0, ber¨ uhrt, divergieren ebenfalls gegen , da mit wachsendem k die Schleife bei l mehrfach durchlaufen wird. Ist der Pfad von j nach i schleifenfrei, so existieren (k) keine Pfadl¨ angen k ≥ n. Dann ist aij = , ∀k ≥ n. Insgesamt divergiert x(k). Um zu einer endlichen L¨ osung zu gelangen, muss man die Zahl k der Iterationsschritte begrenzen. b.) Digraphen G(A) mit nicht-positiven Summenschleifengewichten. Die Matrix A habe mindestens eine Schleife mit dem maximalen Summenschleifengewicht g(Sl,A ) = 0 und eventuell weitere Schleifen mit einem Summenschleifenˆ gewicht g(Sl,A ) < 0. Wir bezeichnen eine solche Matrix als normierte Matrix A (Abschnitt 6.6.1). Es ergeben sich die maximalen Summenkantengewichte A∗ = I ⊕ A ⊕ A2 ⊕ . . . ⊕ An−1 ⊕ . . . ⊕ Ak .
(6.324)
Die Summation kann beim Exponenten k = n abgebrochen werden, da beim mehrfachen Erreichen von Kanten lediglich das maximale Summenschleifengewicht e = 0 addiert werden k¨ onnte, wodurch sich die in I und A bis An−1 enthaltenen maximalen Summenkantengewichte nicht vergr¨oßern w¨ urden. Ak ≤ I ⊕ A ⊕ A2 ⊕ . . . ⊕ An−1
, ∀k ≥ n .
(6.325)
Die Matrizen Ak mit Exponenten k ≥ n fallen deshalb bei der Maximumbildung heraus. Die Matrix der maximalen Summenkantengewichte ist damit A∗ = I ⊕ A ⊕ A2 ⊕ . . . ⊕ An−1 ,
(6.326)
womit sich die Systemgleichung x(k) = Ak ⊗ x(0) ⊕ A∗ ⊗ B ⊗ u0 x(k) ≤ A∗ ⊗ x(0) ⊕ A∗ ⊗ B ⊗ u0
, ∀k ≥ n , , ∀k ≥ n .
(6.327) (6.328)
6.5 Max-Plus-Beschreibung von Digraphen
245
ergibt. Die L¨ osung ist nicht eindeutig und kann nur als A∗ ⊗ B ⊗ u0 ≤ x(k) ≤ A∗ ⊗ x(0) ⊕ B ⊗ u0
, ∀k ≥ n
(6.329)
angegeben werden. In Abschnitt 6.7.4 wird gezeigt, dass die Potenz einer normierˆ k mit wachsendem k gegen den so genannten spektralen Projektor ten Matrix A ˆ die Zyklizit¨at γ = 1 besitzt. Q konvergiert, wenn der dazugeh¨ orige Graph G(A) c.) Digraphen G(A) mit negativen Summenschleifengewichten. (k) Die Elemente all der Matrix Ak , deren zugeh¨orige Knoten l an einer Schleife negativen Summenschleifengewichts g(Sl,A ) < 0 liegen, konvergieren gegen . (k)
lim all → ,
k→∞
∀l : g(Sl,A ) < 0
(6.330)
(k)
Alle weiteren Elemente aij der Matrix Ak konvergieren ebenfalls gegen . Entweder ber¨ uhrt der Pfad von j nach i einen Knoten l, g(Sl,A ) < 0. Dann wird (k) mit wachsendem k die Schleife mehrfach durchlaufen, wodurch aij immer kleiner wird. Oder aber der Pfad von j nach i ist schleifenfrei. Dann existierten keine (k) Pfadl¨ angen k ≥ n, d.h. aij = , ∀k ≥ n. Insgesamt gilt lim Ak → N .
(6.331)
k→∞
Hieraus resultiert eine konvergierende L¨osung der Systemgleichung lim x(k) = A∗ ⊗ B ⊗ u0 .
k→∞
(6.332)
Die Matrix A∗ wurde in diesem Abschnitt iterativ u ¨ ber die Matrix-Potenzen berechnet. Damit verbindet sich ein anschaulicher Zusammenhang zu den Pfadl¨angen. In praktischen Anwendungen wird man A∗ aber weniger aufwendig mit Hilfe des Rekursionsalgorithmus aus Abschnitt 6.4.2 berechnen.
Beispiel 6.333: L¨ osung der Systemgleichung Gegeben sei wiederum das ereignisdiskrete System aus Bild 6.10 erweitert um Ein¨ und Ausg¨ ange, was in Bild 6.10 zu sehen ist. Der Ubergang aus dem Knoten 3 hat das Kantengewicht 5. Zus¨ atzlich haben die Kanten von außen in den Knoten 1 das Kantengewicht 3 und in 4 das Kantengewicht 6. Es ergeben sich somit die Systemgr¨ oßen ⎡
3 ⎢ ⎢ B =⎢ ⎣
⎤ ⎥ ⎥ ⎥ , C = [ 6⎦
5
] .
246
6 Max-Plus-Algebra
Bild 6.10: Ereignisdiskretes System mit Ein- und Ausg¨ angen
Aufgrund der Schleifenfreiheit ist Ak = N
f¨ ur
k≥n .
¨ Die maximalen Ubergangsgewichte der L¨ange 1 . . . n zum Erreichen der Knoten vom Eingang u aus erhalten wir f¨ ur den Fall u = [e, e]T : x(n) = An−1 ⊕ An−2 ⊕ · · · ⊕ I ⊗ B ⊗ u , ⎡ ⎤ ⎤ ⎤ ⎡ ⎡ ⎤ ⎡ 3 3 e x1 (n) ⎢ x2 (n) ⎥ ⎢ 5 e 3 ⎥ ⎢ ⎥ ⎢ 9 ⎥ e ⎢ ⎥ ⎥ ⎥ ⎢ ⎢ ⎥ ⎢ = ⎢ 17 ⎥ . ⎢ x3 (n) ⎥ = ⎢ 13 8 e 11 4 ⎥ ⊗ ⎢ ⎥ ⊗ e ⎣ 6 ⎦ ⎣ x (n) ⎦ ⎣ 2 e ⎦ ⎣ 6 ⎦ 4 11 7 2 5 e x5 (n) Damit ergibt sich der l¨ angste Weg durch den Graphen von u u ¨ ber die Knotenzust¨ ande x als y(n) = C ⊗ x(n) ,
⎤ 3 9 ⎥ ⎢ ⎢ ⎥ y(n) = 5 ⊗ ⎢ 17 ⎥ = 22 . ⎣ 6 ⎦ 11 ⎡
Das Resultat folgt auch durch Betrachtung des Graphen, da das Ergebnis in diesem einfachen Fall auch ohne Rechnung erkennbar ist. F¨ ur komplexere Netzwerke ist jedoch eine algebraische Behandlung unerl¨asslich.
Beispiel 6.334: Nebenl¨ aufiges Programm Das Ein- und Ausgangsverhalten des Graphen in Bild 6.11, der ein nebenl¨aufiges Programm beschreibt, wird durch die Vektoren T T b= e und c = 2 beschrieben.
6.5 Max-Plus-Beschreibung von Digraphen
247
t32 = 5 t21= 3
t42 = 7
t53 = 6 t54 = 4
t41 = 9
t5 = 2
Bild 6.11: Nebenl¨ aufiges Programm
F¨ ur die Adjazenzmatrix A des Programms erhalten wir ⎡
⎢ τ21 ⎢ A = ⎢ τ32 ⎣τ τ 41 42 τ53
τ54
⎤ ⎡ ⎥ ⎢3 ⎥ ⎢ ⎥ = ⎢ ⎦ ⎣9
5 7
6
4
⎤ ⎥ ⎥ ⎥ . ⎦
Da der Digraph keine Schleifen besitzt, folgt f¨ ur die maximale Wegl¨ange zwischen Zustandsgr¨oßen ⎡
e ⎢ 3 ⎢ x(5) = A∗ ⊗ b ⊗ u0 = ⎢ 8 ⎣ 10 14
e 5 7 11
e 6
e 4
⎡ ⎤ ⎤ ⎡ ⎤ e e ⎥ ⎢⎥ ⎢ 3 ⎥ ⎢ ⎥ ⎥ ⎢ ⎥ ⎥⊗⎢⎥⊗e=⎢ 8 ⎥ ⎣ 10 ⎦ ⎦ ⎣ ⎦ 14 e
und damit die Gesamtlaufzeit τ des nebenl¨aufigen Programms ⎤ e 3 ⎥ ⎢ ⎢ ⎥ τ = y(5) = cT ⊗ x(5) = 2 ⊗ ⎢ 8 ⎥ = 16 . ⎣ 10 ⎦ 14 ⎡
Der Vektor x(5) gibt die maximalen Verz¨ogerungen, bis zu der die f¨ unf nebenl¨aufigen Programme vom Startereignis u0 aus durchgerechnet worden sind.
Beispiel 6.335: Einhalten von Deadlines Neben der maximalen Verz¨ ogerung durch das nebenl¨aufige Programm in Bild 6.11 ist eine andere Fragestellung m¨ oglich. Wenn x(5) als sp¨atester Zeitpunkt (Deadline) vorgegeben wird, an dem die Ergebnisse der 5 nebenl¨aufigen Programme vorliegen sollen, dann interessiert man sich f¨ ur den sp¨atesten Zeitpunkt u0,max , an welchem das Startereignis auftreten darf, um diese Bedingung einzuhalten. Dazu m¨ ussen wir das lineare Gleichungssystem x(5) = A∗ ⊗ b ⊗ u0
248
6 Max-Plus-Algebra
nach u0 aufl¨ osen, was nach Ungleichung (6.302) zu b ⊗ u0 ≤ −(A∗ )T ⊗ x(5) f¨ uhrt. Gibt man als Zeitrahmen den Vektor x(5) mit xT (5) = 2 5 9 11 15 vor, so ergibt sich daraus die Ungleichung ⎤ ⎤ ⎡ ⎡ ⎤ ⎡ ⎤ ⎡ 1 e −3 −8 −10 −14 2 e ⊗ u0 ⎢ 5 ⎥ ⎢ 4 ⎥ ⎢ ⎥ ⎢ e −5 −7 −11 ⎥ ⎥ ⎥ ⎢ ⎢ ⎥ ⎢ ⎥ ⎢ ⎢ ⎥ ≤ ⎢ e −6 ⎥ ⊗ ⎢ 9 ⎥ = ⎢ 9 ⎥ . ⎣ 11 ⎦ ⎣ 11 ⎦ ⎣ ⎦ ⎣ e −4 ⎦ 15 e 15 F¨ ur den sp¨ atesten Ereigniszeitpunkt u0,max folgt somit u0,max = 1.
6.5.6
Pfade minimalen Summenkantengewichts
In einem Digraphen sollen die Pfade minimalen Summenkantengewichts von einem Startknoten j zu einem Zielknoten i bestimmt werden. Eine Anwendung daf¨ ur ist z.B. die Suche nach der k¨ urzesten Verbindung zwischen zwei Orten in einem Verkehrsnetz. Dabei werden die Erwartungswerte der Fahrzeiten als Kantengewichte des Digraphen eingetragen. Die Adjazenzmatrix des Digraphen sei A. Der Digraph besitze nur Schleifen mit positiven Summenkantengewichten, d.h. lim A = N . k
(6.336)
k→∞
¨ Aufgrund des Ubergangs von Max-Plus- auf Min-Plus-Dioide entspricht dies Gl. (6.331). Der Index steht f¨ ur die Abbildung der Elemente und Operatoren in die Min-PlusAlgebra. Die Matrix der minimalen Summenkantengewichte aller Pfade ∗
2
A = I ⊕ A ⊕ A . . . ⊕ A
(n−1)
(6.337) ∗ aij
vom Knoten j zum Knoten i. enth¨ alt auch das minimale Summenkantengewicht Da die Kantengewichte alle positiv sind, werden die Summenkantengewichte bei Verm gr¨ oßerung der Pfadl¨ ange u ¨ ber n − 1 hinaus erh¨oht. Die Matrix-Potenzen A , m ≥ n fallen deshalb bei der Minimumbildung in Gl. (6.337) heraus. Zur Bestimmung des/der Pfade wird iterativ vorgegangen, von Knoten zu Knoten. Der Knoten k sei Teil eines gesuchten Pfades minimalen Summenkantengewichts. Die Knoten l ∈ N (k)
(6.338)
seien die Nachfolgeknoten von k. Dann setzt sich der Weg von k nach i zusammen aus dem Weg von k zum Nachfolgeknoten l und von dort zum Zielknoten i. F¨ ur beliebige l gilt ∗
∗
aik ≤ ail ⊗ alk ,
(6.339)
6.5 Max-Plus-Beschreibung von Digraphen
249
aik∗ i
k
l
alk
ail∗
Bild 6.12: Minimales Summenkantengewicht von k nach i u ¨ber Knoten l
d.h. nicht jeder Nachfolgeknoten l ist Teil des/der gesuchten Pfade(s). Nur wenn l Teil eines Pfades minimalen Kantengewichts von j nach i ist, und wenn der Vorg¨anger k ∈ V (l) bereits Teil dieses Pfades war, dann gilt ∗
∗
aik = ail ⊗ alk
(6.340)
bzw. ∗
∗
(−aik ) ⊗ ail ⊗ alk = e .
(6.341)
Bei der Iteration muss entschieden werden, ob dies f¨ ur einen Nachfolgeknoten l ∈ N (k) gilt. Wenn ja, wird von dort die Iteration fortgesetzt. k ist Teil des gesuchten Pfades
l ∈ N (k) Bild 6.13: Nachfolgeknoten N (k)
Zur Berechnung der Kantengewichte zu den Nachfolgeknoten und von diesen zum Zielknoten werden Vektoren ej = [ . . . e . . . ]T , j
ek = [ . . . e . . . ]T , k
ei = [ . . . e . . . ]T i
definiert, deren j-tes, k-tes bzw. i-tes Element gleich e ist. Dann enth¨ alt der Vektor A ⊗ ek
(6.342)
250
6 Max-Plus-Algebra
die Kantengewichte alk vom Knoten k zu allen Nachfolgeknoten l ∈ N (k). Wenn es keinen Nachfolger gibt, so ist das entsprechende Kantengewicht . Der Vektor eTi ⊗ A
∗
(6.343) ∗
enth¨ alt die minimalen Summenkantengewichte ail von allen Knoten l zum Zielknoten i. Wenn der Knoten k Teil eines Pfades minimalen Summenkantengewichts ist, so gilt f¨ ur dessen Nachfolgeknoten l ∈ N (k) nach Gl. (6.341) ∗ ∗ e ⊗ (−aik ) (A )T ⊗ ei (A ⊗ ek ) ≥ e . (6.344) Das Gleichheitszeichen bei den Elementen l der Vektorgleichung zeigt an, dass der zugeh¨ orige Nachfolgeknoten l Teil eines Pfades minimalen Summenkantengewichts ist. Zur Entscheidung wird die Binarisierungsfunktion Bin{y}
(6.345)
eingef¨ uhrt, mit Bin{e} = e und Bin{yi > e} = . Die Binarisierungsfunktion wird auf Gl. (6.344) angewendet. ∗ ∗ bk = Bin{ e ⊗ (−aik ) (A )T ⊗ ei (A ⊗ ek )} . (6.346) Sind die Elemente blk = e, so sind die Nachfolgeknoten l ∈ N (k) Teil eines Pfades minimalen Summenkantengewichts von j nach i. Von jedem dieser l muss die Iteration getrennt fortgesetzt werden. Die Iteration beginnt bei k = j und ist sp¨atestens bei k = n − 1 abgeschlossen, da Schleifen in einem Pfad minimalen Summenkantengewichts nicht vorkommen. Die Iteration f¨ ur einen der gesuchten Pfade kann abgebrochen werden, wenn l = i ist, d.h. der Nachfolgeknoten von k der Zielknoten i ist. Beispiel 6.347: Weg minimalen Summenkantengewichts von 1 nach 3 Gegeben ist der Digraph aus Bild 6.14. Im Folgenden wird nun der Weg minimalen Summenkantengewichts vom Knoten 1 zum Knoten 3 gesucht. F¨ ur die Adjazenzmatrix A des Graphen und die Matrix der
Bild 6.14: Weg minimalen Summenkantengewichts
6.5 Max-Plus-Beschreibung von Digraphen
251
minimalen Summenkantengewichte aller Pfade erh¨alt man ⎤ ⎤ ⎡ ⎡ e ⎢ 5 3 ⎥ ⎢5 e 3 ⎥ ⎥ ⎥ ∗ ⎢ ⎢ A = ⎢ 8 7 4 ⎥ und A = ⎢ 9 6 e 7 4 ⎥ . ⎣ 2 ⎦ ⎣2 e ⎦ 2 4 6 2 4 e Die Pfadsuche beginnt im Knoten 1. Es wird zun¨achst u uft ob ein Nachfolge¨ berpr¨ knoten Teil des gesuchten Pfades ist. T Ae1 = 5 2 ∗ eT3 A = 9 6 e 7 4
k=j=1: i=3:
a31
∗
=9 .
⎡ ⎤ ⎡ ⎤ ⎤ ⎡ ⎤ ⎡ ⎤ 9 −9 ⎥ 2 ⎢ ⎥ ⎢ = < ⎢ −9 ⎥ ⎢ 6 ⎥ ⎢ 5 ⎥ = /⎢ ⎥ ⎢ ⎥ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ b1 = Bin ⎢ −9 ⎥ ⎢ e ⎥ ⎢ ⎥ = Bin ⎢ ⎥ = ⎢ ⎥ . ⎣e⎦ ⎣e⎦ ⎣ −9 ⎦ ⎣ 7 ⎦ ⎣ 2 ⎦ 4 −9 ⎡
Nur der Knoten 4 ∈ N (1) ist Teil eines Pfades minimalen Summenkantengewichts, da b14 = e ist. Von dort wird weiter iteriert: k=4:
T Ae4 = 3 7 4 ∗
a34 = 7 . ⎡ ⎤ ⎡ ⎤ ⎤ ⎡ ⎤ ⎡ ⎤ 9 −7 ⎥ 2 ⎢ ⎥ ⎢ = < ⎢ −7 ⎥ ⎢ 6 ⎥ ⎢ 3 ⎥ = /⎢ ⎥ ⎢ ⎥ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ b4 = Bin ⎢ −7 ⎥ ⎢ e ⎥ ⎢ 7 ⎥ = Bin ⎢ e ⎥ = ⎢ e ⎥ . ⎣⎦ ⎣⎦ ⎣ −7 ⎦ ⎣ 7 ⎦ ⎣ ⎦ 1 4 4 −7 ⎡
Der Zielknoten 3 ist der Nachfolger von Knoten 4 (l = i). Der Pfad minimalen Summenkantengewichts verl¨ auft von 1 −→ 4 −→ 3. urzesten Weges ist mit dem Algorithmus von FloydEine alternative Berechnung des k¨ Warshall m¨ oglich [Lan03]. Im Gegensatz zur bereits vorgestellten Methode gibt dieser f¨ ur jeden Iterationsschritt den k¨ urzesten Weg von jedem Knoten j zu jedem anderen Knoten i des Graphen an. Allerdings muss hierzu in jedem Iterationsschritt p eine neue Vorg¨ angerknotenmatrix V p sowie eine Matrix Ap der minimalen Summenkantengewichte ermittelt werden. Um den k¨ urzesten Weg zwischen zwei Knoten u ¨ ber alle Zwischenknoten zu ermitteln, ben¨ otigt man somit alle zuvor berechneten Matrizen V p und Ap .
252
6 Max-Plus-Algebra
Der Pseudocode des Floyd-Warshall Algorithmus lautet: F¨ ur p = 1 bis n: F¨ ur i = 1 bis n: F¨ ur j = 1 bis n: Falls a(i, j) > a(i, p) + a(p, j), dann setzte a(i, j) := a(i, p) + a(p, j); v(i, j) := v(p, j); Falls j = i und a(i, i) < 0 break; end end end end Um diesen Nachteil des Floyd-Warshall-Algorithmus zu umgehen, wird dieser im Folgenden um die Matrix der minimalen Summenkantengewichte aller Pfade der L¨ange n + ∗ A = A ⊗ I ⊕ A ⊕ · · · ⊕ An−1 = A ⊗ A (6.348) (vgl. Gl. (6.279)) erweitert. Somit kann der vollst¨andige, k¨ urzeste Weg zwischen zwei + beliebigen Knoten j und i aus der einmalig berechneten Matrix A und der Nachfolgerknotenmatrix S des letzten Iterationsschritts ermittelt werden. Die Nachfolgerknotenmatrix der Dimension [n × n] ist zu Beginn der Iteration ⎡ ⎤ e ··· e ⎢ ⎥ S = ⎣ ... . . . ... ⎦ . (6.349) e ··· e Basierend auf der Matrix der minimalen Summenkantengewichte kann die Nachfolgerknotenmatrix iterativ ∀i, j, k = 1...n berechnet werden. +
+
a ij ≤ a ik ⊗ akj , ∀i, j, k = 1...n → Falls
+ a ij + a ij
=
+ a ik
= sij = k
⊗ akj
und
gilt
+
a ij = gilt sij = → Sonst gilt sij = sij
→ Falls
k ist hierbei der Nachfolger vom Knoten j auf dem Weg zum Knoten i.
(6.350)
6.6 Eigenwerte der Adjazenz-Matrix
253
Beispiel 6.351: Alle Wege minimalen Summenkantengewichts von j nach i Ausgegangen wird vom und S ergeben sich zu ⎡ ⎢ 5 + ⎢ A = ⎢ 9 6 ⎣ 2 6 2 und
⎡ ⎢ ⎢ S=⎢ ⎣
4 4 e 4
5 e
Graphen aus Beispiel (6.347), Bild 6.14. Die Matrizen A ⎤ ⎥ ⎥ 4⎥ ⎦
3 7 4
e e e
⎤ ⎥ ⎥ e⎥ ⎦
+
.
.
Wie man sieht, verl¨ auft der k¨ urzeste Weg vom Knoten j = 1 zum Knoten i = 3 mit dem minimalen Summenkantengewicht a+ ¨ ber den Zwischenknoten s31 = 31 = 9 u + 4. Mit Hilfe der Nachfolgerknotenmatrix S sowie der Matrix A k¨onnen nun alle k¨ urzesten Wege innerhalb des Graphen bestimmt werden. Ein Element sij = besagt, dass es keinen Weg vom Knoten j zum i gibt, ein Element sij = e dagegen, dass es auf dem Weg vom Knoten j zum Knoten i keinen Zwischenknoten k gibt.
6.6
Eigenwerte der Adjazenz-Matrix
Das Verhalten von verkoppelten ereignisdiskreten Systemen, wie z.B. die Koordination und Synchronisation einzelner Komponenten, kann durch die Max-Plus-Algebra modelliert werden. Die Modellierung f¨ uhrt auf rekursive Matrizengleichungen, die das zeitliche Verhalten des Systems beschreiben. Bei schleifenfreien Graphen ist deren L¨osung unproblematisch, da die maximale offene Pfadl¨ ange n − 1 ist. Im Folgenden werden deshalb schleifenbehaftete Graphen betrachtet. Trotz mehrfachem Durchlaufen der Schleifen existieren in vielen F¨ allen konvergente L¨ osungen der rekursiven Systemgleichungen. Von Bedeutung sind dabei die Eigenwerte und Eigenvektoren der Adjazenzmatrix.
6.6.1
Maximales mittleres Summenschleifengewicht
Die Eigenwertgleichung der Matrix A lautet in der Max-Plus-Algebra A⊗x=λ⊗x .
(6.352)
Wir betrachten Digraphen G(A), die mindestens eine Schleife enthalten. Dann existiert eine Schleife mit dem maximalen mittleren Summenschleifengewicht λ. Das maximale mittlere Summenschleifengewicht ist Summenschleifengewicht g(Sm,A ) λ= max . (6.353) alle Schleifen Schleifenl¨ange l(Sm,A )
254
6 Max-Plus-Algebra
Dabei ist m ein Knoten, der an dieser Schleife liegt. Die Schleifenl¨ange l(Sm,A ) beschreibt die Anzahl der Kanten in einer Schleife. Ein schleifenfreier Graph G(A) mit reduzierbarer Adjazenzmatrix A bes¨ aße das maximale mittlere Summenschleifengewicht λ = ε. Definition 6.354 Normierte Adjazenzmatrix Der Graph G(A) besitze mindestens eine Schleife mit λ > ε. Aus der Matrix A wird die auf λ normierte Matrix ˆ = A = (−λ) ⊗ A A λ
(6.355)
durch Division durch das maximale mittlere Summenschleifengewicht λ erzeugt. Satz 6.356: Maximales Summenschleifengewicht der normierten Matrix Der Graph G(A) besitze mindestens eine Schleife mit λ > ε. Die normierte Matrix Aˆ hat das maximale Summenschleifengewicht e. Beweis 6.357 Die Max-Plus-Division ist die Umkehroperation zur Max-Plus-Multiplikation ⊗. Bei Skalaren entspricht dies einer Subtraktion in der herk¨ommlichen Algebra. Die Elemente von Aˆ sind damit a ˆij = aij − λ .
(6.358)
Das maximale Summenkantengewicht aller Schleifen in der normierten Matrix Aˆ ist e. Zum Beweis soll zun¨ achst die Schleife Sk, A in A mit dem Summenkantengewicht g(Sk, A ) und der L¨ ange l(Sk, A ) betrachtet werden, die das maximale mittlere Summenschleifengewicht λ = λk,A =
g(Sk,A ) l(Sk,A )
(6.359)
besitzt. k ist ein Knoten an dieser Schleife. Jede beliebige andere Schleife Sm, A in A hat dann das mittlere Summenschleifengewicht λm,A =
g(Sm,A ) ≤ λ = λk, A , l(Sm,A )
(6.360)
das kleiner gleich λk, A ist. m ist ein Knoten an einer Schleife, die eventuell nicht das maximale mittlere Summenschleifengewicht besitzt. Der zur normierten Matrix Aˆ (6.355) geh¨ orende Digraph besitzt dieselben Schleifen wie der zu A geh¨orende Digraph. Es haben sich nur die Kantengewichte gem¨aß (6.358) ge¨andert. F¨ ur das Summenkantengewicht g(Sk,Aˆ ) in der Schleife Sk, Aˆ erh¨alt man somit g(Sk, Aˆ ) = g(Sk, A ) − l(Sk, A ) · λ = g(Sk, A ) − l(Sk, A )
g(Sk, A ) = e . (6.361) l(Sk, A )
6.6 Eigenwerte der Adjazenz-Matrix
255
Hiermit ist auch das maximale mittlere Summenschleifengewicht λ = e. F¨ ur alle anderen Schleifen Sm, A gilt nach (6.360) g(Sm, Aˆ ) = g(Sm, A )−l(Sm, A )·λ = l(Sm, A )·λm, A −l(Sm, A )·λ ≤ e . (6.362) Beispiel 6.363: Maximales Summenschleifengewicht Der Graph G(A) in Bild 6.15 besitzt zwei Schleifen. k = 1 ist ein Knoten an der Schleife mit dem maximalen mittleren Summenkantengewicht, m = 3 ist ein Knoten an der anderen Schleife mit einem kleineren mittleren Summenkantengewicht. g(S1,A ) = 10 , l(S1,A ) = 4 → λ = λ1,A = 2.5 g(S3,A ) = 2 , l(S3,A ) = 2 → λ3,A = 1 ≤ λ ˆ (Bild 6.16 hat die gleiche Toorige Graph G(A) Der zur normierten Matrix Aˆ geh¨ pologie, aber um λ verringerte Kantengewichte (Gl. (6.358)). Das maximale Sumˆ ist λ = e. menschleifengewicht des normierten Graphen G(A) 2 2
3
1
3 4
1 4
-1
1
Bild 6.15: Graph G(A) mit zwei Schleifen
2 -0.5
0.5
1
3 1.5
-1
-1.5 4
-1.5
ˆ nach der Normierung Bild 6.16: Graph G(A)
Satz 6.364: Eigenwert Der Eigenwert λ einer schleifenbehafteten Adjazenzmatrix A ist das maximale, mittlere Summenschleifengewicht.
256
6 Max-Plus-Algebra
Beweis 6.365 Die normierte Adjazenzmatrix Aˆ wird mit Hilfe von Gl. (6.355) berechnet. Nach Gl. (6.326) kann dann die normierte Matrix der maximalen Summenkantengewichte ˆ∗ = I ⊕ A ˆ ⊕ ···⊕ A ˆ n−1 A
(6.366) 0
berechnet werden. Die Matrix I = Aˆ beinhaltet die Schleifen der L¨ange null, die im ∗ Folgenden nicht betrachtet werden sollen. Dazu wird die Matrix Aˆ mit Aˆ multipliziert. ˆ+ = A ˆ ⊗A ˆ∗ = A ˆ ⊕A ˆ2 ⊕ · · · ⊕ A ˆ n−1 ⊕ A ˆn A
(6.367)
+ alt die maximalen Summenkantengewichte aller Pfade der L¨ange Die Matrix Aˆ enth¨ ˆ Wir betrachten jetzt eine Schleife in Aˆ mit dem maxima1 bis n des Graphen G(A). len mittleren Summenkantengewicht, das e ist. Der Knoten k sei Bestandteil dieser Schleife. Die betrachtete Schleife kann z.B. von diesem Knoten k aus durchlaufen ˆ+ das Summenkantenwerden. Damit enth¨ alt das Diagonalelement a ˆ+ der Matrix A kk gewicht der Schleife, das e ist.
a ˆ+ kk = e .
(6.368)
F¨ ur die betrachtete Spalte k besitzt die Matrix ˆ+ = I ⊕ A ˆ ⊕A ˆ2 ⊕ · · · ⊕ A ˆ n−1 ⊕ A ˆn ˆ∗ = I ⊕ A A ˆ ⊕A ˆ2 ⊕ · · · ⊕ A ˆ n−1 = I ⊕A
(6.369)
dann den gleichen k-ten Spaltenvektor ˆ+ a ˆ∗k = a k .
(6.370)
Die Multiplikation dieses Spaltenvektors mit der Matrix A ergibt nach (6.367) ˆ ⊗a ˆ∗k = λ ⊗ A ˆ∗k = λ ⊗ a ˆ+ ˆ∗k . A⊗a k = λ⊗a
(6.371)
Der k-te Spaltenvektor a ˆ+ ˆr (k) mit dem Element a ˆ+ ullt die Eigenwertk = a k,k = e erf¨ gleichung der Matrix A. Er ist damit ein rechtsseitiger Eigenvektor der Matrix A, der zum Eigenwert λ geh¨ ort.
Enth¨ alt die betrachtete Schleife mit dem maximalen mittleren Summenkantengewicht e mehrere Knoten, so geh¨ oren zum Eigenwert λ mehrere Eigenvektoren.
6.6 Eigenwerte der Adjazenz-Matrix
257
Bemerkung 6.372 ˆn ˆ + in Gl. (6.367) wird die Summe erst nach A Bei der Berechnung der Matrix A abgebrochen. Damit ist z.B. der Fall eines Digraphen abgedeckt, der nur aus einer einzigen Schleife besteht, die alle Knoten umfasst. Das maximale Summenschleifengewicht dieser Schleife ist aufgrund der Normierung gerade gleich e. Andere Verbindungen zwischen den Knoten als u ¨ ber die einzige Schleife existieren nicht. Die (n) Elemente a ˆij sind deshalb auf der Diagonalen gleich e und außerhalb gleich ε. (n)
a ˆij =
e ε
, i=j , i= j
ˆ ∗ in Gl. (6.369) kann A ˆn ˆ n = I. Bei der Berechnung von A Damit ist die Matrix A ∗ ˆ die Einheitsmatrix I bereits enthalten ist. weggelassen werden, weil in A
Definition 6.373 Kritische Schleife Sk,Aˆ Eine Schleife mit dem maximalen Summenschleifengewicht g(Sk,Aˆ ) = e heißt kritische ˆ Schleife des normierten, schleifenbehafteten Graphen G(A).
ˆ Definition 6.374 Kritischer Graph Gc (A) ˆ wird aus Der kritische Graph eines normierten, schleifenbehafteten Graphen G(A) c ˆ allen seinen kritischen Schleifen gebildet. Der kritische Graph G (A) ist nicht notwendigerweise zusammenh¨ angend. Es existieren eventuell mehrere kritische Teilgraphen ˆ in A, ˆ die das maximale mittlere Summenschleifengewicht λ besitzen, die aber Gcr (A) untereinander nicht stark zusammenh¨ angen.
Beispiel 6.375: Kritischer Graph a.) Normierte Adjazenzmatrix ⎡
ε ⎢2 ⎢ ⎢ε ⎢ ⎢ε Aˆ = ⎢ ⎢ε ⎢ε ⎢ ⎣ε ε
−2 ε ε −1 ε ε 2 ε
ε 2 ε ε ε ε ε −5
ε ε −1 ε ε ε ε ε
−1 ε ε ε ε ε 5 ε
ε ε ε −2 −3 ε ε ε
ε ε ε ε ε −2 ε −1
⎤ ε ε⎥ ⎥ ε⎥ ⎥ ε⎥ ⎥ ε⎥ ε⎥ ⎥ 1⎦ ε
258
6 Max-Plus-Algebra b.) Normierter, stark zusammenh¨ angender Graph (Bild 6.17) -1
2 1
2
4
3 -1
2
-2
-5
2
-1
5
5
7
6 -2
-3
ˆ G(A)
-1 8 1 -2
ˆ Bild 6.17: Stark zusammenh¨ angender Graph G(A)
c.) Kritischer Graph ˆ in Bild 6.18 enth¨ Gc (A) alt zwei untereinander nicht zusammenh¨angende kritische Teilgraphen mit kritischen Schleifen der L¨angen 2, 3 und 5. Es wird ˆ stark zusamangenommen, dass die einzelnen kritischen Teilgraphen Gcr (A) menh¨ angend sind. -1
2 1
2
-1
2
-2 -1
5
5
ˆ Gc (A)
-1 7
6 -3
4
3
-2
8 1
ˆ Bild 6.18: Kritischer Graph Gc (A)
6.6.2
Eigenvektoren
ˆ der normierten Matrix Aˆ+ sind rechtsseitige Die Spaltenvektoren a ˆr (k), k ∈ Gc (A) ullen Eigenvektoren der schleifenbehafteten Matrix Aˆ zum Eigenwert λ = e, d.h. sie erf¨
6.6 Eigenwerte der Adjazenz-Matrix
259
die Gleichungen ˆ ar (k) . λa ˆr (k) = Aˆ
(6.376)
ˆ in einem ur die der Knoten k ∈ Gc (A) Dies gilt f¨ ur alle Spaltenvektoren a ˆr (k), f¨ der kritischen Teilgraphen enthalten ist, d.h. Teil einer kritischen Schleife ist. Die Linearkombination aller Eigenwertgleichungen ist ˆ ⊗a ⊕ (λ ⊗ a A ˆr (k)) = ⊕ ˆr (k) , (6.377) ˆ k∈Gc (A)
ˆ k∈Gc (A)
woraus man mit dem Vektor x=
⊕
ˆ k∈Gc (A)
a ˆr (k)
(6.378)
die Eigenwertgleichung ˆ λx = Ax
(6.379)
ˆ gilt, ˆr (k), bei denen k ∈ Gc (A) erh¨ alt. Die Linearkombination x aller Spaltenvektoren a ˆ Die Knoten k k¨onnen zu unterschiedlichen ist wieder ein Eigenvektor der Matrix A. kritischen Teilgraphen geh¨ oren, solange der dazugeh¨orige Eigenwert λ = e ist. Wenn c ˆ man zum Element a ˆ+ kk , k ∈ G (A) anstelle des Spaltenvektors in Gl. (6.370) den ZeiT + + ak1 · · · a ˆkk · · · a ˆ+ lenvektor a ˆl (k) = [ˆ kn ] konstruiert, so ist dieser gerade der zum Knoten k geh¨ orige Linkseigenvektor. Satz 6.380: Lineare Abh¨ angigkeit von Eigenvektoren Zwei rechte Eigenvektoren a ˆr (k) und a ˆr (m) sind linear voneinander abh¨angig, wenn ˆ geh¨oren. die Knoten k und m zum gleichen kritischen Teilgraphen Gcr (A) Beweis 6.381 ˆ Die Knoten k und m sollen im Folgenden zum gleichen kritischen Teilgraphen Gcr (A) c ˆ ˆ oren (k, m ∈ Gr (A)). Dazu geh¨oren die beiden der schleifenbehafteten Matrix A geh¨ rechten Eigenvektoren ⎡ + ⎤ ⎡ + ⎤ a ˆ1k a ˆ1m ⎢ .. ⎥ ⎢ .. ⎥ ⎢ . ⎥ ⎢ . ⎥ ⎢ + ⎥ ⎢ + ⎥ ⎥ ⎥ ⎢a ⎢a ˆ ⎢ qk ⎥ ⎢ ˆqm ⎥ ⎢ . ⎥ ⎢ . ⎥ ⎢ .. ⎥ ⎢ .. ⎥ ⎢ + ⎥ ⎢ + ⎥ ⎥ ⎢ a ˆr (m) = ⎢ (6.382) a ˆr (k) = ⎢ a ˆkk ⎥ , ˆkm ⎥ ⎥ . ⎢a ⎢ . ⎥ ⎢ . ⎥ . . ⎢ . ⎥ ⎢ . ⎥ ⎥ ⎥ ⎢ ⎢ + ⎥ + ⎥ ⎢a ⎢a ˆ ⎢ mk ⎥ ⎢ ˆmm ⎥ ⎢ . ⎥ ⎢ . ⎥ ⎣ .. ⎦ ⎣ .. ⎦ + a ˆ+ a ˆnk nm
260
6 Max-Plus-Algebra
+ ¨ Der Pfad in Aˆ von einem Startknoten k zum Knoten q hat das maximale Uber+ ¨ gangsgewicht a ˆqk . Dieser Pfad kann aus den Teilpfaden mit den maximalen Uber+ + gangsgewichten a ˆqm und a ˆmk u ¨ ber den Zwischenknoten m zusammengesetzt werden. Das maximale Summenkantengewicht von k bzw. m nach q ist gr¨oßer gleich dem Summenkantengewicht des indirekten Weges u ¨ ber einen Zwischenknoten
a ˆ+ ˆ+ ˆ+ qm ⊗ a qk ≥ a mk , a ˆ+ qm
≥
a ˆ+ qk
⊗
a ˆ+ km
(6.383)
.
(6.384)
Einsetzen von a ˆ+ qm in Gl. (6.383) ergibt a ˆ+ ˆ+ ˆ+ ˆ+ ˆ+ ⊗ a ˆ+ = a ˆ+ qm ⊗ a qk ≥ a mk ≥ a qk ⊗ a qk km mk
(6.385)
e
und damit a ˆ+ ˆ+ ˆ+ qm ⊗ a qk = a mk
(6.386)
ˆ auf dem gleichen kritischen Teilgraf¨ ur alle m¨ oglichen Zwischenknoten m ∈ Gcr (A) phen. Unabh¨ angig davon, welches Element q in den Eigenvektoren a ˆr (k) und a ˆr (m) betrachtet wird, ergibt sich zwischen beiden Eigenvektoren immer ein konstanter Faktor a ˆ+ mk . Es gilt deshalb ˆ , a ˆr (k) = a ˆ+ ˆr (m) , k, m ∈ Gcr (A) mk ⊗ a
(6.387)
das heißt die beiden rechten Eigenvektoren aus dem gleichen kritischen Teilgraphen ˆ sind proportional (linear abh¨ Gcr (A) angig) mit dem Proportionalit¨atsfaktor a ˆ+ mk . In der Linearkombination aller Spaltenvektoren (Gl. (6.378)) reicht es daher aus, nur jeweils einen Eigenvektor pro kritischem Teilgraphen heranzuziehen. Eine entsprechende Aussage gilt auch f¨ ur die linken Eigenvektoren. Dazu werden die beiden linken Eigenvektoren + a ˆTl (k) = a (6.388) ˆk1 · · · a ˆ+ ˆ+ ˆ+ ˆ+ kr · · · a kk · · · a km · · · a kn und + a ˆTl (m) = a ˆm1 · · · a ˆ+ ˆ+ ˆ+ ˆ+ mr · · · a mm · · · a mn mk · · · a
(6.389)
ˆ des gleichen kritischen Teilgraphen geh¨obetrachtet, die zu den Knoten k, m ∈ Gcr (A) ren. Das maximale Summenkantengewicht von r nach k bzw. m ist gr¨oßer gleich dem Summenkantengewicht des indirekten Weges u ¨ ber einen Zwischenknoten a ˆ+ ˆ+ ˆ+ mr kr ≥ a km ⊗ a a ˆ+ mr a ˆ+ kr
≥ ≥
a ˆ+ mk a ˆ+ km
⊗ ⊗
a ˆ+ kr a ˆ+ mr
(6.390) (6.391) ≥
a ˆ+ km
⊗ e
a ˆ+ mk
⊗ˆ a+ kr
=
a ˆ+ kr
.
(6.392)
6.6 Eigenwerte der Adjazenz-Matrix
261
Dies gilt unabh¨ angig davon, welches Element r in den Eigenvektoren betrachtet wird. ˆ geh¨origen linken Eigenvektoren sind proporDie beiden zu den Knoten k, m ∈ Gcr (A) tional ˆ , a ˆTl (k) = a ˆ+ ˆTl (m) , k, m ∈ Gcr (A) km ⊗ a
(6.393)
mit dem Proportionalit¨ atsfaktor a ˆ+ km . ˆ in A, ˆ die das maximale mittEs existieren eventuell mehrere kritische Teilgraphen Gcr (A) lere Summenschleifengewicht λ besitzen, die aber untereinander nicht stark zusammenh¨ angen. Die Spaltenvektoren a ˆ+ ˆr (m) w¨ aren dann linear unabh¨angige Eigenvektoren m =a ˆ Entsprechend sind die zu untereinander nicht stark zusammenh¨angenden der Matrix A. kritischen Teilgraphen geh¨ origen Zeilenvektoren linear unabh¨angig. Die normierte Matrix Aˆ mit dem Eigenwert λ = e und dem Eigenvektor x erf¨ ullt die Gleichung ˆ ⊗x=λ⊗x . A
(6.394)
Dann ist mit ˆ + ⊗ x = (A ˆ ⊕A ˆ2 ⊕ · · · ⊕ A ˆ n) ⊗ x A ˆ ⊕A ˆ Ax ˆ n−1 Ax ˆ ⊕ ···⊕ A ˆ = Ax = λx ⊕ λ2 x ⊕ · · · ⊕ λn x
(6.395)
= (λ ⊕ λ2 ⊕ · · · ⊕ λn ) ⊗x = λ ⊗ x e + der Vektor x auch ein Eigenvektor der Matrix Aˆ .
6.6.3
Berechnung des Eigenwertes
Der Eigenwert der Matrix A eines schleifenbehafteten Graphen G(A) kann in der MaxPlus-Algebra z.B. mit dem Karpschen Theorem berechnet werden. Satz 6.396: Karpsches Theorem F¨ ur eine Matrix A der Dimension (n × n), die einen schleifenbehafteten Graphen G(A) beschreibt, ergibt sich nach [Kar78] das maximale Durchschnittsgewicht λ aller Schleifen zu: ## " " (n) (k) aij − aij λ = max . (6.397) min i=1,...,n k=0,...,n−1 n−k j=1,...,n
In dieser Gleichung werden nur An und Ak mittels Operationen der Max-Plus(n) Algebra berechnet, die u ¨ brigen sind Operationen der gew¨ohnlichen Algebra. aij (k)
bzw. aij bezeichnen Elemente der Matrizen An bzw. Ak .
262
6 Max-Plus-Algebra
Beweis 6.398 a.) Wir gehen zuerst von der normierten Adjazenzmatrix Aˆ mit dem maximaur die len mittleren Summenschleifengewicht λ = 0 aus. In Aˆ gilt allgemein f¨ Summenschleifengewichte a ˆii ≤ 0. Das maximale Summenkantengewicht eines (k) Pfades der L¨ ange k vom Knoten j zum Knoten i ist a ˆij . Der Pfad der L¨ange n (n)
mit dem maximalen Summenkantengewicht a ˆij muss mindestens eine Schleife enthalten, da ein Pfad ohne Schleifen aus maximal n − 1 Kanten bestehen kann. Der Pfad von j nach i mit dem maximalen Kantengewicht a ˆ∗ij =
(k)
max
k=0...(n−1)
a ˆij
(6.399)
enth¨ alt entweder keine Schleifen oder nur Schleifen mit dem Gewicht null. F¨ ur den Pfad der L¨ ange n gilt (n)
a ˆij ≤
(k)
max
k=0...(n−1)
bzw. min
k=0...(n−1)
a ˆij
,
(6.400)
(n) (k) a ˆij − a ˆij ≤ 0 .
(6.401)
b.) Wir teilen diesen Ausdruck durch die Differenz der Pfadl¨angen n − k, und wenden darauf die Minimumbildung an. # " (n) (k) a ˆij − a ˆij min ≤0 . (6.402) k=0...(n−1) n−k Das Minimum dieses Ausdrucks wird evtl. f¨ ur ein anderes k erreicht als bei Gleichung (6.401). Der sich ergebende Pfad der L¨ange k enth¨alt keine Schleifen, da diese die L¨ ange erh¨ ohen und h¨ ochstens keinen oder einen negativen Beitrag (k) zum Summenkantengewicht a ˆij leisten w¨ urden. Zum Beweis gehen wir vom Gegenteil aus. Der Quotient w¨ urde f¨ ur einen Pfad der L¨ange k = k+s minimal, der eine Schleife der L¨ ange s bei einem beliebigen Zwischenknoten xl enthalte. Dann ist das maximale Summenkantengewicht (k )
a ˆij
(k)
(s)
=a ˆij + a ˆll
.
(6.403)
Der zu minimierende Quotient wird damit (n)
(k )
a ˆij − a ˆij Q= n − k
(n)
=
(k)
(s)
ˆij − a ˆll a ˆij − a n − (k + s)
.
(6.404)
Aufgrund des nicht positiven Schleifengewichtes (s)
a ˆll ≤ e
(6.405)
6.6 Eigenwerte der Adjazenz-Matrix
263
kann der Quotient wie folgt abgesch¨atzt werden: (s)
(n) (k) (n) (k) (n) (k) a ˆll a ˆij − a a ˆij − a ˆij ˆij ˆij a ˆij − a + ≥ ≥ . Q= n − (k + s) n − (k + s) n − (k + s) n−k (6.406)
Das Minimum " Qmin =
min
k =0...(n−1)
(n)
(k )
a ˆij − a ˆij n − k
#
" =
min k=0...(n−1)
(n)
(k)
a ˆij − a ˆij n−k
#
(6.407) wird gerade f¨ ur s = 0 erreicht, d.h. f¨ ur einen schleifenfreien Pfad der L¨ange k. c.) In Bild 6.19 sind zwei Pfade von j nach i der L¨ange n mit mindestens einer Schleife und der L¨ ange k ohne Schleifen mit maximalem Summenkantengewicht dargestellt. Durch Variation von i und j wird das Maximum des Ausdrucks ## " " (n) (k) a ˆij − a ˆij =0 (6.408) min max i=1,...,n k=0,...,n−1 n−k j=1,...,n
gesucht. Es wird wegen Gleichung (6.400) f¨ ur (n)
(k)
a ˆij = a ˆij
(6.409)
erreicht, d.h. der schleifenbehaftete Pfad der L¨ange n und der schleifenfreie Pfad der L¨ ange k haben das gleiche maximale Summenkantengewicht. Sie verlaufen deshalb, bis auf etwaige Schleifen, u ¨ ber die gleichen Zwischenknoten.
i
(n)
a^ ij
(k)
a^ ij j
Bild 6.19: Pfade des maximalen Summenkantengewichts der L¨ angen n und k
264
6 Max-Plus-Algebra F¨ ur das Maximum hat der Differenzpfad der L¨ange n − k das Summenschleifengewicht null. Dieser Differenzpfad entspricht einer Linearkombination aus den gesuchten Schleifen mit dem jeweiligen Summenschleifengewicht null. d.) Wir wollen dieses Ergebnis auf allgemeine (nicht normierte) Adjazenzmatrizen Au ¨ bertragen. Diese ergibt sich aus der normierten Adjazenzmatrix Aˆ zu A = λ ⊗ Aˆ ,
(6.410)
d.h. alle Kantengewichte werden um die Konstante λ (Eigenwert von A) ver(n) (k) gr¨ oßert. Entsprechend sind die Matrizenelemente aij um n · λ, und aij um k · λ vergr¨ oßert, so dass auch der betrachtete Quotient (n)
(k)
(n)
(n)
(k)
(n)
(k)
a ˆij + nλ − a aij − aij ˆij − kλ = n−k n−k (k)
a ˆij − a ˆij aij − aij (n − k)λ = + n−k n−k n−k (n)
(k)
(n)
(6.411)
(k)
a ˆij − a ˆij aij − aij = +λ n−k n−k um λ vergr¨ oßert wird. Daher ist nach Gleichung (6.408) " max
i=1,...,n j=1,...,n
" min
k=0,...,n−1
(n)
(k)
aij − aij n−k
## =
" = max
i=1,...,n j=1,...,n
" min
k=0,...,n−1
(n)
(k)
a ˆij − a ˆij n−k
=0
## +λ = λ
gerade gleich dem Eigenwert. Weitere Methoden zur Eigenwertberechnung in Max-Plus sind z.B. in [BCOQ92] oder [CG79] zu finden. Ein Eigenwert λ ist endlich, wenn in der Matrix A kein Element vorkommt, und wenn in jeder Zeile bzw. Spalte mindestens ein Element aij ∈ Rmax enthalten ist.
6.6.4
Rekursive Bestimmung des Eigenwertes
Wie in Abschnitt 6.4.2 gezeigt wurde, kann die Matrix A∗ mit vergleichsweise geringem Aufwand berechnet werden. Deshalb wird im Folgenden ein rekursiver Ansatz vorgestellt, mit dem das maximale mittlere Summenschleifengewicht der Matrix A mit Hilfe der Matrix A∗ bestimmt werden soll. Das Verfahren beinhaltet die folgenden Schritte.
6.6 Eigenwerte der Adjazenz-Matrix
265
1. Multiplikation der Adjazenz-Matrix mit dem Skalar c Zum Start wird das Skalar c = e gesetzt. Ac = (−c) ⊗ A , c ≥ e
(6.412)
Dabei wird von allen Elementen c subtrahiert, d.h. ac,ij = aij − c .
(6.413)
2. Berechnung der Matrix A∗c aus Ac und Pr¨ ufung der Diagonale Dabei kann man zwei F¨ alle unterscheiden. 2.1. Maximales Summenschleifengewicht positiv F¨ ur mindestens ein i erh¨ alt man dann ein Diagonalelement ∃i : a∗c,ii = .
(6.414)
Das Skalar c wird in diesem Fall erh¨oht und zu 1. zur¨ uckgekehrt. 2.2. Maximales Summenschleifengewicht nicht-positiv F¨ ur alle i erh¨ alt man Diagonalelemente ∀i : a∗c,ii = e .
(6.415)
Das Skalar c wird festgehalten und man geht zu 3. u ¨ ber. 3. Zweimalige Berechnung der Matrix der maximalen Summenkantengewichte Ac+ und A+ c+Δc Der Ausgangspunkt sind die beiden mit c und c + Δc multiplizierten Matrizen Ac = (−c) ⊗ A , c ≥ e , Ac+Δc = (−c − Δc) ⊗ A , Δc > e .
(6.416) (6.417)
¨ Uber die dazugeh¨ origen Matrizen der maximalen Summenkantengewichte A∗c und A∗c+Δc
(6.418)
werden die Matrizen ∗ + ∗ A+ c = Ac ⊗ Ac und Ac+Δc = Ac+Δc ⊗ Ac+Δc
(6.419)
berechnet. Alle Diagonalelemente sind bei diesem Rekursionsschritt a+ c,ii ≤ e .
(6.420)
266
6 Max-Plus-Algebra
4. Berechnung der mittleren Summenschleifengewichte λi In allen an einer Schleife liegenden Knoten i wird λi berechnet. Dabei wird die konventionelle Algebra verwendet. ∀i : a+ c,ii > ε :
(6.421)
a+ c,ii = g(Si,A ) − c · l(Si,A ) a+ c+Δc,ii
= g(Si,A ) − (c + Δc) · l(Si,A )
(6.422) (6.423)
Aus diesen beiden Gleichungen lassen sich die Schleifengewichte g(Si,A ) und -l¨angen l(Si,A ) ermitteln.
l(Si,A ) =
+ a+ c,ii − ac+Δc,ii
Δc
g(Si,A ) = a+ c,ii + c ·
a+ c,ii
(6.424)
−
a+ c+Δc,ii
Δc
(6.425)
Mittels Division von g(Si,A ) durch l(Si,A ) erhalten wir die mittleren Summenschleifengewichte in den Knoten i. λi = c + Δc ·
a+ c,ii + a+ c,ii − ac+Δc,ii
(6.426)
5. Berechnung des maximalen mittleren Summenschleifengewichts λ = max{λi }
(6.427)
i
Beispiel 6.428: Bestimmung des Eigenwertes Als Beispiel dient der Graph aus Bild 6.20. Dessen Adjazenzmatrix lautet ⎡
ε ⎢7 ⎢ ⎢ε ⎢ ⎢ε A=⎢ ⎢ε ⎢ε ⎢ ⎣ε ε
3 ε ε 4 ε ε 7 ε
ε 7 ε ε ε ε ε e
ε ε 4 ε ε ε ε ε
4 ε ε ε ε ε 10 ε
ε ε ε 3 2 ε ε ε
ε ε ε ε ε 3 ε 4
⎤ ε ε⎥ ⎥ ε⎥ ⎥ ε⎥ ⎥ . ε⎥ ε⎥ ⎥ 6⎦ ε
Iterativ berechnet man im Folgenden nach 1. und 2. die Matrizen Ac∗ f¨ ur c ≥ 0. Im Falle c = 5 sind alle Diagonalelemente a∗5,ii der Matrix A∗5 gleich dem Einselement e
6.6 Eigenwerte der Adjazenz-Matrix
267 4
7 1
2
4
3 4 e
7 7
3 4
G(A)
10
4
6
5
7 3
2
8 6
3 Bild 6.20: Stark zusammenh¨ angender Graph G(A)
und somit ist die Abbruchbedingung aus 2.2. erf¨ ullt. ⎡
e ⎢ 2 ⎢ ⎢ e ⎢ ⎢ 1 ∗ A5 = ⎢ ⎢ −1 ⎢ 2 ⎢ ⎣ 4 3
−2 e −2 −1 −3 e 2 1
e 2 e 1 −1 2 4 3
−1 1 −1 e −2 1 3 2
e 2 e 1 e 3 5 4
−3 −1 −3 −2 −3 e 2 1
−5 −3 −5 −4 −5 −2 e −1
⎤ −4 −2 ⎥ ⎥ −4 ⎥ ⎥ −3 ⎥ ⎥ −4 ⎥ −1 ⎥ ⎥ 1 ⎦ e
F¨ ur Δc = 3 ergeben sich im weiteren Verlauf die Matrizen ⎡
e −5 −6 −10 −4 ⎢ −1 e −1 −5 −5 ⎢ ⎢ −9 −8 e −4 −12 ⎢ ⎢ −5 −4 −5 e −8 ∗ A8 = ⎢ ⎢ −13 −12 −13 −17 e ⎢ −7 −6 −7 −11 −3 ⎢ ⎣ −2 −1 −2 −6 2 −6 −5 −6 −10 −2 ⎡ e −2 e −1 e −3 −5 ⎢ 2 e 2 1 2 −1 −3 ⎢ ⎢ e −2 e −1 e −3 −5 ⎢ ⎢ 1 −1 1 e 1 −2 −4 + A5 = ⎢ ⎢ −1 −3 −1 −2 e −3 −5 ⎢ 2 0 2 1 3 e −2 ⎢ ⎣ 4 2 4 3 5 2 e 3 1 3 2 4 1 −1
−10 −15 −10 −15 −9 −14 −5 −10 −6 −11 e −5 −4 e −8 −4 ⎤ −4 −2 ⎥ ⎥ −4 ⎥ ⎥ −3 ⎥ ⎥ , −4 ⎥ −1 ⎥ ⎥ 1 ⎦ e
⎤ −17 −17 ⎥ ⎥ −16 ⎥ ⎥ −12 ⎥ ⎥ , −13 ⎥ −7 ⎥ ⎥ −2 ⎦ e
268
6 Max-Plus-Algebra ⎡
−6 ⎢ −1 ⎢ ⎢ −9 ⎢ ⎢ −5 + A8 = ⎢ ⎢ −13 ⎢ −7 ⎢ ⎣ −2 −6
−5 −6 −8 −4 −12 −6 −1 −5
−6 −1 −9 −5 −13 −7 −2 −6
−10 −5 −4 −9 −17 −11 −6 −10
−4 −5 −12 −8 −9 −3 2 −2
−10 −10 −9 −5 −6 −9 −4 −8
−15 −15 −14 −10 −11 −5 −6 −4
⎤ −17 −17 ⎥ ⎥ −16 ⎥ ⎥ −12 ⎥ ⎥ . −13 ⎥ −7 ⎥ ⎥ −2 ⎦ −6
Da a+ c,ii = e ist, berechnet sich λi nach Gl. (6.426) zu λi = 5 ∀i. Das maximale mittlere Summenschleifengewicht betr¨agt somit λ = 5.
6.7
Spektraler Projektor
6.7.1
Definition und Eigenschaften
Zu einem rechtsseitigen Eigenvektor a ˆr (k) der normierten Matrix Aˆ gibt es in der Maxˆ+ Plus-Algebra einen Linkseigenvektor a ˆTl (k), der ebenfalls das Diagonalelement a kk = e + ˆ alt. F¨ ur den Linkseigenvektor gilt die Eigenwertgleichung der Matrix A enth¨ a ˆTl (k)Aˆ = a ˆTl (k)λ
.
(6.429)
a ˆr (k) ⎡
..
.
⎢ ⎢ ⎢ ⎢ + + ˆ ˆk1 A = ⎢ ⎢a ⎢ ⎢ ⎣
⎤ a ˆ+ 1k ⎥ ⎥ .. .. ⎥ . . ⎥ + + ⎥ T ˆl (k) ··· a ˆkk · · · a ˆkn ⎥ a ⎥ .. . . ⎥ . . ⎦ .. . a ˆ+ nk
(6.430)
Definition 6.431 Spektraler Projektor Qk Der Knoten k sei Teil des kritischen Teilgraphen Gcr (A). Dann ist der spektrale Projektor Qk definiert als das dyadische Produkt von Rechtseigenvektor a ˆr (k) und zu+ T ˆ geh¨ origem Linkseigenvektor a ˆ (k) der Matrix A l
Qk = a ˆr (k) ⊗
a ˆTl (k)
, k ∈ Gcr (A).
(6.432)
6.7 Spektraler Projektor
269
Der Rechtseigenvektor a ˆr (k) enth¨ alt die maximalen Summenkantengewichte a ˆ+ ik vom Knoten k zu allen anderen Knoten i. Der Linkseigenvektor a ˆl (k) enth¨alt die maximalen Summenkantengewichte a ˆ+ kj von allen anderen Knoten j zum Knoten k. Das dyadische Produkt Qk enth¨ alt die Summe der maximalen Summenkantengewichte von j nach k und von k nach i. ˆ+ ˆ+ qij (k) = a ik ⊗ a kj
(6.433)
Durch Multiplikation mit dem spektralen Projektor Qk kann jeder beliebige Vektor x in einen Eigenvektor der normierten Matrix Aˆ abgebildet werden. ˆr (k) ⊗ a ˆT (k) ⊗ x = c ⊗ a ˆr (k) , Qk ⊗ x = a l
(6.434)
c
xT ⊗ Qk = xT ⊗ a ˆ (k) ⊗ˆ aT (k) = c ⊗ a ˆTl (k) . r l
(6.435)
c
Satz 6.436: Eigenschaft des spektralen Projektors Qk Der spektrale Projektor Qk hat die folgende Eigenschaft ˆ = Q2 = Q . ˆ ⊗Q =Q ⊗A A k k k k
(6.437)
Beweis 6.438 Wir beweisen zun¨ achst die Gleichung Q2k = Qk .
(6.439)
Wir berechnen dazu Qk mit der Matrizenmultiplikation als ⎡
⎤ a ˆ+ ˆ+ ˆ+ ˆ+ 1k ⊗ a k1 · · · a 1k ⊗ a kn ⎢ ⎥ .. .. .. Qk = ⎣ ˆ+ ˆ+ ⎦ mit qij (k) = a . ik ⊗ a kj . . + + + ⊗ a ˆ · · · a ˆ ⊗ a ˆ a ˆ+ nk k1 nk kn und entsprechend n n + + + a+ ⊗ a ˆ ⊗ a ˆ ⊗ a ˆ ) , Q2k = ⊕ (qil (k) ⊗ qlj (k)) = ⊕ (ˆ ik kl lk kj l=1 l=1 ⎡ ⎤ , ⎢ + ⎥ + + n + + +⎥ + a ˆ = a ˆ ⊗ ⊕ (ˆ a ⊗ a ˆ ) ⊗ˆ a ⊗ a ˆ Q2k = ⎢ kl lk kj ⎦ ik kj = Qk . ⎣ ik l=1 =e
(6.440)
(6.441)
270
6 Max-Plus-Algebra
Der innere Term stellt eine Schleife mit dem Gewicht a ˆ+ kk = e dar. Wir wollen als N¨ achstes (6.437) beweisen und setzen die Definitionsgleichung (6.432) f¨ ur den spektralen Projektor in (6.437) ein. Man erh¨alt mit λ = e Aˆ ⊗ a ˆ (k) ⊗ˆ aT (k) = a ˆr (k) ⊗ a ˆT (k) ⊗ Aˆ = λ ⊗ a ˆr (k) ⊗ a ˆTl (k) = Qk = Q2k . l r l λ⊗ˆ ar (k)
λ⊗ˆ aT l (k)
(6.442)
6.7.2
Linearkombination von spektralen Projektoren
ˆ kann aus mehreren, nicht zusammenh¨angenden kritischen Der kritische Graph Gc (A) c ˆ ˆ f¨ ur den der Rechts- und LinksTeilgraphen Gr (A) bestehen. Ein Knoten k ∈ Gcr (A), eigenvektor sowie der spektrale Projektor Qk berechnet werden, h¨angt eventuell nicht stark zusammen mit den Knoten der anderen kritischen Teilgraphen. Der spektrale Proˆ beinhalten, die jektor Qk wird deshalb nur anteilige Eigenschaften des Graphen G(A) ˆ bestimmt werden, durch den zum Knoten k geh¨ origen kritischen Teilgraphen Gcr (A) z.B. dessen Zyklizit¨ at γr (Definition 6.465). Um zu einer Gesamtaussage f¨ ur den ganzen kritischen Graphen zu gelangen, wird deshalb die Linearkombination aller spektraler ˆ betrachtet. Projektoren Qk , k ∈ Gc (A) Satz 6.443: Linearkombination von spektralen Projektoren Zum kritischen Teilgraphen mit dem Knoten k ∈ Gc (A) geh¨ort der spektrale Projektor Qk . Die Linearkombination aller spektralen Projektoren Qk Q=
⊕
k∈Gc (A)
Qk
(6.444)
ˆ Um die Matrix Aˆ nicht zu entnormieren, ist wieder ein spektraler Projektor von A. wird der Proportionalit¨ atsfaktor gleich e gew¨ahlt. Beweis 6.445 Dazu muss zun¨ achst die entsprechende Eigenschaft (6.437) ˆ ⊗Q=Q⊗A ˆ =Q A
(6.446)
u uft werden, indem (6.444) eingesetzt wird. ¨ berpr¨ ˆ , ˆ⊗ ⊕ Qk ⊗ A ⊕ Qk = A k∈Gc (A) k∈Gc (A) ˆ ⊗Q ˆ = ⊕ =Q . A Q ⊗ A ⊕ k k∈Gc (A) k∈Gc (A) k Q
k
(6.447)
Q
k
Die Ausdr¨ ucke in den inneren Klammern sind nach (6.437) f¨ ur alle k gleich Qk .
6.7 Spektraler Projektor
271
Als N¨ achstes m¨ ussen wir beweisen, dass Q2 = Q ist. Q2 = =
(6.448) ⊕ Qk Qk ⊗ k∈Gc (A) k∈Gc (A) " ⊕
⊕ Q2k ⊕ k∈Gc (A) Q
⊕
m∈Gc (A)
k
⊕
k∈Gc (A) k=m
# Qm ⊗ Qk .
(6.449)
Q2k
= Qk . Bei der Max-Plus-Multiplikation wird in der ersten KlamNach (6.441) ist mer ein anderer Index m eingef¨ uhrt. Wir betrachten damit das Produkt der spektralen Projektoren n Qm ⊗ Qk = ⊕ qil (m) ⊗ qlj (k) , l=1 n + + + Qm ⊗ Qk = ⊕ a , ˆ+ ⊗ a ˆ ⊗ a ˆ ⊗ a ˆ im ml lk kj l=1 * ) (6.450) n + + + + ˆim ⊗ ⊕ a ˆml ⊗ a ˆlk ⊗ˆ akj , Qm ⊗ Qk = a l=1 a ˆ+ mk
, + Qm ⊗ Qk = a . ˆ+ ˆ+ ˆ+ im ⊗ a mk ⊗ a kj ¨ Die Elemente ij des Matrizenproduktes entsprechen den Ubergangsgewichten von Pfaden, die von j u ¨ ber die beiden Zwischenknoten k und m nach i gehen. +
+
i
m
+
+
k
j
+ ¨ Bild 6.21: Ubergangsgewichte der Pfade von j nach i u ¨ber die Zwischenknoten k und m
Die Zwischenknoten k und m sind dabei willk¨ urlich. Die Umgehung eines der beiden Zwischenknoten k¨ onnte deshalb zu einem gr¨oßeren Summenkantengewicht des Pfades von j nach i f¨ uhren. a ˆ+ ˆ+ ˆ+ ˆ+ ˆ+ ˆ+ ˆ+ im ⊗ a im ⊗ a mj ⊕ a mk ⊗ a kj ≤ a ik ⊗ a kj = qij (m) ⊕ qij (k) .
(6.451)
Damit ist das Matrizenprodukt insgesamt kleiner als die Summe Qm ⊗ Qk ≤ Qm ⊕ Qk .
(6.452)
272
6 Max-Plus-Algebra
Der zweite Term in (6.449) ist damit ⊕ Qm ⊗ Qk ≤ ⊕ m∈Gc (A)
k∈Gc (A) k=m
≤
⊕
m∈Gc (A)
⊕
k∈Gc (A)
⊕
k∈Gc (A) k=m
Qm ⊕ Qk
(6.453)
Qk .
Die Maximumbildung der spektralen Projektoren Qm bzw. Qk kann auf den Ausdruck (6.453) reduziert werden. Das Quadrat des spektralen Projektors aus (6.449) ist damit Q2 =
⊕
k∈Gc (A)
Qk = Q ,
(6.454)
was zu beweisen war.
Satz 6.455: Spektrale Projektoren aus dem gleichen kritischen Teilgraphen Die Knoten k, m ∈ Gcr (A) seien Teil des gleichen kritischen Teilgraphen. Dann sind die zugeh¨ origen spektralen Projektoren gleich, d.h. Qk = Qm ,
k, m ∈ Gcr (A).
(6.456)
Es reicht daher aus, in der Linearkombination nur jeweils einen spektralen Projektor pro kritischen Teilgraphen zu ber¨ ucksichtigen. Beweis 6.457 Die zu den Knoten k, m geh¨ origen Rechts- und Linkseigenvektoren sind nach Gl. (6.387) und Gl. (6.393) proportional, da sie Teil des gleichen kritischen Teilgraphen sind. a ˆr (k) = a ˆ+ ˆr (m) mk ⊗ a
(6.458)
a ˆ+ km
(6.459)
a ˆTl (k)
=
⊗
a ˆTl (m)
Die spektralen Projektoren ˆr (k) ⊗ a ˆTl (k) = a ˆ+ ˆr (m) ⊗ a ˆ+ ˆTl (m) Qk = a mk ⊗ a km ⊗ a = a ˆ+ ⊗ a ˆ+ ⊗Qm = Qm mk km
(6.460)
e
sind gleich, da das Max-Plus-Produkt der Proportionalit¨atsfaktoren gleich e ist. In vielen F¨ allen ist der spektrale Projektor Q gleich der normierten Matrix der maxi+ malen Summenkantengewichte Aˆ . Wir wollen deshalb betrachten, wann das der Fall ist.
6.7 Spektraler Projektor
273
+ Satz 6.461: Gleichheit von Aˆ und Q + Die normierte Matrix der maximalen Summenkantengewichte Aˆ ist gleich dem spektralen Projektor Q, wenn f¨ ur alle Pfade maximalen Summenkantengewichts von j nach i gilt, dass jeweils mindestens ein solcher Pfad von j nach i den kritischen ˆ ber¨ Graphen Gc (A) uhrt.
Beweis 6.462 ur alle i, j einer Das maximale Summenkantengewicht von j nach i ist a ˆ+ ij . Wenn f¨ + c ˆ oder mehrere Pfade mit dem Gewicht a ˆij Knoten k ∈ G (A) am kritischen Graphen als Zwischenknoten haben, so k¨ onnen diese Pfade in die Summe der beiden Teilpfade von j nach k und von k nach i zerlegt werden. + a ˆ+ a ˆik ⊗ a ⊕ qij (k) = qij ⊕ ˆ+ (6.463) ij = kj = ˆ k∈Gc (A)
k∈Gc (A)
Dies ist aber gerade die Definition aus Gleichung (6.433) f¨ ur die Elemente des spektralen Projektors. Wenn dies f¨ ur alle Pfade von j nach i gilt, ist ˆ+ = Q . A
(6.464)
Die Bedingung ist hinreichend, der Schluss in Gegenrichtung ist nicht zul¨assig. Die Gleichheit gilt auch, wenn es zwischen einigen j nach i keinen Pfad a ˆ+ ij > ε gibt. Der + Digraph in Beispiel 6.495 enth¨ alt zum Beispiel Pfade a ˆ+ = 1 und a ˆ 21 42 = 1, die den + ˆ kritischen Graphen nicht ber¨ uhren. Deshalb ist hier A = Q. Der Digraph in Beispiel 6.498 enth¨ alt zwei kritische Teilgraphen, die den Knoten 1 nicht enthalten. Dennoch ber¨ uhrt jeweils mindestens einer der Pfade maximalen Summenkantengewichts zwischen + beliebigen Knoten einen der beiden kritischen Teilgraphen. Deshalb ist hier Aˆ = Q.
6.7.3
Zyklizit¨at von Graphen
Schleifenbehaftete (zyklische) Graphen werden durch ihre Zyklizit¨at γ charakterisiert. ˆ Definition 6.465 Zyklizit¨ at γr eines kritischen Teilgraphen Gcr (A) ˆ sei der r-te kritische Teilgraph einer schleifenbehafteten normierten Matrix A. ˆ Gcr (A) c ˆ Unter der Zyklizit¨ at γr des kritischen Teilgraphen Gr (A) versteht man den gr¨oßten ˆ gemeinsamen Teiler (ggT ) der L¨ angen seiner kritischen Schleifen lr,i ∈ Gcr (A). γr = ggT {lr1, lr2 , ...}
(6.466)
Bei der Zyklizit¨ at γr = 1 haben zwei beliebige kritische Schleifen zueinander teilerfremde (koprime) Schleifenl¨ angen lri . Bei nur einer einzigen kritischen Schleife im kritischen Graphen ist deren L¨ ange lr gleich der Zyklizit¨at γr .
274
6 Max-Plus-Algebra
ˆ Definition 6.467 Zyklizit¨ at γ eines kritischen Graphen Gc (A) ˆ versteht man das kleinste geUnter der Zyklizit¨ at γ eines kritischen Graphen Gc (A) meinsame Vielfache (kgV ) der Zyklizit¨ aten γr seiner einzelnen kritischen Teilgraphen ˆ Gcr (A). γ = kgV {γ1 , γ2 , ...}
(6.468)
Wenn der kritische Graph stark zusammenh¨angend ist, so ergibt sich seine Zyklizit¨at unmittelbar als gr¨ oßter gemeinsamer Teiler der L¨angen seiner kritischen Schleifen. ˆ Beispiel 6.469: Zyklizit¨ at eines stark zusammenh¨ angenden Graphen G(A) ˆ a.) Irreduzierbare normierte Adjazenzmatrix A ⎡
ε ⎢ ε ˆ =⎢ A ⎢ −1 ⎣ 2 ε
2 ε ε ε ε
ε −1 ε ε ε
ε ε ε ε −1
⎤ ε −5 ⎥ ⎥ ε ⎥ 1 ⎦ ε
ˆ (Bild 6.22) b.) Stark zusammenh¨ angender Graph G(A) -1
3
1
-1 2
2
2
-5
-1 4
5 1
ˆ Bild 6.22: Stark zusammenh¨ angender Graph G(A)
ˆ (Bild 6.23) c.) Kritischer Graph Gc (A) Der kritische Graph besteht aus zwei kritischen Teilgraphen. ˆ r = 1, 2 d.) Zyklizit¨ aten γr der kritischen Teilgraphen Gcr (A), γ1 = 3, γ2 = 2
6.7 Spektraler Projektor
275
-1
-1
3
1
2
ˆ Gc1 (A)
5
ˆ Gc2 (A)
2 -1 4 1 ˆ Bild 6.23: Kritischer Graph Gc (A)
ˆ e.) Zyklizit¨ at des Graphen G(A) γ = kgV {3, 2} = 6 Schleifen k¨ onnen mehrfach durchlaufen werden. Damit erh¨oht sich die Gesamtschleifenl¨ ange. Satz 6.470: Erh¨ ohung der Schleifenl¨ ange in Schritten von 1 c ˆ In einem kritischen Graphen G (A) der Zyklizit¨at γ = 1 existiert f¨ ur jeden Knoten i eine untere Grenze M (i), ab der Schleifen beliebiger L¨ange m ≥ M (i) gebildet werden k¨ onnen, die i als Start- und Zielknoten enthalten. F¨ ur m ≥ M (i) kann die Schleifenl¨ ange in Schritten von 1 erh¨ oht werden.
6
1
2
5
4
3
Bild 6.24: Kritischer Graph mit der Zyklizit¨ at γ=1
Wir wollen dies am Beispiel des Graphen in Bild 6.24 zeigen. Sind l1 und l2 die L¨angen der beiden k¨ urzesten Schleifen mit dem ggT {l1, l2 } = 1, so ergibt sich f¨ ur den Knoten i der Wert f¨ ur die Mindestschleifenl¨ ange M (i) = (l1 − 1)(l2 − 1) .
(6.471)
276
6 Max-Plus-Algebra Tabelle 6.7: Schleifenl¨ angen m mit 1 als Start- und Zielknoten
a · l1 b · l2 m
0 0 0
l1 -
= 3, l2 = 4, - 3 - - 6 - - 4 - - 3 4 - 6
m = a · l1 + b · l2 , 3 - 9 6 3 4 8 4 8 7 8 9 10 11
M (1) = 6 12 9 6 12 4 8 12 13 14
15 15
16 16
15 15
9 7 16
Tabelle 6.8: Schleifenl¨ angen m mit 2 als Start- und Zielknoten
a · l1
b · l2 m
0 0 0
l1 -
= 3, l2 = 7, - 3 - - 6 - - - - - 3 - - 6
m = a · l1 + b · l2 , - - 9 3 7 - 7 7 - 9 10 -
M (2) = 12 12 6 7 14 12 13 14
Im Graphen von Bild 6.24 betrachten wir den Knoten 1. Mit den Schleifenl¨angen l1 = 3 der Schleife {k31 , k23 , k12 } und l2 = 4 der Schleife {k61 , k56 , k45 , k12 } erhalten wir M (1) = (3 − 1)(4 − 1) = 6 .
(6.472)
Das heißt f¨ ur den Knoten 1 gibt es Schleifen beliebiger L¨ange m ≥ 6, die aus der Linearkombination der beiden Schleifen mit den L¨angen l1 = 3 und l2 = 4 m = a · l1 + b · l2 ,
a, b ∈ Z+ 0 ∧ m ≥ M (1) = 6
(6.473)
gebildet werden k¨ onnen. Die Abh¨ angigkeit der unteren Grenze M (i) vom Knoten i zeigt die Betrachtung des Knotens 2 in Bild 6.24. M (2) = (3 − 1)(7 − 1) = 12 .
(6.474)
F¨ ur den Knoten 2 k¨ onnen Schleifen beliebiger L¨ange erst ab m ≥ 12 aus den Liur den Knoten 5 nearkombinationen der Schleifen l1 = 3 und l2 = 7 gebildet werden. F¨ sind die Schleifenl¨ angen l1 = 4 und l2 = 7, d.h. M (5) = 18. Definition 6.475 Zyklizit¨ at einer normierten Adjazenzmatrix Aˆ Eine normierte Adjazenzmatrix Aˆ wird als γ-zyklisch bezeichnet, wenn ein γ und ein kmin existiert, f¨ ur die ˆ k+γ = A ˆk , A
∀k : k ≥ kmin
(6.476)
gilt. Das kleinste γ, das diese Gleichung erf¨ ullt, ist die L¨ange des Zyklus der Matrix ˆ A.
Satz 6.477: Zyklizit¨ at von normierten Matrizen Jede normierte Matrix Aˆ ist zyklisch, da sie nach Voraussetzung mindestens eine kritische Schleife enth¨ alt (Definition 6.354, Satz 6.356). Die Zyklizit¨at γ der norˆ mierten Adjazenzmatrix Aˆ wird durch die Zyklizit¨at des kritischen Graphen Gc (A) bestimmt.
6.7 Spektraler Projektor
277
Beweis 6.478 Dazu betrachten wir den Pfad maximalen Summenkantengewichts vom Knoten j zum Knoten i (Bild 6.25). (m)
a ˆll
=e m
λ=e
l
(k )
i
a ˆ+ ˆil 1 il = a k1
(k )
a ˆ+ ˆlj 2 lj = a k2
j
Bild 6.25: Pfad maximalen Summenkantengewichts mit L¨ angenabgleich u ¨ber den kritischen Graphen (λ = e)
ˆ besitze zun¨ a.) Die Matrix A achst die Zyklizit¨at γ = 1. Wir betrachten nun Pfade ˆ besitzen, vom Knoten j zum Knoten i, welche einen Zwischenknoten l ∈ Gc (A) der Bestandteil des kritischen Graphen ist. Aufgrund von Satz 6.470 k¨onnen bei γ = 1 die Schleifenl¨ angen ab m ≥ M (l) in Schritten von 1 erh¨oht werden. Jeder Pfad maximalen Summenkantengewichts von j nach i u ¨ ber den Knoten ˆ der L¨ l ∈ Gc (A) ange k = m + k1 + k2 ≥ M (l) + k1 + k2
(6.479)
setzt sich aus einer kritischen Schleife der L¨ange m = k − k1 − k2 und einem schleifenfreien Pfad maximalen Summenkantengewichts zusammen. Das maximale Summenkantengewicht ist (k)
(k )
(m)
a ˆij = a ˆil 1 ⊗ a ˆll (m)
Es konvergiert wegen a ˆll
(k )
⊗a ˆlj 2 .
(6.480)
ˆ f¨ = e, l ∈ Gc (A) ur k ≥ kmin gegen
(k)
ˆ+ ˆ+ a ˆij = a il ⊗ a lj ,
∀k : k ≥ M (l) + k1 + k2 .
(6.481)
ˆ die dem kritischen Graphen Gc (A) ˆ anDies gilt f¨ ur alle Knoten l ∈ Gc (A), geh¨ oren. Nun betrachten wir Pfade von j nach i, die u ¨ ber Zwischenknoten ˆ verlaufen, die an Schleifen mit kleinerem Summenschleifengewicht l ∈ Gc (A) (m) a ˆll < e liegen. Das Summenkantengewicht (k )
(m)
ˆll a ˆil 1 ⊗ a
(k )
(k)
⊗a ˆlj 2 ≤ a ˆij
(6.482)
des Pfades der L¨ ange k von j nach i ist dann kleiner gleich dem maximalen (k) Summenkantengewicht a ˆij .
278
6 Max-Plus-Algebra Mit wachsendem k werden diese Schleifen mehrfach durchlaufen. Das Summenkantengewicht schleifenbehafteter Pfade von j nach i u ¨ ber Zwischenknoten ˆ konvergiert deshalb gegen . l ∈ Gc (A) F¨ ur den weiteren Fall, dass Pfade von j nach i schleifenfrei sind oder nicht existieren, gilt ohnehin (k)
, k ≥ n.
a ˆij =
(6.483)
Die Zusammenfassung der Ergebnisse durch Maximumbildung zeigt, dass f¨ ur ˆ l ∈ Gc (A)) ˆ bei der Zyklizit¨at γ = 1 alle m¨ oglichen Zwischenknoten l(l ∈ Gc (A), (k) + a ˆ+ , ∀k : k ≥ kmin , ⊗ a ˆ (6.484) a ˆij = ⊕ il lj ˆ l∈Gc (A)
kmin = max {M (l)} + k1 + k2 l=1...n
k+1 gilt. Der Exponent k kann in Schritten von 1 erh¨oht werden, so dass Aˆ = k ˆ ˆ at der Matrix A wird durch die Zyklizit¨at des kritischen A gilt. Die Zyklizit¨ Graphen bestimmt, was f¨ ur γ = 1 gezeigt wurde. Der offene Pfad von j nach i hat die maximale L¨ange
k1 + k2 ≤ n − 1 .
(6.485)
Damit kann kmin als ˆ kmin ≤ max {M (l)} + n − 1 , l ∈ Gc (A) l=1···n
(6.486)
abgesch¨ atzt werden. ˆ nun γ > 1 sein soll. Die b.) Wir nehmen an, dass die Zyklizit¨at der Matrix A Pfadl¨ ange k kann ab M (l) nur noch in Schritten von γ > 1 erh¨oht werden. ˆ die mit einem Vielfachen r der Nur Schleifen des kritischen Graphen Gc (A), Zyklizit¨ at γ durchlaufen werden, besitzen das maximale Summenschleifengewicht e. (m) ˆ a ˆ = e , m = M (l) + r · γ , l ∈ Gc (A). (6.487) ll
Dazwischen liegende Schleifenl¨ angen M (l) + r · γ < m < M (l) + r(γ + 1) existieren nicht. Die Schleifen des kritischen Graphen k¨onnen deshalb den erforderlichen L¨ angenausgleich nur in Schritten von γ leisten, so dass nur in k+γ k = Aˆ gilt. Zum Beweis nehmen wir im Schritten von γ die Beziehung Aˆ Folgenden das Gegenteil an, eine Schleife der L¨ange m = M (l) + r · γ + 1 existiere doch und habe das maximale Summenschleifengewicht (M(l)+r·γ+1)
a ˆll
=e
.
(6.488)
Der ggT von M (l) + r · γ und M (l) + r · γ + 1 ist jedoch 1, was der oben ˆ widerspricht. getroffenen Annahme bez¨ uglich der Zyklizit¨at γ > 1 des Gc (A) ˆ die Zyklizit¨at der Deshalb bestimmt die Zyklizit¨ at γ des kritischen Graphen Gc (A) ˆ Adjazenzmatrix A.
6.7 Spektraler Projektor
6.7.4
279
Konvergenz der Potenz normierter Matrizen
Satz 6.489: Konvergenz von Matrizen k Die Potenz einer normierten Adjazenzmatrix Aˆ konvergiert f¨ ur k ≥ kmin gegen den spektralen Projektor
ˆk = Q , A
k ≥ kmin
(6.490)
ˆ die Zyklizit¨ at γ = 1 besitzt. Der spektrale Prowenn der kritische Graph Gc (A) jektor Q berechnet sich dabei nach Gl. (6.444) als Linearkombination der spektralen Projektoren Qk . Die Bedingung γ = 1 ist notwendig und hinreichend f¨ ur die Existenz dieses Grenzwertes. Beweis 6.491 Ein Pfad vom Knoten j zum Knoten i hat f¨ ur γ = 1 nach Gl. (6.484) ab einer gewissen L¨ ange kmin das maximale Summenkantengewicht (k) + ˆ , ∀k : k ≥ kmin a ˆ+ , l ∈ Gc (A) a ˆij = ⊕ ⊗ a ˆ il lj ˆ l∈Gc (A)
=
⊕
ˆ l∈Gc (A)
qij (l) = qij
.
(6.492)
ˆ des kritischen Graphen und entDer Pfad von j nach i f¨ uhrt u ¨ ber Knoten l ∈ Gc (A) h¨ alt ab einer Pfadl¨ ange k ≥ kmin Linearkombinationen von Schleifen des kritischen ˆ deren L¨ Graphen Gc (A), ange f¨ ur γ = 1 in Schritten von 1 erh¨oht werden kann. Die Kantengewichte a ˆ+ von einem Knoten l und a ˆ+ il lj zu einem Knoten l des kritischen c ˆ andern sich dagegen nicht. Die Summe aus beiden in Gl. (6.492) Graphen G (A) ver¨ ist damit ebenfalls konstant, n¨ amlich gleich dem Element qij (l) des spektralen Prok jektors Ql . Damit ist bewiesen, dass die Potenz Aˆ einer normierten Adjazenzmatrix mit der Zyklizit¨ at γ = 1 gegen die Linearkombination aller spektralen Projektoren konvergiert, w.z.b.w. ˆk = A
⊕
ˆ l∈Gc (A)
Ql = Q ,
∀k : k ≥ kmin .
(6.493)
Im Folgenden werden Beispiele verschiedener Graphen und ihrer Adjazenzmatrizen betrachtet. Beispiel 6.494: Schleifenfreier Digraph Eine normierte Adjazenz-Matrix existiert nicht, da der Digraph schleifenfrei ist. ⎡
ε ⎢1 A=⎣ 1 ε
ε ε ε 1
ε ε ε 1
⎤ ε ε⎥ , ε⎦ ε
⎡
ε ε ⎢ A2 = ⎣ ε 2
ε ε ε ε
ε ε ε ε
⎤ ε ε⎥ ε⎦ ε
280
6 Max-Plus-Algebra 2 1
1 1
4 1
1 3
-1
Bild 6.26: Schleifenfreier Digraph
Die Potenz der Adjazenz-Matrix konvergiert gegen die Nullmatrix. Ak = N f¨ ur k ≥ 3 Die Matrix der maximalen Summenkantengewichte ist ⎡
ε ⎢1 + A =⎣ 1 2
ε ε ε 1
ε ε ε 1
⎤ ε ε⎥ . ε⎦ ε
Aufgrund der Schleifenfreiheit gilt f¨ ur die Diagonalelemente ∀i : a+ ii = ε .
Beispiel 6.495: Schleifenbehafteter Digraph der Zyklizit¨ at γ = 1 Durch Einf¨ uhren einer kritischen Schleife der L¨ange 1 am Knoten 3 ist der Graph aus Beispiel 6.494 jetzt schleifenbehaftet. Aufgrund der Schleifenl¨ange 1 hat er die Zyklizit¨ at γ = 1. Weil das maximale mittlere Summenschleifengewicht λ = e ist, ist die Adjazenz-Matrix bereits normiert. ⎡
ε 1 ⎢ A = Aˆ = ⎣ 1 ε
ε ε ε 1
ε ε e 1
⎤ ε ε⎥ ε⎦ ε
ˆ besteht aus der Schleife am Knoten 3. Die Potenzen der Der kritische Graph Gc (A) normierten Adjazenz-Matrix sind ⎡
ε 2 ε ⎢ Aˆ = ⎣ 1 2
ε ε ε ε
ε ε e 1
⎤ ε ε⎥ , ε⎦ ε
⎡
ε 3 ε ⎢ Aˆ = ⎣ 1 2
ε ε ε ε
ε ε e 1
⎤ ε ε⎥ , ε⎦ ε
⎡
ε + 1 ⎢ Aˆ = ⎣ 1 2
ε ε ε 1
ε ε e 1
⎤ ε ε⎥ . ε⎦ ε
6.7 Spektraler Projektor
281
2 1
1 1
4 1
1 3
e Bild 6.27: Schleifenbehafteter Digraph der Zyklizit¨ at γ = 1
Die Eigenvektoren werden bez¨ uglich des Knoten k = 3 berechnet, der Teil der kritischen Schleife ist. T ar (3) = ε ε e 1 , aTl (3) = 1 ε e ε Der spektrale Projektor ist das dyadische Produkt ⎤ ⎡ ε ε ε ε ⎢ε ε ε ε⎥ . Q3 = ar (3) ⊗ aTl (3) = ⎣ 1 ε e ε⎦ 2 ε 1ε Da der Knoten 3 als einziger an einer kritischen Schleife liegt, gilt Q3 = Q . Die Potenz der normierten Adjazenz-Matrix konvergiert gegen den spektralen Projektor. Ak = Q f¨ ur k ≥ 2 ˆ + der maximalen Summenkantengewichte ist ungleich dem spektralen Die Matrix A Projektor, da die Bedingung aus Satz 6.461 nicht erf¨ ullt ist.
Beispiel 6.496: Stark zusammenh¨ angender Digraph der Zyklizit¨ at γ = 3 Durch Einf¨ uhren einer weiteren Kante vom Knoten 4 zum Knoten 1 erhalten wir aus dem schleifenfreien Digraphen in Beispiel 6.494 einen stark zusammenh¨angenden Digraphen. Es gibt einen einzigen kritischen Graphen. Dieser enth¨alt zwei Schleifen der L¨ ange 3 und eine Schleife der L¨ ange 6. Die Zyklizit¨at ist damit γ = ggT {3, 3, 6} = 3 .
282
6 Max-Plus-Algebra
Das Summenschleifengewicht ist bei den Schleifen der L¨ange 3 gleich 3, bei der Schleife der L¨ ange 6 gleich 6. Damit ist das maximale mittlere Summenschleifengewicht bei allen Schleifen gleich dem maximalen λ = 1. 2 1
1 1
1
4
1
1 3
-1
Bild 6.28: Stark zusammenh¨ angender Digraph der Zyklizit¨ at γ = 3
⎡
ε ⎢1 A=⎣ 1 ε
ε ε ε 1
ε ε ε 1
⎤ 1 ε⎥ ε⎦ ε
Durch Division mit dem maximalen mittleren Summenschleifengewicht λ = 1 erhalten wir die normierte Adjazenz-Matrix und deren Potenzen ⎡
ε e ⎢ Aˆ = ⎣ e ε ⎡ ε 4 e ⎢ Aˆ = ⎣ e ε
ε ε ε e
ε ε ε e
ε ε ε e
ε ε ε e
⎤ e ε⎥ , ε⎦ ε ⎤ e ε⎥ , ε⎦ ε
⎡
ε 2 ε ⎢ Aˆ = ⎣ ε e ⎡ ε 5 ε ⎢ Aˆ = ⎣ ε e
e ε ε ε
e ε ε ε
e ε ε ε
e ε ε ε
⎤ ε e⎥ , e⎦ ε ⎤ ε e⎥ , e⎦ ε
e 3 ε ⎢ Aˆ = ⎣ ε ε ⎡ e 6 ε ⎢ Aˆ = ⎣ ε ε
Wegen der Zyklizit¨ at gilt nach Definition 6.475 k k+γ Aˆ = Aˆ f¨ ur k ≥ 1, γ = 3 .
Die Matrix der maximalen Summenkantengewichte ist ⎤ ⎡ e e e e + ⎢e e e e⎥ . Aˆ = ⎣ e e e e⎦ e e e e Alle Elemente sind ∀i, j : a ˆ+ ij = e ,
⎡
ε e e ε
ε e e ε
ε e e ε
ε e e ε
⎤ ε ε⎥ , ε⎦ e ⎤ ε ε⎥ . ε⎦ e
6.7 Spektraler Projektor
283
da jeder Knoten von jedem anderen Knoten aufgrund der Normierung mit dem Summenkantengewicht e erreicht werden kann. Der kritische Graph umfasst alle Knoten und Kanten. Die Eigenvektoren sind in diesem speziellen Beispiel alle gleich, unabh¨angig von der Wahl des Knotens k. T ar (k) = e e e e , aTl (k) = e e e e , k = 1, ..., 4 Der spektrale Projektor ist das dyadische Produkt aus Rechts- und Linkseigenvektor ⎤ ⎡ e e ee ⎢e e e e⎥ Q = Qk = ar (k) ⊗ aTl (k) = ⎣ e e e e⎦ e e ee Wegen der Zyklizit¨ at γ > 1 konvergiert die Potenz der normierten Adjazenz-Matrix nicht gegen den spektralen Projektor, d.h. Ak = Q f¨ ur k ≥ kmin .
Beispiel 6.497: Stark zusammenh¨ angender Digraph der Zyklizit¨ at γ = 1 Durch Einf¨ uhren einer Schleife der L¨ ange 1 am Knoten 3 in den Digraphen aus Beispiel 6.496 wird die Zyklizit¨ at γ = 1. Der kritische Graph umfasst wiederum alle Knoten und Kanten. Die kritischen Schleifen haben die L¨angen 1,3,3,4,6,7. Damit ist die Zyklizit¨ at γ = ggT {1, 3, 3, 4, 6, 7} = 1 . ⎡
ε ⎢1 A=⎣ 1 ε
ε ε ε 1
ε ε 1 1
⎤ 1 ε⎥ ε⎦ ε
2 1
1 1
1 1 -1
4 1
3
1 Bild 6.29: Stark zusammenh¨ angender Digraph der Zyklizit¨ at γ = 1
284
6 Max-Plus-Algebra
Durch Division mit dem maximalen mittleren Summenschleifengewicht λ = 1 erhalten wir die normierte Adjazenz-Matrix und deren Potenzen. ⎡
ε e ⎢ Aˆ = ⎣ e ε ⎡ e 4 e ⎢ Aˆ = ⎣ e e
ε ε ε e
ε ε e e
ε ε e e
e e e e
⎤ e ε⎥ , ε⎦ ε ⎤ e ε⎥ , e⎦ e
⎡
ε 2 ε ⎢ Aˆ = ⎣ e e ⎡ e 5 ⎢e Aˆ = ⎣ e e
e ε ε ε
e ε e e
e ε e e
e e e e
⎤ ε e⎥ , e⎦ ε ⎤ e e⎥ , e⎦ e
⎡
e 3 ε ⎢ Aˆ = ⎣ e e ⎡ e 6 ⎢e Aˆ = ⎣ e e
ε e e ε
e e e e
e e e e
e e e e
⎤ ε ε⎥ , e⎦ e ⎤ e e⎥ . e⎦ e
Die Matrix der maximalen Summenkantengewichte ist wie beim Digraphen aus Beispiel 6.496 gleich ⎤ ⎡ e e e e + ⎢e e e e⎥ Aˆ = ⎣ . e e e e⎦ e e e e Die Eigenvektoren sind ebenfalls gleich T ar (k) = e e e e , aTl (k) = e e e e , k = 1, ..., 4 . Der spektrale Projektor ist ⎡
e e ⎢ Q = Qk = ar (k) ⊗ aTl (k) = ⎣ e e
e e e e
e e e e
⎤ e e⎥ . e⎦ e
Die Potenz der normierten Adjazenz-Matrix konvergiert wegen der jetzt vorhandenen Zyklizit¨ at γ = 1 gegen den spektralen Projektor. Ak = Q f¨ ur k ≥ 6 .
Beispiel 6.498: Stark zusammenh¨ angender Digraph mit zwei kritischen Teilgraphen In den Digraphen aus Beispiel 6.496 werden jetzt zwei weitere Schleifen eingef¨ uhrt. Die Schleife am Knoten 3 hat die L¨ ange 1 und das Schleifengewicht 2, die Schleife an den Knoten 2 und 4 hat die L¨ ange 2 und das Summenschleifengewicht 4. Damit haben die beiden zus¨ atzlich eingef¨ uhrten Schleifen das gleiche maximale mittlere Summenschleifengewicht λ = 2. Die Adjazenz-Matrix ist ⎤ ⎡ ε ε ε 1 ⎢1 ε ε 3⎥ A=⎣ . 1 ε 2 ε⎦ ε 1 1 ε
6.7 Spektraler Projektor
285 3 2 1
1 1
1 1
4 1
3
-1
2 Bild 6.30: Stark zusammenh¨ angender Digraph mit zwei kritischen Teilgraphen
Durch Division mit dem maximalen mittleren Summenschleifengewicht λ = 2 erhalten wir die normierte Adjazenz-Matrix und deren Potenzen ⎡
ε −1 ⎢ Aˆ = ⎣ −1 ε ⎡ −3 3 ⎢ −1 Aˆ = ⎣ −1 −2 ⎡ −3 5 −1 ⎢ Aˆ = ⎣ −1 −2
ε ε ε −1
ε ε e −1
ε −3 −3 −1
−2 e e −1
−5 −3 −3 −1
−2 e e −1
⎤ ⎡ −1 ε 2 1 ⎥ ε ⎢ , Aˆ = ⎣ ε ⎦ −1 ε −2 ⎤ ⎡ −1 −3 4 1 ⎥ ⎢ −1 , Aˆ = ⎣ −2 ⎦ −1 −3 −2 ⎤ ⎡ −1 −3 6 1 ⎥ −1 ⎢ , Aˆ = ⎣ −2 ⎦ −1 −3 −2
−2 e ε ε
−2 e e −1
−2 e −3 −4
−2 e e −1
−2 e −3 −4
−2 e e −1
⎤ ε −2 ⎥ , −2 ⎦ e ⎤ −4 −2 ⎥ , −2 ⎦ e ⎤ −4 −2 ⎥ . −2 ⎦ e
ˆ besteht aus zwei nicht zusammenh¨angenden kritischen Der kritische Graph Gc (A) c ˆ ˆ Beide Schleifen haben nach der Normierung des Teilgraphen G1 (A) und Gc2 (A). Graphen das maximale mittlere Summenschleifengewicht e. Alle anderen Schleifen ˆ haben ein kleineres mittleres Summenschleifengewicht. Sie sind deshalb in G(A) ˆ Die keine kritischen Schleifen und nicht Bestandteil des kritischen Graphen Gc (A). Zyklizit¨ aten der kritischen Teilgraphen sind aufgrund der Schleifenl¨angen γ1 = 1 und γ2 = 2 . Die Zyklizit¨ at des kritischen Graphen ist damit insgesamt γ = kgV {1, 2} = 2 .
286
6 Max-Plus-Algebra 1 2
ˆ Gc2 (A) −1
1
4
3
-1
ˆ Gc1 (A) e Bild 6.31: Kritischer Graph mit zwei nicht zusammenh¨ angenden kritischen Teilgraphen
Wie man aus den Potenzen der normierten Adjazenz-Matrix ersieht, gilt k k+γ Aˆ = Aˆ f¨ ur k ≥ 4 .
Die Matrix der maximalen Summenkantengewichte ist ⎡
−3 + −1 ⎢ Aˆ = ⎣ −1 −2
−2 e −3 −1
−2 e e −1
⎤ −1 1 ⎥ . −2 ⎦ e
Die Knoten 2, 3 und 4 liegen am kritischen Grpahen. Die dazugeh¨origen Eigenvektoren sind T −2 e −3 −1 , aTl (2) = −1 e e 1 , T , aTl (3) = −1 −3 e −2 , ar (3) = −2 e e −1 T , aTl (4) = −2 −1 −1 e . ar (4) = −1 1 −2 e ar (2) =
Die Eigenvektoren der Knoten 2 und 4 sind proportional zueinander, da sie am selben ˆ liegen (siehe Satz 6.380). kritischen Teilgraphen Gc2 (A) ar (2) = (−1) ⊗ ar (4) , aTl (2) = 1 ⊗ aTl (4) Nach Satz 6.455 gilt Q2 = Q4 . Man erh¨alt die beiden spektralen Projektoren ⎡
Q2/4
−3 ⎢ −1 =⎣ −4 −2
−2 e −3 −1
−2 e −3 −1
⎤ −1 1 ⎥ , −2 ⎦ e
⎡
−3 ⎢ −1 Q3 = ⎣ −1 −2
−5 −3 −3 −4
−2 e e −1
⎤ −4 −2 ⎥ −2 ⎦ −3
6.7 Spektraler Projektor
287
und deren Linearkombination ⎡ −3 ⎢ −1 Q = Q2/4 ⊕ Q3 = ⎣ −1 −2
−2 e −3 −1
−2 e e −1
⎤ −1 1 ⎥ . −2 ⎦ e
Die Potenzen der normierten Adjazenz-Matrix konvergieren nicht gegen den spektralen Projektor. Ak = Q ,
f¨ ur k ≥ kmin
(6.499)
+ Die Matrix Aˆ der maximalen Summenkantengewichte ist gleich dem Spektralen Projektor, da die Bedingung aus Satz 6.461 erf¨ ullt ist.
Beispiel 6.500: Stark zusammenh¨ angender Digraph mit zwei kritischen Teilgraphen der Zyklizit¨ at γ = 1 Durch Einf¨ uhren von zwei weiteren Schleifen jeweils der L¨ange 1 in den Digraphen aus Beispiel 6.496 wird die Zyklizit¨ at γ = 1. Die Adjazenz-Matrix ist ⎡
ε ⎢1 A=⎣ 1 ε
ε 2 ε 1
ε ε 2 1
⎤ 1 ε⎥ . ε⎦ ε 2 ˆ Gc1 (A) 2 1
1 1
1 1
-1
4 1
3 ˆ Gc2 (A) 2
Bild 6.32: Stark zusammenh¨ angender Digraph mit zwei kritischen Teilgraphen der Zyklizit¨ at γ = 1
288
6 Max-Plus-Algebra e
2
3
-1
-
e Bild 6.33: Kritischer Graph mit zwei kritschen Schleifen
ˆ setzt sich aus zwei kritischen Teilgraphen Gc (A) ˆ und Der kritische Graph Gc (A) 1 c ˆ G2 (A) zusammen, die nicht zusammenh¨angen. Beide haben die Zyklizit¨at γ1 = γ2 = 1, so dass die Zyklizit¨ at des kritischen Graphen insgesamt gleich γ = kgV {1, 1} = 1 ist. Der kritische Graph besteht aus den beiden kritischen Schleifen an den Knoten 2 und 3. Alle anderen Schleifen haben nach der Normierung ein kleineres mittleres Summenschleifengewicht und sind deshalb nicht Teil des kritischen Graphen. Durch Division mit dem maximalen mittleren Summenschleifengewicht λ = 2 erh¨alt man die normierte Matrix und deren Potenzen. ⎡
ε −1 ⎢ Aˆ = ⎣ −1 ε ⎡ −3 3 ⎢ −1 ˆ A = ⎣ −1 −2
ε e ε −1
ε ε e −1
−2 e −3 −1
−2 −3 e −1
⎤ ⎡ −1 ε −2 −2 2 ε ⎥ −1 e ε ⎢ , Aˆ = ⎣ ε ⎦ −1 ε e ε −2 −1 −1 ⎤ ⎡ ε −3 −2 −2 4 −2 ⎥ ⎢ −1 e −3 ˆ , A =⎣ −2 ⎦ −1 −3 e −3 −2 −1 −1
Die Matrix der maximalen Summenkantengewichte ist ⎡
−3 + −1 ⎢ Aˆ = ⎣ −1 −2
−2 e −3 −1
−2 −3 e −1
⎤ −4 −2 ⎥ . −2 ⎦ −3
⎤ ε −2 ⎥ , −2 ⎦ ε ⎤ −4 −2 ⎥ . −2 ⎦ −3
6.7 Spektraler Projektor
289
Die zu den Knoten 2 und 3 dazugeh¨ origen Eigenvektoren sind ar (2) = ar (3) =
−2 e −3 −1 −2 −3 e −1
T T
, aTl (2) = −1 e −3 −2 , , aTl (3) = −1 −3 e −2 .
Die dazugeh¨ origen spektralen Projektoren sind ⎡
−3 ⎢ −1 Q2 = ⎣ −4 −2
−2 e −3 −1
−5 −3 −6 −4
⎤ ⎡ −4 −3 −2 ⎥ ⎢ −4 , Q3 = ⎣ −5 ⎦ −1 −3 −2
−5 −6 −3 −4
−2 −3 e −1
⎤ −4 −5 ⎥ . −2 ⎦ −3
Man erh¨ alt die Linearkombination der spektralen Projektoren ⎡
−3 ⎢ −1 Q = Q2 ⊕ Q3 = ⎣ −1 −2
−2 e −3 −1
−2 −3 e −1
⎤ −4 −2 ⎥ . −2 ⎦ −3
Die Potenz der normierten Adjazenz-Matrix konvergiert gegen den spektralen Projektor k Aˆ = Q f¨ ur k ≥ 4.
6.7.5
Iterative Systemgleichung bei Zyklizit¨at γ = 1
Der Graph G(A) besitze mindestens eine Schleife und habe die Zyklizit¨at γ = 1. Diese Forderung bedeutet eine starke Einschr¨ankung an die Topologie des Graphen. In manchen Anwendungen ist es aber eventuell m¨oglich, die Topologie so zu modifizieren, dass der Graph diese Eigenschaft besitzt. Eine M¨oglichkeit daf¨ ur w¨are es, bei all den ˆ eine zus¨ kritischen Teilgraphen Gcr (A) atzliche kritische Schleife z.B. der L¨ange 1 einzuf¨ uhren, die zuvor eine gr¨ oßere Zyklizit¨ at γr > 1 besaßen. F¨ ur solche Graphen l¨asst sich die Systemgleichung dann mit Hilfe des spektralen Projektors l¨osen. Die L¨osung der iterativen Systemgleichung (6.322) lautete x(k) = Ak ⊗ x(0) ⊕ A∗ ⊗ B ⊗ u0 ,
k≥n .
(6.501)
ˆ erh¨alt man ¨ Durch Ubergang auf die normierte Matrix A ˆ k ⊗x(0)⊕ λk−1 ⊗ A ˆ k−1 ⊕ . . . ⊕ λ ⊗ A ˆ ⊕ I ⊗B⊗u . (6.502) x(k) = λk ⊗A 0 Nach Satz (6.489) ist die Potenz einer normierten Matrix der Zyklizit¨at γ = 1 ˆk = Q , A
k ≥ kmin = max {M (l)} + n − 1 . l=1...n
(6.503)
290
6 Max-Plus-Algebra
Die L¨ osung der Systemgleichung wird damit
λk−1 ⊕ . . . ⊕ λkmin ⊗ Q ⊕ Akmin −1 ⊕ . . . k ≥ kmin . . . . ⊕ A ⊕ I ⊗ B ⊗ u0 ,
x(k) = λk ⊗ Q ⊗ x(0) ⊕
(6.504) Wir unterscheiden wieder die F¨ alle (hier allerdings mit der zus¨atzlichen Bedingung einer schleifenbehafteten Matrix A der Zyklizit¨at γ = 1): a.) Digraphen mit positivem maximalem Summenschleifengewicht λ>e .
(6.505)
ur die Potenzen des Eigenwertes F¨ ur k > kmin gilt f¨ λk−1 ⊕ λk−2 ⊕ . . . ⊕ λkmin = λk−1 ,
k > kmin ,
λ>e
(6.506)
und damit f¨ ur die Matrix der maximalen Kantengewichte A∗ = λk−1 ⊗ Q ⊕ Akmin −1 ⊕ . . . ⊕ A ⊕ I ,
k > kmin ,
λ>e . (6.507)
Das f¨ uhrt insgesamt zur divergierenden L¨osung der Systemgleichung x(k) = λk ⊗Q⊗x(0)⊕A∗ ⊗B ⊗u0 ,
k ≥ kmin ,
λ > e . (6.508)
b.) Digraphen mit nicht-positivem oder negativem maximalen Summenschleifengewicht λ≤e .
(6.509)
Die Matrix der maximalen Kantengewichte A∗ kann beim Exponenten k ≥ n abgebrochen werden. Ak ≤ I ⊕ A ⊕ A2 ⊕ . . . ⊕ An−1 ,
k≥n ,
λ≤e .
(6.510)
k≥n ,
λ≤e .
(6.511)
λ≤e
(6.512)
Sie ist deshalb konstant A∗ = An−1 ⊕ . . . ⊕ A2 ⊕ A ⊕ I , Die L¨ osung der Systemgleichung ist damit x(k) = Ak ⊗ x(0) ⊕ A∗ ⊗ B ⊗ u0 ,
k≥n ,
oder x(k) = λk ⊗Q⊗x(0)⊕A∗ ⊗B ⊗u0 ,
k ≥ kmin ,
λ ≤ e . (6.513)
6.7 Spektraler Projektor
291
F¨ ur λ = e gibt es ab k ≥ kmin eine station¨are L¨osung x(k) = Q ⊗ x(0) ⊕ A∗ ⊗ B ⊗ u0 ,
k ≥ kmin ,
λ=e .
(6.514)
F¨ ur λ < e ist ab einem Exponenten k ≥ k0 , der vom Anfangszustand abh¨angt, das erste Glied in (6.513) kleiner als das zweite Glied λk ⊗ Q ⊗ x(0) ≤ A∗ ⊗ B ⊗ u0 ,
k ≥ k0 ,
λ k3
(7.44)
R¨ uckw¨ artskonflikt In Bild 7.9 b) sind t1 und t2 jeweils beide durch die Marke in p1 aktiviert. Die Marke reicht aber nur zum Schalten von einer der beiden Transitionen aus (R¨ uckw¨artskonflikt). Die Markenzahl m1 (r − 1) in p1 ist kleiner als die Summe der beiden Kantengewichte. I.
− − m1 (r − 1) < w11 u1 (r) + w12 u2 (r)
(7.45)
In verteilten Automatisierungssystemen sollten die in Konflikt stehenden Transitionen m¨ oglichst auf einen lokalen Bereich beschr¨ ankt sein, damit die Konfliktl¨osung lokal erfolgen kann. In konfliktbehafteten Petrinetzen werden die Aktivierungsfunktionen 1 ∀tj aktiviert uj (r) = 0 sonst
(7.46)
aufgrund der unabh¨ angigen Einzelpr¨ ufung aller Transitionen tj ∈ T bestimmt. Tats¨achlich aber schalten die aktivierten Transitionen parallel. Eine m¨ogliche Konfliktl¨osungsstrategie besteht nun darin, durch Erweiterung der Petrinetz-Struktur ein konfliktfreies Petrinetz zu generieren. Dabei wird unter den in Konflikt stehenden Transitionen nur jeweils eine ausgew¨ ahlt, die aktiviert wird, w¨ahrend bei den anderen die Aktivierung verhindert wird.
312
7 Petrinetze
a) Konfliktl¨ osung durch Priorisierung von p1
b) Konfliktl¨ osung durch Einf¨ uhrung zus¨ atzlicher Pl¨ atze
Bild 7.10: M¨ ogliche Konfliktl¨ osungen
Im Bild 7.10 a) wird eine neue Kante, die sog. Verhinderungskante (disable), von p1 nach t2 eingef¨ uhrt. t1 hat die h¨ ohere Priorit¨at. Die zus¨atzliche Kante gibt die Transition t2 nur dann frei, wenn der Platz p1 nicht belegt ist. Dadurch ist die Aktivierungsfunktion im Konfliktfall u2 (r) = 0. Im Bild 7.10 b) werden t1 und t2 abwechselnd aktiviert. F¨ ur viele Steuerungsanwendungen reichen obige Konfliktl¨osungen mit festen Regeln nicht aus. In Echtzeitsteuerungen h¨ angen die Konfliktl¨osungen h¨aufig vom Zustand des zu steuernden Systems ab. Wir behandeln solche Steuerungen sp¨ater.
7.1.5
Spezielle Petri-Netz-Klassen
Von besonderem Interesse sind Petrinetzklassen, f¨ ur die mathematisch exakte Aussagen zur Sicherheit und Lebendigkeit gemacht werden k¨onnen. Wir geben hier einige bekannte Netzklassen an. 1. Synchronisationsgraphen (synchronisation graph) [DA92] Definition 7.47 Synchronisationsgraph Ein Synchronisationsgraph ist ein besonderes strukturiertes Petrinetz, in dem jeder Platz h¨ ochstens eine Vorg¨ angertransition und h¨ochstens eine Folgetransition besitzt. ∀pi ∈ P :
(| • pi | ≤ 1) ∧ (|pi • | ≤ 1) .
(7.48)
Damit ist ein Synchronisationsgraph konfliktfrei. Das Bild 7.11 zeigt ein Beispiel. Ein markierter Platz zeigt eindeutig, welches Ereignis (Zustands¨ ubergang) geschehen ist, und welches Ereignis geschehen wird, da er nur eine Vortransition und eine Folgetransition besitzt. Aus der Platzbelegung kann eindeutig auf die Ereignisfolge geschlossen werden. In [KQ88] oder [Mur89] findet man den folgenden Satz u ¨ ber die Lebendigkeit von Synchronisationsgraphen:
7.1 Zeitdiskrete Petrinetze
Bild 7.11: Synchronisationsgraph
313
Bild 7.12: Zustandsgraph
Satz 7.49: Lebendigkeit von Synchronisationsgraphen Ein stark zusammenh¨ angender Synchronisationsgraph ist genau dann lebendig, wenn es bei jedem Markierungszustand M r in jedem geschlossenen Schaltpfad des Graphen mindestens eine Marke gibt. Ein Netz heißt stark zusammenh¨ angend, wenn von jedem Knoten zu jedem anderen Knoten ein gerichteter Pfad existiert. Wenn ein Pfad von den anderen Knoten ausgehend zu diesem Knoten zur¨ uckf¨ uhrt, wird der Pfad als geschlossen bezeichnet. Aus obigem Satz sieht man sofort, dass das Netz im Bild 7.1 lebendig ist. Ein Beweis der Lebendigkeit durch Konstruktion eines Erreichbarkeitsgraphen R ist deshalb nicht mehr n¨ otig. Mit Synchronisationsgraphen lassen sich Prozesse und Steuerungen mit Nebenl¨aufigkeiten und deren Synchronisation beschreiben 2. Zustandsgraph (state graph) Ersetzt man die Pl¨ atze eines Synchronisationsgraphen durch Transitionen, und die Transitionen durch Pl¨ atze, so erh¨ alt man einen Zustandsgraphen. Definition 7.50 Zustandsgraph Ein Petrinetz, in dem jede Transition h¨ ochstens einen Vorplatz und h¨ochstens einen Folgeplatz besitzt, heißt Zustandsgraph, ∀tj ∈ T :
(| • tj | ≤ 1) ∧ (|tj • | ≤ 1).
(7.51)
Das Bild 7.12 zeigt ein Beispiel. Zustandsgraphen sind f¨ ur die Steuerungstechnik von Bedeutung [KQ88]. 1. Zustandsgraphen eignen sich besonders zur Modellierung von Abl¨aufen mit Verzweigungen und Zusammenf¨ uhrungen (ein Platz kann mehrere Vor- oder Nachtransitionen haben).
314
7 Petrinetze
2. In stark zusammenh¨ angenden Zustandsgraphen wird die Summenzahl der Marken durch das Schalten von Transitionen nicht ver¨andert, wenn die Kantengewichte 1 sind. In Eisenbahnsystemen entspricht z.B. ein Zug einer Marke. Die Zugbewegung wird durch die entsprechende Markenbelegung modelliert. Die Summe aller Z¨ uge im System bleibt unver¨ andert. 3. Weil die Summenzahl der Marken konstant ist, ist die Zahl der m¨oglichen Zust¨ande endlich. Die Erreichbarkeitsgraphen von Zustandsgraphen sind damit endlich.
7.2
Zeitkontinuierliche Petrinetze
In Echtzeitsteuerungen gibt es Begriffe wie Ansprechverz¨ogerungen, Verweilzeiten, Laufzeiten, Zeitplan u.a. , die die Wichtigkeit der Zeit bei der Analyse bzw. Synthese von Steuerungen verdeutlichen. Beim Entwurf von logischen Ablaufsteuerungen auf der Basis der Automatentheorie ist es u ¨ blich, die Zeitproblematik separat zu behandeln [KQ88]. Zeitdiskrete Petrinetze k¨ onnen nur die logischen Abl¨aufe modellieren. Deshalb werden zeitdiskrete Petrinetze zu zeitkontinuierlichen Petrinetzen erweitert. Zeitkontinuierliche Petrinetze bieten die M¨ oglichkeit, das bedingungsabh¨angige und das zeitabh¨angige Verhalten in einem einzigen Modell darzustellen. Die verschiedenartigen Anwendungsbereiche f¨ uhren oft zu unterschiedlichen Vorgehensweisen. Allen ist gemeinsam, das zeitliche Verhalten auf Zeitbewertungen von Petrinetzelementen abzubilden. So werden z.B. den Pl¨atzen, Kanten oder Transitionen Zeiten zugeordnet, um damit den Markenfluss zeitlich zu beeinflussen [KQ88]. Zeitkontinuierliche Petrinetze bilden das dynamische Verhalten des Systems durch den Markenfluss ab. Der Markenfluss kann auf zweierlei Weise beeinflusst werden: 1. Zeitliche Verz¨ ogerung in den Transitionen; 2. Verz¨ ogerung des Markenflusses in den Pl¨atzen. Mit der Verz¨ ogerung wird der Markenfluss hinsichtlich seiner Geschwindigkeit beeinflusst. Zwei bekannte zeitkontinuierliche Petrinetze, Petrinetze mit deterministischen und stochastischen Zeiten, geh¨ oren zu dieser Art. Den meisten Beschreibungsmitteln f¨ ur ereignisdiskrete Systeme liegt die Darstellung Situation-Zustand-Folgesituation-Folgezustand“ zugrunde. Da die zeitbewerteten Pl¨at” ze und verz¨ ogerten Transitionen am h¨ aufigsten angewendet werden, stellen wir hier nur diese beiden Verfahren vor. Zeitlich beschr¨ankte Kanten kann man in [KQ88] finden.
7.2.1
Zeitbewertung von Pl¨atzen
Zeitbewertete Pl¨ atze sind f¨ ur praktische Belange besonders interessant. Eine Marke ist in einem zeitbewerteten Platz nur nach einer Verweildauer wieder verf¨ ugbar. Das Bild 7.13 zeigt den Ablauf. Wir kennzeichnen den zeitbewerteten Platz mit einem DoppelKreis. Die nicht verf¨ ugbare Marke wird durch einen weißen Punkt dargestellt.
7.2 Zeitkontinuierliche Petrinetze
a) t1 aktiviert und schaltbereit
c) Nach der Verweilzeit (τ2 − τ1 ) ist die Marke wieder verf¨ ugbar
315
b) t1 schaltet zum Zeitpunkt τ1 , und die Marke ist im Platz p2
d) Markierungsablauf im Platz p2
Bild 7.13: Marke in einem zeitbewerteten Platz
Beim Schalten der Transition t1 zum Zeitpunkt τ1 wird der Platz p2 zuerst durch den weißen Punkt markiert. Die Marke ist damit noch nicht zur Aktivierung der Transition t2 verf¨ ugbar. Der Prozess gleicht einem Holzball, der ins Wasser f¨allt und der erst nach einer Verweilzeit (τ2 − τ1 ) wieder auftaucht. Ab dem Zeitpunkt τ2 ist die Marke wieder verf¨ ugbar. Die Transition t2 wird jetzt aktiviert (Schalten auch von der Nachbedingung abh¨ angig). Der Vorteil der Zeitbewertung von Pl¨ atzen liegt darin, dass die Aktivierung und das Schalten der Transitionen genauso wie in zeitdiskreten Petrinetzen abl¨auft, soweit die Marke verf¨ ugbar ist. Die Verweildauer τ = τ2 − τ1 einer Marke in einem zeitbewerteten Platz wird von den Anwendungen abh¨ angen. Sie kann deterministisch oder stochastisch sein. Beispiel 7.52: Aufenthaltsdauer in einem Bahnhof Eine Haltestelle in einem Bahnhof wird durch einen Platz dargestellt. Der Zug muss an der Stelle mit einer fest vorgegebenen Dauer halten (deterministisch). Nach Ablauf der Verweilzeit kann er weiterfahren. Ob die Fahrt aber erlaubt ist, h¨angt vom Zustand des Ausgangs (z.B. Signal) ab.
316
7.2.2
7 Petrinetze
Verz¨ogerte Transitionen
¨ Die Verz¨ ogerungen der Transitionen repr¨ asentieren die Ubergangszeit von einem diskreten Zustand zum Folgezustand. Die Schaltbedingung wird nicht allein durch die logische Aktivierung, sondern auch durch die zus¨ atzliche Verz¨ogerung erreicht. Bedingung zum Schalten einer verz¨ ogerten Transition: Eine verz¨ ogerte Transition schaltet, wenn sie in τ0 aktiviert wurde und wenn sie nach der Verz¨ogerungszeit τ den Zeitpunkt τ0 + τ erreicht. Hierbei ist die logische Bedingung der Aktivierung die gleiche wie in Abschnitt 7.1. Bild 7.14 zeigt die Phasen von der Aktivierung bis zum Schalten.
Bild 7.14: Schalten einer verz¨ ogerten Transition
Die Behandlung verz¨ ogerter Transitionen ist komplizierter als die Zeitbewertung von Pl¨ atzen. Im Folgenden werden einige Probleme behandelt. Position der Marken w¨ ahrend der Verz¨ ogerung Da es nicht u ¨ blich ist, Transitionen zu markieren, kann man die Verz¨ogerung der Marken in den Transitionen dadurch zum Ausdruck bringen, dass entweder die Marken der Vorpl¨ atze f¨ ur die Dauer der Verz¨ ogerung aus dem Netz entfernt“ werden, oder dass die ” Vorpl¨ atze f¨ ur die Dauer der Verz¨ ogerung l¨anger markiert bleiben. Im ersten Fall wird das Verfahren Typ-I genannt, und im zweiten Typ-II [KQ88]. Das Bild 7.15 zeigt die Position der Marke w¨ ahrend der Verz¨ ogerung bei den beiden Transitionsarten. Die Markierung ist in Typ-I nicht kontinuierlich beobachtbar, da die Marke in dem Intervall [τ0 , τ0 +τ ] verschwindet. Deshalb besteht in diesem Zeitintervall keine ad¨aquate Beziehung zwischen dem Modellzustand und dem Zustand des modellierten Prozesses.
a) Verz¨ ogerte Transition nach Typ-I
b) Verz¨ogerte Transition nach Typ-II
Bild 7.15: Markenposition w¨ ahrend der Verz¨ ogerungen
7.2 Zeitkontinuierliche Petrinetze
317
Beim Entfernen“ von Marken aus dem Netz muss durch zus¨atzliche Maßnahmen si” chergestellt werden, dass die Information erhalten bleibt, nach welcher Verz¨ogerung zu welchen Pl¨ atzen im Netz die Marken weitergegeben werden. Dagegen ist die Markierung in Typ-II kontinuierlich beobachtbar. Aber nun sind die Marken in den Vorpl¨ atzen eventuell dem Zugriff konkurrierender Transitionen ausgesetzt, sofern keine zus¨ atzlichen Maßnahmen zum Reservieren dieser Marken vereinbart sind. Da das Netz mit den Transitionen vom Typ-II den Zustand (Markierungen) zeitlich kontinuierlich darstellen kann, behandeln wir von nun an ausschließlich verz¨ogerte Transitionen des Typs II. Reservierte und nicht reservierte Marken Bei den Transitionen vom Typ-II bleiben die Marken w¨ahrend der Verz¨ogerungsphase in den Vorpl¨ atzen. Daf¨ ur gibt es zwei M¨ oglichkeiten: 1. Die Marken sind ausschließlich f¨ ur die Transition reserviert, f¨ ur die sie bestimmt sind; 2. Die Marken sind auch f¨ ur konkurrierende Transitionen verf¨ ugbar. Beide haben eigene Anwendungsbereiche. 1. Reservierung der Marken (RM) In steuerungstechnisch interpretierten Netzen werden die Ausgangssignale der Vorpl¨ atze auch w¨ ahrend der Verz¨ ogerungsphase der jeweiligen Transitionen generiert [KQ88]. Ein Beispiel daf¨ ur ist in Bild 7.16 dargestellt. A, B und C sind drei Streckenabschnitte. Durch die Verzweigung kann ein Zug (oder ein Auto) von A nach B oder C fahren. Die beiden ¨ Ubergangsprozesse sind disjunkt. Deshalb soll die Marke f¨ ur einen Prozess reserviert werden, falls der Prozess schon gestartet ist. Bei einer solchen Struktur muss eine Entscheidung getroffen werden, welche der beiden Transitionen aktiviert werden soll (Konfliktl¨osung).
Bild 7.16: Reservieren der Marken
2. Keine Reservierung der Marken Viele Prozesse stehen im Wettbewerb. Ein typisches Beispiel daf¨ ur ist die Arbitrierung des Zugriffes auf Ethernet. Bild 7.17 zeigt das Prinzip der Arbitrierung des Zugriffskonflikts. Hierbei sind die Verz¨ogerungen τi , i = 1, .., r Zufallsgr¨oßen. W¨ ahrend der Verz¨ ogerungen sind alle Transitionen ti gleichzeitig aktiviert. Die Transition mit der kleinsten Verz¨ ogerung gewinnt den Wettbewerb um die Marke.
318
7 Petrinetze
Bild 7.17: Arbitierung des Konfliktes
Der Vorteil dieses Verfahrens liegt darin, dass bei unterschiedlichen τi keine zus¨ atzliche Entscheidungen mehr n¨ otig sind. Ohne Reservierung wird die Verwaltung des Netzes einfacher. Das Reservieren einer Marke l¨ asst sich durch zus¨atzliche Netzelemente darstellen. Bild 7.18 zeigt daf¨ ur ein Beispiel.
Bild 7.18: Umformung eines Netzes mit Marken-Reservierung
Die Entscheidung zwischen beiden Transitionen t1 und t2 wird auf die Transitionen t11 und t21 verlagert. Dort besteht weiterhin ein R¨ uckw¨arts-Konflikt, der z.B. wie in Abschnitt 7.1.4 gel¨ ost werden muss. Wir treffen hier die Vereinbarung, dass die Reservierung der Marken immer durch eine geeignete Zusatzstruktur gel¨ost wird. Deshalb wird die Reservierung der Marken im Folgenden nicht mehr ber¨ ucksichtigt.
Unterbrechbarkeit der Verz¨ ogerung Eine nicht zeitbewertete aktivierte Transition schaltet sofort. Dabei ist die Dauer von der Aktivierung bis zum Schalten null. Die Aktivierung einer zeitbewerteten Transition erstreckt sich dagegen u ogerung τ . F¨allt nun die anf¨angliche Aktivie¨ ber die Zeitverz¨ ¨ rungsbedingung w¨ ahrend der Verz¨ ogerung aus, so gibt es f¨ ur den Ubergangsprozess zwei M¨ oglichkeiten:
7.2 Zeitkontinuierliche Petrinetze
319
1. Unterbrechung der Verz¨ ogerung: Weiterlaufen der Restverz¨ogerung nach erneuter Aktivierung. 2. Keine Unterbrechbarkeit nach einmal erfolgter Aktivierung: Weiterlaufen der Verz¨ ogerung bis zum Ende, auch bei Zur¨ ucknahme der Aktivierung. Der erste Fall wird gesondert im n¨ achsten Abschnitt behandelt. F¨ ur den zweiten Fall wollen wir das Beispiel einer signalgesteuerten Kreuzung geben. Nachdem das Freigabesignal (gr¨ une Ampel) vorhanden ist, f¨ ahrt das Auto u uck¨ ber die Kreuzung. Die Zur¨ nahme des Signals kann die Folgesituation Auto f¨ahrt u ¨ ber die Kreuzung“ nicht mehr ” beeinflussen. Man kann eine nicht unterbrechbare Transition mit unterbrechbaren Transitionen nachbilden. Bild 7.19 zeigt daf¨ ur ein Beispiel. Die Kante (p1 , t1 ) ist dabei eine Freigabekante (enable), die mit einem ausgef¨ ullten Punkt dargestellt ist. Beim Schalten der Transition wird die Marke im Platz p1 nicht entfernt.
Bild 7.19: Darstellung einer nicht unterbrechbaren Transition durch unterbrechbare Transitionen
Die nicht unterbrechbare Transition t1 wird in die Transitionen t11 , t12 und den dazwischen liegenden Platz p4 aufgel¨ ost. Wenn t11 aktiviert ist, dann schaltet diese Transition und die Marke geht in p4 u ¨ ber. Die Markierung in p4 ist danach nicht mehr ¨ durch eventuelle Anderungen der Markierung in p1 oder p2 zu beeinflussen (NichtUnterbrechbarkeit). Die nachfolgende Transition t12 kann deshalb auch als unterbrechbar angenommen werden, ohne dass sich das Gesamtverhalten a¨ndert. Wenn die Kapazit¨ at im Platz p3 beschr¨ ankt ist, wird die Verz¨ogerung in t1 oder t12 verl¨ angert. Die Transition t12 kann nur schalten, falls der Platz p3 u ¨ ber eine ausreichende Kapazit¨ at verf¨ ugt. Diese Verl¨ angerung der Verz¨ogerung in t12 ist eigentlich eine Wartezeit. Zur Unterscheidung zwischen Verz¨ogerungszeit und Wartezeit erweitern wir die Darstellung aus Bild 7.19 nochmals zum Bild 7.20. W¨ ahrend der Verz¨ ogerungszeit bleibt die Marke in p41 . Nach deren Ablauf schaltet t12 und die Marke geht in p42 u ¨ ber. Die Transition t13 kann nur schalten, wenn die Kapazit¨ at in p3 ausreicht (Wartezeit). Die Komplexit¨at des Netzes steigt durch solche Darstellungen rasch an. Die Anschaulichkeit des Petrinetzes bleibt aber trotz einer solchen Verfeinerung erhalten, wenn auf hierarchische Petrinetze u ¨ bergegangen wird (Abschnitt 7.4). Im folgenden Teil wird angenommen, dass alle Transitionen unterbrechbar sind.
320
7 Petrinetze
Bild 7.20: Nicht unterbrechbarer Prozess in einem kapazit¨ atsbeschr¨ ankten Netz
Behandlung der Verz¨ ogerungszeit nach Unterbrechungen Die Verz¨ ogerungszeit in der Transition wird unterbrochen, wenn die Aktivierungsbedingung zur¨ uckgenommen wird. Die Frage ist nun, mit welcher Verz¨ogerungszeit man fortf¨ ahrt, wenn die Transition erneut aktiviert wird. Hierf¨ ur gibt es zwei M¨oglichkeiten: Mit der Restverz¨ ogerungszeit (R) oder mit der neu gestarteten Verz¨ogerungszeit ohne Ged¨ achtnis (M). Dem Leser mag sich der Vergleich zu Semi-Markov-Prozessen aufdr¨ angen, wo eine ¨ ahnliche Alternative f¨ ur die Ereignisintervalle bestand. Ereignisintervallzeiten ohne Ged¨ achtnis waren dort exponentialverteilt. Im Gegensatz dazu sind bei Petrinetzen auch deterministische Verz¨ogerungszeiten ohne Ged¨achtnis zul¨assig. 1. Restverz¨ ogerungszeit (R) mit Ged¨ achtnis Bis zur Unterbrechung ist bereits die Verz¨ogerungszeit τe abgelaufen. Die bei der Unterbrechung noch vorhandene Restverz¨ogerung τr beginnt abzulaufen, wenn die Transition erneut aktiviert wird. Wir erkl¨aren das durch das Beispiel der Streckenabschnittssteuerung in Bild 7.21. Die Bedeutung der Netzelemente ist: p1 p2 p3 p4 t1 t2 t3
— — — — — — —
Zug im Streckenabschnitt 1 Zug im Streckenabschnitt 2 Zug im Fahrzustand Zug im Haltzustand Motor einschalten Motor ausschalten Fahrt vom Streckenabschnitt 1 nach 2,R-Transition.
Die Kante (p3 , t3 ) im Bild 7.21 ist eine Freigabekante (enable), die in zwei normale Kanten (p3 , t3 ) und (t3 , p3 ) verfeinert werden kann (Bild 7.21 b). Beim Schalten von t3 wird die Marke in p3 nicht entfernt. Die Verz¨ ogerung τ der Transition t3 bildet die Dauer nach, die der Zug beim ¨ Ubergang vom Streckenabschnitt 1 nach 2 braucht. Wenn der Zug dabei unterwegs anh¨ alt (Marke in p3 verschwindet), dann wird die Verz¨ogerung beim Stand τe in t3 unterbrochen. Wenn p3 wieder markiert wird, wird die Restverz¨ogerung τr = τ −τe fortgesetzt. Bei Transitionen mit Restverz¨ ogerung muss die bereits abgelaufene Zeit τe = τ −τr in dem Augenblick gespeichert werden, in dem die Verz¨ogerung unterbrochen wird.
7.2 Zeitkontinuierliche Petrinetze
a) Darstellung mit einer restverz¨ ogerten Transition
321
b) ¨aquivalente Darstellung der Freigabekante
Bild 7.21: Streckenabschnittsteuerung mit restverz¨ ogerter Transition (R)
2. Verz¨ ogerungszeit ohne Ged¨ achtnis (M) Bei dieser Art der Transition ist kein Ged¨achtnis f¨ ur die Vorgeschichte erforderlich. Die Verz¨ ogerung τ ist unabh¨ angig von der bereits abgelaufenen Verz¨ogerungszeit τe . Wir zeigen das am Beispiel des Startvorgangs eines Computers in Bild 7.22. Die Netzstruktur ist identisch zu der in Bild 7.21. Es handelt sich aber um eine andere Anwendung. Der Startvorgang eines Computers dauert eine bestimmte Zeit τ . Wenn der Startvorgang nicht bis zum Ende durchgef¨ uhrt werden konnte, l¨ auft er beim n¨ achsten Mal wieder vom Anfang an ab. Die Einschaltfreigabe in p3 ¨ erm¨ oglicht den verz¨ ogerten Ubergang des Rechners in den aktiven Zustand. Bei Verschwinden der Marke in p3 nach der bereits abgelaufenen Verz¨ogerungszeit τe in t3 (Unterbrechung) muss die Verz¨ ogerungszeit τ in t3 beim n¨achsten Mal von Anfang an durchlaufen werden (ohne Ged¨achtnis).
Bild 7.22: Startvorgang eines Computers mit Verz¨ ogerung ohne Ged¨ achtnis (M)
322
7 Petrinetze
Bild 7.23: Ersatz einer R-Transition durch eine M-Transition
Beide Arten von Verz¨ ogerungen sind f¨ ur verschiedene Anwendungen n¨ utzlich, aber bei gleichzeitiger Darstellung im Petrinetz kompliziert. Deshalb wollen wir im Folgenden nur noch Verz¨ ogerungen ohne Ged¨ achtnis in den Transitionen (M) zulassen. Bei vorgegebener Verz¨ ogerung τ , l¨ asst sich eine Transition mit Restverz¨ogerung (R) durch eine Transition mit Verz¨ ogerungszeit ohne Ged¨achtnis (M) darstellen (Bild 7.23). Die Transition t1 mit Ged¨ achtnis (R) habe die Verz¨ogerungszeit τ . Die Transition t1 wird verfeinert in die Transition t11 ohne Ged¨achtnis (M) mit der Verz¨ogerung τ /k, in einen nachfolgenden Platz p3 , und in eine Transition t12 , deren Vorkante [p3 , t12 ] das Kantengewicht k hat. Nach einer Verz¨ ogerungszeit τ /k wird eine Marke in p3 erzeugt. Die Transition t12 schaltet aber erst, wenn p3 k Marken enth¨alt. Das Ged¨achtnis wird mit einer Aufl¨ osung von τ /k durch die k Marken in p3 nachgebildet.
7.2.3
Petrinetze mit stochastischen Zeitverz¨ogerungen
Die Verz¨ ogerungszeiten werden hier den Transitionen zugeordnet. Sie k¨onnen unterschiedliche Verteilungen besitzen. Meistens wird eine Exponentialverteilung F (τp ) = P {τp ≤ τ } = 1 − e−λτ
τ ≥0
(7.53)
angenommen, wobei die Ereignisrate gleich dem Kehrwert des Erwartungswertes der Verz¨ ogerung λ=
1 E{τ }
ist. In Petrinetzen mit stochastischen Zeitverz¨ogerungen l¨asst sich eine geschlossene ma¨ thematische L¨ osung durch einen Ubergang auf den zum Petrinetz geh¨origen MarkierungsZustandsgraphen erreichen. Daraus k¨ onnen unmittelbar zeitkontinuierliche MarkovKetten erzeugt werden. Dazu setzt man die Ereignisrate λ der Transition t in die ¨ Ubergangskante ein, die der Transition t entspricht. Hat das Petrinetz einen endlichen Markierungszustandsgraphen mit benachbarten Zust¨anden M i und M j , l¨asst sich die ¨ Ubergangsratenmatrix (Transition-Rate-Matrix) der zeitkontinuierlichen Markov-Kette beschreiben als Q = [qij ]SxS .
(7.54)
7.2 Zeitkontinuierliche Petrinetze
323
a) Schaltvorg¨ ange im Zustandsgraphen des Petrinetzes
¨ b) Ubergangsrate in der entsprechenden Markov-Kette
Bild 7.24: Zustands¨ ubergraph des Petrinetzes und seine entsprechende Markov-Kette
Dabei ist S die Anzahl aller erreichbaren Markierungszust¨ande des Petrinetzes. Die Elemente qij in Q 1 , E{τq }
qij = λq =
(j = i)
(7.55)
sind die Zustands¨ ubergangsraten, die das Petrinetz aus dem Markierungszustand M i durch das Schalten einer Transition tq zum benachbarten Markierungszustand M j u ¨ berf¨ uhren. Wenn es mehr als eine Transition gibt, die von der Markierung M i zu M j f¨ uhren kann (wie im Bild 7.24 a) gezeigt), dann setzt sich die Zustands¨ ubergangsrate qij aus den einzelnen Ereignisraten λ1 , λ2 , λ3 , ... der entsprechenden Transitionen t1 , t2 , t3 , ... zusammen. qij = λ1 + λ2 + λ3 + · · · =
k
λq .
(7.56)
q=1
¨ Der Grund daf¨ ur ist, dass in Markov-Ketten nur ein einziger Ubergang zwischen zwei Zust¨ anden definiert ist. F¨ ur den Fall i = j (Verbleib im Zustand i) gilt nach Gl. (4.172) −qii =
S−1
qij .
(7.57)
j=0 j=i
Mit der Markierungszustandsverteilung ΠT = [π(M 0 ) π(M 1 ) . . . π(M S−1 )] l¨asst sich das dynamische Verhalten des Petrinetzes analysieren. Die dazugeh¨orige station¨are Zustandsverteilung erh¨ alt man aus Gl. (4.213) ΠT Q = 0 ,
(7.58)
mit der Nebenbedingung S−1 i=0
π(M i ) =
S−1 i=0
πi = 1 .
(7.59)
324
7 Petrinetze
Beispiel 7.60 Statistische Analyse eines Petrinetzes mit stochastischen Verz¨ogerungszeiten Ein zeitkontinuierliches Petrinetz ist mit der Anfangsmarkierung M 0 gegeben (Bild 7.25). Die Verz¨ ogerungszeiten sind in allen Transitionen tq exponentialverteilt mit den Ereignisraten λq λ1 = λ5 =
1 , 2
λ2 = λ3 = λ4 = 1 .
a) Petrinetz mit der Anfangsmarkierung M 0 ( zwei Marken in p1 ) und ¨ Ubergangsraten an den Transitionen.
M0
M1
[
]
[
]
M2
T
[
]
T
[
]
T
[
]
T
T
M3 M5 M4 b) Erreichbarkeitsgraph des Petrinetzes mit den Markierungszust¨anden M i .
M4
M0
M1
M3
M5
M2
c) Zeitkontinuierliche Markov-Kette des stochastischen Petrinetzes ¨ Bild 7.25: Ubergang von einem Petrinetz mit stochastischen Verz¨ ogerungen zur entsprechenden zeitkontinuierlichen Markov-Kette.
7.2 Zeitkontinuierliche Petrinetze
325
Der Erreichbarkeitsgraph wird dadurch gewonnen, dass das Schalten aller Transitionen tq durchgespielt wird. Man gelangt dabei von einem Markierungszustand M i zum n¨ achsten, bis alle erreichbaren Markierungszust¨ande aufgetreten sind. Die ¨ Uberg¨ ange im Erreichbarkeitsgraphen werden durch die entsprechenden Transitionen gekennzeichnet (Bild 7.25 b). Die Zustands¨ uberg¨ ange zwischen den Markierungszust¨anden M i erfolgen durch eine oder durch mehrere parallele Transitionen. Die Zustands¨ ubergangsrate ergibt sich nach Gl. (7.56) aus der Summe der den parallelen Transitionen zugeordneten Ereignisraten (Bild 7.25 c). Damit erh¨ alt man die zum Petrinetz geh¨orige zeitkontinuier¨ liche Markov-Kette. Sie hat im Beispiel 7.60 die Ubergangsratenmatrix. ⎤ ⎡ ⎢ ⎢ ⎢ Q=⎢ ⎢ ⎣
−λ1 −λ3 −λ5 λ2
λ1 +λ5
0
λ3
0
0
0
0
λ3
−λ2
0
0
0 λ1 +λ5
−λ1 −λ2 −λ3 −λ5 λ1 +λ5
0
λ2
λ4
0
0
−λ1 −λ3 −λ4 −λ5
λ3
0
0
0
λ4
−λ4
0
0
λ4
0
λ2
0
−λ2 −λ4
⎥ ⎥ ⎥ ⎥ ⎥ ⎦
Die station¨ are Markierungszustandsverteilung Π ergibt sich mit den Ereignisraten der Transitionen λ1 = λ5 = 1/2s−1 und λ2 = λ3 = λ4 = 1s−1 aus ΠT Q = 0 .
1 1 1 1 1 1 Π = [π0 π1 π2 . . . π5 ] = 6 6 6 6 6 6 T
.
In jedem Markierungszustand M i sind ml (M i ) Marken im Platz pl . Die mittlere Markenzahl im Platz pl ist ml = E{ml } =
S−1
ml (M i ) · πi .
(7.61)
i=0
Dabei ist S die Zahl aller Markierungszust¨ande. F¨ ur das Beispiel 7.60 erh¨alt man die mittlere Markenzahl in den Pl¨ atzen. 1 1 1 1 1 2 1 Platz p1 : m1 = E{m1 } = 2 · + 1 · + 0 · + 1 · + 0 · + 0 · = , 6 6 6 6 6 6 3 1 1 1 1 1 2 1 Platz p2 : m2 = E{m2 } = 0 · + 1 · + 2 · + 0 · + 0 · + 1 · = , 6 6 6 6 6 6 3 1 1 1 1 1 2 1 Platz p3 : m3 = E{m3 } = 0 · + 0 · + 0 · + 2 · + 1 · + 1 · = , 6 6 6 6 6 6 3 1 1 1 1 1 2 1 Platz p4 : m4 = E{m4 } = 0 · + 0 · + 0 · + 2 · + 1 · + 1 · = . 6 6 6 6 6 6 3 Jede Transition tq schaltet mit einer mittleren Frequenz (Mittelwert der Schaltereignisse pro Zeiteinheit) f q = λq
S−1 i=0
uq (M i ) · πi .
(7.62)
326
7 Petrinetze
Die mittlere Schaltfrequenz f q einer Transition tq wird durch die Ereignisrate λq und den Erwartungswert der Aktivierungsfunktion uq (M i ) bez¨ uglich der Zustandswahrscheinlichkeiten πi bestimmt. Die Aktivierungsfunktion der Transition tq ist uq (M i ) = 1, wenn tq beim Markierungszustand M i aktiviert ist, ansonsten null. F¨ ur die Transition t1 ist die Aktivierungsfunktion z.B. u1 (M 0 ) = 1, u1 (M 1 ) = 1, u1 (M 2 ) = 0, u1 (M 3 ) = 1, u1 (M 4 ) = 0, u1 (M 5 ) = 0. Die mittleren Frequenzen in den Transitionen sind: Transition t1 : f 1 = λ1 (π0 + π1 + π3 ) = Transition t2 : f 2 = λ2 (π1 + π2 + π5 ) = Transition t3 : f 3 = λ3 (π0 + π1 + π3 ) = Transition t4 : f 4 = λ4 (π3 + π4 + π5 ) = Transition t5 : f 5 = λ5 (π0 + π1 + π3 ) =
1 −1 s 4 1 −1 s 2 1 −1 s 2 1 −1 s 2 1 −1 s 4
, , , , .
Bei nicht exponential verteilten stochastischen Verz¨ogerungszeiten der Transitionen kann man einen Ansatz mit eingebetteten Markov-Ketten machen (4.5.1).
7.2.4
Petrinetze mit deterministischen Zeitverz¨ogerungen
Wir betrachten in diesem Abschnitt ausschließlich zeitbewertete Synchronisationsgraphen und vermeiden damit von vornherein Konflikte (siehe Abschnitt 7.1.5). Die Kantengewichte seien alle 1. Es gibt zwei M¨ oglichkeiten der Zeitbewertung. Die Zeitbewertung τ (p, k) gibt f¨ ur einen Platz p die Mindestzeit an, welche die k-te ankommende Marke in diesem Platz verweilen muss, bevor sie den nachfolgenden Transitionen zur Verf¨ ugung steht. Die Zeitbewertung τ (t, k) f¨ ur die Transition t gibt die Zeit zwischen der Aktivierung und dem Schaltvorgang an, der durch die k-te ankommende Marke ausgel¨ ost wird. Die Zeitabh¨ angigkeit kann aus den Transitionen im Nachbereich von p, t ∈ p• eliminiert werden, indem deren Zeitverz¨ ogerungen τ (p•, k) den Pl¨atzen im Vorbereich von t zugeschlagen werden [J¨ ak03]. Nur bei Eingangstransitionen im Vorbereich von p, •p ∈ Tein wird deren Zeitverz¨ ogerung τ (•p, k) dem nachfolgenden Platz p zugeschlagen. τ˜(p, k) =
τ (p, k) + τ (p•, k) + τ (•p, k) τ (p, k) + τ (p•, k)
, p∈P, , p∈P,
•p ∈ Tein •p ∈ Tein
. (7.63)
Die Zeitabh¨ angigkeit der Transitionen kann nun zu Null gesetzt werden, da alle Zeitabh¨ angigkeiten in den Pl¨ atzen enthalten sind. τ˜(t, k) = 0 ,
t∈T .
Daraus resultiert als Zeitbehaftung der Pl¨ atze eine Funktion τ : P × IN → IN.
(7.64)
7.2 Zeitkontinuierliche Petrinetze
327
Das Petrinetz des Synchronisationsgraphen wird im Folgenden mit Hilfe von MaxPlus-Dioiden beschrieben. Dazu wird der Synchronisationsgraph in Eingangs-, Ausgangs- und interne Transitionen zerlegt. Man bezeichnet die Eingangstransitionen als Tein = {u1 , . . . , u|Tein | }, die internen Transitionen als Tint = {x1 , . . . , x|Tint | } und die Ausgangstransitionen als Taus = {y1 , . . . , y|Taus | }. Zur Erstellung einer Zustandsraumdarstellung werden u ¨ ber uj (k) := Zeitpunkt des k-ten Schaltens der Transition uj ∈ Tein
(7.65)
jeder Eingangstransition Schaltzeitpunkte zugewiesen. Analog dazu werden die Schaltzeitpunkte der internen Transitionen xi ∈ Tint bzw. der Ausgangstransitionen yi ∈ Taus u ¨ ber die Funktionen xi (k) bzw. yi (k) beschrieben. Dabei ist k die akkumulierte Zahl der Ereignisse. Es wird also jeder Transition t ∈ T des Synchronisationsgraphen eine Funktion t(k) zugewiesen die ihr zeitliches Verhalten repr¨asentiert. Betrachtet man einen Markierungsvektor M (k), so findet f¨ ur eine interne Transition xi ∈ Tint ein Schaltvorgang statt, wenn jeder Platz im Vorbereich •xi mindestens eine Marke besitzt und die Verweildauer f¨ ur mindestens eine Marke aus jedem Vorplatz •xi abgelaufen ist. Befinden sich in einem Vorplatz p ∈ •xi bereits l Marken mit abgelaufener Verweildauer, so entspricht dies l erf¨ ullten Bedingungen. Der Eintrag der l = 3 l=3
xj
xi
Bild 7.26: Belegung eines Platzes mit l = 3 Marken
Marken aus Bild 7.26 erforderte l = 3 Schaltereignisse von xj , die zeitlich vor dem n¨achsten aktuellen Schaltereignis k liegen. Die Verz¨ogerung zwischen Vorg¨angertransitionen xj , j = i und Folgetransitionen xi ogerung u ¨ ber dazwischenliegende Pl¨atze •xi ∩ xj • ist durch die maximale Verz¨ max{τ (p, k)} in den einzelnen Pl¨atzen gegeben. Im Element aij (k, k − l) wird diese maximale Verz¨ogerung speziell f¨ ur den Fall betrachtet, dass l Marken mit abgelaufener Verweildauer in einem Platz p ∈ •xi ∩ xj • vorhanden sind. aij (k, k − l) = max{τ (p, k) : p ∈ •xi ∩ xj • , mp (k) = l} 2 τ (p, k) . =
(7.66)
p ∈ •xi ∩ xj • mp (k) = l Die Elemente aij (k, k−l) werden in einer Matrix A(k, k−l) zusammengefasst, welche die Dauer der Wege der relativen Indexl¨ange l zum aktuellen Index k zwischen beliebigen Transitionen beschreibt [J¨ak03]. Analog wird die maximale Dauer aller Wege von den Eingangstransitionen uj ∈ Tein zu den internen Transitionen xi ∈ Tint mit den Gr¨ oßen bij (k, k − l), von den internen Transitionen xi ∈ Tint zu den Ausgangstransitionen
328
7 Petrinetze
yi ∈ Taus mit cij (k, k − l) und von den Eingangs- zu den Ausgangstransitionen mit dij (k, k − l) beschrieben. Bezieht man alle Anfangsmarkierungen mp (0) = 0 . . . N mit ein, so folgen mit N = max mp (0) die Systemgleichungen des Synchronisationsgraphen p∈P
x(k) =
N 2
A(k, k − l)x(k − l) ⊕
l=0
y(k) =
N 2
B(k, k − l)u(k − l) ,
(7.67)
D(k, k − l)u(k − l) .
(7.68)
l=0
N 2
C(k, k − l)x(k − l) ⊕
l=0
N 2 l=0
ur das Schalten der internen, EinSie enthalten die Zeitpunkte x(k), u(k) und y(k) f¨ gangs- und Ausgangstransitionen. Nach Satz 6.220 kann Gl. (7.67) x(k) = A(k, k)x(k) ⊕
N 2
A(k, k − l)x(k − l) ⊕
l=1
N 2
B(k, k − l)u(k − l)
l=0
Rest
(7.69)
mit Hilfe des Stern-Operators gel¨ ost werden. Die kleinste L¨osung ist x(k) = A∗ (k, k) ⊕ Rest .
(7.70)
Durch die Definition von ¯ k − l) = A∗ (k, k) ⊗ A(k, k − l) , A(k, ¯ k − l) = A∗ (k, k) ⊗ B(k, k − l) , B(k,
l≥1 l≥0
(7.71) (7.72)
erh¨ alt man nach Satz 6.220 die kleinste L¨osung der Zustandsgleichung x(k) =
N 2 l=1
¯ k − l)x(k − l) ⊕ A(k,
N 2
¯ k − l)u(k − l) . B(k,
(7.73)
l=0
Die aktuellen Schaltzeiten x(k) sind jetzt nur noch von den vergangenen Schaltzeitpunkten der internen Transitionen und den Schaltzeitpunkten der Eingangstransitionen abh¨ angig. Die Zustandsgleichungen sind damit aus Gl. (7.73) in expliziter Form berechenbar. Die kleinste L¨ osung x(k) entspricht den fr¨ uhest m¨oglichen Schaltzeitpunkten der internen Transitionen. Um ein deterministisches Verhalten des Petrinetzes zu garantieren, m¨ ussen die Transitionen schalten, sobald alle Vorbedingungen erf¨ ullt sind. Somit stellt die kleinste L¨ osung der Zustandsgleichung (7.73) gerade die gesuchte L¨osung f¨ ur die Schaltzeitpunkte der internen Transitionen dar. Eine Anwendung findet sich in Abschnitt 9.2.4.
7.2 Zeitkontinuierliche Petrinetze
329
Beispiel 7.74: Petrinetz mit deterministischen Zeitverz¨ ogerungen Gegeben sei der Synchronisationsgraph aus Bild 7.27. Aufgrund der Beschr¨ankung der Anfangsmarkierung auf N = max mp (0) = 1 ergeben sich folgende Systemgleip∈P chungen: ⎞ ⎛ ⎛ ⎛ ⎞ ⎞ ε ε ε ε ε τ5 τ1 x(k) = ⎝ τ3 ε ε ⎠ x(k) ⊕ ⎝ ε ε ε ⎠ x(k − 1) ⊕ ⎝ ε ⎠ u(k) , ε ε ε τ4 τ2 ε ε y(k) =
A(k,k)
A(k,k−1)
B(k,k)
ε τ6 ε x(k) . C(k)
Die Schaltzeitpunkte der Eingangstransition u(k) weisen mit u(k) = τ7 ⊗ u(k − 1) ein zyklisches Verhalten auf. Die kleinste L¨osung der Zustandsgleichung kann mit Hilfe von Gl. (7.73) angegeben werden. ⎞⎛ ⎞⎛ ⎞ ⎛ ⎛ ⎞ e ε ε e ε ε ε ε τ5 τ1 x(k) = ⎝ τ3 e ε ⎠ ⎝ ε ε ε ⎠ x(k − 1) ⊕ ⎝ τ3 e ε ⎠ ⎝ ε ⎠ u(k) , ε ε e τ4 τ2 ε ε ε e ε ⎛
A∗ (k,k)
⎞
A(k,k−1)
⎞
⎛
A∗ (k,k)
B(k,k)
ε ε τ5 τ1 = ⎝ ε ε τ5 τ3 ⎠ x(k − 1) ⊕ ⎝ τ1 τ3 ⎠ u(k) . τ4 τ2 ε ε ¯ A(k,k−1)
¯ B(k,k)
Die aktuellen Schaltzeiten y(k) der Ausgangstransitionen k¨onnen durch Einsetzen der Schaltzeiten x(k) der internen Transitionen berechnet werden. F¨ ur x(k) k¨onnen die vergangenen Schaltzeiten x(k − 1) und u(k) eingesetzt werden. Man erh¨alt y(k) = ε ε τ5 τ3 τ6 x(k − 1) ⊕ τ1 τ3 τ6 u(k) , = τ5 τ3 τ6 x3 (k − 1) ⊕ τ1 τ3 τ6 u(k) .
t3
t7 u
t1
x2
t2
x1
t4 t5 Bild 7.27: Synchronisationsgraph
x3
t6
y
330
7 Petrinetze x2 t2
t5t3 t5 x1
x3
t4
¯ k − 1)) der Matrix A(k, ¯ k − 1) Bild 7.28: Graph G(A(k,
¯ k − 1)) der Matrix A(k, ¯ k − 1) in Bild 7.28 sind x1 , x2 und x3 Im Graphen G(A(k, die internen Transitionen und τi die Verz¨ogerungen der Pl¨atze. Man erkennt, dass der Graph die Zyklizit¨ at γ = 2 besitzt. F¨ ur den Synchronisationsgraphen aus Bild 7.27 sollen nun die Werte τ1 = 1, τ2 = 2, τ3 = 3, τ4 = 4, τ5 = 2, τ6 = 1 und τ7 = 3 gelten. F¨ ur das System ergeben sich die folgenden Gleichungen ⎞ ⎛ ⎛ ⎞ ε ε 2 1 x(k) = ⎝ ε ε 5 ⎠ x(k − 1) ⊕ ⎝ 4 ⎠ u(k) 4 2 ε ε und y(k) = 6 x3 (k − 1) ⊕ 5 u(k) .
30
30
20
20
y(k)
u(k)
¨ Uber den ersten Schaltzeitpunkt der Eingangstransition u(1) = 1 und der folgenden Schaltsequenz u(k) = 3 ⊗ u(k − 1) f¨ ur k > 1 l¨asst sich zusammen mit einem Anfangsvektor x(0) = e das Systemverhalten iterativ berechnen. In Bild 7.29 sind die Schaltzeitpunkte der Eingangstransition u(k) und der Ausgangstransition y(k) und die Schaltzeitdifferenzen Δu(k) = u(k) − u(k − 1) bzw. Δy(k) = y(k) − y(k − 1) ¯ k −1)) auch aufgezeichnet. Man erkennt, dass sich die Zyklizit¨at des Graphen G(A(k, im zeitlichen Verhalten des Systems wiederspiegelt.
10 0
0
2
k
6
2 0
2
4
0
2
4
6
8
0
2
4
6
8
6
4
0
0
8
Dy(k)
Du(k)
6
4
10
6
8
k
4 2 0
k k Bild 7.29: Ein-/Ausgangsverhalten des Synchronisationsgraphen
7.2 Zeitkontinuierliche Petrinetze
331
In den Schleifen des Synchronisationsgraphen bleibt die Summe der Marken in den Pl¨ atzen jeder Schleife konstant. Die maximale Anfangsmarkierung in mindestens einem der Pl¨ atze ist N . Da ein Platz nur eine einzige Folgetransition besitzt, m¨ ussen maximal N vergangene Schaltzeitpunkte der entsprechenden Vorg¨angertransition betrachtet werden. Diese Abh¨ angigkeit von N Vorereignissen soll im Folgenden mit Hilfe von Zwischengr¨ oßen eliminiert werden. Definiert man die Vektoren ⎛ x(k) x(k − 1) ⎜ x˜ = ⎜ . ⎝ ..
⎞ ⎟ ⎟, ⎠
⎛
⎞ u(k) ⎜ u(k − 1) ⎟ ⎟, u ˜=⎜ .. ⎝ ⎠ .
x(k − N )
y˜(k) = y(k) ,
(7.75)
u(k − N )
die Systemmatrix ⎛
¯ k − 2) ¯ k − 1) A(k, ε A(k, e ε ⎜ε ⎜ε ε e ˜ ⎜ A(k) = ⎜ .. .. ⎝ ... . . ε ... ε die Steuermatrix
⎛
¯ k) B(k, ¯ k − 1) B(k, ⎜ ε ε ⎜ ˜ B(k) =⎜ .. .. ⎝ . . ε
ε
¯ k − N) ⎞ . . . A(k, ... ε ⎟ ⎟ ... ε ⎟ , ⎟ .. .. ⎠ . . ε e
⎞ ¯ k − N) . . . B(k, ⎟ ... ε ⎟ ⎟ , .. .. ⎠ . . ...
(7.76)
(7.77)
ε
die Beobachtungsmatrix ˜ C(k) = (C(k, k), . . . , C(k, k − N ))
(7.78)
und die Durchschaltmatrix ˜ D(k) = (D(k, k), . . . , D(k, k − N )) ,
(7.79)
so erh¨ alt man die Zustandsraumdarstellung in der Form ˜ x(k − 1) ⊕ B(k)˜ ˜ u(k) x˜(k) = A(k)˜ ˜ x(k) ⊕ D(k)˜ ˜ u(k) y˜(k) = C(k)˜
(7.80)
f¨ ur einen Synchronisationsgraphen. Ohne direkte Durchschaltung von einer Eingangstransition zu einer Ausgangstransition vereinfacht sich die Gleichung zu ˜ x(k − 1) ⊕ B(k)˜ ˜ u(k) x˜(k) = A(k)˜ ˜ x(k) . y˜(k) = C(k)˜
(7.81)
332
7 Petrinetze
In zeitinvarianten Systemen sind die Schaltverz¨ogerungen τ und somit auch die Matrizen ˜ B, ˜ C˜ unabh¨ A, angig vom Schaltindex k. Die Zustandsraumdarstellung lautet in diesem Fall: ˜x(k − 1) ⊕ B ˜u x˜(k) = A˜ ˜(k) ˜ (7.82) y˜(k) = C x˜(k) .
7.3
Gef¨arbte Petrinetze (coloured PN, CPN)
H¨ aufig besteht ein Petrinetz aus mehreren in ihrer Struktur identischen Teilen. Solch ein System l¨ asst sich durch identische Teilnetze modellieren, wobei gleiche Teilnetze mehrmals implementiert sind. Bei zu h¨ aufiger Strukturwiederholung wird das PetrinetzModell allerdings un¨ ubersichtlich. Beispiel 7.83: Ein-Server-N-Kunden-System Das Netz in Bild 7.30 stellt die Steuerung f¨ ur den Zugriff von N Kunden auf einen Server dar. Wenn der Server frei ist, sei der Platz p0 markiert. Die Zugriffsberechtigung (Token) muss vom Kunden zur Belegung abgeholt werden. Die Markierung des Platzes p1i bedeutet, dass der Kunde i nicht zugreifen will. Die Transition t1i schaltet nach einer Verz¨ ogerungszeit τi (Zugriffswiederholzeit auf den Server). Die Markierung des Platzes p2i bedeutet, dass der Kunde i zugreifen will. Die Transition t2i schaltet, wenn p2i und p0 markiert sind, d.h. wenn der Zugriffswunsch besteht und der Server frei ist. Die Markierung des Platzes p3i bedeutet, dass der Kunde i vom Server bedient wird. Die Transition t3i schaltet nach Ablauf der Servicezeit τs .
Bild 7.30: Zugriff von N Kunden auf einen Server
7.3 Gef¨ arbte Petrinetze (coloured PN, CPN)
333
Eine Vereinfachung solcher N -fach wiederholter Strukturen ist durch die Einf¨ uhrung von gef¨ arbten Marken erreichbar: gef¨ arbtes Petrinetz“. In einem gef¨arbten Petrinetz werden ” den Pl¨ atzen, Transitionen, Marken und Kapazit¨aten Farben zugeordnet. Wird die Farbe durch die Kantenfunktion ge¨ andert, so kann man damit das Schalten einer Transition nachbilden, bei der die Marke aus einer der parallelen, gleichartigen Strukturen in eine Nachbarstruktur u ¨ berwechselt.
7.3.1
Aktivierungs- und Schaltregeln
Ein gef¨ arbter Platz pi ∈ P hat den Markierungsvektor mi (r) = [mi1 (r), mi2 (r), . . . , mis (r), . . . , miq (r)]
T
,
(7.84)
wobei mis (r) die Anzahl der Marken der Farbe < s > zum diskreten Zeitpunkt r im Platz i angibt. Im gef¨ arbten Petrinetz gibt es s = 1, ..., q verschiedene Farben. Das Ein-Server-N-Kunden-System h¨ atte z.B. q = N verschiedene Farben. Die Kapazit¨at des Platzes pi ∈ P wird durch den gef¨ arbten Kapazit¨atsvektor k i = [ki1 , . . . , kis , . . . , kiq ]T
(7.85)
angegeben. F¨ ur jede Farbe < s > gibt es im Platz i eine maximale Markenkapazit¨at kis . Es gilt die Beschr¨ ankung mi (r) ≤ k i bez. ∀s : mis (r) ≤ kis .
(7.86)
Falls ein Platz pi ∈ P Marken bestimmter, im sonstigen Petrinetz vorkommender Farben < s >, nicht enthalten soll, so ist die entsprechende Kapazit¨at kis auf Null zu setzen. Die gef¨ arbten Kanten verbinden Pl¨ atze pi und Transitionen tj f¨ ur mehrere Farben. Dabei findet gleichzeitig eine Abbildung der Farben statt. Die Abbildung auf die Farbe < s > im Platz pi l¨ asst sich als Linearkombination aller Farben < v > an der Transition tj darstellen. q
wijsv .
(7.87)
v=1
Das Kantengewicht ist um die beiden Farbdimensionen erweitert. Anstelle des skalaren − Vorkantengewichts wij erh¨ alt man eine Vorkantengewichtsmatrix. ⎡
W− ij
v=1
− s = 1 wij11 ⎢ .. = ⎣ . s = q w− ijq1
v=q − ⎤ · · · wij1q v=1 v=q .. ⎥ = w − · · · w− . .. ⎦ . ij1 ijq . − · · · wijqq
(7.88)
Beim Schalten der Transition tj mit nur der Farbe < v > wird dem Markierungsvektor im Vorplatz pi f¨ ur alle Farben < s > ein Gewichtsvektor w − ijv entzogen. mi (r) = mi (r − 1) − w − ijv .
(7.89)
334
7 Petrinetze
Mit s=1
− w− ijv = wij1v
s=q
...
− wijqv
T
erh¨ alt man ⎤ ⎡ ⎤ ⎡ w− ⎤ mi1 (r − 1) mi1 (r) ij1v − ⎥ wij2v ⎢ mi2 (r) ⎥ ⎢ mi2 (r − 1) ⎥ ⎢ ⎢ ⎥ ⎢ ⎢ ⎥ ⎥ . = − ⎢ . . . ⎣ ⎦ ⎣ . ⎥ .. ⎦ ⎣ .. . ⎦ − miq (r) miq (r − 1) wijqv ⎡
(7.90)
Falls die Transition tj nicht f¨ ur die Farbe < v > schaltet, ist der entsprechende Gewichtsvektor w− ur die Farbabbildungsfunktion der Nachkante ijv null. Entsprechend gibt es f¨ eine Nachkantengewichtsmatrix ⎡
W+ ij
v=1
+ s = 1 wij11 ⎢ .. = ⎣ . s = q w+ ijq1
v=q ⎤ + · · · wij1q v=1 v=q .. ⎥ = w + · · · w+ . .. ⎦ . ij1 ijq . + · · · wijqq
(7.91)
Beim Schalten der Transition tj mit nur der Farbe < v > wird dem Markierungsvektor im Nachplatz pi f¨ ur alle Farben < s > ein Gewichtsvektor w + ijv hinzuaddiert. mi (r) = mi (r − 1) + w + ijv ,
(7.92)
mit s=1
+ w+ ijv = wij1v
s=q
...
+ wijqv
T
.
(7.93)
ur die Farbe < v > schaltet, ist der entsprechende GeFalls die Transition tj nicht f¨ wichtsvektor w + ijv null. Die Vor- und Nachkantenfunktionen sollen am Schalten einer gef¨ arbten Transition (Bild 7.31) erl¨ autert werden. Es sind drei Farben vorhanden. Die Gewichtsmatrizen sind:
W− ij =
⎡ v=1 0 s=1 s=2 ⎣ 1 2 s=3
W+ (i+1)j =
v=2
1 1 0
⎡ v=1 1 s=1 s=2 ⎣ 0 0 s=3
v=3 ⎤
1 0 ⎦ Vorkantengewichtsmatrix 2
v=2
1 0 1
(7.94)
v=3 ⎤
0 0 ⎦ Nachkantengewichtsmatrix 2
(7.95)
Beim Schalten der Transition tj mit der Farbe v = 2 werden dem Vorplatz pi entsprechend dem zweiten Spaltenvektor (v = 2) in der Vorkantengewichtsmatrix W − ij
7.3 Gef¨ arbte Petrinetze (coloured PN, CPN)
w
335
w
a) Vor dem Schalten
w
w
b) Nach dem Schalten von tj mit der Farbe Bild 7.31: Markierungszust¨ ande beim Schalten einer gef¨ arbten Transition − 1. eine Marke der Farbe s = 1(wij12 = 1) − = 1) 2. eine Marke der Farbe s = 2(wij22 − = 0) 3. keine Marke der Farbe s = 3(wij32
entzogen. Im Nachplatz pi+1 werden entsprechend dem zweiten Spaltenvektor (v = 2) in der Nachkantengewichtsmatrix W + (i+1)j + 1. eine Marke der Farbe s = 1(w(i+1)j12 = 1) + 2. keine Marke der Farbe s = 2(w(i+1)j22 = 0) + 3. eine Marke der Farbe s = 3(w(i+1)j32 = 1)
eingetragen. F¨ ur die Aktivierung einer gef¨ arbten Transition tj mit der Farbe < v > sind wie bei ungef¨ arbten Petrinetzen zwei Bedingungen zu erf¨ ullen. In den Vorpl¨atzen pi m¨ ussen gen¨ ugend Marken vorhanden sein, deren Anzahl f¨ ur jede Farbe < v > durch den v-ten − Spaltenvektor w − ijv in der Vorkantengewichtsmatrix W ij gegeben ist. I.
∀pi ∈ •tj : mi (r − 1) ≥ w− ijv = 0 .
(7.96)
ur jede Farbe < v > gen¨ ugend Kapazit¨at vorhanden sein, In den Nachpl¨ atzen pi muss f¨ um die hochgerechnete Markenzahl nach dem Schalten aufnehmen zu k¨onnen. II.
+ ∀pi ∈ tj • : mi (r − 1) ≤ k i − w− ijv + wijv .
(7.97)
336
7 Petrinetze
Die Transition tj ist f¨ ur die Farbe < v > aktiviert, wenn beide Bedingungen erf¨ ullt sind. Die Aktivierungsfunktion ist ur < v > 1 tj aktiviert f¨ (7.98) ujv (r) = 0 sonst . F¨ ur alle Farben erh¨ alt man den Aktivierungsvektor der Transition tj uj (r) = [uj1 (r), . . . , ujv (r), . . . , ujq (r)]
T
.
(7.99)
Bei Ausschluss von Konflikten unter den Farben schaltet die Transition tj , wobei die Markierung des Platzes pi + mi (r) = mi (r − 1) − W − ij uj (r) + W ij uj (r)
(7.100)
wird. Eine Zusammenfassung der Markenvektoren in pi zu einer Markierungsmatrix f¨ ur das Petrinetz und der Aktivierungsvektoren zu einer Schaltmatrix w¨ urde zu schwer handhabbaren vierdimensionalen Kantenmatrizen W − und W + f¨ uhren. Deshalb behandeln wir Pl¨ atze und Transitionen einzeln.
7.3.2
Konflikte in gefa¨rbten Petrinetzen
Zus¨ atzlich zu den Vorw¨ arts- und R¨ uckw¨ artskonflikten in Abschnitt 7.1.4 treten in gef¨ arbten Petrinetzen evtl. weitere Konflikte zwischen den Farben auf. Dies liegt daran, dass Pl¨ atze und Transitionen in gef¨ arbten Petrinetzen die Zusammenfassung ungef¨arbter Pl¨ atze und Transitionen sind. Vorw¨ artskonflikt: Beim gleichzeitigen Schalten der Transition tj f¨ ur mehrere Farben < v > reicht die Kapazit¨ at im Nachplatz pi+1 evtl. nicht aus, da die Aktivierungsbedingungen einzeln f¨ ur jede Farbe < v > gepr¨ uft wurden. In der Summe werden evtl. mehr Marken eingetragen. Sollen im Bild 7.31 alle Farben < v > in tj schalten, ohne R¨ ucksicht auf die Aktivierungen, so besteht ein Vorw¨ artskonflikt (Bild 7.32). Die Nachkantengewichtsmatrix ist
W+ (i+1)j =
⎡ v=1 1 s=1 s=2 ⎣ 0 0 s=3
v=2
1 0 1
v=3 ⎤
0 0 ⎦ 2
(7.101)
und der Aktivierungsvektor wird in Abweichung zu Bild 7.31 hier als uj (r) = [1 1 1]T angenommen. Die kapazit¨ atsunbeschr¨ ankte Markenzahl in pi+1 ist nach dem Schalten m∗i+1 (r) = mi+1 (r − 1) + W + (i+1)j uj (r) > k (i+1) gr¨ oßer als die Kapazit¨ at.
(7.102)
7.3 Gef¨ arbte Petrinetze (coloured PN, CPN)
w
337
w
a) Vor dem Schalten von tj
a) Vor dem Schalten von tj
w
w
b) Kapazit¨ ats¨ uberschreitung in pi+1 nach dem Schalten von tj f¨ ur alle Farben
b) Markenunterschreitung nach dem Schalten von tj f¨ ur alle Farben
Bild 7.32: Vorw¨ artskonflikt in einem gef¨ arbten Petrinetz
Bild 7.33: R¨ uckw¨ artskonflikt in einem gef¨ arbten Petrinetz
R¨ uckw¨ artskonflikt: ur die Farbe In Bild 7.31 werden die Aktivierungsbedingungen der Transition tj nur f¨ v = 2 erf¨ ullt. Um ein Schalten der Transition tj mit allen Farben < v > zu erreichen und um damit den R¨ uckw¨ artskonflikt zu demonstrieren, wird die Vorkantengewichtsmatrix W− ij
W− ij =
⎡ v=1 0 s=1 s=2 ⎣ 1 1 s=3
v=2
1 1 0
v=3 ⎤
1 0 ⎦ 1
(7.103)
so ver¨ andert, dass tj f¨ ur alle Farben aktiviert wird. Dazu werden die Aktivierungsbedingungen f¨ ur jede Farbe < v > einzeln gepr¨ uft. Beim gleichzeitigen Schalten der Transition tj f¨ ur alle Farben < v > entsteht ein R¨ uckw¨artskonflikt (Bild 7.33). Die Markenzahl im Vorplatz pi mi (r − 1) < W − ij uj (r)
(7.104)
ur die ist f¨ ur die Farbe s = 3 nicht ausreichend zum gleichzeitigen Schalten von tj f¨ Farben v = 1 und v = 3. Die Konkurrenzen und Konflikte aus Abschnitt 7.1.4 bestehen daneben auch in gef¨ arbten Petrinetzen.
338
7.3.3
7 Petrinetze
Identische Funktion und Entf¨arbungsfunktion
Ein Sonderfall der Farbenabbildung an den Kanten ist die identische Funktion Id (identical function). Farben < v > an den Transitionen tj ∈ T werden nur in identische Farben < s >=< v > der Marken in den Pl¨atzen abgebildet. Die Kantengewichtsma+ trizen W − ij und W ij sind dann Diagonalmatrizen. ⎡ W− ij
⎢ ⎢ =⎢ ⎣
− wij11
0
− wij22
.. 0
.
⎤ ⎥ ⎥ ⎥. ⎦
(7.105)
− wijqq
An solchen Kanten treten keine zus¨ atzlichen Konflikte zwischen den gef¨arbten Marken wie in Abschnitt 7.3.2 auf. Ein Beispiel dazu zeigt Bild 7.34. In gef¨ arbten Petrinetzen erh¨ alt man mit der identischen Kantenfunktion die Eigenschaften eines Zustandsgraphen (Abschnitt 7.1.5). In den Anwendungen wird zumeist die Bezeichnung Id“ weggelassen, wenn eine Kante eine identische Funktion besitzt. ” + Dies gilt insbesondere dann, wenn die Elemente der Diagonalmatrizen W − ij und W ij gleich sind. Ein anderer wichtiger Sonderfall der Farbenabbildung an den Kanten ist die so genannte Entf¨ arbungsfunktion Dis (Discoloring function). Die Nachkantengewichtungsmatrix
¨ Bild 7.34: Aquivalente Darstellung gleichartiger paralleler Prozesse mit klassischem Petrinetz und mit farbigem Petrinetz identischer Kantenfunktionen
¨ Bild 7.35: Aquivalente Darstellung zusammenlaufender paralleler Prozesse durch CPN mit Entf¨ arbungsfunktion
7.3 Gef¨ arbte Petrinetze (coloured PN, CPN)
339
W+ ur in einen Nachkantengewichtungsvektor ij geht daf¨ v=1
+ W+ ijDis = wij1
v=q
...
+ wijq
T
(7.106)
u arbungsfunktion ist bei Anwendungen n¨ utzlich, in denen man von paral¨ ber. Die Entf¨ lelen Strukturen auf eine gemeinsame Struktur u ¨ bergeht (Bild 7.35). Beispiel 7.107: Darstellung des Ein-Server-N-Kunden-Systems als gef¨ arbtes Petrinetz Das im Beispiel 7.83 vorgestellte Ein-Server-N-Kunden-System mit parallelen Strukturen wird durch CPN zusammengefasst, wie das im Bild 7.36 gezeigt wird. Die Transitionen tj schalten f¨ ur alle Farben, allerdings mit farbabh¨angiger Verz¨ogerung τiv . Eine farbige Marke in p2 aktiviert zusammen mit der farblosen Marke • in p4 die Transition t2 , die sofort schaltet. Die farbige Marke belegt w¨ahrend der Servicezeit τ3 den Platz p3 . Durch entsprechende Kantenfunktionen l¨asst die Nachkante t3 → p1 nur die Farben v = 1, ..., q durch, und die Nachkante t3 → p4 nur die farblose Marke •. Der Platz p0 in Bild 7.30 hat eine Kapazit¨at von 1, da nur jeweils ein Kunde auf den Bus zugreifen kann. Diese Beschr¨ ankung kann in CPN auf unterschiedliche Weise ber¨ ucksichtigt werden, entweder durch den Platz p4 in Bild 7.36.a oder durch die Beschr¨ ankung der Summenkapazit¨ at f¨ ur Marken aller Farben im Platz p3 in Bild 7.36.b. > 2 + k2 + · · · + k2 ≤ 1 |k 3 | = k31 32 3q Die Struktur dieses Modells braucht nicht erweitert werden, wenn neue Kunden (user) eingesetzt werden. In diesem Fall braucht man nur neue gef¨arbte Marken einzusetzen.
a) ResourcenBeschr¨ ankung durch den zus¨ atzlichen Platz p4 Bild 7.36: CPN-Modell des Ein-Server-N-Kunden-Systems
b) ResourcenBeschr¨ankung durch Einf¨ uhren einer Summenkapazit¨at |k 3 | = 1 in p3
340
7.4
7 Petrinetze
Hierarchische Petrinetze
In den obigen Petrinetz-Modellen wurden die Systeme in einer Ebene (level) modelliert. Das bringt folgende Nachteile mit sich [HJS90]: ¨ 1. Es fehlt die Gesamt-Ubersicht. Das Modell muss viele detaillierte Informationen anbieten. Dadurch wird es sehr kompliziert. F¨ ur das Verst¨andnis braucht man oft eine Vergr¨ oberung oder Abstraktion der Informationen. Zum Beispiel interessiert man sich nur f¨ ur die mittlere Belastung in einem Bereich (Markenzahl), nicht aber an einer Stelle. 2. In Gesamtmodellen existieren zu wenig detaillierte Informationen. Manchmal braucht man detaillierte Informationen in einem Bereich. Modelle gleichen Detaillierungsgrades erschweren die Datenverarbeitung. Die L¨ osung ist, ein System in mehreren hierarchischen Ebenen zu modellieren. Aus Anwendungssicht k¨ onnen die Informationen in einer beliebigen Detaillierungsebene bearbeitet werden, je nachdem welcher Detaillierungsgrad gefordert wird. Petrinetze mit solcher Struktur heißen Hierarchische Petrinetze“. ”
7.4.1
Hierarchische Struktur
Die hierarchische Struktur wird in Petrinetzen durch Verfeinerung“ (decomposition) ” und Vergr¨ oberung“ (composition) der Netzknoten erreicht. Die zentralen Grundele” mente in der hierarchischen Struktur sind der Vaterknoten ( super node“) und die Un” ternetze ( subpage“) [Fehl,92] (Deutsch) [HJS90](Englisch). ” Wenn ein Knoten durch ein Teilnetz verfeinert wird, heißt der Knoten Vaterknoten und das Teilnetz Unternetz. Dabei ist der Vaterknoten die Vergr¨oberung oder Abstraktion des Unternetzes und das Unternetz die Verfeinerung des Vaterknotens. Bild 7.37 zeigt den Prozess. Die Unternetze besitzen Relationen (Kanten) mit anderen Teilnetzen (Umgebung). Es sind keine isolierten Netze. Ein Knoten in einem Unternetz, der solche Kanten besitzt, heißt Grenzknoten. Die Gesamtheit der Grenzknoten heißt Rand des Unternetzes.
Bild 7.37: Hierarchische Struktur in Petrinetzen
7.4 Hierarchische Petrinetze
341
Eigenschaften hierarchischer Petrinetze 1. Der Rand des Unternetzes besteht aus gleichartigen Grenzknoten (entweder nur Pl¨ atze oder nur Transitionen); 2. Der Rand des Unternetzes ist identisch mit dem Vaterknoten (Pl¨atze oder Transitionen). 3. Alle Relationen (Kanten), die den Vaterknoten mit der Umgebung verbinden, m¨ ussen vom Rand des Unternetzes u ¨ bernommen werden.
Bild 7.38: Rand eines Unternetzes
In Petrinetzen existieren zwei Arten von Knoten: Pl¨atze und Transitionen. Die R¨ander des Unternetzes m¨ ussen Transitionen sein, wenn der Vaterknoten eine Transition ist. Das Entsprechende gilt f¨ ur Pl¨ atze. Bei der schrittweisen Verfeinerung k¨onnen mehrere R¨ ander erzeugt werden. Dabei muss die Kantenzahl zwischen dem Unternetz und der Umgebung nicht identisch mit der Kantenzahl zwischen dem Vaterknoten und der Umgebung sein. Wir werden das im Folgenden n¨aher erkl¨aren.
7.4.2
Verfeinerung einer Transition
Nach den Regeln f¨ ur hierarchische Petrinetze kann man eine Transition durch ein Unternetz ersetzen. Wir zeigten dies durch ein einfaches Beispiel in Bild 7.39, wo der Sender t1 und der Empf¨ anger t2 verfeinert werden. ¨ Die Struktur in Ebene 1 bietet eine gute Ubersicht u ¨ ber einen Kommunikationsprozess. Durch die Verfeinerungen der Transitionen t1 und t2 erh¨alt man die Ebene 2, die detailliertere Informationen u ¨ ber den Sender und den Empf¨anger enth¨alt. Die Struktur in der Ebene 2 ist genau das Beispiel 7.1 f¨ ur den synchronisierten Nachrichtenaustausch. Die Marken in p11 , p12 , p21 und p22 sind in der Hierarchieebene 1 nicht vollst¨andig darstellbar: Nachteil der Verfeinerung von Transitionen.
342
7 Petrinetze
Bild 7.39: Verfeinerung der Transitionen t1 und t2
7.4.3
Verfeinerung eines Platzes
Ein Platz l¨ asst sich entsprechend in ein Unternetz verfeinern. Wir zeigen das durch das Beispiel in Bild 7.40. In der Ebene 1 wird ein Eisenbahnnetz mit mehreren Bahnh¨ ofen gezeigt. Der Bahnhof 2 (Platz p2 ) l¨asst sich durch ein Unternetz ersetzen. Die Netzelemente im Unternetz haben folgende Bedeutungen: p21 , p20 p23 , p28 p22 , p25 , p27 , p29 p24 , p26 t21 , t23 , t26 , t28 , t20 t22 , t24 , t25 , t27 , t29
Belegung f¨ ur Z¨ uge in beiden Richtungen Zugeing¨ ange aus beiden Richtungen Haltegleise Zugausg¨ ange in beiden Richtungen Einfahrt in ein Haltegleis Ausfahrt aus einem Haltegleis.
¨ Den Uberblick u ¨ ber die Zuganzahl im Bahnhof kann man am einfachsten in der Ebene 1 gewinnen. Die Zahl der gef¨ arbten Marken im Platz Bahnhof 2“ ist gleich der Summe ” der ungef¨ arbten Marken in p21 und p20 . Das Beispiel zeigt uns auch, dass die Kantenzahl zwischen dem Vaterknoten und der Umgebung nicht unbedingt gleich der Kantenzahl zwischen dem Unternetz und der Umgebung zu sein braucht. Beispielsweise wird die Kante in Ebene 1 (t1 , Bahnhof 2) durch zwei Kanten (t1 , p21 ) und (t1 , , p23 ) in Ebene 2 ersetzt. Bild 7.40 ist ein Beispiel mit nur zwei Ebenen. Hierarchische Strukturen k¨onnen wesentlich mehr Ebenen (oder Schichten) haben, d.h. jeder Knoten im Unternetz kann wieder ein Unternetz besitzen. Die Vergr¨ oberung ist der umgekehrte Prozess zur Verfeinerung. Alle Relationen zwischen dem Unternetz und der Umgebung werden vom Vaterknoten u ¨ bernommen.
7.4 Hierarchische Petrinetze
343
Bild 7.40: Verfeinerung eines Platzes Bahnhof“ ”
Nach [Ho89b] ist das hierarchische Petrinetz ein geeignetes hierarchisches Modell, das die F¨ ahigkeit besitzt, in den verschiedenen Ebenen mit denselben Strukturen zu operieren oder zu steuern, ohne neue Elemente in jeder Ebene definieren zu m¨ ussen.
7.4.4
Zeitbewertung in der hierarchischen Struktur
Vom Prinzip k¨ onnen wir jede Art von Zeitbewertungen aus Abschnitt 7.2 anwenden. Die Zeitelemente d¨ urfen in jeder hierarchischen Ebene auftreten. Eine g¨ unstige Darstellung erleichtert die Bearbeitung der Netze. Im Abschnitt 7.2 haben wir die zeitlichen Elemente ausf¨ uhrlich diskutiert. Drei davon scheinen in der hierarchischen Struktur n¨ utzlich zu sein. Im Einzelnen sind dies: 1. Zeitbewertete Pl¨ atze, 2. Verz¨ ogerte Transitionen Typ-I 3. Verz¨ ogerte Transitionen Typ-II.
344
7 Petrinetze
Zeitbewertete Pl¨ atze Die Zeitbewertung von Pl¨ atzen ist in der hierarchischen Struktur besonders vorteilhaft. Die Verweilzeiten der Marken in den Pl¨ atzen werden durch Unternetze ermittelt, falls diese existieren. Bild 7.41 zeigt ein Beispiel.
Bild 7.41: Hierarchische Verfeinerung zeitbewerteter Pl¨ atze
Die Pl¨ atze in der Ebene 1 sind zeitbewertet und werden durch doppelte Kreise gekennzeichnet. Die Marke in p1 ist verf¨ ugbar (massiver Punkt). Die Marke in p2 ist nicht verf¨ ugbar, weil das Werkst¨ uck gerade bearbeitet wird (leerer Punkt). Die Transition t2 ist im Beispiel aktiviert, t3 dagegen nicht. Das Prinzip ist das gleiche wie bei den zeitbewerteten Pl¨ atzen in Abschnitt 7.2.1. Offensichtlich ist die Zeitbewertung von Pl¨atzen f¨ ur die Beschreibung in h¨ oheren Hierarchieebenen gut geeignet. Verz¨ ogerte Transitionen von Typ-I W¨ ahrend der Verz¨ ogerung werden die Marken aus den Vorpl¨atzen der Transition ent” fernt“. Die Transition l¨ asst sich verfeinern. Das Problem dabei ist das gleiche wie in Abschnitt 7.2.2. Der Markierungszustand ist wegen der Markenentfernung“ nicht kon” tinuierlich beobachtbar. Im Gegensatz zu Abschnitt 7.2.2 braucht man hier keine zus¨ atzlichen Maßnahmen zum Abspeichern der Marken, die in den Transitionen (Typ-I) verschwunden sind, da die Unternetze die Situation zeigen. Bild 7.42 gibt daf¨ ur ein Beispiel. Der modellierte Prozess ist der gleiche wie der in Bild 7.41. Die Bearbeitungsdauern in den Maschinen werden jetzt aber durch die Verz¨ogerungen der Transitionen repr¨asentiert (Typ-I). Ein Werkst¨ uck wird gerade in der Maschine 2 bearbeitet. Dies ist in der Hierarchieebene 1 aber nicht erkennbar, sondern nur in der Verfeinerung in der Hierarchieebene 2.
7.4 Hierarchische Petrinetze
345
Bild 7.42: Verz¨ ogerte Transitionen Typ-I in der oberen Ebene
Verz¨ ogerte Transitionen vom Typ-II W¨ ahrend der Verz¨ ogerung bleiben die Marken in den Vorpl¨atzen der Transitionen. Die ¨ Marken sind w¨ ahrend der Ubergangsprozesse oder der Verz¨ogerungen in jeder Hierarchieebene beobachtbar. Bild 7.43 zeigt das gleiche Beispiel, aber mit Transitionen vom Typ-II in der oberen Ebene. Das Problem ist, dass die Markierungsdarstellung in den Vaterknoten nicht die gleiche ist wie in den Unternetzen. In diesem Beispiel ist p2 in der Ebene 1 markiert, w¨ah-
Bild 7.43: Verz¨ ogerte Transitionen Typ-II in der hohen Ebene
346
7 Petrinetze
rend derselbe Platz p2 in der Ebene 2 leer ist. Eigentlich entspricht die Marke in p2 der Ebene 1 w¨ ahrend der Zeitverz¨ ogerung der Marke p21 in der Ebene 2, da t21 ohne Zeitverz¨ ogerung schaltet. Diese Darstellung erfordert eine zus¨atzliche Verwaltung, was nachteilig ist. Aus den obigen Beispielen ist ersichtlich, dass die Zeitbewertung von Pl¨atzen f¨ ur die hierarchische Beschreibung in der oberen Ebene am besten geeignet ist. Dagegen sind verz¨ ogerte Transitionen f¨ ur die Beschreibung in den oberen Ebenen weniger geeignet. F¨ ur die Beschreibung in den untersten Ebenen ist die Zeitbewertung von Pl¨atzen und die von verz¨ ogerten Transitionen vom Typ-II n¨ utzlich.
7.5
Petrinetz-Steuerungen
7.5.1
Synchronisierte Petrinetze
Die Transitionen, die wir in Abschnitt 7.1 und 7.2 definiert haben, beschreiben eine Art von Ereignissen, die zur Markierungs¨anderung in den Pl¨atzen f¨ uhren. Man nennt solche Ereignisse interne Ereignisse. Daneben werden externe Ereignisse als Ereignisse ¨ definiert, die Anderungen der a ¨ußeren Welt entsprechen [DA92]. In synchronisierten Petrinetzen wird das Schalten der Transitionen mit externen Ereignissen synchronisiert, d.h. das Schalten der Transitionen ist außer von ihrer Aktivierung auch noch von zus¨ atzlichen ¨ außeren Ereignissen abh¨ angig. Solche Petrinetze werden auch SteuerungsPetrinetze genannt. Eine synchronisierte Transition schaltet, wenn sie aktiviert wurde und das externe Ereignis auftritt. Externe Ereignisse sollen gem¨ aß Abschnitt 1.1 niemals gleichzeitig auftreten k¨onnen. Notfalls muss die Zeitaufl¨ osung verfeinert werden. Damit gibt es per Definition keine Konflikte zwischen mehreren synchronisierten Transitionen [DA92]. Der Unterschied zu klassischen Petrinetzen ist, dass eine weitere Bedingung externes ” Ereignis“ zwischen Aktivierung und Schalten tritt. Bild 7.44 zeigt ein Beispiel. Wir kennzeichnen eine synchronisierte Transition mit einem zus¨atzlichen Pfeil, um die Auswirkung des externen Ereignisses darzustellen. Wenn der Platz p1 markiert ist, dann
Bild 7.44: Schalten einer synchronisierten Transition
7.5 Petrinetz-Steuerungen
347
Bild 7.45: Schalten synchronisierter Transitionen
ist die Transition aktiviert. Die Transition kann aber erst schalten, wenn das Ereignis E eingetreten ist. Da es hier keine Konflikte bez¨ uglich der externen Ereignisse geben soll, schaltet die aktivierte Transition sofort. Mit dieser Darstellung lassen sich viele Steuerungsprozesse modellieren. Z.B. ist ein Auto an einer Kreuzung angekommen (Aktivierung) und wartet auf das Ereignis: Ampel Gr¨ un. Wenn die Ampel auf Gr¨ un umgeschaltet hat (externes Ereignis), setzt sich das Auto in Bewegung. Nicht alle externen Ereignisse f¨ uhren sofort zum Schalten der Transitionen und damit zur Markierungs¨ anderung. Wenn die Transitionen nicht aktiviert sind, dann bewirkt ein externes Ereignis nichts. Bild 7.45 zeigt diese Situation. Bei der Markierung [1 0] tritt zuerst das Ereignis E2 auf. Die Transition t2 ist bei dieser Markierung nicht aktiviert. Das Ereignis E2 hat deshalb bei der Markierung [1 0] keine Auswirkung auf den Systemzustand. Ein Beispiel daf¨ ur ist eine Ampel an einer leeren Kreuzung. Wenn kein Auto an der Kreuzung steht, ¨ andert sich dieser Zustand nicht durch das Umschalten der Ampel. Zwei in strukturellem Konflikt stehende Transitionen m¨ ussen von verschiedenen ¨außeren Ereignissen synchronisiert werden, damit der Konflikt gel¨ost werden kann. Zwei Transitionen stehen nach Abschnitt 7.1.4 in einem strukturellen Konflikt, falls sie einen gemeinsamen Vorplatz oder einen gemeinsamen kapazit¨atsbeschr¨ankten Folgeplatz besitzen. Petrinetze k¨ onnen Prozesssteuerungen nachbilden (Bild 7.47). Dabei gibt es wiederum zwei Arten von Ereignissen: steuerbare (interne) und nicht steuerbare (externe) Ereignisse. Die Ereignisse, die aus der Steuerungslogik kommen, sind steuerbare Ereignisse. Dagegen sind die Ereignisse, die gemessenen Ergebnissen in der Umwelt entsprechen, nicht steuerbare Ereignisse. Wenn zwei in strukturellem Konflikt stehende Transitionen von steuerbaren Ereignissen synchronisiert werden, muss der Konflikt durch die Steuerungslogik selbst gel¨ ost werden. F¨ ur nicht steuerbare Ereignisse wird der Konflikt durch die Anforderung an deren Eigenschaften gel¨ost. Zwei externe Ereignisse treten niemals gleichzeitig auf [DA92], siehe Definition (1.1). Wir erkl¨ aren diese Anforderung durch ein Beispiel.
348
7 Petrinetze
Beispiel 7.108 Modellieren eines Wettlaufes mit N Sportlern Der Wettkampfprozess und die Auswahl der Preistr¨ ager werden durch das Netzmodell in Bild 7.46 dargestellt. Es wird angenommen, dass drei Preistr¨ ager ausgew¨ahlt werden. Die Bedeutung der Netzelemente lautet wie folgend: p11 ∼ pN 1 p12 ∼ pN 2 t11 ∼ tN 1 t12 ∼ tN 2 E0 Eei pe0 pe1 pe2 pe3 pe4
Die Sportler sind auf den Wettkampf vorbereitet. Die Sportler befinden sich im Wettkampf. Der Wettkampf wird gestartet. Zieldurchlauf der Sportler. START-Signal f¨ ur alle Sportler gemeinsam i-ter Sportler l¨ auft ins Ziel Wettkampf beendet erster Preistr¨ ager zweiter Preistr¨ ager dritter Preistr¨ ager restliche Teilnehmer.
Das Beispiel ist eine gemischte Form eines synchronisierten und eines klassischen Petrinetzes. Das steuerbare Ereignis E0 ist das START-Signal. Es steuert alle Transitionen t11 bis tN 1 . Die Transitionen t11 bis tN 1 sind in Konkurrenz, d.h. sie schalten parallel ohne Konflikt. Die nicht steuerbaren Ereignisse Eei sind die Messsignale f¨ ur das Eintreffen der Sportler im Ziel. Die Transitionen t12 bis tN 2 stehen in strukturellem Konflikt, da sie den gemeinsamen kapazit¨atsbeschr¨ankten Folgeplatz pe0 besitzen. Bei einer zeitlich ausreichend fein aufgel¨osten Zeitmessung treten die externen Ereignisse Ee1 bis EeN aber nicht gleichzeitig auf. Dadurch wird der Konflikt prinzipiell vermieden. Um weitere Konflikte um die Rangfolge der Preistr¨ ager zu vermeiden, setzt man die Kapazit¨at im Platz pe0 auf k = 1. Die Kanten (pe1 , te2 )(pe2 , te3 )(pe3 , te4 ) sind Freigabekanten. Nur wenn die Vorpl¨atze dieser Kanten markiert sind, werden die entsprechenden Transitionen aktiviert.
Bild 7.46: Wettlauf-Modell mit drei Preistr¨ agern
7.5 Petrinetz-Steuerungen
349
Synchronisierte Petrinetze bieten die M¨ oglichkeit, Zustands¨ uberg¨ange zeitlich durch die außere Welt zu steuern. Deshalb spielen sie bei der Echtzeitmodellierung und Echtzeit¨ steuerung eine wichtige Rolle. Die Messsignale kommen aus der physikalischen Umwelt. Die Steuersignale synchronisieren das Schalten der Transitionen. Deshalb sind synchronisierte Petrinetze Steuer-Petrinetze. Wenn ein Konflikt zwischen zwei oder mehreren Transitionen auftritt, dann reicht die Aktivierungsregel in Petrinetzen nicht aus. Eine zus¨atzliche Entscheidungslogik wird ben¨ otigt. Die entsprechenden Transitionen m¨ ussen durch Ereignisse aus einer Entscheidungslogik synchronisiert werden. Im Abschnitt 7.5.2 stellen wir die Petrinetz-Steuerung ereignisdiskreter Systeme vor.
7.5.2
Petrinetz-Regler
Durch Einsatz eines Petrinetz-Reglers gelangt man zu einem Regelkreis (Bild 7.47). Der Unterschied zu klassischen Regelkreisen [GS90] liegt darin, dass sich die Ausgabegr¨oße des Prozesses y nicht explizit mit der F¨ uhrungsgr¨oße vergleichen l¨asst. Unter einer Zielfunktion verstehen wir eine gew¨ unschte Eigenschaft des gesteuerten Prozesses in Verbindung mit einem Kostenkriterium zur Erfassung des Erf¨ ullungsgrades. Aufgabe des Reglers ist die Kostenminimierung einer solchen Zielfunktion. Der gesteuerte Prozess wird durch einen Petrinetz-Beobachter nachgebildet, der den Prozesszustand als Markierungszustand enth¨ alt. Der Regler erzeugt Ereignisse u als Steuersignale, z.B. das Wechseln eines AmpelSignals. Oft gibt ein Regler in einem Zeitpunkt nur ein einziges Signal aus, das aus mehreren Signalen ausgew¨ ahlt wurde. Zum Beispiel kann die Ampel an einer Verkehrskreuzung zwar Signale f¨ ur zwei Fahrtrichtungen geben, aber niemals gleichzeitig f¨ ur beide. Die m¨ oglichen Aktionen werden Alternativen genannt. Alternativen m¨ ussen sich gegenseitig ausschließen, d.h. zwei Alternativen a und b d¨ urfen niemals gleichzeitig durchgef¨ uhrt werden. Alternative bedeutet nicht nur die M¨oglichkeit, sondern die Notwendigkeit zur Auswahl! Es ist z.B. keine Alternative, zwischen Mittags Essen gehen“ ” und Abends fernsehen“ zu w¨ ahlen, da man ebenso gut beides machen kann, und keine ” Notwendigkeit f¨ ur eine Auswahl besteht. Die Menge der Alternativen wird durch den großen Buchstaben A bezeichnet. Die Alternativenmenge A enth¨alt mindestens zwei Elemente.
Bild 7.47: Struktur eines Regelkreises f¨ ur ereignisdiskrete Systeme
350
7 Petrinetze
Die Regelung f¨ uhrt eine Auswahl aus den Alternativen durch. Die vom Regler ausgew¨ ahlte Alternative heißt Entscheidung. Der entsprechende Prozess heißt Entscheidungsprozess. Den Regler eines ereignisdiskreten Systems wollen wir deshalb auch als Entscheider (decision maker) bezeichnen. Die Entscheidung ist ein mit den verf¨ ugbaren Ressourcen des gesteuerten Systems eng verbundener Begriff. So lautet die Definition von [Hol88]: Decision is the commitment to irrevocably allocate valuable resources“. ” Hier wird die Zuweisung der Ressourcen als Hauptaufgabe der Steuerung angesehen. Der Entscheider w¨ ahlt unter den Alternativen gem¨aß der Zielfunktion aus. Das dabei angewendete Entscheidungsverfahren heißt Strategie. Eine Entscheidungsstrategie ist eine Entscheidungsregel, um eine Aktion in jedem Zeit” punkt auszuw¨ ahlen“ [DL77]. In den Abschnitten 7.5.3 und 7.5.4 werden zwei Petrinetz-Steuerungen zur Entscheidungsfindung vorgestellt. Weitere Verfahren, die eine Entscheidung und Konfliktvermeidung auf der Basis von Zustandsgraphen zum Ziel haben, werden hier nicht betrachtet, da sie f¨ ur praktische Anwendungen h¨ aufig zu komplex sind.
7.5.3
Belegungsentscheidung nach der aktuellen Anforderung
In nebenl¨ aufigen Systemen k¨ onnen zwei oder mehr Objekte eine einzige Ressource zur Belegung anfordern, wobei sich die gew¨ unschten Belegungszeiten u ¨ berlappen (Konflikt). Diese Situation l¨ asst sich durch so genannte Balkendiagramme [NM93] anschaulich darstellen. Im Balkendiagramm entspricht jedem Bearbeitungsvorgang ein Balken u ¨ ber der Zeitachse, der beim fr¨ uhest m¨ oglichen Anfangszeitpunkt des Vorgangs beginnt, und dessen L¨ ange gleich der Dauer des Vorgangs ist. Unter Vorg¨ angen versteht man die Zeit, w¨ ahrend der Arbeitsvorg¨ ange oder T¨atigkeiten eine Ressource beanspruchen. Das Bild 7.48 zeigt ein Beispiel. Die Vorg¨ ange a und b haben u un¨ berlappende Belegungsw¨ sche. Wenn die Ressource nur einen Vorgang pro Zeit bearbeiten kann, dann muss der andere Vorgang (a oder b) zur Konfliktl¨ osung nach hinten verschoben werden, sofern keine Vorverlagerung des ersten Vorgangs m¨oglich ist. Zum Beispiel kann in einem Fertigungsprozess eine Maschine ein Werkst¨ uck nur laden, wenn die Maschine frei ist.
Bild 7.48: Balkendiagramm mit u ¨berlappenden Belegungsw¨ unschen
7.5 Petrinetz-Steuerungen
351
Solch eine Beziehung zwischen zwei aufeinander folgenden Vorg¨angen wird Ende-StartBeziehung [NM93] genannt. Der Vorgang b kann erst begonnen werden, sobald a beendet worden ist oder umgekehrt. Im Bild 7.48 gibt es zur Konfliktvermeidung zwei Alternativen a1 , a2 ∈ A: a1 : a2 :
a zuerst, dann b; b zuerst, dann a.
Die Belegungsw¨ unsche seien fest vorgegeben. Dann lautet die Entscheidungsstrategie wie folgt: Strategie I: Derjenige Vorgang belegt die Ressource, der die Belegungsbedingung zuerst anmeldet. Die Entscheidung nach dieser Strategie entspricht der so genannten FCFS-Regel (first come first serve), die von der Warteschlangentheorie her bekannt ist. In Bild 7.48 wird die Ressource zuerst vom Vorgang a belegt, weil dieser als Erster die Belegung der Ressource anmeldet. Der Vorteil von Strategie I ist die einfache Realisierung. Der Nachteil ist, dass die sich ergebenden Wartezeiten oft wesentlich l¨anger sind als bei pr¨adiktiven Strategien (Abschnitt 7.5.4). Wenn z.B. b kurz vor a begonnen h¨atte, w¨are b zuerst ausgew¨ ahlt worden. Die Wartezeit f¨ ur a w¨ are dann sehr lang geworden.
Bild 7.49: Petrinetz zur Regelung eines ereignisdiskreten Prozesses
Die schematische Realisierung eines nach Strategie I arbeitenden Petrinetz-Reglers zeigt Bild 7.49. Der Prozess wird dazu durch einen Petrinetz-Beobachter nachgebildet, der u ¨ ber externe Ereignisse auf den Echtzeitablauf des Prozesses synchronisiert wird. Das Schalten der Transition t1 erzeugt direkt das Steuersignal zum Prozess. Die Markierung aus dem Beobachter beeinflusst das Schalten der Transition durch die Freigabekante in ¨ t1 . Uber diese Kante wird der Regelkreis geschlossen. Bild 7.50 zeigt als weiteres Beispiel eine Signalsteuerung f¨ ur Z¨ uge. Wenn sich ein Zug dem Signal 1 n¨ ahert (p1 markiert) und der Streckenabschnitt 2 frei ist (p2 nicht markiert), dann wird die Transition t3 aktiviert. Dabei ist die Kante [p2 , t3 ] eine so genannte
352
7 Petrinetze
Bild 7.50: Signalsteuerung durch Petrinetz-Regler
Verhinderungskante, welche eine umgekehrte Funktion wie die Freigabekante hat. Das heißt der markierte Platz p2 verhindert das Schalten der Transition t3 . Das Schalten der Transition t3 markiert p3 und erzeugt einen Steuerbefehl auf Gr¨ un zum Signal 1. Wenn der Zug u ahrt, wird t1 geschaltet und p2 markiert. Die Transition t4 ¨ ber den Sensor 1 f¨ ist dann aktiviert. Das Schalten von t4 markiert p4 und erzeugt einen Steuerbefehl auf Rot zum Signal 1, das damit die Einfahrt eines weiteren Zuges in den Streckenabschnitt 2 verhindert. Die Petrinetze im Regler k¨ onnen auch zeitkontinuierliche Petrinetze sein. In diesem Fall werden die Schaltsignale erst nach dem Ablauf der Verz¨ogerungszeiten erzeugt. Ein typisches Beispiel ist die Steuerung der Signalphasendauer in einer Kreuzung. Die Dauer der Gr¨ unphase wird nach bestimmten Anforderungen (z.B. Warteschlangen-L¨ange) eingestellt. Ein Beispiel findet sich in [Dic93].
7.5.4
Pra¨diktive Belegungsentscheidung nach minimaler Planverschiebung
In einigen Anwendungen hat jedes Objekt einen vorher festgelegten Zeitplan. Die Belegungszeitabweichung zwischen diesem vorgegebenen Plan (Soll-Plan) und der tats¨achlich realisierten Belegung (Ist-Plan) von Resourcen soll m¨oglichst klein sein. Kleine Abweichungen sollten in den darauf folgenden Prozessschritten beseitigt werden. Ein typisches Beispiel ist die Steuerung von Eisenbahnsystemen. Jeder Zug f¨ahrt nach einem Zeitplan, der in der Entwurfsphase durch eine Optimierung entwickelt wurde. Die Fahrgeschwindigkeit der Z¨ uge ist innerhalb eines Streckenabschnitts einstellbar. Das heißt, dass kleine Zeitversp¨ atungen in den folgenden Streckenabschnitten aufgeholt werden k¨ onnen. Auf diese Art vermeidet man große Folgeabweichungen. Die Strategie I reicht
7.5 Petrinetz-Steuerungen
353
hier aber nicht aus. Die betrachtete lokale Ressource wird zwar durch die Strategie I ohne Konflikt ausgelastet, aber die globale Planverschiebung kann durch Abweichungen in Folgeressourcen insgesamt sehr groß werden, so dass sie sp¨ater nur schwer wieder aufgeholt wird. Es wird deshalb eine pr¨ adiktive Strategie eingef¨ uhrt. Strategie II: Pr¨ adiktive Minimierung der Summenplanverschiebung in der Ressource. F¨ ur die Zuordnung des in Bild 7.48 gezeigten Beispiels u unsche ¨ berlappender Belegungsw¨ gibt es wieder zwei L¨ osungsm¨ oglichkeiten (Bild 7.51).
a) b nach hinten verschoben
b) a nach hinten verschoben Bild 7.51: Entscheidungsalternativen durch Verschiebung von Vorg¨ angen
¨ Im ersten Fall wird die Uberlappung durch die Verschiebung von b um die Zeit τ1 nach hinten aufgehoben, im zweiten Fall durch die Verschiebung von a um die Zeit τ2 . Nach der Strategie II wird die erste Zuweisung ausgew¨ahlt, da die Planverschiebung um τ1 kleiner ist als die um τ2 . Dazu muss die L¨ ange der Vorg¨ange im voraus bekannt sein. ¨ Zur pr¨ adiktiven Erkennung von Uberlappungssituationen wird ein zeitkontinuierliches Modell ben¨ otigt. Der Petrinetz-Beobachter wird dazu um die Zeitbewertung der Pl¨atze erweitert. Dieses zeitkontinuierliche Modell wollen wir Pr¨ adiktor nennen. Bild 7.52 zeigt die Struktur des ereignisdiskreten Reglers mit Pr¨adiktion. Der Pr¨adiktor u ¨ bernimmt den Markierungszustand < M, τe > aus dem zeitdiskreten Beobachter. Anhand einer von diesem Zustand ausgehenden Simulation der zuk¨ unftigen Systemzust¨ande k¨onnen drohende Belegungskonflikte im voraus erkannt werden. Anhand der Strategie 2 wird eine Entscheidung f¨ ur einen der Belegungsw¨ unsche getroffen. Die Planverschiebung in der Ressource soll dabei insgesamt minimal sein. Ein zeitkontinuierliches Petrinetz l¨ asst sich durch folgende Schritte vom zeitdiskreten Petrinetz-Beobachter ableiten.
354
7 Petrinetze
Bild 7.52: Struktur des ereignisdiskreten Reglers mit Pr¨ adiktion
1. Das zeitkontinuierliche Petrinetz u ¨ bernimmt die gesamte Netzstruktur des zeitdiskreten Petrinetz-Beobachters (Pl¨atze, Transitionen und Kantenverbindungen); 2. Das zeitkontinuierliche Petrinetz hat zum gleichen Zeitpunkt die gleiche Markierung wie der Petrinetz-Beobachter; 3. Die synchronisierten Transitionen im zeitdiskreten Petrinetz-Beobachter werden im zeitkontinuierlichen Petrinetz durch normale Transitionen ersetzt. Die entsprechenden Vorpl¨ atze dieser Transitionen werden durch zeitbewertete Pl¨atze ersetzt. Die Methode zur Umwandlung findet man in [KQ88].
Bild 7.53: Ableitung des zeitkontinuierlichen Petrinetzes vom zeitdiskreten Petrinetz-Beobachter
7.6 Anwendungsbeispiel Verkehrsregelung
355
4. Die Verweilzeiten τ lassen sich aus der abgelaufenen Verweilzeit τe und der Restverweilzeit τr bestimmen. Die bereits abgelaufenen Verweilzeiten τe in den markierten Zeitpl¨ atzen und Zeittransitionen m¨ ussen gespeichert werden (Abschnitt 4.5.2). F¨ ur die Signalsteuerung in Bild 7.50 wird das zeitkontinuierliche Petrinetz in Bild 7.53 generiert. Die Verweildauern τ1 und τ2 repr¨asentieren die mittleren Fahrzeiten eines Zuges in den Streckenabschnitten 1 und 2. Sie h¨angen von den Streckenl¨angen und von der mittleren Geschwindigkeit ab. Die Zeitpunkte, zu denen die Ereignisse aus den Sensoren 1 und 2 kommen, werden durch die Restverweilzeit τr der Marken in den Pl¨ atzen p1 und p2 pr¨ adiziert.
7.6
Anwendungsbeispiel Verkehrsregelung
In diesem Abschnitt wird eine Petrinetz-Steuerung einer Verkehrsregelung vorgestellt. Das Bild 7.54 zeigt den Verkehrsfluss auf drei benachbarten Kreuzungen. Die Verkehrsflussraten λ sind vorgegeben. Den Fahrzeugen sind abh¨angig von der jeweiligen Fahrtrichtung Farben < v > zugeordnet, z.B. < a1 > oder < b2 >.
Vorgegebenes Verkehrsaufkommen: < λa > : 300 / h < λb > : 200 / h < λc > : 30 / h < λd > : 60 / h Bild 7.54: Netzwerk aus 3 Kreuzungen
In jeder Kreuzung werden die Verkehrs߬ usse durch Ampelphasen geregelt. Es handelt sich um ein verteiltes System, das aus drei parallelen Steuerungssystemen in drei Kreuzungen besteht.
7.6.1
Hierarchisches Petrinetzmodell
Zur Beschreibung des Kreuzungsnetzwerks verwenden wir ein hierarchisches Petrinetz. Das Zusammenwirken der Kreuzungen untereinander ist in Bild 7.55 dargestellt.
356
7 Petrinetze
Bild 7.55: Hierarchisches Petrinetzmodell der 3 Kreuzungen
Jeder Platz im Petrinetz Bild 7.55 wird in ein Unternetz verfeinert, das der einzelnen Kreuzung entspricht. Bild 7.56 zeigt dieses Unternetz. Der Platz p1 stellt den Vorbereich der Kreuzung dar, in den Fahrzeuge unterschiedlicher Farbe aus allen Richtungen eintreten k¨ onnen. Die gef¨ arbte Transition t1 bildet die Ampel nach, indem sie f¨ ur jeweils eine einzige Farbe < v > geschaltet wird, welche die Fahrtrichtung bestimmt. Die Kapazit¨ atsbeschr¨ ankung im nachfolgenden Platz p2 auf |k 2 (v)| = 1 stellt sicher, dass t1 nur f¨ ur eine Farbe zur Zeit geschaltet werden kann. Es befindet sich jeweils nur ein Fahrzeug einer Farbe auf der Kreuzung (Platz p2 ). Die Kreuzung werde in der mittleren Zeit τ2 von diesem Fahrzeug u ¨ berquert. Der Platz p3 stellt den Ausgangsbereich der Kreuzung dar. Die Pl¨ atze p1 und p3 sind die Grenzknoten des Unternetzes.
Bild 7.56: Unternetz einer Kreuzung
7.6 Anwendungsbeispiel Verkehrsregelung
357
Das zus¨ atzliche Netz t3 , t4 , p4 hat die Aufgabe, festzustellen, ob w¨ahrend der Ampelphase der Farbe < v > gen¨ ugend Fahrzeuge u ¨ ber die Kreuzung fahren. Dazu dient der Platz p4 , in den beim Verlassen der Kreuzung durch ein Fahrzeug eine Marke eingetragen wird. Die Transition t4 bewirkt zusammen mit der Freigabekante (Gewicht 2), dass die Markenzahl in p4 auf 1 begrenzt wird. Das Kreuzungsauslastungssignal in p4 wird durch die Verz¨ ogerung der Transition t3 u ¨ ber eine Zeit τ3 zwischen Fahrzeugen gehalten, welche die Kreuzung verlassen.
7.6.2
Petrinetz-Steuerung
Der Verkehrsfluss an einer Kreuzung soll durch 4 verschiedene Ampelphasen geregelt werden (Bild 7.57). Die Petrinetz-Steuerung soll die Phasenfolge und die Verweildauer der Phasen regeln, damit die Marken (Autos) mit minimaler Wartezeit u ¨ ber die Kreuzung fließen. F¨ ur die Phasenfolgeregelung wird die Markenzahl im Kreuzungsvorplatz p1 (Warteschlange) des Kreuzungsmodells (Bild 7.56) ben¨otigt. Danach wird die n¨achste Ampelphase bestimmt. Als N¨ achstes soll die Verweildauer der Phase gesteuert werden. Es soll eine minimale Verweildauer τmin und eine maximale Dauer τmax geben. Wenn die Kreuzung nach τ ≥ τmin frei ist (Platz p4 ), soll die Ampelphase vorzeitig wechseln. Bild 7.58 zeigt eine Petrinetz-Steuerung f¨ ur eine Kreuzung. ur die Farbe Die Marke < v > im Platz p5 markiert den Beginn einer Ampelphase f¨ < v >. Das Schalten der Transition t5 markiert die Pl¨atze p6 und p7 . Das Andauern der Ampelphase wird durch die Markierung von p7 dargestellt. Die Transition t1 ist f¨ ur die Farbe < v > freigegeben. Die Transition t6 ist mit der Minimalzeit τmin verz¨ogert. Nach dem Ablauf dieser Verz¨ogerung τmin ist der Platz p8 markiert. Die Verz¨ogerungszeit (τmax −τmin ) der Transition t8 beginnt. Vor Ablauf dieser Verz¨ ogerung kann auch die Transition t7 schalten, wenn der Platz p4 leer ist (Kreuzung leer). Durch Schalten von entweder t7 oder t8 wird die Phasendauer auf das Intervall [τmin , τmax ] begrenzt. Nach dem Schalten der Transition t7 oder t8 wird p9 markiert. Das bedeutet das Ende einer Ampelphase. Die Dauer des Phasenwechsels (Gelbsignal) wird durch die Verz¨ogerung τ9 bei t9 bestimmt. Die
a) Phase 1
b) Phase 2
Bild 7.57: Ampelphasen f¨ ur eine Kreuzung
c) Phase 3
d) Phase 4
358
7 Petrinetze
Bild 7.58: Petrinetz-Steuerung f¨ ur eine Kreuzung
Kantenfunktion w+ 59 leitet eine neue Ampelphase ein. Dabei wird die Zahl der farbigen Marken in p1 , evtl. die Gesamtsituation an allen drei Kreuzungen und die Entscheidungsstrategie ber¨ ucksichtigt. Die Entscheidung wird mit der aktuellen Kantenfunktion w+ 59 in das Petrinetz eingef¨ uhrt. F¨ ur die Auswahl der n¨ achsten Ampelphase gibt es eine Reihe von Strategien: 1. feste Reihenfolge der Ampelphasen, 2. maximale L¨ ange der Warteschlange, 3. maximale Wartezeit. Die Strategie 1) ist am einfachsten. Nach Gl. (4.326) ist die mittlere Restlebensdauer des angetroffenen Intervalls minimal. Der Nachteil bei Strategie 2) liegt in der Gefahr, dass die Regelung in eine Verklemmung ger¨ at, wenn sich in einer Richtung ein Stau bildet (l¨ angste Warteschlange). Auch Strategie 3) kann eine Verklemmung nicht vermeiden. Der Grund daf¨ ur ist, dass alle Informationen bei der Entscheidung nur aus dem lokalen Bereich einer Kreuzung kommen. Zur Vermeidung von Verklemmungen muss man die globale Situation auch in den anderen Bereichen ber¨ ucksichtigen, z.B. die Geschichte der Ampelphasen in den benachbarten Kreuzungen. Von den Vorkreuzungen kommen die
7.6 Anwendungsbeispiel Verkehrsregelung
359
Markenfl¨ usse, wenn die Autos z.B. einer gr¨ unen Welle folgen. Dies gibt die M¨oglichkeit zur Vorausberechnung des Kapazit¨ atsbedarfs f¨ ur die verschiedenen Ampelphasen. Wird in Richtung einer Nachkreuzung ein Stau bemerkt, so wird man die entsprechende Ampelphase nicht mehr ausw¨ ahlen. Die erforderlichen Entscheidungsstrategien sprengen den Rahmen einer Modellierung als Petrinetz.
8
Zeit in verteilten Systemen
8.1
Vektorzeit
In einem verteilten System agiert ein einzelnes Teilsystem autonom im verteilten Gesamtsystem. Ein Problem liegt dabei in dem Unverm¨ogen jedes einzelnen Teilsystems, immer einen konsistenten, aktuellen, global g¨ ultigen Zustand des Gesamtsystems zu ¨ erfassen. Nachrichten zwischen den Teilsystemen erfahren bei der Ubertragung eine a-priori unvorhersehbare Verz¨ ogerung aufgrund etwaiger, unterschiedlich ausgepr¨agter Netzlasten zu verschiedenen Zeitpunkten. Gleichzeitig fehlt aufgrund von Drift und Toleranz der lokalen Zeitmesser eine gemeinsame, synchronisierte Zeitbasis, die von allen beteiligten Teilsystemen verz¨ ogerungsfrei benutzt werden k¨onnte. Nachrichten zur Synchronisation werden ebenfalls verz¨ ogert u ¨ bertragen. Der Begriff der Simultanit¨at“ ” von Ereignissen in verteilten Systemen muss deshalb sorgf¨altig definiert werden. Dazu bedient man sich zun¨ achst eines so genannten Schnappschusses. Dieser wird mittels Raum-Zeit-Diagrammen visualisiert, um Zust¨ande des verteilten Systems ann¨ahern und als kausal g¨ ultige und konsistente Abfolge der beteiligten Ereignisse untereinander korrekt erfassen zu k¨ onnen. Mit Hilfe algebraischer Relationen und der so genannten logischen Vektorzeit im Sinne einer mathematisch (teil)geordneten Struktur kann die kausale Abfolge der in den unterschiedlichen Teilsystemen auftretenden Ereignisse erfasst werden. Weil die kausale Struktur universell einsetzbar auf der Ebene der Software implementiert wird, erreicht man zudem die Losl¨osung im Sinne der Unabh¨angigkeit vom verwendeten physikalischen Netzwerk und von der Hardware.
8.1.1
Raum-Zeit-Diagramm
Ausgangspunkt ist die umfassende und vollst¨andige Festlegung des Begriffes der Zeit“. ” Im t¨ aglichen Leben bedient man sich der Zeit, um die Abfolge von Geschehnissen zueinander in Relation zu setzen: die Gegenwart“ trennt Zukunft“ von Vergangenheit“. ” ” ” Formal setzt sich diese Struktur der Standardzeit aus dem kontinuierlichen Aneinanderreihen von Zeitpunkten zusammen, [Ben83]. Auf Basis dieser Zeitpunkte wird eine Ordnungsrelation fr¨ uher als“ eingef¨ uhrt. Die Eigenschaften dieser Relation umfassen ” nach [Ben83] Transitivit¨ at, Irreflexivit¨ at, Linearit¨at, Unbeschr¨anktheit und Dichtheit. Die folgenden Ausf¨ uhrungen konzentrieren sich auf die abstrakte, algebraische Notation der logischen Zeit und der Vektorzeit, wie sie erstmals von [Lam78] und [Mat88] vorgestellt wurden. Das resultierende Konzept unterscheidet zwischen dem lokalen Wis” sen“ um die Zeit innerhalb eines bestimmten Teilsystems TSi und dem Wissen“ eines ” anderen Teilsystems TSk , i = k u ¨ ber TSi .
362
8 Zeit in verteilten Systemen
Definition 8.1 Ereignis, Zustand und Prozess Ein Ereignis beschreibt den Eintritt eines atomaren Vorgangs, der keine zeitliche Ausdehnung einnimmt. Der Eintritt eines Ereignisses ruft bei dem betroffenen ¨ (Teil)System eine (lokale) Anderung des Zustandes hervor. Ein Prozess in einem (lokalen Teil-)System besteht aus einer Sequenz (lokaler) Ereignisse, die zueinander in einer eindeutig festgelegten, kausalen Abfolge stehen. Implizit setzt Definition 8.1 die kausale Unterscheidbarkeit verschiedener, lokaler Ereignisse desselben Teilsystems voraus, vgl. dazu Gl. (8.14). Zwei unterschiedliche lokale Ereignisse a und b eines Teilsystems d¨ urfen deshalb niemals zum gleichen Zeitpunkt eintreten. Ausgehend von dieser Definition werden Ereignisse in drei Klassen eingeteilt. Definition 8.2 Ereignisklassen in verteilten Systemen • Internes Ereignis: tritt innerhalb des lokalen Teilsystems ein, ohne externe ¨ Ubermittlung von Nachrichten. • Sende-Ereignis: wird innerhalb eines lokalen Teilsystems mit dem Versand einer Nachricht hervorgerufen. Es geht dem zugeh¨origen Empfangs-Ereignis eines anderen oder desselben lokalen Teilsystems, an das die Nachricht gerichtet war, (aus globaler Sicht) zeitlich voraus. • Empfangs-Ereignis: wird innerhalb eines lokalen Teilsystems aufgrund des Empfangs einer Nachricht hervorgerufen. Es ist dem zugeh¨origen Sende-Ereignis eines anderen oder desselben lokalen Teilsystems, von dem aus die Nachricht gesandt wurde, (aus globaler Sicht) zeitlich nachgelagert. Weiterhin gilt Definition 8.3 Notation in verteilten Systemen In einem verteilten System, das aus n Teilsystemen TSi , i = 1, . . . , n besteht, beschreibt eik den Eintritt des k-ten Ereignisses in Teilsystem TSi , k ∈ IN. Dabei ist eik ∈ Ei Element der Menge aller (lokalen) Ereignisse Ei des Teilsystems T Si . Folgerichtig umfasst E := ∪i Ei die vollst¨ andige Menge aller (global) g¨ ultigen Ereignisse eines verteilten Systems. Das Symbol • u ¨ bernimmt dabei die Rolle eines Platzhalters f¨ ur ein willk¨ urliches, aber festes Element. Beispielsweise beschreibt Ereignis ei • ein beliebiges, aber festes lokales Ereignis des Teilsystems TSi , wohingegen TS• ein beliebiges, aber festes Teilsystem charakterisiert. Gem¨ aß Definition 8.1 und 8.2 werden ereignisdiskrete Systeme durch Zustands¨anderungen und Nachrichten¨ ubertragungen ver¨andert. Das Sende-Ereignis muss kausal vor
8.1 Vektorzeit
363
Anfrage TS1
Ergebnis
e12
e17 t1 e22
TS2
t2 e34
TS3 TS4
e33 e43
t3 t4
Bild 8.1: Raum-Zeit-Diagramm und Initialisierung eines Schnappschusses (strichliniert)
dem Empfangs-Ereignis liegen. Vorg¨ ange innerhalb eines Teilsystems werden als internes Ereignis abgebildet. Das Verhalten eines solchen Systems kann im Sinne einer kausalen Abfolge von Ereignissen anhand des so genannten Raum-Zeit-Diagramms veranschaulicht werden, vgl. Bild 8.1. Dazu wird f¨ ur jedes Teilsystem TSi eines verteilten Systems eine Zeitreferenz in Form einer lokalen Achse ti eingef¨ uhrt, in der das Maß der skalaren Zeit von links nach rechts zunimmt. In einem Raum-Zeit-Diagramm entspr¨ache eine vertikale Linie, die s¨ amtliche lokalen Achsen schneidet, gerade der ideal synchronisierten, globalen Zeitreferenz des Gesamtsystems. Die Vergangenheit“ linker Hand wird von der Zukunft“ ” ” rechter Hand durch eben diese vertikale Linie getrennt. Die zugeh¨origen Ereignisse eik eines Teilsystems TSi werden durch kleine, vertikale Striche senkrecht zur lokalen Achse ti der Zeitreferenz gekennzeichnet. Ein von links nach rechts gerichteter Pfeil symbolisiert eine Nachricht zwischen zwei Teilsystemen, ausgehend von dem Sende-Ereignis des sendenden Teilsystems linker Hand hin zu dem Empfangs-Ereignis des empfangenden Teilsystems rechter Hand. Insgesamt wird so die kausale Abfolge im Sinne eines globalen Zeitbegriffes visualisiert. Wegen der Kausalit¨at ist ein Nachrichtenfluss lediglich von links nach rechts erlaubt. Es sei bemerkt, dass genau deswegen Prozesse in diesem Modell allesamt frei von Zyklen sind, da ein Ringschluss“ nicht auftreten kann1 . ” Man stelle sich einen idealen, globalen Beobachter vor, welcher den gegenw¨artigen, globalen Zustand des verteilten Systems in Form eines so genannten Schnappschusses ¨ u im Raum-Zeit-Diagramm w¨are da¨ ber alle lokalen Teilsysteme erfasst. Das Aquivalent zu eine vertikale Linie, die s¨ amtliche lokalen Achsen schneidet. Bei der Verwendung eines asynchronen Kommunikationsnetzwerkes werden die Nachrichten im verteilten System ¨ aber verz¨ ogert. Fordert ein lokales Teilsystem von allen anderen Teilsystemen die Ubermittlung ihrer derzeit aktuellen Zust¨ ande per Nachricht, so werden unterschiedliche Zeitpunkte zur¨ uckgemeldet. In manchen Teilsystemen k¨onnten sich z.B. die Zust¨ande bis zum Eintreffen der Anfrage bereits ge¨andert haben. Andererseits treten auch 1 Die Visualisierung eindeutiger kausaler Abfolgen wird erm¨ oglicht, indem kausale Widerspr¨ uche wie der angef¨ uhrte Ringschluss“ nicht im Raum-Zeit-Diagramm erfasst werden k¨ onnen. ”
364
8 Zeit in verteilten Systemen
unterschiedliche Zeitpunkte f¨ ur den Empfang der Antworten der abgefragten Teilsysteme innerhalb des anfragenden Teilsystems selbst auf. Beispielsweise fordert in Bild 8.1 Teilsystem TS1 via Ereignis e12 mit eigens daf¨ ur vorgesehenen Nachrichten, die in der Abbildung strichliniert gekennzeichnet sind, einen Schnappschuss des Gesamtsystems an. Die vollst¨ andige Menge aller zur¨ uckkehrenden Antworten, ebenfalls als strichlinierte Nachrichten markiert, sind diesem anfragenden Teilsystem TS1 nicht vor dem Eintritt seines Empfangs-Ereignisses e17 bekannt. Ein idealer, globaler Beobachter ist somit in asynchron kommunizierenden, verteilten Systemen nicht realisierbar. Um dieser Problematik zu begegnen, werden die zeitlichen Betrachtungen in einer rein kausalen Abfolge von Ereignissen abstrahiert. Satz 8.4: G¨ ultiger Schnappschuss F¨ ur einen global g¨ ultigen Schnappschuss ist der exakte (global g¨ ultige) Zeitpunkt des Eintritts eines Ereignisses unerheblich, solange die beiden folgenden Bedingungen gleichzeitig eingehalten werden: 1. Die kausale Abfolge der Ereignisse eines jeden Teilsystems TSi bleibt unver¨andert. 2. S¨ amtliche auftretenden Nachrichten erscheinen in dem zugeh¨origen Raum-ZeitDiagramm als von links nach rechts gerichtete Pfeile. Nach [Mat98] kann auf dieser Grundlage die so genannte Gummiband-Transformation durchgef¨ uhrt werden. Dazu teilt man die Achse der Zeitreferenz ti eines jeden Teilsystems TSi in Abschnitte ein, die durch aufeinander folgende Ereignisse in TSi festgelegt sind. Eine Streckung oder Stauchung verschiedener Abschnitte ein und derselben Achse ti eines Teilsystems TSi mit unterschiedlichen Wichtungsfaktoren ¨andert die globale, kausale Abfolge s¨ amtlicher Ereignisse untereinander nicht, solange die beiden Bedingungen 1. und 2. aus Satz 8.4 eingehalten werden. Mittels der GummibandTransformation des Raum-Zeit-Diagramms gewinnt man einen so genannten vertikalen Schnitt, wobei die globale, kausale Abfolge der Ereignisse erhalten bleibt. Definition 8.5 Vertikaler Schnitt Ein vertikaler Schnitt eines verteilten Systems umfasst eine Menge von n Ereignissen eik ∈ Ei , wobei genau ein Ereignis k eines jeden der n Teilsysteme TSi , i = 1, . . . , n enthalten sein muss. Ein vertikaler Schnitt kommt einem globalen Zustand respektive einem Schnappschuss aus der Sichtweise des idealen Beobachters am n¨achsten. Bild 8.2 illustriert einen vertikalen Schnitt, bestehend aus den lokalen Ereignissen e12 , e22 , e34 , e43 . Dieser kann aus dem vorherigen Beispiel von Bild 8.1 mittels geeigneter Gummiband-Transformation gewonnen werden. Die Ereignisse des Schnappschusses sind nunmehr untereinander angeordnet.
8.1 Vektorzeit
365 Schnappschuss
vertikaler Schnitt TS1
e12
e11
t1
TS2 TS3 TS4
e17
e22
t2
e34
t3
e43
t4
e32
e41 e42
Bild 8.2: Beobachteter Schnappschuss und vertikaler Schnitt
Definition 8.6 Konsistenter Schnitt Ein vertikaler Schnitt eines verteilten Systems wird, bezogen auf die kausale Abfolge aller Ereignisse, genau dann konsistenter Schnitt genannt, wenn die beiden Bedingungen 1. und 2. aus Satz 8.4 eingehalten wurden, um diesen vertikalen Schnitt zu gewinnen. Definition 8.6 impliziert, dass alle Nachrichten eines Raum-Zeit-Diagramms, welche die Verbindungslinie der Ereignisse eines konsistenten Schnittes kreuzen, stets nur von links nach rechts relativ zum Schnitt gerichtet sein k¨onnen. Ein konsistenter Schnitt bewahrt die gegebene, kausale Abfolge der Ereignisse, so dass er ein g¨ ultiger“ Schnappschuss ” des verteilten Systems ist. Definition 8.7 Globaler Zustand Der globale Zustand bezieht sich auf einen konsistenten Schnitt in dem zugeh¨origen Raum-Zeit-Diagramm eines verteilten Systems und setzt sich zusammen aus: 1. der Menge der lokalen Ereignisse aller n Teilsysteme, aus denen der konsistente Schnitt gebildet wird 2. der Menge aller Nachrichten, die aufgrund von Sende-Ereignissen bereits abgeschickt, aber – bezogen auf diesen konsistenten Schnitt – noch nicht im Rahmen der zugeh¨ origen Empfangs-Ereignisse in den entsprechenden Teilsystemen empfangen wurden
Man beachte, dass einem globalen Zustand basierend auf einem konsistenten Schnitt eine ganze Klasse ¨ aquivalenter Raum-Zeit-Diagramme zugeordnet werden kann. Bei-
366
8 Zeit in verteilten Systemen
spielsweise zeigen Bild 8.1 und Bild 8.2 ¨ aquivalente Raum-Zeit-Diagramme in Bezug auf den konsistenten Schnitt, welcher aus den lokalen Ereignissen e12 , e22 , e34 und e43 gebildet wird. Einer solchen Klasse ist dieselbe kausale Abfolge ihrer s¨amtlichen (globalen) Ereignisse gemein. Jedoch ist nicht jeder vertikale Schnitt konsistent. Am Beispiel aus Bild 8.2 w¨ urde die Menge der Ereignisse e12 , e22 , e34 , e41 (anstelle e43 ) einen inkonsistenten Schnitt darstellen, weil im zugeh¨ origen Raum-Zeit-Diagramm nach erfolgter Gummiband- Transformation die Nachricht von Sende-Ereignis e42 zu Empfangs-Ereignis e32 in Bezug auf den Schnitt von rechts nach links gerichtet w¨are (Der Pfeil von e42 nach e32 kreuzt die Schnittlinie e34 –e41 von rechts nach links). Es ist offensichtlich, dass ein inkonsistenter Schnitt folglich die kausale Abfolge der Ereignisse zerst¨ort und dadurch als Grundlage f¨ ur die Definition globaler Zust¨ ande ausscheidet.
8.1.2
Kausalit¨at in verteilten Systemen
Um die kausale Abfolge von Ereignissen in verteilten Systemen zu erhalten, wird die Relation kausal vorher“ [Lam78] eingef¨ uhrt. Vorausgesetzt wird eine Einteilung der ” Ereignisse in Klassen, wie sie in Definition 8.2 eingef¨ uhrt wurde.
Definition 8.8 Relation kausal vorher“,