Single Source Sortest Path Negative Kreise All-Pair Shortest Path Problem Minimum Mean Cycle Zusammenfassung. Shortest Paths
|
|
- Til Althaus
- vor 7 Jahren
- Abrufe
Transkript
1 Shortest Paths Label Correcting Algorithms Florian Reitz Universität Trier Fachbereich IV Fach Informatik Seminar Netzwerkalgorithmen WS 2005/2006
2 Einleitung: Problemübersicht Eben: Schnelle Algorithmen für spezielle Graphen gewichtete Graphen Azyklisch oder Nicht negative Kantenlängen Wünschenswert: Algorithmus für allgemeinen Graphen: Der ist NP Vollständig Hier: ein Mittelweg
3 Einleitung: Was wir wollen Betrachte Netzwerk G=(V,E) Finde kürzesten Weg von Knoten a nach Knoten b falls vorhanden oder Finde einen negativen Kreis im Netzwerk
4 Einleitung: Begriffserklärung G=(V,E), V =n, E =m Negativer Kreis C = max{ c ij : (i, j) E}
5 Gliederung 1 Single Source Sortest Path Optimalitätbedingungen Der generische Label Correcting Algorithmus Die O(mn) Implementierung 2 Negative Kreise 3 All-Pair Shortest Path Problem Repeated Shortest Path Algorithm Floyd-Warshall Algorithm 4 Minimum Mean Cycle
6 Optimalitätbedingungen Abstandsmarken Definition Sei G ein Netzwerk und P ein Pfad in G von s nach t Dann beschreibe d(t) den kürzesten bisher gefundenen Weg von s nach t. c(p) = P c ij mit (i,j) Kante in P Ziel ist: d(t)=inf {c(p) : P Pfad von s nach t} Falls {c(p) : P Pfad von s nach t} =0: d(j) =
7 Optimalitätbedingungen Idee eines Algorithmus Iteriere über das Netzwerk, ändere Abstandmarken bis diese konstant d(j) gibt dann kürzesten Abstand zu Startknoten an Genaueres siehe unten.
8 Optimalitätbedingungen Optimaltitätsbedingung Satz (Dreiecksungleichung) Abstandsmarken d(.) optimal d(j) d(i) + c ij, (i, j) E
9 Optimalitätbedingungen Beweis Beweis. d(.) seien optimal. Annahme: (i, j) E mit c ij + d(i) < d(j) Dann kann d(j) auf c ij + d(i) reduziert werden Widerspruch Sei d(i) + c ij d(j), (i, j) E und P=(j 0,j 1,...,j k 1,j k ) ein Pfad mit j 0 =s und j k = t. Dann gilt: c(p)= 0 i<k c j i j i+1 0 i<k (d(j i+1) d(j i )) = d(j k ) d(j 0 ) = d(t) Damit ist d(t) untere Schranke für einen Weg von s nach t
10 Optimalitätbedingungen Reduzierte Kosten Definition c d ij = c ij + d(i) d(j) Sind die reduzierten Kanten Längen von Kante (i,j) Bemerkung Sei W Kreis: (i,j) W cd ij = (i,j) W c ij d(.) beschreiben kürzesten Pfad c d ij 0
11 Optimalitätbedingungen Negative Kreise Korollar G enthält einen negativen Kreis mindesten ein d(.) verletzt Optimalitätsbedingung Beweis. Sei W ein Kreis in G und d(.) beschreiben die kürzesten Pfade c d ij 0 (i,j) W cd ij 0 (i,j) W c ij 0 Also kann W kein negativer Kreis sein
12 Der generische Label Correcting Algorithmus Der GLC Algorithmus Voraussetzung: Keine negativen Kreise Algorithmus: LCA begin d(s)=0; pred(s) :=0 ; d(j)=inf; für alle Knoten außer s while(d(j) > d(i) + c[i,j] für eine Kante (i,j)) d(j):=d(i)+c[i,j]; pred(j)=i; end;
13 Der generische Label Correcting Algorithmus Beispiel 1 Beispiel
14 Der generische Label Correcting Algorithmus Beispiel 2 Beispiel
15 Der generische Label Correcting Algorithmus Beispiel 3 Beispiel
16 Der generische Label Correcting Algorithmus Endlichkeit und Laufzeit Satz Seien die Kantengewichte ganzzahlig, dann terminiert der Algorithmus in O(min(n 2 mc, m2 n )) Beweis. Es gilt: Cn d(j) Cn für beliebige j V d(j)wird pro Update mind. um 1 reduziert Höchstens 2nC Updates pro Abstandsmarken,also maximal 2n 2 C Updates insgesamt. O(m) zum Finden der Kante Laufzeit von O(n 2 mc) Aber: C kann exponentiell mit der Anzahl der Knoten wachsen Laufzeit von O(2 n m)
17 Der generische Label Correcting Algorithmus Beobachtungen Zeitverbrauch zum Finden einer Kante, die die Optimalitätsbedingungen verletzt: O(m) Nach jeder Änderung einer Marke werden alle Kanten kontrolliert Idee: Phasenweises Absuchen des Netzwerkes nach noch nicht optimalen Marken Keine Veränderung mehr Lösung gefunden
18 Die O(mn) Implementierung O(mn) Implementierung Algorithmus: O(mn); begin d(s)=0; pred(s):=0; d(j)=inf für alle Knoten außer s while( ein d(i) im letzten Durchgang geändert) forall Kanten (i,j) in E if(d(j)>d(i)+c[i,j]) d(j):=d(i)+c[i,j]; pred(j):=i; end;
19 Die O(mn) Implementierung Beispiel Beispiel
20 Die O(mn) Implementierung Lemma Teil 1 Lemma Der Algorithmus durchläuft das Netzwerk maximal n-1 Mal Beweis. Zu zeigen: Nach k Durchläufen wurden die kürzesten Wege zu allen Knoten gefunden die maximal k Kanten von s entfernt sind Induktion über Anzahl der Durchläufe k=1
21 Die O(mn) Implementierung Lemma Teil 2 Beweis. k k+1 Betrachte den Pfad P=(s=i 0,i 1,...,i k,i k+1 =j) mit k+1 Kanten. Annahme: P kürzester Pfad. Es gebe keinen kürzesten Pfad nach j mit weniger Kanten. IV : (i 0,i 1,...,i k ) ist kürzester Pfad nach i k und d(i k ) ist die Länge des Pfades. Betrachte Kante (i k,i k+1 ). d(k+1) wird auf c(p) gesetzt Beh.
22 Die O(mn) Implementierung Laufzeit Satz Die Laufzeit der O(mn) Implementierung ist O(mn) :-) Beweis. Es gibt maximal n-1 Durchläufe. In jedem werden maximal m Kanten untersucht in Zeit O(1) Laufzeit O(mn)
23 Negative Kreise Bisher: negative Kreise ausgeschlossen Erinnerung: Negativer Kreis vorhanden Optimalität immer verletzt Da das Durchlaufen eines negativen Kreises immer zur Verbesserung der d(.) führt: d(i) Für mindestens ein i V
24 Die O(mn) Implementierung Implementierung brauch maximal n-1 Durchgänge Es wird jede Marke also höchstens n-1 Mal verändert Also mitzählen!
25 Vorgängergraph Erinnerung: LCA liefert Vorgängergraphen Bei negativen Kreisen gilt: Es gibt mindestens ein Kreis im Vorgängergraphen! Also: Suche gerichteten Kreis im Vorgängergraphen
26 Finden negativer Kreise Algorithmus: Neg Kreis; begin d(s)=0; while(es gibt einen nicht markierte Knoten j) d(j):=j; i:=j; while(pred(i) unmarkiert) d(i):=j; i:= pred(i); if(d(i)=d(j)) Kreis gefunden end;
27 Laufzeit Laufzeit: O(n) Wenn dieser Algorithmus nur alle a Schritte durchgeführt wird ändert sich die Laufzeit des LCA nicht.
28 Fragestellung Bisher: ein Startknoten s, gesucht: Weg von s zu allen anderen Knoten Jetzt: gesucht: Wege zwischen allen Knotenpaaren (i,j) Annahme: Das Netzwerk ist stark zusammenhängend d.h. jeder Knoten kann von jedem anderen erreicht werden
29 Einfache Idee Führe das Problem auf das Problem auf Single SourceShortest Path zurück Wende die O(mn) Implementierung für jeden Knoten in V einmal an Betrachte dabei die jeweiligen Knoten als Startknoten
30 Repeated Shortest Path Algorithm Abstandsmarken Definition d[i,j] sei die Länge eines gerichteten Pfades von Knoten i nach j.
31 Repeated Shortest Path Algorithm Optimalitätsbedingungen Teil 1 Satz Die d[i,j] repräsentieren den kürzsten Abstand zwischen i und j i, j, k V d[i, j] d[i, k] + d[k, j]
32 Repeated Shortest Path Algorithm Optimalitätsbedingungen Teil 2 Beweis. Gegenannahme: d[i,k] + d[k,j] < d[i,j] Betrachte den Weg(i...k...j): Ein direkter Weg P, eventuell Kreise W Die W sind nicht negativ, also gilt c(p) d[i,k]+d[k,j]<d[i,j] Widerspruch Sei P ein direkter Weg mit c(p)=d[i,j] P = (i = i 1,..., i k = j) Es gilt: d[i, j] = d[i 1, i k ] d[i 1, i 2 ] + d[i 2, i k ] d[i 2, i k ] c i2 i 3 + d[i 3, i k ]... d[i k 1, i k ] c ik 1 i k d[i, j] c i1 i c ik 1 i k = (i,j) P c ij
33 Repeated Shortest Path Algorithm Der All Pair Generic LCA Algorithmus: APG LCA; begin d[j,i]=inf; für alle (j,i) aus NxN; d[i,i]=0; für alle i forall (i,j) in E do d[i,j]=c[i,j] while(knoten i,j,k mit d[i,j]>d[i,k]+d[k,j]) d[i,j]:=d[i,k]+d[k,j]; end;
34 Repeated Shortest Path Algorithm Laufzeit nc d[i, j] nc max 2nC Updates pro Marke Es gibt n 2 Marken. Laufzeit O(n 3 C) Vorsicht bei großen C
35 Floyd-Warshall Algorithm Ein verbesserter Algorithmus Definition d k [i, j] sei die Länge eines kürzsten Pfades von Knoten i nach Knoten j der nur die Knoten 1 bis k-1 benutzt Folgerung d n+1 [i, j] beschreibt den kürzesten Weg von i nach j
36 Floyd-Warshall Algorithm Optimalitätsbedingungen Satz d k+1 [i, j] = min{d k [i, j], d k [i, k] + d k [k, j]} Beweis. 1. Fall: k wird nicht erreicht d k+1 [i, j] = d k [i, j] 2. Fall: k wird erreicht d k+1 [i, j] = d k [i, k] + d k [k, j] Behauptung
37 Floyd-Warshall Algorithm Floyd-Warshall Algorithmus Algorithmus: Floyd-Warshall; begin d[j,i]=inf; für alle (j,i) aus NxN; d[i,i]=0; für alle i forall (i,j) in E do d[i,j]=c[i,j] for k=1 to n do forall((i,j) in NxN do) if(d[i,j]>d[i,k]+d[k,j]); d[i,j]:=d[i,k]+d[k,j]; end;
38 Floyd-Warshall Algorithm Negative Kreise Satz Ein Netzwerk enthält min. einen negativen Kreis wenn eine der folgenden Bedingungen wahr ist 1. d[i,i]<0 2. i j: d[i,j] < -nc
39 Floyd-Warshall Algorithm Beweis Beweis. 1.d[i, i] = d[i, k] + d[k, i] 2. d[i, j] < nc
40 Floyd-Warshall Algorithm Ablauf Überprüfe bei jeder Veränderung von d[i,i], d[i,j] ob eine der Bedingungen erfüllt ist. Wenn ja gibt es einen negativen Kreis.
41 Das Minimum Mean Cycle Problem Definition Das Minimum Mean Cycle Problem MMCP ist folgendermaßen definiert: Gesucht ist ein gerichteter Kreis W mit den kleinsten mittleren Kosten ( (i,j) W c ij) W In einem stark zusammenhängendem Netzwerk
42 Definitionen Definition d k (j) k= 1...n sei Länge der kürzesten Weges von Knoten s nach Knoten j, wobei exakt k Knoten genutzt werden d 0 (s) = 0 d 0 (j) = j s Satz d k (j) = min {i:(i,j) E} {d k 1 (i) + c ij } Bemerkung d k (j) Kreis im Graphen
43 Vorgehen Berechne d 1 (j) aus d 0 (j) dann d 2 (j)...d n (j) O(m) pro Schritt Maximal n Schritte Laufzeit O(mn)
44 Beschränkung der Kosten Satz (i,j) W c i,j W = min j V max 0 k n 1 [ d n (j) d k ] (j) n k Beweis. Fallunterscheidung :-)
45 Minimum mean Cycle Algorithmus: Minimum Mean Cycle; begin d_0(s):=0; d_0(j):=inf; for k=1...n; forall j in V do d_k(x)=inf; forall (i,j) in E do if(d_k-1(i)+c[i,j]<d_k(x)) d_k(j):=d_k-1+c[i,j]; pred_k(j):=i; if(ein d_n() ist nicht inf) Finde j gemäß Satz Konstruiere Kreis aus pred end;
46 Konstruktion des Kreises Wissen es gibt einen Kreis C Setze C auf pred_n(j),pred_n-1(pred_n(j)), pred_n-2(pred_n-1(pred_n(j)))... Bis ein Knoten sich Wiederholt Startknoten im Kreis egal
47 Zusammenfassung Shortest Path Problem Algorithmus Laufzeit Eigenschaften LCA O(min(n 2 mc, m2 n )) Findet negative Kreise Finden von Kante:O(m) Schlechte Laufzeit O(mn) O(mn) Arbeitet Phasenweise merkt sich Knoten Findet negative Kreise
48 Zusammenfassung All Pair Shortest Path Problem Algorithmus Laufzeit Eigenschaften All Pair O(n 3 C) Große C beachten Floyd-Warshall O(n 3 ) Schnellster Algorithmus
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
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
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 ),
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
MehrGraphentheorie. Kürzeste Wege. Kürzeste Wege. Kürzeste Wege. Rainer Schrader. 25. Oktober 2007
Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 25. Oktober 2007 1 / 20 2 / 20 Wir werden Optimierungsprobleme vom folgenden Typ betrachten: gegeben eine Menge X und eine Funktion
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,
MehrMinimum Cost Flow Grundlagen und erste Algorithmen. Philip Ralph Weber
Minimum Cost Flow Grundlagen und erste Algorithmen Philip Ralph Weber..5 Grundlagen. Voraussetzungen Sei G=(V,E) ein gerichteter Graph. c ij bezeichne die Kosten für der Kante (i, j) E C := max (i,j) E
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.
MehrGraphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.
Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 14. November 2007 1 / 22 2 / 22 Gliederung eulersche und semi-eulersche Graphen Charakterisierung eulerscher Graphen Berechnung eines
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
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
MehrTechnische Universität München Zentrum Mathematik. Optimierung 2, WS 2008/09 Übungsblatt 12
Technische Universität München Zentrum Mathematik Prof. Dr. P. Gritzmann, Dipl.-Inf. Dipl.-Math. S. Borgwardt, Dr. M. Ritter Optimierung 2, WS 2008/09 Übungsblatt 12 Aufgabe 12.1 Betrachten Sie die folgenden
Mehr2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37
2. November 2011 Gradfolgen Zusammenhang Kürzeste Wege H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37 Satz von Erdős und Gallai Eine Partition einer natürlichen Zahl ist genau dann die Gradfolge
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!
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
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
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,...,
MehrSeien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren.
Beweis: 1. 2. Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren. Widerspruchsannahme: Es gibt zwei verschiedene Pfade zwischen u und v. Dann gibt es einen
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.
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
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
MehrFortgeschrittene Netzwerk- und Graph-Algorithmen
Fortgeschrittene Netzwerk- und Graph-Algorithmen Dr. Hanjo Täubig Lehrstuhl für Eziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester 2007/08
MehrDas Problem des minimalen Steiner-Baumes
Das Problem des minimalen Steiner-Baumes Ein polynomieller Approximationsalgorithmus Benedikt Wagner 4.05.208 INSTITUT FU R THEORETISCHE INFORMATIK, LEHRSTUHL ALGORITHMIK KIT Die Forschungsuniversita t
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
MehrGliederung. Algorithmen und Datenstrukturen II. Graphen: All-pairs shortest paths. Graphen: All-pairs shortest paths. Graphen: Kürzeste Pfade III
Gliederung Algorithmen und Datenstrukturen II : Kürzeste Pfade III D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Problem Transitiver
MehrWintersemester 2004/ Februar 2005
Lehrstuhl für Praktische Informatik III Norman May B6, 29, Raum C0.05 68131 Mannheim Telefon: (0621) 181 2517 Email: norman@pi3.informatik.uni-mannheim.de Matthias Brantner B6, 29, Raum C0.05 68131 Mannheim
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
MehrBipartites Matching. Gegeben: Ein bipartiter, ungerichteter Graph (V 1, V 2, E). Gesucht: Ein Matching (Paarung) maximaler Kardinalität.
Netzwerkalgorithmen Bipartites Matching (Folie 90, Seite 80 im Skript) Gegeben: Ein bipartiter, ungerichteter Graph (V, V, E). Gesucht: Ein Matching (Paarung) maximaler Kardinalität. Ein Matching ist eine
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
Mehr16. All Pairs Shortest Path (ASPS)
. All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e
MehrAlgorithmische Graphentheorie
Algorithmische Graphentheorie Vorlesung 7 und 8: Euler- und Hamilton-Graphen Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 17. April 2018 1/96 WIEDERHOLUNG Eulersche
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
MehrÜbersicht. Datenstrukturen und Algorithmen. Das Rechenproblem: kürzeste Pfade. Übersicht. Vorlesung 17: Kürzeste Pfade (K24) Bellman-Ford Dijkstra
Datenstrukturen und Algorithmen Vorlesung 17: (K) Joost-Pieter Katoen Lehrstuhl für Informat Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-15/dsal/ 1. Juni 15 1 Joost-Pieter
MehrProgrammierkurs Python II
Programmierkurs Python II Stefan Thater & Michaela Regneri Universität des Saarlandes FR 4.7 Allgemeine Linguistik (Computerlinguistik) Übersicht Topologische Sortierung (einfach) Kürzeste Wege finden
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 /
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{
MehrVorlesung 2 KÜRZESTE WEGE
Vorlesung 2 KÜRZESTE WEGE 45 Kürzeste Wege im Graphen Motivation! Heute:! Kürzeste Wege von einem Knoten (SSSP)! Distanzen zwischen allen Knotenpaaren (APD)! Viele Anwendungen:! Navis! Netzwerkrouting!...
MehrSatz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,...
Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,..., k, so dass gilt M = k c i P i i=1 k c i = r. i=1 Diskrete Strukturen 7.1 Matchings
Mehr1 Pfade in azyklischen Graphen
Praktikum Algorithmen-Entwurf (Teil 5) 17.11.2008 1 1 Pfade in azyklischen Graphen Sei wieder ein gerichteter Graph mit Kantengewichten gegeben, der diesmal aber keine Kreise enthält, also azyklisch ist.
MehrKürzeste-Wege-Algorithmen und Datenstrukturen
Kürzeste-Wege-Algorithmen und Datenstrukturen Institut für Informatik Universität zu Köln SS 2009 Teil 1 Inhaltsverzeichnis 1 Kürzeste Wege 2 1.1 Voraussetzungen................................ 2 1.2
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
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.
MehrLernmodul 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
MehrNaiver Algorithmus für Hamiltonkreis
Naiver Algorithmus für Hamiltonkreis Algorithmus HAMILTON EINGABE: G = ([n], E) in Adjazenzmatrixdarstellung 1 Für alle Permutationen π : [n] [n]. 1 Falls (π(1), π(2),..., π(n)) ein Kreis in G ist, AUSGABE
MehrWiederholung zu Flüssen
Universität Konstanz Methoden der Netzwerkanalyse Fachbereich Informatik & Informationswissenschaft SS 2008 Prof. Dr. Ulrik Brandes / Melanie Badent Wiederholung zu Flüssen Wir untersuchen Flüsse in Netzwerken:
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
Mehr\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E.
Das Komplement Ḡ = (V, ( V ) \ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E. Ein Graph H = (V, E )
MehrAlgorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen WS 08/09 Friedhelm Meyer auf der Heide Vorlesung 6, 28.10.08 Friedhelm Meyer auf der Heide 1 Organisatorisches Prüfungsanmeldung bis 30.10.
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
MehrGrundlagen: Algorithmen und Datenstrukturen
Grundlagen: Algorithmen und Datentrukturen Prof. Dr. Hanjo Täubig Lehrtuhl für Effiziente Algorithmen (Prof. Dr. Ernt W. Mayr) Intitut für Informatik Techniche Univerität München Sommeremeter H. Täubig
MehrADS: 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 24. April 2019 [Letzte Aktualisierung: 24/04/2019,
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
MehrLaufzeit. Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V 1, V 2 }) mit der Ford Fulkerson Methode.
Effiziente Algorithmen Flußprobleme 81 Laufzeit Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V 1, V 2 }) mit der Ford Fulkerson Methode. Der Fluß ist höchstens f = min{ V 1, V 2 }.
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
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 10 Suche in Graphen Version vom 13. Dezember 2016 1 / 2 Vorlesung 2016 / 2017 2 /
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,
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 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
Mehr6. Transitive Hülle. 6.1 Min-Plus-Matrix-Produkt und Min-Plus-Transitive Hülle Ring Z(+, ) Semiring N(+, )
6. Transitive Hülle 6.1 Min-Plus-Matrix-Produkt und Min-Plus-Transitive Hülle Ring Z(+, ) Semiring N(+, ) Gruppe Halbgruppe Halbgruppe Halbgruppe Wir betrachten den (kommutativen) Semiring über R { } mit
MehrKürzeste Pfade. Organisatorisches. VL-17: Kürzeste Pfade. (Datenstrukturen und Algorithmen, SS 2017) Walter Unger
Organisatorisches VL-17: Kürzeste Pfade (Datenstrukturen und Algorithmen, SS 2017) Walter Unger Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Sprechstunde: Mittwoch 11:15 12:00 Übungen: Tim Hartmann,
MehrSS11 Effiziente Algorithmen 5. Kapitel: Dynamische Programmierung
SS11 Effiziente Algorithmen 5. Kapitel: Dynamische Programmierung Martin Dietzfelbinger Juni/Juli 2011 FG KTuEA, TU Ilmenau Effiziente Algorithmen SS11 Kapitel 5 Kapitel 5: Dynamische Programmierung Typische
MehrKapitel IV Minimale Spannbäume
Kapitel IV Minimale Spannbäume 1. Grundlagen Ein Graph G = (V, E) besteht aus einer Menge V von Knoten und einer Menge E von Kanten. Wir werden nur endliche Knoten- (und damit auch Kanten-) Mengen betrachten.
MehrDer Preow-push-Algorithmus
Der Preow-push-Algorithmus Bea Schumann 26. Juni 2009 Inhaltsverzeichnis Einleitung 2 Der generische Algorithmus 2 2. Push und Relabel........................... 3 2.. Push..............................
MehrSystems of Distinct Representatives
Systems of Distinct Representatives Seminar: Extremal Combinatorics Peter Fritz Lehr- und Forschungsgebiet Theoretische Informatik RWTH Aachen Systems of Distinct Representatives p. 1/41 Gliederung Einführung
MehrAlgorithmische Graphentheorie
Algorithmische Graphentheorie Vorlesung 5: Suchalgorithmen Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 20. März 2018 1/91 WIEDERHOLUNG - BÄUME / bin etc home
MehrTeil 2: Graphenalgorithmen
Teil : Graphenalgorithmen Anwendungen Definitionen Datenstrukturen für Graphen Elementare Algorithmen Topologisches Sortieren Kürzeste Wege Problemstellung Ungewichtete Graphen Distanzgraphen Gewichtete
MehrDatenstrukturen & Algorithmen Lösungen zu Blatt 10 FS 16
Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 11. Mai
MehrBemerkung: Es gibt Algorithmen für minimale Spannbäume der Komplexität O(m + n log n) und, für dünnbesetzte Graphen, der Komplexität O(m log n), wobei
Bemerkung: Es gibt Algorithmen für minimale Spannbäume der Komplexität O(m + n log n) und, für dünnbesetzte Graphen, der Komplexität O(m log n), wobei { log x = min n N n: log (log ( log(x) )) } {{ } n
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
MehrAlle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).
8. Untere Schranken für Sortieren Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). Werden nun gemeinsame Eigenschaften dieser Algorithmen untersuchen. Fassen gemeinsame
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
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
MehrBetriebswirtschaftliche Optimierung
Institut für Statistik und OR Uni Graz 1 Approximationsalgorithmen auf metrischen Instanzen Minimum Spanning Tree Definition (Spannbaum) Ein Spannbaum in einem Graphen G = (V,E) ist ein kreisfreier Teilgraph
MehrKürzeste Wege. Ein Startknoten, nichtnegative Gewichte
Kürzeste Wege Gegeben ein Digraph D = (V, A) mit Bogengewichten c(a). Aufgabe: Finde einen Weg W von einem Knoten zu allen anderen oder zu einem bestimmten mit c(w) minimal. Problem: negative Gewichte
MehrEin Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist.
Graphen Definition: Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Begriffe: Gerichteter Graph: Alle Kanten haben eine Richtung vom Anfangsknoten
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
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)
Mehr7. Transitive Hülle. Kante des Graphen. Zusatz-Kante der transitiven Hülle
In Anwendungen ist es oft interessant zu wissen, ob man überhaupt von einem Knoten v zu einem Knoten w gelangen kann, ganz gleich wie lang der Weg auch ist. Gegeben sei dabei ein gerichteter Graph G =
MehrAlgorithmische Methoden zur Netzwerkanalyse
Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische
Mehr1 Kürzeste Pfade. mit Wurzel s heißt Kürzester-Pfade-Baum für G. 1 Notfalls fügen wir Hilfskanten mit unendlichen Kantenkosten ein.
1 Kürzeste Pfade Das Problem, einen kürzesten Pfad zwischen zwei Knoten eines Digraphen zu finden, hat vielfältige Anwendungen, zum Beispiel in Informations- und Verkehrsnetzwerken. In den folgenden Abschnitten
MehrBetriebliche Optimierung
Betriebliche Optimierung Joachim Schauer Institut für Statistik und OR Uni Graz Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 1 / 21 1 Approximationsalgorithmen auf
MehrAlgorithmen II Vorlesung am
Algorithmen II Vorlesung am 0..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
MehrEffiziente Algorithmen I
9. Präsenzaufgabenblatt, WiSe 2013/14 Übungstunden am 13.01. & 15.01.2014 Aufgabe Q Gegeben sei ein Fluss-Netzwerk mit Digraph D = (V, A), Knotenkapazitäten c(u, v) 0, Quelle s und Senke t. Kann sich der
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),
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
MehrGrundbegriffe der Informatik Musterlösung zu Aufgabenblatt 9
Grundbegriffe der Informatik Musterlösung zu Aufgabenblatt 9 Aufgabe 9.1 (5+ Punkte) Für Graphen mit gewichteten Kanten steht in der Adjazenzmatrix an der Stelle i,j eine 0, falls es keine Kante von i
Mehr5. Bäume und Minimalgerüste
5. Bäume und Minimalgerüste Charakterisierung von Minimalgerüsten 5. Bäume und Minimalgerüste Definition 5.1. Es ein G = (V, E) ein zusammenhängender Graph. H = (V,E ) heißt Gerüst von G gdw. wenn H ein
MehrBerechnung 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.
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
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
Mehr2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung
2 Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0
MehrDefinition : Diechromatische Zahl eines Graphen G ist die kleinste Anzahl chromatische Zahl von Farben für eine zulässige Färbung.
4 Definition : Eine zulässige Färbung ist eine Färbung der Knoten des ( un- zulässige Färbung gerichteten ) Graphen, so daß je zwei adjazente Knoten verschiedene Farben haben. Trivial ist, daß n verschiedene
MehrBetriebswirtschaftliche Optimierung
Institut für Statistik und OR Uni Graz 1 Das Travelling Salesperson Problem 2 Das Travelling Salesperson Problem Zentrales Problem der Routenplanung Unzählige wissenschaftliche Artikel theoretischer sowie
MehrGraphentheorie. Kardinalitätsmatchings. Kardinalitätsmatchings. Kardinalitätsmatchings. Rainer Schrader. 11. Dezember 2007
Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 11. Dezember 2007 1 / 47 2 / 47 wir wenden uns jetzt einem weiteren Optimierungsproblem zu Gliederung Matchings in bipartiten Graphen
Mehr2. Repräsentationen von Graphen in Computern
2. Repräsentationen von Graphen in Computern Kapitelinhalt 2. Repräsentationen von Graphen in Computern Matrizen- und Listendarstellung von Graphen Berechnung der Anzahl der verschiedenen Kantenzüge zwischen
MehrBetriebliche Optimierung
Betriebliche Optimierung Joachim Schauer Institut für Statistik und OR Uni Graz Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 1 / 22 1 Das Travelling Salesperson Problem
Mehr