Algorithmen für Routenplanung Vorlesung 1

Größe: px
Ab Seite anzeigen:

Download "Algorithmen für Routenplanung Vorlesung 1"

Transkript

1 Algorithmen für Routenplanung Vorlesung Daniel Delling Forschungsuniversität gegründet 85 Forschungsuniversität gegründet 85 / 44

2 Organisatorisches Vorlesung Daniel Delling freitags 9:45 - :5, SR 30 + SWS Achtung: nächste Woche (.5.) Feiertag Achtung: übernächste Woche (4.5.) auf Übungstermin Übung Thomas Pajor montags (4 tägig) 5:45-7:30, SR 30 Vorlesungsseite: routenplanung/index Forschungsuniversität gegründet 85 / 44

3 Weitere Vorlesungen SS 09 Algorithmen für planare Graphen (+ SWS) Dozentin: Prof. Dorothea Wagner Vorlesung: dienstags 4:00-5:30 Übung (4-tg): dienstags 4:00-5:30 Algorithmen zur Visualisierung von Graphen (+ SWS) Dozent: Martin Nöllenburg Vorlesung: donnerstags 4:00-5:30 Übung (4-tg): dienstags 9:45 - :5 Algorithmen für Ad-hoc- und Sensornetze ( SWS) Dozent: Bastian Katz Vorlesung: mittwochs 4:00-5:30 Algorithmentechnikblock SS09 machbar Forschungsuniversität gegründet 85 3/ 44

4 Weitere Veranstaltungen SS 09 Seminar: Parametrisierte Algorithmen für NP-schwere Probleme Ansprechpartner: Reinhard Bauer Marcus Krug Ignaz Rutter Praktikum: Werkzeugentwicklung für die Routenplanung ITI Sanders Vorbesprechung Ansprechpartner: Veit Batz Dennis Luxen Forschungsuniversität gegründet 85 4/ 44

5 Problemstellung gesucht: finde die beste Verbindung in einem Transportnetzwerk Idee: Netzwerk als Graphen G = (V, E) Kantengewichte sind Reisezeiten kürzeste Wege in G entsprechen schnellsten Verbindungen klassisches Problem (Dijkstra) Probleme: Transportnetzwerke sind groß Dijkstra zu langsam (> Sekunde) Forschungsuniversität gegründet 85 5/ 44

6 Problemstellung gesucht: finde die beste Verbindung in einem Transportnetzwerk Idee: Netzwerk als Graphen G = (V, E) Kantengewichte sind Reisezeiten kürzeste Wege in G entsprechen schnellsten Verbindungen klassisches Problem (Dijkstra) Probleme: Transportnetzwerke sind groß Dijkstra zu langsam (> Sekunde) Forschungsuniversität gegründet 85 5/ 44

7 Beschleunigungstechniken Beobachtungen: viele Anfragen in (statischem) Netzwerk manche Berechnungen scheinen unnötig Idee: Zwei-Phasen Algorithmus: offline: berechne Zusatzinformation während Vorberechnung online: beschleunige Berechung mit diesen Zusatzinformationen drei Kriterien: wenig Zusatzinformation O(n) kurze Vorberechnung (im Bereich Stunden/Minuten) hohe Beschleunigung Forschungsuniversität gegründet 85 6/ 44

8 Beschleunigungstechniken Beobachtungen: viele Anfragen in (statischem) Netzwerk manche Berechnungen scheinen unnötig Idee: Zwei-Phasen Algorithmus: offline: berechne Zusatzinformation während Vorberechnung online: beschleunige Berechung mit diesen Zusatzinformationen drei Kriterien: wenig Zusatzinformation O(n) kurze Vorberechnung (im Bereich Stunden/Minuten) hohe Beschleunigung Forschungsuniversität gegründet 85 6/ 44

9 Beschleunigungstechniken Beobachtungen: viele Anfragen in (statischem) Netzwerk manche Berechnungen scheinen unnötig Idee: Zwei-Phasen Algorithmus: offline: berechne Zusatzinformation während Vorberechnung online: beschleunige Berechung mit diesen Zusatzinformationen drei Kriterien: wenig Zusatzinformation O(n) kurze Vorberechnung (im Bereich Stunden/Minuten) hohe Beschleunigung Forschungsuniversität gegründet 85 6/ 44

10 Unterschiede zur Industrie Industrie: Falk, TomTom, bahn.de, usw. alles heuristische Verfahren betrachte nur noch wichtige Kanten wenn mehr als x kilometer von Start weg Kombination mit A Suche langsam! Ausnahme: Google unser Anspruch: Anfragen sollen beweisbar korrekt sein weniger Ausnahmeregelungen schneller (!) Verfahren sollen nach und nach in der Industrie eingesetzt werden Forschungsuniversität gegründet 85 7/ 44

11 Ergebnisse Eingabe: Straßennetzwerk von Westeuropa 8 Mio. Knoten 4 Mio. Kanten Vorberechnung Anfrage Zeit Platz Zeit Jahr [h:m] [byte/n] [ms] Beschl. Dijkstra 959 0: Arc-Flags 004 7: Highway Hierarchies 005 0: Transit-Node Routing 006 : Mio. Contraction Hier : CH + Arc-Flags 008 : ca TNR + AF 008 3: ca. 3 Mio. : Damalige Variant deutlich langsamer, wir sehen nachher, warum Forschungsuniversität gegründet 85 8/ 44

12 Schwerpunkte Vorlesung Algorithm Engineering Beschleunigungstechniken Implementierungsdetails Ergebnisse auf Real-Welt Daten aktueller Stand der Forschung (Veröffentlichungen bis 009) Ansatz übertragbar auf andere Themen (z.b. Flüsse) ideale Grundlage für Studien- und Diplomarbeiten in dem Bereich Übungen: Implementation von (kleinen!) Teilproblemen bestehendes Framework Straßendaten von Nordamerika Implementation hilft beim Verständnis aber nicht zwingend nötig für die Vorlesung und Prüfung Forschungsuniversität gegründet 85 9/ 44

13 Was diese Vorlesung nicht ist keine Algorithmentechnik Vertiefung von kürzesten Wege (Dijkstra) Grundlagen sind Stoff von Info /Algotech (heute nochmal Crashkurs) Grundvorlesung vereinfachen Wahrheit oft Implementierung Betonung auf Messergebnisse keine Theorievorlesung wenig Beweise (wenn doch, sehr kurz) Reale Leistung vor Asymptotik hinter vielen Optimierungsproblemen stehen (vielleicht?) NP-schwere Probleme wird hier nur kurz erwähnt Forschungsuniversität gegründet 85 0/ 44

14 Inhalt der Vorlesung. Grundlagen Algorithm Engineering Graphen, Modelle, usw. Kürzeste Wege. Beschleunigung von (statischen) Punkt-zu-Punkt Anfragen zielgerichtete Verfahren hierarchische Techniken Kombinationen 3. Erweiterungen many-to-many dynamische Szenarien zeitabhängige Routenplanung Alternativrouten 4. Offene Probleme Forschungsuniversität gegründet 85 / 44

15 Nützliche Vorkenntnisse Informatik I/II Algorithmentechnik (muss aber nicht sein) ein bißchen Rechnerarchitektur passive Kenntnisse von C++/Java Vertiefungsgebiet: Algorithmentechnik, (Theoretische Grundlagen) Forschungsuniversität gegründet 85 / 44

16 Material Folien wissenschaftliche Aufsätze (siehe Vorlesunghomepage) Basiskenntnisse: Cormen Leiserson, Rivest, Stein: Introduction to Algorithms Mehlhorn, Sanders: Algorithms and Data Structures Forschungsuniversität gegründet 85 3/ 44

17 . Grundlagen Forschungsuniversität gegründet 85 4/ 44

18 Klassischer Ansatz (?) problem algorithm asymptotic bounds implementation experiments theoretical applied Forschungsuniversität gegründet 85 5/ 44

19 Lücke Theorie vs. Praxis Theorie vs. Praxis einfach Problem-Modell komplex einfach Maschinenmodell komplex komplex Algorithmen einfach fortgeschritten Datenstrukturen einfach worst-case Komplexitäts-Messung typische Eingaben asymptotisch Effizienz konstante Faktoren hier: anwendungsnahes Gebiet Eingaben sind echte Daten Straßengraphen Eisenbahn Flugplan Forschungsuniversität gegründet 85 6/ 44

20 Lücke Theorie vs. Praxis Theorie vs. Praxis einfach Problem-Modell komplex einfach Maschinenmodell komplex komplex Algorithmen einfach fortgeschritten Datenstrukturen einfach worst-case Komplexitäts-Messung typische Eingaben asymptotisch Effizienz konstante Faktoren hier: anwendungsnahes Gebiet Eingaben sind echte Daten Straßengraphen Eisenbahn Flugplan Forschungsuniversität gegründet 85 6/ 44

21 Algorithm Engineering algorithm engineering analysis deduction perf. guarantees realistic models design falsifiable hypotheses induction implementation algorithm libraries real Inputs experiments applications Forschungsuniversität gegründet 85 7/ 44

22 Graphen Tupel (V, E) =: G endliche Knotenmenge V endliche Kantenmenge E n := V, m := E ungerichtet: Kanten sind Knotenpaar, d.h. E ( ) { } V = {u, v} u v, u, v V Grad: deg(u) = {u,v} E gerichtet: Kanten sind geordnete Paare, d.h. E { (u, v) u v, u, v V } Ausgangsgrad: deg out (u) = (u,v) E Eingangsgrad: deg in (u) = (v,u) E einfach: keine Multi-Kanten gewichtet: Kantengewichtsfunktion erstmal len : E R + dünn: m O(n) planar: kreuzungsfrei einbettbar Forschungsuniversität gegründet 85 8/ 44

23 Graphen Tupel (V, E) =: G endliche Knotenmenge V endliche Kantenmenge E n := V, m := E ungerichtet: Kanten sind Knotenpaar, d.h. E ( ) { } V = {u, v} u v, u, v V Grad: deg(u) = {u,v} E gerichtet: Kanten sind geordnete Paare, d.h. E { (u, v) u v, u, v V } Ausgangsgrad: deg out (u) = (u,v) E Eingangsgrad: deg in (u) = (v,u) E einfach: keine Multi-Kanten gewichtet: Kantengewichtsfunktion erstmal len : E R + dünn: m O(n) planar: kreuzungsfrei einbettbar Forschungsuniversität gegründet 85 8/ 44

24 Graphen Tupel (V, E) =: G endliche Knotenmenge V 3 endliche Kantenmenge E n := V, m := E 5 ungerichtet: Kanten sind Knotenpaar, d.h. E ( ) { } V = {u, v} u v, u, v V 3 Grad: deg(u) = {u,v} E gerichtet: Kanten sind geordnete Paare, d.h. E { (u, v) u v, u, v V } Ausgangsgrad: deg out (u) = (u,v) E Eingangsgrad: deg in (u) = (v,u) E einfach: keine Multi-Kanten gewichtet: Kantengewichtsfunktion erstmal len : E R + dünn: m O(n) planar: kreuzungsfrei einbettbar Forschungsuniversität gegründet 85 8/ 44

25 Spezielle Graphen DAG: directed acyclic graph zyklenfrei Baum: zyklenfrei m = n also dünn Forschungsuniversität gegründet 85 9/ 44

26 Spezielle Graphen DAG: directed acyclic graph zyklenfrei Baum: zyklenfrei m = n also dünn Forschungsuniversität gegründet 85 9/ 44

27 Datenstruktur drei klassische Ansätze: Adjazenzmatrix Adjazenzlisten Adjazenzarray Forschungsuniversität gegründet 85 0/ 44

28 Datenstruktur drei klassische Ansätze: 0 3 Adjazenzmatrix Adjazenzlisten Adjazenzarray Forschungsuniversität gegründet 85 0/ 44

29 Datenstruktur drei klassische Ansätze: Adjazenzmatrix Adjazenzlisten Adjazenzarray Forschungsuniversität gegründet 85 0/ 44

30 Datenstruktur drei klassische Ansätze: Adjazenzmatrix Adjazenzlisten Adjazenzarray firstedge targetnode weight Forschungsuniversität gegründet 85 0/ 44

31 Was brauchen wir? Eigenschaften: Matrix Liste Array Speicher O(n ) O(n + m) O(n + m) Ausgehende Kanten iterieren O(n) O(deg u) O(deg u) Kantenzugriff (u, v) O() O(deg u) O(deg u) Effizienz + + Updates (topologisch) + + Updates (Gewicht) Fragen: Was brauchen wir? Was muss nich supereffizient sein? erstmal Modelle anschauen! Forschungsuniversität gegründet 85 / 44

32 Was brauchen wir? Eigenschaften: Matrix Liste Array Speicher O(n ) O(n + m) O(n + m) Ausgehende Kanten iterieren O(n) O(deg u) O(deg u) Kantenzugriff (u, v) O() O(deg u) O(deg u) Effizienz + + Updates (topologisch) + + Updates (Gewicht) Fragen: Was brauchen wir? Was muss nich supereffizient sein? erstmal Modelle anschauen! Forschungsuniversität gegründet 85 / 44

33 Modellierung (Straßengraphen) Forschungsuniversität gegründet 85 / 44

34 Modellierung (Straßengraphen) Forschungsuniversität gegründet 85 / 44

35 Modellierung (Straßengraphen) Knoten sind Kreuzungen Kanten sind Straßen Einbahnstraßen Metrik ist Reisezeit Forschungsuniversität gegründet 85 / 44

36 Modellierung (Straßengraphen) Knoten sind Kreuzungen Kanten sind Straßen Einbahnstraßen Metrik ist Reisezeit Forschungsuniversität gegründet 85 / 44

37 Modellierung (Straßengraphen) Knoten sind Kreuzungen Kanten sind Straßen Einbahnstraßen Metrik ist Reisezeit Forschungsuniversität gegründet 85 / 44

38 Modellierung (Straßengraphen) Eigenschaften (sammeln): Forschungsuniversität gegründet 85 / 44

39 Modellierung (Straßengraphen) Eigenschaften: dünn (fast) ungerichtet geringer Knotengrad polygonzüge Hierarchie (Autobahnen!) Forschungsuniversität gegründet 85 / 44

40 Modellierung (Eisenbahngraphen) Eingabe: 4 Stationen (A,B,C,D) Zug : Station A B C A Zug : Station A B D C A Züge operieren aller 0 Minuten Forschungsuniversität gegründet 85 3/ 44

41 Modellierung (Eisenbahngraphen) Eingabe: 4 Stationen (A,B,C,D) Zug : Station A B C A Zug : Station A B D C A Züge operieren aller 0 Minuten C A B D Forschungsuniversität gegründet 85 3/ 44

42 Modellierung (Eisenbahngraphen) Eingabe: 4 Stationen (A,B,C,D) Zug : Station A B C A Zug : Station A B D C A Züge operieren aller 0 Minuten C A B D Forschungsuniversität gegründet 85 3/ 44

43 Modellierung (Eisenbahngraphen) Eingabe: 4 Stationen (A,B,C,D) Zug : Station A B C A Zug : Station A B D C A Züge operieren aller 0 Minuten C A B D Forschungsuniversität gegründet 85 3/ 44

44 Modellierung (Eisenbahngraphen) Eingabe: 4 Stationen (A,B,C,D) Zug : Station A B C A Zug : Station A B D C A Züge operieren aller 0 Minuten C Kanten sind zeitabhängig! A B D Forschungsuniversität gegründet 85 3/ 44

45 Modellierung (Eisenbahngraphen) Eingabe: 4 Stationen (A,B,C,D) Zug : Station A B C A Zug : Station A B D C A Züge operieren aller 0 Minuten C A B D Kanten sind zeitabhängig! oder roll die Zeit aus Forschungsuniversität gegründet 85 3/ 44

46 Zeitexpandiertes Modell Vorgehen: Knoten sind Events Kanten Elementarverbindungen Wartekanten an den Stationen Station B: Diskussion: + keine zeitabhängigen Kanten Graph größer Forschungsuniversität gegründet 85 4/ 44

47 Zeitexpandiertes Modell Vorgehen: Knoten sind Events Kanten Elementarverbindungen Wartekanten an den Stationen Station B: Diskussion: + keine zeitabhängigen Kanten Graph größer Forschungsuniversität gegründet 85 4/ 44

48 Problem der Modellierung Problem: C A B D Forschungsuniversität gegründet 85 5/ 44

49 Problem der Modellierung Problem: Umstiegszeiten? erweitere das Modell C A B D Forschungsuniversität gegründet 85 5/ 44

50 Modellierung (Flugdaten) Airport Airport s s o o s s o o s s o o Airport 3 Forschungsuniversität gegründet 85 6/ 44

51 Eigenschaften der Graphen dünn (!) gerichtet geringer Knotengrad meist verborgene Hierarchie (Autobahnen, ICE, Langstreckenflüge) Einbettung vorhanden (fast planar?) teilweise zeitabhängig Kantengewichte positiv zusammenhängend Diskussion: berechnen beste Verbindungen in solchen Netzwerken zeitabhängigkeit (war lange) ein Problem ab jetzt: zeitunabhängige Netze (Straßen) später: zeitabhängig Forschungsuniversität gegründet 85 7/ 44

52 Datenstruktur Eigenschaften auf dünnen Graphen: Matrix Liste Array Speicher O(n ) O(n + m) = O(n) O(n + m) = O(n) Ausgehende Kanten iterieren O(n) O(deg u) O(deg u) Kantenzugriff (u, v) O() O(deg u) O(deg u) Effizienz + + Updates (topologisch) + + Updates (Gewicht) also: Adjazenzarray Forschungsuniversität gegründet 85 8/ 44

53 Datenstruktur Eigenschaften auf dünnen Graphen: Matrix Liste Array Speicher O(n ) O(n + m) = O(n) O(n + m) = O(n) Ausgehende Kanten iterieren O(n) O(deg u) O(deg u) Kantenzugriff (u, v) O() O(deg u) O(deg u) Effizienz + + Updates (topologisch) + + Updates (Gewicht) also: Adjazenzarray Forschungsuniversität gegründet 85 8/ 44

54 Datenstruktur Problem: ein- und ausgehende Kanten (fast) ungerichtet Forschungsuniversität gegründet 85 9/ 44

55 Datenstruktur Problem: ein- und ausgehende Kanten (fast) ungerichtet 3 firstedge targetnode weight isincoming isoutgoing Forschungsuniversität gegründet 85 9/ 44

56 Kürzeste Wege Anfrage: gegeben Graph G = (V, E) mit positiver Kantenfunktion len : E R +, zwei Knoten s und t finde den Pfad (s,..., t) mit d(s, t) minimal s 5 d(s,t) = 3 8 t Forschungsuniversität gegründet 85 30/ 44

57 Kürzeste Wege Anfrage: gegeben Graph G = (V, E) mit positiver Kantenfunktion len : E R +, zwei Knoten s und t finde den Pfad (s,..., t) mit d(s, t) minimal s 5 d(s,t) = t Forschungsuniversität gegründet 85 30/ 44

58 Kürzeste Wege Anfrage: gegeben Graph G = (V, E) mit positiver Kantenfunktion len : E R +, zwei Knoten s und t finde den Pfad (s,..., t) mit d(s, t) minimal s 5 d(s,t) = t Forschungsuniversität gegründet 85 30/ 44

59 Kürzeste Wege Anfrage: gegeben Graph G = (V, E) mit positiver Kantenfunktion len : E R +, zwei Knoten s und t finde den Pfad (s,..., t) mit d(s, t) minimal s 5 d(s,t) = t Forschungsuniversität gegründet 85 30/ 44

60 Eigenschaften von kürzesten Wegen Beobachtungen: Subpfade sind auch kürzeste Wege alle kürzesten Wege von s aus spannen einen Baum auf steigender Abstand von Wurzel zu den Blättern sind einfach d(u, s) analog über eingehende Kanten können mit Dijkstra berechnet werden Anmerkungen: längste Wege: NP-schwer negative Kantengewichte, keine negative Zyklen: Bellmann-Ford negative Kantengewichte, negative Zyklen: NP-schwer s Forschungsuniversität gegründet 85 3/ 44

61 Eigenschaften von kürzesten Wegen Beobachtungen: Subpfade sind auch kürzeste Wege alle kürzesten Wege von s aus spannen einen Baum auf steigender Abstand von Wurzel zu den Blättern sind einfach d(u, s) analog über eingehende Kanten können mit Dijkstra berechnet werden Anmerkungen: längste Wege: NP-schwer negative Kantengewichte, keine negative Zyklen: Bellmann-Ford negative Kantengewichte, negative Zyklen: NP-schwer s Forschungsuniversität gegründet 85 3/ 44

62 Eigenschaften von kürzesten Wegen Beobachtungen: Subpfade sind auch kürzeste Wege alle kürzesten Wege von s aus spannen einen Baum auf steigender Abstand von Wurzel zu den Blättern sind einfach d(u, s) analog über eingehende Kanten können mit Dijkstra berechnet werden Anmerkungen: längste Wege: NP-schwer negative Kantengewichte, keine negative Zyklen: Bellmann-Ford negative Kantengewichte, negative Zyklen: NP-schwer s Forschungsuniversität gegründet 85 3/ 44

63 Eigenschaften von kürzesten Wegen Beobachtungen: Subpfade sind auch kürzeste Wege alle kürzesten Wege von s aus spannen einen Baum auf steigender Abstand von Wurzel zu den Blättern sind einfach d(u, s) analog über eingehende Kanten können mit Dijkstra berechnet werden Anmerkungen: längste Wege: NP-schwer negative Kantengewichte, keine negative Zyklen: Bellmann-Ford negative Kantengewichte, negative Zyklen: NP-schwer s Forschungsuniversität gegründet 85 3/ 44

64 Beispiel Forschungsuniversität gegründet 85 3/ 44

65 Beispiel Forschungsuniversität gegründet 85 3/ 44

66 Beispiel Forschungsuniversität gegründet 85 3/ 44

67 Beispiel Forschungsuniversität gegründet 85 3/ 44

68 Beispiel Forschungsuniversität gegründet 85 3/ 44

69 Beispiel Forschungsuniversität gegründet 85 3/ 44

70 Beispiel Forschungsuniversität gegründet 85 3/ 44

71 Beispiel Forschungsuniversität gegründet 85 3/ 44

72 Dijkstra Dijkstra(G = (V, E),s) for all nodes v V do d[v] =, p[v] = NULL ; // array for distances, parents d[s] = 0 Q.clear(), Q.add(s, 0); // container while!q.empty() do u Q.deleteMin(); // settling node u for all edges e = (u, v) E do // relaxing edges if d[u] + len(e) < d[v] then d[v] d[u] + len(e) p[v] u if v Q then Q.decreaseKey(v, d[v]) else Q.insert(v, d[v]) Forschungsuniversität gegründet 85 33/ 44

73 Korrektheit Beh.: Dijkstra terminiert mit d[u] = d(s, u) für alle u V zwei Schritte: alle erreichbaren Knoten werden abgearbeitet wenn u abgearbeitet wird, ist d[u] = d(s, u) Beweis : Beh.: v wird nicht bearbeitet, ist aber erreichbar es gibt kürzesten Weg p = (v,..., v k ), s = v, v = v k es gibt v i mit v i abgearbeitet und v i nicht v i wird in die Queue eingefügt Widerspruch Forschungsuniversität gegründet 85 34/ 44

74 Korrektheit Beh.: Dijkstra terminiert mit d[u] = d(s, u) für alle u V zwei Schritte: alle erreichbaren Knoten werden abgearbeitet wenn u abgearbeitet wird, ist d[u] = d(s, u) Beweis : Beh.: v wird bearbeitet mit d[v] > d(s, v) es gibt v i, dass noch nicht abgearbeitet wurde, und für das gilt d[v i ] + len(v i, v) < d[v] d[v i ] < d[v] v i wird vor v Widerspruch Forschungsuniversität gegründet 85 35/ 44

75 Dijkstra(G = (V, E),s) for all nodes v V do d[v] =, p[v] = NULL ; // n times Q.clear() Q.add(s, 0); while!q.empty() do u Q.deleteMin(); for all edges e = (u, v) E do // relaxing edges if d[u] + len(e) < d[v] then d[v] d[u] + len(e) p[v] u if v Q then Q.decreaseKey(v, d[v]); else Q.insert(v, d[v]); // make-heap once // n times // m times // n times T Dijkstra Forschungsuniversität gegründet 85 36/ 44

76 Dijkstra(G = (V, E),s) for all nodes v V do d[v] =, p[v] = NULL ; // n times Q.clear() Q.add(s, 0); while!q.empty() do u Q.deleteMin(); for all edges e = (u, v) E do // relaxing edges if d[u] + len(e) < d[v] then d[v] d[u] + len(e) p[v] u if v Q then Q.decreaseKey(v, d[v]); else Q.insert(v, d[v]); // make-heap once // n times // m times // n times T Dijkstra = T init + n T deletemin + m T decreasekey + n T insert Forschungsuniversität gegründet 85 36/ 44

77 Laufzeit T Dijkstra = T init + n T deletemin + m T decreasekey + n T insert Liste Binary Heap Binomial heap Fibonacci heap operation (worst-case) (worst-case) (worst-case) (amortized) Init Θ() Θ() Θ() Θ() Insert Θ() Θ(lg k) O(lg k) Θ() Minimum Θ(n) Θ() O(lg k) Θ() DeleteMin Θ(n) Θ(lg k) Θ(lg k) O(lg k) Union Θ() Θ(k) O(lg k) Θ() Decrease-Key Θ() Θ(lg k) Θ(lg k) Θ() Delete Θ() Θ(lg k) Θ(lg k) O(lg k) Dijkstra O(n + m) O((n + m) lg n) O((n + m) lg n) O(n + m lg n) Dij (m O(n)) O(n ) O(n lg n) O(n lg n) O(n lg n) Forschungsuniversität gegründet 85 37/ 44

78 Laufzeit T Dijkstra = T init + n T deletemin + m T decreasekey + n T insert Liste Binary Heap Binomial heap Fibonacci heap operation (worst-case) (worst-case) (worst-case) (amortized) Init Θ() Θ() Θ() Θ() Insert Θ() Θ(lg k) O(lg k) Θ() Minimum Θ(n) Θ() O(lg k) Θ() DeleteMin Θ(n) Θ(lg k) Θ(lg k) O(lg k) Union Θ() Θ(k) O(lg k) Θ() Decrease-Key Θ() Θ(lg k) Θ(lg k) Θ() Delete Θ() Θ(lg k) Θ(lg k) O(lg k) Dijkstra O(n + m) O((n + m) lg n) O((n + m) lg n) O(n + m lg n) Dij (m O(n)) O(n ) O(n lg n) O(n lg n) O(n lg n) Forschungsuniversität gegründet 85 37/ 44

79 Laufzeit T Dijkstra = T init + n T deletemin + m T decreasekey + n T insert Liste Binary Heap Binomial heap Fibonacci heap operation (worst-case) (worst-case) (worst-case) (amortized) Init Θ() Θ() Θ() Θ() Insert Θ() Θ(lg k) O(lg k) Θ() Minimum Θ(n) Θ() O(lg k) Θ() DeleteMin Θ(n) Θ(lg k) Θ(lg k) O(lg k) Union Θ() Θ(k) O(lg k) Θ() Decrease-Key Θ() Θ(lg k) Θ(lg k) Θ() Delete Θ() Θ(lg k) Θ(lg k) O(lg k) Dijkstra O(n + m) O((n + m) lg n) O((n + m) lg n) O(n + m lg n) Dij (m O(n)) O(n ) O(n lg n) O(n lg n) O(n lg n) Forschungsuniversität gegründet 85 37/ 44

80 Laufzeit T Dijkstra = T init + n T deletemin + m T decreasekey + n T insert Liste Binary Heap Binomial heap Fibonacci heap operation (worst-case) (worst-case) (worst-case) (amortized) Init Θ() Θ() Θ() Θ() Insert Θ() Θ(lg k) O(lg k) Θ() Minimum Θ(n) Θ() O(lg k) Θ() DeleteMin Θ(n) Θ(lg k) Θ(lg k) O(lg k) Union Θ() Θ(k) O(lg k) Θ() Decrease-Key Θ() Θ(lg k) Θ(lg k) Θ() Delete Θ() Θ(lg k) Θ(lg k) O(lg k) Dijkstra O(n + m) O((n + m) lg n) O((n + m) lg n) O(n + m lg n) Dij (m O(n)) O(n ) O(n lg n) O(n lg n) O(n lg n) Transportnetzwerke sind dünn binary heaps Forschungsuniversität gegründet 85 37/ 44

81 . Beschleunigungstechniken Forschungsuniversität gegründet 85 38/ 44

82 Bewertungskriterien Vorberechnung: Platz Zeit Beschleunigung der Anfragen: Suchraum Anzahl abgearbeiteter Knoten Anzahl relaxierter Kanten Problem: Overhead durch Beschleunigung? Anfragezeit (Vergleichbarkeit?) auf Basis von k > 000 Zufallsanfragen, d.h. wähle s und t zufällig (gleichverteilt) Forschungsuniversität gegründet 85 39/ 44

83 Schematischer Suchraum von Dijkstra s t Forschungsuniversität gegründet 85 40/ 44

84 Schematischer Suchraum von Dijkstra s t Forschungsuniversität gegründet 85 40/ 44

85 Abbruch Beobachtung: durchsuchen des ganzen Graphen wenig sinnvoll vor allem wenn s und t nah beiander sind Idee: stop die Anfrage, sobald t aus der Queue entfernt wurde korrektheit analog zu Dijkstra im Schnitt: Beschleunigungsfaktor Forschungsuniversität gegründet 85 4/ 44

86 Schematischer Suchraum von Dijkstra s t Forschungsuniversität gegründet 85 4/ 44

87 Schematischer Suchraum von Dijkstra s t Forschungsuniversität gegründet 85 4/ 44

88 Initialisierung for all nodes v V do d[v] =, p[v] = NULL Problem: O(n) Viele Anfragen auf gleichem Netzwerk wird auch ausgeführt, wenn s und t im vorigen Lauf nah beinander waren Idee: lasse counter mitlaufen Forschungsuniversität gegründet 85 43/ 44

89 Initialisierung for all nodes v V do d[v] =, p[v] = NULL Problem: O(n) Viele Anfragen auf gleichem Netzwerk wird auch ausgeführt, wenn s und t im vorigen Lauf nah beinander waren Idee: lasse counter mitlaufen Forschungsuniversität gegründet 85 43/ 44

90 Initialisierung for all nodes v V do d[v] =, p[v] = NULL Problem: O(n) Viele Anfragen auf gleichem Netzwerk wird auch ausgeführt, wenn s und t im vorigen Lauf nah beinander waren Idee: lasse counter mitlaufen Forschungsuniversität gegründet 85 43/ 44

91 Dijkstra count d[s] = 0 Q.clear(), Q.add(s, 0) while!q.empty() do u Q.deleteMin() if u = t then RETURN for all edges e = (u, v) E do if run[v] count then d[v] d[u] + len(e) Q.insert(v, d[v]) run[v] count else if d[u] + len(e) < d[v] then d[v] d[u] + len(e) Q.decreaseKey(v, d[v]) Forschungsuniversität gegründet 85 44/ 44

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 1. Sitzung, Sommersemester 2012 Thomas Pajor 18. April 2012

Algorithmen für Routenplanung 1. Sitzung, Sommersemester 2012 Thomas Pajor 18. April 2012 Algorithmen für Routenplanung 1. Sitzung, Sommersemester 01 Thomas Pajor INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und nationales

Mehr

Algorithmen für Routenplanung

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

Mehr

Algorithmen für Routenplanung 2. Sitzung, Sommersemester 2012 Thomas Pajor 23. April 2012

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

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 1. Vorlesung, Sommersemester 2017 Tobias Zündorf 26. April 2017

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

Mehr

Algorithmen für Routenplanung 1. Vorlesung, Sommersemester 2018 Tim Zeitz 17. April 2018

Algorithmen für Routenplanung 1. Vorlesung, Sommersemester 2018 Tim Zeitz 17. April 2018 Algorithmen für Routenplanung. Vorlesung, Sommersemester 08 Tim Zeitz 7. April 08 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

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

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

Algorithmen für Routenplanung 2. Vorlesung, Sommersemester 2018 Tim Zeitz 23. April 2018

Algorithmen für Routenplanung 2. Vorlesung, Sommersemester 2018 Tim Zeitz 23. April 2018 Algorithmen für Routenplanung 2. Vorlesung, Sommersemester 2018 Tim Zeitz 2. April 2018 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK 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 Ü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 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 12. Sitzung, Sommersemester 2010 Thomas Pajor 28. Juni 2010

Algorithmen für Routenplanung 12. Sitzung, Sommersemester 2010 Thomas Pajor 28. Juni 2010 Algorithmen für Routenplanung 12. Sitzung, Sommersemester 2010 Thomas Paor 28. Juni 2010 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK I PROF. DR. DOROTHEA WAGNER KIT University of the State of Baden-Wuerttemberg

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

Algorithmen für Routenplanung Vorlesung 6

Algorithmen für Routenplanung Vorlesung 6 Algorithmen für Routenplanung Vorlesung 6 Daniel Delling 1/ 36 Letztes Mal Highway Hierarchies Highway-Node Routing Contraction Hierarchies s t 2/ 36 Zusammenfassung letztes Mal Highway Hierarchies Highway-Node

Mehr

Algorithmen für Routenplanung 7. Sitzung, Sommersemester 2010 Thomas Pajor 28. Mai 2010

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

Mehr

Erinnerung VL

Erinnerung VL Erinnerung VL.6.16 Graphtraversierung (DFS, topologische Sortierung und mehr) Kürzeste Wege: Problemstellung, Algorithmen Analoger Algorithmus Dijkstras Algorithmus: Idee, Korrektheit Heute: mehr zu Dijkstra,

Mehr

Algorithmen für Routenplanung 8. Sitzung, Sommersemester 2012 Thomas Pajor 21. Mai 2012

Algorithmen für Routenplanung 8. Sitzung, Sommersemester 2012 Thomas Pajor 21. Mai 2012 Algorithmen für Routenplanung 8. Sitzung, Sommersemester 2012 Thomas Pajor INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und nationales

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

Algorithmen I. Prof. Jörn Müller-Quade Institut für Theoretische Informatik Web: https://crypto.iti.kit.edu/index.php?

Algorithmen I. Prof. Jörn Müller-Quade Institut für Theoretische Informatik Web: https://crypto.iti.kit.edu/index.php? Algorithmen I Prof. Jörn Müller-Quade 19.6.1 Institut für Theoretische Informatik Web: https://crypto.iti.kit.edu/index.php?id=99 (Folien von Peter Sanders) KIT Institut für Theoretische Informatik 1 Organisatorisches

Mehr

Algorithmen für Routenplanung 13. Sitzung, Sommersemester 2011 Reinhard Bauer, Thomas Pajor 9. Juni 2011

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

Mehr

Algorithmen für Routenplanung Vorlesung 2

Algorithmen für Routenplanung Vorlesung 2 Algorithmen für Routenplanung Vorlesung 2 Daniel Delling 1/ 50 2. Beschleunigungstechniken 2/ 50 Letztes Mal breche Suche ab, sobald Ziel abgearbeitet worden ist vermeide Initialisierung durch Counter

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

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 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

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 208 (Algorithmen & Datenstrukturen) Vorlesung 4 (..208) Graphenalgorithmen III Algorithmen und Komplexität Bäume Gegeben: Zusammenhängender, ungerichteter Graph G = V, E Baum: Zusammenhängender,

Mehr

Sichtbarkeitsgraph. Andreas Gemsa Übung Algorithmische Geometrie

Sichtbarkeitsgraph. Andreas Gemsa Übung Algorithmische Geometrie Übung Algorithmische Geometrie Sichtbarkeitsgraph LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Andreas Gemsa 19.07.2012 Ablauf Nachtrag Sichtbarkeitsgraph WSPD

Mehr

Algorithmen und Datenstrukturen

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

Mehr

Praktikum Routenplanung Vorbesprechung, Wintersemester 2016/2017 Moritz Baum, Valentin Buchhold, Ben Strasser, Tobias Zündorf 19.

Praktikum Routenplanung Vorbesprechung, Wintersemester 2016/2017 Moritz Baum, Valentin Buchhold, Ben Strasser, Tobias Zündorf 19. Praktikum Routenplanung Vorbesprechung, Wintersemester 06/07 Moritz Baum, Valentin Buchhold, Ben Strasser, Tobias Zündorf 9. Oktober 06 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 15b (13.06.2018) Graphenalgorithmen IV Algorithmen und Komplexität Prims MST-Algorithmus A = while A ist kein Spannbaum do e = u, v ist

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Kürzeste Wege Maike Buchin 4. und 6.7.2017 Einführung Motivation: Bestimmung von kürzesten Wegen ist in vielen Anwendungen, z.b. Routenplanung, ein wichtiges Problem. Allgemeine

Mehr

Lernmodul 7 Algorithmus von Dijkstra

Lernmodul 7 Algorithmus von Dijkstra Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 17 (8.7.2014) Minimale Spannbäume II Union Find, Prioritätswarteschlangen Algorithmen und Komplexität Minimaler Spannbaum Gegeben: Zus. hängender,

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

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 07 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München 7 Fortgeschrittene Datenstrukturen Graphen

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 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

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 13 (8.6.2016) Graphenalgorithmen I Algorithmen und Komplexität Graphen Knotenmenge V, typischerweise n V Kantenmenge E, typischerweise

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 20 (23.7.2014) All Pairs Shortest Paths, String Matching (Textsuche) Algorithmen und Komplexität Vorlesungsevaluation Sie sollten alle eine

Mehr

15. Elementare Graphalgorithmen

15. Elementare Graphalgorithmen Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen

Mehr

12. Graphen. Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap ,Cormen et al, Kap.

12. Graphen. Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap ,Cormen et al, Kap. 254 12. Graphen Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap. 9.1-9.4,Cormen et al, Kap. 22 Königsberg 1736 255 Königsberg 1736 255 Königsberg 1736 255

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

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

1 Kürzeste Pfade in Graphen

1 Kürzeste Pfade in Graphen Praktikum Algorithmen-Entwurf (Teil 3) 03.11.2011 1 1 Kürzeste Pfade in Graphen Es sei ein gerichteter Graph G = (V, E) mit V = n Knoten, E = m Kanten und Kantengewichten c : E R gegeben. Ein Pfad in G

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

Algorithmen für Routenplanung 11. Sitzung, Sommersemester 2015 Julian Dibbelt 01. Juni 2015

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

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

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 12 (4.6.2018) Graphenalgorithmen I Yannic Maus Algorithmen und Komplexität Graphen Knotenmenge V, typischerweise n V Kantenmenge E, typischerweise

Mehr

Kap. 6.6: Kürzeste Wege

Kap. 6.6: Kürzeste Wege 0.0.00 Nachtest für Ausnahmefälle Kap..: Kürzeste Wege Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund./. VO DAP SS 00./. Juli 00 Di. Juli 00, :00 Uhr, OH, R.

Mehr

Algorithmen für Routenplanung 4. Vorlesung, Sommersemester 2018 Tim Zeitz 30. April 2018

Algorithmen für Routenplanung 4. Vorlesung, Sommersemester 2018 Tim Zeitz 30. April 2018 Algorithmen für Routenplanung 4. Vorlesung, Sommersemester 2018 Tim Zeitz 30. April 2018 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Algorithmen für Routenplanung 4. Vorlesung, Sommersemester 2017 Moritz Baum 15. Mai 2017

Algorithmen für Routenplanung 4. Vorlesung, Sommersemester 2017 Moritz Baum 15. Mai 2017 Algorithmen für Routenplanung 4. Vorlesung, Sommersemester 2017 Moritz Baum 15. Mai 2017 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität

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

ADS 2: Algorithmen und Datenstrukturen

ADS 2: Algorithmen und Datenstrukturen ADS 2: Algorithmen und Datenstrukturen Teil I Prof. Peter F. Stadler & Sebastian Will Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität Leipzig 9. April

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

Algorithmentechnik - U bung 3 4. Sitzung Tanja Hartmann 03. Dezember 2009

Algorithmentechnik - U bung 3 4. Sitzung Tanja Hartmann 03. Dezember 2009 Algorithmentechnik - U bung 3 4. Sitzung Tanja Hartmann 03. Dezember 2009 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

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

24. Minimale Spannbäume

24. Minimale Spannbäume Problem Gegeben: Ungerichteter, zusammenhängender, gewichteter Graph G = (V, E, c). 4. Minimale Spannbäume Gesucht: Minimaler Spannbaum T = (V, E ), E E, so dass e E c(e) minimal. Motivation, Greedy, Algorithmus

Mehr

Algorithmen für Routenplanung 9. Sitzung, Sommersemester 2010 Thomas Pajor 7. Juni 2010

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

Mehr

25. Minimale Spannbäume

25. Minimale Spannbäume 695 25. Minimale Spannbäume Motivation, Greedy, Algorithmus von Kruskal, Allgemeine Regeln, Union-Find Struktur, Algorithmus von Jarnik, Prim, Dijkstra, Fibonacci Heaps [Ottman/Widmayer, Kap. 9.6, 6.2,

Mehr

Graphalgorithmen II. Sebastian Ehrenfels Sebastian Ehrenfels Graphalgorithmen II / 44

Graphalgorithmen II. Sebastian Ehrenfels Sebastian Ehrenfels Graphalgorithmen II / 44 Graphalgorithmen II Sebastian Ehrenfels 4.6.2013 Sebastian Ehrenfels Graphalgorithmen II 4.6.2013 1 / 44 Inhalt 1 Datenstrukturen Union-Find Fibonacci-Heap 2 Kürzeste wege Dijkstra Erweiterungen Bellman-Ford

Mehr

Exkurs: Graphtraversierung

Exkurs: Graphtraversierung Sanders: Informatik III November 28, 2006 1 Exkurs: Graphtraversierung Begriffe Graphrepräsentation Erreichbarkeit mittels Tiefensuche Kreise Suchen Sanders: Informatik III November 28, 2006 2 Gerichtete

Mehr

12. Graphen. Königsberg Zyklen. [Multi]Graph

12. Graphen. Königsberg Zyklen. [Multi]Graph Königsberg 76. Graphen, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap. 9. - 9.,Cormen et al, Kap. [Multi]Graph Zyklen C Kante Gibt es einen Rundweg durch die Stadt

Mehr

Kürzeste (billigste) Wege

Kürzeste (billigste) Wege Kürzeste (billigste) Wege 1. Kürzeste (billigste) Wege Gerichteter Graph G = (V, E) Kostenfunktion c : E R 1 2 1 3 3 2 4 4 2 6 6 5 3 2 Entfernung zwischen zwei Knoten Kosten eines Wegs P = v 0, v 1,...,

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

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 02. Mai 2017 [Letzte Aktualisierung: 10/07/2018,

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen Lerneinheit : Kürzeste Pfade in Graphen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 016.6.01 Einleitung Diese Lerneinheit beschäftigt

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

12. Der Algorithmus von Dijkstra. Informatik II für Verkehrsingenieure

12. Der Algorithmus von Dijkstra. Informatik II für Verkehrsingenieure . Der Algorithmus von Dijkstra Informatik II für Verkehrsingenieure Problemstellung Gegeben: Graph G =(V, E, len) mit positiver Kantenfunktion len : E! R 0, Knoten s, t V Mögliche Aufgaben Berechne Distanz

Mehr

Algorithmen I - Tutorium 28 Nr. 9

Algorithmen I - Tutorium 28 Nr. 9 Algorithmen I - Tutorium 28 Nr. 9 29.06.2017: Spaß mit Graphen und Graphtraversierung Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR. JÖRN MÜLLER-QUADE

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

Algorithmen für Routenplanung 3. Sitzung, Sommersemester 2010 Thomas Pajor 30. April 2010

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

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

Tutorium 23 Grundbegriffe der Informatik (7. Sitzung)

Tutorium 23 Grundbegriffe der Informatik (7. Sitzung) Tutorium 3 Grundbegriffe der Informatik (7. Sitzung) Tutor: Felix Stahlberg SOFTWARE DESIGN AND QUALITY GROUP Source: pixelio.de KIT The cooperation of Forschungszentrum Karlsruhe GmbH and Universität

Mehr

Informatik II Prüfungsvorbereitungskurs

Informatik II Prüfungsvorbereitungskurs Informatik II Prüfungsvorbereitungskurs Tag 4, 23.6.2016 Giuseppe Accaputo g@accaputo.ch 1 Programm für heute Repetition Datenstrukturen Unter anderem Fragen von gestern Point-in-Polygon Algorithmus Shortest

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

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Wintersemester / Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 7 Fortgeschrittene Datenstrukturen Such-Algorithmen

Mehr

Algorithmen und Datenstrukturen. Organisatorisches. Christian Komusiewicz Ernst-Abbe-Platz 2, R3315

Algorithmen und Datenstrukturen. Organisatorisches. Christian Komusiewicz Ernst-Abbe-Platz 2, R3315 Algorithmen und Datenstrukturen Christian Komusiewicz Ernst-Abbe-Platz 2, R3315 christian.komusiewicz@uni-jena.de Friedrich-Schiller-Universität Jena Institut für Informatik http://users.fmi.uni-jena.de/

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen Wintersemester 2016/17 19. Vorlesung Kürzeste Wege & Dijkstras Algorithmus Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Wozu kürzeste Wege? 2 3-8 Modellierung

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

Algorithmen für Routenplanung

Algorithmen für Routenplanung Algorithmen für Routenplanung 6. Vorlesung, Sommersemester 00 Reinhard Bauer 09. Mai 0 INSTITUT FÜR THEORETISCHE INFORMATIK ALGORITHMIK I PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 13 (6.6.2018) Graphenalgorithmen II Yannic Maus Algorithmen und Komplexität Repräsentation von Graphen Zwei klassische Arten, einen Graphen

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

ADS 2: Algorithmen und Datenstrukturen

ADS 2: Algorithmen und Datenstrukturen ADS 2: Algorithmen und Datenstrukturen Teil 2 Prof. Peter F. Stadler & Sebastian Will Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität Leipzig 16. April

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

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

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 16 (2.7.2014) Graphtraversierung II, Minimale Spannbäume I Algorithmen und Komplexität Tiefensuche: Pseusocode DFS Traversal: for all u in

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

Graphen Jiri Spale, Algorithmen und Datenstrukturen - Graphen 1

Graphen Jiri Spale, Algorithmen und Datenstrukturen - Graphen 1 Graphen 27 Jiri Spale, Algorithmen und Datenstrukturen - Graphen Motivation Einsatz: Berechnung von Entfernungen Auffinden von Zyklen in Beziehungen Ermittlung von Verbindungen Zeitmanagement Konzept:

Mehr

Algorithmen und Datenstrukturen SS09. Foliensatz 16. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik

Algorithmen und Datenstrukturen SS09. Foliensatz 16. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik Foliensatz 16 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 45 Graphen TU Ilmenau Seite 2 / 45 Graphen 1 2 3 4 5 6 7 8

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

Grundlagen Algorithmen und Datenstrukturen TUM Sommersemester 2011 (2) Dozent: Hanjo Täubig

Grundlagen Algorithmen und Datenstrukturen TUM Sommersemester 2011 (2) Dozent: Hanjo Täubig Grundlagen Algorithmen und Datenstrukturen TUM Sommersemester 2011 (2) Dozent: Hanjo Täubig Janosch Maier 3. August 2011 Inhaltsverzeichnis 1 Sortieren 3 1.1 Externes Sortieren..........................

Mehr

Algorithmen & Komplexität

Algorithmen & Komplexität Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg

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

Graphenalgorithmen I. Geschickt Programmieren für den ICPC- Wettbewerb. Felix Weissenberger

Graphenalgorithmen I. Geschickt Programmieren für den ICPC- Wettbewerb. Felix Weissenberger Graphenalgorithmen I Geschickt Programmieren für den ICPC- Wettbewerb Felix Weissenberger Inhalt Grundlagen zu Graphen Begriffe Darstellung von Graphen Graphenalgorithmen Breitensuche Tiefensuche Topologisches

Mehr

Datenstrukturen und Algorithmen (SS 2013)

Datenstrukturen und Algorithmen (SS 2013) Datenstrukturen und Algorithmen (SS 2013) Übungsblatt 10 Abgabe: Montag, 08.07.2013, 14:00 Uhr Die Übungen sollen in Gruppen von zwei bis drei Personen bearbeitet werden. Schreiben Sie die Namen jedes

Mehr