Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Fighting State Explosion

Ähnliche Präsentationen


Präsentation zum Thema: "Fighting State Explosion"—  Präsentation transkript:

1 Fighting State Explosion
Automatische Berechnung eines Fortschrittsmaßes für die Sweep-Line-Methode

2 Quelle Paper zu einem Vortrag von Dr. habil. Karsten Schmidt im Rahmen der Konferenz „Tools and Algorithms for the Construction and Analysis of Systems“ ( ) in Barcelona Originaltitel „Automated generation of a progress measure for the sweep-line method“ Veröffentlicht in: LNCS 2988, Springer-Verlag 2004, S

3 Problem Effiziente Beantwortung von Erreichbarkeitsfragen für beschränkte Petrinetze 12 Speisende Philosophen: 60 Stellen, 48 Transitionen & beschränkt Aber: erreichbare Zustände  Problem: State-Explosion!

4 Ziel Jeden erreichbaren Zustand mindestens einmal betrachten
Darauf verzichten, dabei den gesamten Zustandsraum speichern zu müssen  Speicherplatz sparen!

5 Lösung Bestimmte Eigenschaften des Netzes kurz analysieren
Während der Erforschung des Zustandsraumes bestimmte Zustände aussortieren  Immer nur einen Teil der erreichbaren Markierungen im Speicher haben!

6 Inhalt Sweep-Line-Methode Theorie: Monotones Fortschrittsmaß
Allgemeine Sweep-Line-Methode Praxis: Inkrementelles Fortschrittsmaß Geometrische Interpretation Optimierungsmöglichkeiten Kombination mit anderen Reduktionstechniken

7 1. Sweep-Line-Methode Unterteilung der Zustände in drei Gruppen
Unbekannte Zustände Gesehene Zustände (noch nicht fertig abgearbeitet) Komplett abgearbeitete Zustände

8 1. Sweep-Line-Methode Die zweite Gruppe wird als „Front“ bezeichnet
Die dritte Gruppe soll möglichst klein gehalten werden Darf man Zustände aus der dritten Gruppe einfach löschen?

9 1. Sweep-Line-Methode Man darf Zustände, die nie wieder vorkommen können, löschen Während der Erforschung des Zustandsraumes Erreichbarkeitsfragen für jeden Zustand beantworten Wie kann man entscheiden, welche Zustände frühzeitig gelöscht werden dürfen

10 2. Monotones Fortschrittsmaß
Ein Fortschrittsmaß ist eine Funktion p:MN (N sei beliebige Menge mit partieller Ordnung ≤) p(M) liefert den Fortschrittswert der Markierung M

11 2. Monotones Fortschrittsmaß
Folgt aus M[tM‘, dass p(M) ≤ p(M‘) so heißt das Fortschrittsmaß monoton Jedes Feuern einer Transition bedeutet einen Fortschritt des Systems (bzw. keinen Rückschritt) Antwort auf die Frage, welche Zustände frühzeitig gelöscht werden dürfen

12 2. Monotones Fortschrittsmaß
Ziel der S-L-M: Speicherplatz sparen S-L-M benutzt ein Fortschrittsmaß, um Zustände während der Erforschung des Zustandsraumes löschen zu können Welche Zustände dürfen gelöscht werden?

13 2. Monotones Fortschrittsmaß
Start: Front besteht nur aus MN Alle aktivierten Transitionen werden geschaltet und die erreichten Zustände zur Front hinzugefügt MN verlässt die Front

14 2. Monotones Fortschrittsmaß
Front besteht aus unmittelbaren Folgezuständen von MN MN ist (in) „komplett erforscht“ Entscheidung: MN löschen, oder noch nicht?

15 2. Monotones Fortschrittsmaß
Warum MN nicht einfach löschen?

16 2. Monotones Fortschrittsmaß
Warum MN nicht einfach löschen? MN könnte auf einem Kreis liegen, Algorithmus würde in Endlosschleife geraten! Wann darf MN gelöscht werden?

17 2. Monotones Fortschrittsmaß
Regel: Aus „komplett erforscht“ dürfen alle die Zustände gelöscht werden, deren Fortschrittswert kleiner ist als der minimale in der Front Sie kommen nie mehr vor

18 2. Monotones Fortschrittsmaß
Ein monotones Fortschrittsmaß ermöglicht erst das Anwenden der Sweep-Line-Methode Dieser Ansatz hat nur begrenzte Reichweite Was passiert bei Kreisen im Erreichbarkeitsgraphen? Hier besteht Verbesserungsbedarf!

19 3. Allgemeine Sweep-Line-Methode
Verallgemeinerung der klassischen Sweep-Line-Methode: Forderung der Monotonie an das Fortschrittsmaß wird fallen gelassen System kann „zurückfallen“, d.h. der Fortschrittswert wird durch das Feuern einer Transition verringert. Problem!

20 3. Allgemeine Sweep-Line-Methode
Zwei Markierungen M und M‘ mit M[tM‘ und p(M)>p(M‘) bilden eine Rückschrittskante Problem: Algorithmus weiß nicht, ob er M‘ schon untersucht hat Lösung: Markierungen wie M‘ werden als persistent markiert.

21 3. Allgemeine Sweep-Line-Methode
Bei Entdeckung einer Rückschrittskante wird die erreichte Markierung sofort aus der Front entfernt und als persistent markiert Mit dem Rest der Markierungen wird wie gewohnt verfahren

22 3. Allgemeine Sweep-Line-Methode
Nachdem alle Zustände erforscht worden sind, bleibt eine Menge von als persistent markierten Zuständen Diese werden als Front für eine weiteren Durchgang der S-L-M benutzt So können zwar weitere Durchgänge nötig werden, aber es wird schließlich jede Markierung mindestens einmal besucht

23 3. Allgemeine Sweep-Line-Methode
Warum terminiert der Algorithmus? Sweep-Line-Methode funktioniert nur mit beschränkten Petrinetzen Wurde ein Zustand einmal als persistent markiert, wird er nicht mehr gelöscht

24 3. Allgemeine Sweep-Line-Methode
Jeder neue Durchgang benötigt eine „frische“ persistente Markierung Der Vorrat an Markierungen ist begrenzt  Algorithmus besucht jede erreichbare Markierung mindestens ein Mal und terminiert

25 4. Inkrementelles Fortschrittsmaß
Fortschrittsmaß soll sich einfach und schnell berechnen lassen Idee: inkrementelles Fortschrittsmaß, bestehend aus: Fortschrittswert der Anfangsmarkierung MN Abstandsfunktion für Transitionen o:TQ Für alle M[tM‘ gilt p(M‘)=p(M)+o(t)

26 4. Inkrementelles Fortschrittsmaß
Ist einfach und schnell in der Handhabung, aber wie gewinnt man es? Fortschrittswert der Anfangsmarkierung beliebig, Abstände der Transitionen dürfen jedoch nicht willkürlich gewählt werden Problem: Jeder Markierung muss genau ein Fortschrittswert zugeordnet werden

27 4. Inkrementelles Fortschrittsmaß
Lässt sich eine Markierung durch zwei verschiedene Schaltfolgen erzeugen, müssen die Summen der Abstände beider Schaltfolgen gleich sein Sei M[wM‘ und M[w‘M‘ und parikh(w)parikh(w‘) sowie w=t1...tn und w‘=tn+1...tm Dann ist mindestens eine Transition in {t1,...,tm} linear abhängig von den restlichen

28 4. Inkrementelles Fortschrittsmaß
Diese lineare Abhängigkeit ist zentrale Eigenschaft der automatischen Berechnung eines Fortschrittsmaßes: Bestimmung einer maximale Teilmenge U von linear unabhängigen Transitionen Definieren der Abstände der Transitionen in U Berechnung der Abstände der restlichen Transitionen

29 4. Inkrementelles Fortschrittsmaß
Transitionen in U sind linear unabhängig, ihre Abstände deshalb beliebig wählbar Abstände der restlichen Transitionen lassen sich jetzt leicht berechnen!

30 4. Inkrementelles Fortschrittsmaß
Wir wissen: alle tU sind linear abhängig von t1,...,tnU Also gilt: ∆t= 1∆t1+...+n∆tn Als Abstand für t ergibt sich o(t)= 1o(t1)+...+ no(∆tn)

31 4. Inkrementelles Fortschrittsmaß
Dieses Fortschrittsmaß ist leicht zu berechnen und einfach zu handhaben Allerdings ist die Berechnung in zwei Punkten nicht deterministisch: Wahl von U Wahl der Abstände der Transitionen in U

32 4. Inkrementelles Fortschrittsmaß
Negative Abstände sind schlecht Jeder Zustand, der durch eine Transition mit negativem Abstand erreicht wird, muss gespeichert werden Je mehr Transitionen mit negativem Abstand, desto geringer die Speicherplatzersparnis

33 5. Geometrische Interpretation
Für n linear unabhängige Transitionen lässt sich das Fortschrittsmaß als n-dimensionales Koordinatensystem verstehen Jeder erreichbare Markierung entspricht einem Punkt ∆t wird als Vektor betrachtet: M[tM‘ wird verstanden als die Verschiebung des Punktes M durch den Vektor t auf den Punkt M‘

34 5. Geometrische Interpretation

35 6. Optimierungsmöglichkeiten
Vorgehensweise zur automatischen Berechnung von p() ist in zwei Punkten nicht deterministisch: Wahl von U Abstände von Transitionen in U Kann man so die Qualität von p() beeinflussen?

36 6. Optimierungsmöglichkeiten

37 6. Optimierungsmöglichkeiten

38 6. Optimierungsmöglichkeiten

39 6. Optimierungsmöglichkeiten
U sollte so gewählt werden, dass möglichst viele Transitionen einen kleinen positiven, möglichst wenige einen großen negativen Abstand erhalten Beides konnte aber noch nicht als lineares Optimierungsproblem formuliert werden Future research!

40 7. Kombination mit anderen Reduktionstechniken
Nicht mit allen Reduktionstechniken für Zustandsräume kompatibel Tiefensuche macht Anwenden der S-L-M sinnlos (warum?) Besonders effektiv im Zusammenspiel mit „Partial-Order-Reduction“

41 7. Kombination mit anderen Reduktionstechniken

42 Vielen Dank für eure Aufmerksamkeit


Herunterladen ppt "Fighting State Explosion"

Ähnliche Präsentationen


Google-Anzeigen