Fighting State Explosion

Slides:



Advertisements
Ähnliche Präsentationen
Christian Scheideler SS 2009
Advertisements

Eine dynamische Menge, die diese Operationen unterstützt,
Polynomial Root Isolation
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Schnelle Matrizenoperationen von Christian Büttner
Graphen Ein Graph ist eine Kollektion von Knoten und Kanten. Knoten sind einfache Objekte. Sie haben Namen und können Träger von Werten, Eigenschaften.
WR + WS ZEIGEN Neues aus der Mathematik.
Diese Fragen sollten Sie beantworten können
Spielbäume Richard Göbel.
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
Prof.Dr.S. Albers Prof. Dr. Th. Ottmann
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Bestimmung des Next-Arrays im KMP-Algorithmus
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (06 – Reduktion endlicher Automaten) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (04 – Automaten mit ε-Transitionen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (11-1 –Selbstanordnende lineare Listen) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27-Selbstanordnende lineare Listen) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Kapitel 1 Das Schubfachprinzip
Kapitel 6 Differenzierbarkeit. Kapitel 6: Differenzierbarkeit © Beutelspacher Juni 2005 Seite 2 Inhalt 6.1 Die Definition 6.2 Die Eigenschaften 6.3 Extremwerte.
Die Türme von Hanoi Die Lösungsfindung nach dem Prinzip der Rekursion wird noch einmal textuell und grafisch erläutert
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Algorithmen des Internets 2005 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität 1 Materialien zu Übung 9 Bälle in Körbe Ranged.
Situationen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
Wie macht man ein Sudoku? Transformations-Methode:
Kakuro Regeln und Strategien
Seminar Stringtheorie und Geometrische Methoden der Physik
Variationsformalismus für das freie Teilchen
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
§3 Allgemeine lineare Gleichungssysteme
Lineare Funktionen und ihre Schaubilder, die Geraden
Lösen von quadratischen Ungleichungen
Teil II.1 Wiederholung: Skript Esparza, Kapitel 1 und 2
Petrinetze 1. Einführung Informatik : wesentlich Modellierung von
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Systeme II - Probeklausur - Arne Vater Sommersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Das Traveling Salesman Problem (TSP)
Analyse der Laufzeit von Algorithmen
Vom graphischen Differenzieren
Dr.-Ing. R. Marklein - GET I - WS 06/07 - V Grundlagen der Elektrotechnik I (GET I) Vorlesung am Fr. 08:30-10:00 Uhr; R (Hörsaal)
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Suche des kürzesten Weges in einem Netz.
Der A*-Algorithmus.
Version vom Max-Flow in Orientierten Matroiden Winfried Hochstättler & Robert Nickel Fernuniversität in Hagen Lehrstuhl für Diskrete Mathematik.
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
Geoinformationssysteme
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 2 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
ResA am Arbeitsplatz Das Vorgehen ist angelehnt an „5 S“ und bietet Ihnen die Möglichkeit das Konzept der 5 Disziplinen ressourcenschonenden Arbeitens.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 3 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Graphen.
 Präsentation transkript:

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

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

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

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

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!

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

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

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?

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

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

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

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?

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

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

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

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?

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

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!

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!

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.

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

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

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

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

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)

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

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

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

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!

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)

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

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

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‘

5. Geometrische Interpretation

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?

6. Optimierungsmöglichkeiten

6. Optimierungsmöglichkeiten

6. Optimierungsmöglichkeiten

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!

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“

7. Kombination mit anderen Reduktionstechniken

Vielen Dank für eure Aufmerksamkeit