highway hierarchien n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Highway Hierarchien PowerPoint Presentation
Download Presentation
Highway Hierarchien

Loading in 2 Seconds...

play fullscreen
1 / 32

Highway Hierarchien - PowerPoint PPT Presentation


  • 74 Views
  • Uploaded on

Highway Hierarchien. Exakte kürzeste Pfade in sehr großen Straßennetzwerken. Seminar: Indizieren und Anfragen von Graphen in Datenbanken Vortragender: Andreas Wickert. Übersicht. Einleitung Der Dijkstra-Algorithmus Voraussetzungen Komponenten und Parameter Ablauf Beispiel

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Highway Hierarchien' - demi


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
highway hierarchien

Highway Hierarchien

Exakte kürzeste Pfade

in sehr großen Straßennetzwerken

Seminar:

Indizieren und Anfragen von Graphen

in Datenbanken

Vortragender:

Andreas Wickert

bersicht
Übersicht
  • Einleitung
  • Der Dijkstra-Algorithmus
    • Voraussetzungen
    • Komponenten und Parameter
    • Ablauf
    • Beispiel
  • Highway Hierarchien
    • Motivation
    • Idee
    • Konstruktion
    • Begriffe
    • Anfragen
  • Fazit
  • Quellen

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

einleitung
Einleitung
  • Kürzeste Pfade finden ist ein altes Problem
  • Wichtig für Navigationssysteme und Internet-Applikationen
  • Route:Berlin-München?Wahrscheinlich über eine Autobahn(Abbildung aus [6])

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

l sungsans tze
Lösungsansätze
  • Lösung von Dijkstra
    • Für Single-Source Shortest Paths Problems
  • Besser: Highway Hierarchien von Dominik Schultes und Peter Sanders
    • Hierarchien für Straßennetzwerke automatisch bestimmen

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

der dijkstra algorithmus voraussetzungen
Der Dijkstra-Algorithmus –Voraussetzungen
  • Graph mit den Eigenschaften:
    • Gerichtet
    • Gewichtet
    • Keine negativ-gewichteten Kanten
  • Berechnung kürzester Pfade zu allen von einem Startknoten s0 aus erreichbaren Knoten

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

dijkstra komponenten und parameter
Dijkstra – Komponenten und Parameter
  • Min-Prioritäts-Warteschlange Q
    • Enthält zu Beginn alle Knoten des Graphen
    • s0 hat Wert = 0 (Entfernung von s0 zu s0)
    • Alle anderen Knoten haben Wert 
  • Menge von Knoten: S
    • Nachbarn der Knoten in dieser Menge sind besucht worden
  • Parameter für Algorithmus:
    • Graph
    • s0
    • Gewichtsfunktion w

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

dijkstra pseudocode
Dijkstra – Pseudocode

DIJKSTRA(G,w,s0) //G=Graph,w=Ziel,s0=Start

  • Initialisiere Suche (G, s0)
  • Menge S ist leer
  • Alle Knoten von G in die Queue Q einfügen
  • WHILE Q nicht leer
  • Extract-Min(Q)//liefert Knoten u
  • Füge u zu S hinzu
  • FOR jeden Knoten v aus der Adj[u]*
  • RELAX(u,v,w)

*Adj[u] = alle Knoten, die in der Adjazenzliste bei u eingetragen sind

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

dijkstra laufzeit
Dijkstra – Laufzeit
  • Alle Knoten werden am Anfang in die Queue eingefügt: Insert = O(V)
  • Die WHILE-Schleife wird ebenfalls nur |V|-mal durchlaufen
  • Der worst case bei Array-Datenstruktur für Extract-Min benötigt O(V)
  • Die FOR-Schleife wird für jede Kante einmal durchlaufen (|E|)
  • Totale Laufzeit: O(V2 + E) = O(V2)

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

dijkstra beispiel schritt 1
Dijkstra – Beispiel – Schritt 1

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

dijkstra beispiel schritt 2
Dijkstra – Beispiel – Schritt 2

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

dijkstra beispiel schritt 3
Dijkstra – Beispiel – Schritt 3

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

dijkstra beispiel schritt 4
Dijkstra – Beispiel – Schritt 4

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

dijkstra beispiel schritt 5
Dijkstra – Beispiel – Schritt 5

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

dijkstra beispiel schritt 6
Dijkstra – Beispiel – Schritt 6

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

dijkstra beispiel schritt 7
Dijkstra – Beispiel – Schritt 7

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

dijkstra beispiel schritt 8
Dijkstra – Beispiel – Schritt 8

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

dijkstra beispiel schritt 9
Dijkstra – Beispiel – Schritt 9 ...

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

besser
BESSER:

HIGHWAY HIERARCHIEN

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

motivation
Motivation

Gute Algorithmen sind bisher entweder

  • sehr rechenintensiv

oder

  • schnell und ungenau

Ziel:

Suche beschleunigen und Qualität erhöhen

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

slide20
Idee
  • Straßen in Hierarchien einteilen:
    • Autobahn (sehr hohe Priorität)
    • Schnellstraße
    • Bundesstraße
    • ...
    • Spielstraße
    • Feldweg (sehr geringe Priorität)

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

naive idee
Naive Idee
  • Suche nach einer sinnvollen/ angemessenen Autobahn
  • Fahre auf der Autobahn bis zu einer dem Zielort nahen Ausfahrt
  • Suche das Ziel ab der Ausfahrt

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

vor und nachteile dieser taktik
Vor- und Nachteile dieser Taktik
  • Pro:
    • Schneller auf der Autobahn um Städte herum
    • Straßen mit geringerer Priorität können bei der Suche ignoriert werden
  • Kontra:
    • Eventuell werden Abkürzungen übersehen bzw. außer acht gelassen (durch Ignorieren)
    • Manchmal ist man auf einer Bundesstraße effektiv schneller als auf einer Autobahn

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

highway hierarchien ansatz
Highway Hierarchien – Ansatz
  • automatische Bestimmung der Hierarchien
  • nicht Bezeichnung der Straße als Grundlage, sondern die tatsächlich kürzesten bzw. schnellsten Wege

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

highway hierarchien konstruktion
Highway Hierarchien – Konstruktion
  • Lokale Suche für alle Knoten
  • Einschränkung der Suche durch vorher festgelegten Parameter H (Nachbarschaft)
  • Ausdünnen:
    • entferne isolierte Knoten
    • Pfade, dessen Knoten vi nur deg(vi)=2 haben, werden als eine Kante betrachtet (Linien)
  • Ausgedünnter Graph bildet neues Level
  • Lokale Suche auf neuem Level...

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

beispiel h nachbarschaft f r h 5
Beispiel – H-Nachbarschaft für H=5

(Abbildung aus [2])

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

beispiel linie
Beispiel – Linie

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

begriffe komponente
Begriffe – Komponente
  • Formal im Paper [2]
  • Komponenten können nicht über horizontale Kanten gewechselt werden
  • Beispiele (von [6]):

A100 in Berlin

A44 (Aachen-Kassel)

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

begriffe horizotale vertikale kanten
Begriffe – horizotale/vertikale Kanten
  • Horizontale Kanten
    • Verbinden Knoten miteinander, die auf einem Level und in einer Komponente liegen
    • Eine horizontale Kante kann auf mehreren Levels enthalten sein
  • Vertikale Kanten
    • Verbinden zwei oder mehrere Instanzen des selben Knotens auf unterschiedlichen Levels
    • Haben Gewicht von 0
    • Ermöglichen den Wechsel zwischen Levels

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

anfragen
Anfragen
  • Ähnlich einer bidirektionalen Dijkstra-Suche
  • Suche hält erst, wenn beide Suchen terminiert sind
  • Vergleich der Fronten-Treffer und Auswahl des tatsächlich kürzesten bzw. schnellsten Pfades
  • Start- bzw. Zielknoten liegen jeweils auf Level 0
  • Entweder Verwendung horizontaler oder vertikaler Kanten
    • Dabei Favorisierung vertikaler Kanten, die auf höhere Level führen

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

anfragen restriktionen
Anfragen – Restriktionen
  • Nutze keine horizontale Kante, wenn diese die Nachbarschaft des Knotens verlässt.
  • Eine Komponente wird nie über eine horizontale Kante erreicht.

Anfrage-Beispiel: Siehe Applet [5]

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

fazit
Fazit
  • Suchgeschwindigkeit gesteigert durch ausgedünnte (nahezu planare) Netzwerke
  • Besseres Ergebnis aufgrund automatisch erzeugter Hierarchie
  • Aufwändiges Preprocessing zahlt sich später aus
  • Kaum Unterschied in der Suchzeit zwischen Anfragen mit großem Abstand und Anfragen mit kleinem

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert

quellen
Quellen
  • Cormen, Leiserson, Riverst, and Stein. Dijkstra’s Algorithm. The MIT Press, 2nd ed., 4th print. edition, 2003.
  • D. Schultes. Fast and exact shortest path queries using highway hierarchies. Master’s thesis, Universität des Saarlandes, July 2005, http://algo2.iti.uka.de/schultes/hwy/hwyHierarchies.pdf.
  • Peter Sanders and Dominik Schultes. Highway hierarchies hasten exact shortest path queries. European Symposium on Algorithms, pages 568–579, 2005.
  • Peter Sanders and Dominik Schultes. Engineering Fast Route Planning Algorithms. Springer-Verlag Berlin Heidelberg, http://algo2.iti.uka.de/schultes/hwy/weaOverview.pdf, 2007.
  • Dominik Schultes. Highway hierarchies demo - (2008-01-06) –http://algo2.iti.unikarlsruhe.de/schultes/hwy/demo/hhclientde.jar.
  • Google Maps, http://maps.google.de (2008-02-16).

Indizieren u. Anfragen v. Graphen i. Datenbanken – Highway Hierarchien – Andreas Wickert