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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 5. Graphenprobleme Im folgenden bezeichnen G = (E, K) einen endlichen Graphen mit der Eckenmenge E und der Kantenmenge K. G kann ungerichtet, gerichtet, schlicht oder nicht schlicht sein. 5.1 Spannende Bäume mit minimalen Kosten Sei G = (E, K) zusammenhängend und ungerichtet Definition: Ein Graph G' = (E', K') heißt Teilgraph von G = (E, K) (beide schlicht) falls gilt: ungerichteter Fall: E' E, K' K P 2 (E') Ein spannender Baum ist ein Teilgraph S = (E S, K S ) von G (d.h. E S = E, K S K), und S ist ein Baum. Ein spannender Wald für G ist eine Menge von Teilgraphen (E 1, K 1 ),..., (E l, K l ) von G mit folgender Eigenschaft: i : K i K, (E i, K i ) ist Baum; i, j, i j: E i E j = ; E i = E i=1 l Sei κ : K 0 "Kostenfunktion" Die Kosten eines spannenden Baumes κ(s) := Σ k K S κ(k) Ziel: Bestimme einen spannenden Baum mit minimalen Kosten Lemma Für jeden spannenden Baum S = (E S, K S ) für G gilt: (a) e 1, e 2 E : der Weg zwischen e 1 und e 2 in S ist eindeutig gestimmt (b) wird zu S eine Kante aus K K S hinzugenommen, so entsteht genau ein Zyklus. Beweis: (a) ist trivial, denn wäre der Weg nicht eindeutig, dann enthielte S einen Zyklus (b) ist auch trivial, denn die Endpunkte der hinzugenommenen Kante sind bereits durch genau einen Weg verbunden. Spannende Bäume mit minimalen Kosten lassen sich schrittweise konstruieren: Lemma Sei κ : K 0 Kostenfunktion für G. Sei {(E 1, K 1 ), (E 2, K 2 ),..., (E l, K l )} ein spannender Wald für l G. Sei K' = K i. Sei k = (e, f) K' eine Kante mit minimalen Kosten, und e E i, f E j mit i j. i=1 Dann existiert ein spannender Baum S = (E, K S ) für G, für den gilt: K' {k} K S, und spannenden Bäume S' = (E, K S ') mit K' K S ' gilt: κ(s') κ(s). Beweis. WA: S' = (E, K S ') sei spannender Baum mit k K S ', und κ(s') < κ(s). Lemma 5.1.2(b) durch Hinzufügen der Kante k entsteht in S' ein Zyklus. Aus der Annahme über k und aus der Waldannahme folgt: Kante k' des Zyklus mit κ(k') κ(k). Sei der Graph S aus S' wie folgt konstruiert: k' wird hinzugenommen, k wird entfernt. Dann gilt: S ist spannender Baum (Lemma 5.1.2(b)!), und κ(s) κ(s') -- Widerspruch Algorithmus zur Bestimmung eines spannenden Baumes mit minimalen Kosten (Kruskal, 1965). Eingabe: G = (E, K) endlich, ungerichtet, κ : K 0 Ausgabe: Spannender Baum (E S,K S ) mit minimalen Kosten Verfahren: K S := ; E S := {{e} e E }; -- E S ist stets P(E) Sei Q eine Liste, in der die Elemente von K nach aufsteigenden Kosten eingetragen sind; while E S > 1 do Sei k = (e, f) die erste Kante in Q; -- k hat minimale Kosten Entferne k aus Q; Sei e W 1, f W 2, wobei W 1, W 2 E S ; 2001 K. Ecker Angewandte und praktische Informatik, Kap. 5: Graphenprobleme 5-1

2 if W 1 W 2 then E S := (E S {W 1 W 2 }) {W 1, W 2 }; K S := K S {k}; Satz Sei E = n und K = m; falls G zusammenhängend, bestimmt der Kruskal Algorithmus einen spannenden Baum mit minimalen Kosten für G. Die Zeitkomplexität ist O(m log m). Beweis. Die Korrektheit folgt unmittelbar aus Lemma Zeitkomplexität: Sortieren der Kanten nach ihren Kosten: O(m log m) While-Schleife wird maximal m mal durchlaufen. Gesamtzahl der Schritte: O(m log m) + mo(log n). Wegen m = O(n 2 ) folgt die Behauptung 5.2 Suchverfahren bei ungerichteten Graphen Hierbei geht es um ein systematisches Durchlaufen aller Knoten eines ungerichteten zusammenhängenden Graphen, ähnlich dem preorder oder postorder bei binären Bäumen. Bekannte Verfahren sind die Tiefensuche und die Breitensuche. Idee der "Tiefensuche": Wähle einen Startknoten x. Besuche eine Nachbarn y 1 von x; besuche Nachbarn y 2 von y 1, u.s.w. solange, bis alle Knoten besucht sind Algorithmus Tiefensuche Eingabe: Graph G = (E, K) ungerichtet, zusammenhäng Startknoten x; Ausgabe: Menge von Kanten K S, längs derer neue Knoten besucht werden; Verfahren: Zunächst wird jeder Knoten mit einer Marke "neu" markiert; besuchte Knoten werden mit "alt" markiert; die Prozedur SUCHE(v: Konten) bestimmt von v aus einen neuen noch nicht mit "alt" markierten Knoten w, und setzt dort die Suche rekursiv fort. procedure SUCHE(v: Konten); markiere v mit "alt"; für jeden Knoten w N(v) do -- N(v) = { w {v, w} K } (Menge der zu v adjazenten Knoten) if w ist mit "neu" markiert then K S := K S {{v, w}}; SUCHE(w); Hauptprogramm: for all e E do markiere e mit "neu"; while es existiert ein Knoten e E mit Marke "neu" do SUCHE(e); Bemerkungen: (1) Der Algorithmus gilt auch für nicht zusammenhängende Graphen. Jeder Durchlauf der while-schleife gilt einer Zusammenhangskomponente. (2) (E, K S ) ist ein spannender Wald für (E, K). (3) Die Zeitkomplexität ist O(n 2 ). (4) Die Lösung ist nicht eindeutig Breitensuche. Idee: Wähle einen Startknoten x. Besuche alle Nachbarn von x der Reihe nach. Danach gehe zum ersten Nachbarn von x und besuche dessen Nachbarn, dann zum zweiten, usw K. Ecker Angewandte und praktische Informatik, Kap. 5: Graphenprobleme 5-2

3 5.2.3 Verallgemeinerung: Der Algorithmus lässt sich auch auf gerichtete Graphen erweitern. N(v) ist dann durch die Menge der von v aus durch eine gerichtete Kante erreichbaren Knoten N'(v) = { w (v, w) K } zu ersetzen. 5.3 Kürzeste Wege in kantenbewerteten Graphen Sei G = (E, K) ein gerichteter endlicher Graph; Kostenfunktion κ : K 0. Kosten eines Weges := Summe der Kosten längs der Kanten des Weges. Problem des kürzesten Weges: Gegeben e, f E ; finde einen Weg von e nach f mit niedrigsten Kosten Allgemeinere Behandlung des Problems Definition abgeschlossener Semiring (S, +,, 0, 1) S... Menge von Elementen +,... binäre Operationen, für die gilt: (a) (b) (c) (S, +, 0) ist Monoid (Abgeschlossenheit unter +; + ist assoziativ, 0 ist die Identität) + ist kommutativ und idempotent (a + a = a) (S,, 1) ist Monoid; a S: 0 a = a 0 = 0 (0 ist "Annilihator") Distributivgesetz: (a + b) c = a c + b c; c (a + b) = c a + c b (d) Sei a 1, a 2,, a i, eine abzählbare Folge von Elementen aus S, dann existiert die Summe a 1 + a a i + und ist eindeutig z.b. (a 1 + a 2 ) + (a 4 + a 4 ) +... = a 1 + (a 2 + a 3 ) + (a 4 + a 5 ) +... (e) Distributivgesetz für über abzählbaren Summen: (Σa i ) (Σb i ) = Σ (a i b j ) Beispiele von abgeschlossenen Semiringen: 1. S 1 = ({0, 1}, +,, 0, 1) 2. S 2 = ( 0, min, +, +, 0) ( 0 ist die Menge der nichtnegativen reellen Zahlen, einschließlich dem Element + ) Bemerkung: + ist Eins-Element unter min, 0 ist Einselement unter + 3. Σ endliches Alphabet; S 3 = (F Σ,,,, {ε}) F Σ = P(Σ*);... Vereinigung;... Konkatenation Einheitselement für :, und für : {ε} Zur Eigenschaft (d): Sei A i F Σ (i = 1, 2,...); dann: x (A 1 A 2...) : i, x A i Einführung einer unären Operation * (Hülle) Sei (S, +,, 0, 1) abgeschlossener Semiring, a S Definition: a* := i=0 Σ a i [a 0 := 1; a i := a a i 1 ] Eigenschaften: aus (a) (b) und (d) folgt a* S aus (a), (b) und (c) folgt a* = 1 + a a* ferner: 0* = 1 Beispiele: S 1 : 0* = 1* = 1 S 2 : a* = 0 für alle a Zurück zu Graphen S 3 : A* = {ε} { x 1 x 2... x k k 1, x i A für 1 i k } für alle A F Σ Sei G = (E, K) endlich, gerichtet, und (S, +,, 0, 1) abg. Seminring; Sei σ : K S Bewertungsfunktion für die Kanten K. Ecker Angewandte und praktische Informatik, Kap. 5: Graphenprobleme 5-3

4 Defninition Wert eines Weges W = k 1 k 2...k l : σ(w) := Π σ(k l ) (Produkt im Semiring) Speziell: Weg der Länge 0 hat den Wert 1 (Einselement im Semiring) Kosten: κ : E E S; κ(e, f) := Summe der Werte aller Wege von e nach f (Semiring-Operation +) Bemerkung: κ(e, f) kann 0 sein, z.b. wenn kein Weg von e nach f existiert. Wenn G Zyklen enthält, kann es unendlich viele Wege von e nach f geben; jedoch κ(e, f) ist stets definiert (wegen Eigenschaft (e)). l i=1 Beispiel 1: G (mit σ im Semiring S 1 ): 0 v 1 w x 1 Wert des Weges wxw ist 1 0 = 0 Jeder Weg von w nach w der Länge > 0 hat Wert σ = 0 Der Weg von w nach w der Länge 0 hat Wert σ = 1 Kosten κ(w,w) = = 1 Beispiel 2: G (mit σ im Semiring S 2 ): a 1 7 b c 5 Wert des Weges ac: σ (ac) = 7 Wert des Weges von a über b nach c: σ (abc) = = 6 Kosten von a nach c: κ(a,c) = min{6, 7} = 6 Daher: hier wird der numerisch kostenminimale Weg bestimmt! Ziel: Bestimmung von κ(v, w) für alle v, w E für gegebenen Graphen G = (E, K) Der folgende Algorithmus benutzt die Semiring-Operationen, +, *. Annahme für die Bestimmung des Zeitaufwandes: alle Operationen brauchen gleich lang (1 Zeiteinheit) Algorithmus zur Bestimmung der Kosten zwischen Knotenpaaren Eingabe: gerichteter Graph G = (E, K), E = {e 1, e 2,..., e n }, Bewertungsfunktion σ : E E S im abgeschlossenen Semiring (S, +,, 0, 1). Sei σ (e i, e j ) = 0 für alle Knotenpaare, die nicht durch eine Kante verbunden sind. Ausgabe: Summe κ : E E S der Werte aller Wege zwischen Knotenpaaren Verfahren: Es werden Werte C k ij (1 i n, 1 j n, 0 k n) bestimmt. C k ij gibt die Summe der Werte aller Wege von e i nach e j an, die über Knoten aus e 1, e 2,..., e k laufen. e i, und e j müssen dabei nicht in {e 1, e 2,..., e k } liegen (z.b. trägt der Weg e 8 e 3 e 5 zu C 4 85, aber nicht zu C 2 85 bei). (1) for i := 1 to n do C 0 ii := 1 + σ (e i, e i ); (2) for all i, j 1..n and i j do C 0 ij := σ (e i, e j ); (3) for k := 1 to n do (4) for all i, j 1..n do C k ij := C k 1 k 1 ij + C ik (C k 1 kk )* C kj (5) for all i, j 1..n do κ (e i, e j ) := C ij n ; 2001 K. Ecker Angewandte und praktische Informatik, Kap. 5: Graphenprobleme 5-4 k 1 ; i k 1.. k 1 j 1.. k Satz Algorithmus berechnet κ(e i, e j ) für i, j 1..n in O(n 3 ) Operationen, +, *. Beweis. Zeile (4): wird n 3 mal durchlaufen; je Durchlauf 4 Operationen Schleifen in den Zeilen (1), (2), (5): n 2 Durchläufe. Daher: Zeitkomplexität ist O(n 3 ). 1.. k 1 Beweis der Korrektheit: Mittels Induktion über k wird gezeigt, dass C k ij die behauptete Eigenschaft besitzt. k = 0: C 0 ij erfüllt die Eigenschaft (Zeilen (1) und (2)) Induktionsschritt: folgt aus Zeile (4): Ein Weg von e i nach e j, der über Knoten aus {e 1, e 2,..., e k } läuft, hat

5 entweder keinen inneren Knoten mit Index > k 1 [Term C k 1 ij ], oder läuft zuerst von e i nach e k, dann 0-, 1- oder mehrmals nach e k, und schließlich von e k nach e j, wobei jeder Teilabschnitt nur über Knoten aus {e 1, e 2,..., e k 1 } läuft [Terme C k 1 ik, C k 1 kk, C k 1 kj ]. Nach Definition des Wertes eines Weges und der Kosten zwischen e i und e j erfolgt die Berechnung in (4) und (5) korrekt Anwendung des Algorithmus auf spezielle Fälle (a) Berechnung der reflexiv-transitiven Hülle eines Graphen Definition: Sei G = (E, K) gerichteter Graph; G* := (E, K*) "reflexiv-transitive Hülle von G" ist definiert durch: (e, f) K* : Weg von e nach f in G Bestimmung von G* nach Algorithmus mittels Berechnung im Semiring S 1 = ({0, 1}, +,, 0, 1): Addition, Multiplikation und * sind leicht auszuführen; insbesondere: 0* = 1* = 1. Zeile (4) kann daher ersetzt werden durch : C k ij := C k 1 k 1 k 1 ij + C ik C kj Als Bewertungsfunktion σ wird gewählt: σ (e, f) := 0 falls (e, f) K 1 falls (e, f) K Aus dem Algorithmus folgt: κ(e, f) = 1 gdw. ein Weg von e nach f mit der Länge 0 Beispiel: Graph e 1 e 2 e 3 mit σ (e, f): e 1 e 2 e 3 e e e e 1 e 2 e 3 e 1 e 2 e 3 C 0 ij : e e C 3 ij : e e e e (b) Bestimmung des kürzesten Weges in kantenbewerteten Graphen Hierbei wird S 2 = ( 0, min, +, +, 0) zugrunde gelegt. Die Kanten des Graphen werden mit einer Funktion σ : K 0 bewertet, und σ (e i, e j ) := (e i, e j ) K In Zeile (1) des Algorithmus ergibt sich: C 0 ii := min{0, σ (e i, e i )} = 0 für alle i {1,..., n}, und da a* = 0 für alle a 0, vereinfacht sich Zeile 4 des Algorithmus zu C k ij := min(c k 1 ij, C k 1 ik + C k 1 kj ) (hier ist 0 und "+" in S 2 zu verstehen). Beispiel: 8 e 2 Bewertung σ ( ist das 0-Element des Semirings S 2 ) 2 e e 1 e 2 e 3 e e 2 3 e 3 e K. Ecker Angewandte und praktische Informatik, Kap. 5: Graphenprobleme 5-5

6 C ij : C ij : C ij : 3 = C ij Zusammenhang zwischen Wegeproblemen und Matrizenoperationen Zunächst Matrizen: Sei (S, +,, 0, 1) abgeschlossener Semiring. Seien A, B, C Matrizen der Dimension n n mit Elementen aus S. A + B und Einige Bezeichnungen: M n A B sind wie üblich definiert... Menge aller n n Matrizen über S + n, n... Matrizenaddition, -multiplikation 1 0 n... Nullmatrix, 1 n... Einheitsmatrix Lemma (M n, + n, n, 0 n, 1 n ) ist abgeschlossener Semiring. Beweis: als Übung Bemerkung: in (M n, + n, n, 0 n, 1 n ) ist zu jedem A M n die Hülle A * definiert: 0 n * = 1 n, 1 n * = 1 n, und A * i = Σ A i=0 Zurück zu Graphen: = 1 n + n A n A * Voraussetzung aus : gerichteter Graph G = (E, K), E = {e 1, e 2,..., e n }, Bewertungsfunktion σ : E E S im abgeschlossenen Semiring (S, +,, 0, 1), und σ (e i, e j ) = 0 e i, e j E E K. Sei A G die n n Matrix mit (A G ) ij = σ (e i, e j ). Im folgenden wird ein Zusammenhang zwischen κ : E E S der Werte aller Wege zwischen Knotenpaaren und A G * entwickelt Lemma Es gilt: κ (e i, e j ) = (A G *) ij Andeutung des Beweises: Es gilt A G * = Σ k AG, A 0 G = 1 n, und A k G = A G A k 1 G ( i 1). k=0 Durch Induktion über k wird gezeigt, dass das (i,j)-te Element von A G k gleich ist der Summe der Kosten aller Wege der Länge k von e i nach e j. Daraus und aus der Definition von A G * folgt die Behauptung. Aus diesem Lemma und dem Algorithmus zur Berechnung der Kosten zwischen Knotenpaaren folgt: der Algorithmus bestimmt die Hülle einer Matrix in O(n 3 ) Einzeloperationen. Zum Vergleich: Die Matrizenmultiplikation nach dem "üblichen" Verfahren (Spalten mal Zeilen) benötigt ebenfalls O(n 3 ) Einzeloperationen. Es wird nun gezeigt: Matrizenmultiplikation und Bestimmung der Hülle einer Matrix sind berechnungsäquivalent in folgendem Sinne: Zu jedem Algorithmus zur Matrizenmultiplikation gibt es einen Algorithmus zur Hüllenberechnung dessen Zeitkomplexität von derselben Ordnung ist, und umgekehrt Satz Wenn die Hülle einer n n-matrix über einem abgeschlossenen Semiring in T(n) Schritten berechnet werden kann, wobei T(3n) 27T(n), dann existiert eine Konstante c, und das Produkt zweier n n- Matrizen kann in T M ct(n) Schritten berechnet werden. Beweis: Seien A, B zwei n n-matrizen; A B ist zu berechnen ( 0 steht für 0 n, 1 steht für 1 n ). Bilde die Matrix X := 0 A B Bestimmung der Hülle von X: X 0 = anstelle von + n, n wird auch kurz +, geschrieben, X 1 = X, X 2 = 0 0 A B , X 3 = X 4 =... = 0 3n 2001 K. Ecker Angewandte und praktische Informatik, Kap. 5: Graphenprobleme 5-6

7 X * = 1 A A B 0 1 B A B kann also aus X * abgelesen werden. Folglich ist T M T(3n) 27T(n) = O(T(n)). Bemerkung: Die Bedingung T(3n) 27T(n) ist keine Einschränkung, da T(n) O(n 3 ) gilt. Zu Satz gibt es eine Umkehrung: Satz Wenn das Produkt zweier n n-matrizen über einem abgeschlossenen Semiring in T M (n) Schritten berechnet werden kann, und T M (2n) 4T M (n) gilt, dann existiert eine Konstante c, und die Hülle einer beliebigen n n-matrix kann in T(n) ct M (n) Schritten berechnet werden. Beweis: Sei X eine n n-matrix; sei zunächst angenommen, dass n eine Potenz von 2 ist: n = 2 k. Zerteile X in 4 Teilmatrizen jeweils der Dimension n 2 n 2 : X = A B C D X stellt (als Adjazenzmatrix mit Kantenwerten anstelle von 0, 1) einen kantenbewerteten Graphen G = (E, K) mit E = n Elementen dar. G kann nun so zerlegt werden in E 1, E 2 (E 1 E 2 =, E 1 E 2 = E) und E 1 = E 2 = 2 k 1, dass gilt: A repräsentiert alle Kanten innerhalb von E 1, D alle Kanten innerhalb von E 2, B repräsentiert alle Kanten, die von einem Knoten in E 1 zu einem Knoten in E 2 laufen, und C umgekehrt:. Wir betrachten nun die Matrix X * : diese beschreibt alle Wege im Graphen G. Ein Weg von e 1 nach e 2 mit e 1, e 2 E 1 hat folgende Form: entweder wird E 1 nie verlassen oder: der Weg wechselt zwischen E 1 und E 2 endlich oft hin und her: er verläuft zuerst in E 1 bis zu einem Knoten w 1, er betritt E 2 in einem Knoten x 1 und verläuft dort bis zu einem Knoten y 1, er kommt zurück nach E 1 in einem Knoten z 1 und verläuft dort weiter, bis zu einem Knoten w 2, usw. Schließlich endet der Weg in E 1 im Knoten e 2. Kosten aller Wege dieser Art: (A + B D * C) * : D * y k... Kosten aller Wege innerhalb E 2 B D * e C 2... Kosten aller Wege w i x i... y i z i ( w i, z i E 1, x i, y i E 2 ) A + B D * C... alle Wege zwischen Knoten von E 1, die entweder nur eine einzelne Kante haben, oder direkt nach E 2 springen und irgendwann wieder nach E 1 zurückkommen. Jeder Weg zwischen Knoten aus E 1 kann daher als Folge von Wegen dargestellt werden, die durch A + B D * C beschrieben werden, also durch (A + B D * C) *. Sei E := (A + B D * C) *. In der Matrix befindet sich E im 1. Quadranten (links oben). Ähnlich werden die übrigen Quadranten bestimmt: X * E E B D = * E F D * C E D * +D * C E B D * =: G H Zur Abschätzung des Zeitaufwands wird schrittweise die Berechnung der Quadraten betrachtet: T 1 := D * T 2 := B T 1 T 3 := T 1 C A e 1 E 1 B C E 2 E 1 E 2 w 1 x 1 z 1 w 2... z k y 1 x k D E = (A + T 2 C) * F := F T 2 G := T 3 E H := T 1 + G T 2 Insgesamt werden zur Berechnung von X * benötigt: 2 Hüllengerechnungen (*-Operationen), 6 Matrizenprodukte und 2 Additionen von 2 k 1 2 k 1 Matrizen. Bei rekursiver Berechnung der Hülle von X ergibt sich daher die Rekursionsgleichung für den Zeitaufwand: 2001 K. Ecker Angewandte und praktische Informatik, Kap. 5: Graphenprobleme 5-7

8 T(1) = 1, T(2 k ) = 2T(2 k 1 ) + 6T M (2 k 1 2k 2 ) (5-1) Behauptung: es existiert eine Konstante c > 0, und T(2 k ) ct M (2 k ) für alle k. Induktion: k = 0: trivial, da c beliebig > 0 gewählt werden kann. Induktionsschritt: Sei c so, dass T(2 k 1 ) ct M (2 k 1 ). Zu zeigen ist: T(2 k ) ct M (2 k ). Aus der Voraussetzung T M (2n) 4T M (n) folgt T M (2 k 1 ) 2 2k 2 T(2 k ) (2c + 8) T M (2 k 1 ), (da T M (1) = 1). Aus (5-1) erhalten wir daher und mit der Voraussetzung T M (2n) 4T M (n) folgt T M (2 k 1 ) 1 4 T M(2 k ), also T(2 k ) ( 1 2 c + 2)T M(2 k ). Wenn c 4 gewählt wird, folgt T(2 k ) ct M (2 k ). Im Falle dass n keine Potenz von 2 ist, wird X in die kleinste Matrix eingebettet, deren Dimension eine Potenz X 0 von 2 ist:. Im ungünstigsten Fall wird die Dimension dadurch fast verdoppelt. Wahl einer neuen 0 1 Konstanten c' = 8c ergibt dann T(n) c't M (n).? ---- Fortsetzung Kapitel 5 folgt K. Ecker Angewandte und praktische Informatik, Kap. 5: Graphenprobleme 5-8

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

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

Am Dienstag, den 15. Dezember, ist Eulenfest. 1/60

Am Dienstag, den 15. Dezember, ist Eulenfest. 1/60 Am Dienstag, den 15. Dezember, ist Eulenfest. 1/60 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 16: Erste Algorithmen in Graphen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für

Mehr

6. Transitive Hülle. 6.1 Min-Plus-Matrix-Produkt und Min-Plus-Transitive Hülle Ring Z(+, ) Semiring N(+, )

6. Transitive Hülle. 6.1 Min-Plus-Matrix-Produkt und Min-Plus-Transitive Hülle Ring Z(+, ) Semiring N(+, ) 6. Transitive Hülle 6.1 Min-Plus-Matrix-Produkt und Min-Plus-Transitive Hülle Ring Z(+, ) Semiring N(+, ) Gruppe Halbgruppe Halbgruppe Halbgruppe Wir betrachten den (kommutativen) Semiring über R { } mit

Mehr

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

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48 Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009

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

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

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

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

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 24-6. Sitzung Marcus Georgi tutorium@marcusgeorgi.de 04.12.2009 1 Repräsentation von Graphen im Rechner Adjazenzlisten Adjazenzmatrizen Wegematrizen 2 Erreichbarkeitsrelationen

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

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

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

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

Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren. Beweis: 1. 2. Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren. Widerspruchsannahme: Es gibt zwei verschiedene Pfade zwischen u und v. Dann gibt es einen

Mehr

Algorithmen 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

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/45

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/45 Am Dienstag, den 16. Dezember, ist Eulenfest. 1/45 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009

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

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 7 und 8: Euler- und Hamilton-Graphen Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 17. April 2018 1/96 WIEDERHOLUNG Eulersche

Mehr

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

Teil I. Lineare Algebra I Vorlesung Sommersemester Olga Holtz. MA 378 Sprechstunde Fr und n.v.

Teil I. Lineare Algebra I Vorlesung Sommersemester Olga Holtz. MA 378 Sprechstunde Fr und n.v. Teil I Lineare Algebra I Vorlesung Sommersemester 2011 Olga Holtz MA 378 Sprechstunde Fr 14-16 und nv holtz@mathtu-berlinde Sadegh Jokar MA 373 Sprechstunde, Do 12-14 und nv jokar@mathtu-berlinde Kapitel

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 6 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 16. Mai 2018 [Letzte Aktualisierung: 18/05/2018,

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

Algorithmen II Vorlesung am

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

Mehr

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

\ 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

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 13: Flüsse und Zuordnungen Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 9. Juni 2017 DURCHSATZ D(e) ist die maximale Flussmenge,

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

Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist:

Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist: Svenja Hüning, Michael Kerber, Hannah Schreiber WS 2016/2017 Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist: Hinweise: Dieses Blatt präsentiert Beispiellösungen zu

Mehr

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

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

Mehr

Algorithmen und Datenstrukturen 2

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

Mehr

2. Repräsentationen von Graphen in Computern

2. Repräsentationen von Graphen in Computern 2. Repräsentationen von Graphen in Computern Kapitelinhalt 2. Repräsentationen von Graphen in Computern Matrizen- und Listendarstellung von Graphen Berechnung der Anzahl der verschiedenen Kantenzüge zwischen

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

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

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

12. Graphen. Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap ,Cormen et al, Kap.

12. Graphen. Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap ,Cormen et al, Kap. 254 12. Graphen Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap. 9.1-9.4,Cormen et al, Kap. 22 Königsberg 1736 255 Königsberg 1736 255 Königsberg 1736 255

Mehr

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

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

Mehr

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

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

Mehr

3.2 Generischer minimaler Spannbaum-Algorithmus

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

Mehr

(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

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

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

Quicksort ist ein Divide-and-Conquer-Verfahren.

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

Mehr

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

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

Mehr

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

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 Teil 1 Inhaltsverzeichnis 1 Kürzeste Wege 2 1.1 Voraussetzungen................................ 2 1.2

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 5: Suchalgorithmen Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 20. März 2018 1/91 WIEDERHOLUNG - BÄUME / bin etc home

Mehr

6. Übung zur Linearen Optimierung SS08

6. Übung zur Linearen Optimierung SS08 6 Übung zur Linearen Optimierung SS08 1 Sei G = (V, E) ein schlichter ungerichteter Graph mit n Ecken und m Kanten Für eine Ecke v V heißt die Zahl der Kanten (u, v) E Grad der Ecke (a) Ist die Anzahl

Mehr

Informatik II, SS 2016

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

Mehr

Ü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

Einheit 11 - Graphen

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

Mehr

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

Algebraische und arithmetische Algorithmen

Algebraische und arithmetische Algorithmen Kapitel 1 Algebraische und arithmetische Algorithmen 1.1 Das algebraische Berechnungsmodell Struktur: Körper (oder Ring) mit den Operationen +,,, (/) Eingabe: endliche Folge von Zahlen Ausgabe: endliche

Mehr

16. All Pairs Shortest Path (ASPS)

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

Mehr

Graphen Jiri Spale, Algorithmen und Datenstrukturen - Graphen 1

Graphen Jiri Spale, Algorithmen und Datenstrukturen - Graphen 1 Graphen 27 Jiri Spale, Algorithmen und Datenstrukturen - Graphen Motivation Einsatz: Berechnung von Entfernungen Auffinden von Zyklen in Beziehungen Ermittlung von Verbindungen Zeitmanagement Konzept:

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

Graphen. Definitionen

Graphen. Definitionen Graphen Graphen werden häufig als Modell für das Lösen eines Problems aus der Praxis verwendet, wie wir im Kapitel 1 gesehen haben. Der Schweizer Mathematiker Euler hat als erster Graphen verwendet, um

Mehr

9 Minimum Spanning Trees

9 Minimum Spanning Trees Im Folgenden wollen wir uns genauer mit dem Minimum Spanning Tree -Problem auseinandersetzen. 9.1 MST-Problem Gegeben ein ungerichteter Graph G = (V,E) und eine Gewichtsfunktion w w : E R Man berechne

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

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

Mehr

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

Relationen und DAGs, starker Zusammenhang

Relationen und DAGs, starker Zusammenhang Relationen und DAGs, starker Zusammenhang Anmerkung: Sei D = (V, E). Dann ist A V V eine Relation auf V. Sei andererseits R S S eine Relation auf S. Dann definiert D = (S, R) einen DAG. D.h. DAGs sind

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

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

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

Algorithmische Methoden zur Netzwerkanalyse

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

Mehr

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

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

Mehr

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

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

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

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

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

Effiziente Algorithmen I

Effiziente Algorithmen I 9. Präsenzaufgabenblatt, WiSe 2013/14 Übungstunden am 13.01. & 15.01.2014 Aufgabe Q Gegeben sei ein Fluss-Netzwerk mit Digraph D = (V, A), Knotenkapazitäten c(u, v) 0, Quelle s und Senke t. Kann sich der

Mehr

Gruppen. Kapitel Operationen Definiton Gruppe, symmetrische Gruppen. Gruppen und Untergruppen, Lernziele 1. Erzeugendensysteme,

Gruppen. Kapitel Operationen Definiton Gruppe, symmetrische Gruppen. Gruppen und Untergruppen, Lernziele 1. Erzeugendensysteme, Kapitel 1 Gruppen 1.1 Operationen Lernziele 1. Gruppen und Untergruppen, Erzeugendensysteme, Operationen und Bahnen 1.1.1 Definiton Gruppe, symmetrische Gruppen Definition 1.1. Sei G eine nicht leere Menge

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

Berechnung von Abständen

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

Mehr

Randomisierte Algorithmen

Randomisierte Algorithmen Randomisierte Algorithmen Randomisierte Algorithmen Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2018/2019 1 / 40 Überblick Überblick Grundlegendes zu Markov-Ketten

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen Wintersemester 2014/15 17. Vorlesung Graphen: Repräsentation und Durchlaufstrategien Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Vorlesungsumfrage Nutzen Sie

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

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Aufgabe 1. / 16 P Instruktionen: 1) In dieser Aufgabe sollen Sie nur die Ergebnisse angeben. Diese können Sie direkt bei den Aufgaben notieren. 2) Sofern

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

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

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

Algebraische und arithmetische Algorithmen

Algebraische und arithmetische Algorithmen Kapitel 1 Algebraische und arithmetische Algorithmen 1.1 Das algebraische Berechnungsmodell Struktur: Körper (oder Ring) mit den Operationen +,,, (/) Eingabe: endliche Folge von Zahlen Ausgabe: endliche

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 III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 18. Vorlesung 22.12.2006 1 Komplexitätstheorie - Zeitklassen Komplexitätsmaße Wiederholung: O,o,ω,Θ,Ω Laufzeitanalyse Die Komplexitätsklassen

Mehr

Vorlesung 2 KÜRZESTE WEGE

Vorlesung 2 KÜRZESTE WEGE Vorlesung 2 KÜRZESTE WEGE 34 Kürzeste Wege im Graphen Motivation! Heute:! Kürzeste Wege von einem Knoten (SSSP)! Kürzeste Wege zwischen allen Knotenpaaren (APSP)! Viele Anwendungen:! Navigationssysteme!

Mehr

Wenn wir zudem a ii = 1 für 1 i n setzen, dann gilt für A k (boolesches Produkt, A 0 = I) 0 falls es im Graphen keinen Pfad von v i nach v j,

Wenn wir zudem a ii = 1 für 1 i n setzen, dann gilt für A k (boolesches Produkt, A 0 = I) 0 falls es im Graphen keinen Pfad von v i nach v j, 6.2 Boolesche Matrixmultiplikation und Transitive Hülle Wir ersetzen nun im vorhergehenden Abschnitt die Distanzmatrix durch die (boolesche) Adjazenzmatrix und (min, +) durch (, ), d.h.: n C = A B; c ij

Mehr

Vorlesung 3: Graphenalgorithmen. Markus Püschel David Steurer Peter Widmayer. PDF download goo.gl/ym3spq

Vorlesung 3: Graphenalgorithmen. Markus Püschel David Steurer Peter Widmayer. PDF download goo.gl/ym3spq Vorlesung 3: Graphenalgorithmen Markus Püschel David Steurer Peter Widmayer PDF download goo.gl/ym3spq Algorithmen und Datenstrukturen, Herbstsemester 2017, ETH Zürich Gerichtete Graphen und Abhängigkeiten

Mehr

12. Graphen. Königsberg Zyklen. [Multi]Graph

12. Graphen. Königsberg Zyklen. [Multi]Graph Königsberg 76. Graphen, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap. 9. - 9.,Cormen et al, Kap. [Multi]Graph Zyklen C Kante Gibt es einen Rundweg durch die Stadt

Mehr

Matrizen spielen bei der Formulierung ökonometrischer Modelle eine zentrale Rolle: kompakte, stringente Darstellung der Modelle

Matrizen spielen bei der Formulierung ökonometrischer Modelle eine zentrale Rolle: kompakte, stringente Darstellung der Modelle 2. Matrixalgebra Warum Beschäftigung mit Matrixalgebra? Matrizen spielen bei der Formulierung ökonometrischer Modelle eine zentrale Rolle: kompakte, stringente Darstellung der Modelle bequeme mathematische

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

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

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

Rückblick: divide and conquer

Rückblick: divide and conquer Rückblick: divide and conquer pi = (xi,yi) } p å } ' }d(p,p) p ''=min(, ') F 0/0 p./95 weitere Algorithmentechniken Greedy-Algorithmen dynamische Programmierung Backtracking branch and bound Heuristiken

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