Effiziente Algorithmen (SS2014)
|
|
- Krista Sachs
- vor 6 Jahren
- Abrufe
Transkript
1 Effiziente Algorithmen (SS204) Kapitel 2 Flüsse Walter Unger Lehrstuhl für Informatik :
2 (2:2) <> Walter Unger :56 SS204 Z x Inhalt I Dinitz mit Propagation Einleitung Algorithmus und Beispiel Weiteres Beispiel Laufzeit 2 Spezielle Flüsse Mit Mindestfluss Mit Alternativen 3 Mit Kostenfunktion Einleitung Idee Algorithmus Verbesserung der Laufzeit
3 Einleitung (2:) <> Walter Unger :56 SS204 Z g Situation Die Berechnung des Sperrflusses auf einem Niveaunetzwerk Ziel: Suche besseren Algorithmus zur Sperrflussberechnung. Idee: Fülle einen Knoten mit Fluss aus. D.h. suche den Knoten v, der am wenigsten Fluss f v weiterleiten kann. Propagiere dann diesen Fluss f v von v nach s und nach t. D.h. mache: Forward-Backward-Propagation. Im folgenden wird nur diese neue Sperrflussberechnung angegeben.
4 Einleitung (2:2) <> Walter Unger :56 SS204 Z g Definitionen Sei G f = (V, E f, s, t, c ) ein Niveaunetzwerk. N in(v) = {(w, v) (w, v) E f }. N out(v) = {(v, w) (v, w) E f }. pot(e) = rest f (e) ist das Potential einer Kante e. pot(v) = min{ e N in (v) pot(e), e N out (v) pot(e)} ist das Potential eines Knoten v.
5 Algorithmus und Beispiel (2:3) <> Walter Unger :56 SS204 Z g Idee (Forward Propagation) Sei G f = (V, E f, s, t, c ) ein Niveaunetzwerk. 2 Bestimme v V mit: pot(v) > 0 und w V : pot(v) pot(w). 3 Lege auf v einen Überschuss von pot(v), d.h. Setze U(v) = pot(v). 4 Setze U(w) = 0 für alle Knoten w V \ {v}. 5 Solange es einen Knoten v gibt mit U(v ) > 0, verschiebe den Überfluss auf die Nachfolger aus N out(v ). 6 Verwende, um gute Laufzeit zu erreichen, dazu eine Schlange.
6 Algorithmus und Beispiel (2:4) <> Walter Unger :56 SS204 Z s Algorithmus (Forward Propagation) Sei G f = (V, E f, s, t, c ) ein Niveaunetzwerk. 2 Bestimme v V mit: pot(v) > 0 und w V : pot(v) pot(w). 3 Setze U(v) = pot(v) und w V \ {v} setze U(w) = 0. 4 Enqueue(v, Q). 5 Solange Q nicht leer ist, mache: v = Dequeue(Q). 2 Solange U(v) > 0 mache: Für jedes e = (v, w) V out(v): 2 f (e) = min{pot(e), U(v)} 3 U(v) = U(v) f (e) 4 U(w) = U(w) + f (e) 5 Falls w t und U(w) = f (e), mache Enqueue(w, Q).
7 Algorithmus und Beispiel (2:5) <> Walter Unger :56 SS204 Z g kleines Beispiel (Dinitz) 5 a b c s d e f t 3 5 g h i
8 Algorithmus und Beispiel (2:6) <> Walter Unger :56 SS204 Z g kleines Beispiel (Niveaunetzwerk a) a 5 b c 5 5 s 5 d e 5 f 5 t g h i
9 Algorithmus und Beispiel (2:7) <> Walter Unger :56 SS204 Z s Iterierte Propagation Sei G f = (V, E f, s, t, c ) ein Niveaunetzwerk. 2 Solange kein Sperrfluss berechnet ist, wiederhole: Führe eine Propagationsphase aus. 2 Solange es saturierte Kanten und Knoten gibt, entferne diese. Lemma (Anzahl der Iterationen) Nach spätestens n Propagationsphasen ist in dem Niveaunetzwerk ein Sperrfluss bestimmt. Beweis: In jeder Iteration wird mindestens ein Knoten saturiert.
10 Algorithmus und Beispiel (2:8) <> Walter Unger :56 SS204 Z s kleines Beispiel (Niveaunetzwerk b) a 5 b c 5 5 s 5 d e 5 f 5 t g 3 3 h 3 5 i
11 Algorithmus und Beispiel (2:9) <> Walter Unger :56 SS204 Z s kleines Beispiel (Niveaunetzwerk c) a 5 b c 5 5 s 5 d e 5 f 5 t g 3 3 h 3 5 i
12 Algorithmus und Beispiel (2:0) <> Walter Unger :56 SS204 Z s kleines Beispiel (Niveaunetzwerk d) a 5 b c 5 5 s d 4 3 e f t g 3 3 h 3 5 i
13 Algorithmus und Beispiel (2:) <> Walter Unger :56 SS204 Z s kleines Beispiel (Niveaunetzwerk e) a 5 b c 5 5 s 5 5 d 4 e 4 5 f 4 5 t g 3 3 h 3 5 i
14 Algorithmus und Beispiel (2:2) <> Walter Unger :56 SS204 Z s kleines Beispiel (Niveaunetzwerk f) a 5 b c 5 5 s 5 5 d 4 e 4 5 f 5 5 t g 3 3 h 3 5 i
15 Algorithmus und Beispiel (2:3) <> Walter Unger :56 SS204 Z s kleines Beispiel (Niveaunetzwerk g) a b 4 3 c s 5 5 d 4 e 4 5 f 5 5 t g 3 3 h 3 5 i
16 Weiteres Beispiel (2:4) <> Walter Unger :56 SS204 Z s schönes Beispiel (Dinitz) s a b c e f g h k l m t d i 8 n
17 Weiteres Beispiel (2:5) <> Walter Unger :56 SS204 Z s schönes Beispiel (Niveaunetzwerk a) a e 6 k 8 5 b 6 f 2 3 l s 7 c 5 g h 5 m 6 t d i 8 n
18 Weiteres Beispiel (2:6) <> Walter Unger :56 SS204 Z s schönes Beispiel (Niveaunetzwerk b) a e 6 k 8 5 b 6 f 2 3 l s g 5 t 7 c 5 h m 6 d i 8 n
19 Weiteres Beispiel (2:7) <> Walter Unger :56 SS204 Z s schönes Beispiel (Niveaunetzwerk c) a 3 2 e 6 k s b 6 f g l 2 2 t 7 c 5 h m 6 d i 8 n
20 Weiteres Beispiel (2:8) <> Walter Unger :56 SS204 Z s schönes Beispiel (Niveaunetzwerk d) a 3 e 6 k s b f g l 4 2 t 7 c 5 h m 6 d i 8 n
21 Weiteres Beispiel (2:9) <> Walter Unger :56 SS204 Z s schönes Beispiel (Niveaunetzwerk e) a 3 e 6 k s b c f g h l m t d i 8 n
22 Weiteres Beispiel (2:20) <> Walter Unger :56 SS204 Z s schönes Beispiel (Niveaunetzwerk f) a 3 e 6 k s b 5 6 f g l 4 3 t c 5 h m d 4 4 i n
23 Laufzeit (2:2) <> Walter Unger :56 SS204 Z s Beispiel zur Laufzeit Die gelben Kanten haben Kapazität b f j n s a e d i h m l t c g k
24 Laufzeit (2:22) <> Walter Unger :56 SS204 Z s Beispiel zur Laufzeit (2.Runde) Die gelben Kanten haben Kapazität b f j n s 5 5 a e d i h m l t c 3 3 g 2 2 k
25 Laufzeit (2:23) <> Walter Unger :56 SS204 Z s Forward-Propagation Lemma (Laufzeit einer Propagation) Eine Forward-Propagation kann in Zeit O(n + l) durchgeführt werden. Dabei ist l die Anzahl der neu saturierten Kanten. Beweis: Wegen der FIFO-Schlange Q werden die Niveaus nacheinander bearbeitet. Jeder Knoten wird höchstens einmal aus Q entnommen. Bei jedem Knoten werden von den betrachteten Kanten alle bis auf höchstens eine saturiert. Pro Knoten gibt es maximal eine Kante, die betrachtet, aber nicht saturiert wird. Damit: maximal n Knoten werden betrachtet. maximal l Kanten werden saturiert und nicht mehr betrachtet. maximal n Kanten werden betrachtet, aber nicht saturiert.
26 Laufzeit (2:24) <> Walter Unger :56 SS204 Z s Sperrflussberechnung Lemma (Laufzeit der Sperrflussberechnung) Ein Sperrfluss kann in Zeit O(m + n 2 ) berechnet werden. Beweis: Nach spätestens n Propagationsphasen ist in dem Niveaunetzwerk ein Sperrfluss bestimmt. Sei l i die Anzahl der saturierten Kanten in der i-ten Propagationsphase ( i n ). Laufzeit damit: n n O(n + l i) = O(n 2 + l i) = O(n 2 + m) i= i= Theorem (Laufzeit von Dinitz Algorithmus) Der Algorithmus von Dinitz hat Laufzeit O(n 3 ).
27 Mit Mindestfluss (2:25) <> Walter Unger :56 SS204 Z i Das Flussproblem mit Mindestfluss Definition (Flussproblem mit Mindestfluss) Eingabe: G = (V, E, s, t, c, c ) mit: Ausgabe: f : E R + 0 (V, E) ist ein gerichteter Graph (n = V, m = E ) s, t V mit s t c : E N + c : E N + mit: e : c (e) f (e) c(e) v V \ {s, t} : f ((a, v)) = f ((v, a)) (a,v) E (v,a) E Ziel: Bestimme, ob es so einen Fluss gibt. Falls ja, dann maximiere w(f ) = f ((s, v)). (s,v) E
28 Mit Mindestfluss (2:26) <> Walter Unger :56 SS204 Z i Lösbarkeit Es muss nicht immer eine Lösung geben. Hier ein einfaches Beispiel: 4 [2, 3] 4 [4, 6] s a t
29 Mit Mindestfluss (2:27) <> Walter Unger :56 SS204 Z i Idee b b s [u, o] t s u s o o u o y x u t t a a
30 Mit Mindestfluss (2:28) <> Walter Unger :56 SS204 Z i Verfahren Erzeuge aus G = (V, E, s, t, c, c ) einen neuen Graphen G = (V, E, s, t, c ). Füge neue Quelle s und neue Senke t hinzu. Ersetze jede Kante (v, w) durch einen Weg der Länge 3: für jede Kante (v, w) erzeuge zwei neue Knoten x, y und setze: c (v, x) = c(v, w) und c (y, w) = c(v, w). c (x, y) = c(v, w) c (v, w). c (s, y) = c (v, w) und c (x, t ) = c (v, w). s u s o o u o b y x a t u t Setze c (t, t ) = c (s, s) = e E c(e).
31 Mit Mindestfluss (2:29) <> Walter Unger :56 SS204 Z i Aussage Lemma Es gibt in G einen korrekten Fluss, der die Mindestflussbedingung erfüllt genau dann, wenn es in G einen maximalen Fluss gibt, der alle Kanten der Form (s, y) und (x, t ) saturiert. Beachte: x und y sind neu eingefügte Knoten, also nicht s oder t. Beweis: s u s o o u o b y x a t u t Zeige: = Zeige: =
32 Mit Mindestfluss (2:30) <> Walter Unger :56 SS204 Z i Beispiel (warum (s, y) und (x, t )) [2, 3] [4, 6] a b c s a x y b x 2 y 4 6 c t
33 Mit Mindestfluss (2:3) <> Walter Unger :56 SS204 Z i Zeige: = b b s [u, o] t s u s o o u o y x u t t a u f (a, b) o a f (s, y) = f (x, t ) = u f (a, x) = f (y, b) = f (a, b) f (x, y) = f (a, b) u
34 Mit Mindestfluss (2:32) <> Walter Unger :56 SS204 Z i Zeige: = Zeige: Wenn es in G einen maximalen Fluss gibt, der alle Kanten der Form (s, y) und (x, t ) saturiert, dann gibt es in G einen korrekten Fluss, der die Mindestflussbedingung erfüllt. Dann gilt: f (a, x) = f (y, b) für jede ursprüngliche Kante (a, b). Dann definiert f (a, b) = f (a, x) einen korrekten Fluss auf G. s u s o o u o b y x a t u t
35 Mit Mindestfluss (2:33) <> Walter Unger :56 SS204 Z i Algorithmus Sei f (resp. f ) der Fluss auf G (resp. G ). Sei weiter f der Fluss auf G ohne die untere Schranke c. Dann gilt, wenn es eine Lösung für G gibt: f = f, denn untere Schranken verringern den Fluss auf G nicht mehr. f = f + e E(G) c (e) Damit haben wir folgendes Verfahren: Bestimme aus G: G, G, f, f, f. 2 Bevorzuge auf G die Kanten der Form (s, y) und (x, t ). 3 Falls f < f + e E(G) c (e) gilt, so gibt es keine Lösung. 4 Ansonsten bestimme f aus f, d.h. f (a, b) = f (a, x).
36 Mit Alternativen (2:34) <> Walter Unger :56 SS204 Z n Das Flussproblem mit Alternativen Definition (Flussproblem) Eingabe: G = (V, E, s, t, c, c ) mit: Ausgabe: f : E R + 0 (V, E) ist ein gerichteter Graph (n = V, m = E ) s, t V mit s t c : E N + c : E N + mit: e : c (e) f (e) c(e) oder f (e) = 0. v V \ {s, t} : f ((a, v)) = f ((v, a)) (a,v) E (v,a) E Ziel: Bestimme, ob es so einen nicht trivialen Fluss gibt. Falls ja, dann maximiere w(f ) = f ((s, v)). (s,v) E
37 Mit Alternativen (2:35) <> Walter Unger :56 SS204 Z n Reduktion Theorem Zu einem gegeben Flussproblem G = (V, E, s, t, c, c ) ist es NP-vollständig zu bestimmen, ob es so einen nicht trivialen Fluss gibt. Beweis: Übung, b.z.w. Reduktion auf Exact-3-SAT.
38 Mit Alternativen (2:36) <> Walter Unger :56 SS204 Z n Exact-3-SAT Definition Eine Boolesche Formel F ist in Exact-3-KNF: F(x, x 2,..., x r ) = k i= ci (Klauseln) c i = (li li 2 li 3 ) { (Literale) l j xl oder i = für ein l : l r x l } i k i k und j 3 Eine Belegung ist eine Funktion W : {x, x 2,..., x r } {0, }. Theorem (Exakt-3-SAT) Es ist NP-vollständig, festzustellen, ob es für F aus Exact-3-KNF eine erfüllende Belegung gibt, bei der in jeder Klausel genau ein Literal true ist.
39 Mit Alternativen (2:37) <> Walter Unger :56 SS204 Z n Erste Variable x 0 [2, 2] s x 0 [2, 2] [2, 2] [2, 2] [2, 2] a 0 a a 2 a 3l [2, 2] [2, 2] b 0 b b 2 b 3l
40 Mit Alternativen (2:38) <> Walter Unger :56 SS204 Z n Zweite Variable x [2, 2] s x 0 [2, 2] [2, 2] [2, 2] [2, 2] a 0 a a 2 a l [2, 2] [2, 2] b 0 b b 2 b l [2, 2] [2, 2] x [2, 2] [2, 2] [2, 2] c 0 c [2, 2] d 0 d
41 Mit Alternativen (2:39) <> Walter Unger :56 SS204 Z n Erste zwei Klauseln k 0 und k [2, 2] [2, 2] a 0 a a 2 a 3 x l y l [2, 2] [2, 2] [2, 2] [2, 2] [2, 2] [2, 2] [2, 2] [2, 2] [2, 2] [2, 2] k 0 b 0 b k b 2 b 3 k 2 [2, 2] [2, 2] [2, 2] [2, 2] [2, 2] [2, 2] c 0 c c 2 c 3 [2, 2] [2, 2]
42 Mit Alternativen (2:40) <> Walter Unger :56 SS204 Z n Anpassung: Variable x l in Klausel k i s x l [2, 2] 2 [2, 2] [2, 2] a 0 [2, 2] a [2, 2] a 2 a l 2 2 [, ] 2 [2, 2] b 0 b b 2 b l 2 [, ] x [, ] 2 [2, 2] [, ] c 0 [, ] c y [, ] 2 [2, 2] 2 [2, 2] 2 2 [2, 2] 2 x l+ x n ki [2, 2] 2 [2, 2] [2, 2] d 0 2 d [2, 2] 2 [2, 2] k i+ t [2, 2] e 0 e
43 Mit Alternativen (2:4) <> Walter Unger :56 SS204 Z n Konstruktion Für jede Variable konstruiere einen Baustein, wie oben. Der obere Zweig entspricht der Variablen selber. Der untere Zweig entspricht der negierten Variablen. 2 Für jede Klausel konstruiere einen Baustein, wie oben. Der erste Zweig entspricht dem ersten Literal in der Klausel. Die weiteren Zweige dem zweiten und dem dritten Literal in der Klausel. 3 Hänge alle Bausteine für die Variablen und Klauseln hintereinander. 4 Für jedes Auftreten eines Literals in einer Klausel mache die obige Anpassung. 5 Falls es eine Belegung der Variablen gibt, die die Formel erfüllt, dann: geht ein Fluss von 2 durch jeweils den Zweig, der der Belegung der Variablen entspricht.
44 Einleitung (2:42) <> Walter Unger :56 SS204 Z g Motivation Benutzung der Kanten (Transportwege) im allgemeinen nicht umsonst. Daher sollten wir die Kosten minimieren. Kosten sind minimal, wenn der Fluss Null ist. Daher suchen wir: Kostenminimalen Fluss mit Wert W. Wichtig: G sollte keine Kreise mit negativen Kosten (Gewichtssumme) enthalten.
45 Einleitung (2:43) <> Walter Unger :56 SS204 Z g Das Flussproblem mit Kosten Definition (Min-Cost-Flow-Problem) Eingabe: G = (V, E, s, t, c, l), W mit: Ausgabe: f : E R + 0 (V, E) ist ein gerichteter Graph (n = V, m = E ) s, t V mit s t c : E N + l : E Z und W N mit: e : f (e) c(e). v V \ {s, t} : f ((a, v)) = f ((v, a)) (a,v) E (v,a) E Ziel: Bestimme Fluss f w(f ) = W und minimalen l(f ) = f (e) l(e). e E D.h. l(f ) = min{l(g) g ist Fluss mit w(g) = W }.
46 Einleitung (2:44) <> Walter Unger :56 SS204 Z g Beobachtungen Falls W =, so entspricht das dem kürzesten Wege Problem. Falls l(e) = 0 für alle e E, dann können die obigen Algorithmen leicht zur Lösung des Problems adaptiert werden: Falls erstmalig w(f ) W gilt, dann breche ab. 2 Sei p der Wert der letzten Erweiterung. 3 Ersetze den letzten Fluss durch eine Fluss mit dem Wert p (w(f ) W ). Alternativ kann auch wie folgt vorgegangen werden: Erzeuge neue Quelle s. 2 Füge Kante e = (s, s) mit c(e ) = W hinzu. 3 Damit wird der maximale Fluss durche W begrenzt.
47 Einleitung (2:46) <> Walter Unger :56 SS204 Z g Idee (am Beispiel) Kantenbeschriftung: Fluss MaxFluss:Kosten Aktuelle Kosten Bestimme erst einen Fluss (mit Wert W = 6). Der Fluss muss nicht kostenoptimal sein. Verbessere die Kosten. s 6 6; 3 8 a 5; ; 2 0 c 6; 5 5; 9 45 t b s 6 6; 3 8 a 5; 2 2 4; 8 5 6; c b 6; 4; 4 5 5; t
48 Einleitung (2:47) <> Walter Unger :56 SS204 Z g Beispiel (W = 5) 4 5; 3 2 5; 4 s a b 2; 6 2 3; 8 2 ; ; 4 5; 4 6 2; 8 2; 5; 9 2 5; 4 5 5; 3 5 c d t 2 2; 6
49 Idee (2:48) <> Walter Unger :56 SS204 Z g Idee Bestimme einen beliebigen Fluss f mit w(f ) = W. Verbessere schrittweise die Kosten des Flusses: Annahme: es gibt Fluss f mit l(f ) < l(f ) und w(f ) = w(f ). Dann gibt es einen Unterschied zwischen f und f. Betrachte diesen Unterschied. Das muss ein zyklischer Fluss sein, d.h. ein Fluss ohne Quelle und Senke. Für f und f gilt die Flusserhaltung. Und f out(s) = f out(s) = f in(t) = f in(t). Damit gilt: Falls f (a, b) f (a, b), dann gibt es c V \ {a, b} mit: f (a, c) f (a, c). Damit gibt es mindestens einen Kreis mit Fluss g über Kanten e mit f (e) f (e). Dieser zyklische Fluss besteht aus einer Summe von Kreisen. Einer dieser Kreise muss die Kosten für f verbessern. Idee: suche diese verbessernden Kreise.
50 Idee (2:49) <> Walter Unger :56 SS204 Z g Beispiel mit Kreisen (W = 5) 4 5; 3 2 5; 4 s a b 2; ; 4 6 2; 8 3; 8 2 ; ; 2; 5; 9 2 5; 4 5 5; 3 5 c d t 2 2; 6
51 Idee (2:50) <> Walter Unger :56 SS204 Z g Frage: Warum eine Suche nach Kreisen? Ein verbessernder Kreis entspricht zwei Wegen: Ein Weg, der gelöscht wird, Ein Weg, der hinzugefügt wird. Die Differenz der Wege ist der Kreis. Man könnte also auch nach Wegen suchen. Vorteil bei Kreisen: Gewinn entspricht direkt den Kosten des Kreises. Einfachere Algorithmen bei sich ändernden Kosten. Optimale Lösung bekannt. Anbieter verändert die Kosten einer Kante. Passe bisherige Lösung durch das Suchen von Kreisen an. Die folgenden Beweise werden dadurch einfacher.
52 Idee (2:5) <> Walter Unger :56 SS204 Z g Definitionen Gegeben G = (V, E, s, t, c, l) und Restnetzwerk G f = (V, E, s, t, c, l ). c (e) = c(e) für e E E c (a, b) = c(b, a) und l (a, b) = l(b, a) für (a, b) E \ E f ist eine Zirkulation, gdw.: v V : f in(v) = f out(v). Wert einer Zirkulation f über Schnitt (S, T ): f (S, T ) = f (v, w) f (w, v). (v,w) E,v S,w T (w,v) E,v S,w T w(f ) = f ({s}, V \ {s}). Lemma Es gilt: w(f ) = 0 und für jeden Schnitt (S, T ) gilt: f (S, T ) = 0. Beweis: Flusserhaltung und Induktion über Größe von S.
53 Idee (2:52) <> Walter Unger :56 SS204 Z i Zirkulation und Kostenminimalität Lemma Falls f nicht kostenminimal ist, dann gibt es einen Kreis C in G f C negative Kosten. und f hat auf Beweis: Sei f Fluss auf G mit l(f ) < l(f ). Damit unterscheiden sich f und f. Für alle e E setze f (e) = f (e) f (e). f ist dann zyklischer Fluss. f wird durch höchstens m 2m viele Kreisflüsse f i ( i m ) gebildet. Damit gilt: l(f ) = l(f ) l(f ) = i m l(f i ) Damit existiert j mit l(f j ) < 0.
54 Algorithmus (2:53) <> Walter Unger :56 SS204 Z i Algorithmus (Min-Cost-Flow) Theorem Ein Fluss f ist kostenminimal, wenn G f enthält. keinen Kreis mit negativen Kosten Eingabe: G = (V, E, s, t, c, l), W. 2 Bestimme Fluss f mit w(f ) = W. 3 Solange es in G f einen negativen Kreis C gibt: f = f + f (C). Es gilt: w(f + f (C)) = w(f ) + w(f (C)) = w(f ) = W. D.h. der Wert des Flusses bleibt gleich. Es gilt: l(f + f (C)) = l(f ) + l(f (C)) < l(f ). D.h. die Kosten verringern sich. Theorem Der obige Algorithmus bestimmt einen kostenminimalen Fluss.
55 Algorithmus (2:55) <> Walter Unger :56 SS204 Z i Beispiel zur Laufzeit (W = 00) Bei schlecht gewählten Kreisen kann die Laufzeit sehr lang werden. b 00; 00; s 00 00; ; 4 a 00 00; t
56 Algorithmus (2:56) <> Walter Unger :56 SS204 Z i Beispiel zur Laufzeit (W = 00) s 00; 00 00; ; 4 4 b a 00; 99 00; t
57 Algorithmus (2:57) <> Walter Unger :56 SS204 Z i Beispiel zur Laufzeit (W = 00) 00; b 00; s 99 00; ; 4 a 99 00; t
58 Algorithmus (2:59) <> Walter Unger :56 SS204 Z i Nochmal Beispiel zur Laufzeit (W = 00) Bei gut gewählten Kreisen kann die Laufzeit ggf. besser sein. b 00; 00; s 00; 8 00; 800 ; 4 a 00; 8 00; 800 t
59 Algorithmus (2:60) <> Walter Unger :56 SS204 Z i Nochmal Beispiel zur Laufzeit (W = 00) 00; b 00; s 00 00; ; 4 a 00 00; t
60 Verbesserung der Laufzeit (2:6) <> Walter Unger :56 SS204 Z i Laufzeit und Verbesserung selbiger Der bisherige Algorithmus hat in obiger Form eine pseudopolynomielle Laufzeit. Dies kann aber verbessert werden: Wähle kostengünstige Kreise. Wähle Kreise über kostengünstige Kanten. Also unabhängig von der Kreislänge. Dazu werden die Kreise gewählt, die die durchschnittlichen Kantenkosten minimieren. Setze: Setze weiter: µ(f ) = l(c). l(c) = l(c) C e C = l(e) C Falls C negative Kosten hat, so ist µ(c) positiv.
61 Verbesserung der Laufzeit (2:62) <> Walter Unger :56 SS204 Z i Mean-Algorithmus (Min-Cost-Flow) Eingabe: G = (V, E, s, t, c, l), W. 2 Bestimme Fluss f mit w(f ) = W. 3 Solange es in G f einen negativen Kreis C gibt, Wähle C mit l(c) minimal. Bestimme maximalen zyklischen Fluss f auf C. 2 f = f + f (C). l(c) = l(c) C = e C l(e) C µ(f ) = l(c) Es gilt: w(f + f (C)) = w(f ) + w(f (C)) = w(f ) = W. Es gilt: l(f + f (C)) = l(f ) + l(f (C)) < l(f ).
62 Verbesserung der Laufzeit (2:63) <> Walter Unger :56 SS204 Z i Überblick zum Beweis Teile Iterationen in Phasen auf. Bestimme die Anzahl der Phasen. Bestimme die Anzahl der Iterationen pro Phase. l(c) = l(c) C = e C l(e) C µ(f ) = l(c) x e x, x = /n Zeige dies unter Verwendung einer besonderen Annahme. Verändere l so, dass Annahme immer gilt und Algorithmus analog vorgeht. Bestimme dazu Potential der Knoten, und addiere dies zu den Kantenkosten. Bestimme Laufzeit für eine Iteration. Zeige, wie man einfach einen Min-Mean-Kreis C findet (Dynamisches Programmieren). Bestimme dazu vorab den Wert von C. Dann wird Suche nach C einfach (passe Kosten an).
63 Verbesserung der Laufzeit (2:64) <> Walter Unger :56 SS204 Z i Laufzeit (Aufteilung in Phasen) Sei f der Fluss zu Beginn der i-ten Phase. Die Phase i endet, falls ein Fluss g gefunden wird mit: µ(g) ( /n) µ(f ) oder µ(g) 0. Falls µ(g) 0 terminiert der Algorithmus. Sei µ 0 der Wert von µ zu Beginn der ersten Phase. Sei µ i der Wert von µ am Ende der i-ten Phase ( i T ). Damit gilt: µ i ( /n) µ i µi e. /n Weiter gilt: µ 0 L = l(e) e E Wegen der Ganzzahligkeit gilt: µ T /n. Es folgt: Und: T n ln(nl) +. T log e /n(nl) = ln(nl) ln(e /n ) = n ln(nl) l(c) = l(c) C = e C l(e) C µ(f ) = l(c) x e x, x = /n
64 Verbesserung der Laufzeit (2:65) <> Walter Unger :56 SS204 Z i Laufzeit (Iterationen pro Phase) Zeige im Folgenden: Vorgehen: l(c) = l(c) C = e C l(e) C µ(f ) = l(c) Die Phase (und der Algorithmus) terminiert nach spätestens m Iterationen, oder Die nächste Phase startet nach spätestens m Iterationen. D.h. war der initiale Fluss f zu Beginn der Phase, dann ist ein Fluss g nach spätestens m Iterationen erreicht mit: µ(g) ( /n) µ(f ). Zeige Behauptung unter der Annahme: e E(G f ) : l(e) µ(f ). Zeige Behauptung: Verändere dann l, so dass die Annahme immer gilt.
65 Verbesserung der Laufzeit (2:66) <> Walter Unger :56 SS204 Z i Laufzeit (Iterationen pro Phase) Typ Iteration: Kreis C enthält nur Kanten mit negativen Kosten. Typ 2 Iteration: Kreis C enthält mindestens eine Kante mit positiven Kosten. Bei jeder Typ Iteration wird mindestens eine Kante saturiert und entfernt. Alle dabei neu entstehenden Kanten haben positive Kosten (andere Richtung). Nach spätestens m konsekutiven Typ Iterationen terminiert das Verfahren. l(c) = l(c) C = e C l(e) C µ(f ) = l(c) e E(G f ) : l(e) µ(f ) Wenn also die Phase mehr als m Iterationen hat, folgt nach spätestens m Iterationen eine Typ 2 Iteration. Wir zeigen nun, dass dieser Fall unter der Annahme nicht auftritt.
66 Verbesserung der Laufzeit (2:67) <> Walter Unger :56 SS204 Z i Laufzeit mit Annahmen (Iterationen pro Phase) Sei g der Fluss vor der ersten Typ 2 Iteration. l(c) = l(c) C = e C l(e) C µ(f ) = l(c) e E(G f ) : l(e) µ(f ) Die Annahme gilt weiter (keine neuen Kanten mit negativen Kosten): e E(G g) : l(e) µ(f ) Sei C der Min-Mean-Kreis in G g und H die Kanten mit negativen Kosten in C. Damit gilt: µ(g) = e C Wegen H C folgt: l(e) C Damit: µ(g) ( /n) µ(f ). e H l(e) C H / C / C /n Widerspruch: sind schon am Ende der Phase. Also gibt es in der Phase keine Typ 2 Iterationen. H µ(f ) C Falls die Annahme gilt, so endet die Phase nach m Typ Iterationen.
67 Verbesserung der Laufzeit (2:68) <> Walter Unger :56 SS204 Z i Laufzeit (Erzwinge die Annahme) Wir sorgen dafür, dass die Annahme erfüllt werden kann: Wir verändern l geeignet. Verhalten des Algorithmus sollte unverändert sein. Sei p : V Z ein Potential für die Knoten. l(c) = l(c) C = e C l(e) C µ(f ) = l(c) Annahme: e E(G f ) : l(e) µ(f ) Setze für alle e = (v, w) E(G f ) setze: l (e) = l(e) + p(v) p(w). Für e = (w, v) gilt: l (e) = l(e) + p(w) p(v) l(e) + p(w) p(v) = l (e) Potentiale ändern die Kostensumme auf Kreisen C nicht: l(c) = l (C). Potentiale ändern damit auch nicht den Ablauf des Verfahrens. Wir zeigen nun, dass es Potentiale gibt, die die Annahme erzwingen.
68 Verbesserung der Laufzeit (2:69) <> Walter Unger :56 SS204 Z i Laufzeit (Erzwinge die Annahme durch Potential) Lemma (Existenz von p) l(c) = l(c) C = In G f = (V, E f ) gelte l(c) µ für jeden Kreis C. Dann gibt es p : V Z mit: l (e) = l(e) + p(w) p(v) µ für jede Kante e E f. Beweis: Für e E f setze: l µ(e) = l(e) + µ e C l(e), µ(f ) = l(c), Annahme: e E(G C f ) : l(e) µ(f ) Für v V bestimme Kantenzug P in G f von beliebigen Knoten w zu v mit minimalen Gewicht. Setze dann p(v) = l µ(p). Beachte: Das ist wohldefinert, denn aus l(c) µ folgt l µ(c) 0 für beliebigen Kreis C. Damit gilt für jede Kante e = (v, w) E f : p(w) p(v) + l µ(e). Es folgt: l (e) = l(e) + p(v) p(w) = l µ(e) + p(v) p(w) µ µ
69 Verbesserung der Laufzeit (2:70) <> Walter Unger :56 SS204 Z i Laufzeit pro Iteration Lemma (Karp, 978) Ein Min-Mean-Cycle kann in G f Beweis: l(c) = l(c) C = e C l(e), µ(f ) = l(c), e E(G C f ) : l(e) µ(f ) in Zeit O(nm) gefunden werden. Setze für v V und k {0,..., n}: d k (v) seien die Kosten des günstigsten Kantenzugs nach v mit genau k Kanten. Es gilt d 0(v) = 0 und d k+ (v) = min (d k (w) + l(e)). e=(w,v) E f Alle d k (v) Werte können durch dynamische Programmierung in Zeit O(nm) bestimmt werden.
70 Verbesserung der Laufzeit (2:7) <> Walter Unger :56 SS204 Z i Wert dem Min-Mean-Kreises Lemma Der Wert l(c) des Min-Mean-Kreises ist: ( ) n dn(v) d j(v) α = min max v V j=0 n j Beweis: Sei C ein Min-Mean-Kreis. l(c) = l(c) C = e C l(e), µ(f ) = l(c) C Wenn alle Kantenkosten um δ erhöht werden, bleibt C Min-Mean-Kreis. Der Wert von C erhöht sich auch um δ. Also können wir alle Kantenkosten um δ verschieben bis l(c) = 0 gilt. Zeige nun: α = 0 gilt damit auch.
71 Verbesserung der Laufzeit (2:72) <> Walter Unger :56 SS204 Z i Wert dem Min-Mean-Kreises (Zeige α 0) Sei v beliebig und P Kantenzug, der bei v endet und Kosten d n(v) hat. P muss Kreis C beinhalten. Sei P der verbleibende Kantenzug mit j Kanten ohne C. Dann hat C n j Kanten. Wegen l(c) 0 gilt: l(c) = l(c) C α = min v V max n j=0 d n(v) = l(p) = l(c) + l(p ) l(p ) d j(v). Für jeden Knoten v gibt es j {,..., n } mit d n(v) d j(v). Damit α 0. Im Folgenden zeigen wir nun noch α 0. ( e C l(e) C µ(f ) = l(c) = dn(v) d j (v) n j )
72 Verbesserung der Laufzeit (2:73) <> Walter Unger :56 SS204 Z i Wert dem Min-Mean-Kreises (Zeige α 0) Zeige: Es gibt Knoten w mit: d n(w) d j(w) für alle j {0,..., n } Sei v Knoten des Min-Mean-Kreises C. Sei P kürzester Kantenzug, der bei v endet. O.B.d.A. enthält P keinen Kreis. Sei p < n die Anzahl der Kanten in P Sei w der Knoten, der auf C von v aus nach n p Kanten liegt. Diesen Kantenzug nennen wir Q. Sei R der Weg von w zu v auf C mit r Kanten. Sei j {0,..., n } und S ein Kantenzug minimaler Länge aus j Kanten, der an w endet. l(c) = l(c) C = e C l(e) C s µ(f ) = l(c) α = min v V max n j=0 s q 2 q p ( w v p dn(v) d j (v) n j r r 2 )
73 Verbesserung der Laufzeit (2:74) <> Walter Unger :56 SS204 Z i Wert dem Min-Mean-Kreises (Zeige α 0) Dann gilt: d n(w) l(p) + l(q) = d p(v) + l(q). l(c) = l(c) C = e C l(e) C s µ(f ) = l(c) α = min v V max n j=0 s ( dn(v) d j (v) n j ) und d p(v) d j+r (v) d j(w) + l(r). q 2 w r es folgt: d n(w) d j(w) + l(r) + l(q). Der Kantenzug Q R hat Kosten 0 (wegen l(c) = 0). q v r 2 Damit gilt: d n(w) d j(w). p p
74 Verbesserung der Laufzeit (2:75) <> Walter Unger :56 SS204 Z i Gesamtverfahren Berechne die d k (v) Werte und bestimme α. 2 Addiere zu allen Kantenkosten um α. Damit ist der Wert des Min-Mean-Kreises 0. 3 Transformiere die Kantenkosten um den Wert α wie in Lemma Existenz von p beschrieben. Die Potentiale ergeben sich aus den Werten d k (v). Alle Kantenkosten sind nun nicht negativ. Die Kanten des Min-Mean-Cycle haben Wert 0. 4 Lösche alle Kanten mit Wert größer 0. 5 Suche mit Tiefensuche Kreis in den verbleibenden Kanten.
75 Verbesserung der Laufzeit (2:76) <> Walter Unger :56 SS204 Z i Gesamtlaufzeit Theorem Der Mean-Cycle-Algorithmus hat eine Laufzeit von O(m 2 n 2 log(nl)). Beweis, siehe obige Überlegungen: n log(nl) + Phasen (L Maximum der absoluten Kantenkosten). m Iterationen pro Phase. O(nm) Laufzeit pro Phase. Theorem Der Mean-Cycle-Algorithmus hat eine Laufzeit von O(m 3 n 2 log n).
76 Verbesserung der Laufzeit (2:77) <> Walter Unger :56 SS204 Z i Literatur Ahuja, Magnanti, Orlin: Network Flows: Theory, Algorihms, and Applications, Prentice Hall, 993. Cormen, Leiserson, Rives: Introduction to Algorithms, First Edition, MIT Press, 990. Cormen, Leiserson, Rives: Introduction to Algorithms, Second Edition, MIT Press, 200. Ottmann, Widmayer: Algorithmen und Datenstrukturen. BI-Wiss.-Verl. 990.
77 Verbesserung der Laufzeit (2:78) <> Walter Unger :56 SS204 Z x Fragen(Flüsse) Was ist die Laufzeit der Ford-Fulkerson Methode? Wann hat die Ford-Fulkerson Methode die maximale Laufzeit? Warum liefert die Ford-Fulkerson Methode den maximalen Fluss? Was ist die Laufzeit der Ford-Fulkerson Methode mit Breitensuche? Wie ist die Idee des Min-Cut-Max-Flow Theorems? Wie wird der Schnitt zu dem maximalen Fluss gefunden? Was ist die Idee des Algorithmus von Dinitz? Wie funktioniert die Forward-Propagation? Wie ist die Laufzeit vom Algorithmus von Dinitz? Wie ist die Begründung zur Laufzeit vom Algorithmus von Dinitz?
78 Verbesserung der Laufzeit (2:79) <> Walter Unger :56 SS204 Z x Fragen(Flüsse) Wie bestimmt man Flüsse mit einem Mindestfluss auf den Kanten? Wie bestimmt man Flüsse mit einem Mindestfluss auf den Kanten, wo aber auch ein leerer Fluss erlaubt ist? Wie ist die Idee der Algorithmen zu kostenminimalen Flüssen? Was ist die Laufzeit der Algorithmen zu kostenminimalen Flüssen? Gebe die Idee zum Beweis der Laufzeit der Algorithmen zu kostenminimalen Flüssen?
79 Verbesserung der Laufzeit (2:80) <> Walter Unger :56 SS204 Z x Legende n : Nicht relevant g : Grundlagen, die implizit genutzt werden i : Idee des Beweises oder des Vorgehens s : Struktur des Beweises oder des Vorgehens w : Vollständiges Wissen
Algorithmentheorie. 13 - Maximale Flüsse
Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk
MehrLiteratur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)
Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,
MehrEffiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume
Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen
MehrDas Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
MehrSteinerbäume. Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering
Steinerbäume Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering Verfasser Flamur Kastrati Betreuer Prof. Dr. habil. Thomas
MehrAlgorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen WS 08/09 Friedhelm Meyer auf der Heide Vorlesung 8, 4.11.08 Friedhelm Meyer auf der Heide 1 Organisatorisches Am Dienstag, 11.11., fällt die
Mehr4 Greedy-Algorithmen (gierige Algorithmen)
Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine
MehrKlausur für Studiengänge INF und IST
Familienname: Matrikelnummer: Studiengang: (bitte ankreuzen) INF IST MED Vorname: Email-Adresse: Immatrikulationsjahr: Klausur für Studiengänge INF und IST sowie Leistungsschein für Studiengang Medieninformatik
MehrErfüllbarkeit und Allgemeingültigkeit
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik Erfüllbarkeit 44 Erfüllbarkeit und Allgemeingültigkeit Def.: eine Formel ϕ heißt erfüllbar, wennesein I gibt, so dass I = ϕ
MehrAlgorithmen II Vorlesung am 15.11.2012
Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales
Mehr8 Diskrete Optimierung
8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von
MehrEntscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?
Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum
MehrMaximaler Fluß und minimaler Schnitt. Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de
Maximaler Fluß und minimaler Schnitt Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de Maximaler Fluß und minimaler Schnitt Wasist das? Maximaler Fluss Minimaler Schnitt Warumtut man das? Logistische
Mehr3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel
3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36
Mehr5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)
5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Traversierung Durchlaufen eines Graphen, bei
MehrLineare Programmierung
Lineare Programmierung WS 2003/04 Rolle der Linearen Programmierung für das TSP 1954: Dantzig, Fulkerson & Johnson lösen das TSP für 49 US-Städte (ca. 6.2 10 60 mögliche Touren) 1998: 13.509 Städte in
MehrS=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J
Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung
MehrBranch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir
Effiziente Algorithmen Lösen NP-vollständiger Probleme 289 Branch-and-Bound Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir 1.
MehrSeminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn
Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn Ein 5.55-Approximationsalgorithmus für das VPND-Problem Lars Schäfers Inhalt Einführung:
MehrFully dynamic algorithms for the single source shortest path problem.
Fully dynamic algorithms for the single source shortest path problem. Michael Baur Wintersemester 2001/2002 Zusammenfassung Im folgenden Paper werde ich Algorithmen für das dynamische Kürzeste-Wege-Problem
MehrApproximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling
Approximationsalgorithmen: Klassiker I Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling VO Approximationsalgorithmen WiSe 2011/12 Markus Chimani
MehrDie k kürzesten Wege in gerichteten Graphen
Die k kürzesten Wege in gerichteten Graphen Marc Benkert Wintersemester 001/00 1 Einführung 1.1 Problemstellung In einem gerichteten, gewichteten Graphen G = (V, E) sollen die k kürzesten Wege zu zwei
MehrKürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik
Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus
MehrDie Verbindung von Linearer Programmierung und Graphentheorie
Die Verbindung von Linearer Programmierung und Graphentheorie Definition 5.9. Ein kombinatorisches Optimierungsproblem entspricht einem LP, bei dem statt der Vorzeichenbedingungen x i 0 Bedingungen der
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
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
MehrNP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984)
NP-Vollständigkeit Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) 0 Übersicht: Einleitung Einteilung in Klassen Die Klassen P und NP
Mehr9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83
9.. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 Die Grundfrage bei der Anwendung des Satzes über implizite Funktionen betrifft immer die folgende Situation: Wir haben eine Funktion f : V W und eine Stelle x
MehrGraphen: Datenstrukturen und Algorithmen
Graphen: Datenstrukturen und Algorithmen Ein Graph G = (V, E) wird durch die Knotenmenge V und die Kantenmenge E repräsentiert. G ist ungerichtet, wenn wir keinen Start- und Zielpunkt der Kanten auszeichnen.
MehrTeil 2 - Softwaretechnik. Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2. Übersicht. Softwaretechnik
Grundlagen der Programmierung 1 Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2 Softwaretechnik Prof. Dr. O. Drobnik Professur Architektur und Betrieb verteilter Systeme Institut für
MehrKombinatorische Optimierung
Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 1 Programm des
MehrTeil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29
1 29 Teil III: Routing - Inhalt I Literatur Compass & Face Routing Bounded & Adaptive Face Routing Nicht Ω(1) UDG E. Kranakis, H. Singh und Jorge Urrutia: Compass Routing on Geometric Networks. Canadian
MehrZeichnen von Graphen. graph drawing
Zeichnen von Graphen graph drawing WS 2006 / 2007 Gruppe: D_rot_Ala0607 Christian Becker 11042315 Eugen Plischke 11042351 Vadim Filippov 11042026 Gegeben sei ein Graph G = (V; E) Problemstellung V E =
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
MehrAnmerkungen zur Übergangsprüfung
DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung
MehrInformatik II Greedy-Algorithmen
7/7/06 lausthal Erinnerung: Dynamische Programmierung Informatik II reedy-algorithmen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Zusammenfassung der grundlegenden Idee: Optimale Sub-Struktur:
MehrWS 2013/14. Diskrete Strukturen
WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws1314
MehrDie Komplexitätsklassen P und NP
Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 3. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und
MehrBestimmung einer ersten
Kapitel 6 Bestimmung einer ersten zulässigen Basislösung Ein Problem, was man für die Durchführung der Simplexmethode lösen muss, ist die Bestimmung einer ersten zulässigen Basislösung. Wie gut das geht,
MehrKomplexitätstheorie Einführung und Überblick (Wiederholung)
Literatur C. Papadimitriou UC Berkeley Zum Komplexitätsbegriff Strukturelle Komplexität Average Case Analyse Effiziente Algorithmen Logische Komplexität Beschreibungssprachen: SQL Kolmogorov Komplexität
Mehr1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie
Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI
MehrErzeugung zufälliger Graphen und Bayes-Netze
Erzeugung zufälliger Graphen und Bayes-Netze Proseminar Algorithmen auf Graphen Georg Lukas, IF2000 2002-07-09 E-Mail: georg@op-co.de Folien: http://op-co.de/bayes/ Gliederung 1. Einleitung 2. einfache
MehrCodierungstheorie Rudolf Scharlau, SoSe 2006 9
Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets
MehrLernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.
6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente
MehrAlgorithmen & Datenstrukturen 1. Klausur
Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse
Mehr15 Optimales Kodieren
15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen
MehrMaximizing the Spread of Influence through a Social Network
1 / 26 Maximizing the Spread of Influence through a Social Network 19.06.2007 / Thomas Wener TU-Darmstadt Seminar aus Data und Web Mining bei Prof. Fürnkranz 2 / 26 Gliederung Einleitung 1 Einleitung 2
MehrKapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete
Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:
MehrTeil II. Nichtlineare Optimierung
Teil II Nichtlineare Optimierung 60 Kapitel 1 Einleitung In diesem Abschnitt wird die Optimierung von Funktionen min {f(x)} x Ω betrachtet, wobei Ω R n eine abgeschlossene Menge und f : Ω R eine gegebene
MehrWissensbasierte Systeme
WBS3 Slide 1 Wissensbasierte Systeme Sebastian Iwanowski FH Wedel Kap. 3: Algorithmische Grundlagen der KI WBS3 Slide 2 Suchstrategien Warum sind Suchstrategien so wichtig in Wissensbasierten Systemen?
MehrScheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.
Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Tardos Janick Martinez Esturo jmartine@techfak.uni-bielefeld.de xx.08.2007 Sommerakademie Görlitz Arbeitsgruppe 5 Gliederung
MehrEinführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)
Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 Organisatorisches Vorlesung: Übungsbetreuung: Übungen: Programmierübungen: Alexander Wolff (E29) Jan Haunert (E27) Markus Ankenbrand Titus Dose Alexej
MehrNichtlineare Optimierung ohne Nebenbedingungen
Kapitel 2 Nichtlineare Optimierung ohne Nebenbedingungen In diesem Abschnitt sollen im wesentlichen Verfahren zur Bestimmung des Minimums von nichtglatten Funktionen in einer Variablen im Detail vorgestellt
MehrApproximationsalgorithmen
Makespan-Scheduling Kapitel 4: Approximationsalgorithmen (dritter Teil) (weitere Beispiele und Illustrationen an der Tafel) Hilfreiche Literatur: Vazarani: Approximation Algorithms, Springer Verlag, 2001.
MehrAlgorithmen und Datenstrukturen (WS 2007/08) 63
Kapitel 6 Graphen Beziehungen zwischen Objekten werden sehr oft durch binäre Relationen modelliert. Wir beschäftigen uns in diesem Kapitel mit speziellen binären Relationen, die nicht nur nur besonders
MehrGuten Morgen und Willkommen zur Saalübung!
Guten Morgen und Willkommen zur Saalübung! 1 Wie gewinnt man ein Spiel? Was ist ein Spiel? 2 Verschiedene Spiele Schach, Tic-Tac-Toe, Go Memory Backgammon Poker Nim, Käsekästchen... 3 Einschränkungen Zwei
MehrBinäre lineare Optimierung mit K*BMDs p.1/42
Binäre lineare Optimierung mit K*BMDs Ralf Wimmer wimmer@informatik.uni-freiburg.de Institut für Informatik Albert-Ludwigs-Universität Freiburg Binäre lineare Optimierung mit K*BMDs p.1/42 Grundlagen Binäre
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.
MehrDas P versus N P - Problem
Das P versus N P - Problem Dr. Michael Huber Habilitationsvortrag eines der sieben Milleniumsprobleme des Clay Mathematics Institute A gift to Mathematics from Computer Science (Steve Smale) Überblick
MehrGliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten
Gliederung Zusammenhang von Graphen Stark Zusammenhängend K-fach Zusammenhängend Brücken Definition Algorithmus zum Finden von Brücken Anwendung Zusammenhangskomponente Definition Wichtige Aussagen und
MehrAlles zu seiner Zeit Projektplanung heute
Alles zu seiner Zeit Projektplanung heute Nicole Megow Matheon Überblick Projektplanung Planen mit Graphentheorie Maschinenscheduling Ein 1 Mio. $ Problem Schwere & leichte Probleme? Zeitplanungsprobleme?
MehrBeispiel. Bsp.: Betrachte Schlussweise in: (3) folgt aus (1) und (2), siehe z.b. Resolutionsregel. was ist mit folgender Schlußweise:
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 5.4 Prädikatenlogik mit Gleichheit Resolution 192 Beispiel Bsp.: Betrachte Schlussweise in: 1 Wenn es regnet, dann wird die Straße nass. R N
MehrDas Dilemma des Einbrechers Wer die Wahl hat, hat die Qual!
Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual! 0kg 4000 Euro Luster 5,5 kg, 430.- Laptop 2,0 kg, 000.- Schatulle 3,2 kg, 800.- Uhr 3,5 kg, 70.- Schwert,5 kg, 850.- Bild 3,4 kg, 680.- Besteck
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
MehrAlgorithmische Methoden der Netzwerkanalyse
Algorithmische Methoden der Netzwerkanalyse Marco Gaertler 9. Dezember, 2008 1/ 15 Abstandszentralitäten 2/ 15 Distanzsummen auf Bäumen Lemma Sei T = (V, E) ein ungerichteter Baum und T s = (V S, E s )
MehrAlgorithmen und Datenstrukturen Suchbaum
Algorithmen und Datenstrukturen Suchbaum Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Datenstruktur zur Repräsentation dynamischer Mengen
MehrAlgorithmen und Datenstrukturen. Große Übung vom 29.10.09 Nils Schweer
Algorithmen und Datenstrukturen Große Übung vom 29.10.09 Nils Schweer Diese Folien Braucht man nicht abzuschreiben Stehen im Netz unter www.ibr.cs.tu-bs.de/courses/ws0910/aud/index.html Kleine Übungen
MehrUniversität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik. Seminar Entscheidungsverfahren für logische Theorien. Endliche Modelle.
Universität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik Seminar Entscheidungsverfahren für logische Theorien Tobias Hebel Koblenz, am 18.02.2005 Inhaltsverzeichnis 1 Einleitung... 3 2 Grundlagen...
MehrWortproblem für kontextfreie Grammatiken
Wortproblem für kontextfreie Grammatiken G kontextfreie Grammatik. w Σ w L(G)? Wortproblem ist primitiv rekursiv entscheidbar. (schlechte obere Schranke!) Kellerautomat der L(G) akzeptiert Ist dieser effizient?
MehrGrundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny
Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.
MehrEin Algorithmus für die
VGG 1 Ein Algorithmus für die Visualisierung gerichteter Graphen in der Ebene (2D) Seminar Graph Drawing SS 2004 bei Prof. Bischof (Lehrstuhl für Hochleistungsrechnen) Gliederung VGG 2 Einleitung Motivation
MehrUnterscheidung: Workflowsystem vs. Informationssystem
1. Vorwort 1.1. Gemeinsamkeiten Unterscheidung: Workflowsystem vs. Die Überschneidungsfläche zwischen Workflowsystem und ist die Domäne, also dass es darum geht, Varianten eines Dokuments schrittweise
MehrKompakte Graphmodelle handgezeichneter Bilder. Einbeziehung in Autentizierung und Bilderkennung
Kompakte Graphmodelle handgezeichneter Bilder Einbeziehung in Autentizierung und Bilderkennung Inhaltsverzeichnis 1 Einleitung Das graphische Model.1 Image Thinning................................. 3.
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 3. Endliche Automaten (V) 21.05.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Determinierte endliche Automaten (DEAs) Indeterminierte
Mehr3 Quellencodierung. 3.1 Einleitung
Source coding is what Alice uses to save money on her telephone bills. It is usually used for data compression, in other words, to make messages shorter. John Gordon 3 Quellencodierung 3. Einleitung Im
MehrAlgorithms for Regression and Classification
Fakultät für Informatik Effiziente Algorithmen und Komplexitätstheorie Algorithms for Regression and Classification Robust Regression and Genetic Association Studies Robin Nunkesser Fakultät für Informatik
MehrVortrag. Suchverfahren der Künstlichen Intelligenz. Sven Schmidt (Technische Informatik)
Vortrag Suchverfahren der Künstlichen Intelligenz Sven Schmidt (Technische Informatik) Suchverfahren der Künstlichen Intelligenz Grundlagen Zustandsraumrepräsentation Generische Suche Bewertung von Suchstrategien
MehrAlgorithmen und Datenstrukturen Balancierte Suchbäume
Algorithmen und Datenstrukturen Balancierte Suchbäume Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Einführung Einfügen und Löschen Einfügen
MehrSeminararbeit für das SE Reine Mathematik- Graphentheorie
Seminararbeit für das SE Reine Mathematik- Graphentheorie Der binäre Rang, der symplektische Graph, die Spektralzerlegung und rationale Funktionen Vortrag am 24.01.2012 Heike Farkas 0410052 Inhaltsverzeichnis
MehrCodierung, Codes (variabler Länge)
Codierung, Codes (variabler Länge) A = {a, b, c,...} eine endliche Menge von Nachrichten (Quellalphabet) B = {0, 1} das Kanalalphabet Eine (binäre) Codierung ist eine injektive Abbildung Φ : A B +, falls
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen
MehrInformatik 11 Kapitel 2 - Rekursive Datenstrukturen
Fachschaft Informatik Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Michael Steinhuber König-Karlmann-Gymnasium Altötting 15. Januar 2016 Folie 1/77 Inhaltsverzeichnis I 1 Datenstruktur Schlange
MehrLange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege
Lange Nacht der Wissenschaft Ein Klassiker Die Mathematik der Kürzesten Wege 09.06.2007 schlechte@zib.de Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) http://www.zib.de/schlechte 2 Überblick
Mehr1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit
Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner Musterlösung Problem : Average-case-Laufzeit vs Worst-case-Laufzeit pt (a) Folgender Algorithmus löst das Problem der
MehrTheoretische Informatik SS 04 Übung 1
Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die
MehrLineare Programmierung. Beispiel: Wahlkampf. Beispiel: Wahlkampf. Mathematische Schreibweise. Lineares Programm. Datenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Einführung Standard- und Schlupfformen Simplex Algorithmus Matthias Zwicker Universität Bern Frühling 2009 2 Beispiel: Wahlkampf Ziel: mit möglichst wenig Werbung eine gewisse
MehrAVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl:
AVL-Bäume Analyse (Folie 85, Seite 39 im Skript) Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl: 0 falls n = 0 F n = 1 falls
MehrUndirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time
Universität Konstanz Mathematisch-naturwissenschaftliche Sektion Fachbereich Mathematik und Statistik Wintersemester 2001/02 Mikkel Thorup: Undirected Single-Source Shortest Paths with Positive Integer
MehrDatenstrukturen und Algorithmen SS07
Datenstrukturen und Algorithmen SS07 Datum: 27.6.2007 Michael Belfrage mbe@student.ethz.ch belfrage.net/eth Programm von Heute Online Algorithmen Update von Listen Move to Front (MTF) Transpose Approximationen
MehrPrimzahlzertifikat von Pratt
Primzahlzertifikat von Pratt Daniela Steidl TU München 17. 04. 2008 Primzahltests in der Informatik "Dass das Problem, die Primzahlen von den Zusammengesetzten zu unterscheiden und letztere in ihre Primfaktoren
MehrSuchen und Sortieren Sortieren. Heaps
Suchen und Heaps (Folie 245, Seite 63 im Skript) 3 7 21 10 17 31 49 28 14 35 24 42 38 Definition Ein Heap ist ein Binärbaum, der die Heapeigenschaft hat (Kinder sind größer als der Vater), bis auf die
Mehr3. Das Auslastungsspiel
Literatur: 3. Das Auslastungsspiel R. W. Rosenthal. A class of games possessing pure-strategy Nash equilibria. International Journal of Game Theory 2, pp. 65 67. 1973. D. S. Johnson, Chr. H. Papadimitriou,
MehrKompakte Graphmodelle handgezeichneter Bilder
Kompakte Graphmodelle handgezeichneter Bilder Einbeziehung in Authentizierung und Bilderkennung Inhaltsverzeichnis Seminar Mustererkennung WS 006/07 Autor: Stefan Lohs 1 Einleitung 1 Das graphische Modell.1
MehrPunktbeschriftung in Dynamischen Karten
Vorlesung Algorithmische Kartografie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann Martin Nöllenburg 28.05.2015 1 Übungen Nachtrag 1) Überlegen Sie sich, wie man den
MehrI. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.
I. Aussagenlogik 2.1 Syntax Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen. Sätze selbst sind entweder wahr oder falsch. Ansonsten
MehrVorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg 19.04.2011
Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 19.04.2011 Überlagern von Kartenebenen Beispiel: Gegeben zwei
MehrSchwierige Probleme in der Informatik Informationen für die Lehrperson
Schwierige Probleme in der Informatik Informationen für die Lehrperson Thema, Adressaten,... Das Thema dieses Moduls sind NP-vollständige Probleme, also schwierige Probleme in der Informatik. GraphBench
MehrApproximationsalgorithmen
Ausarbeitung zum Thema Approximationsalgorithmen im Rahmen des Fachseminars 24. Juli 2009 Robert Bahmann robert.bahmann@gmail.com FH Wiesbaden Erstellt von: Robert Bahmann Zuletzt berarbeitet von: Robert
Mehr