Khatuna Khvedelidze Teona Khizanishvili

Slides:



Advertisements
Ähnliche Präsentationen
Vortrag von Stephanie Weirauch Jens Pleger Peter Jancke Frank Wejmelka
Advertisements

Algorithmentheorie 08 – Dynamische Programmierung (1)
Christian Scheideler SS 2009
Grundlagen des A*-Algorithmus und Anwendung in der Routenplanung
Algorithm Engineering
Man bestimme den „minimalen aufspannenden Baum“ des Graphen.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Minimum Spanning Tree: MST
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (26-Graphenalgorithmen: Wiederholung und Übung) Prof. Th. Ottmann.
Sortieren I - Bubblesort -
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Suche in Texten (Stringsuche )
Synonyme: Stapel, Keller, LIFO-Liste usw.
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken X Christian Schindelhauer
Anwendung und Visual Basic
Programmieren 2 Future Car Projekt Praktikum 6
Programmieren 2 Future Car Projekt Praktikum 6
Informierte Suche.
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Dynamische Programmierung (2) Matrixkettenprodukt
Algorithmen und Datenstrukturen
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt 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 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Algorithmentheorie 12 – Spannende Bäume minimalen Gewichts
Union-Find-Strukturen
Algorithmen und Datenstrukturen
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
Seminar parallele Programmierung SS 2003
Algorithmen und Komplexität
Minimum Spanning Tree: MST
Teil I: Uninformierte Suche
Kapitel 2: Datenstrukturen
Vortrag über Graphen Von Jörg Hendricks.
Feedback Motion Planning
Planung Planung Planung Planung Prof. Dr. Bernd Schmidt Planung
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
Diskrete Mathematik II
Diskrete Mathematik II
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Animation von Dijkstra
Einführung in die Programmierung
Suchstrategien Tiefensuche Suchstrategien Greedy- Suche A*- Suche
Algorithmus von Dijkstra. 0 Algorithmus von Dijkstra s Priority Queue PQ: Knoten, Priorität Weglänge Kandidatenmenge.
Animation von Dijkstra
Jan Hinzmann – – GIS Praxis II – Slide 1/10 Der Algorithmus von Dijkstra (Berechnung kürzester Wege in bewerteten Graphen) GIS Praxis II, Jan Hinzmann,
Informatik Datenstruktur Graph 3.3 Durchlaufen von Graphen
Das Traveling Salesman Problem (TSP)
Die Tiefensuche Vorgedanke: Die Sage von Theseus und dem Minotaurus
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung der Algorithmus von Floyd Foliendesign:
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.

Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Suche des kürzesten Weges in einem Netz.
Diskrete Mathe II Übung IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 2 Gruppeneinteilung Gruppe A: Mo 12:00 – 12:45 Uhr –bis einschließlich.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung der Algorithmus von Floyd.
Graph – basierte Routenplanung versus Geometrische Routenplanung
Der A*-Algorithmus.
Gliederung der Vorlesung
Programmiersprachen II Vorbesprechung Klausur Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Graph_Algorithmen Gewichtete Graphen - Minimum Spanning Tree und shortest path aus Implementierungssicht Prof. Dr. Reiner Güttler.
Programmiersprachen II Graph_Algorithmen Einführung Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
3. Die Datenstruktur Graph 3.3 Durchlaufen von Graphen
 Präsentation transkript:

Khatuna Khvedelidze Teona Khizanishvili Diskrete Planung Navigation Autonomer Mobiler Systeme Prof. Dr. Bernd Krieg-Brückner Dr. Bernd Gersdorf Khatuna Khvedelidze Teona Khizanishvili

Übersicht Diskrete Planung 1. Einführung in die diskrete Planung mit Beispielen 2. Diskrete durchführbare Planung 2.1 Ausführliche Beispiele 2.2 Suchmethoden mit bekannten Algorithmen 3. Diskrete optimale Planung 3.1 Vorwärtsiteration 3.2 Rückwärstiteration 3.3 Vorwärtsiteration versus Dijkstra Wir werden in diesem Referat auf die folgende Punkte eingehen.

1. Einführung in die diskrete Planung mit Beispielen (1) Aufgabe: Finde in einem Raum von Zuständen einen Weg /Plan zwischen einem Anfangszustand und einem oder mehreren Endzuständen

1. Einführung in die diskrete Planung mit Beispielen (2) Beispiele für die Anwendung der diskreten Planung: Zauberwürfel (engl.Rubik's Cube) (a) Ein Plan, der Farben sortiert Schiebekacheln Puzzle (b) Ein Plan, der Zahlen sortiert

1. Einführung in die diskrete Planung mit Beispielen (3) Diskrete durchführbare Planung : Finde einen Plan, der vom Anfangszustand zum Zielzustand führt. Die Aufgabe ist nicht weiter spezifiziert. Diskrete optimale Planung: Finde einen Plan, der hinsichtlich einer Randbedingung (z.B. Kosten, Zeit, Weglänge, Energie, Suchdauer…) optimal ist.

1. Einführung in die diskrete Planung mit Beispielen (4) Graphische Darstellung:

2. Diskrete durchführbare Planung

2. Diskrete durchführbare Planung 2.1 Ausführliche Beispiele(1) Der Zauberwürfel Der Zustandsraum X: die Menge aller möglichen Konfigurationen Der Zustand x: irgendeine 3 X 3 X 3 Kombination des Zauberwürfels Die Aktion: die Drehung des 3 X 3 „Blattes“ um 90 Grad Der Aktionsraum: 12 mögliche Aktionen, in jedem Zustand

2. Diskrete durchführbare Planung 2.1 Ausführliche Beispiele(2) Ein Roboter in Feldern mit Diskreten Koordinaten (i,j)‏

2. Diskrete durchführbare Planung 2.1 Ausführliche Beispiele(3) Ein Roboter im Labyrinth In den grauen Feldern sind die Knoten und die dazugehörigen Kanten gelöscht Der Roboter soll den Weg entlang der weißen Felder finden

2. Diskrete durchführbare Planung 2.1 Ausführliche Beispiele(4) Suchalgorithmen für die Findung der Pläne Die Anforderung an die Suchalgorithmen: sie sollen systematisch sein Bereits besuchte Zustände verfolgen Suche in einer Richtung: bedeutet nicht systematisch zu sein. Das bewirkt, dass in einem unbegrenzten Graphen keine Lösung gefunden wird, obwohl eine existiert. Suche in der Wellenfront: ist Systematisch

2.2 Suchmethoden mit bekannten Algorithmen(1) Graph Allgemeine Vorwärts suchen Bestimmte Vorwärts Suchmethoden Breitensuche Tiefensuche Dijkstra Algorithmus A* Algorithmus Bestensuche Iterative deepening Andere Suchmethoden Rückwärtssuche Bidirectionale Suche

2.2 Suchmethoden mit bekannten Algorithmen(2) Graph G=(V,E)‏ Ungerichtet Gerichtet Gewichtet

2.2 Suchmethoden mit bekannten Algorithmen(3) Endlicher Graph Zustände werden gespeichert Keine redundante Suche Unendlicher Graph Unendlich suchen

2.2 Suchmethoden mit bekannten Algorithmen(4) Allgemeine Vorwärtssuche FORWARD SEARCH 1 Q.Insert(xI) and mark xI as visited 2 while Q not empty do 3 x ← Q.GetFirst() 4 if x ∈ XG 5 return SUCCESS 6 forall u ∈ U(x) 7 x′ ← f(x, u) 8 if x′ not visited 9 Mark x′ as visited 10 Q.Insert(x′) 11 else 12 Resolve duplicate x′ 13 return FAILURE

2.2 Suchmethoden mit bekannten Algorithmen(5) Bestimmte Vorwärtssuchmethoden Breitensuche Tiefensuche

2.2 Suchmethoden mit bekannten Algorithmen(6) Bestimmte Vorwärtssuchmethoden Dijkstra Suchalgorithmus Suchalgorithmus um den kürzesten Pfad zu finden Dijkstra Algorithmus ist stabil und liefert immer einen Ergebnis zurück Wegen höhen asymptotischenZeitkomplexität des Algorithmus kann die Suche manchmal lange dauern

2.2 Suchmethoden mit bekannten Algorithmen(7) Bestimmte Vorwärtssuchmethoden Dijkstra Suchalgorithmus

2.2 Suchmethoden mit bekannten Algorithmen(8) Bestimmte Vorwärtssuchmethoden A* Suchalgorithmus Dijkstra-Suche,inklusive Kostenfunktion g Bestensuche, inklusive Schätzfunktion h Warteschlange ist ebenfalls eine Min-Priority-Queue Die Priorität bzgl. Eines Knotens k errecht sich wie folgt: f(k)=g(k)+h(k)

2.2 Suchmethoden mit bekannten Algorithmen(9) Bestimmte Vorwärtssuchmethoden Bestensuche Schlechter Fall Iterative Deepening Bis bestimmte Tiefe untersucht Wenn nicht gefunden Tiefe vergrößern

2.2 Suchmethoden mit bekannten Algorithmen(10) Andere Suchmethoden Rückwärtssuche Vom Ziel anfangen Auch bei Dijkstra - wenn nur ein Zielzustand Bidirektionale Suche Vorwärtssuche und Rückwärtssuche vereinigt

3. Diskrete optimale Planung(1)

3. Diskrete optimale Planung(2) Für jeden Zwischenzustand unterscheidet man zwei optimale Kosten Die optimale Cost to come: Die bereits angefallenen Kosten, vom Anfangszustand zum Zwischenzustand Die optimale Cost to go: Die noch aufzuwendenden Kosten, vom Zwischenzustand zum Zielzustand

3. Diskrete optimale Planung(3) Die Berechnung der Kosten eines optimalen Plans durch Iteration (Rückwärts und Vorwärts)‏ Die Hauptbeobachtung: die Teile optimaler Pläne sind selbst optimal Die Idee: die iterative Berechnung von optimaler cost to come Funktion mit Vorwärtsiteration die iterative Berechnung von optimaler cost to go Funktion mit Rückwärtsiteration

3. Diskrete optimale Planung 3.1. Vorwärtsiteration(1) Die optimale cost to come Funktion am K Schritt: Die abgeleitete Rekursionsformel für die optimale cost to come Funktion im gegebenen K-Schritt Plan: Die aktuelle cost to come Funktion Die vorangegangene cost to come Funktion die Kosten einer Kante (sie verbinden den aktuellen Zustand mit dem einen neuen Zustand) die Umkehrfunktion einer Aktion

3. Diskrete optimale Planung 3.1. Vorwärtsiteration(2) Diagramdarstellung von Vorwärtsiterration bei der Suche einer optimalen Planung Fünf Zustände: a, b, c, d, e Schritte: K=4 der Anfangszustand: ist festgelegt die Menge der Endzustände: ist festgelegt

3. Diskrete optimale Planung 3.1. Vorwärtsiteration(3) Ausgangsgraph mit 5 Zuständen Dupliziere die 5 Zustände  Die erste Zeile zeigt die Zustände vor dem ersten Berechnungsschritt  Die zweite Zeile zeigt die Zustände nach dem ersten Berechnungsschritt

3 3. Diskrete optimale Planung 3.1. Vorwärtsiteration(4) Ein Schritt der Vorwärtsiterration zur Berechnung der Ck* Die Darstellung von mehreren Berechnungsschritten von Ck*: Drehe die obere Abbilldung um 90º nach rechts Füge weitere Spalten ein mit den Zuständen a bis e Die Berechnung von Ck* verläuft von links nach rechts

3. Diskrete optimale Planung 3.1. Vorwärtsiteration(5) Iterative Berechnung von cost to come Funktionen Die Tabelle zeigt alle Möglichkeiten zur komulativen Berechnung von Ck*(cost to come ), wenn Anfangs- und Endzustand bekannt sind Z.B. wenn XI=a und XF=d, gilt: Plan1: abd, C3*=6 Plan2: abcd, C4*=4 Optimal Plan3: aabcd, C5*=6

3. Diskrete optimale Planung 3.2. Rückwärtsiteration Die optimale cost to go Funktion am K Schritt: Die abgeleitete Rekursionsformel für die optimale cost to go Funktion im gegebenen K-Schritt Plan: Die Berechnungsreihenfolge der optimalen cost to go Funktionen:

3. Diskrete optimale Planung 3.3. Vorwärtsiteration versus Dijkstra Gemeinsamheiten: Beide werden der dynamischen Programmierung zugeordnet Beide berechnen opimale Cost to come Funktionen Werte werden auf die gleiche weise geändert Unterschiede: Laufzeit von Dijkstra: O(|Vl*lg|V|+|E|)‏ Laufzeit von Vorwärtsiteration: O(|Kl*|V|+|E|)‏ Implementierung: Dijkstra betreibt eine extra sortierte Warteschlange Min-Priority-Queue In der Praxis: Iterative Berechnung ist für vielseitige Probleme einsetzbar Für einige Probleme kann es zu kostspielig werden, die sortierte Warteschlange beizubehalten Gutes Verständnis beider Algorithmen, um festzustellen, welches für ein gegebenes Problem am angebrachtesten ist.

Danke!