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

Größe: px
Ab Seite anzeigen:

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

Transkript

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 Effiziente Algorithmen Sommersemester 0

2 Allgemeines Definition.. (Fortsetzung) (b) Ein Graph G heißt ein freier Baum (oder nur Baum), wenn er zusammenhängend und kreisfrei ist. Beispiel: Ein (freier) Baum: 0 Knoten, 9 Kanten. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0

3 Allgemeines Anmerkung: Die Zusammenhangskomponenten eines kreisfreien Graphen sind freie Bäume. Kreisfreie Graphen heißen daher auch (freie) Wälder. Lemma.. Sei G =(V, E) ein Graph mit n = V und m = E. Dann gilt: (a) Wenn G kreisfrei ist, gilt m n. (b) Wenn G zusammenhängend ist, gilt m n. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0

4 Allgemeines Fundamental-Lemma.. über freie Bäume Wenn G =(V, E) ein Graph ist, mit Knotenzahl n = V und Kantenzahl m = E, dann sind folgende Aussagen äquivalent: (a) G ist ein Baum. (b) G ist kreisfrei und m n. (c) G ist zusammenhängend und m n. (d) Zu jedem Paar u, v von Knoten gibt es genau einen einfachen Weg von u nach v. (e) G ist kreisfrei, aber das Hinzufügen einer beliebigen weiteren Kante erzeugt einen Kreis (G ist maximal kreisfrei ). (f) G ist zusammenhängend, aber das Entfernen einer beliebigen Kante erzeugt einen nicht zusammenhängenden Restgraphen (G ist minimal zusammenhängend ). FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0

5 Allgemeines Beweis des Fundamentallemmas: Für Interessierte in einer eigenen Notiz nachzulesen (siehe Webseite). Wir benutzen das Fundamental-Lemma über freie Bäume in der folgenden Weise: () Wenn G ein Baum ist, erfüllt G alle genannten Eigenschaften (a) (f). () Wenn wir eine der Eigenschaften nachweisen, hat sich G als Baum erwiesen. Aussagen, die aus dem Fundamental-Lemma über Bäume folgen: G sei Baum mit n Knoten. Dann gilt: () G hat n Kanten. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0

6 Allgemeines () Wenn man zu G eine Kante (u, w) hinzufügt, entsteht genau ein Kreis (aus (u, w) und dem eindeutigen Weg von u nach w in G). u w FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 6

7 Allgemeines () Wenn man aus G eine Kante (u, w) streicht, zerfällt der Graph in Komponenten U = {v V v von u aus über Kanten aus E {(u, w)} erreichbar}; W = {v V v von w aus über Kanten aus E {(u, w)} erreichbar}. U W u w FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

8 Allgemeines Definition.. Es sei G =(V, E) ein zusammenhängender Graph. Eine Menge T E von Kanten heißt ein Spannbaum für G, wenn (V, T ) ein Baum ist. Beispiel: FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 8

9 Allgemeines Klar: Jeder zusammenhängende Graph hat einen Spannbaum. (Iterativer Prozess: Starte mit E. Solange es Kanten gibt, die auf einem Kreis liegen, entferne eine solche Kreiskante. Der Zusammenhang bleibt stets erhalten; schließlich muss der Rest-Graph kreisfrei sein.) FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 9

10 Allgemeines Definition.. Es sei G =(V, E, c) ein gewichteter Graph, d.h. c : E R ist eine Gewichtsfunktion oder Kostenfunktion. Kantenkosten modellieren: Herstellungskosten Leitungsmiete... FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 0

11 Allgemeines (a) Jeder Kantenmenge E E wird durch ein Gesamtgewicht zugeordnet. c(e ) := e E c(e) Gesamtgewicht: = 0. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0

12 Allgemeines (b) Sei G zusammenhängend. Ein Spannbaum T E für G heißt ein minimaler Spannbaum, wenn c(t ) = min{c(t ) T Spannbaum von G}, d.h. wenn er minimale Kosten unter allen Spannbäumen hat. Abkürzung: MST ( minimum spanning tree ). Zwei minimale Spannbäume, jeweils mit Gesamtgewicht 8. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0

13 Allgemeines Klar: Jeder Graph besitzt einen MST. (Es gibt nur endlich viele Spannbäume.) Achtung: Es kann mehrere verschiedene MSTs geben (die alle dasselbe Gesamtgewicht haben). Aufgabe: Zu gegebenem G =(V, E, c) finde einen MST T. Hier: Algorithmus von Jarník/Prim Algorithmenparadigma: greedy ( gierig ). Baue Lösung Schritt für Schritt auf. (Hier: wähle eine Kante für T nach der anderen.) Treffe in jedem Schritt die (lokal) günstigste Entscheidung Algorithmus von Jarník/Prim: Ähnlichkeit zum Dijkstra-Algorithmus. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0

14 Jarník/Prim Algorithmus von Jarník/Prim: S: Menge von Knoten. Enthält die bisher erreichten Knoten. R: Menge von Kanten. Enthält die bisher gewählten Kanten. () Wähle einen beliebigen (Start-)Knoten s V. S {s}; R ; () Wiederhole (n )-mal: Finde w S und u V S, so dass c(w, u) minimal unter allen Werten c(w, u ), w S, u V S, ist. S S {u}; R R {(w, u)}; () Ausgabe: R. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0

15 Jarník/Prim Beispiel (Jarník/Prim): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0

16 Jarník/Prim Beispiel (Jarník/Prim): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0

17 Jarník/Prim Beispiel (Jarník/Prim): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0

18 Jarník/Prim Beispiel (Jarník/Prim): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0

19 Jarník/Prim Beispiel (Jarník/Prim): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0

20 Jarník/Prim Beispiel (Jarník/Prim): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0

21 Jarník/Prim Beispiel (Jarník/Prim): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0

22 Jarník/Prim Beispiel (Jarník/Prim): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0

23 Jarník/Prim Beispiel (Jarník/Prim): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0

24 Jarník/Prim Beispiel (Jarník/Prim): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0

25 Jarník/Prim Beispiel (Jarník/Prim): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0

26 Schnitteigenschaft Die Schnitteigenschaft Für den Korrektheitsbeweis des Algorithmus von Jarník/Prim: Cut property Schnitteigenschaft Eine Partition (S, V S) mit S V heißt ein Schnitt. V S S FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 6

27 Schnitteigenschaft Definition..6 Die Schnitteigenschaft Eine Menge R E heißt erweiterbar (zu einem MST), wenn es einen MST T mit R T gibt. R ist erweiterbar, denn es gibt einen MST T R. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

28 Schnitteigenschaft Die Schnitteigenschaft Behauptung (Schnitteigenschaft): Wenn R E erweiterbar ist und (S, V S) ein Schnitt, so dass keine Kante aus R von S nach V S verläuft, und wenn e =(v, w), v S, w V S eine Kante ist, die den Wert c((u, x)), u S, x V S, minimiert, dann ist auch R {e} erweiterbar. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 8

29 Schnitteigenschaft Die Schnitteigenschaft Beweis der Schnitteigenschaft: Sei R E, sei T R ein MST; sei (S, V S) ein Schnitt, so dass keine Kante aus R von S nach V S verläuft; sei e S (V S) mit minimalem c(e).. Fall: e T. Dann gilt R {e} T, also ist R {e} erweiterbar, fertig. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 9

30 Schnitteigenschaft. Fall: e / T. Die Schnitteigenschaft R: Rest: S V S Eine erweiterbare Menge R. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 60

31 Schnitteigenschaft. Fall: e / T. Die Schnitteigenschaft R: Rest: T R: S V S MST T mit R T. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 6

32 Schnitteigenschaft. Fall: e / T. Die Schnitteigenschaft R: Rest: T R: v e w S V S e =(v, w) minimiert c((u, x)), u S, x V S. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 6

33 Schnitteigenschaft. Fall: e / T. Die Schnitteigenschaft R: Rest: T R: v e w e S V S Weg in T von v nach w wechselt von S nach V S bei Kante e. Es entsteht ein Kreis in T {e}, auf dem e und e liegen. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 6

34 Schnitteigenschaft. Fall: e / T. Die Schnitteigenschaft R: Rest: T R: v e w S V S Entferne e,füge e hinzu: T e := (T {e }) {e}. Neuer Spannbaum T e R {e}. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 6

35 Schnitteigenschaft. Fall: e / T. Die Schnitteigenschaft R: Rest: T R: v e w S V S Weil c(e) c(e ) (Minimalität von c(e) über den Schnitt (S, V S)): c(t e ) c(t ), also ist T e wieder ein MST. Also: R {e} ist erweiterbar. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 6

36 Korrektheit von Jarník/Prim Korrektheit des Algorithmus von Jarník/Prim: R i : Kantenmenge (Größe i), die nach Runde i in R steht. S i : Knotenmenge (Größe i + ), die nach Runde i in S steht. Weil in jeder Runde ein Knoten und eine Kante hinzukommt, und man an die schon vorhandene Knotenmenge anschließt, ist jedes R i kreisfrei und zusammenhängend, also ein Baum. Die Kanten von R i verbinden genau die Knoten von S i. Zu zeigen: R n ist ein MST für G. Weil R n kreisfrei ist und n Kanten hat, ist R n Spannbaum. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 66

37 Korrektheit von Jarník/Prim Induktionsbehauptung IB(i): R i ist erweiterbar. (Dies beweisen wir durch Induktion über i =0,,..., n.) Dann besagt IB(n ), dass T R n ist für einen MST T. Weil alle Spannbäume n Kanten haben und R n auch n Kanten hat, ist T = R n, also ist die Ausgabe R n ein MST. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 67

38 Korrektheit von Jarník/Prim I.A.: i = 0. R 0 =, und es gibt einen MST T für G. I.V.: i n und R i ist erweiterbar. I.S.: (S i, V S i ) ist ein Schnitt, und keine Kante von R i überquert diesen Schnitt. Der Algorithmus von Jarník/Prim wählt unter allen Kanten, die den Schnitt überqueren, eine billigste Kante e, und bildet R i := R i {e}. Mit der Schnitteigenschaft folgt: R i ist erweiterbar. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 68

39 Jarník/Prim: Implementierungsdetails Implementierungsdetails im Algorithmus von Jarník/Prim: Wir nehmen an, dass G =(V, E, c) mit V = {,..., n} in Adjazenzlistendarstellung gegeben ist. Die Kantengewichte c(e) stehen in den Adjazenzlisten bei den Kanten. Für jeden Knoten v V S wollen wir immer wissen: ) die Länge d(v) der billigsten Kante (u, v), u S, falls eine existiert: in dist[v] ( Abstand von S ) ) den (einen) (Vorgänger-)Knoten p(v) =u S mit c(u, v) =d(v), falls ein solcher existiert. Falls es von S keine Kante nach v gibt, setzen wir d(v) = und p(v) =. Verwalte die Knoten v V S mit Werten d(v) < mit den d(v)-werten als Schlüssel in einer Priority-Queue PQ. Wenn d(v) =, ist v (noch) nicht in der PQ. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 69

40 Jarník/Prim: Implementierungsdetails Jarnik/Prim-mit-Priority-Queue(G, s) Eingabe: gewichteter Graph G =(V, E, c), V = {,..., n}, Startknoten s; Ausgabe: Ein MST für G. Hilfsstrukturen: PQ: eine (leere) Priority-Queue; ins, p, id: wie oben () for v from to n do ins[v] false; p[v] ; () ins[s] true; p[s] ; () for Knoten v mit (s, v) E do () dist[v] c(s, v); p[v] s; id[v] PQ.insert(dist[v],v); () while not PQ.isempty do (6) (id, d, u) PQ.extractMin; ( Identität, Distanz, Knotenname ) (7) ins[u] true; (8) for Knoten v mit (u, v) E and not ins[v] do (9) dd c(u, v); ( einziger Unterschied zu Dijkstra! ) (0) if p[v] 0 and dd < dist[u] then () PQ.decreaseKey(id[v],dd); p[v] u; () if p[v] = ( v vorher nicht erreicht ) then () dist[v] dd; p[v] u; id[v] PQ.insert(dd,v); () Ausgabe: Kantenmenge T = {(v, p[v]) v S {s}}. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 70

41 Jarník/Prim: Implementierungsdetails Zeitanalyse: Exakt wie für den Dijkstra-Algorithmus. Satz..7 Der Algorithmus von Jarník/Prim mit Verwendung einer Priority-Queue, die als Binärheap realisiert ist, ermittelt einen minimalen Spannbaum für G =(V, E, c) in Zeit O((n + m) log n). Wie beim Algorithmus von Dijkstra: Wenn man Fibonacci-Heaps o.ä. verwendet, bei denen m decreasekey-operationen Zeit O(m) benötigen: Laufzeit für Jarník/Prim: O(m + n log n). FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

42 . Der Auch dieser Algorithmus löst das MST-Problem. Anderer Ansatz als bei Jarník/Prim: Probiere Kanten in aufsteigender Reihenfolge des Kantengewichts, und wähle eine Kante für den zu bauenden MST, wenn sie die Kreisfreiheitseigenschaft nicht verletzt. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

43 . Schritt: Sortiere die Kanten e,..., e m nach den Gewichten c(e ),..., c(e m ) aufsteigend. Also O.B.d.A.: c(e )... c(e m ).. Schritt: Setze R.. Schritt: Für i =,,..., m tue folgendes: Falls R {e i } kreisfrei ist, setze R R {e i } ( sonst, d.h. wenn e i einen Kreis schließt, bleibt R unverändert ) ( Optional: Beende Schleife, wenn R = n. ). Schritt: Die Ausgabe ist R. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

44 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

45 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

46 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

47 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

48 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

49 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

50 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

51 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

52 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

53 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

54 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

55 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

56 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

57 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

58 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

59 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

60 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

61 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

62 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

63 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

64 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

65 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

66 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

67 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

68 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

69 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

70 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

71 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

72 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

73 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

74 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

75 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

76 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

77 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

78 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

79 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

80 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

81 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

82 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

83 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

84 Beispiel (Kruskal): FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

85 Uns interessieren: ) Korrektheit; ) Laufzeit (später) Korrektheit des : R i : Kantenmenge, die nach Runde i in R steht. Weil dies im. Schritt getestet wird, ist sichergestellt, dass jedes R i kreisfrei, also ein Wald ist. Zu zeigen: R m ist ein MST für G. Erinnerung: R E heißt erweiterbar, wenn R T für einen MST T. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 7

86 Induktionsbehauptung IB(i): R i ist erweiterbar. (Beweis gleich, durch Induktion über i =0,,..., m.) Dann besagt IB(m), dass R m T ist für einen MST T. Beh.: Es gilt auch T R m. (Also gilt Gleichheit, und R m ist ein MST.) (Beweis der Beh.: Sei e T. Dann ist e = e i für ein i, und e i wurde in Runde i getestet. Weil R i R m T und e i T, ist R i {e i } T, also ist R i {e i } kreisfrei, also fügt der Algorithmus die Kante e i in Runde i zu R hinzu, also gilt e i R m.) FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 76

87 Induktionsbehauptung IB(i): R i ist erweiterbar. I.A.: R 0 = ist erweiterbar. I.V.: i < m und R i ist erweiterbar. I.S.: Nun wird Runde i mit Kante e i ausgeführt.. Fall: R i {e i } enthält einen Kreis. Dann ist R i = R i, also R i erweiterbar.. Fall: R i {e i } ist kreisfrei. Sei e i =(v, w). Definiere S := {u V im Wald (V, R i ) ist u von v aus erreichbar}. (S ist die Zusammenhangskomponente von v in (V, R i ).) Weil R i {e i } kreisfrei ist, folgt w V S. Klar: Keine R i -Kante verbindet S und V S. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 77

88 Behauptung: c(e i ) ist minimal unter allen c(e ) mit e =(v, w ), v S, w V S. Beweis indirekt: Annahme: Es gibt e =(v, w ) mit v S, w V S und c(e ) < c(e i ). e = e j mit j < i (weil Kanten nach Kosten aufsteigend sortiert sind) e = e j wurde in Runde j < i untersucht. Weil e zwischen zwei Zusammenhangskomponenten von (V, R i ) verläuft, ist R i {e } kreisfrei. R j R i = R j {e } ist kreisfrei. Algo = e R j R i, Widerspruch. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 78

89 Gesehen: c(e i ) ist minimal unter allen c((v, w)), v S, w V S. Nach der Schnitteigenschaft folgt: R i = R i {e i } ist erweiterbar, und das ist die Induktionsbehauptung. Ende des Korrektheitsbeweises für den. FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 79

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

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

Grundlagen: Algorithmen und Datenstrukturen

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

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

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

Berechnung minimaler Spannbäume. Beispiel

Berechnung minimaler Spannbäume. Beispiel Minimale Spannbäume Definition Sei G pv, Eq ein ungerichteter Graph und sei w : E Ñ R eine Funktion, die jeder Kante ein Gewicht zuordnet. Ein Teilgraph T pv 1, E 1 q von G heißt Spannbaum von G genau

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

\ 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

Freie Bäume und Wälder

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

Mehr

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

Kap. 6.5: Minimale Spannbäume

Kap. 6.5: Minimale Spannbäume Kap. 6.5: Minimale Spannbäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 19./20. VO DAP2 SS 2009 30.6./2.7.2009 1 Anmeldung zur Klausur 31.07.2009 um 10:15

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

Fortgeschrittene Netzwerk- und Graph-Algorithmen

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

Mehr

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

Algorithmen I - Tutorium 28 Nr. 11

Algorithmen I - Tutorium 28 Nr. 11 Algorithmen I - Tutorium 28 Nr. 11 13.07.2017: Spaß mit Schnitten, Kreisen und minimalen Spannbäumen Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR.

Mehr

Kap. 6.6: Kürzeste Wege

Kap. 6.6: Kürzeste Wege Kap. 6.6: Kürzeste Wege Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 1./. VO DAP SS 009./9. Juli 009 1 Nachtest für Ausnahmefälle Di 1. Juli 009, 16:00 Uhr,

Mehr

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

Organisatorisches. Programmierpraktikum Das Canadian Traveller Problem. Organisatorisches. Organisatorisches

Organisatorisches. Programmierpraktikum Das Canadian Traveller Problem. Organisatorisches. Organisatorisches Organisatorisches Programmierpraktikum Das Canadian Traveller Problem Rainer Schrader Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln. April 006 Prof. Dr. Rainer Schrader Tel.: 470-600

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

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

Mehr

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

Übungsblatt 2 - Lösung

Übungsblatt 2 - Lösung Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 2 - Lösung Vorlesung Algorithmentechnik im WS 08/09 Ausgabe 04. November 2008 Abgabe 8. November, 5:0 Uhr (im Kasten vor Zimmer

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

5. Bäume und Minimalgerüste

5. Bäume und Minimalgerüste 5. Bäume und Minimalgerüste Charakterisierung von Minimalgerüsten 5. Bäume und Minimalgerüste Definition 5.1. Es ein G = (V, E) ein zusammenhängender Graph. H = (V,E ) heißt Gerüst von G gdw. wenn H ein

Mehr

Minimale Spannbäume. Übersicht. 1 Spannbäume. 2 Minimale Spannbäume. 3 Greedy Algorithmen. 4 Die Algorithmen von Kruskal und Prim

Minimale Spannbäume. Übersicht. 1 Spannbäume. 2 Minimale Spannbäume. 3 Greedy Algorithmen. 4 Die Algorithmen von Kruskal und Prim Datenstrukturen und Algorithmen Vorlesung 16: (K23) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-1/dsal/ 12. Juni 201

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

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung

Mehr

Minimal spannende Bäume

Minimal spannende Bäume http://www.uni-magdeburg.de/harbich/ Minimal spannende Fakultät für Informatik Otto-von-Guericke-Universität 2 Inhalt Definition Wege Untergraphen Kantengewichtete Graphen Minimal spannende Algorithmen

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

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

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

1 Kürzeste Pfade in Graphen

1 Kürzeste Pfade in Graphen Praktikum Algorithmen-Entwurf (Teil 3) 03.11.2011 1 1 Kürzeste Pfade in Graphen Es sei ein gerichteter Graph G = (V, E) mit V = n Knoten, E = m Kanten und Kantengewichten c : E R gegeben. Ein Pfad in G

Mehr

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

Datenstrukturen und Algorithmen SS07

Datenstrukturen und Algorithmen SS07 Datenstrukturen und Algorithmen SS0 Datum:.6.200 Michael Belfrage mbe@student.ethz.ch belfrage.net/eth Programm von Heute Minimaler Spannbaum (MST) Challenge der Woche Fibonacci Heap Minimaler Spannbaum

Mehr

Das Heiratsproblem. Definition Matching

Das Heiratsproblem. Definition Matching Das Heiratsproblem Szenario: Gegeben: n Frauen und m > n Männer. Bekanntschaftsbeziehungen zwischen allen Männern und Frauen. Fragestellung: Wann gibt es für jede der Frauen einen Heiratspartner? Modellierung

Mehr

3 Klassifikation wichtiger Optimierungsprobleme

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

Mehr

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

Nachbarschaft, Grad, regulär, Inzidenz

Nachbarschaft, Grad, regulär, Inzidenz Nachbarschaft, Grad, regulär, Inzidenz Definition Eigenschaften von Graphen Sei G = (V, E) ein ungerichteter Graph. 1 Die Nachbarschaftschaft Γ(u) eines Knoten u V ist Γ(u) := {v V {u, v} E}. 2 Der Grad

Mehr

WS 2013/14. Diskrete Strukturen

WS 2013/14. Diskrete Strukturen WS 2013/14 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/ws1314

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

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

Algorithmen & Komplexität

Algorithmen & Komplexität Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg

Mehr

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

Kürzeste Wege Algorithmen und Datenstrukturen

Kürzeste Wege Algorithmen und Datenstrukturen Kürzeste Wege Algorithmen und Datenstrukturen Institut für Informatik Universität zu Köln SS 2009 Teile 1 und 2 Inhaltsverzeichnis 1 Kürzeste Wege 2 1.1 Voraussetzungen................................

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 6. Juni 2017 Guido Brückner INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

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

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

Breitensuche BFS (Breadth First Search)

Breitensuche BFS (Breadth First Search) Breitensuche BFS (Breadth First Search) Algorithmus BREITENSUCHE EINGABE: G = (V, E) als Adjazenzliste, Startknoten s V 1 Für alle v V 1 If (v = s) then d[v] 0 else d[v] ; 2 pred[v] nil; 2 Q new Queue;

Mehr

Graphalgorithmen Netzwerkalgorithmen. Laufzeit

Graphalgorithmen Netzwerkalgorithmen. Laufzeit Netzwerkalgorithmen Laufzeit (Folie 390, Seite 78 im Skript) Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V, V 2 }) mit der Ford Fulkerson Methode. Der Fluß ist höchstens f = min{

Mehr

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

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

Mehr

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

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume) WS 2016/17 Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_16

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

SS11 Effiziente Algorithmen 5. Kapitel: Dynamische Programmierung

SS11 Effiziente Algorithmen 5. Kapitel: Dynamische Programmierung SS11 Effiziente Algorithmen 5. Kapitel: Dynamische Programmierung Martin Dietzfelbinger Juni/Juli 2011 FG KTuEA, TU Ilmenau Effiziente Algorithmen SS11 Kapitel 5 Kapitel 5: Dynamische Programmierung Typische

Mehr

Isomorphie von Bäumen

Isomorphie von Bäumen Isomorphie von Bäumen Alexandra Weinberger 23. Dezember 2011 Inhaltsverzeichnis 1 Einige Grundlagen und Definitionen 2 1.1 Bäume................................. 3 1.2 Isomorphie..............................

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

1.Aufgabe: Minimal aufspannender Baum

1.Aufgabe: Minimal aufspannender Baum 1.Aufgabe: Minimal aufspannender Baum 11+4+8 Punkte v 1 v 2 1 3 4 9 v 3 v 4 v 5 v 7 7 4 3 5 8 1 4 v 7 v 8 v 9 3 2 7 v 10 Abbildung 1: Der Graph G mit Kantengewichten (a) Bestimme mit Hilfe des Algorithmus

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

10. Übungsblatt zu Algorithmen I im SoSe 2016

10. Übungsblatt zu Algorithmen I im SoSe 2016 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. r. ennis ofheinz Lukas arth, Lisa Kohl 0. Übungsblatt zu lgorithmen I im SoSe 0 https://crypto.iti.kit.edu/index.php?id=algo-sose

Mehr

2. Optimierungsprobleme 6

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

Mehr

Bäume und Wälder. Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann

Bäume und Wälder. Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann Bäume und Wälder Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann Ida Feldmann 2-Fach Bachelor Mathematik und Biologie 6. Fachsemester Inhaltsverzeichnis Einleitung 1 1. Bäume

Mehr

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

3. Musterlösung. Problem 1: Heapsort

3. Musterlösung. Problem 1: Heapsort Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 05/06 ITI Wagner 3. Musterlösung Problem : Heapsort ** 2 3 4 5 Algorithmus : Heapsort (A) Eingabe : Array A der Länge n Ausgabe : Aufsteigend

Mehr

Graphentheorie. Zusammenhang. Zusammenhang. Zusammenhang. Rainer Schrader. 13. November 2007

Graphentheorie. Zusammenhang. Zusammenhang. Zusammenhang. Rainer Schrader. 13. November 2007 Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 13. November 2007 1 / 84 2 / 84 Gliederung stest und Schnittkanten älder und Bäume minimal aufspannende Bäume Der Satz von Menger 2-zusammenhängende

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

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

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

Minimal spannende Bäume

Minimal spannende Bäume Minimal spannende Bäume Ronny Harbich 4. Mai 006 (geändert 19. August 006) Vorwort Ich danke Patrick Bahr und meinem Bruder Steffen Harbich für die Unterstützung bei dieser Arbeit. Sie haben sowohl zu

Mehr

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

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

Mehr

Exkurs: Graphtraversierung

Exkurs: Graphtraversierung Sanders: Informatik III November 28, 2006 1 Exkurs: Graphtraversierung Begriffe Graphrepräsentation Erreichbarkeit mittels Tiefensuche Kreise Suchen Sanders: Informatik III November 28, 2006 2 Gerichtete

Mehr

markiert, 0: unmarkiert.)

markiert, 0: unmarkiert.) 4.2 Fibonacci-Heaps Fibonacci-Heaps (F-Heaps) implementieren adressierbare Priority Queues (siehe Anfang von Kap. 4). Wie bei Binomialheaps besteht der Heap aus heapgeordneten Bäumen, jedoch mit gelockerten

Mehr

Bäume und Wälder. Definition 1

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

Mehr

Wie findet man den optimalen Weg zum Ziel? Klassische Probleme der Kombinatorischen Optimierung

Wie findet man den optimalen Weg zum Ziel? Klassische Probleme der Kombinatorischen Optimierung Wie findet man den optimalen Weg zum Ziel? Klassische Probleme der Kombinatorischen Optimierung Teilnehmer/innen: Markus Dahinten, Graf Münster Gymnasium Bayreuth Robert Fay, Herder Gymnasium Berlin Falko

Mehr

10. Übung Algorithmen I

10. Übung Algorithmen I INSTITUT FÜR THEORETISCHE INFORMATIK 1 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische www.kit.edu Informatik Bäume

Mehr

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

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

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

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

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

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

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

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (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 9

Mehr

1 Matroide. 1.1 Definitionen und Beispiele. Seminar zur ganzzahligen Optimierung Thema: Durchschnitt von Matroiden - Satz von Edmonds von Dany Sattler

1 Matroide. 1.1 Definitionen und Beispiele. Seminar zur ganzzahligen Optimierung Thema: Durchschnitt von Matroiden - Satz von Edmonds von Dany Sattler Seminar zur ganzzahligen Optimierung Thema: Durchschnitt von Matroiden - Satz von Edmonds von Dany Sattler 1 Matroide 1.1 Definitionen und Beispiele 1. Definition (Unabhängigkeitssystem): Ein Mengensystem

Mehr

Algorithmen und Datenstrukturen Tutorium Übungsaufgaben

Algorithmen und Datenstrukturen Tutorium Übungsaufgaben Algorithmen und Datenstrukturen Tutorium Übungsaufgaben AlgoDat - Übungsaufgaben 1 1 Landau-Notation Aufgabe Lösung 2 Rekurrenzen Aufgabe 3 Algorithmenentwurf und -analyse Aufgabe AlgoDat - Übungsaufgaben

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

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung

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

Mehr

8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.

8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. 8. A & D - Heapsort Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. Genauer werden wir immer wieder benötigte Operationen durch Datenstrukturen unterstützen.

Mehr

Lösungen zu Kapitel 5

Lösungen zu Kapitel 5 Lösungen zu Kapitel 5 Lösung zu Aufgabe : (a) Es gibt derartige Graphen: (b) Offensichtlich besitzen 0 der Graphen einen solchen Teilgraphen. Lösung zu Aufgabe : Es sei G = (V, E) zusammenhängend und V

Mehr

Erinnerung VL

Erinnerung VL Erinnerung VL 7.06.016 Bellman-Ford-Algorithmus (Brute-Force-Suche) Varianten des Kürzeste-Wege-Problems (azyklische Graphen) Ausblick: Routenplanung in Straÿennetzwerken Motivation Minimale Spannbäume

Mehr

durch Einfügen von Knoten konstruiert werden kann.

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

Mehr

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

Das Steinerbaumproblem

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

Mehr

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

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

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

Mehr

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

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung. Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 14. November 2007 1 / 22 2 / 22 Gliederung eulersche und semi-eulersche Graphen Charakterisierung eulerscher Graphen Berechnung eines

Mehr

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

Durchschnitt von Matroiden

Durchschnitt von Matroiden Durchschnitt von Matroiden Satz von Edmonds Dany Sattler 18. Januar 2007/ Seminar zur ganzzahligen Optimierung / Wallenfels Definition: Unabhängigkeitssystem Definition: Ein Mengensystem (S, J ) nennt

Mehr

KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN

KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN F. VALLENTIN, A. GUNDERT 1. Definitionen Notation 1.1. Ähnlich wie im vorangegangenen Kapitel zunächst etwas Notation. Wir beschäftigen uns jetzt mit ungerichteten

Mehr

Vorlesung Datenstrukturen

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

Mehr

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

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

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

Mehr

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

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

Mehr