Inhaltsverzeichnis. - Kurzer Überblick Seite ) Einleitung Seite ) Vorbereitungen Seite 2. - ungewichtete und ungerichtete Graphen Seite 2

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Inhaltsverzeichnis. - Kurzer Überblick Seite ) Einleitung Seite ) Vorbereitungen Seite 2. - ungewichtete und ungerichtete Graphen Seite 2"

Transkript

1 Inhaltsverzeichnis - Kurzer Überblick Seite 1-1) Einleitung Seite 1-2) Vorbereitungen Seite 2 - ungewichtete und ungerichtete Graphen Seite 2 - Erweiterung für gerichtete Graphen Seite 8-3) a) Abschätzung des Durchmessers Seite 8 - Algorithmus 2-vs-4 Seite 9 - b) Approximierung des Durchmessers Seite 12 - Algorithmus approx-diameter Seite 13 - c) Erweiterung für gewichtete Graphen Seite 14-4) APSP-Abschätzung Seite 14 - Algorithmus approx-apsp Seite 15-5) Abschätzung von k-pairs kürzesten Wegen Seite 18 - Algorithmus approx-kpsp(i) Seite 18 - Zusammenfassung Seite 19

2 Schnelle Durchmesser- und kürzeste Wege- Abschätzung (ohne Matrix-Multiplikation) Lit: D. Aingworth, C. Chekuri, P. Indyk and R. Motwani: Fast Estimation of Diameter and Shortest Paths (Without Matrix Multiplication). SIAM Journal on Computing, Bd. 28 (4), S , Kurzer Überblick: - In der Vergangenheit wurden bedeutende Fortschritte in der Entwicklung von Algorithmen für APSP-Probleme (all-pairs shortest paths) verzeichnet. Bedeutend dabei ist die jeweilige Laufzeit, die schneller als O(n 3 ) ist. - Def: APSP: G = (V,E) gerichteter Graph, c:e Kantenbewertung. Zu allen u,v V mit u v sind die minimalen Längen von Wegen von u nach v oder auch solche Wege selbst zu berechnen. - Das Problem bei diesen Algorithmen ist die Tatsache, daß sie Fast Matrix Multiplikation Algorithmen sind und damit unpraktisch bei der Durchführung sind. - Ziel dieser Arbeit: Entwicklung eines kombinatorischen Algorithmus, der diese verbesserte Laufzeit erreicht. - Wichtigstes Ergebnis: Ein Algorithmus, der das APSP-Problem in ungerichteten und ungewichteten Graphen mit einem additiven Fehler von 2 in O(n 2,5 log n ) löst. - Wenn die kürzesten Wege nur zwischen k bestimmten Knotenpaaren bestimmt werden müssen, gibt es einen effizienteren Algorithmus mit der Laufzeit O(n 1,5 k logn + n 2 log 2 n) 1) Einleitung: Es wird das Problem betrachtet, APSP für einen ungewichteten und ungerichteten Graphen G mit n Knoten und m Kanten zu berechnen. Neuere Arbeiten, die schnellere Algorithmen für dieses Problem vorstellen, basieren auf der Formulierung des Problems als Terme von Matrizen mit kleinen ganzzahligen Einträgen und benutzen die Fast Matrix Multiplikation. Sie erreichen eine Laufzeit von O(n ω polylog(n)), wobei ω für den Exponent der Laufzeit des benutzten Matrix Multiplikation Algorithmus steht. Der aktuell beste Algorithmus dieser Art läuft mit ω = 2,376. 1

3 Im Vergleich zu diesem Algorithmus hat der ursprüngliche Algorithmus für APSP, der BFS für jeden Knoten ausführt, die Laufzeit Θ(nm). Bei dieser Art von Problem ist die Durchführbarkeit des Algorithmus in der Praxis sehr wichtig. Leider wird dieser Gesichtspunkt mit Fast Matrix Multiplikation Algorithmen nicht erfüllt. Deshalb ist es das Ziel einen kombinatorischen Algorithmus für APSP mit der Laufzeit O(n 3-ε ) zu entwickeln. Mit der Bezeichnung kombinatorischer Algorithmus wollen die Autoren den Kontrast zum Fast Matrix Multiplikation Algorithmus hervorheben. Dieser Algorithmus kann für ungerichtete Graphen mit kleinen ganzzahligen Kantengewichten verallgemeinert werden. Ein entscheidender Schritt in der Entwicklung eines solchen Algorithmus war der Wechsel des Schwerpunktes auf den Gesichtspunkt, Durchmesser zwischen Knoten zu berechnen. Der Durchmesser zwischen zwei Knoten kann durch Berechnen von APSP Distanzen im Graphen ermittelt werden. Dies ist die einzige Möglichkeit das Durchmesser-Problem zu lösen. Deshalb soll hier ein schneller Algorithmus zur Approximation des Durchmessers konstruiert werden. Es ist einfach den Durchmesser innerhalb der Abschätzung E 1/2 E mit der Laufzeit O(m) anzugeben, indem man eine BFS für jeden Knoten v durchführt; wenn d die erhaltenen Höhe des BFS-Baumes ist, liegt der Durchmesser von G zwischen d und 2d. Bis zu dieser Arbeit war kein besserer Algorithmus für dieses Problem bekannt. Das Ergebnis der Autoren eines solchen Algorithmus kann auch auf gerichtete Graphen mit beliebigen positiven, reellen Kantengewichten ausgedehnt werden. 2) Vorbereitungen: Alle Definitionen sind für ungerichtete, ungewichtete und zusammenhängende Graphen G(V,E) mit n Knoten und m Kanten. Später erfolgt eine Ausdehnung auf gerichtete und gewichtete Graphen. Knoten-BFS: Wähle einen beliebigen Knoten aus, markiere ihn und hänge ihn an eine Warteschlange an. Solange die Warteschlange noch einen Knoten enthält, betrachte den vordersten Knoten v in der Warteschlange. Suchschritt an v: Falls v einen unmarkierten Nachbarn besitzt, markiere ihn und hänge ihn an die Warteschlange und speichere die entsprechende Kante. 2

4 backtrack: Ansonsten entferne v aus der Warteschlange. Bsp: Def. 2.1: Die Distanz/der Abstand d(u,v) zwischen zwei Knoten u und v ist die Länge des kürzesten Weges zwischen ihnen. Bsp: 2 = 2 = 4 => d(u,v) = 2 Def. 2.2: Der Durchmesser eines Graphen ist definiert als max u,v G d(u,v). Bsp: = 5 3

5 Def. 2.3: Die k-nachbarschaft N k (v) eines Knotens v ist die Menge aller Knoten (außer v), die höchstens den Abstand k von v haben. N k (v) = {u V 0 < d(u,v) k} Der Grad eines Knotens v (Knotengrad) wird bezeichnet durch d v = N 1 (v). N(v) = N 1 (v) {v} bezeichnet die Menge der Knoten, die höchstens den Abstand 1 von v haben. Wichtig: die Menge N(v) beinhaltet nicht nur die Nachbarn von v, sondern auch v selbst. Bsp: Sei k = 2 N 2 (v) = {1,2,3,4,5,6}, d v = {1,4,5,6} = 4 N v = {1,4,5,6,v} Def. 2.4: Für alle Knoten v V bezeichnen wir mit B(v) die Höhe eines BFS-Baumes in G mit der Wurzel v. Bsp: B(v) = 5 In dieser Arbeit wird die Variable s, die später erst definiert wird, benutzt, um die Knoten zu klassifizieren; als Knoten von niedrigem Grad bzw. Knoten von hohem Grad. 4

6 Def. 2.5: Sei L(V) = {u V d u < s} und H(V) = V\L(V). Bsp: Sei s = 3 => L(V) = {u V d u < 3} d 1 = {2,3,4,5} = 4 d 6 = {5,7} = 2 d 2 = {1,3,4} = 3 d 7 = {6,8} = 2 d 3 = {1,2,4,5} = 4 d 8 = {7,9} = 2 d 4 = {1,2,3,5} = 4 d 9 = {8,10} = 2 d 5 = {1,3,4,6} = 4 d 10 = {9} = 1 => L(V) = {6,7,8,9,10} und H(V) ={1,2,3,4,5} Def. 2.6: Gegeben sei eine Menge A V. Eine Menge D V ist ein dominating set für A genau dann, wenn für jeden Knoten v A N(v) D Ø. D.h. für jeden Knoten in A\D ist einer seiner Nachbarn in D. Bsp: 1) Sei A = {1,2,3,4,5} => D = {3} 2) Sei A = V => D = {3,6} Das folgende Theorem liegt allen in dieser Arbeit verwendeten Algorithmen zugrunde. Theorem 2.7: Es existiert ein dominating set für H(V) mit der Größe O(s -1 n logn), welches in der Zeit O(m+ns) gefunden werden kann. 5

7 Anmerkung 2.8: Es ist leicht zu sehen, daß das zufällige Auswählen einer Menge mit Θ(s -1 n logn) Knoten das gewünschte dominating set für H(V) mit hoher Wahrscheinlichkeit ergibt. Beweis: i) Ann: H(V) = V Wir interessieren uns für das standard dominating set für den Graphen G. Das Problem ein minimales dominating set für G zu berechnen, kann als Überdeckungs- Problem umformuliert werden: Konstruiere für alle Knoten v eine Menge S v = N(v). Dies ergibt ein Fall des Überdeckungs- Problems S = {S v v V}, bei dem das Ziel ist, eine minimale Anzahl von Mengen zu finden, deren Vereinigung V ist. S 1 = {1,2,4} S 5 = {2,4,5,6,7} S 2 = {1,2,3,5} S 6 = {5,6,7} S 3 = {2,3,4} S 7 = {5,6,7,8} S 4 = {1,3,4,5,8} S 8 = {4,7,8} In diesem Fall überdecken S 4 und S 5 V. => C = {S 4,S 5 }, C S. Gegeben sei eine Überdeckungslösung C S. Die Knotenmenge, die mit den Untermengen in C übereinstimmen, bilden ein dominating set für G mit der gleichen Größe wie C (Hier: D={4,5}). Dies ist der Fall, da jeder Knoten v in einer der Mengen S w C vorkommt und demgemäß entweder sich selbst im dominating set befindet oder einen Nachbar darin hat. Ebenso stimmt ein dominating set für G mit der Überdeckung für S mit derselben Kardinalität überein. Der greedy-überdeckungs-algorithmus wählt wiederholt die Menge, die die meisten unüberdeckten Elemente enthält. Es ist bekannt, daß eine solche Überdeckung höchstens um den Faktor log n schlechter ist als die optimale Bruchlösung (keine ganze Zahl). 6

8 Weil jeder Knoten mindestens den Grad s hat (weil H(V) = V und H(V) = {d u s}) und deshalb die entsprechende Menge S v mindestens die Kardinalität s hat, ergibt das Zuschreiben eines Gewichts von 1/s für jede Menge in S eine Überdeckung mit dem Gesamtgewicht von n/s. Deshalb ist die optimale Mengengröße O(n/s). Der greedy-überdeckungs-algorithmus liefert deshalb eine Lösung der Größe O(s -1 n logn). Dies ergibt ein dominating set für G mit derselben Größe. Wenn der greedy-überdeckungs-algorithmus dadurch implementiert wird, daß die Mengen in buckets nach der Anzahl der unüberdeckten Knoten sortiert werden, läuft der Algorithmus in der Zeit O(m), da es höchstens m verschiedenen Werte gibt und deshalb die Menge in O(m) sortiert werden kann. ii) Sei H(V) V. Konstruiere einen Graph G = (V,E ). Füge eine Menge von Scheinknoten X = {x i 1 i s}folgendermaßen hinzu: definiere V = V X und E = E {(x i,x j ) 1 i<j s} {(u,x i ) u L(V)}. Sei s = 3 L(V) = {6,7,8,9,10} H(V) = {1,2,3,4,5} Jeder Knoten in diesem neuen Graphen G hat den Grad s oder höher. Nach den vorhergehenden Argumentationen können wir ein dominating set für G mit der Größe O(s -1 (n+s) log(n+s)) = O(s -1 n logn) konstruieren. Da keiner der neuen Knoten in X mit den Knoten in H(V) verbunden ist, gibt die Einschränkung dieses dominating sets für V ein dominating set für H(V) mit der Größe O(s -1 n logn). Die Laufzeit vergrößert sich durch das Hinzufügen der neuen Knoten und Kanten, aber da die Gesamtzahl der addierten Kanten höchstens ns+s 2 = O(ns) ist, bekommen wir die gewünschte Zeitschranke. 7

9 Erweiterung für gerichtete Graphen: Gegeben sei ein gerichteter Graph G(V,E); durchg s wird der Graph bezeichnet, den man aus G erhält, indem die Richtung aller Kanten von G umgedreht wird. Der Begriff Grad wird benutzt, um auf den Ausgrad (bzw. auslaufenden Grad) eines Knotens zu verweisen und für v V wird sein Grad durch d r v bezeichnet. Die Definitionen, die zuvor für Abstände, Durchmesser, Nachbarschaft, BFS-Bäume und dominating sets gegeben wurden, erweitern sich für gerichtete Graphen wie folgt: Die Definitionen werden nur für G gegeben. Die Definitionen für G s können analog erhalten werden. Def. 2.9: Für zwei Knoten u, v V wird d(u,v) als die Länge des kürzesten Weges von u nach v definiert. Wenn kein solcher Weg existiert, wird d(u,v) = angenommen. Def. 2.10: Der Durchmesser eines Graphen G ist als max u,v G d(u,v) definiert. Def. 2.11: Sei N r k(v) = {u V 0<d(u,v) k}. Weiter bezeichne N r (v) = N r 1(v) {v} die Menge von Knoten, die höchstens den Abstand 1 von v haben. Def. 2.12: BFS ist ein BFS-Baum im gerichteten Graph G. Für alle Knoten v V bezeichnet man mit B r (v) die Höhe des BFS -Baumes in G mit der Wurzel v. Wir definieren H r (V), L r (V) und dominating set für gerichtete Graphen in Beziehung zu den auslaufenden Kanten abhängig von den Knoten. Def. 2.13: s L r (V) = {u V d r u < s} und H r (V) = V\L r (V) Def. 2.14: Gegeben sei A V. D V ist ein out-dominating set von A genau dann, wenn für jeden Knoten v A N r (v) D Ø. Folgendes Korollar ist eine einfache Konsequenz des Theorems 2.7. Korollar 2.15: Gegeben sei ein gerichteter Graph G(V,E). Für H r (V) existiert ein out-dominating set mit der Größe O(s -1 log n) das in der Zeit O(m+ns) gefunden werden kann. 3) a) Abschätzung des Durchmessers: In diesem Abschnitt wird ein Algorithmus entwickelt, der eine Abschätzung E ausgibt, für die 2/3 E gilt. Als ersten Schritt in diese Richtung wird ein Algorithmus präsentiert, der zwischen Graphen mit dem Durchmesser 2 und 4 unterscheiden kann. Dieser wird dann zum gewünschten Abschätzalgorithmus generalisiert. 8

10 Durchmesser von 2 und 4 unterscheiden Lemma 3.1: Ann: G hat ein Knotenpaar a und b mit d(a,b) 4. Dann hat jeder BFS -Baum mit Wurzel v N r (a) und jeder BFS -Baum mit Wurzel v N s (b) mindestens die Höhe 3. Bsp: d(a,b) = 5 B r (a) = 7 B w (v) = 7 N r (a) = {a, 1,2,3} N s (b) = {b,9} Algorithmus 2-vs-4 1) falls L r (V) Ø, dann a) wähle v L r (V) b) berechne einen BFS -Baum von v und einen BFS -Baum von jedem Knoten in N r (v). 2) sonst a) berechne ein out-dominating set D für H r (V) = V b) berechne einen BFS -Baum für jeden Knoten in D. 3) falls alle BFS-Bäume die Höhe 2 haben, gib 2 aus sonst gib 4 aus. Bsp: i) n = 9 => s = 2,93 = 4 (d(3,2) = 4) d r 1 = 3, d r 2 = 4, d r 3 = 3, d r 4 = 3, d r 5 = 3, d r 6 = 2, d r 7 = 1, d r 8 = 3, d r 9 = 2 L r (V) = {6,7,9}, H r (V) = {1,2,3,4,5,8} 9

11 1) a) Sei v = 6 b) BFS -Baum von v = 6 => B r (v) = 7 N r (6) = {6,7,9} BFS -Baum von v = 7 => B w (7) = 3 usw.( B w (6) und B w (9) ) => Ausgabe: 4 ii) n = 5 => s = 1,87 = 2 d r 1 = 2, d r 2 = 2, d r 3 = 2, d r 4 = 2, d r 5 = 2 H r (V) = V 2) sonst a) outdominating set D für H r (V) = V D = {2,4,5} b) BFS -Baum für v = 2 B r (v) = 2 BFS -Baum für v = 5 B r (v) = 2 BFS -Baum für v = 4 B r (v) = 2 => Ausgabe: 2 10

12 Theorem 3.2: Der Algorithmus 2-vs-4 unterscheidet Graphen mit Durchmesser 2 und 4 und hat die Laufzeit O(ms -1 n logn + ms). Beweis: Es ist klar, daß der Algorithmus 2 für Graphen mit dem Durchmesser 2 ausgibt, da in solchen Graphen die BFS-Bäume die Höhe 2 nicht überschreiten können. Ann: G hat den Durchmesser 4. Fixiere ein Knotenpaar a,b V so, daß gilt d(a,b) 4. Wir wollen zeigen, daß der Algorithmus eine den entsprechend den Kanten gerichtete BFS von einem Punkt v N r (a) N s (b) ausführt. Aus Lemma 3.1 können wir schließen, daß die Höhe des BFS-Baumes mit der Wurzel v mindestens 3 ist; der Algorithmus wird 4 ausgeben. Es können 2 Fälle im Algorithmus auftreten: 1. Fall: L r (V) Ø. i) wenn b zu N r (v) gehört, gibt es nichts zu beweisen. ii) iii) wenn B r (v) > 2, gibt es nichts zu beweisen. wenn B r (v) = 1, folgt, daß d r v = n-1. Da s als o(n) gewählt v L r (V). Dies ist aber ein Widerspruch zur Voraussetzung. Der einzige Fall, der übrig bleibt ist B r (v) = 2 und d(v,b) = 2. N r 1(v) hat weniger als s Knoten. x gehört sowohl zu N r (v) als auch zu N s (b). N r (v) N s (b) Ø. mit Lemma 3.1 folgt, daß der Algorithmus 4 ausgibt. Die Größe von N r (v) ist höchstens s. Deshalb ist die Zeit, die benötigt wird, um den BFS-Baum zu berechnen, durch O(ms) begrenzt. 2. Fall: L r (V) = Ø, d.h. H r (V) = V. Da D ein out-dominating set von V ist D N r (a) Ø. Mit Theorem 2.7 folgt D = O(s -1 n logn). Laufzeit ist O(ms -1 n logn). Wählt man s = n logn, erhält man folgendes Korollar. Korollar 3.3: Graphen mit den Durchmessern 2 und 4 können in O(m n logn ) unterschieden werden. 11

13 b) Approximierung des Durchmessers: Die Ideen, die im 2-vs-4 Algorithmus benutzt wurden, können generalisiert werden, um den Durchmesser für alle gerichteten Graphen abzuschätzen. Man bestimmt 2 beliebige Knoten a und b, für die d(a,b) = ( =Durchmesser). Ann: Man kann einen Knoten v in N r /3(a) oder v in N s /3(b) finden. Daraus folgt, daß B r (v) 2/3 oder B s (v ) 2/3 und wir können B r (v) oder B s (v ) für unsere Abschätzung benutzen. Wie vorhin können wie eine kleine Menge von Knoten finden, für die gilt, daß sie einen Knoten in N r /3(a) N s /3(b) hat. Wir können den BFS-Baum eines jeden diesen Knotens berechnen und das Maximum dieser Höhen als unsere Abschätzung E benutzen. Für die Notation im Folgenden ist es einfacher /3 als eine ganze Zahl anzunehmen. Im allgemeinen muß die Analyse jedoch modifiziert werden, um /3 benutzen zu können. Ann: 3. Def. 3.4: Ein k-partial-bfs-baum wird dadurch erhalten, daß eine BFS bis zu dem Knoten ausgeführt wird, bei dem (ohne die Wurzel) k Knoten durchlaufen wurden. Sei k = 9 Lemma 3.5: Ein k-partial-bfs-baum kann in O(k 2 ) berechnet werden. Beachte: ein k-partial-bfs-baum beinhaltet die k Knoten, die am nächsten zur Wurzel sind. Diese Menge ist aber nicht eindeutig definiert. Def. 3.6: Sei PBFS k (v) die Knotenmenge, die durch die k-partial-bfs von v besucht wurde. PB (v) bezeichne die Höhe des auf diese Art konstruierten Baumes. PBFS und PB sind analog definiert. 12

14 Bsp: Sei k = 8 PBFS k (v) = {1,2,3,4,5,9,10,11} PB (v) = 3 Algorithmus approx-diameter 1) berechne einen s-partial-bfs -Baum für jeden Knoten in V als Wurzel. 2) sei w der Knoten mit der maximalen Höhe (PB (w)) der Partial-BFS -Bäume. 3) berechne ein BFS -Baum von w und ein BFS Baum für jeden Punkt in PBFS s (w). 4) berechne einen neuen Graphen Ĝ aus G dadurch, daß alle Kanten der Form (v,u), wobei u PBFS s (v), hinzugefügt werden. 5) berechne ein out-dominating set D in Ĝ. 6) berechne ein BFS -Baum für jeden Knoten in D. 7) gib die Abschätzung E aus, die der maximalen Höhe aller BFS-Bäume aus Schritt 3 und 6 entspricht. Lemma 3.7: Das dominating set D, das in Schritt 5 gefunden wird, hat die Größe O(s -1 n logn). Lemma 3.8: Wenn N r /3(v) s für alle v V, dann ist D (N r /3(v) {v}) Ø für alle v V. Lemma 3.9: Sei S die Menge von Knoten v so, daß N r /3(v) < s. Wenn S Ø, dann gehört der Knoten w, der im 2. Schritt gefunden wird, zu S. Wenn zusätzlich B r (w) < 2/3 ist, gilt für alle Knoten v PBFS s (w) N s /3(v) Ø. Theorem 3.10: Der Algorithmus approx-diameter ergibt eine Abschätzung E, für die 2/3 E gilt, in der Zeit O(ms+ms -1 n logn+ns 2 ). Wählt man s= n logn, ergibt dies die Laufzeit O(m n logn + n 2 logn). Beweis: Es gibt zwei Fälle. Seien a und b zwei Knoten, für die gilt d(a,b) =. 1. Fall: Für alle Knoten v gilt N r /3(v) s. i) wenn a oder b aus D ist, sind wir fertig. 13

15 ii) sonst folgt aus dem Beweis des Lemmas 3.8, daß die Menge D einen Knoten v mit v N r /3(a) besitzt. In Schritt 6 berechnet man BFS -Bäume für jeden Knoten aus D. Einer dieser Knoten ist v und B r (v) ist die gewünschte Abschätzung. 2. Fall: Es gibt einen Knoten v V, für den N r /3(v) < s gilt. Sei w der Knoten aus Schritt 2. i) wenn B r (w) 2/3 ist B r (w) unsere Abschätzung. ii) Sonst folgt aus Lemma 3.9, daß PBFS s (w) einen Knoten v N s /3(b) besitzt. Weil wir in Schritt 3 für jeden Knoten aus PBFS s (w) BFS -Bäume berechnen, ist einer dieser Knoten v und B s (v) die gewünschte Abschätzung. c) Erweiterung für gewichtete Graphen: Der Algorithmus zur Abschätzung der Durchmesser erweitert sich für den Fall der gewichteten Graphen gut. Dies erfordert einige Modifikationen des Algorithmus approx-diameter: - Die BFS wird durch den Dijkstra s Algorithmus für kürzeste Wege ersetzt. - Bei der Konstruktion des neuen Graphen Ĝ in Schritt 4 müssen wir zuerst alle Originalkanten von G entfernen, bevor wir die neuen Kanten hinzufügen, da es in einem gewichteten Graphen nicht notwendigerweise der Fall ist, daß der Nachbar eines Knoten v zu N /3 (v) gehört. Die Laufzeit bleibt dieselbe. 4) APSP- Abschätzung Wir beschränken uns auf ungerichtete und ungewichtete Graphen. Auch APSP-Abstände können mit einem additiven Fehler von 2 bestimmt werden. Basis-Idee: Ein dominating set muß einen Knoten beinhalten, der innerhalb eines Abstandes 1 von allen kürzesten Wegen ist, da ein dominating set einen Nachbarn von jedem Knoten des Graphen enthält. 14

16 Algorithmus approx-apsp Kommentar: Definiere G[L(V)] als den Subgraph von G, der durch L(V) induziert wird. 1) Setze alle Einträge in der Abstandsmatrix ď auf. 2) Berechne ein dominating set D für H(V) mit der Größe s -1 n logn. 3) Berechne ein BFS-Baum für jeden Knoten v D und erneuere ď mit den erhaltenen kürzesten Weglängen von v. 4) Berechne ein BFS-Baum in G[L(V)] für jeden Knoten v L(V) und erneuere ď mit den erhaltenen kürzesten Weglängen von v. 5) für alle u,v V\D ď(u,v) min {ď(u,v), min {ď(w,u) + ď(w,v)}} w D 6) gib ď als die APSP Matrix und den größten Eintrag als Durchmesser aus. Bsp: Schritt 3: 15

17 Schritt 4: Schritt 5: kürzester Weg der Weg, der in Schritt 5 berechnet wird (In Schritt 4 erhält man den roten Weg nicht, da er über H(V) geht => Abschätzung nötig) Theorem 4.1: Im Algorithmus approx-apsp erfüllen die Abstände, die in ď auftreten, für alle Knoten u,v V die Ungleichung 0 ď(u,v) d(u,v) 2. Außerdem kann der Algorithmus so modifiziert werden, daß er Wege mit der Länge ď produziert, anstatt nur die Approximationsabstände auszugeben. Dieser Algorithmus hat die Laufzeit O(n 2 s+n 3 s -1 logn). Wählt man s = n logn, ergibt dies eine Laufzeit O(n 2,5 log n ). Beweis: Zuerst zeigen wir, daß der Algorithmus so modifiziert werden kann, daß er die aktuellen Wege ausgibt, anstatt nur die Abstände. Um dies zu erreichen, kann im Schritt 3 und 4 jeder neue Matrixeintrag mit dem Weg, der vom BFS-Baum dafür benutzt wurde, verknüpft werden. In Schritt 5 verknüpfen wir nur die zwei Wege aus Schritt 3, die den minimalen Wert von ď ermitteln. 16

18 Für einen Knoten u ist klar, daß der kürzeste Weg-Abstand zu einem Knoten v V, der ausgegeben wird, nicht kleiner sein kann als die korrekten Werte, da sie mit den aktuellen Wegen übereinstimmen. Um zu sehen, daß sie nicht mehr als 2 differieren, müssen wir drei Fälle betrachten. 1. Fall: u D In diesem Fall wird der BFS-Baum von v in Schritt 3 berechnet. Deshalb sind die Abstände, die ausgegeben werden korrekt. 2. Fall: u H(V)\D Aufgrund der Definition von D muß u einen Nachbarn w in D haben. Der Abstand von u und w zu einem anderen Knoten kann nicht mehr als 1 variieren. Die Abstände von w sind nach dem 1. Fall immer korrekt. Die Zuweisung in Schritt 5 garantiert ď(u,v) ď(w,u) + ď(w,v) = d(w,v)+1 d(u,v)+2 3. Fall: u L(V) Nehme einen kürzesten Weg von u nach v. Ann: Der Weg von u nach v sei völlig in L(V) enthalten. Dann wird ď(u,v) in Schritt 4 richtig gesetzt. Sonst muß der Weg einen Knoten w H(V) enthalten. a) wenn w D, wird der richtige Abstand berechnet, wie im 1. Fall. b) wenn w H(V)\D, dann gibt es einen Nachbarn x D von w. In Schritt 5 wird eine der betrachteten Möglichkeiten einen Weg von u nach x und einen Weg von x nach v liefern. Weil die Abstände x beinhalten, werden sie in Schritt 3 korrekt berechnet. Dies bedeutet, daß ď(u,v) d(x,u) + d(x,v) d(w,u) + d(w,v) + 2 = d(u,v) + 2 Laufzeitberechnung: - Schritt 1 erfordert nur O(n 2 ) Zeit. - Schritt 2 kann nach Theorem 2.7 in der festgesetzen Zeit ausgeführt werden. - Schritt 3 erfordert ms -1 n logn zur Berechnung der BFS-Bäume. - Schritt 4 kann nur O(n) Bäume berechnen, aber jeder einzelne hat O(ns) Kanten. Deshalb erfordert dies nur O(n 2 s) Zeit. - Schritt 5 nimmt alle n 2 Knotenpaare und vergleicht diese mit den s -1 n logn Knoten aus D. dies impliziert die gewünschte Laufzeit. Eine Ausdehnung der Ergebnisse auf ungerichtete Graphen mit kleinen ganzzahligen Kantengewichten ist möglich. 17

19 5) Abschätzung von k-pairs kürzesten Wegen: Es werden nur die Abstände zwischen einer gegebenen Menge P mit k unterschiedlichen Paaren bestimmt. Dazu kann der Algorithmus approx-apsp generalisiert werden, um dieses Problem mit derselben Fehlergrenze zu behandeln. Der generalisierte Algorithmus wird approx-kpsp genannt. Er hat die Laufzeit O(n 1,5 k logn + n 2 log 2 n), wobei k die Kardinalität der Menge P ist. Wenn P alle Knotenpaare beinhaltet, ist das Verhalten von approx-kpsp mit dem von approx-apsp identisch. Aber für kleine k ist der Algorithmus bedeutsam schneller als approx-apsp. Die wichtigste Idee hinter der Beschleunigung ist die richtige Wahl von s. Algorithmus approx-kpsp(i) Kommentar: Definiere s i = n/2 i und t = log(n 1,5 / k logn ). Alle ď(u,v) sind anfänglich gleich und G 1 = (V 1,E 1 ) ist als G gesetzt. 1) falls i = t berechne ein BFS-Baum für jeden Knoten v V i in G i und erneuere ď mit den erhaltenen kürzesten Weglängen. 2) sonst sei U i = {v V i Grad von v in G i ist mindestens s i } V i+1 = V i \U i und G i+1 sei der Subgraph von G i induziert durch V i+1. a) nenne approx-kpsp(i+1) b) berechne ein dominating set D i für U i in G i c) berechne ein BFS-Baum für jedes v D i und erneuere ď mit den erhaltenen kürzesten Weglängen d) für jede {u,v} P führe aus 3) return ď(u,v) min{ď(u,v), min ď(w,u) + ď(w,v)} w D Der Algorithmus ist rekursiv und wird auf der höchsten Ebene mit dem Parameterwert i = 1 mit der Annahme G = G 1 aufgerufen. Der Algorithmus macht t rekursive Aufrufe, wobei t als Parameter so gewählt wurde, daß er die Laufzeit minimiert. 18

20 Lemma 5.1: Der Parameter t kann so gewählt werden, daß die Laufzeit von Algorithmus approx-kpsp O(n 1,5 k logn + n 2 log 2 n) ist. Diese Laufzeit wird für t = log(n 1,5 / k logn ) erreicht. Theorem 5.2: Für alle Paare (u,v) P erfüllen die Abstände, die durch approx-kpsp in ď ausgegeben wurden, die Ungleichung 0 ď(u,v) d(u,v) 2. Der Algorithmus hat die Laufzeit O(n 2 log 2 n + n 1,5 k logn ). Zusammenfassung: In der Arbeit wurden drei Teilprobleme betrachtet und folgende Ergebnisse erzielt. - Durchmesser: Algorithmus 2-vs-4 O(ms -1 n logn + ms) (für s= n logn => O(m n logn )) für spezielle gerichtete und ungewichtete Graphen wird generalisiert zu Algorithmus approx-diameter 2/3 E Abschätzung O(ms+ms -1 n logn+ns 2 ) (für s= n logn => O(m n logn + n 2 logn) für alle gerichtete und ungewichtete Graphen Erweiterung für gewichtete Graphen möglich - APSP: Algorithmus approx-apsp 0 ď(u,v) d(u,v) 2 O(n 2 s+n 3 s -1 logn) (für s= n logn => O(n 2,5 log n )) Erweiterung für ungewichtete Graphen mit kleinen ganzzahligen Kantengewichten möglich - APSP für k-pairs kürzeste Wege: Algorithmus approx-kpsp(i) 0 ď(u,v) d(u,v) 2 O(n 2 log 2 n+n 1,5 k logn ) 19

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

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

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

Mehr

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

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

Mehr

16. All Pairs Shortest Path (ASPS)

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

Mehr

Vorlesung 2 KÜRZESTE WEGE

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

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

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

Mehr

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

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

Mehr

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

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene 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

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

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.

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

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

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

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

Algorithmen und Datenstrukturen

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

Mehr

Algorithmen II Vorlesung am

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

Mehr

11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME

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

Mehr

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

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

Mehr

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

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

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Traversierung Durchlaufen eines Graphen, bei

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

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.

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

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.

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

Mehr

2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}

2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1} 1. Berechne für jeden Knoten i in BFS-Art eine Liste S i von von i aus erreichbaren Knoten, so dass (i) oder (ii) gilt: (i) S i < n 2 + 1 und Si enthält alle von i aus erreichbaren Knoten (ii) S i = n

Mehr

Bemerkung: Der vollständige Graph K n hat n(n 1)

Bemerkung: Der vollständige Graph K n hat n(n 1) Bemerkung: Der vollständige Graph K n hat n(n 1) 2 Kanten. Bew: Abzählen! Definition 111. Graphen mit n paarweise zyklisch verbundenen Kanten heißen Kreise (vom Grad n) und werden mit C n bezeichnet. Beispiel

Mehr

Freie Bäume und Wälder

Freie Bäume und Wälder (Martin Dietzfelbinger, Stand 4.6.2011) Freie Bäume und Wälder In dieser Notiz geht es um eine besondere Sorte von (ungerichteten) Graphen, nämlich Bäume. Im Gegensatz zu gerichteten Bäumen nennt man diese

Mehr

3 Klassifikation wichtiger Optimierungsprobleme

3 Klassifikation wichtiger Optimierungsprobleme 3 Klassifikation wichtiger Optimierungsprobleme 3.1 Das MIN- -TSP Wir kehren nochmal zurück zum Handlungsreisendenproblem für Inputs (w {i,j} ) 1 i

Mehr

(a, b)-bäume / 1. Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss.

(a, b)-bäume / 1. Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss. (a, b)-bäume / 1. Szenario: Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss. Konsequenz: Kommunikation zwischen Hauptspeicher und Festplatte - geschieht nicht Byte für Byte,

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

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

Mehr

Programmierkurs Python II

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

Mehr

Überblick. Kap. 1.4: Minimum Weight Perfect Matching. 1.3 Blüten-Schrumpf Algorithmus für Maximum Matching

Überblick. Kap. 1.4: Minimum Weight Perfect Matching. 1.3 Blüten-Schrumpf Algorithmus für Maximum Matching Kap. 1.4: Minimum Weight Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 4. VO 6. November 2006 Überblick kurze Wiederholung: 1.2 Blüten-Schrumpf-Algorithmus für Perfektes Matching

Mehr

Very simple methods for all pairs network flow analysis

Very simple methods for all pairs network flow analysis Very simple methods for all pairs network flow analysis Tobias Ludes 02.07.07 Inhalt Einführung Algorithmen Modifikation der Gomory-Hu Methode Einführung Nach Gomory-Hu nur n-1 Netzwerk-Fluss- Berechnungen

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

Algorithmische Methoden zur Netzwerkanalyse

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

Mehr

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung

Mehr

Wiederholung zu Flüssen

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

Mehr

12.4 Traveling Salesman Problem

12.4 Traveling Salesman Problem 96 KOMBINATORISCHE SUCHE.4 Traveling Salesman Problem Definition.3(TSP, Problem des Handlungsreisenden): Wir betrachten einen gerichteten, gewichteten Graphen G = (V,E) mit K : V R. K({u,v}) sind die Kosten

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

Algorithmen und Datenstrukturen 2-1. Seminar -

Algorithmen und Datenstrukturen 2-1. Seminar - Algorithmen und Datenstrukturen 2-1. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Sommersemster 2010 Outline 1. Übungsserie: 3 Aufgaben, insgesamt 30 28 Punkte A1 Spannbäume (10 8

Mehr

Graphdurchmusterung, Breiten- und Tiefensuche

Graphdurchmusterung, Breiten- und Tiefensuche Prof. Thomas Richter 18. Mai 2017 Institut für Analysis und Numerik Otto-von-Guericke-Universität Magdeburg thomas.richter@ovgu.de Material zur Vorlesung Algorithmische Mathematik II am 18.05.2017 Graphdurchmusterung,

Mehr

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. a) Es seien W 1 = (V, E 1 ), W 2 = (V, E 2 ) Untergraphen von G, die beide Wälder sind. Weiter gelte E 1 > E 2.

Mehr

3. Musterlösung. Problem 1: Boruvka MST

3. Musterlösung. Problem 1: Boruvka MST Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner. Musterlösung Problem : Boruvka MST pt (a) Beweis durch Widerspruch. Sei T MST von G, e die lokal minimale Kante eines

Mehr

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel 3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36

Mehr

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 11 Prof. Dr. Helmut Seidl, S. Pott,

Mehr

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien

Mehr

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP Kap..1 Heuristiken Kap.. Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 3. VO DAP SS 008 14. Juli 009 Überblick

Mehr

Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien

Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 23. VO DAP2 SS 2008 14. Juli 2009

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

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1

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

Mehr

Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time

Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time Universität Konstanz Mathematisch-naturwissenschaftliche Sektion Fachbereich Mathematik und Statistik Wintersemester 2001/02 Mikkel Thorup: Undirected Single-Source Shortest Paths with Positive Integer

Mehr

Vorlesung 4 BETWEENNESS CENTRALITY

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

Mehr

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

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

Mehr

Satz 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,... 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

Mehr

Quicksort ist ein Divide-and-Conquer-Verfahren.

Quicksort ist ein Divide-and-Conquer-Verfahren. . Quicksort Wie bei vielen anderen Sortierverfahren (Bubblesort, Mergesort, usw.) ist auch bei Quicksort die Aufgabe, die Elemente eines Array a[..n] zu sortieren. Quicksort ist ein Divide-and-Conquer-Verfahren.

Mehr

Wie wird ein Graph dargestellt?

Wie 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

Mehr

2. 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 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0

Mehr

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität 1 Clustering: Partitioniere Objektmenge in Gruppen(Cluster), so dass sich Objekte in einer Gruppe ähnlich sind und Objekte

Mehr

16. November 2011 Zentralitätsmaße. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 87

16. November 2011 Zentralitätsmaße. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 87 16. November 2011 Zentralitätsmaße H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 87 Darstellung in spektraler Form Zentralität genügt Ax = κ 1 x (Herleitung s. Tafel), daher ist x der Eigenvektor

Mehr

Bäume und Wälder. Definition 1

Bäume und Wälder. Definition 1 Bäume und Wälder Definition 1 Ein Baum ist ein zusammenhängender, kreisfreier Graph. Ein Wald ist ein Graph, dessen Zusammenhangskomponenten Bäume sind. Ein Knoten v eines Baums mit Grad deg(v) = 1 heißt

Mehr

Effiziente Algorithmen I

Effiziente Algorithmen I H 10. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 18.01.2015 Aufgabe Q Ein Reiseveranstalter besitzt ein Flugzeug, das maximal p Personen aufnehmen kann. Der Veranstalter bietet einen Flug

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 4: Suchstrategien Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 14. April 2017 HALBORDNUNG TOPOLOGISCHE ORDNUNG TOPOLOGISCHES

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

6. 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(+, ) 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

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Laufzeit. Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V 1, V 2 }) mit der Ford Fulkerson Methode.

Laufzeit. 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 }.

Mehr

durch Einfügen von Knoten konstruiert werden kann.

durch Einfügen von Knoten konstruiert werden kann. Satz von Kuratowski Definition Unterteilung eines Graphen Sei G = (V, E) und e = {u, v} E. 1 Das Einfügen eines neuen Knoten w in die Kante e führt zum Graphen G = (V {w}, E \ e {{u, w}, {w, v}}). 2 Der

Mehr

Theoretische Informatik 1

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

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

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

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

Mehr

Aufgabe 1: Berechnen Sie für den in Abbildung 1 gegebenen Graphen den. Abbildung 1: Graph für Flussproblem in Übungsaufgabe 1

Aufgabe 1: Berechnen Sie für den in Abbildung 1 gegebenen Graphen den. Abbildung 1: Graph für Flussproblem in Übungsaufgabe 1 Lösungen zu den Übungsaufgaben im Kapitel 4 des Lehrbuches Operations Research Deterministische Modelle und Methoden von Stephan Dempe und Heiner Schreier Aufgabe 1: Berechnen Sie für den in Abbildung

Mehr

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

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

Mehr

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

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Dynamische Programmierung Einführung Ablaufkoordination von Montagebändern Längste gemeinsame Teilsequenz Optimale

Mehr

Das Steinerbaumproblem

Das Steinerbaumproblem Das Steinerbaumproblem Natalie Richert Fakultät für Elektrotechnik, Informatik und Mathematik, Universität Paderborn 4. Februar 008 / 3 Überblick Problembeschreibung Vorstellung von zwei Approimationsalgorithmen

Mehr

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung Gliederung der Vorlesung. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Minimale spannende Bäume 5. Färbungen und Cliquen 6. Traveling Salesman Problem 7. Flüsse in Netzwerken

Mehr

Proseminar Graphentheorie Vortrag 3 Matching. Inhalt: 1. Grundlagen 2. Matchings in bipatiten Graphen 3. Matchings in allgemeinen Graphen

Proseminar Graphentheorie Vortrag 3 Matching. Inhalt: 1. Grundlagen 2. Matchings in bipatiten Graphen 3. Matchings in allgemeinen Graphen Proseminar Graphentheorie Vortrag 3 Matching Inhalt: 1. Grundlagen 2. Matchings in bipatiten Graphen 3. Matchings in allgemeinen Graphen 1. Grundlagen Definition Matching: Eine Menge M von unabhängigen

Mehr

= n (n 1) 2 dies beruht auf der Auswahl einer zweielementigen Teilmenge aus V = n. Als Folge ergibt sich, dass ein einfacher Graph maximal ( n E = 2

= n (n 1) 2 dies beruht auf der Auswahl einer zweielementigen Teilmenge aus V = n. Als Folge ergibt sich, dass ein einfacher Graph maximal ( n E = 2 1 Graphen Definition: Ein Graph G = (V,E) setzt sich aus einer Knotenmenge V und einer (Multi)Menge E V V, die als Kantenmenge bezeichnet wird, zusammen. Falls E symmetrisch ist, d.h.( u,v V)[(u,v) E (v,u)

Mehr

Algorithmische Methoden zur Netzwerkanalyse

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

Mehr

Algorithmische Geometrie: Schnittpunkte von Strecken

Algorithmische Geometrie: Schnittpunkte von Strecken Algorithmische Geometrie: Schnittpunkte von Strecken Nico Düvelmeyer WS 2009/2010, 3.11.2009 3 Phasen im Algorithmenentwurf 1. Konzentration auf das Hauptproblem 2. Verallgemeinerung auf entartete Eingaben

Mehr

Inhalt. 1. Flußprobleme. 2. Matching. 3. Lineares Programmieren. 4. Ganzzahliges Programmieren. 5. NP-Vollständigkeit. 6. Approximationsalgorithmen

Inhalt. 1. Flußprobleme. 2. Matching. 3. Lineares Programmieren. 4. Ganzzahliges Programmieren. 5. NP-Vollständigkeit. 6. Approximationsalgorithmen Effiziente Algorithmen Einführung 1 Inhalt 1. Flußprobleme 2. Matching. Lineares Programmieren 4. Ganzzahliges Programmieren 5. NP-Vollständigkeit 6. Approximationsalgorithmen 7. Backtracking und Branch-and-Bound

Mehr

5. Bäume und Minimalgerüste

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

Mehr

WS 2009/10. Diskrete Strukturen

WS 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

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 11: Graphen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/59 Graphische Darstellung von Zusammenhängen schon

Mehr

2. Optimierungsprobleme 6

2. Optimierungsprobleme 6 6 2. Beispiele... 7... 8 2.3 Konvexe Mengen und Funktionen... 9 2.4 Konvexe Optimierungsprobleme... 0 2. Beispiele 7- Ein (NP-)Optimierungsproblem P 0 ist wie folgt definiert Jede Instanz I P 0 hat einen

Mehr

Unendliche Graphen. Daniel Perz 24. Dezember Definition 1. Ein Graph G heißt lokal endlich, wenn alle Knotengrade endlich sind.

Unendliche Graphen. Daniel Perz 24. Dezember Definition 1. Ein Graph G heißt lokal endlich, wenn alle Knotengrade endlich sind. Unendliche Graphen Daniel Perz 24. Dezember 2011 1 Definition Definition 1. Ein Graph G heißt lokal endlich, wenn alle Knotengrade endlich sind. Definition 2. Ein Graph G=(V,E) heißt Strahl, wenn gilt

Mehr

1 DFS-Bäume in ungerichteten Graphen

1 DFS-Bäume in ungerichteten Graphen Praktikum Algorithmen-Entwurf (Teil 3) 06.11.2006 1 1 DFS-Bäume in ungerichteten Graphen Sei ein ungerichteter, zusammenhängender Graph G = (V, E) gegeben. Sei ferner ein Startknoten s V ausgewählt. Startet

Mehr

Einheit 11 - Graphen

Einheit 11 - Graphen Einheit - Graphen Bevor wir in medias res (eigentlich heißt es medias in res) gehen, eine Zusammenfassung der wichtigsten Definitionen und Notationen für Graphen. Graphen bestehen aus Knoten (vertex, vertices)

Mehr

Algorithmen zum Lösen von Vertex und Set Cover Instanzen zur Planung von Angriffen auf Netzwerke

Algorithmen zum Lösen von Vertex und Set Cover Instanzen zur Planung von Angriffen auf Netzwerke Algorithmen zum Lösen von Vertex und Set Cover Instanzen zur Planung von Angriffen auf Netzwerke Steve Göring 13.07.2012 1/18 Gliederung Einleitung Grundlagen Vertex-Cover-Problem Set-Cover-Problem Lösungsalgorithmen

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphdurchläufe Maike Buchin 22. und 27.6.2017 Graphexploration Motivation: Für viele Zwecke will man den gesamten Graphen durchlaufen, zb. um festzustellen ob er (stark) zusammenhängt.

Mehr

Matching. Organisatorisches. VL-18: Matching. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger. Tanzabend

Matching. Organisatorisches. VL-18: Matching. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger. Tanzabend Organisatorisches VL-18: Matching (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Sprechstunde: Mittwoch 11:15 12:00 Übungen: Tim Hartmann,

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphen (1) Darstellung Traversierung Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 441 Generalisierung von Bäumen Verallgemeinerung (von Listen zu Graphen)

Mehr

Vorlesung 7 GRAPHBASIERTE BILDSEGMENTIERUNG

Vorlesung 7 GRAPHBASIERTE BILDSEGMENTIERUNG Vorlesung 7 GRAPHBASIERTE BILDSEGMENTIERUNG 195 Bildsegmentierung! Aufgabe: Bestimme inhaltlich zusammenhängende, homogene Bereiche eines Bildes! Weit verbreitetes Problem in der Bildverarbeitung! Viele

Mehr

Randomisierte Algorithmen

Randomisierte Algorithmen Randomisierte Algorithmen Randomisierte Algorithmen 7. Random Walks Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 43 Überblick Überblick Ein randomisierter

Mehr

Algorithmische Methoden für schwere Optimierungsprobleme

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

Mehr

Wann sind Codes eindeutig entschlüsselbar?

Wann sind Codes eindeutig entschlüsselbar? Wann sind Codes eindeutig entschlüsselbar? Definition Suffix Sei C ein Code. Ein Folge s {0, 1} heißt Suffix in C falls 1 c i, c j C : c i = c j s oder 2 c C und einen Suffix s in C: s = cs oder 3 c C

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene 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

Mehr

Graphalgorithmen Netzwerkalgorithmen. Laufzeit

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

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

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

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Sommersemester 204 4. Vorlesung Matchings / Paarungen Kombinatorische Anwendungen des Max-Flow-Min-Cut-Theorems Prof. Dr. Alexander Wolff 2 Paarungen (Matchings) Def. Sei

Mehr

Kombinatorische Optimierung

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

Mehr