Spezialvorlesung Suchalgorithmen Thema: Einzelzustandsraumsuche Stefan Edelkamp.

Slides:



Advertisements
Ähnliche Präsentationen
Grundlagen des A*-Algorithmus und Anwendung in der Routenplanung
Advertisements

Algorithm Engineering
Berechne den optimalen (kürzesten, schnellsten) Weg
Datenstrukturen und Algorithmen
Man bestimme den „minimalen aufspannenden Baum“ des Graphen.
Single-Source Shortest Paths: SSSP
Eine dynamische Menge, die diese Operationen unterstützt,
Minimum Spanning Tree: MST
Prof. Dr. S. Albers Prof.Dr.Th Ottmann
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (26-Graphenalgorithmen: Wiederholung und Übung) Prof. Th. Ottmann.
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
7.2 B-Bäume / B*-Bäume als Hilfsmittel zur Indexorganisation
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Das LCA – Problem in Suffixbäumen
GIN2 – 2. Vorlesung, SS04 Prof. Dr. Wolfram Conen
FH-Hof Der B-Baum Richard Göbel. FH-Hof Wahl des Verzweigungsgrad Verzweigungsgrad kann größer als 2 sein v Nachfolger für einen Knoten v-1 Werte in einem.
Kapitel 6: Klassifizierung von Sortiertechniken
7. Natürliche Binärbäume
Kapitel 5. Stacks und Queues
Spezialvorlesung Suchalgorithmen Thema: External Probabilistic Planning Stefan Edelkamp.
Problemlösen durch Suchen
Informierte Suche.
Sortieren mit Binären Bäumen
FH-Hof Künstliche Intelligenz - Suchbäume Richard Göbel.
Algorithmentheorie 04 –Hashing
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (16 – Fibonacci-Heaps) T. Lauer.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (25 – Fibonacci-Heaps – Analyse) T. Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Algorithmentheorie 03 – Randomisierung (Closest Pair)
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Fibonacci-Heaps – Analyse) Tobias Lauer.
WS Algorithmentheorie 15 – Fibonacci-Heaps Tobias Lauer.
WS Algorithmentheorie 15 – Fibonacci-Heaps Tobias Lauer.
WS03/041 Binomial Queues Prof. Dr. S. Albers Prof.Dr.Th Ottmann.
Informatik II: Algorithmen und Datenstrukturen SS 2013
Algorithmen und Komplexität
Heaps und Priority Queues
Minimum Spanning Tree: MST
Teil I: Uninformierte Suche
Teil II: Informierte Suche
ADS – Vorlesung Prof. Dr. Wolfram Conen
Splay Trees Von Projdakov Benjamin.
2. Die rekursive Datenstruktur Baum 2
Eine Implementierung einer effiziente externe geordnete (!) lineare Liste Operationen: Search(x) Insert(x) Delete(x)
Effiziente Algorithmen
Diskrete Mathematik II
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation
Algorithm Engineering Schnelles Sortieren Stefan Edelkamp.
Graphen und Bäume.
Kapitel 5: Von Datenstrukturen zu Abstrakten Datentypen
Kapitel 8: Graphalgorithmen 8. 1 Grundlagen 8
Die Idee hinter Copying Garbage Collection (1) Aufteilung des Heaps in zwei Teile: To-Space und From-Space Nutzung eines Teiles durch das Programm Ist.
Kapitel 8: Graphalgorithmen 8. 1 Grundlagen 8
Algorithmen und Datenstrukturen 1 SS 2002
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II 6. Sem. Vorlesung April 2000 AVL-Bäume.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
Der A*-Algorithmus.
Amortisierte Analyse: Buchhaltermethode
Vorlesung AVL-Bäume/Algorithmen-
Vorlesung AVL-Bäume/Algorithmen-
 Präsentation transkript:

Spezialvorlesung Suchalgorithmen Thema: Einzelzustandsraumsuche Stefan Edelkamp

Struktur des Buchs

Ü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

Ü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

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)

Graphabstraktion durch Knotenkontraktion Additiv: Nicht-Additiv:

Ü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

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

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

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

Ü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

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!

Weak-Heaps Merging zweier WHs:

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

Ü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

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!

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

Suffix-Lists

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

Ü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

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)

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

Anomalie Tiefensuche + Tiefenschranke Wiederöffnung bereits expandierter Knoten

Ü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

Frontier-Suche (1): Genutzte Operatoren

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.

Ü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

Breadth-First Heuristic Search