Algorithmen und Datenstrukturen 2-2. Seminar -

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Algorithmen und Datenstrukturen 2-2. Seminar -"

Transkript

1 Algorithmen und Datenstrukturen 2-2. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Sommersemster 2010

2 Outline 2. Übungsserie: 3 Aufgaben, insgesamt 30 Punkte A4 Flußnetzwerk, Restgraphen (9 Punkte) A5 Dijkstra, Bellman-Ford Algorithmus (10 Punkte) A6 Tarjan Algorithmus (11 Punkte)

3 Wiederholung: Flußnetzwerke Anwendungsprobleme: Wieviel Autos können durch ein Straßennetz fahren? Wieviel Abwasser fasst ein Kanalnetz? Wieviel Strom kann durch ein Leitungsnetz fließen? Definition: Ein (Fluß-)Netzwerk ist ein gerichteter Graph G = (V, E, c) mit ausgezeichneten Knoten q (Quelle) und s (Senke), sowie einer Kapazitätsfunktion c : E Z+.

4 Wiederholung: Flußnetzwerke Fluß: f : E Z, so dass gilt: Kapazitätsbeschränkung: e E : f (e) c(e). (Kapazität wird für keine Kante überschritten) Flußerhaltung: v V \ {q, s} : f ((v, v)) = f ((v, v )) (v,v) E (v,v ) E (was in Knoten hinein fließt, fließt auch wieder heraus) Der Wert von f, w(f ), ist die Summe der Flußwerte der die Quelle q verlassenden Kanten: f ((q, v)) (q,v) E

5 Wiederholung: Flußnetzwerke Gesucht: Fluß mit maximalen Wert begrenzt durch Kapazitäten von Quelle, Senke Engpässe, minimaler Schnitt vs. maximaler Fluss

6 Wiederholung: Flußnetzwerke Kapazität: = 35

7 Wiederholung: Flußnetzwerke Kapazität: = 62

8 Wiederholung: Flußnetzwerke Kapazität: = 28!!!

9 Wiederholung: Flußnetzwerke Optimierung des Flußes in G: entlang zunehmender Wege w. um min(rest(e)) mit e liegt auf w Zunehmender Weg: Gerichteter Pfad von Quelle zur Senke im Restgraphen. Eben Pfad mit verfügbarer Restkapazität

10 Wiederholung: Flußnetzwerke Graph: Kapazität / Fluss Restgraph

11 Wiederholung: Flußnetzwerke Ford-Fulkerson-Algorithmus: sucht sukzessiv nach flussvergrößernden Wegen im Restgraphen fügt solange wie möglich zunehmende Wege zum Gesamtfluß hinzu Gesamtfluß erhöht sich um Minimum der Restkapazität der Kanten des jeweiligen zunehmenden Wegs

12 Aufgabe 4 Ein Flussnetzwerk mit der Knotenmenge {q, a, b, c, d, s} habe genau die folgenden Kanten. (q, a, 9,?), (q, c, 4,?), (c, d, 6, 5), (a, b, 8,?), (b, c, 6, 3), (b, d, 7, 4), (b, s, 3, 1), (d, s, 11,?) Hierbei bedeutet ein 4-Tupel (v, w, κ, φ), dass die Kante (v, w) eine Kapazität κ besitzt, von der derzeit φ genutzt wird.

13 Aufgabe 4 a) Errechnen Sie die fehlenden (durch? ersetzten) φ-werte, so dass sich ein gültiger Fluss ergibt. Zeichnen Sie das gegebene Flussnetzwerk und schreiben Sie an jede Kante die Werte φ, κ. (3 Punkte)

14 Aufgabe 4 a) Errechnen Sie die fehlenden (durch? ersetzten) φ-werte, so dass sich ein gültiger Fluss ergibt. Zeichnen Sie das gegebene Flussnetzwerk und schreiben Sie an jede Kante die Werte φ, κ. (3 Punkte) (q, a, 9,?), (q, c, 4,?), (c, d, 6, 5), (a, b, 8,?), (b, c, 6, 3), (b, d, 7, 4), (b, s, 3, 1), (d, s, 11,?)

15 Aufgabe 4 a) Errechnen Sie die fehlenden (durch? ersetzten) φ-werte, so dass sich ein gültiger Fluss ergibt. Zeichnen Sie das gegebene Flussnetzwerk und schreiben Sie an jede Kante die Werte φ, κ. (3 Punkte) (q, a, 9,?), (q, c, 4,?), (c, d, 6, 5), (a, b, 8,?), (b, c, 6, 3), (b, d, 7, 4), (b, s, 3, 1), (d, s, 11,?) (q, a, 9, 8), (q, c, 4, 2), (c, d, 6, 5), (a, b, 8, 8), (b, c, 6, 3), (b, d, 7, 4), (b, s, 3, 1), (d, s, 11, 9)

16 Aufgabe 4 b) Zeichnen Sie den Restgraphen des Flussnetzwerks. (3 Punkte)

17 Aufgabe 4 b) Zeichnen Sie den Restgraphen des Flussnetzwerks. (3 Punkte)

18 Aufgabe 4 c) Geben Sie alle zunehmenden Wege und das jeweilige Minimum der verfügbaren Restkapazität an. (3 Punkte)

19 Aufgabe 4 c) Geben Sie alle zunehmenden Wege und das jeweilige Minimum der verfügbaren Restkapazität an. (3 Punkte)

20 Aufgabe 5 Gegeben sei der gewichtete gerichtete Graph G = (V, E, w). a) Benutzen Sie den Dijkstra-Algorithmus, um die Längen der kürzesten Pfade von Knoten 1 zu allen anderen Knoten zu berechnen. Geben Sie nach jeder Extraktion eines Knotens aus der Queue und nach Abschluss der Berechnung für alle Knoten i {1... 6} den aktuellen Wert D[i] an. (5 Punkte)

21 Wiederholung: Dijkstra Kürzeste Wege zw. 2 Knoten: Verallgemeinerung der Breitensuche. Ausgehend vom Startknoten wird sukzessive der nächst beste Knoten in eine Ergebnismenge aufgenommen und aus der Menge der noch zu bearbeitenden Knoten entfernt. Gehört zur Klasse der Greedy-Algorithmen. Erfordert nicht-negative Gewichte.

22 Wiederholung: Dijkstra Gesucht: Kürzester Weg von 1 zur 4.

23 Wiederholung: Dijkstra Gesucht: Kürzester Weg von 1 zur 4.

24 Wiederholung: Dijkstra Gesucht: Kürzester Weg von 1 zur 4.

25 Wiederholung: Dijkstra Gesucht: Kürzester Weg von 1 zur 4.

26 Wiederholung: Dijkstra Gesucht: Kürzester Weg von 1 zur 4.

27 Wiederholung: Dijkstra Gesucht: Kürzester Weg von 1 zur 4.

28 Wiederholung: Dijkstra Gesucht: Kürzester Weg von 1 zur 4.

29 Aufgabe 5 D(1, 1) D(1, 2) D(1, 3) D(1, 4) D(1, 5) D(1, 6) v Q 0 1 2,3,4,5,6

30 Aufgabe 5 D(1, 1) D(1, 2) D(1, 3) D(1, 4) D(1, 5) D(1, 6) v Q 0 1 2,3,4,5,6 0 2 (0+2) 7 (0+7) 2 3,4,5,6

31 Aufgabe 5 D(1, 1) D(1, 2) D(1, 3) D(1, 4) D(1, 5) D(1, 6) v Q 0 1 2,3,4,5,6 0 2 (0+2) 7 (0+7) 2 3,4,5, (2+1) 8 (2+6) 3 4,5,6

32 Aufgabe 5 D(1, 1) D(1, 2) D(1, 3) D(1, 4) D(1, 5) D(1, 6) v Q 0 1 2,3,4,5,6 0 2 (0+2) 7 (0+7) 2 3,4,5, (2+1) 8 (2+6) 3 4,5, (3+1) 5 4,6

33 Aufgabe 5 D(1, 1) D(1, 2) D(1, 3) D(1, 4) D(1, 5) D(1, 6) v Q 0 1 2,3,4,5,6 0 2 (0+2) 7 (0+7) 2 3,4,5, (2+1) 8 (2+6) 3 4,5, (3+1) 5 4, (4+3) 4 5 (4+1) 6 4

34 Aufgabe 5 D(1, 1) D(1, 2) D(1, 3) D(1, 4) D(1, 5) D(1, 6) v Q 0 1 2,3,4,5,6 0 2 (0+2) 7 (0+7) 2 3,4,5, (2+1) 8 (2+6) 3 4,5, (3+1) 5 4, (4+3) 4 5 (4+1) (5+1) 4 5 4

35 Aufgabe 5 D(1, 1) D(1, 2) D(1, 3) D(1, 4) D(1, 5) D(1, 6) v Q 0 1 2,3,4,5,6 0 2 (0+2) 7 (0+7) 2 3,4,5, (2+1) 8 (2+6) 3 4,5, (3+1) 5 4, (4+3) 4 5 (4+1) (5+1)

36 Aufgabe 5 Gegeben sei der gewichtete gerichtete Graph G = (V, E, w). b) Der Graph H entstehe aus G durch Hinzunahme der Kante e = (3, 6) mit dem Gewicht w(e) = 4. Benutzen Sie den Bellman-Ford-Algorithmus, um im Graphen H die Längen der kürzesten Pfade von Knoten 1 zu allen anderen zu berechnen. (5 Punkte)

37 Wiederholung: Bellman-Ford Output: Graph mit Knotendistanzen, die jeweils min. Distanz vom Startknoten angeben.

38 Wiederholung: Bellman-Ford

39 Wiederholung: Bellman-Ford

40 Wiederholung: Bellman-Ford

41 Wiederholung: Bellman-Ford

42 Wiederholung: Bellman-Ford

43 Wiederholung: Bellman-Ford

44 Wiederholung: Bellman-Ford

45 Wiederholung: Bellman-Ford

46 Wiederholung: Bellman-Ford

47 Wiederholung: Bellman-Ford

48 Wiederholung: Bellman-Ford

49 Wiederholung: Bellman-Ford

50 Wiederholung: Bellman-Ford

51 Wiederholung: Bellman-Ford

52 Wiederholung: Bellman-Ford

53 Wiederholung: Bellman-Ford

54 Wiederholung: Bellman-Ford

55 Wiederholung: Bellman-Ford

56 Wiederholung: Bellman-Ford

57 Wiederholung: Bellman-Ford

58 Wiederholung: Bellman-Ford

59 Wiederholung: Bellman-Ford

60 Wiederholung: Bellman-Ford

61 Wiederholung: Bellman-Ford

62 Wiederholung: Bellman-Ford

63 Aufgabe 5 Gegeben sei der gewichtete gerichtete Graph G = (V, E, w). b) Der Graph H entstehe aus G durch Hinzunahme der Kante e = (3, 6) mit dem Gewicht w(e) = 4. Benutzen Sie den Bellman-Ford-Algorithmus, um im Graphen H die Längen der kürzesten Pfade von Knoten 1 zu allen anderen zu berechnen. (5 Punkte)

64 Aufgabe 5 Start: D[1] = 0; D[i] = für i = 2,..., 6 Ausgabe Kante D(1, 1) D(1, 2) D(1, 3) D(1, 4) D(1, 5) D(1, 6) 0

65 Aufgabe 5 Start: D[1] = 0; D[i] = für i = 2,..., 6 Ausgabe Kante D(1, 1) D(1, 2) D(1, 3) D(1, 4) D(1, 5) D(1, 6) 0 (1,2,2) 0 2 (0+2)

66 Aufgabe 5 Start: D[1] = 0; D[i] = für i = 2,..., 6 Ausgabe Kante D(1, 1) D(1, 2) D(1, 3) D(1, 4) D(1, 5) D(1, 6) 0 (1,2,2) 0 2 (0+2) (1,3,7) (0+7)

67 Aufgabe 5 Start: D[1] = 0; D[i] = für i = 2,..., 6 Ausgabe Kante D(1, 1) D(1, 2) D(1, 3) D(1, 4) D(1, 5) D(1, 6) 0 (1,2,2) 0 2 (0+2) (1,3,7) (0+7) (2,3,1) (2+1)

68 Aufgabe 5 Start: D[1] = 0; D[i] = für i = 2,..., 6 Ausgabe Kante D(1, 1) D(1, 2) D(1, 3) D(1, 4) D(1, 5) D(1, 6) 0 (1,2,2) 0 2 (0+2) (1,3,7) (0+7) (2,3,1) (2+1) (2,4,6) (2+6)

69 Aufgabe 5 Start: D[1] = 0; D[i] = für i = 2,..., 6 Ausgabe Kante D(1, 1) D(1, 2) D(1, 3) D(1, 4) D(1, 5) D(1, 6) 0 (1,2,2) 0 2 (0+2) (1,3,7) (0+7) (2,3,1) (2+1) (2,4,6) (2+6) (3,5,1) (3+1)

70 Aufgabe 5 Start: D[1] = 0; D[i] = für i = 2,..., 6 Ausgabe Kante D(1, 1) D(1, 2) D(1, 3) D(1, 4) D(1, 5) D(1, 6) 0 (1,2,2) 0 2 (0+2) (1,3,7) (0+7) (2,3,1) (2+1) (2,4,6) (2+6) (3,5,1) (3+1) (3,6,-4) (3-4)

71 Aufgabe 5 Start: D[1] = 0; D[i] = für i = 2,..., 6 Ausgabe Kante D(1, 1) D(1, 2) D(1, 3) D(1, 4) D(1, 5) D(1, 6) 0 (1,2,2) 0 2 (0+2) (1,3,7) (0+7) (2,3,1) (2+1) (2,4,6) (2+6) (3,5,1) (3+1) (3,6,-4) (3-4) (5,4,3) (4+3) 4-1

72 Aufgabe 5 Start: D[1] = 0; D[i] = für i = 2,..., 6 Ausgabe Kante D(1, 1) D(1, 2) D(1, 3) D(1, 4) D(1, 5) D(1, 6) 0 (1,2,2) 0 2 (0+2) (1,3,7) (0+7) (2,3,1) (2+1) (2,4,6) (2+6) (3,5,1) (3+1) (3,6,-4) (3-4) (5,4,3) (4+3) 4-1 (5,6,1)

73 Aufgabe 5 Start: D[1] = 0; D[i] = für i = 2,..., 6 Ausgabe Kante D(1, 1) D(1, 2) D(1, 3) D(1, 4) D(1, 5) D(1, 6) 0 (1,2,2) 0 2 (0+2) (1,3,7) (0+7) (2,3,1) (2+1) (2,4,6) (2+6) (3,5,1) (3+1) (3,6,-4) (3-4) (5,4,3) (4+3) 4-1 (5,6,1) (6,1,5)

74 Aufgabe 5 Start: D[1] = 0; D[i] = für i = 2,..., 6 Ausgabe Kante D(1, 1) D(1, 2) D(1, 3) D(1, 4) D(1, 5) D(1, 6) 0 (1,2,2) 0 2 (0+2) (1,3,7) (0+7) (2,3,1) (2+1) (2,4,6) (2+6) (3,5,1) (3+1) (3,6,-4) (3-4) (5,4,3) (4+3) 4-1 (5,6,1) (6,1,5) (6,4,1) (-1+1) 4-1

75 Aufgabe 5 Start: D[1] = 0; D[i] = für i = 2,..., 6 Ausgabe Kante D(1, 1) D(1, 2) D(1, 3) D(1, 4) D(1, 5) D(1, 6) 0 (1,2,2) 0 2 (0+2) (1,3,7) (0+7) (2,3,1) (2+1) (2,4,6) (2+6) (3,5,1) (3+1) (3,6,-4) (3-4) (5,4,3) (4+3) 4-1 (5,6,1) (6,1,5) (6,4,1) (-1+1)

76 Aufgabe 6 Geg: Gerichteter Graph, Kantenliste: 7, 10, 1, 2, 2, 3, 3, 4, 4, 2, 1, 5, 5, 4, 4, 6, 6, 7, 7, 6, 5, 7 a) Benutzen Sie den Tarjan-Algorithmus beginnend beim Knoten 1, um die starken Zusammenhangskomponenten von G zu berechnen. In der Schleife innerhalb von Tarjan-visit werden die Kindsknoten u des aktuellen Knotens v in aufsteigender Reihenfolge der Indizes bearbeitet. Geben Sie jeweils nach Beendigung dieser Schleife v, in[v] und l[v] an, sowie ggf. die vom Programm erzeugte Ausgabe einer starken Zusammenhangskomponente. (5 Punkte)

77 Wiederholung: SZK Starke Zusammenhangskomponente = SZK Ein gerichteter Graph G = (V, E) heißt stark zusammenhängend, wenn für alle u, v V gilt: Es gibt einen Pfad von u nach v. Eine starke Zusammenhangskomponente von G ist ein maximaler stark zusammenhängender Teilgraph von G. Komponentengraph: Fasse alle Knoten einer ZSK zusammen.

78 Wiederholung: SZK Graph Komponentengraph

79 Aufgabe 6 Geg: Gerichteter Graph, Kantenliste: 7, 10, 1, 2, 2, 3, 3, 4, 4, 2, 1, 5, 5, 4, 4, 6, 6, 7, 7, 6, 5, 7 b) Zeichnen Sie G und dessen Komponentengraphen G. Benennen Sie dabei die starken Zusammenhangskomponenten von G mit a, b, c,..., in der Reihenfolge, in der sie vom Tarjan-Algorithmus im vorigen Aufgabenteil gefunden wurden. (2 Punkte)

80 Wiederholung: Tarjan Grundidee: Von einem Startknoten ausgehend Tiefensuche im Graphen durchzuführen. Die SZKn bilden dabei Teilbäume des Tiefensuchbaumes, die Wurzeln dieser Bäume heißen Wurzeln der ZK. Die Knoten werden in der Reihenfolge, in der sie besucht werden, auf einem Stack abgelegt. Kehrt die Tiefensuche aus einem Unterbaum zurück, werden die Knoten wieder vom Stack genommen und ausgegeben. Dabei testen, ob es sich bei dem Knoten um die Wurzel einer ZK handelt. Wenn ja, so bilden die bisher ausgegebenen Knoten eine SZK.

81 Wiederholung: Tarjan Führe Tiefensuche (DFS) auf G aus. Berechne dabei l[v] = frühester Knoten, der von v erreichbar ist in der durch in[] gegebenen Reihenfolge. Wenn alle Kindsknoten von v abgearbeitet sind und l[v]=in[v], so ist v die Wurzel einer SZK. Deren Knoten werden dann gleich ausgegeben und nicht mehr weiter betrachtet (denn jeder Knoten ist in nur einer Komponente).

82 Wiederholung: Tarjan Wichtige Konzepte: Knoten werden in Preorder-Reihenfolge (WLR) nummeriert. Spannbaum: Kanten, die zu neuen Knoten führen Wurzel einer SZK: der erste Knoten einer ZSK, der in der Tiefensuche besucht wird (hat die niedrigste Nummer).

83 Wiederholung: Tarjan Beispiel: Tiefensuche (preorder)

84 Wiederholung: Tarjan Beispiel: Tiefensuch-Spannbaum

85 Wiederholung: Tarjan Tiefensuche, Reihenfolge: in[] Berechnung der lowlinks für jeden Knoten: l[v] l[v] ist das Minimum aus in[v] und allen in[w], wobei w zur selben SZK wie v gehört; w von v durch eine (womöglich leere) Folge von Spannbaum-Kanten gefolgt von genau einer anderen Kante erreichbar ist.

86 Wiederholung: Tarjan Beispiel: Zusätzl. Info: low-links, l[g] = in[d] = 6

87 Wiederholung: Tarjan Beispiel: alle low-links (lila)

88 Wiederholung: Tarjan Beispiel: Ein Knoten ist eine Wurzel, wenn Preorder- und Lowlink-Zahl gleich sind

89 Wiederholung: Tarjan Auffinden der SZK: Tiefensuche mit Preorder-Nummerierung Berechnung der Lowlinks Zusẗzlich: Tiefensuch-Zustände auf Stack legen Wenn der Algorithmus von einer Wurzel aus zurückgeht, so nimmt er sich selbst und alle Zustände über sich vom Stack runter; diese bilden eine SZK.

90 Wiederholung: Tarjan Beispiel: Tiefensuche beginnt bei a, kommt auf Stack

91 Wiederholung: Tarjan Beispiel: Tiefensuche geht weiter bis f, Stack wird gefüllt

92 Wiederholung: Tarjan Beispiel: Algorithmus gelangt zu e e ist eine Wurzel (Preorder- und Lowlink-Zahl sind gleich)

93 Wiederholung: Tarjan Beispiel: Beim Zurückgehen von e wird {e, f } als SZK identifiziert und vom Stack entfernt

94 Wiederholung: Tarjan Beispiel: Beim Zurückgehen wird {b} als SZK identifiziert und entfernt, etc

95 Wiederholung: Tarjan Vorteil: Benötigt nur Vorwärtskanten, Graph wird nur einmal durchlaufen Nachteil: Benötigt relativ viel Speicher (Zustandsstack sowie zwei Zahlen pro Knoten)

96 Aufgabe 6 Geg: Gerichteter Graph, Kantenliste: 7, 10, 1, 2, 2, 3, 3, 4, 4, 2, 1, 5, 5, 4, 4, 6, 6, 7, 7, 6, 5, 7 a) Benutzen Sie den Tarjan-Algorithmus beginnend beim Knoten 1, um die starken Zusammenhangskomponenten von G zu berechnen. In der Schleife innerhalb von Tarjan-visit werden die Kindsknoten u des aktuellen Knotens v in aufsteigender Reihenfolge der Indizes bearbeitet. Geben Sie jeweils nach Beendigung dieser Schleife v, in[v] und l[v] an, sowie ggf. die vom Programm erzeugte Ausgabe einer starken Zusammenhangskomponente. (5 Punkte)

97 Aufgabe 6 v in[v] l[v] Ausgabe SZK: 7, SZK: 4, 3, SZK: SZK: 1

98 Aufgabe 6 c) Geben Sie eine topologische Sortierung von G an.

99 Wiederholung: Topolog. Sort. Alle azyklischen Graphen sind topologisch sortierbar, z. B.:

100 Aufgabe 6 c) Geben Sie eine topologische Sortierung von G an. (d,c,b,a)

101 Aufgabe 6 d) Wie viele Kanten enthält die transitive reflexive Hülle von G? Erklären Sie kurz, wie Sie durch Kenntnis von G diese Berechnung abkürzen können. (3 Punkte)

102 Wiederholung: Hülle Welche Knoten sind von einem gegebenen Knoten aus erreichbar? Definition: Ein Digraph G = (V, E ) heißt reflexive, transitive Hülle (kurz: Hülle) eines Digraphen G = (V, E), wenn für alle u, v V gilt: (u, v) E Es gibt einen Pfad von u nach v in G

103 Aufgabe 6d Berechne die transitive reflexive Hülle von G. Eine Kante (x, y) darin repräsentiert a b Kanten in der Hülle von G selbst, wobei. die Anzahl Knoten in der starken Zusammenhangskomponente bezeichnet. Zusammengefasst haben wir d ( a + b + c + d ) + c ( a + b + c ) + b ( a + b ) + a a Kanten, das sind = 32

104 Outlook

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2006 5. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Wdhlg.: Dijkstra-Algorithmus I Bestimmung der

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen Der Tragödie IV. Theyl Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University

Mehr

Flüsse in Netzwerken. Seminar über Algorithmen SoSe 2005. Mike Rohland & Julia Schenk

Flüsse in Netzwerken. Seminar über Algorithmen SoSe 2005. Mike Rohland & Julia Schenk Flüsse in Netzwerken Seminar über Algorithmen SoSe 2005 Mike Rohland & Julia Schenk Inhalt Einführung Definition Maximale Flüsse Schnitte Restgraphen Zunehmende Wege Max-Fluss Min-Schnitt Theorem Ford-Fulkerson

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

Netzwerkfluß. Gegeben ist ein System von Wasserrohren: Die Kapazität jedes Rohres ist 3, 5 oder 8 l/s.

Netzwerkfluß. Gegeben ist ein System von Wasserrohren: Die Kapazität jedes Rohres ist 3, 5 oder 8 l/s. Netzwerkfluß (Folie, Seite 78 im Skript) Gegeben ist ein System von Wasserrohren: Quelle s t Senke Die Kapazität jedes Rohres ist, oder 8 l/s. Frage: Wieviel Wasser kann von der Quelle zur Senke fließen?

Mehr

Flüsse, Schnitte, bipartite Graphen

Flüsse, Schnitte, bipartite Graphen Flüsse, Schnitte, bipartite Graphen Vlad Popa 08.06.2010 Inhaltsverzeihnis 1. Flussnetzwerke und Flüsse 1.1 Ford- Fulkerson 1.2 Edmond Karp 1.3 Dinic 2. Schnitte 3. Maximaler Fluss bei minimalen Kosten

Mehr

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de Maximaler Fluß und minimaler Schnitt Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de Maximaler Fluß und minimaler Schnitt Wasist das? Maximaler Fluss Minimaler Schnitt Warumtut man das? Logistische

Mehr

Graphen: Datenstrukturen und Algorithmen

Graphen: Datenstrukturen und Algorithmen Graphen: Datenstrukturen und Algorithmen Ein Graph G = (V, E) wird durch die Knotenmenge V und die Kantenmenge E repräsentiert. G ist ungerichtet, wenn wir keinen Start- und Zielpunkt der Kanten auszeichnen.

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

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

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

8 Das Flussproblem für Netzwerke

8 Das Flussproblem für Netzwerke 8 Das Flussproblem für Netzwerke 8.1 Netzwerke mit Kapazitätsbeschränkung Definition 15 Ein Netzwerk N = (V, E, γ, q, s) besteht aus einem gerichteten Graph G = (V, E), einer Quelle q V und einer Senke

Mehr

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist.

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Graphen Definition: Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Begriffe: Gerichteter Graph: Alle Kanten haben eine Richtung vom Anfangsknoten

Mehr

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus

Mehr

3.4 Maximale Flüsse und der Algorithmus von Ford Fulkerson

3.4 Maximale Flüsse und der Algorithmus von Ford Fulkerson 3.4 Maximale Flüsse und der Algorithmus von Ford Fulkerson Definition 3.4.1 Die Aufgabe, zu jedem Netzwerk N = (s, t, V, E, c o ) mit n = V Knoten und m = E Kanten den Fluß f IR m mit maximalem Wert zu

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Grundlagen Datenstrukturen Transitive Hülle Traversierung Kürzeste Wege Spannender Baum Max. Fluss Zuordnungen. 6. Graphen

Grundlagen Datenstrukturen Transitive Hülle Traversierung Kürzeste Wege Spannender Baum Max. Fluss Zuordnungen. 6. Graphen . Graphen viele praktische (Optimierungs-)Probleme sind als graphentheoretische Probleme formulierbar z.b. in Produktionsplanung, Personaleinsatzplanung,.... Grundlagen gerichteter, ungerichteter und gewichteter

Mehr

Maximale s t-flüsse in Planaren Graphen

Maximale s t-flüsse in Planaren Graphen Maximale s t-flüsse in Planaren Graphen Vorlesung Algorithmen für planare Graphen June 1, 2015 Ignaz Rutter INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten

Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten Gliederung Zusammenhang von Graphen Stark Zusammenhängend K-fach Zusammenhängend Brücken Definition Algorithmus zum Finden von Brücken Anwendung Zusammenhangskomponente Definition Wichtige Aussagen und

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 Graphen) T. Lauer 1 Motivation Wie komme ich am besten von Freiburg nach Ulm? Was ist die kürzeste Rundreise durch eine gegebene Menge von Städten?

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

Flüsse in Netzwerken

Flüsse in Netzwerken Skript zum Seminar Flüsse in Netzwerken WS 2008/09 David Meier Inhaltsverzeichnis 1 Einführende Definitionen und Beispiele 3 2 Schnitte in Flussnetzwerken 12 2.1 Maximaler s t Fluss..........................

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

Algorithmen und Datenstrukturen Kapitel 10

Algorithmen und Datenstrukturen Kapitel 10 Algorithmen und Datenstrukturen Kapitel 10 Flüsse Frank Heitmann heitmann@informatik.uni-hamburg.de 6. Januar 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/8 Flüsse Graphen Grundlagen Definition

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 Vorlesungen 5 und 6 Programm

Mehr

8 Diskrete Optimierung

8 Diskrete Optimierung 8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von

Mehr

Breiten- und Tiefensuche in Graphen

Breiten- und Tiefensuche in Graphen Breiten- und Tiefensuche in Graphen Inhalt Theorie. Graphen. Die Breitensuche in der Theorie am Beispiel eines ungerichteten Graphen. Die Tiefensuche in der Theorie am Beispiel eines gerichteten Graphen

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

Mehr

Anmerkungen zur Übergangsprüfung

Anmerkungen zur Übergangsprüfung DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung

Mehr

4. Kreis- und Wegeprobleme Abstände in Graphen

4. Kreis- und Wegeprobleme Abstände in Graphen 4. Kreis- und Wegeprobleme Abstände in Graphen Abstände in Graphen Definition 4.4. Es sei G = (V,E) ein Graph. Der Abstand d(v,w) zweier Knoten v,w V ist die minimale Länge eines Weges von v nach w. Falls

Mehr

6. Flüsse und Zuordnungen

6. Flüsse und Zuordnungen 6. Flüsse und Zuordnungen In diesem Kapitel werden Bewertungen von Kanten als maximale Kapazitäten interpretiert, die über solch eine Kante pro Zeiteinheit transportiert werden können. Wir können uns einen

Mehr

MafI I: Logik & Diskrete Mathematik (F. Hoffmann)

MafI I: Logik & Diskrete Mathematik (F. Hoffmann) Lösungen zum 14. und letzten Aufgabenblatt zur Vorlesung MafI I: Logik & Diskrete Mathematik (F. Hoffmann) 1. Ungerichtete Graphen (a) Beschreiben Sie einen Algorithmus, der algorithmisch feststellt, ob

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2006 3. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Algorithmen für Graphen Fragestellungen: Suche

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

Seminar über aktuelle Forschungsthemen in der Algorithmik, Dozent Prof. Dr. Alt;

Seminar über aktuelle Forschungsthemen in der Algorithmik, Dozent Prof. Dr. Alt; Seminar über aktuelle Forschungsthemen in der Algorithmik, Dozent Prof. Dr. Alt Referent Matthias Rost 1 Einleitung Definitionen Maximaler Dynamischer Fluss Algorithmus von Ford-Fulkerson Techniken zur

Mehr

Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme

Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme Universität Hamburg Fachbereich Mathematik Seminar: Proseminar Graphentheorie Dozentin: Haibo Ruan Sommersemester 2011 Ausarbeitung zum Modulabschluss Graphentheorie spannende Bäume, bewertete Graphen,

Mehr

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) 5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!

Mehr

Algorithmentheorie. 13 - Maximale Flüsse

Algorithmentheorie. 13 - Maximale Flüsse Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk

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

Minimal spannender Baum

Minimal spannender Baum Minimal spannender Baum 16 1 2 21 5 11 19 6 6 3 14 33 10 5 4 18 Die Kreise zeigen die vorgesehenen Standorte neu zu errichtender Filialen einer Bank. Entlang der bestehenden Straßen sollen Telefonleitungen

Mehr

Information Systems Engineering Seminar

Information Systems Engineering Seminar Information Systems Engineering Seminar Algorithmische Prüfung der Planarität eines Graphen Marcel Stüttgen, 22.10.2012 FH AACHEN UNIVERSITY OF APPLIED SCIENCES 1 Planarität - Definition Ein Graph heißt

Mehr

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung Kapitel : Minimale spannende Bäume Gliederung der Vorlesung. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman

Mehr

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Fachschaft Informatik Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Michael Steinhuber König-Karlmann-Gymnasium Altötting 15. Januar 2016 Folie 1/77 Inhaltsverzeichnis I 1 Datenstruktur Schlange

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

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen. Hashing 6. Algorithmische Geometrie 4/6, Folie 1 2014 Prof. Steffen Lange - HDa/FbI

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

4.7 Der Algorithmus von Dinic für maximalen Fluss

4.7 Der Algorithmus von Dinic für maximalen Fluss 4.7 Der Algorithmus von Dinic für maximalen Fluss Wir kennen bereits den Algorithmus von Ford Fulkerson zur Suche nach einem maximalen Fluss in einem Graphen. Wir lernen nun einen Algorithmus für maximalen

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

Effiziente Algorithmen und Datenstrukturen: Kürzeste Wege

Effiziente Algorithmen und Datenstrukturen: Kürzeste Wege Effiziente Algorithmen und Datenstrukturen: Kürzeste Wege Kürzeste Wege Zentrale Frage: Wie komme ich am schnellsten von A nach B? B A Kürzeste Wege Zentrale Frage: Wie komme ich am schnellsten von A nach

Mehr

Statistische Untersuchungen zu endlichen Funktionsgraphen

Statistische Untersuchungen zu endlichen Funktionsgraphen C# Projekt 1 Name: Statistische Untersuchungen zu endlichen Funktionsgraphen Aufgabe: Basierend auf dem Abschnitt 2.1.6. Random mappings, Kap.2, S 54-55, in [1] sollen zunächst für eine beliebige Funktion

Mehr

Algorithmen und Datenstrukturen Graphen - Einführung

Algorithmen und Datenstrukturen Graphen - Einführung Algorithmen und Datenstrukturen Graphen - Einführung Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Definition / Eigenschaften Anwendungen Repräsentation

Mehr

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung Kapitel : Minimal spannende Bäume Gliederung der Vorlesung. Fallstudie Bipartite Graphen 2. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Wege. Traveling

Mehr

Graphen. Formale Methoden der Informatik WiSe 2010/2011 teil 2, folie 1 (von 60)

Graphen. Formale Methoden der Informatik WiSe 2010/2011 teil 2, folie 1 (von 60) Graphen Formale Methoden der Informatik WiSe 2010/2011 teil 2, folie 1 (von 60) Teil II: Graphen 1. Einführung 2. Wege und Kreise in Graphen, Bäume 3. Planare Graphen / Traveling Salesman Problem 4. Transportnetzwerke

Mehr

Geometrische Algorithmen

Geometrische Algorithmen Geometrische Algorithmen Thomas Röfer Motivation Scan-line-Prinzip Konvexe Hülle Distanzprobleme Voronoi-Diagramm Rückblick Manipulation von Mengen Vorrangwarteschlange Heap HeapSort swap(a, 0, 4) 1 5

Mehr

f h c 7 a 1 b 1 g 2 2 d

f h c 7 a 1 b 1 g 2 2 d ) Man bestimme mit Hilfe des Dijkstra-Algorithmus einen kürzesten Weg von a nach h: c 7 a b f 5 h 3 4 5 i e 6 g 2 2 d Beim Dijkstra-Algorithmus wird in jedem Schritt von den noch unmarkierten Knoten jener

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

2 Eulersche Polyederformel und reguläre Polyeder

2 Eulersche Polyederformel und reguläre Polyeder 6 2 Eulersche Polyederformel und reguläre Polyeder 2.1 Eulersche Polyederformel Formal besteht ein Graph aus einer Knotenmenge X und einer Kantenmenge U. Jede Kante u U ist eine zweielementige Teilmenge

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Elementare Datenstrukturen Rekursionen Bäume 2 1 Datenstruktur Baum Definition eines Baumes

Mehr

Praktikum Planare Graphen

Praktikum Planare Graphen 1 Praktikum Planare Graphen Michael Baur, Martin Holzer, Steffen Mecke 10. November 2006 Einleitung Gliederung 2 Grundlagenwissen zu planaren Graphen Themenvorstellung Gruppeneinteilung Planare Graphen

Mehr

Routing Algorithmen. Begriffe, Definitionen

Routing Algorithmen. Begriffe, Definitionen Begriffe, Definitionen Routing (aus der Informatik) Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über

Mehr

Gemischt-ganzzahlige und Kombinatorische Optimierung

Gemischt-ganzzahlige und Kombinatorische Optimierung 5. Präsenzaufgabenblatt, Sommersemester 2015 Übungstunde am 15.06.2015 Aufgabe J Betrachten Sie die LP-Relaxierung max c T x a T x b 0 x i 1 des 0/1-Knapsack-Problems mit n Gegenständen, c 0 und a > 0.

Mehr

ADS: Algorithmen und Datenstrukturen 2

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

Mehr

Maximaler Fluss = minimaler Schnitt

Maximaler Fluss = minimaler Schnitt Maximaler Flu = minimaler Schnitt Oliver Junge Fakultät für Mathematik Techniche Univerität München Flüe in Netzwerken Mathematiche Abtraktion Kapazität 3 2 Quelle 5 Senke 1 2 Netzwerk gerichteter Graph

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

Klausur Informatik B April Teil I: Informatik 3

Klausur Informatik B April Teil I: Informatik 3 Informatik 3 Seite 1 von 8 Klausur Informatik B April 1998 Teil I: Informatik 3 Informatik 3 Seite 2 von 8 Aufgabe 1: Fragekatalog (gesamt 5 ) Beantworten Sie folgende Fragen kurz in ein oder zwei Sätzen.

Mehr

Fully dynamic algorithms for the single source shortest path problem.

Fully dynamic algorithms for the single source shortest path problem. Fully dynamic algorithms for the single source shortest path problem. Michael Baur Wintersemester 2001/2002 Zusammenfassung Im folgenden Paper werde ich Algorithmen für das dynamische Kürzeste-Wege-Problem

Mehr

Erzeugung zufälliger Graphen und Bayes-Netze

Erzeugung zufälliger Graphen und Bayes-Netze Erzeugung zufälliger Graphen und Bayes-Netze Proseminar Algorithmen auf Graphen Georg Lukas, IF2000 2002-07-09 E-Mail: georg@op-co.de Folien: http://op-co.de/bayes/ Gliederung 1. Einleitung 2. einfache

Mehr

2. Übungsblatt zu Algorithmen II im WS 2016/2017

2. Übungsblatt zu Algorithmen II im WS 2016/2017 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders Dr. Christian Schulz, Dr. Simon Gog Michael Axtmann. Übungsblatt zu Algorithmen II im WS 016/017 Aufgabe

Mehr

Flüsse, Schnitte, bipartite Graphen. Martin Oettinger

Flüsse, Schnitte, bipartite Graphen. Martin Oettinger Flüsse, Schnitte, bipartite Graphen Martin Oettinger Übersicht Einführung Algorithmen für maximalen Fluss Preflow-Push Ford-Fulkerson Spezialfall: Maximaler Fluss bei minimalen Kosten Reduktionen Bipartites

Mehr

Customization (Zuschneiden)

Customization (Zuschneiden) Customization (Zuschneiden) Anpassen der (Graph)Datenstruktur an die Anwendung. I Ziel: schnell, kompakt. I benutze Entwurfsprinzip: make the common case fast I Listen vermeiden Mögliches Problem: Software-Engineering-Alptraum

Mehr

Bäume. 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1

Bäume. 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1 Bäume 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1 Inhalt Grundbegriffe: Baum, Binärbaum Binäre Suchbäume (Definition) Typische Aufgaben Suchaufwand Löschen allgemein, Methode Schlüsseltransfer

Mehr

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V

Mehr

Algorithmen und Datenstrukturen (WS 2007/08) 63

Algorithmen und Datenstrukturen (WS 2007/08) 63 Kapitel 6 Graphen Beziehungen zwischen Objekten werden sehr oft durch binäre Relationen modelliert. Wir beschäftigen uns in diesem Kapitel mit speziellen binären Relationen, die nicht nur nur besonders

Mehr

Universität des Saarlandes

Universität des Saarlandes Universität des Saarlandes FR 6.2 Informatik Prof. Dr. Kurt Mehlhorn WiSe 2015/2016 Übungen zu Ideen der Informatik http://www.mpi-inf.mpg.de/departments/algorithms-complexity/teaching/winter15/ideen/

Mehr

Felix Brandt, Jan Johannsen. Vorlesung im Wintersemester 2008/09

Felix Brandt, Jan Johannsen. Vorlesung im Wintersemester 2008/09 Felix Brandt, Jan Johannsen Vorlesung im Wintersemester 2008/09 Übersicht Übersicht Definition Ein Matching in G = (V, E) ist eine Menge M E mit e 1 e 2 = für e 1, e 2 M, e 1 e 2 Ein Matching M ist perfekt,

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

Datenstrukturen. Mariano Zelke. Sommersemester 2012

Datenstrukturen. Mariano Zelke. Sommersemester 2012 Datenstrukturen Mariano Zelke Sommersemester 2012 Mathematische Grundlagen: Das Handwerkszeug Mariano Zelke Datenstrukturen 2/26 Formeln: n - i = n (n+1) 2 und - i=1 k i=0 a i = ak+1 1 a 1, falls a 1 Rechnen

Mehr

Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10

Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10 Binäre Bäume Bäume gehören zu den wichtigsten Datenstrukturen in der Informatik. Sie repräsentieren z.b. die Struktur eines arithmetischen Terms oder die Struktur eines Buchs. Bäume beschreiben Organisationshierarchien

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

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Vortrag von Michael Daumen am 13.12.2000 Thema : Minimum Spanning Tree und 2-Approximation der TSP-Tour Inhalt des Vortrags : 1. genaue Vorstellung des

Mehr

Algorithmen auf Graphen. Kapitel V. Algorithmen auf Graphen

Algorithmen auf Graphen. Kapitel V. Algorithmen auf Graphen Kapitel V Algorithmen auf Graphen 0 0 Inhalt Kapitel V Grundlegendes Breitensuche Tiefensuche Anwendungen der Tiefensuche Minimale Spannbäume Algorithmus von Prim Algorithmus von Kruskal Kürzeste Wege

Mehr

Scheduling-Theorie. Mathematische Modelle und Methoden für deterministische Scheduling-Probleme. LiSA - A Library of Scheduling Algorithms

Scheduling-Theorie. Mathematische Modelle und Methoden für deterministische Scheduling-Probleme. LiSA - A Library of Scheduling Algorithms Scheduling-Theorie Mathematische Modelle und Methoden für deterministische Scheduling-Probleme LiSA - A Library of Scheduling Algorithms Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel &

Mehr

κ(k) k K S Algorithmus zur Bestimmung eines spannenden Baumes mit minimalen Kosten (Kruskal, 1965).

κ(k) k K S Algorithmus zur Bestimmung eines spannenden Baumes mit minimalen Kosten (Kruskal, 1965). 5. Graphenprobleme Im folgenden bezeichnen G = (E, K) einen endlichen Graphen mit der Eckenmenge E und der Kantenmenge K. G kann ungerichtet, gerichtet, schlicht oder nicht schlicht sein. 5.1 Spannende

Mehr

C++, LEDA und STL Visualisierung minimal/maximal aufspannender Bäume

C++, LEDA und STL Visualisierung minimal/maximal aufspannender Bäume Fachbereich IV, Informatik Softwarepraktikum C++, LEDA und STL Visualisierung minimal/maximal aufspannender Bäume Wintersemester 2004/2005 Dokumentation Algorithmen zur Lösung von MST - Problemen Nicolas

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

Anwendungen von Netzwerkfluss. Wojciech Polcwiartek Institut für Informatik FU Berlin

Anwendungen von Netzwerkfluss. Wojciech Polcwiartek Institut für Informatik FU Berlin Anwendungen von Netzwerkfluss Wojciech Polcwiartek Institut für Informatik FU Berlin 13. 01. 2009 Gliederung Einführung Netzwerk, Fluss und Schnitt Max-Flow-Min-Cut Theorem Algorithmen zum Bestimmen vom

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. Fallstudie Bipartite Graphen. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Pfade. Traveling Salesman Problem. Flüsse in Netzwerken

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI

Mehr

Graph Paar (V,E) V: nichtleere Menge von Knoten (vertex) E: Menge von Kanten (edges): Relation (Verbindung) zwischen den Knoten

Graph Paar (V,E) V: nichtleere Menge von Knoten (vertex) E: Menge von Kanten (edges): Relation (Verbindung) zwischen den Knoten Graphentheorie Graph Paar (V,E) V: nichtleere Menge von Knoten (vertex) E: Menge von Kanten (edges): Relation (Verbindung) zwischen den Knoten gerichteter Graph (DiGraph (directed graph) E: Teilmenge E

Mehr

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 3: Minimal aufspannende Bäume und Matroide

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 3: Minimal aufspannende Bäume und Matroide Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 3: Minimal aufspannende Bäume und Matroide Dipl-Math. Wolfgang Kinzner 3.4.2012 Kapitel 3: Minimal aufspannende Bäume und Matroide Minimal aufspannende

Mehr

368 4 Algorithmen und Datenstrukturen

368 4 Algorithmen und Datenstrukturen Kap04.fm Seite 368 Dienstag, 7. September 2010 1:51 13 368 4 Algorithmen und Datenstrukturen Java-Klassen Die ist die Klasse Object, ein Pfeil von Klasse A nach Klasse B bedeutet Bextends A, d.h. B ist

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

Diskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 6: Graphentheorie

Diskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 6: Graphentheorie Referenzen zum Nacharbeiten: Diskrete Mathematik Sebastian Iwanowski FH Wedel Kap. 6: Graphentheorie Lang 6 Beutelspacher 8.1-8.5 Meinel 11 zur Vertiefung: Aigner 6, 7 (7.4: Algorithmus von Dijkstra) Matousek

Mehr

Uninformierte Suche in Java Informierte Suchverfahren

Uninformierte Suche in Java Informierte Suchverfahren Uninformierte Suche in Java Informierte Suchverfahren Stephan Schwiebert WS 2009/2010 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Suchprobleme bestehen aus Zuständen

Mehr

Was bisher geschah ADT Menge mit Operationen: Suche nach einem Element Einfügen eines Elementes Löschen eines Elementes Realisierung durch

Was bisher geschah ADT Menge mit Operationen: Suche nach einem Element Einfügen eines Elementes Löschen eines Elementes Realisierung durch Was bisher geschah ADT Menge mit Operationen: Suche nach einem Element Einfügen eines Elementes Löschen eines Elementes Realisierung durch verschiedene Datenstrukturen: lineare Datenstrukturen: Array,

Mehr

Branch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir

Branch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir Effiziente Algorithmen Lösen NP-vollständiger Probleme 289 Branch-and-Bound Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir 1.

Mehr

Graphen. Leonhard Euler ( )

Graphen. Leonhard Euler ( ) Graphen Leonhard Euler (1707-1783) 2 Graph Ein Graph besteht aus Knoten (nodes, vertices) die durch Kanten (edges) miteinander verbunden sind. 3 Nachbarschaftsbeziehungen Zwei Knoten heissen adjazent (adjacent),

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

Gliederung. Kapitel 4. Lokale Suchverfahren. Meta-Heuristiken. Simulated Annealing. Lokale Suchverfahren. Optimierungsalgorithmen

Gliederung. Kapitel 4. Lokale Suchverfahren. Meta-Heuristiken. Simulated Annealing. Lokale Suchverfahren. Optimierungsalgorithmen Kapitel Optimierungsalgorithmen Gunnar Klau Institut für Computergraphik und Algorithmen Gliederung Kombinatorische vs. Ganzzahlige Optimierung Exakte Verfahren Branch-and-Bound Schnittebenenverfahren

Mehr