Algorithmen und Datenstrukturen 2-2. Seminar -

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

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

Traversierung 1 / 16. P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V3 23. April / 16

Traversierung 1 / 16. P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V3 23. April / 16 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS, V. April 0 / P.F. Stadler & S. Will (Bioinf, Uni LE) ADS, V. April 0 / Traversierung ADS: Algorithmen und Datenstrukturen Teil Prof. Peter F. Stadler & Sebastian

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

ADS 2: Algorithmen und Datenstrukturen

ADS 2: Algorithmen und Datenstrukturen ADS : Algorithmen und Datenstrukturen Teil 4 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

ADS 2: Algorithmen und Datenstrukturen

ADS 2: Algorithmen und Datenstrukturen ADS : Algorithmen und Datenstrukturen Teil 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

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

ADS 2: Algorithmen und Datenstrukturen

ADS 2: Algorithmen und Datenstrukturen ADS : Algorithmen und Datenstrukturen Teil Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 09. Mai 08 [Letzte Aktualisierung: 06/07/08, 08:4]

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

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

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

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

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 7 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 2. Mai 2018 [Letzte Aktualisierung: 2/05/2018,

Mehr

Helmut Schauer Educational Engineering Lab Department for Information Technology University of Zurich. Graphen (2)

Helmut Schauer Educational Engineering Lab Department for Information Technology University of Zurich. Graphen (2) Graphen (2) 1 Topologisches Sortieren (1) Die Kanten eines gerichteten zyklenfreien Graphen bilden eine Halbordnung (die Ordnungsrelation ist nur für solche Knoten definiert die am gleichen Pfad liegen).

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

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

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

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 4 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

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 02. Mai 2017 [Letzte Aktualisierung: 10/07/2018,

Mehr

1 DFS-Bäume in ungerichteten Graphen

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

Mehr

1 DFS-Bäume in ungerichteten Graphen

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

Mehr

Tutoraufgabe 1 (Suchen in Graphen):

Tutoraufgabe 1 (Suchen in Graphen): Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS14 F. Corzilius, S. Schupp, T. Ströder Tutoraufgabe 1 (Suchen in Graphen): a) Geben Sie die Reihenfolge an, in der die Knoten besucht werden, wenn

Mehr

Algorithmen & Datenstrukturen 2 Praktikum 3

Algorithmen & Datenstrukturen 2 Praktikum 3 Algorithmen & Datenstrukturen 2 Praktikum 3 Thema: Graphalgorithmen Sommersemester 2016 Prof. Dr. Christoph Karg Hochschule Aalen Dieses Praktikum widmet sich dem Thema Graphalgorithmen. Ziel ist die Implementierung

Mehr

Graphenalgorithmen I. Geschickt Programmieren für den ICPC- Wettbewerb. Felix Weissenberger

Graphenalgorithmen I. Geschickt Programmieren für den ICPC- Wettbewerb. Felix Weissenberger Graphenalgorithmen I Geschickt Programmieren für den ICPC- Wettbewerb Felix Weissenberger Inhalt Grundlagen zu Graphen Begriffe Darstellung von Graphen Graphenalgorithmen Breitensuche Tiefensuche Topologisches

Mehr

Aufgaben zur Klausurvorbereitung

Aufgaben zur Klausurvorbereitung Vorlesung Graphen und Optimierung Sommersemester 2013/14 Prof. S. Lange Aufgaben zur Klausurvorbereitung Hier finden Sie eine Reihe von Übungsaufgaben, die wir an den beiden Vorlesungsterminen am 29.01.2014

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

\ 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

ADS 2: Algorithmen und Datenstrukturen

ADS 2: Algorithmen und Datenstrukturen ADS : Algorithmen und Datenstrukturen Teil 3 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 7. April 09 [Letzte Aktualisierung: 3/0/09, 09:]

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

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Graphen 9/1 Begriffsdefinitionen Ein Graph besteht aus Knoten und Kanten. Ein Knoten(Ecke) ist ein benanntes Objekt. Eine Kante verbindet zwei Knoten. Kanten haben ein Gewicht

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

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil II Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig 07.

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

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

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

Abgabe: (vor der Vorlesung)

Abgabe: (vor der Vorlesung) TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 0 Prof. Dr. Helmut Seidl, S. Pott,

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 16 (2.7.2014) Graphtraversierung II, Minimale Spannbäume I Algorithmen und Komplexität Tiefensuche: Pseusocode DFS Traversal: for all u in

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

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

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

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

Algorithmen und Datenstrukturen 1-5. Seminar -

Algorithmen und Datenstrukturen 1-5. Seminar - Algorithmen und Datenstrukturen 1-5. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Wintersemester 2009/10 Outline 5.+6. Übungsserie: 5 Aufgaben, insgesamt 40 Punkte A17 Baum-Traversierung

Mehr

Klausurvorbereitung. 1 Zentrale Begriffe. 2 Bipartite Graphen. 2.1 Begriffe. Vorlesung Graphen und Optimierung Sommersemester 2011 Prof. S.

Klausurvorbereitung. 1 Zentrale Begriffe. 2 Bipartite Graphen. 2.1 Begriffe. Vorlesung Graphen und Optimierung Sommersemester 2011 Prof. S. Vorlesung Graphen und Optimierung Sommersemester 2011 Prof. S. Lange Klausurvorbereitung Hier finden Sie alle Begriffe, Zusammenhänge und Algorithmen, die mit Blick auf die Klausur relevant sind. Um es

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphen (2) Spannbäume Kürzeste Wege Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 455 Wiederholung Traversierung eines Graphen via Tiefendurchlaufs

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 07 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München 7 Fortgeschrittene Datenstrukturen Graphen

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen 13. Übung minimale Spannbäume, topologische Sortierung, AVL-Bäume Clemens Lang Übungen zu AuD 4. Februar 2010 Clemens Lang (Übungen zu AuD) Algorithmen und Datenstrukturen

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

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind. 3.5 Gerichteter Pfad Definition 291 Eine Folge (u 0, u 1,..., u n ) mit u i V für i = 0,..., n heißt gerichteter Pfad, wenn ( i {0,..., n 1} ) [ (u i, u i+1 ) A]. Ein gerichteter Pfad heißt einfach, falls

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

Algorithmen und Datenstrukturen SS09. Foliensatz 17. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik

Algorithmen und Datenstrukturen SS09. Foliensatz 17. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik Foliensatz 17 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 69 TU Ilmenau Seite 2 / 69 Graphtraverse Wie bei Bäumen, ist

Mehr

12. Graphen Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013

12. Graphen Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013 12. Graphen Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013 1 Agenda Kontrollfragen Graphen Graphenalgorithmen 2

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

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

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 3 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

Tutoraufgabe 1 (SCC):

Tutoraufgabe 1 (SCC): Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS F. Corzilius, S. Schupp, T. Ströder Allgemeine Hinweise: Die Hausaufgaben sollen in Gruppen von je bis Studierenden aus der gleichen Kleingruppenübung

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

6. Flüsse und Zuordnungen

6. Flüsse und Zuordnungen 6. Flüsse und Zuordnungen Flußnetzwerke 6. Flüsse und Zuordnungen In diesem Kapitel werden Bewertungen von Kanten als maximale Kapazitäten interpretiert, die über diese Kante pro Zeiteinheit transportiert

Mehr

Graphalgorithmen 1. Tillmann Zipperer Tillmann Zipperer Graphalgorithmen / 40

Graphalgorithmen 1. Tillmann Zipperer Tillmann Zipperer Graphalgorithmen / 40 Graphalgorithmen 1 Tillmann Zipperer 03.06.2015 Tillmann Zipperer Graphalgorithmen 1 03.06.2015 1 / 40 1 Grundlagen Definition Graphtypen Implizite Graphdarstellung Tillmann Zipperer Graphalgorithmen 1

Mehr

Kapitel IV Minimale Spannbäume

Kapitel IV Minimale Spannbäume Kapitel IV Minimale Spannbäume. 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

Tutoraufgabe 1 (Starke Zusammenhangskomponenten):

Tutoraufgabe 1 (Starke Zusammenhangskomponenten): für Informatik Prof. aa Dr. Ir. Joost-Pieter Katoen Allgemeine Hinweise: Datenstrukturen und Algorithmen SS1 Übungsblatt (Abgabe 4.0.01) Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder

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

Teil 2: Graphenalgorithmen

Teil 2: Graphenalgorithmen Teil : Graphenalgorithmen Anwendungen Definitionen Datenstrukturen für Graphen Elementare Algorithmen Topologisches Sortieren Kürzeste Wege Problemstellung Ungewichtete Graphen Distanzgraphen Gewichtete

Mehr

6 Flüsse und Matchings

6 Flüsse und Matchings 6. Flüsse in Netzwerken Flußnetzwerke 6 Flüsse und Matchings In diesem Kapitel werden Bewertungen von Kanten als maximale Kapazitäten interpretiert, die über diese Kante pro Zeiteinheit transportiert werden

Mehr

Kap. 6.5: Minimale Spannbäume ff

Kap. 6.5: Minimale Spannbäume ff Kap. 6.: Minimale Spannbäume ff Professor Dr. Karsten Klein Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 20. VO 2. TEIL DAP2 SS 2009 2. Juli 2009 SS08 1 Überblick 6.:

Mehr

Name:... Vorname:... Matr.-Nr.:... Studiengang:...

Name:... Vorname:... Matr.-Nr.:... Studiengang:... Technische Universität Braunschweig Sommersemester 2013 IBR - Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Dr. Christiane Schmidt Stephan Friedrichs Klausur Netzwerkalgorithmen 16.07.2013 Name:.....................................

Mehr

Graphenalgorithmen I

Graphenalgorithmen I Graphenalgorithmen I Vortrag im Seminar Hallo Welt! für Fortgeschrittene 7. Juni 211 Graphenalgorithmen I 1/33 Motivation Problem Wie komme ich am schnellsten ins Kanapee? Problem Wie kommt ein Datenpaket

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

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

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 13 (6.6.2018) Graphenalgorithmen II Yannic Maus Algorithmen und Komplexität Repräsentation von Graphen Zwei klassische Arten, einen Graphen

Mehr

Graphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47

Graphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47 Graphalgorithmen Dominik Paulus.0.01 Dominik Paulus Graphalgorithmen.0.01 1 / 7 1 Spannbäume Kruskal Prim Edmonds/Chu-Liu Datenstrukturen Fibonacci-Heap Union/Find Kürzeste Pfade Dijkstra Bellman-Ford

Mehr

Vorlesung Datenstrukturen

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

Mehr

ADS 2: Algorithmen und Datenstrukturen

ADS 2: Algorithmen und Datenstrukturen ADS 2: Algorithmen und Datenstrukturen Teil I Prof. Peter F. Stadler & Sebastian Will Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität Leipzig 9. April

Mehr

Algorithmen und Datenstrukturen Tafelübung 14. Jens Wetzl 8. Februar 2012

Algorithmen und Datenstrukturen Tafelübung 14. Jens Wetzl 8. Februar 2012 Algorithmen und Datenstrukturen Tafelübung 14 Jens Wetzl 8. Februar 2012 Folien Keine Garantie für Vollständigkeit und/oder Richtigkeit Keine offizielle Informationsquelle LS2-Webseite Abrufbar unter:

Mehr

12. AuD Tafelübung T-C3

12. AuD Tafelübung T-C3 12. AuD Tafelübung T-C3 Simon Ruderich 2. Februar 2011 Kollisionen (Primär)Kollision Stelle mit normal eingefügtem Element schon belegt (gleicher Hashwert) tritt bei verketteten Listen und Sondierung auf

Mehr

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008 Technische Universität München Fakultät für Informatik Lehrstuhl für Informatik 15 Computergraphik & Visualisierung Prof. Dr. Rüdiger Westermann Dr. Werner Meixner Wintersemester 2007/08 Lösungsblatt 8

Mehr

1 Exploration geordneter Wurzelbäume

1 Exploration geordneter Wurzelbäume Exploration geordneter Wurzelbäume Ein geordneter Wurzelbaum ist ein Baum, bei welchem ein Knoten als Wurzel ausgezeichnet wird und bei welchem die Kinder eines Knotens linear, sagen wir von links nach

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

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

Wege, Pfade und Kreise

Wege, Pfade und Kreise Wege, Pfade und Kreise ef.: in Weg ist eine olge von Knoten (v 1, v2,..., vk), so dass {vi,vi+1} für alle 1 i

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

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

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

Mehr

Einführung in die Graphen-Theorie

Einführung in die Graphen-Theorie www.mathematik-netz.de Copyright, Page 1 of 8 Einführung in die Graphen-Theorie 1.0 Grundlegende Definitionen Die Theorie der Graphen, das in faszinierender Weise Anwendungen und Theorie, Anschaulichkeit

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

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

ADS 2: Algorithmen und Datenstrukturen

ADS 2: Algorithmen und Datenstrukturen ADS 2: Algorithmen und Datenstrukturen Teil 2 Prof. Peter F. Stadler & Sebastian Will Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität Leipzig 16. April

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

Algorithmus zur topologischen Nummerierung: while V = 0 do nummeriere eine Quelle mit der nächsten Nummer streiche diese Quelle aus V od

Algorithmus zur topologischen Nummerierung: while V = 0 do nummeriere eine Quelle mit der nächsten Nummer streiche diese Quelle aus V od Algorithmus zur topologischen Nummerierung: while V = 0 do nummeriere eine Quelle mit der nächsten Nummer streiche diese Quelle aus V od Diskrete Strukturen 3.7 dag 473/556 3.8 Zusammenhang Definition

Mehr

Rückblick: Starke Zusammenhangskomponenten

Rückblick: Starke Zusammenhangskomponenten Rückblick: Starke Zusammenhangskomponenten Der Algorithmus von Kosaraju bestimmt die starken Zusammenhangskomponenten eines gerichteten Graphen wie folgt: Schritt 1: Bestimme den transponierten Graphen

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

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

Teil 2: Graphenalgorithmen

Teil 2: Graphenalgorithmen Teil : Graphenalgorithmen Anwendungen Definitionen Datenstrukturen für Graphen Elementare Algorithmen Topologisches Sortieren Kürzeste Wege Minimal aufspannende Bäume Problemstellung Algorithmus von Prim

Mehr

Zweizusammenhang und starker Zusammenhang

Zweizusammenhang und starker Zusammenhang .. Zeizusammenhang und starker Zusammenhang Carsten Gutenger Vorlesung Algorithmen und Datenstrukturen WS /. Januar Zeizusammenhang Betrachte ein Netzerk (Graph) Z.B. Computernetzerk, Flug- oder Schienennetzerk

Mehr

Effiziente Algorithmen

Effiziente Algorithmen Effiziente Algorithmen Graphdurchläufe Vorlesender: Martin Aumüller (nach Folien von Prof. Martin Dietzfelbinger) April/Mai 0 FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 Einleitung Kapitel

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

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

Effiziente Algorithmen

Effiziente Algorithmen Effiziente Algorithmen Graphdurchläufe Vorlesender: Martin Aumüller (nach Folien von Prof. Martin Dietzfelbinger) April/Mai 0 FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 Einleitung Kapitel

Mehr

Flüsse und Zuordnungen. Kapitel 6. Peter Becker (H-BRS) Graphentheorie Wintersemester 2018/ / 296

Flüsse und Zuordnungen. Kapitel 6. Peter Becker (H-BRS) Graphentheorie Wintersemester 2018/ / 296 Kapitel 6 Peter Becker (H-BRS) Graphentheorie Wintersemester 2018/19 227 / 296 Inhalt Inhalt 6 Flussnetzwerke Berechnung maximaler Flüsse Max-Flow-Min-Cut Matchings Peter Becker (H-BRS) Graphentheorie

Mehr

Algorithmen und Datenstrukturen SS09. Foliensatz 16. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik

Algorithmen und Datenstrukturen SS09. Foliensatz 16. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik Foliensatz 16 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 45 Graphen TU Ilmenau Seite 2 / 45 Graphen 1 2 3 4 5 6 7 8

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