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

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

10 Kürzeste Pfade SSSP-Problem

10 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

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

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

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

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

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

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

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

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme 10 Matching-Probleme 10.1 Definition von Matching-Probleme Definition 21 [2-dimensionales Matching] Sei G = (V, E) ein ungerichteter Graph und E E. E ist ein Matching, wenn für alle Kantenpaare e 1, e

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

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

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

Graphentheorie. Kardinalitätsmatchings. Kardinalitätsmatchings. Kardinalitätsmatchings. Rainer Schrader. 11. Dezember 2007

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

Mehr

Algorithmen II Vorlesung am

Algorithmen 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

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

Graphenalgorithmen und lineare Algebra Hand in Hand Prof. Dr. Henning Meyerhenke

Graphenalgorithmen und lineare Algebra Hand in Hand Prof. Dr. Henning Meyerhenke Graphenalgorithmen und lineare Algebra Hand in Hand Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische

Mehr

Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren.

Seien 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

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

Algorithmen und Datenstrukturen 2

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

Mehr

Dieser Graph hat 3 Zusammenhangskomponenten

Dieser Graph hat 3 Zusammenhangskomponenten Vl 2, Informatik B, 19. 04. 02 1.1.3 Definitionen und wichtige Graphen Sei im folgenden G =(V;E) ein schlichter ungerichteter Graph. Definition: Der Grad eines Knoten v in einem ungerichteten Graphen ist

Mehr

Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl. Beispiele für optimale Greedy-Lösungen

Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl. Beispiele für optimale Greedy-Lösungen Wiederholung Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl unabhängig von Subproblemen Optimalität der Subprobleme Beispiele für optimale Greedy-Lösungen Scheduling Problem

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

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

Datenstrukturen und Algorithmen (SS 2013)

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

Mehr

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

Richtig oder falsch? Richtig oder falsch? Richtig oder falsch? Mit dynamischer Programmierung ist das Knapsack- Problem in Polynomialzeit lösbar.

Richtig oder falsch? Richtig oder falsch? Richtig oder falsch? Mit dynamischer Programmierung ist das Knapsack- Problem in Polynomialzeit lösbar. Gegeben sei ein Netzwerk N = (V, A, c, s, t) wie in der Vorlesung. Ein maximaler s-t-fluss kann immer mit Hilfe einer Folge von höchstens A Augmentationsschritten gefunden werden. Wendet man den Dijkstra-Algorithmus

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

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie Dipl-Math. Wolfgang Kinzner 2.4.2012 Kapitel 1: Grundlagen der algorithmischen Graphgentheorie

Mehr

Algorithmische Graphentheorie

Algorithmische 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

Mehr

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse Algorithmische Methoden zur Netzwerkanalyse Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Die Forschungsuniversität Meyerhenke, in der Institut für Theoretische Informatik

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

\ 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

Beweis: Färbe jede Kante zufällig und unabhängig mit Ws 1 2. Ereignis A i : i-te Clique K (i), i = 1,..., ( n K (i)

Beweis: Färbe jede Kante zufällig und unabhängig mit Ws 1 2. Ereignis A i : i-te Clique K (i), i = 1,..., ( n K (i) Die Probabilistische Methode Beobachtung: Besitzt ein Ereignis Ws > 0, so muss es existieren! Notation: Sei K n der komplette Graph mit n Knoten und ( n 2) Kanten. Satz Falls 2 (k 2) 1 > ( n k), existiert

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

Kapitel IV Minimale Spannbäume

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

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

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

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

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 16 Programm: Einführung

Mehr

Betriebswirtschaftliche Optimierung

Betriebswirtschaftliche 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

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Lerneinheit 3: Greedy Algorithmen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2016 10.5.2016 Einleitung Einleitung Diese Lerneinheit

Mehr

Lernmodul 7 Algorithmus von Dijkstra

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

Mehr

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

Grundlagen: Algorithmen und Datenstrukturen

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

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

Naiver Algorithmus für Hamiltonkreis

Naiver 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

Mehr

Betriebliche Optimierung

Betriebliche 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

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

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

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

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

10. Übungsblatt zu Algorithmen I im SS 2010

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

Mehr

Algorithmen und Datenstrukturen 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

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

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 obias Ludes 0.0.0. Einführung Um den maximalen Flusswert zwischen allen Knoten eines ungerichteten Graphen zu berechnen sind nach Gomory und Hu nur

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

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

Ü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

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Minimale Spannbäume Maike Buchin 18.7., 20.7.2017 Einführung Motivation: Verbinde Inseln mit Fähren oder Städte mit Schienen und verbrauche dabei möglichst wenig Länge. Problem:

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

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

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

3.2 Generischer minimaler Spannbaum-Algorithmus

3.2 Generischer minimaler Spannbaum-Algorithmus 3.2 Generischer minimaler Spannbaum-Algorithmus Initialisiere Wald F von Bäumen, jeder Baum ist ein singulärer Knoten (jedes v V bildet einen Baum) while Wald F mehr als einen Baum enthält do wähle einen

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

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

Effiziente Algorithmen I

Effiziente 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

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

Informatik II, SS 2016

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

Mehr

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

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

Vorlesung Datenstrukturen

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

Mehr

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

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

Ü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

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

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

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

Effiziente Algorithmen I 11. Übungsblatt, Wintersemester 2015/16 Abgabetermin:

Effiziente Algorithmen I 11. Übungsblatt, Wintersemester 2015/16 Abgabetermin: 11 11. Übungsblatt, Wintersemester 2015/16 Abgabetermin: 19.01.2016 Aufgabe 29 Bestimmen Sie mit der Stepping-Stone-ethode einen Transportplan mit minimalen Kosten für das klassische Transportproblem mit

Mehr

Übungsblatt 5. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

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

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 24. April 2019 [Letzte Aktualisierung: 24/04/2019,

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

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

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

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: 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,

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

Kap. 6.6: Kürzeste Wege

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

Mehr

Informatik II, SS 2016

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

Mehr

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

2.4 Starke Zusammenhangskomponenten in Digraphen

2.4 Starke Zusammenhangskomponenten in Digraphen Starke Zusammenhangskomponenten Einleitung 2.4 Starke Zusammenhangskomponenten in Digraphen Definition 2.4.1 Zwei Knoten v und w in einem Digraphen G heißen äquivalent, wenn v w und w v gilt. Notation:

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

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

EDM, Algorithmen und Graphenspeicherung

EDM, Algorithmen und Graphenspeicherung EDM, Algorithmen und Graphenspeicherung 1 Graphenspeicherung Gespeichert werden soll ein Graph G = (V, E) bzw. Digraph D = (V, A). Man beachte: E ( ) V 2 bzw. E V 2 1.1 Adjazenzmatrix Graph G: A = (a vw

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

Betriebswirtschaftliche Optimierung

Betriebswirtschaftliche 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

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

Algorithmen für schwierige Probleme

Algorithmen für schwierige Probleme Algorithmen für schwierige Probleme Britta Dorn Wintersemester 2011/12 24. November 2011 Farbkodierung Beispiel Longest Path Longest Path gegeben: G = (V, E) und k N. Frage: Gibt es einen einfachen Pfad

Mehr

lässt sich auch ableiten, dass es einen augmentierenden Pfad der Länge höchstens

lässt sich auch ableiten, dass es einen augmentierenden Pfad der Länge höchstens Praktikum Algorithmen-Entwurf (Teil 5)..5 Matchings in Graphen Es sei ein ungerichteter Graph G = (V, E) gegeben. Ein Matching in G ist eine Teilmenge M E, so dass keine zwei Kanten aus M einen Endpunkt

Mehr