Dijkstra: Laufzeit. Insgesamt: T Dijkstra = O m T decreasekey (n)+n (T deletemin (n)+t insert (n))
|
|
- Alexa Grosser
- vor 7 Jahren
- Abrufe
Transkript
1 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 do // apple m if d[u]+c(e) < d[v] then // apple m d[v]:= d[u]+c(e) // apple m parent[v] := u // apple m if v 2 Q then Q.decreaseKey(v) // apple m else Q.insert(v) // apple n return (d, parent) Insgesamt: T Dijkstra = O m T decreasekey (n)+n (T deletemin (n)+t insert (n)) 372
2 Laufzeit Dijkstras ursprüngliche Implementierung: naiv I insert: O(1) d[v]:= d[u]+c(u, v) I decreasekey: O(1) d[v]:= d[u]+c(u, v) I deletemin: O(n) d komplett durchsuchen T Dijkstra = O m T decreasekey (n)+n (T deletemin (n)+t insert (n)) T Dijkstra59 = O(m 1 + n (n + 1)) = O m + n 2 373
3 Laufzeit Bessere Implementierung mit Binary-Heap-Prioritätslisten: I insert: O(log n) I decreasekey: O(log n) I deletemin: O(log n) T Dijkstra = O m T decreasekey (n)+n (T deletemin (n)+t insert (n)) T DijkstraBHp = O(m log n + n (log n + log n)) = O((m + n)log n) 374
4 Laufzeit (Noch) besser mit Fibonacci-Heapprioritätslisten: I insert: O(1) I decreasekey: O(1) (amortisiert) I deletemin: O(log n) (amortisiert) T Dijkstra = O m T decreasekey (n)+n (T deletemin (n)+t insert (n)) T DijkstraFib = O(m 1 + n (log n + 1)) = O(m + n log n) Aber: konstante Faktoren in O( ) sind hier größer! 375
5 Analyse im Mittel Modell: Kantengewichte sind zufällig auf die Kanten verteilt Dann gilt: E[T DijkstraBH(ea)p ]=O m + n log n log m n Beweis: In Algorithmen II 376
6 Monotone ganzzahlige Prioritätslisten Beobachtung: In Dijkstras Algorithmus steigt das Minimum in der Prioritätsliste monoton. Das kann man ausnutzen. schnellere Algorithmen u.u. bis herunter zu O(m + n). Details: in Algorithmen II 377
7 Negative Kosten Was machen wir, wenn es Kanten mit negativen Kosten gibt? Es kann Knoten geben mit d[v]= s p u C q v s p u C (2) q v... Wie finden wir heraus, welche das sind? Endlosschleifen vermeiden! 378
8 Zurück zu Basiskonzepten (Abschnitt 10.1 im Buch) Lemma: 9 kürzester s v-pfad P =) P ist OBdA einfach(eng. simple) Beweisidee: (Kontraposition) Fall: v über negativen Kreis erreichbar ) 9 kürzester s v-pfad (sondern beliebig viele immer kürzere) s p u C q v s p u C (2) q v... Sonst: betrachte beliebigen nicht-einfachen s v-pfad. Alle Kreise streichen einfacher, nicht längerer Pfad. 379
9 Mehr Basiskonzepte Übung, zeige: Teilpfade kürzester Pfade sind selbst kürzeste Pfade a b c d a b,b c,c d,a b c,b c d Übung: Kürzeste-Wege-Baum Alle kürzeste Pfade von s aus zusammen bilden einen Baum, falls es keine negativen Kreise gibt. s a b d e c f 380
10 Allgemeines Korrektheitskriterium t 1 t 2 z } { z } { Sei R = h relax(e 1 ) relax(e 2 ) t k z } { relax(e k ) i eine Folge von Relaxationsoperationen und p = he 1,e 2,...,e k i = hs,v 1,v 2,...,v k i ein kürzester Weg. Dann gilt anschließend: d[v k ]=µ(v k ) Beweisskizze: (Eigentlich Induktion über k) d[s] =µ(s) bei Initialisierung d[v 1 ]=µ(v 1 ) nach Zeitpunkt t 1 d[v 2 ]=µ(v 2 ) nach Zeitpunkt t 2 d[v k ]=µ(v k ) nach Zeitpunkt t k 381
11 Algorithmen brutal Bellman-Ford-Algorithmus für beliebige Kantengewichte Wir relaxieren alle Kanten (in irgendeiner Reihenfolge) n 1mal. Alle kürzeste Pfade in G haben höchstens n 1Kanten. ) Jeder kürzeste Pfad ist eine Teilfolge dieser Relaxationen! s=v 1 v 2 v 3 v=v k 1. Runde 2. Runde 3. Runde (k 1). Runde 382
12 Negative Kreise finden Nach Ausführung von Bellman-Ford: 8 negativen Kreise C: 9(u,v) 2 C : d[u]+c(e) < d[v] Beweis: Übung v und alle von v erreichbaren Knoten x haben µ(x)= 383
13 Beispiel 384
14 Bellman-Ford Laufzeit O(nm), also viel langsamer als Dijkstra! Es gibt Algorithmenvarianten mit viel besserem best case. 385
15 Azyklische Graphen (10.2 im Buch) Beobachtungen: Keine (gerichteten) Kreise =) keine negativen Kreise! Für jeden (kürzesten) Pfad hv 1,...,v n i: Die Kanten sind aufsteigend bzgl. jeder topologischen Sortierung! initialize d, parent foreach v 2 V in topological order do scan(v) Laufzeit: O(m + n) s
16 Von überall nach überall Im Prinzip: n von s nach überall nichtnegative Kantengewichte: Zeit O(n(m + n log n)). (n Dijkstra) beliebige Kantengewichte: Zeit O n 2 m. (n Bellman-Ford) In Algorithmen II: Zeit O(n(m + n log n)). (1 Bellman-Ford + n Dijkstra) 387
17 Kürzeste Wege: Zusammenfassung I Einfache, effiziente Algorithmen für nichtnegative Kantengewichte und azyklische Graphen I Optimale Lösungen bei nicht (ganz) trivialen Korrektheitsbeweisen I Prioritätslisten sind wichtige Datenstruktur 388
18 Mehr zu kürzesten Wegen Viele Arbeiten zu besseren Prioritätslisten O(m + n loglog n) [Thorup 2004] I Mehrere Zielfunktionen abwägen I Mehrere Ziele in beliebiger Reihenfolge anfahren siehe auch Optimierungskapitel I Mehrere disjunkte Wege Fast alles schwierig (NP-schwer) 389
19 Exkurs: Routing in Straßennetzwerken Start: Beobachtungen zu Eigenschaften von Straßennetzwerken I groß, z.b. n = Knoten für Westeuropa I dünn besetzt, z.b., m = (n) Kanten I beinahe planar, d.h., wenige Kanten kreuzen sich (Brücken) I inhärente Hierarchie, schnellste Pfade benutzen wichtige Straßen 390
20 Straßennetzwerke Gängige Anwendungen: I Routenplanungssysteme im Internet, (z. B. I Fahrzeugnavigationssysteme I Logistik I Verkehrssimulationen 391
21 Distanz zu einem Zielknoten t Was machen wir, wenn wir nur die Distanz von s zu einem bestimmten Knoten t wissen wollen? Trick 0: Dijkstra hört auf, wenn t aus Q entfernt wird. Spart im Durchschnitt Hälfte der Scans. s t Frage: Wieviel spart es (meist) beim Europa-Navi? 392
22 Ideen für Routenplanung mehr in Algorithmen II, Algorithm Engineering s t I Vorwärts- + Rückwärtssuche I Zielgerichtete Suche s t s t I Hierarchien ausnutzen s z I Teilabschnitte tabellieren Meist zentrale Idee: Vorberechnung amortisiert über viele Anfragen 393
23 Straßennetzwerke Wir konzentrieren uns auf Straßennetzwerke. I mehrere nützliche Eigenschaften, diesich ausnutzen lassen I viele reale Anwendungen I einige Techniken: anwendbar für öffentliche Verkehrsmittel I die meisten Techniken: unklar, wie nützlich sie für weitere Graphtypen sind 394
24 Approach: Transit-Node Routing [Bast, Funke, Matijevic, Sanders, Schultes] s t 395
25 Beispiel Karlsruhe! Copenhagen 396
26 Beispiel Karlsruhe! Berlin 397
27 Beispiel Karlsruhe! Vienna 398
28 Beispiel Karlsruhe! Munich 399
29 Beispiel Karlsruhe! Rome 400
30 Beispiel Karlsruhe! Paris 401
31 Beispiel Karlsruhe! London 402
32 Beispiel Karlsruhe! Brussels 403
33 Beispiel Karlsruhe! Copenhagen 404
34 Beispiel Karlsruhe! Berlin 405
35 Beispiel Karlsruhe! Vienna 406
36 Beispiel Karlsruhe! Munich 407
37 Beispiel Karlsruhe! Rome 408
38 Beispiel Karlsruhe! Paris 409
39 Beispiel Karlsruhe! London 410
40 Beispiel Karlsruhe! Brussels 411
41 Erste Beobachtung Lange Strecken benutzen nur wenige wichtige Zugänge zum Fernverkehrsnetzwerk, sog. access points ( wir können alle Zugangspunkte vorberechnen) [in Europa: etwa 10 Zugangspunkte pro Knoten im Mittel] 412
42 Beispiel Karlsruhe! Berlin 413
43 Beispiel Karlsruhe! Berlin 414
44 Beispiel Karlsruhe! Berlin 415
45 Zweite Beobachtung Jeder Zugangspunkt ist für mehrere Knoten relevant. Gesamtmenge aller Zugangspunkte ist klein, Transitknotenmenge ( wir können alle Abstände zwischen allen Transitknoten speichern) [in Europa: Transitknoten] 416
46 Transit-Node Routing Preprocessing: I Identifiziere Transitknoten T V I Berechne T T Abstandstabelle I Für jeden Knoten: identifiziere Zugangsknoten (Abbildung A : V! 2 T ), speichere Abstände Query (geg. Start s und Ziel t): berechne d top (s,t):=min{d(s,u)+d(u,v)+d(v,t) : u 2 A(s),v 2 A(t)} 417
47 Transit-Node Routing Lokalitätsfilter: lokale Fälle ausfiltern ( L : V V! {true,false} Spezialbehandlung) L(s,t) impliziert d(s,t)=d top (s,t) 418
48 Beispiel: Transitknoten 419
49 Experimente I sehr schnelle Anfragen (queries) (4 µs, > mal schneller als Dijkstra) I Gewinner der 9. DIMACS Implementation Challenge I erträglich: Vorberechnungszeiten (1:15 h) und Speicherbedarf (247 bytes/knoten) s t 420
50 Experimente I sehr schnelle Anfragen (queries) (4 µs, > mal schneller als Dijkstra) I Gewinner der 9. DIMACS Implementation Challenge I erträglich: Vorberechnungszeiten (1:15 h) und Speicherbedarf (247 bytes/knoten) I Neuere Werte: < 2µs, 5 Minuten PP, 150 Bytes/Knoten s t 420
51 Offene Fragen I Wie bestimmt man die Transitknoten? I Wie bestimmt man die Zugangsknoten effizient? I Wie bestimmt man die Lokalitätsfilter? I Wie handhabt man lokale Anfragen? Antwort: I Andere Routenplanungstechniken benutzen! 421
52 Kap. 11: Minimale Spannbäume a 7 9 b c 4 d 422
53 Minimale Spannbäume (MST) Eingabe: I ungerichteter (zusammenhängender) Graph G =(V, E). I Knoten V, n = V, z.b.v = {1,...,n} I Kanten e 2 E V V, m = E I Kantengewichte c(e) 2 R
54 Minimale Spannbäume (MST) Eingabe: I ungerichteter (zusammenhängender) Graph G =(V, E). I Knoten V, n = V, z.b.v = {1,...,n} I Kanten e 2 E V V, m = E I Kantengewichte c(e) 2 R Aufgabe: Finde Baum (V,T ) mit minimalem Gewicht  e2t c(e), der alle Knoten verbindet. 423
55 Minimale spannende Wälder (MSF) Falls G nicht zusammenhängend ist, finde minimalen spannenden Wald T,der alle Zusammenhangskomponenten von G aufspannt. MST-Algorithmen lassen sich leicht zu MSF-Algorithmen verallgemeinern. 424
56 Anwendungen I Netzwerk-Entwurf I Bottleneck-Shortest-Paths: Suche s t-pfad, dessen max. Kantengewicht minimal ist. Dies ist der Pfad im MST!
57 Anwendungen I Netzwerk-Entwurf I Bottleneck-Shortest-Paths: Suche s t-pfad, dessen max. Kantengewicht minimal ist. Dies ist der Pfad im MST! I Clustering: Lass schwere MST-Kanten weg. Teilbäume definieren Cluster. Konkret z. B. Bildsegmentierung I Näherungslösungen für schwere Probleme, z. B. Handlungsreisenden-, Steinerbaumproblem. Siehe Buch, VL G. theoretischer Informatik, Algorithmen II
58 Anwendungen I Netzwerk-Entwurf I Bottleneck-Shortest-Paths: Suche s t-pfad, dessen max. Kantengewicht minimal ist. Dies ist der Pfad im MST! I Clustering: Lass schwere MST-Kanten weg. Teilbäume definieren Cluster. Konkret z. B. Bildsegmentierung I Näherungslösungen für schwere Probleme, z. B. Handlungsreisenden-, Steinerbaumproblem. Siehe Buch, VL G. theoretischer Informatik, Algorithmen II I Irrgärten (Beispiel von Wikipedia) 425
59 MST-Kanten auswählen und verwerfen Die Schnitteigenschaft (Cut Property) Für beliebige Teilmenge S V betrachte die Schnittkanten C = {{u,v} 2 E : u 2 S,v 2 V \ S} Die leichteste Kante in C kann in einem MST verwendet werden
60 MST-Kanten auswählen und verwerfen Die Schnitteigenschaft (Cut Property) Für beliebige Teilmenge S V betrachte die Schnittkanten C = {{u,v} 2 E : u 2 S,v 2 V \ S} e Die leichteste Kante in C kann in einem MST verwendet werden. S (u,v) V\S Beweis: Betrachte MST T 0. Fall e 2 T 0 : Beweis fertig. Sonst: T 0 [ {e} enthält Kreis K. Betrachte eine Kante {u,v} 2 C \ K 6= e. Dann ist T = T 0 \ {{u,v}} [ {e} ein Spannbaum, der nicht schwerer ist. Denn: c(e) apple c({u,v}) S e (u,v) V\S 426
61 MST-Kanten auswählen und verwerfen Die Kreiseigenschaft (Cycle Property) Die schwerste Kante auf einem Kreis wird nicht für einen MST benötigt
62 MST-Kanten auswählen und verwerfen Die Kreiseigenschaft (Cycle Property) Die schwerste Kante auf einem Kreis wird nicht für einen MST benötigt. Beweis. Angenommen, MST T 0 benutzt die schwerste Kante e 0 auf Kreis C. Wähle e 2 C mit e 62 T 0. Es gilt c(e) apple c(e 0 ). Dann ist T = T 0 \ {e 0 } [ {e} auch ein MST
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
MehrAlgorithmen 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
MehrErinnerung 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,
MehrErinnerung VL
Erinnerung VL 7.06.016 Bellman-Ford-Algorithmus (Brute-Force-Suche) Varianten des Kürzeste-Wege-Problems (azyklische Graphen) Ausblick: Routenplanung in Straÿennetzwerken Motivation Minimale Spannbäume
MehrDijkstras Algorithmus: Pseudocode
Dijktra Algorithmu: Peudocode initialize d, parent all node are non-canned while 9 non-canned node u with d[u] < u := non-canned node v with minimal d[v] relax all edge (u,v) out of u u i canned now Behauptung:
MehrVorlesung 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
MehrAlgorithmen 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.
Mehr10. Ü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
MehrSanders/van Stee: Algorithmentechnik 1. Shortest Paths
Sanders/van Stee: Algorithmentechnik 1 Shortest Paths Eingabe: Graph G = (V, E) Kostenfunktion c : E R Anfangsknoten s Frage: was ist die Distanz von s zu v (für alle anderen Knoten v V ) Fundamentales
MehrEffiziente 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
MehrGrundlagen: 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
MehrKü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,...,
MehrAlgorithmen 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
MehrExkurs: 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
MehrAlgorithmen 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
MehrAlgorithmen 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
MehrRoute 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/
MehrAlgorithmen 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.06.2017 Institut für Theoretische Informatik Web: https://crypto.iti.kit.edu/index.php?id=799 (Folien von Peter Sanders) KIT Institut für Theoretische Informatik
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 018/19 1. Vorlesung Minimale Spannbäume Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Motivation ) Kantengewichte w : E R >0 ) w(e ) := e E w(e)
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Minimale Spannbäume Maike Buchin 18.7., 20.7.2017 Einführung Motivation: Verbinde Inseln mit Fähren oder Städte mit Schienen und verbrauche dabei möglichst wenig Länge. Problem:
MehrAlgorithmen 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
MehrGrundlagen der Algorithmen und Datenstrukturen Kapitel 10
Grundlagen der Algorithmen und Datenstrukturen Kapitel 0 Christian Scheideler + Helmut Seidl SS 009 5.06.09 Kapitel 0 Kürzeste Wege Zentrale Frage: Wie komme ich am schnellsten von A nach B? B A 5.06.09
Mehr2. Ü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
Mehr8.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
Mehr9. Ü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
MehrKap. 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.
Mehr4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1
Allgemeines. Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition.. (a) Ein Graph G =(V, E) heißt kreisfrei, wenn er keinen Kreis besitzt. Beispiel: Ein kreisfreier Graph: FG KTuEA, TU Ilmenau
MehrInformatik 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,
MehrEffiziente 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
MehrKap. 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,
MehrAlgorithmen & 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
MehrInformatik 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,
MehrGraphalgorithmen 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
MehrEffiziente Algorithmen und Datenstrukturen I Kapitel 8: Kürzeste Wege
Effiziente Algorithmen und Datenstrukturen I Kapitel 8: Kürzeste Wege Christian Scheideler WS 008.0.009 Kapitel 8 Kürzeste Wege Zentrale Frage: Wie komme ich am schnellsten von A nach B? B A.0.009 Kapitel
MehrGrundlagen: 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 H.
Mehr24. 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
MehrAlgorithmen 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
Mehr25. 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,
MehrInformatik 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
MehrAlgorithmen und Datenstrukturen Kapitel 9. und
Algorithmen und Datenstrukturen Kapitel 9 Minimale Spannbäume und Kürzeste Pfade Frank Heitmann heitmann@informatik.uni-hamburg.de 9. Dezember 01 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/13
Mehr1 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
MehrGraphalgorithmen II. Werner Sembach Werner Sembach Graphalgorithmen II / 22
Graphalgorithmen II Werner Sembach 14.04.2014 Werner Sembach Graphalgorithmen II 14.04.2014 1 / 22 Übersicht Datenstrukturen Union-Find Fibonacci-Heap Werner Sembach Graphalgorithmen II 14.04.2014 2 /
Mehrp = (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
MehrVorlesung 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!
Mehr9 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
MehrFortgeschrittene 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
MehrGraphalgorithmen Netzwerkalgorithmen. Laufzeit
Netzwerkalgorithmen Laufzeit (Folie 390, Seite 78 im Skript) Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V, V 2 }) mit der Ford Fulkerson Methode. Der Fluß ist höchstens f = min{
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / 2014 Vorlesung 13, Donnerstag, 30.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 0 / 04 Vorlesung, Donnerstag, 0. Januar 0 (Kürzeste Wege, Dijkstras Algorithmus) Junior-Prof. Dr. Olaf Ronneberger
Mehr2. Das single-source-shortest-path-problem
. Das single-source-shortest-path-problem Zunächst nehmen wir an, dass d 0 ist. Alle kürzesten Pfade von a nach b sind o.b.d.a. einfache Pfade.. Dijkstra s Algorithmus Gegeben: G = (V, A), (A = V V ),
Mehr10 Kürzeste Pfade SSSP-Problem
In diesem Kapitel setzen wir uns mit der Berechnung von kürzesten Pfaden in einem Graphen auseinander. Definition 10.1 (Pfadgewichte). i) Das Gewicht eines Pfades p = (v 0, v 1,..., v k ) ist die Summe
MehrDatenstrukturen 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
MehrAlgorithmen und Datenstrukturen Kapitel 9. und
Algorithmen und Datenstrukturen Kapitel 9 und Kürzeste Pfade Frank Heitmann heitmann@informatik.uni-hamburg.de 9. Dezember 0 Frank Heitmann heitmann@informatik.uni-hamburg.de / Problemstellung Definition
MehrAlgorithmen 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
Mehr6. Übungsblatt zu Algorithmen II im WS 2017/2018
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders Dr. Thomas Worsch, Dr. Simon Gog Demian Hespe, Yaroslav Akhremstev 6. Übungsblatt zu Algorithmen II im WS
MehrAlgorithmen 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
MehrKü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
MehrInformatik 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
MehrInformatik II: Algorithmen & Datenstrukturen. Blättern Sie nicht um bevor Sie dazu aufgefordert werden!
Albert-Ludwigs-Universität Institut für Informatik Prof. Dr. F. Kuhn Informatik II: Algorithmen & Datenstrukturen Montag, 29. August, 2014, 14:00 17:00 Name:...........................................................
MehrVon Aachen nach Halle...
Von Aachen nach Halle... Koeln? Aachen Halle 14. 6. 15. 6. 16. 6. Saarbruecken? Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 3 Von Aachen nach Halle... Koeln? Aachen Halle 14. 6. 15.
Mehr9. Übungsblatt zu Algorithmen I im SoSe 2016
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Dennis Hofheinz Lukas Barth, Lisa Kohl 9. Übungsblatt zu Algorithmen I im SoSe 06 https//crypto.iti.kit.edu/index.php?id=algo-sose6
MehrAlgorithmen für Planare Graphen
Algorithmen für Planare Graphen 12. Juni 2018, Übung 4 Lars Gottesbüren, Michael Hamann INSTITUT FÜR THEORETISCHE INFORMATIK KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Prüfungstermine
MehrÜbungsblatt 2 - Lösung
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 2 - Lösung Vorlesung Algorithmentechnik im WS 08/09 Ausgabe 04. November 2008 Abgabe 8. November, 5:0 Uhr (im Kasten vor Zimmer
MehrAlgorithmen 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
MehrAlgorithmen II. Peter Sanders, Thomas Worsch, Simon Gog. Übungen: Demian Hespe, Yaroslav Akhremtsev
Sanders, Worsch, Gog: Algorithmen II - 18. Dezember 2017 Algorithmen II Peter Sanders, Thomas Worsch, Simon Gog Übungen: Demian Hespe, Yaroslav Akhremtsev Institut für Theoretische Informatik, Algorithmik
MehrMaximale 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
MehrErinnerung VL
Erinnerung VL 1.6.16 Graphtraverierung BFS (Breitenuche): in Schichten um Startknoten löt einfache Form de Kürzete-Wege-Problem DFS (Tiefenuche): ert abteigen, dann Alternativen anehen generich formuliert,
MehrAlgorithmen 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 2 Ergebnisse des 1. Kurztests 14 12 10
Mehr3. 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),
MehrGraphalgorithmen 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
MehrKap. 6.5: Minimale Spannbäume ff
Kap. 6.: Minimale Spannbäume ff Professor Dr. Karsten Klein Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 20. VO 2. TEIL DAP2 SS 2009 2. Juli 2009 SS08 1 Überblick 6.:
Mehr3.2 Generischer minimaler Spannbaum-Algorithmus
3.2 Generischer minimaler Spannbaum-Algorithmus Initialisiere Wald F von Bäumen, jeder Baum ist ein singulärer Knoten (jedes v V bildet einen Baum) while Wald F mehr als einen Baum enthält do wähle einen
MehrGrundlegende Algorithmen Kapitel 4: Kürzeste Wege
Grundlegende Algorithmen Kapitel 4: Kürzeste Wege Christian Scheideler WS 009 08.0.00 Kapitel 4 Kürzeste Wege Zentrale Frage: Wie komme ich am schnellsten von A nach B? B A 08.0.00 Kapitel 4 Kürzeste Wege
MehrAlgo&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
MehrDatenstrukturen und Algorithmen SS07
Datenstrukturen und Algorithmen SS0 Datum:.6.200 Michael Belfrage mbe@student.ethz.ch belfrage.net/eth Programm von Heute Minimaler Spannbaum (MST) Challenge der Woche Fibonacci Heap Minimaler Spannbaum
MehrAlgorithmen II. Peter Sanders. Übungen: Moritz Kobitzsch und Dennis Schieferdecker. Institut für Theoretische Informatik, Algorithmik II.
Sanders: Algorithmen II - 27. Februar 2012 Algorithmen II Peter Sanders Übungen: Moritz Kobitzsch und Dennis Schieferdecker Institut für Theoretische Informatik, Algorithmik II Web: http://algo2.iti.kit.edu/algorithmenii_ws11.php
MehrWie wird ein Graph dargestellt?
Wie wird ein Graph dargestellt? Für einen Graphen G = (V, E), ob gerichtet oder ungerichtet, verwende eine Adjazenzliste A G : A G [i] zeigt auf eine Liste aller Nachbarn von Knoten i, wenn G ungerichtet
MehrBerechnung 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
Mehr8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.
8. A & D - Heapsort Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. Genauer werden wir immer wieder benötigte Operationen durch Datenstrukturen unterstützen.
MehrSchnelle 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
MehrFortgeschrittene 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
MehrAlgorithmen II Vorlesung am
Algorithmen II Vorlesung am 07..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
Mehr10. Ü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
MehrAlgorithmen 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
MehrTeil 2: Graphenalgorithmen
Teil : Graphenalgorithmen Anwendungen Definitionen Datenstrukturen für Graphen Elementare Algorithmen Topologisches Sortieren Kürzeste Wege Minimal aufspannende Bäume Problemstellung Algorithmus von Prim
MehrAlgorithmen 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 07.06.2017 Institut für Theoretische Informatik Web: https://crypto.iti.kit.edu/index.php?id=799 (Folien von Peter Sanders) KIT Institut für Theoretische Informatik
Mehr11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME
Algorithmen und Datenstrukturen 11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME Algorithmen und Datenstrukturen - Ma5hias Thimm (thimm@uni-koblenz.de) 1 Algorithmen und Datenstrukturen 11.1. BERECHNUNG MAXIMALER FLÜSSE
MehrAlgorithmen 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
Mehr15. 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
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 6 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 16. Mai 2018 [Letzte Aktualisierung: 18/05/2018,
MehrWS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
MehrKonvexe Hülle. Abbildung: [Wikipedia]: Nicht-konvexe Menge (links), konvexe Menge (rechts) KIT Institut für Theoretische Informatik 510
Konvexe Hülle Definition konvexe Menge: Für je zwei beliebige Punkte, die zur Menge gehören, liegt auch stets deren Verbindungsstrecke ganz in der Menge. Abbildung: [Wikipedia]: Nicht-konvexe Menge (links),
MehrVoronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 29.05.2011 Das Postamt-Problem b(p, q) = {x R 2 : xp = xq } p q h(p, q) h(q, p) = {x :
MehrInformatik 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
MehrDefinition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.
Kapitel 4 Graphenalgorithmen 4.1 Definitionen Definition 4.1.1. Der Graph G = (V, E) ist über die beiden Mengen V und E definiert, wobei V die Menge der Knoten und E die Menge der Kanten in dem Graph ist.
MehrUntersuchung von Beschleunigungsverfahren für den Dijkstra-Algorithmus im Zusammenhang mit multimodalem Routing
Untersuchung von Beschleunigungsverfahren für den Dijkstra-Algorithmus im Zusammenhang mit multimodalem David Georg Reichelt davidgeorg_reichelt@yahoo.de 22. September 2012 25.09.2012 David Georg Reichelt,
Mehr