Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Spezialvorlesung Suchalgorithmen Thema: Einzelzustandsraumsuche Stefan Edelkamp.

Ähnliche Präsentationen


Präsentation zum Thema: "Spezialvorlesung Suchalgorithmen Thema: Einzelzustandsraumsuche Stefan Edelkamp."—  Präsentation transkript:

1 Spezialvorlesung Suchalgorithmen Thema: Einzelzustandsraumsuche Stefan Edelkamp

2 Struktur des Buchs

3 Überblick Heuristiken und Graphabstraktionen Verbindung Dijkstra und A* Datenstrukturen Vorrangwarteschlangen (State-of-the-Art) Hash-Tabellen (State-of-the-Art) Speicherplatzbeschränkte Suche DFID + IDA*, Anomalie Frontier-Suche BFHS + Lokalität

4 Überblick Heuristiken und Graphabstraktionen Verbindung Dijkstra und A* Datenstrukturen Vorrangwarteschlangen (State-of-the-Art) Hash-Tabellen (State-of-the-Art) Speicherplatzbeschränkte Suche DFID + IDA*, Anomalie Frontier-Suche BFHS + Lokalität

5 Heuristiken h konsistent 0 w(u,v) + h(v) – h(u) h zulässig h(u) h*(u) Satz: Konsistenz impliziert Zulässigkeit Beweis: Sei p = (s=v0,…vk=t) beliebiger Pfad h(u) h*(u)

6 Graphabstraktion durch Knotenkontraktion Additiv: Nicht-Additiv:

7 Überblick Heuristiken und Graphabstraktionen Verbindung Dijkstra und A* Datenstrukturen Vorrangwarteschlangen (State-of-the-Art) Hash-Tabellen (State-of-the-Art) Speicherplatzbeschränkte Suche DFID + IDA*, Anomalie Frontier-Suche BFHS + Lokalität

8 Dijkstra´s Kürzeste Wege Algorithmus Auswahl: u mit f(u) = min { f(v) | v ist in Open } Update: f(v) = min { f(v), f(u) + w(u,v) | v ist Nachfolger von u } Initialisierung: f(s) = 0, f(u) = unendlich, falls u <> s

9 A* = Dijkstra + Neubewertung der Kantengewichte h konsistent 0 w(u,v) + h(v) – h(u) neues Kantengewicht nicht negativ Auswahl: u mit f(u) = min { f(v) | v ist in Open } Update: f(v) = min { f(v), f(u) + w(u,v) +h(v) – h(u) | v ist Nachfolger von u } Initialisierung: f(s) = h(s), f(u) = unendlich, falls u <> s

10 Vor- und nach der Neubewertung der Kantengewichte Problem: Negative Kantengewichte Wiederöffnung bereits expandierter Knoten

11 Überblick Heuristiken und Graphabstraktionen Verbindung Dijkstra und A* Datenstrukturen Vorrangwarteschlangen (State-of-the-Art) Hash-Tabellen (State-of-the-Art) Speicherplatzbeschränkte Suche DFID + IDA*, Anomalie Frontier-Suche BFHS + Lokalität

12 Datenstrukturen (1): Vorrangwarteschlangen Neu in 2005: Relaxed Weak Queues (Katajainen, Elmasry. Jensen): Insert/DecreaseKey: O(1) und DeleteMin O(log n) worst-case mit einfacher Datenstruktur als Fibonacci-Heaps!

13 Weak-Heaps Merging zweier WHs:

14 Relaxierte Weak-Queues (Heap-geordneter) Bin-baum == Perfekter (balancierter) WH Binomialqueue: Dualdarstellungsanordnung von Bin-bäumen Weak-Queue: Dualdarstellungsanordnung von WHs Relaxierte Weak-Queue: Liste von WHs nahe Dualdarstellungsanordnung + wenige Anordnungsfehler

15 Überblick Heuristiken und Graphabstraktionen Verbindung Dijkstra und A* Datenstrukturen Vorrangwarteschlangen (State-of-the-Art) Hash-Tabellen (State-of-the-Art) Speicherplatzbeschränkte Suche DFID + IDA*, Anomalie Frontier-Suche BFHS + Lokalität

16 Datenstrukturen (2): Hash-Tabellen Neu in 2003: Cuckoo Hashing (Pagh et al.): Insert: O(1) amortisiert und Lookup O(1) worst-case mit einfacher Datenstruktur!

17 Cuckoo-Hashing Problem: Rehash der gesamten Tabelle Einfügen:

18 Suffix-Lists

19 Bit-State Hashing Single Bit-State Double Bit-State

20 Überblick Heuristiken und Graphabstraktionen Verbindung Dijkstra und A* Datenstrukturen Vorrangwarteschlangen (State-of-the-Art) Hash-Tabellen (State-of-the-Art) Speicherplatzbeschränkte Suche DFID + IDA*, Anomalie Frontier-Suche BFHS + Lokalität

21 DFID und IDA* DFID (depth-first iterative-deepening): simuliert die Breitensuche mit stetig ansteigender Kostenschranke: f(n) = g(n) IDA* (iterative-deepening A*) simuliert A* mit stetig ansteigender Kostenschranke f(u)=g(u)+h(u)

22 Analyse IDA* Anzahl erwarteter Knoten, die von IDA* bis zur Kostenschranke c in einem Suchbaum mit Ni Knoten in Tiefe i expandiert werden

23 Anomalie Tiefensuche + Tiefenschranke Wiederöffnung bereits expandierter Knoten

24 Überblick Heuristiken und Graphabstraktionen Verbindung Dijkstra und A* Datenstrukturen Vorrangwarteschlangen (State-of-the-Art) Hash-Tabellen (State-of-the-Art) Speicherplatzbeschränkte Suche DFID + IDA*, Anomalie Frontier-Suche BFHS + Lokalität

25 Frontier-Suche (1): Genutzte Operatoren

26 Frontier-Suche (2): Munagala & Ranade A t t+1 t+2 BCDBCD XYZAXXYZAX AXYZAXYZ XYZXYZ I: Lösche Duplikate in aktuell generierter BFS-Schicht II: Subtrahiere BFS- Schichten t und t+1 von t+2.

27 Überblick Heuristiken und Graphabstraktionen Verbindung Dijkstra und A* Datenstrukturen Vorrangwarteschlangen (State-of-the-Art) Hash-Tabellen (State-of-the-Art) Speicherplatzbeschränkte Suche DFID + IDA*, Anomalie Frontier-Suche BFHS + Lokalität

28 Breadth-First Heuristic Search


Herunterladen ppt "Spezialvorlesung Suchalgorithmen Thema: Einzelzustandsraumsuche Stefan Edelkamp."

Ähnliche Präsentationen


Google-Anzeigen