κ(k) k K S Algorithmus zur Bestimmung eines spannenden Baumes mit minimalen Kosten (Kruskal, 1965).
|
|
- Elvira Brauer
- vor 7 Jahren
- Abrufe
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.
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.
Mehr5. 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
MehrAm 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
MehrGrundbegriffe 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
Mehr6. 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
Mehr3. 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
MehrAlgorithmen 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
MehrAm 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
MehrAlgorithmen & 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
MehrADS: 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,
MehrLö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
Mehr15. 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
MehrGrundbegriffe 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
MehrWie 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
MehrLernmodul 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
Mehr3. 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),
MehrSeien 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
MehrAlgorithmen 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 /
MehrAm 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
MehrTutoraufgabe 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
MehrAlgorithmische 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
Mehr4.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
MehrTeil 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
MehrAlgorithmische 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
MehrADS: 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,
MehrGraphentheorie. 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
MehrAlgorithmen 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
MehrKapitel 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.
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 )
MehrAlgorithmische 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,
MehrGraphdurchmusterung, 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:
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
MehrFerienkurs 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
MehrAlgorithmen 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
Mehr2. 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
MehrAlgorithmen 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
MehrADS: 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,
Mehr2.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:
Mehr12. 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
Mehr2. 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
MehrGraphenalgorithmen 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
Mehr3.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. 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,
Mehr10. Ü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
MehrADS: 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
MehrQuicksort 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.
MehrAlgorithmik 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
MehrFreie 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
MehrKü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
MehrAlgorithmische 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
Mehr6. Ü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
MehrInformatik 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
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
MehrEinheit 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)
MehrWS 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
MehrAlgebraische 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
Mehr16. 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
MehrGraphen 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:
MehrDiskrete 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
MehrGraphen. 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
Mehr9 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
MehrFortgeschrittene 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
MehrFortgeschrittene 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
MehrRelationen 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
MehrProgramm 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
MehrInformatik 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
MehrDatenstrukturen 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
MehrAlgorithmische 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
Mehr2. 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
MehrInformatik 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
MehrWiederholung 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:
MehrNachbarschaft, 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
MehrKapitel 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.
MehrDefinition 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
MehrEffiziente 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
MehrGruppen. 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
MehrAufgabe 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.
MehrBerechnung 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.
MehrRandomisierte 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
MehrAlgorithmen 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
MehrBreitensuche 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;
MehrStud.-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
MehrADS: 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
MehrBemerkung: 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
MehrVorlesung 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
MehrAlgebraische 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
MehrAlgo&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
MehrInformatik 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
MehrVorlesung 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!
MehrWenn 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
MehrVorlesung 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
Mehr12. 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
MehrMatrizen 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
MehrMinimal 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
MehrVorlesung 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:
MehrVorlesung 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
MehrRü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
Mehr8.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