Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis.

Ähnliche Präsentationen


Präsentation zum Thema: "Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis."—  Präsentation transkript:

1 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, Fighting State Explosion Automatische Berechnung eines Fortschrittsmaßes für die Sweep- Line-Methode

2 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, Quelle Paper zu einem Vortrag von Dr. habil. Karsten Schmidt im Rahmen der KonferenzTools 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 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, 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 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, Ziel Jeden erreichbaren Zustand mindestens einmal betrachten Darauf verzichten, dabei den gesamten Zustandsraum speichern zu müssen Speicherplatz sparen!

5 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, 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 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, Inhalt 1.Sweep-Line-Methode 2.Theorie: Monotones Fortschrittsmaß 3.Allgemeine Sweep-Line-Methode 4.Praxis: Inkrementelles Fortschrittsmaß 5.Geometrische Interpretation 6.Optimierungsmöglichkeiten 7.Kombination mit anderen Reduktionstechniken

7 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, Sweep-Line-Methode Unterteilung der Zustände in drei Gruppen 1.Unbekannte Zustände 2.Gesehene Zustände (noch nicht fertig abgearbeitet) 3.Komplett abgearbeitete Zustände

8 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, 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 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, 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 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, 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 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, 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 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, 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 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, Monotones Fortschrittsmaß Start: Front besteht nur aus M N Alle aktivierten Transitionen werden geschaltet und die erreichten Zustände zur Front hinzugefügt M N verlässt die Front

14 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, Monotones Fortschrittsmaß Front besteht aus unmittelbaren Folgezuständen von M N M N ist (in) komplett erforscht Entscheidung: M N löschen, oder noch nicht?

15 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, Monotones Fortschrittsmaß Warum M N nicht einfach löschen?

16 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, Monotones Fortschrittsmaß Warum M N nicht einfach löschen? M N könnte auf einem Kreis liegen, Algorithmus würde in Endlosschleife geraten! Wann darf M N gelöscht werden?

17 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, 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 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, 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 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, 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 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, 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 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, 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 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, 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 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, 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 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, 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 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, Inkrementelles Fortschrittsmaß Fortschrittsmaß soll sich einfach und schnell berechnen lassen Idee: inkrementelles Fortschrittsmaß, bestehend aus: –Fortschrittswert der Anfangsmarkierung M N –Abstandsfunktion für Transitionen o:T Q –Für alle M[t M gilt p(M)=p(M)+o(t)

26 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, 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 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, 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=t 1...t n und w=t n+1...t m Dann ist mindestens eine Transition in {t 1,...,t m } linear abhängig von den restlichen

28 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, Inkrementelles Fortschrittsmaß Diese lineare Abhängigkeit ist zentrale Eigenschaft der automatischen Berechnung eines Fortschrittsmaßes: 1.Bestimmung einer maximale Teilmenge U von linear unabhängigen Transitionen 2.Definieren der Abstände der Transitionen in U 3.Berechnung der Abstände der restlichen Transitionen

29 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, 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 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, Inkrementelles Fortschrittsmaß Wir wissen: alle t U sind linear abhängig von t 1,...,t n U Also gilt: t= 1 t n t n Als Abstand für t ergibt sich o(t)= 1 o( t1 )+...+ n o(t n )

31 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, Inkrementelles Fortschrittsmaß Dieses Fortschrittsmaß ist leicht zu berechnen und einfach zu handhaben Allerdings ist die Berechnung in zwei Punkten nicht deterministisch: 1.Wahl von U 2.Wahl der Abstände der Transitionen in U

32 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, 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 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, 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 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, Geometrische Interpretation

35 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, Optimierungsmöglichkeiten Vorgehensweise zur automatischen Berechnung von p() ist in zwei Punkten nicht deterministisch: 1.Wahl von U 2.Abstände von Transitionen in U Kann man so die Qualität von p() beeinflussen?

36 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, Optimierungsmöglichkeiten

37 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, Optimierungsmöglichkeiten

38 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, Optimierungsmöglichkeiten

39 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, 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 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, 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 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, Kombination mit anderen Reduktionstechniken

42 Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis HermannsSeminar Petrinetze, Vielen Dank für eure Aufmerksamkeit


Herunterladen ppt "Universität Augsburg Institut für Informatik Lehrstuhl für Softwaretechnik und Programmiersprachen Theoretische Informatik Prof. Dr. Walter Vogler Jannis."

Ähnliche Präsentationen


Google-Anzeigen