Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Grundlagen des A*-Algorithmus und Anwendung in der Routenplanung GIS Seminar WS 02/03 Christian Siemes.

Ähnliche Präsentationen


Präsentation zum Thema: "Grundlagen des A*-Algorithmus und Anwendung in der Routenplanung GIS Seminar WS 02/03 Christian Siemes."—  Präsentation transkript:

1 Grundlagen des A*-Algorithmus und Anwendung in der Routenplanung GIS Seminar WS 02/03 Christian Siemes

2 Übersicht Wiederholung –Dijkstra-Algorithmus Ableitung des A*-Algorithmus –Wichtigste Eigenschaften Adaption auf die Routenplanung Vergleich mit Floyd-Algorithmus und Dijkstra-Algorithmus

3 Problemvorstellung

4 Problemvorstellung Startknoten Zielknoten

5 Problemvorstellung Startknoten Zielknoten kürzester Weg

6 Problemvorstellung Laufzeit Bestimmende Faktoren –Anzahl der untersuchten Knoten im Graphen –Rechenzeit für jeden Knoten

7 Datenstrukturen Graph G Suchbaum T Liste OPEN G(N) –Kosten des Pfades von S bis N –N ist der aktuell betrachtete Knoten

8 Dijkstra-Algorithmus Initialisieren –OPEN und T schaffen –S auf OPEN setzen mit G(N) = 0 10 S Z OPEN G(N) T 1 0

9 Dijkstra-Algorithmus Schleife –Falls OPEN leer, beende die Schleife S Z TOPEN G(N) 1 0

10 Dijkstra-Algorithmus OPENG(N) S Z

11 Dijkstra-Algorithmus Schleife –Falls OPEN leer, beende die Schleife S Z TOPEN G(N) 1 0 –Entferne den ersten Knoten aus OPEN und setze ihn in T

12 Dijkstra-Algorithmus Schleife –Falls OPEN leer, beende die Schleife S Z T 1 OPEN G(N) –Entferne den ersten Knoten aus OPEN und setze ihn in T

13 Dijkstra-Algorithmus S Z T 1 OPEN G(N) Schleife –Falls OPEN leer, beende die Schleife –Entferne den ersten Knoten aus OPEN und setze ihn in T –Falls Z gefunden, rekonstruiere Pfad und beende die Schleife

14 Dijkstra-Algorithmus S Z T 1 OPEN G(N) Schleife –Falls Z gefunden, rekonstruiere Pfad und beende die Schleife –Falls Z nicht gefunden, setze alle Nachfolger auf OPEN und berechne deren Kosten G(N)

15 Dijkstra-Algorithmus S Z T 1 OPEN G(N) Schleife –Falls Z gefunden, rekonstruiere Pfad und beende die Schleife –Falls Z nicht gefunden, setze alle Nachfolger auf OPEN und berechne deren Kosten G(N)

16 Dijkstra-Algorithmus –Ordne OPEN bezüglich G(N) aufsteigend S Z T 1 OPEN G(N) Schleife –Falls Z gefunden, rekonstruiere Pfad und beende die Schleife –Falls Z nicht gefunden, setze alle Nachfolger auf OPEN und berechne deren Kosten G(N)

17 Dijkstra-Algorithmus S Z T 1 OPEN G(N) –Ordne OPEN bezüglich G(N) aufsteigend Schleife –Falls Z gefunden, rekonstruiere Pfad und beende die Schleife –Falls Z nicht gefunden, setze alle Nachfolger auf OPEN und berechne deren Kosten G(N)

18 Dijkstra-Algorithmus Schleife –Wiederhole die Schleife S Z T 1 OPEN G(N)

19 Dijkstra-Algorithmus S Z T 1 OPEN G(N) S Z T 1 OPEN G(N) 220 3

20 Dijkstra-Algorithmus S Z T 1 OPEN G(N) S Z T 1 OPEN G(N)

21 Dijkstra-Algorithmus S Z T 1 OPEN G(N) S Z T 1 OPEN G(N)

22 Dijkstra-Algorithmus S Z T 1 OPEN G(N) S Z T 1 OPEN G(N) G(4) = 11

23 Spezialisierung zu Algorithmus A Problem –Dijkstra-Algorithmus sucht in allen Richtungen Idee –Suche bevorzugt in Richtung des Zielknotens SSZZ Gerichtete SucheUngerichtete Suche

24 Spezialisierung zu Algorithmus A Problem –Dijkstra-Algorithmus sucht in allen Richtungen Idee –Suche bevorzugt in Richtung des Zielknotens Umsetzung –Abschätzung der Kosten von N zu Z: H(N) –F(N) = G(N) + H(N) berechnen und OPEN bezüglich F(N) aufsteigend sortieren

25 Spezialisierung zu Algorithmus A F(N) schätzt die Kosten, die der kürzeste Pfad von S zu Z, der zwangsweise über N führt, besitzt S Z N G(N) H(N)

26 Algorithmus A* Notation –G(N), H(N)(geschätzte Kosten) –G*(N), H*(N)(wirkliche Kosten) Gilt H(N) H*(N), dann findet Algorithmus A immer den kürzesten Pfad zum Zielknoten. Algorithmus A wird zu Algorithmus A*.

27 Eigenschaften von A* Definition Ein Algorithmus ist zulässig, wenn er immer den kürzesten Pfad vom Startkonten zum Zielkonten findet, wenn dieser existiert. Eigenschaft 4 A* ist zulässig. Eigenschaft 6 A 1 und A 2 sind zwei Versionen von A* A 2 ist besser informiert als A 1, falls H 1 (N) < H 2 (N) A 2 erkundet höchstens die gleiche Anzahl von Knoten wie A 1

28 Eigenschaften von A* NjNj NkNk C(N j,N k ) H(N k ) H(N j ) Monotonie-Einschränkung C(N j,N k ) H(N j ) - H(N k ), bzw. H(N k ) + C(N j,N k ) H(N j )

29 Eigenschaften von A* Eigenschaft 7 Ist die Monotonie-Einschränkung erfüllt, dann hat der A*-Algorithmus den kürzesten Pfad zu jedem Knoten gefunden, der zur Erkundung ausgewählt wird.

30 Eigenschaften von A* 1 H(2)= H(3)=1 S Z OPEN F(2)=3+6=9 F(3)=7+1=8

31 Eigenschaften von A* 1 H(2)= H(3)=1 S Z Widerspruch! C(2,3)=2 H(6)-H(3)=5 OPEN F(2)=3+6=9 F(4)=11

32 Adaption des A*-Algorithmus auf die Routenplanung Graph besitzt Geometrie H(N) H*(N) muss erfüllt sein. Luftlinie von N zu Z * höchste Geschwindigkeit

33 Adaption des A*-Algorithmus auf die Routenplanung Luftlinie = euklidischen Abstand –eukl(N) = Wurzel [(x Z - x N )² + (y Z - y N )²] Höchste Geschwindigkeit = maximale im Graph vorkommende Geschwindigkeit –V max H(N) = V max * eukl(N)

34 Vergleich mit anderen Algorithmen Beispiele für die Größenordnung der Graphen:

35 Laufzeit und Speicherplatz ( n... Anzahl der Knoten e... Anzahl der Kanten) Floyd-Algorithmus einmal ausführen, um alle kürzesten Wege im Graphen zu finden Anwenden, wenn viele kürzeste Wege im Graphen gesucht werden

36 Dijkstra-Alogrithmus Unterschied zum A*-Algorithmus –Dijkstra-Algorithmus: F(N) = G(N) –A*-Algorithmus: F(N) = G(N) + H(N) Speicherplatz ist für beide Algorithmen gleich Laufzeitunterschiede wegen H(N)

37 Dijkstra-Alogrithmus Empirische Untersuchungen von Stephan Hasselberg haben ergeben: –A*-Algorithmus untersucht 2 bis 5 mal weniger Knoten –Vorteil wird nahezu aufgehoben wegen H(N) –Bei großen geometrischen Distanzen zwischen S und Z wird H(N) so rechenintensiv, dass der Dijkstra- Algorithmus schneller ist

38 Schlussbemerkung War alles umsonst? Overdo-Faktor: F(N) = G(N) + f OV * H(N) mit f OV > 1 Bei guter Wahl –maximale Fehler in Grenzen –durchschnittliche Fehler klein

39 Vielen Dank für die Aufmerksamkeit!


Herunterladen ppt "Grundlagen des A*-Algorithmus und Anwendung in der Routenplanung GIS Seminar WS 02/03 Christian Siemes."

Ähnliche Präsentationen


Google-Anzeigen