Algorithmen für Routenplanung 5. Sitzung, Sommersemester 2010 Thomas Pajor 10. Mai 2010

Größe: px
Ab Seite anzeigen:

Download "Algorithmen für Routenplanung 5. Sitzung, Sommersemester 2010 Thomas Pajor 10. Mai 2010"

Transkript

1 Algorithmen für Routenplanung 5. Sitzung, Sommersemester 00 Thomas Pajor 0. Mai 00 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK I PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft

2 Nächstes Mal Special Guest Daniel Delling Ehem. Dokotorand am ITI Wagner Forschungsbereich: Routenplanung SHARC-Routing Time-Dependent, Multi-Criteria Jetzt: Microsoft Research Silicon Valley Alternativrouten in Straßennetzen Vorlesung am 7. Mai 00, 4:00 Uhr

3 Letztes Mal Arc-Flags Hierarchische Techniken s t

4 Reach prefix(p,u) suffix(p,u) s u t Definition: sei P = s,..., u,..., t Pfad durch u dann Reach von u bezüglich P: r P (u) := min{len(p su ), len(p ut )} Reach von u: Maximum seiner Reachwerte bezüglich aller kürzesten Pfade durch u: r(u) := max{r P (u) P kürzester Weg mit u P}

5 Reach-Pruning s t somit: Reach r(u) von u gibt Suffix oder Prefix des längsten kürzesten Weges durch u wenn für u während Query r(u) < d(s, u) und r(u) < d(u, t) gilt, kann u geprunt werden s u t r P (u) t s r P (u) = r(u)

6 Reach Dijkstra - Pseudocode ReachDijkstra(G = (V, E), s, t) d[s] = 0 Q.clear(), Q.add(s, 0) while!q.empty() do u Q.deleteMin() if r(u) < d[u] and r(u) < d(u, t) then continue forall edges e = (u, v) E do if d[u] + len(e) < d[v] then d[v] d[u] + len(e) if v Q then Q.decreaseKey(v, d[v]) else Q.insert(v, d[v])

7 Probleme Probleme: Lösung: Abfrage r(u) < d(u, t) Knotenpotential π(u) gibt untere Schranke zum Ziel wenn π(t) = 0 benutze A* für Abschätzung (euklidisch oder Landmarken) gut kombinierbar mit A*

8 Probleme Probleme: Lösung: Abfrage r(u) < d(u, t) Knotenpotential π(u) gibt untere Schranke zum Ziel wenn π(t) = 0 benutze A* für Abschätzung (euklidisch oder Landmarken) gut kombinierbar mit A*

9 Potentiale durch Landmarken Idee: wähle Landmarken L aus V ( 6) berechne Distanzen von und zu allen Landmarken dann gilt: für alle u V. somit ist d(u, t) d(l, t) d(l, u) d(u, t) d(u, L ) d(t, L ) π(u) = max{max{d(l, t) d(l, u), d(u, l) d(t, l)}} l L ein gültiges Potential

10 A* + Reach A*Reach(G = (V, E), s, t) d[s] = 0 Q.clear(), Q.add(s, 0) while!q.empty() do u Q.deleteMin() if r(u) < d[u] and r(u) < π(u) then continue forall edges e = (u, v) E do if d[u] + len(e) < d[v] then d[v] d[u] + len(e) if v Q then Q.decreaseKey(v, d[v] + π(v)) else Q.insert(v, d[v] + π(v))

11 Nachteil A*Reach Problem: Potentiale nicht verfügbar Potentiale können schlechte Abschätzung sein schwaches Pruning Lösung: benutze bidirektionalen Anfragealgorithmus zwei Ansätze: self-bounding distance-bounding

12 Bidir. Self-Bounding Reach-Dijkstra Idee (für Vorwärtssuche): prune, wenn d[u] > r(u) gilt überlasse den Check d(u, t) > r(u) der Rückwärtssuche Rückwärtssuche analog (umgekehrt) ändere Stoppkriterium neues Stoppkriterium: stoppe Suche in eine Richtung wenn Queue leer oder es gilt: minkey(q) > µ/ stoppe Anfrage, wenn beide Suchrichtungen gestoppt haben Korrektheit in Übung

13 Bidir. Dist.-Bounding Reach-Dijkstra Idee (für Vorwärtssuche): wenn u von Rückwärtssuche noch nicht erreicht, ist minkey( Q ) eine untere Schranke für d(u, t) wenn u von Rückwärtssuche abgearbeitet, d(u, t) bekannt d f (s, u) s u minkey( Q ) t somit: prune, wenn r(u) < d f [u] und r(u) < min{d b [u], minkey( Q )} Stoppkriterium bleibt erhalten (also minkey( Q ) + minkey( Q ) µ) wenn als Alternierungsstrategie min{minkey( Q ), minkey( Q )} gewählt, gilt für Vorwärtssuche: d f [u] minkey( Q ) kann zusätzlich mit A* kombiniert werden

14 Optimierungen mögliche Verbesserungen: Early (Kanten-)Pruning: (u, v) muss nicht relaxiert werden, wenn gilt: d[u] + len(u, v) > r(v) und r(v) < min{d b [u], minkey( Q )} Kanten sortieren: sortiere ausgehende Kanten (u, v i ) absteigende nach r(v i ) wenn Kante relaxiert wird mit r(v i ) < minkey( Q ) und r(v i ) < d f [u] müssen die restlichen Kanten ausgehend von u nicht relaxiert werden

15 Vorberechnung: Erster Ansatz Wie kann man Reach-Werte vorberechnen? initialisieren r(u) = 0 für alle Knoten für jeden Knoten u konstruiere kürzeste Wege-Baum höhe von Knoten v: Abstand von v zum am weitesten entfernten Nachfolger für jeden Knoten v: r(v) = max{r(v), min{d(u, v), height(v)}} v height(v) altes Problem: Vorberechnung basiert auf all-pair-shortest paths somit wieder 500 Jahre Vorberechnung

16 Approximation Beobachtung: es genügt, für jeden Knoten eine obere Schranke des Reach-Wertes zu haben Problem: untere Schranken einfach zu finden: breche Konstruktion der Bäume einfach bei bestimmter Größe ab aber: untere Schranken sind unbrauchbar Berechnung von oberen Schranken deutlich schwieriger

17 Der RE-Algorithmus Erweiterungen gegenüber reinem Reach: Kanten-Reach für Vorberechnung obere Schranken durch iterative Berechnung Shortcuts Ergebnisse: schnellere Vorberechnung deutlich schnellere Anfragen

18 Kanten-Reach prefix(p,(u,v)) s u v suffix(p,(u,v)) t Definition: sei P = s,..., u, v,..., t Pfad durch (u, v) Reach von (u, v) bezüglich P: r P ((u, v)) := min{len(p sv ), len(p ut )} Reach von (u, v): Maximum seiner Reachwerte bezüglich aller kürzester Pfade durch (u, v): r((u, v)) := max{r P ((u, v)) P kürzester Weg mit (u, v) P}

19 Approx. Berechnung von Kanten-Reach Idee: gegeben: Graph und Schranke ɛ gesucht: Gültige obere Reach-Schranken für alle Kanten mir reach kleiner ɛ alle andere Kanten sollen reach von gesetzt bekommen dabei dürfen Kanten mit reach kleiner ɛ auch den Wert gesetzt bekommen, also false negatives erlaubt Problem: um r(u, v) < ɛ zu garantieren, müssen alle kürzesten Wege durch (u, v) berücksichtigt werden. Beobachtung: es gibt Pfad P st = s, s,..., u, v,..., t, t Pfad durch (u, v) mit r Pst (u, v) ɛ und r Ps t (u, v) < ɛ und r Pst (u, v) < ɛ genannt ɛ-minimal bezüglich (u, v) es reicht, ɛ-minimale Pfade zu finden (ohne Beweis)

20 Approx. Berechnung von Kanten-Reach II partieller KW-Baum T w von jedem w V stoppe, wenn garantiert, dass alle ɛ-minimalen Pfade, die bei w starten gefunden worden sind u ist innerer Knoten: u = w oder d(x, u) < ɛ mit x erster Knoten nach w zwischen u und w stoppe, wenn Queue leer oder wenn Abstand von allen Knoten in der Queue zu nähestem inneren Knoten bzgl. T w größer gleich ɛ ist für jeden inneren Knoten u berechne Höhe bezüglich T w reach für (u, v) bezüglich T w ist min{d(w, u), height Tw (u)} r(u, v) = max w V {r Tw (u, v)} wenn r(u, v) ɛ setze r(u, v) = < ɛ ɛ

21 Iterative Berechnung von Knoten-Reach Berechnen von Reach: wähle ɛ frei iterativ, solange E berechne obere Schranken mit vorherigem Verfahren entferne alle Kanten mit reach < ɛ aus Graphen setze ɛ = k ɛ wandle Kanten-Reach in Knoten-Reach um Umrechnung: r(u) min { max i {r(v i, u)}, max i {r(u, w i )} } v v u w w v 3 w 3

22 Penalties Problem: durch entfernen von Knoten und Kanten ändern sich die Längen der kürzesten Wege Lösung: halte für jeden Knoten zwei Werte vor: inpenalty(u) : maximum der reachs entfernter (w, u) Kanten outpenalty(u) : maximum der reachs entfernter (u, w) Kanten während Vorberechnung: Hänge an jeden Knoten v Pseudoknoten v mit Abstand outpenalty(v) bestimmte neue Höhe height p(u) dann r Tw (u, v) = min{d(w, u) + inpenalty(w), height p(u)}

23 Penalties Problem: durch entfernen von Knoten und Kanten ändern sich die Längen der kürzesten Wege Lösung: halte für jeden Knoten zwei Werte vor: inpenalty(u) : maximum der reachs entfernter (w, u) Kanten outpenalty(u) : maximum der reachs entfernter (u, w) Kanten während Vorberechnung: Hänge an jeden Knoten v Pseudoknoten v mit Abstand outpenalty(v) bestimmte neue Höhe height p(u) dann r Tw (u, v) = min{d(w, u) + inpenalty(w), height p(u)}

24 Penalties Problem: durch entfernen von Knoten und Kanten ändern sich die Längen der kürzesten Wege Lösung: halte für jeden Knoten zwei Werte vor: inpenalty(u) : maximum der reachs entfernter (w, u) Kanten outpenalty(u) : maximum der reachs entfernter (u, w) Kanten während Vorberechnung: Hänge an jeden Knoten v Pseudoknoten v mit Abstand outpenalty(v) bestimmte neue Höhe height p(u) dann r Tw (u, v) = min{d(w, u) + inpenalty(w), height p(u)}

25 Penalties Problem: durch entfernen von Knoten und Kanten ändern sich die Längen der kürzesten Wege Lösung: halte für jeden Knoten zwei Werte vor: inpenalty(u) : maximum der reachs entfernter (w, u) Kanten outpenalty(u) : maximum der reachs entfernter (u, w) Kanten während Vorberechnung: Hänge an jeden Knoten v Pseudoknoten v mit Abstand outpenalty(v) bestimmte neue Höhe height p(u) dann r Tw (u, v) = min{d(w, u) + inpenalty(w), height p(u)}

26 Penalties Problem: durch entfernen von Knoten und Kanten ändern sich die Längen der kürzesten Wege Lösung: halte für jeden Knoten zwei Werte vor: inpenalty(u) : maximum der reachs entfernter (w, u) Kanten outpenalty(u) : maximum der reachs entfernter (u, w) Kanten während Vorberechnung: Hänge an jeden Knoten v Pseudoknoten v mit Abstand outpenalty(v) bestimmte neue Höhe height p(u) dann r Tw (u, v) = min{d(w, u) + inpenalty(w), height p(u)}

27 Penalties Problem: durch entfernen von Knoten und Kanten ändern sich die Längen der kürzesten Wege Lösung: halte für jeden Knoten zwei Werte vor: inpenalty(u) : maximum der reachs entfernter (w, u) Kanten outpenalty(u) : maximum der reachs entfernter (u, w) Kanten während Vorberechnung: Hänge an jeden Knoten v Pseudoknoten v mit Abstand outpenalty(v) bestimmte neue Höhe height p(u) dann r Tw (u, v) = min{d(w, u) + inpenalty(w), height p(u)}

28 Penalties Problem: durch entfernen von Knoten und Kanten ändern sich die Längen der kürzesten Wege in = out Lösung: halte für jeden Knoten zwei Werte vor: inpenalty(u) : maximum der reachs entfernter (w, u) Kanten outpenalty(u) : maximum der reachs entfernter (u, w) Kanten während Vorberechnung: Hänge an jeden Knoten v Pseudoknoten v mit Abstand outpenalty(v) bestimmte neue Höhe height p(u) dann r Tw (u, v) = min{d(w, u) + inpenalty(w), height p(u)}

29 Penalties Problem: durch entfernen von Knoten und Kanten ändern sich die Längen der kürzesten Wege Lösung: halte für jeden Knoten zwei Werte vor: inpenalty(u) : maximum der reachs entfernter (w, u) Kanten outpenalty(u) : maximum der reachs entfernter (u, w) Kanten während Vorberechnung: Hänge an jeden Knoten v Pseudoknoten v mit Abstand outpenalty(v) bestimmte neue Höhe height p(u) dann r Tw (u, v) = min{d(w, u) + inpenalty(w), height p(u)} in = out

30 Penalties Problem: durch entfernen von Knoten und Kanten ändern sich die Längen der kürzesten Wege Lösung: halte für jeden Knoten zwei Werte vor: inpenalty(u) : maximum der reachs entfernter (w, u) Kanten outpenalty(u) : maximum der reachs entfernter (u, w) Kanten während Vorberechnung: Hänge an jeden Knoten v Pseudoknoten v mit Abstand outpenalty(v) bestimmte neue Höhe height p(u) dann r Tw (u, v) = min{d(w, u) + inpenalty(w), height p(u)}

31 Shortcuts Beobachtung: lange modellierte Pfade in Straßennetzwerken erscheint unnötig, alle diese Knoten anzuschauen Idee: füge iterativ Shortcuts ein Shortcuts verkleinern reach Werte

32 Shortcuts Beobachtung: lange modellierte Pfade in Straßennetzwerken erscheint unnötig, alle diese Knoten anzuschauen Idee: füge iterativ Shortcuts ein Shortcuts verkleinern reach Werte

33 Shortcuts Beobachtung: lange modellierte Pfade in Straßennetzwerken erscheint unnötig, alle diese Knoten anzuschauen Idee: füge iterativ Shortcuts ein Shortcuts verkleinern reach Werte

34 Shortcuts Beobachtung: lange modellierte Pfade in Straßennetzwerken erscheint unnötig, alle diese Knoten anzuschauen Idee: füge iterativ Shortcuts ein Shortcuts verkleinern reach Werte

35 Shortcuts Beobachtung: lange modellierte Pfade in Straßennetzwerken erscheint unnötig, alle diese Knoten anzuschauen Idee: füge iterativ Shortcuts ein Shortcuts verkleinern reach Werte

36 Shortcuts Beobachtung: lange modellierte Pfade in Straßennetzwerken erscheint unnötig, alle diese Knoten anzuschauen Idee: füge iterativ Shortcuts ein Shortcuts verkleinern reach Werte

37 Shortcuts Beobachtung: lange modellierte Pfade in Straßennetzwerken erscheint unnötig, alle diese Knoten anzuschauen Idee: 0 0 füge iterativ Shortcuts ein Shortcuts verkleinern reach Werte

38 Shortcuts Beobachtung: lange modellierte Pfade in Straßennetzwerken erscheint unnötig, alle diese Knoten anzuschauen 0 Idee: füge iterativ Shortcuts ein Shortcuts verkleinern reach Werte

39 Kontraktion des Graphen Vorgehen: überspringe iterativ Knoten v aus Graphen für jede Kante eingehende Kante (u, v) und ausgehende (v, w) füge Shortcut (u, w) mit len(u, w) = len(u, v) + len(v, w) ein wenn Kante schon existiert: len(u, w) = min{len(u, w), len(u, v) + len(v, w)} r(u, v) = len(u, v) + outpenalty(v), r(v, w) = len(v, w) + inpenalty(v) entferne (u, v), (v, w) und v aus Graphen Reihenfolge: Reihenfolge wie Knoten entfernt werden, ändert das Ergebnis benutze Priority Queue zum Verwalten, wenn als nächstes Expansion c(v) = deg in (v) deg out (v)/(deg in (v) + deg out (v)) stoppe wenn c(v) > C, (meist C =.5 gewählt)

40 Verfeinerung der Reach Werte Problem: Idee: Approximation schaukelt sich auf hohe Werte werden massiv überschätzt diese Knoten genau die wichtige für die Anfragen nach voller Vorberechnung extrahiere δ Knoten mit höchstem Reach berechne exakten Reach mit APSP für diesen Subgraphen (mit Penalties) wenn neuer Reachwert kleiner, aktualisiere

41 RE Vorberechnung: wähle ɛ frei iterativ, solange E Kontrahiere Graphen berechne obere Schranken mit vorherigem Verfahren entferne alle Kanten mit reach < ɛ aus Graphen setze ɛ = k ɛ wandle Kanten-Reach in Knoten-Reach um verfeinere Knoten-Reach Werte Anfrage: Bidirectional Distance-Bounding Reach-Dijkstra auf Graphen mit Shortcuts

42 RE Vorberechnung: wähle ɛ frei iterativ, solange E Kontrahiere Graphen berechne obere Schranken mit vorherigem Verfahren entferne alle Kanten mit reach < ɛ aus Graphen setze ɛ = k ɛ wandle Kanten-Reach in Knoten-Reach um verfeinere Knoten-Reach Werte Anfrage: Bidirectional Distance-Bounding Reach-Dijkstra auf Graphen mit Shortcuts

43 RE Vorberechnung: wähle ɛ frei iterativ, solange E Kontrahiere Graphen berechne obere Schranken mit vorherigem Verfahren entferne alle Kanten mit reach < ɛ aus Graphen setze ɛ = k ɛ wandle Kanten-Reach in Knoten-Reach um verfeinere Knoten-Reach Werte Anfrage: Bidirectional Distance-Bounding Reach-Dijkstra auf Graphen mit Shortcuts

44 Entpacken von Shortcuts Problem: Anfrage auf Graphen mit Shortcuts Distanzen bleiben erhalten kürzester Weg enthält jetzt viele Shortcuts schlecht, wenn wir den gesamten Pfad haben wollen Lösung jeder Shortcut überspringt genau einen Knoten speicher Mittelknoten für jeden Shortcut entpacke rekursiv bei Bedarf

45 Entpacken von Shortcuts Problem: Anfrage auf Graphen mit Shortcuts Distanzen bleiben erhalten kürzester Weg enthält jetzt viele Shortcuts schlecht, wenn wir den gesamten Pfad haben wollen Lösung jeder Shortcut überspringt genau einen Knoten speicher Mittelknoten für jeden Shortcut entpacke rekursiv bei Bedarf

46 Kombination mit ALT Beobachtung: RE-Algorithmus hierarchisch nicht zielgerichtet gut kombinierbar mit ALT REAL-Algorithmus RE + ALT Vorberechnung unabhängig voneinander Anfragen mit Bidirectional Distance-Bounding ALT-Reach-Dijkstra auf Graphen mit Shortcuts

47 Partielle Landmarken Beobachtung: Landmarken brauchen viel Speicher während Anfragen werden meist Knoten mit hohem Reach betrachtet s t Idee: speichere Landmarken-Informationen nur für Knoten mit Reach > R -phasiger Anfrage Algorithmus reiner Reach, relaxiere keine Kanten ausgehend von Knoten mit Reach > R wenn kürzester Weg gefunden, fertig sonst starte REAL Query von allen Knoten mit > R

48 Partielle Landmarken Beobachtung: Landmarken brauchen viel Speicher während Anfragen werden meist Knoten mit hohem Reach betrachtet s t Idee: speichere Landmarken-Informationen nur für Knoten mit Reach > R -phasiger Anfrage Algorithmus reiner Reach, relaxiere keine Kanten ausgehend von Knoten mit Reach > R wenn kürzester Weg gefunden, fertig sonst starte REAL Query von allen Knoten mit > R

49 Partielle Landmarken Beobachtung: Landmarken brauchen viel Speicher während Anfragen werden meist Knoten mit hohem Reach betrachtet s t Idee: speichere Landmarken-Informationen nur für Knoten mit Reach > R -phasiger Anfrage Algorithmus reiner Reach, relaxiere keine Kanten ausgehend von Knoten mit Reach > R wenn kürzester Weg gefunden, fertig sonst starte REAL Query von allen Knoten mit > R

50 Partielle Landmarken Beobachtung: Landmarken brauchen viel Speicher während Anfragen werden meist Knoten mit hohem Reach betrachtet s t Idee: speichere Landmarken-Informationen nur für Knoten mit Reach > R -phasiger Anfrage Algorithmus reiner Reach, relaxiere keine Kanten ausgehend von Knoten mit Reach > R wenn kürzester Weg gefunden, fertig sonst starte REAL Query von allen Knoten mit > R

51 Proxy Knoten Problem: REAL braucht Potential von jedem Knoten zu t und s r(s) und/oder r(t) könnten kleiner R sein keine Abstandswerte von den Landmarken zu s und t Lösung: bestimme Proxy-Knoten t für t (s analog), r(t ) R neue Ungleichungen: d(u, t) d(u, l ) d(t, l ) d(t, t ) d(u, t) d(l, t ) d(l, u) d(t, t )

52 Proxy Knoten Problem: REAL braucht Potential von jedem Knoten zu t und s r(s) und/oder r(t) könnten kleiner R sein keine Abstandswerte von den Landmarken zu s und t Lösung: bestimme Proxy-Knoten t für t (s analog), r(t ) R neue Ungleichungen: d(u, t) d(u, l ) d(t, l ) d(t, t ) d(u, t) d(l, t ) d(l, u) d(t, t ) l l u t t

53 Experimente Eingaben: Straßennetzwerke Europa: 8 Mio. Knoten, 4 Mio. Kanten USA: Mio. Knoten, 56 Mio. Kanten Evaluation: Vorberechnung in Minuten und zusätzliche Bytes pro Knoten durchschnittlicher Suchraum (#abgearbeitete Knoten) und Suchzeiten (in ms) von Zufallsanfragen

54 RE mit/ohne Shortcuts Eingabe: BayArea: 330k Knoten Beobachtung: Vorb. Anfrage shortcuts reach time [min] #settled time [ms] nein approx nein exakt ja approx ja exakt Shortcuts reduzieren Vorberechnungszeit beschleunigen Anfragen approximative Vorberechnung deutlich schneller Verlust in Anfragen nicht sehr groß

55 RE: Verfeinerung Beobachtung: USA Vorb. Anfrage δ time [min] #settled time Verfeinerung bringt bis zu 5% aber zu hohe Werte erhöhen Vorberechnungszeit zu massiv

56 Zufallsanfragen: RE und REAL Vorberechnung Anfrage Zeit Platz Such Zeit landmarks sparsity [min] [byte/n] raum [ms] Beobachtungen: Zuschalten von Landmarken zahlt sich aus Partielle Landmarkeninformationen reduziert Platzverbrauch

57 Übersicht: bisherige Techniken Vorberechnung Anfrage Zeit Platz Such Zeit [h:m] [byte/n] raum [ms] Beschl. Dijkstra 0: ALT-6 : ALT-64 : Arc-Flags (8) 7: RE : REAL-(6,) : REAL-(64,6) : Beobachtung: REAL ähnliche Performance wie Arc-Flags deutlich kürzere Vorberechnungszeiten höherer Speicherverbrauch

58 Zusammenfassung Reach prunen von Knoten auf Basis von Zentralitätswerten benötigt Abstand von s und t Abstand zu t durch Potential und/oder mit bidirektionalem Algorithmus Problem: Vorberechnung basiert auf APSP

59 Zusammenfassung RE/REAL Erweiterung von Reach Kanten-Reach Shortcuts iteratives Berechnen von Reach Verfeinerung REAL: Reach + ALT partielle Landmarken

60 Ideensammlung Wie Suche hierarchisch machen? identifiziere wichtige Knoten mit Zentralitätsmaß überspringe unwichtige Teile des Graphen Jetzt: letzteres

61 Hierarchische Techniken Vorläufer Highway Hierarchies (HH), Highway Node Routing (HNR) Idee: Identifiziere Hierarchie im Netzwerk und überspringe Kompliziert Contraction Hierarchies: n-level Hierarchie Hierarchie-Level durch Knotenordnung n Knoten- und Kantenreduktionen massive Vereinfachung gegenüber HH und HNR!

62 Idee Vorgehen ordne Knoten nach Wichtigkeit kontrahier Knoten in dieser Ordnung. Knoten v wird kontrahiert durch 3 KONTRAHIERE(v) für alle Paare (u, v) und (v, w) von Kanten tue wenn (u, v, w) eindeutiger kürzester Weg dann Füge Shortcut (u, w) mit Gewicht len(u, v) + len(v, w) ein Query relaxiert nur Kanten zu wichtigeren Knoten

63 Beispiel: Konstruktion

64 Beispiel: Konstruktion

65 Beispiel: Konstruktion

66 Beispiel: Konstruktion

67 Beispiel: Konstruktion

68 Beispiel: Konstruktion

69 Konstruktion wie identifiziert man nötige Shortcuts? lokale Suchen von allen Knoten u der eingehenden Kanten (u, v) ignoriere Knoten v während der Suche füge shortcut (u, w) ein wenn d(u, w) > w(u, v) + w(v, w) v Optimierungen: limitiere Suchräume der lokalen Suchen limitiere hop-zahl der Suchen Spezialfälle: -hop-suche, -hop-suche

70 Konstruktion wie identifiziert man nötige Shortcuts? lokale Suchen von allen Knoten u der eingehenden Kanten (u, v) ignoriere Knoten v während der Suche füge shortcut (u, w) ein wenn d(u, w) > w(u, v) + w(v, w) v Optimierungen: limitiere Suchräume der lokalen Suchen limitiere hop-zahl der Suchen Spezialfälle: -hop-suche, -hop-suche

71 Konstruktion wie identifiziert man nötige Shortcuts? lokale Suchen von allen Knoten u der eingehenden Kanten (u, v) ignoriere Knoten v während der Suche füge shortcut (u, w) ein wenn d(u, w) > w(u, v) + w(v, w) v Optimierungen: limitiere Suchräume der lokalen Suchen limitiere hop-zahl der Suchen Spezialfälle: -hop-suche, -hop-suche

72 Knotenordnung benutze priority queue, Knoten v wird gewichtet durch lineare Kombination: Kanten-Differenz #shortcuts #Kanten inzident zu v Uniformität e.g. #entfernter Nachbarn Kosten der Kontraktion z.b. Suchraum während Kontraktion Globale Zentralitäts-Maße... Integrierte Konstruktion and Ordnung: entferne Knoten v mit höchster Priorität kontrahiere Knoten v 3 aktualisiere Prioritäten der anderen Knoten v 3 =

73 Anfragen modifizierter bidirektionaler Dijkstra algorithmus upward graph G := (V, E ) with E := {(u, v) E : u < v} downward graph G := (V, E ) with E := {(u, v) E : u > v} Vorwärts-Suche in G and Rückwärtssuche in G node order s t 5

74 Anfragen modifizierter bidirektionaler Dijkstra algorithmus upward graph G := (V, E ) with E := {(u, v) E : u < v} downward graph G := (V, E ) with E := {(u, v) E : u > v} Vorwärts-Suche in G and Rückwärtssuche in G node order s t 5

75 Anfragen modifizierter bidirektionaler Dijkstra algorithmus upward graph G := (V, E ) with E := {(u, v) E : u < v} downward graph G := (V, E ) with E := {(u, v) E : u > v} Vorwärts-Suche in G and Rückwärtssuche in G node order s t 5

76 Anfragen modifizierter bidirektionaler Dijkstra algorithmus upward graph G := (V, E ) with E := {(u, v) E : u < v} downward graph G := (V, E ) with E := {(u, v) E : u > v} Vorwärts-Suche in G and Rückwärtssuche in G node order s t 5

77 Datenstruktur Suchgraph: normalerweise: speichere Kanten (v, w) in den Adjazenz-Arrays von v und w für die Suche reicht es aus, die Kante nur an den Knoten min{v, w} zu speichern durch ungerichtete Kanten negativer Speicherverbrauch möglich (!) node order v shortcut u stored at w w stored at u

78 Ausgabe der Pfade für jeden Shortcut (u, w) eines Pfades (u, v, w), speichere Mittelknoten v an der Kante expandiere Pfade mittels Rekursion node order s t unpack path s t

79 Experimente Eingaben: Straßennetzwerke Europa: 8 Mio. Knoten, 4 Mio. Kanten USA: Mio. Knoten, 56 Mio. Kanten Evaluation: Vorberechnung in Minuten und zusätzliche Bytes pro Knoten durchschnittlicher Suchraum (#abgearbeitete Knoten) und Suchzeiten (in ms) von Zufallsanfragen

80 CH: Vorberechnung node ordering [s] E D L S i V Q W edge difference deleted neighbors limit search space on weight calculation search space size (digits) hop limits for testing shortcuts Voronoi region size upper bound on edges in search path relative betweenness query [µs] E ED EDL EDSL EDS5 EDS35 EVSQL EVSWQL economical aggressive method

81 CH: Knotengradentwicklung average degree hop hops 3 hops 4 hops 5 hops 6 hops no hop limit size of overlay graph / 0 000

82 CH: Search Space Distribution 00 % of searches CH aggr. (max. 884) CH eco. (max. 0) HNR (max. 48) settled nodes

83 Übersicht: bisherige Techniken Vorberechnung Anfrage Zeit Platz Such Zeit [h:m] [byte/n] raum [ms] Beschl. Dijkstra 0: ALT-6 : Arc-Flags (8) 7: RE : REAL-(64,6) : eco CH 0: agg CH 0:

84 Dijkstra Rank query time [µs] CH aggressive CH economical HNR Dijkstra rank

85 Zusammenfassung Contraction Hierarchies: n Hierarchielevel Knotenreduktion durch Kontraktion Kantenreduktion durch Zeugensuche speichere Kanten nur am unwichtigeren Knoten negativer Speicherverbrauch einfaches Konzept hohe Beschleunigung

86 Ende Nächste Vorlesung: Montag, 7. Mai, 4:00 Uhr

87 Ende Literatur (Reach, RE, REAL): Ronald J. Gutman: Reach-Based Routing: A New Approach to Shortest Path Algorithms Optimized for Road Networks In: Proceedings of the 6th Workshop on Algorithm Engineering and Experiments (ALENEX 04), 004 pages 00. Andrew V. Goldberg and Haim Kaplan and Renato F. Werneck: Reach for A*: Shortest Path Algorithms with Preprocessing In: Shortest Paths: Ninth DIMACS Implementation Challenge, 009. Username: routeplanning Passwort: ss0

88 Ende Literatur (Contraction Hierarchies): Dominik Schultes: Route Planning in Road Networks Ph.D. Thesis, Universität Karlsruhe (TH), 009. Daniel Delling, Robert Geisberger, Peter Sanders, Dominik Schultes: Contraction Hierarchies: Faster and Simpler Hierarchical Routing in Road Networks In: Proceedings of the 7th Workshop on Experimental Algorithms (WEA 08), volume 5038 of Lecture Notes in Computer Science, pages Springer, June 008. Username: routeplanning Passwort: ss0

Algorithmen für Routenplanung Vorlesung 4

Algorithmen für Routenplanung Vorlesung 4 Algorithmen für Routenplanung Vorlesung 4 Daniel Delling 1/ 39 Letztes Mal (u,v) Geometrische Container Arc-Flags u 2/ 39 Themen Heute + nächste 1-2 Hierarchische Techniken s t 3/ 39 Ideensammlung Wie

Mehr

Algorithmen für Routenplanung 2. Sitzung, Sommersemester 2010 Thomas Pajor 26. April 2010

Algorithmen für Routenplanung 2. Sitzung, Sommersemester 2010 Thomas Pajor 26. April 2010 Algorithmen für Routenplanung 2. Sitzung, Sommersemester 2010 Thomas Pajor 26. April 2010 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK I PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Algorithmen für Routenplanung 4. Sitzung, Sommersemester 2010 Thomas Pajor 3. Mai 2010

Algorithmen für Routenplanung 4. Sitzung, Sommersemester 2010 Thomas Pajor 3. Mai 2010 Algorithmen für Routenplanung 4. Sitzung, Sommersemester 20 Thomas Pajor 3. Mai 20 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK I PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Algorithmen für Routenplanung 12. Sitzung, Sommersemester 2011 Reinhard Bauer, Thomas Pajor 6. Juni 2011

Algorithmen für Routenplanung 12. Sitzung, Sommersemester 2011 Reinhard Bauer, Thomas Pajor 6. Juni 2011 Algorithmen für Routenplanung 12. Sitzung, Sommersemester 2011 Reinhard Bauer, Thomas Pajor 6. Juni 2011 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK I PROF. DR. DOROTHEA WAGNER KIT Universität des

Mehr

Algorithmen für Routenplanung Vorlesung 7

Algorithmen für Routenplanung Vorlesung 7 Algorithmen für Routenplanung Vorlesung 7 Daniel Delling 1/ 47 Letztes Mal T Many-to-Many Transit-Node Routing S access node s t distances between transit nodes access node 2/ 47 Transit-Node Routing ersetzt

Mehr

Algorithmen für Routenplanung 18. Sitzung, Sommersemester 2015 Moritz Baum 13. Juli 2015

Algorithmen für Routenplanung 18. Sitzung, Sommersemester 2015 Moritz Baum 13. Juli 2015 Algorithmen für Routenplanung 18. Sitzung, Sommersemester 2015 Moritz Baum 13. Juli 2015 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Algorithmen für Routenplanung Vorlesung 3

Algorithmen für Routenplanung Vorlesung 3 Algorithmen für Routenplanung Vorlesung 3 Daniel Delling 1/ 45 Letztes Mal bidirektionale Suche A Suche A mit Landmarken bidirektionale A Suche 2/ 45 Themen Heute Geometrische Container Arc-Flags s t 3/

Mehr

Algorithmen für Routenplanung 15. Vorlesung, Sommersemester 2012 Daniel Delling 20. Juni 2012

Algorithmen für Routenplanung 15. Vorlesung, Sommersemester 2012 Daniel Delling 20. Juni 2012 Algorithmen für Routenplanung 15. Vorlesung, Sommersemester 2012 Daniel Delling 20. Juni 2012 MICROSOFT RESEARCH SILICON VALLEY KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum

Mehr

Algorithmen für Routenplanung

Algorithmen für Routenplanung Algorithmen für Routenplanung 4. Termin, Sommersemester 2011 Reinhard Bauer 2. Mai 2011 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK I PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Algorithmen für Routenplanung Vorlesung 11

Algorithmen für Routenplanung Vorlesung 11 Algorithmen für Routenplanung Vorlesung 11 Daniel Delling 1/ 35 Letztes Mal: Zeitabhängige Netzwerke Szenario: Historische Daten für Verkehrssituation verfügbar Verkehrssituation vorhersagbar berechne

Mehr

Algorithmen für Routenplanung 2. Vorlesung, Sommersemester 2014 Andreas Gemsa 20. April 2014

Algorithmen für Routenplanung 2. Vorlesung, Sommersemester 2014 Andreas Gemsa 20. April 2014 Algorithmen für Routenplanung 2. Vorlesung, Sommersemester 2014 Andreas Gemsa 20. April 2014 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Algorithmen für Routenplanung Vorlesung 10

Algorithmen für Routenplanung Vorlesung 10 Algorithmen für Routenplanung Vorlesung 10 Daniel Delling 1/ 42 Letztes Mal: Zeitabhängige Netzwerke (Basics) Szenario: Historische Daten für Verkehrssituation verfügbar Verkehrssituation vorhersagbar

Mehr

Algorithmen für Routenplanung 19. und letzte Sitzung, Sommersemester 2012 Thomas Pajor 16. Juli 2012

Algorithmen für Routenplanung 19. und letzte Sitzung, Sommersemester 2012 Thomas Pajor 16. Juli 2012 Algorithmen für Routenplanung 19. und letzte Sitzung, Sommersemester 2012 Thomas Pajor 16. Juli 2012 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes

Mehr

Route Planning in Road Networks

Route Planning in Road Networks D. Schultes: Route Planning in Road Networks 1 Route Planning in Road Networks Dominik Schultes Institut für Theoretische Informatik Algorithmik II Universität Karlsruhe (TH) http://algo2.iti.uka.de/schultes/hwy/

Mehr

Algorithmen für Routenplanung

Algorithmen für Routenplanung Algorithmen für Routenplanung 3. Termin, Sommersemester 2011 Reinhard Bauer 21.11.2011 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK I PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Algorithmen für Routenplanung 12. Sitzung, Sommersemester 2013 Julian Dibbelt 17. Juni 2013

Algorithmen für Routenplanung 12. Sitzung, Sommersemester 2013 Julian Dibbelt 17. Juni 2013 Algorithmen für Routenplanung 12. Sitzung, Sommersemester 2013 Julian Dibbelt 17. Juni 2013 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Algorithmen für Routenplanung Vorlesung 12

Algorithmen für Routenplanung Vorlesung 12 Algorithmen für Routenplanung Vorlesung 12 Daniel Delling 1/ 33 Letztes Mal: Multikriterielle Wege Szenario: schnellste Verbindung häufig nicht die Beste Anzahl Umstiege, Fahrtkosten, Distanz, etc. multikriterielle

Mehr

Algorithmen für Routenplanung 10. Sitzung, Sommersemester 2012 Daniel Delling 4. Juni 2012

Algorithmen für Routenplanung 10. Sitzung, Sommersemester 2012 Daniel Delling 4. Juni 2012 Algorithmen für Routenplanung 10. Sitzung, Sommersemester 2012 Daniel Delling 4. Juni 2012 MICROSOFT RESEARCH SILICON VALLEY KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum

Mehr

Algorithmen für Routenplanung 11. Vorlesung, Sommersemester 2012 Daniel Delling 6. Juni 2012

Algorithmen für Routenplanung 11. Vorlesung, Sommersemester 2012 Daniel Delling 6. Juni 2012 Algorithmen für Routenplanung 11. Vorlesung, Sommersemester 2012 Daniel Delling 6. Juni 2012 MICROSOFT RESEARCH SILICON VALLEY KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum

Mehr

Schnelle und genaue Routenplanung

Schnelle und genaue Routenplanung Sanders/Schultes: Routenplanung 1 Schnelle und genaue Routenplanung Peter Sanders Dominik Schultes Institut für Theoretische Informatik Algorithmik II Universität Karlsruhe Tag der Informatik, 15. Juli

Mehr

Schnelle und genaue Routenplanung

Schnelle und genaue Routenplanung Sanders/Schultes: Routenplanung 1 Schnelle und genaue Routenplanung Peter Sanders Dominik Schultes Institut für Theoretische Informatik Algorithmik II Universität Karlsruhe Uni für Einsteiger, 22. November

Mehr

Algorithmen für Routenplanung 1. Vorlesung, Sommersemester 2015 Andreas Gemsa 13. April 2015

Algorithmen für Routenplanung 1. Vorlesung, Sommersemester 2015 Andreas Gemsa 13. April 2015 Algorithmen für Routenplanung 1. Vorlesung, Sommersemester 015 Andreas Gemsa 13. April 015 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Algorithmen für Routenplanung 13. Vorlesung, Sommersemester 2017 Tobias Zündorf 26. Juni 2017

Algorithmen für Routenplanung 13. Vorlesung, Sommersemester 2017 Tobias Zündorf 26. Juni 2017 Algorithmen für Routenplanung 13. Vorlesung, Sommersemester 2017 Tobias Zündorf 26. Juni 2017 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

10. Übung Algorithmen I

10. Übung Algorithmen I INSTITUT FÜR THEORETISCHE INFORMATIK 1 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische www.kit.edu Informatik Bäume

Mehr

Algorithmen für Routenplanung

Algorithmen für Routenplanung Algorithmen für Routenplanung Übung 1 Thomas Pajor 8. Mai 2009 1/ 28 Organisatorisches Willkommen zur Übung zur Vorlesung Algorithmen für Routenplanung Euer Übungsleiter Name: Thomas Pajor E-Mail: pajor@ira.uka.de

Mehr

Praktikum Routenplanung Vorbesprechung, Wintersemester 2013/2014 Moritz Baum, Julian Dibbelt, Ben Strasser 21. Oktober 2013

Praktikum Routenplanung Vorbesprechung, Wintersemester 2013/2014 Moritz Baum, Julian Dibbelt, Ben Strasser 21. Oktober 2013 Praktikum Routenplanung Vorbesprechung, Wintersemester 013/014 Moritz Baum, Julian Dibbelt, Ben Strasser 1. Oktober 013 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität

Mehr

Genauer Hochleistungs-Routenplaner

Genauer Hochleistungs-Routenplaner Sanders/Schultes: Routenplanung 1 Genauer Hochleistungs-Routenplaner Prof. Dr. Peter Sanders Dominik Schultes Institut für Theoretische Informatik Algorithmik II Universität Karlsruhe (TH) Heidelberger

Mehr

Algorithmen für Routenplanung

Algorithmen für Routenplanung Algorithmen für Routenplanung Letzte Sitzung, Sommersemester 2010 Thomas Pajor 09. Juli 2010 I NSTITUT FÜR T HEORETISCHE I NFORMATIK A LGORITHMIK I P ROF. D R. D OROTHEA WAGNER KIT University of the State

Mehr

Kap. 6.6: Kürzeste Wege

Kap. 6.6: Kürzeste Wege Kap. 6.6: Kürzeste Wege Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 1./. VO DAP SS 009./9. Juli 009 1 Nachtest für Ausnahmefälle Di 1. Juli 009, 16:00 Uhr,

Mehr

Fortgeschrittene Routenplanung. Transportnetzen. Advanced Route Planning in Transportation Networks

Fortgeschrittene Routenplanung. Transportnetzen. Advanced Route Planning in Transportation Networks Fortgeschrittene Routenplanung in Transportnetzen Advanced Route Planning in Transportation Networks Dissertationsvortrag von Dipl.-Inform. Robert Geisberger 1 KIT Robert Universität Geisberger: des Landes

Mehr

Algorithmen für Routenplanung 1. Sitzung, Sommersemester 2010 Thomas Pajor 12. April 2010

Algorithmen für Routenplanung 1. Sitzung, Sommersemester 2010 Thomas Pajor 12. April 2010 Algorithmen für Routenplanung. Sitzung, Sommersemester 00 Thomas Pajor. April 00 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK I PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Algorithmen für Routenplanung 10. Vorlesung, Sommersemester 2016 Ben Strasser 25. Mai 2016

Algorithmen für Routenplanung 10. Vorlesung, Sommersemester 2016 Ben Strasser 25. Mai 2016 Algorithmen für Routenplanung 10. Vorlesung, Sommersemester 2016 Ben Strasser 25. Mai 2016 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Algorithmen für Routenplanung 11. Vorlesung, Sommersemester 2010 Reinhard Bauer 25. Juni 2010

Algorithmen für Routenplanung 11. Vorlesung, Sommersemester 2010 Reinhard Bauer 25. Juni 2010 Algorithmen für Routenplanung 11. Vorlesung, Sommersemester 2010 Reinhard Bauer 25. Juni 2010 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK I PROF. DR. DOROTHEA WAGNER KIT University of the State of

Mehr

Kürzeste und Schnellste Wege

Kürzeste und Schnellste Wege Kürzeste und Schnellste Wege Wie funktionieren Navis? André Nusser (Folien inspiriert von Kurt Mehlhorn) Struktur Straßennetzwerke Naiver Algorithmus Dijkstras Algorithmus Transitknoten Nachbemerkungen

Mehr

Praktikum Routenplanung Vorbesprechung, Wintersemester 2014/2015 Moritz Baum, Julian Dibbelt, Ben Strasser 22. Oktober 2014

Praktikum Routenplanung Vorbesprechung, Wintersemester 2014/2015 Moritz Baum, Julian Dibbelt, Ben Strasser 22. Oktober 2014 Praktikum Routenplanung Vorbesprechung, Wintersemester 014/015 Moritz Baum, Julian Dibbelt, Ben Strasser. Oktober 014 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität

Mehr

Algorithmen für Routenplanung 14. Vorlesung, Sommersemester 2012 Daniel Delling 18. Juni 2012

Algorithmen für Routenplanung 14. Vorlesung, Sommersemester 2012 Daniel Delling 18. Juni 2012 Algorithmen für Routenplanung 14. Vorlesung, Sommersemester 2012 Daniel Delling 18. Juni 2012 MICROSOFT RESEARCH SILICON VALLEY KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum

Mehr

Maximale s t-flüsse in Planaren Graphen

Maximale s t-flüsse in Planaren Graphen Maximale s t-flüsse in Planaren Graphen Vorlesung Algorithmen für planare Graphen 6. Juni 2017 Guido Brückner INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Algorithmen für Routenplanung

Algorithmen für Routenplanung Algorithmen für Routenplanung 16. Sitzung, Sommersemester 2011 Thomas Pajor 4. Juli 2011 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK I PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

2. Übungsblatt zu Algorithmen II im WS 2016/2017

2. Übungsblatt zu Algorithmen II im WS 2016/2017 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders Dr. Christian Schulz, Dr. Simon Gog Michael Axtmann. Übungsblatt zu Algorithmen II im WS 016/017 Aufgabe

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 0..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 4 Programm des

Mehr

Highway Hierarchies. Kristian Dannowski, Matthias Hoeschel

Highway Hierarchies. Kristian Dannowski, Matthias Hoeschel Highway Hierarchies Kristian Dannowski, Matthias Hoeschel Gliederung Einleitung / Bidirektional Dijkstra Intuition / Naive Strategie Konstruktion der Highway Hierarchie Suche in der Highway Hierarchie

Mehr

Berechnung von Abständen

Berechnung von Abständen 3. Kreis- und Wegeprobleme Abstände in Graphen Abstände in Graphen Definition 3.4. Es sei G = (V, E) ein Graph. Der Abstand d(v, w) zweier Knoten v, w V ist die minimale Länge eines Weges von v nach w.

Mehr

Graphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47

Graphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47 Graphalgorithmen Dominik Paulus.0.01 Dominik Paulus Graphalgorithmen.0.01 1 / 7 1 Spannbäume Kruskal Prim Edmonds/Chu-Liu Datenstrukturen Fibonacci-Heap Union/Find Kürzeste Pfade Dijkstra Bellman-Ford

Mehr

Vorlesung 4 BETWEENNESS CENTRALITY

Vorlesung 4 BETWEENNESS CENTRALITY Vorlesung 4 BETWEENNESS CENTRALITY 101 Aufgabe! Szenario: Sie arbeiten bei einem sozialen Online-Netzwerk. Aus der Netzwerk-Struktur Ihrer Benutzer sollen Sie wichtige Eigenschaften extrahieren. [http://www.fahrschule-vatterodt.de/

Mehr

10. Übungsblatt zu Algorithmen I im SS 2010

10. Übungsblatt zu Algorithmen I im SS 2010 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders G.V. Batz, C. Schulz, J. Speck 0. Übungsblatt zu Algorithmen I im SS 00 http//algo.iti.kit.edu/algorithmeni.php

Mehr

Vorlesung 2 KÜRZESTE WEGE

Vorlesung 2 KÜRZESTE WEGE Vorlesung 2 KÜRZESTE WEGE 34 Kürzeste Wege im Graphen Motivation! Heute:! Kürzeste Wege von einem Knoten (SSSP)! Kürzeste Wege zwischen allen Knotenpaaren (APSP)! Viele Anwendungen:! Navigationssysteme!

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Approximierbarkeit David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 10.06.2016 Übersicht Das Problem des Handelsreisenden TSP EUCLIDEAN-TSP

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

Mehr

Praktikum Routenplanung Themenvorstellung & Gruppeneinteilung, Wintersemester 2015/2016 Moritz Baum, Ben Strasser, Tobias Zündorf 19.

Praktikum Routenplanung Themenvorstellung & Gruppeneinteilung, Wintersemester 2015/2016 Moritz Baum, Ben Strasser, Tobias Zündorf 19. Praktikum Routenplanung Themenvorstellung & Gruppeneinteilung, Wintersemester 2015/2016 Moritz Baum, Ben Strasser, Tobias Zündorf 19. Oktober 2015 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF.

Mehr

Dijkstra: Laufzeit. Insgesamt: T Dijkstra = O m T decreasekey (n)+n (T deletemin (n)+t insert (n))

Dijkstra: Laufzeit. Insgesamt: T Dijkstra = O m T decreasekey (n)+n (T deletemin (n)+t insert (n)) Dijkstra: Laufzeit Function Dijkstra(s : NodeId) : NodeArray NodeArray d = {,..., }; parent[s]:= s; d[s] := 0; Q.insert(s) // O(n) while Q 6= /0 do u := Q.deleteMin // apple n foreach edge e =(u,v) 2 E

Mehr

Algorithmen I - Tutorium 28 Nr. 11

Algorithmen I - Tutorium 28 Nr. 11 Algorithmen I - Tutorium 28 Nr. 11 13.07.2017: Spaß mit Schnitten, Kreisen und minimalen Spannbäumen Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR.

Mehr

Programmierkurs Python II

Programmierkurs Python II Programmierkurs Python II Stefan Thater & Michaela Regneri Universität des Saarlandes FR 4.7 Allgemeine Linguistik (Computerlinguistik) Übersicht Topologische Sortierung (einfach) Kürzeste Wege finden

Mehr

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) 5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!

Mehr

Effiziente Algorithmen und Datenstrukturen: Kürzeste Wege

Effiziente Algorithmen und Datenstrukturen: Kürzeste Wege Effiziente Algorithmen und Datenstrukturen: Kürzeste Wege Kürzeste Wege Zentrale Frage: Wie komme ich am schnellsten von A nach B? B A Kürzeste Wege Zentrale Frage: Wie komme ich am schnellsten von A nach

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 00

Mehr

8.4 Digraphen mit negativen Kantengewichten Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0.

8.4 Digraphen mit negativen Kantengewichten Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0. 8.4 Digraphen mit negativen Kantengewichten 8.4.1 Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0. k 4 5 1 s 1 3 2 C k 0 k 3 1 1 1 k 1 k 2 v Sollte ein Pfad von s nach C und

Mehr

Schnellste Wege, Teil II Stable Marriages

Schnellste Wege, Teil II Stable Marriages Schnellste Wege, Teil II Stable Marriages Kurt Mehlhorn und Kosta Panagiotou Max-Planck-Institut für Informatik Vorlesung Computational Thinking Übersicht Wiederholung: Grundalg und Korrektheit Dijkstras

Mehr

9. Übung Algorithmen I

9. Übung Algorithmen I Timo Bingmann, Christian Schulz INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Timo Universität Bingmann, des LandesChristian Baden-Württemberg Schulz und nationales Forschungszentrum in der

Mehr

Erinnerung VL

Erinnerung VL Erinnerung VL 22.06.2016 Dijkstra: Implementierung, Laufzeit Heute: Negative Kantengewichte (Bellman-Ford) Weitere Variationen (azyklische Graphen) Ausblick: Routenplanung in Straÿennetzwerken Abschluss

Mehr

Algorithmen für Routenplanung

Algorithmen für Routenplanung Algorithmen für Routenplanung 15. Sitzung, Sommersemester 2011 Thomas Pajor 20. Juni 2011 I NSTITUT FÜR T HEORETISCHE I NFORMATIK A LGORITHMIK I P ROF. D R. D OROTHEA WAGNER KIT Universität des Landes

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 10 Suche in Graphen Version vom 13. Dezember 2016 1 / 2 Vorlesung 2016 / 2017 2 /

Mehr

Seminar Algorithmen für planare Graphen

Seminar Algorithmen für planare Graphen Seminar Algorithmen für planare Graphen Reinhard Bauer, Marcus Krug, Ignaz Rutter, Dorothea Wagner Universität Karlsruhe (TH) Institut für Theoretische Informatik Lehrstuhl Algorithmik I 24. Oktober 2008

Mehr

INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS

INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 0. Übung Algorithmen I Veit Batz, Timo Bingmann, Christian Schulz, Vitaly Osipov INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 80 xb 0,8 xa + 0,7 xb 00 kg 0,06 xa + 0,2 xb 5 kg 60 xb 70 kg 40 20

Mehr

Algorithmen und Datenstrukturen in der Bioinformatik Viertes Übungsblatt WS 05/06 Musterlösung

Algorithmen und Datenstrukturen in der Bioinformatik Viertes Übungsblatt WS 05/06 Musterlösung Konstantin Clemens Johanna Ploog Freie Universität Berlin Institut für Mathematik II Arbeitsgruppe für Mathematik in den Lebenswissenschaften Algorithmen und Datenstrukturen in der Bioinformatik Viertes

Mehr

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

Mehr

9 Minimum Spanning Trees

9 Minimum Spanning Trees Im Folgenden wollen wir uns genauer mit dem Minimum Spanning Tree -Problem auseinandersetzen. 9.1 MST-Problem Gegeben ein ungerichteter Graph G = (V,E) und eine Gewichtsfunktion w w : E R Man berechne

Mehr

Routing A lgorithmen Algorithmen Begriffe, Definitionen Wegewahl Verkehrslenkung

Routing A lgorithmen Algorithmen Begriffe, Definitionen Wegewahl Verkehrslenkung Begriffe, Definitionen Routing (aus der Informatik) Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über

Mehr

Lokalisierung von inneren und äußeren Grenzen in Sensornetzwerken

Lokalisierung von inneren und äußeren Grenzen in Sensornetzwerken Lokalisierung von inneren und äußeren Grenzen in Sensornetzwerken Seminararbeit: Algorithmen für Sensornetzwerke Thomas Gramer 1 Thomas Gramer: KIT Universität des Landes Baden-Württemberg und nationales

Mehr

Vorlesung 2 KÜRZESTE WEGE

Vorlesung 2 KÜRZESTE WEGE Vorlesung 2 KÜRZESTE WEGE 45 Kürzeste Wege im Graphen Motivation! Heute:! Kürzeste Wege von einem Knoten (SSSP)! Distanzen zwischen allen Knotenpaaren (APD)! Viele Anwendungen:! Navis! Netzwerkrouting!...

Mehr

Voronoi Diagrams. Christian Wellenbrock. December 1, 2009

Voronoi Diagrams. Christian Wellenbrock. December 1, 2009 December 1, 2009 Das Voronoi Diagramm Problemstellung Gegeben: Menge der Zentren P = {p 1,..., p n } R 2 Das Voronoi Diagramm Problemstellung Gegeben: Menge der Zentren P = {p 1,..., p n } R 2 Gesucht:

Mehr

Algorithmen für Routenplanung 13. Sitzung, Sommersemester 2014 Prof. Christos Zaroliagis 28. Mai 2014

Algorithmen für Routenplanung 13. Sitzung, Sommersemester 2014 Prof. Christos Zaroliagis 28. Mai 2014 Algorithmen für Routenplanung 13. Sitzung, Sommersemester 2014 Prof. Christos Zaroliagis 28. Mai 2014 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes

Mehr

Algorithmentechnik - U bung 7 8. Sitzung Tanja Hartmann 04. Februar 2010

Algorithmentechnik - U bung 7 8. Sitzung Tanja Hartmann 04. Februar 2010 Algorithmentechnik - U bung 7 8. Sitzung Tanja Hartmann 04. Februar 2010 I NSTITUT F U R T HEORETISCHE I NFORMATIK, P ROF. D R. D OROTHEA WAGNER KIT Universita t des Landes Baden-Wu rttemberg und nationales

Mehr

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7 1 Kürzeste Pfade Woche 6 7 Hier arbeiten wir mit gewichteten Graphen, d.h. Graphen, deren Kanten mit einer Zahl gewichtet werden. Wir bezeichnen die Gewichtsfunktion mit l : E R. Wir wollen einen kürzesten

Mehr

Praktikum Routenplanung Vorbesprechung, Wintersemester 2012/2013 Moritz Baum, Julian Dibbelt, Thomas Pajor, Ben Strasser 17.

Praktikum Routenplanung Vorbesprechung, Wintersemester 2012/2013 Moritz Baum, Julian Dibbelt, Thomas Pajor, Ben Strasser 17. Praktikum Routenplanung Vorbesprechung, Wintersemester 01/013 Moritz Baum, Julian Dibbelt, Thomas Pajor, Ben Strasser 17. Oktober 01 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK I PROF. DR. DOROTHEA

Mehr

Softwareprojektpraktikum Maschinelle Übersetzung

Softwareprojektpraktikum Maschinelle Übersetzung Softwareprojektpraktikum Maschinelle Übersetzung Jan-Thorsten Peter, Andreas Guta, Jan Rosendahl max.bleu@i6.informatik.rwth-aachen.de Vorbesprechung 5. Aufgabe 22. Juni 2017 Human Language Technology

Mehr

Berechnung minimaler Spannbäume. Beispiel

Berechnung minimaler Spannbäume. Beispiel Minimale Spannbäume Definition Sei G pv, Eq ein ungerichteter Graph und sei w : E Ñ R eine Funktion, die jeder Kante ein Gewicht zuordnet. Ein Teilgraph T pv 1, E 1 q von G heißt Spannbaum von G genau

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2006 5. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Wdhlg.: Dijkstra-Algorithmus I Bestimmung der

Mehr

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS) Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,

Mehr

Kap. 5: Graphen. Carsten Gutwenger Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund. 17. VO DAP2 SS

Kap. 5: Graphen. Carsten Gutwenger Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund. 17. VO DAP2 SS Kap. 5: Graphen Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 17. VO DAP2 SS 2009 23. Juni 2008 1 Motivation Warum soll ich heute hier bleiben? Graphen sind wichtig und

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen

Mehr

Praktikum 4: Delegation

Praktikum 4: Delegation : Delegation 1. Lernziele Die folgenden, in der Vorlesung behandelten Themen sollen vertieft und angewendet werden: Vererbung, abstrakte Klassen, Polymorphie, Delegation sowie das Zeichnen von UML-Klassendiagrammen.

Mehr

4. Kreis- und Wegeprobleme Abstände in Graphen

4. Kreis- und Wegeprobleme Abstände in Graphen 4. Kreis- und Wegeprobleme Abstände in Graphen Abstände in Graphen Definition 4.4. Es sei G = (V,E) ein Graph. Der Abstand d(v,w) zweier Knoten v,w V ist die minimale Länge eines Weges von v nach w. Falls

Mehr

Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.06.2014 1 Das Postamt-Problem b(p, q) = {x 2 R 2 : xp = xq } p q h(p, q) h(q, p) = {x

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 Bäume: Grundlagen und natürliche Suchbäume) Prof. Dr. Susanne Albers Bäume (1) Bäume sind verallgemeinerte Listen (jedes Knoten-Element kann mehr

Mehr

3. Minimale Spannbäume. Definition 99 T heißt minimaler Spannbaum (MSB, MST) von G, falls T Spannbaum von G ist und gilt:

3. Minimale Spannbäume. Definition 99 T heißt minimaler Spannbaum (MSB, MST) von G, falls T Spannbaum von G ist und gilt: 3. Minimale Spannbäume Sei G = (V, E) ein einfacher ungerichteter Graph, der o.b.d.a. zusammenhängend ist. Sei weiter w : E R eine Gewichtsfunktion auf den Kanten von G. Wir setzen E E: w(e ) = e E w(e),

Mehr

23. November Betweenness Centrality Closeness Centrality. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108

23. November Betweenness Centrality Closeness Centrality. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108 23. November 2011 Betweenness Centrality Closeness Centrality H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108 Betweenness Centrality Grundlegende Idee: Ein Knoten ist wichtig, wenn er auf

Mehr

Routing Algorithmen. Begriffe, Definitionen

Routing Algorithmen. Begriffe, Definitionen Begriffe, Definitionen Routing (aus der Informatik) Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über

Mehr

2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37

2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37 2. November 2011 Gradfolgen Zusammenhang Kürzeste Wege H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37 Satz von Erdős und Gallai Eine Partition einer natürlichen Zahl ist genau dann die Gradfolge

Mehr

16. All Pairs Shortest Path (ASPS)

16. All Pairs Shortest Path (ASPS) . All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e

Mehr

Exakte Kürzeste Pfade in Straßennetzwerken mit Highway Hierarchien

Exakte Kürzeste Pfade in Straßennetzwerken mit Highway Hierarchien Exakte Kürzeste Pfade in Straßennetzwerken mit Highway Hierarchien Andreas Wickert Humboldt-Universität zu Berlin, Institut für Informatik, 10099 Berlin @informatik.hu-berlin.de Zusammenfassung

Mehr

Praktikum Routenplanung Vorbesprechung, Wintersemester 2011/2012 Julian Dibbelt und Thomas Pajor 2. November 2011

Praktikum Routenplanung Vorbesprechung, Wintersemester 2011/2012 Julian Dibbelt und Thomas Pajor 2. November 2011 Praktikum Routenplanung Vorbesprechung, Wintersemester 011/01 Julian Dibbelt und Thomas Pajor. November 011 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK I PROF. DR. DOROTHEA WAGNER KIT Universität

Mehr

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist.

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Graphen Definition: Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Begriffe: Gerichteter Graph: Alle Kanten haben eine Richtung vom Anfangsknoten

Mehr

Zweizusammenhang und starker Zusammenhang

Zweizusammenhang und starker Zusammenhang .. Zeizusammenhang und starker Zusammenhang Carsten Gutenger Vorlesung Algorithmen und Datenstrukturen WS /. Januar Zeizusammenhang Betrachte ein Netzerk (Graph) Z.B. Computernetzerk, Flug- oder Schienennetzerk

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 11 (4.6.2014) Binäre Suchbäume II Algorithmen und Komplexität Binäre Suchbäume Binäre Suchbäume müssen nicht immer so schön symmetrisch sein

Mehr

p = (v 0, v 1,..., v k )

p = (v 0, v 1,..., v k ) 1 Routenlaner Hamburg 300 km 200 km Berlin 450 km Köln 200 km 400 km Frankfurt 50 km 200 km 150 km Mannheim Saarbrücken 100 km 250 km Stuttgart 200 km Dresden 300 km Nürnberg 200 km München Berechne den

Mehr

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Ausgabe 22. Dezember 2016 Abgabe 17. Januar 2017, 11:00 Uhr

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester 2010/11

Mehr

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza)

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza) WS 2013/14 Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza) Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2013ws/ds/uebung/ 22. Januar 2014 ZÜ DS ZÜ XIII

Mehr