Effiziente Algorithmen (SS2014)

Größe: px
Ab Seite anzeigen:

Download "Effiziente Algorithmen (SS2014)"

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

Mehr

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Literatur. 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,

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

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

Mehr

Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen

Algorithmen 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

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Klausur für Studiengänge INF und IST

Klausur 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

Mehr

Erfüllbarkeit und Allgemeingültigkeit

Erfü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 = ϕ

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen 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

Mehr

8 Diskrete Optimierung

8 Diskrete Optimierung 8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

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

Mehr

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de Maximaler Fluß und minimaler Schnitt Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de Maximaler Fluß und minimaler Schnitt Wasist das? Maximaler Fluss Minimaler Schnitt Warumtut man das? Logistische

Mehr

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel 3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36

Mehr

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) 5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Traversierung Durchlaufen eines Graphen, bei

Mehr

Lineare Programmierung

Lineare 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

Mehr

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

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

Mehr

Branch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir

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

Mehr

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

Mehr

Fully dynamic algorithms for the single source shortest path problem.

Fully 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

Mehr

Approximationsalgorithmen: 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 Approximationsalgorithmen: Klassiker I Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling VO Approximationsalgorithmen WiSe 2011/12 Markus Chimani

Mehr

Die k kürzesten Wege in gerichteten Graphen

Die 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

Mehr

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

Mehr

Die Verbindung von Linearer Programmierung und Graphentheorie

Die 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

Mehr

16. All Pairs Shortest Path (ASPS)

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

Mehr

1 topologisches Sortieren

1 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

Mehr

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

Mehr

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

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

Mehr

Graphen: Datenstrukturen und Algorithmen

Graphen: Datenstrukturen und Algorithmen Graphen: Datenstrukturen und Algorithmen Ein Graph G = (V, E) wird durch die Knotenmenge V und die Kantenmenge E repräsentiert. G ist ungerichtet, wenn wir keinen Start- und Zielpunkt der Kanten auszeichnen.

Mehr

Teil 2 - Softwaretechnik. Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2. Übersicht. Softwaretechnik

Teil 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

Mehr

Kombinatorische Optimierung

Kombinatorische 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

Mehr

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29

Teil 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

Mehr

Zeichnen von Graphen. graph drawing

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

Mehr

Theoretische Grundlagen der Informatik

Theoretische 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

Mehr

Anmerkungen zur Übergangsprüfung

Anmerkungen zur Übergangsprüfung DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung

Mehr

Informatik II Greedy-Algorithmen

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

Mehr

WS 2013/14. Diskrete Strukturen

WS 2013/14. Diskrete Strukturen WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws1314

Mehr

Die Komplexitätsklassen P und NP

Die 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

Mehr

Bestimmung einer ersten

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

Mehr

Komplexitätstheorie Einführung und Überblick (Wiederholung)

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

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

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

Mehr

Erzeugung zufälliger Graphen und Bayes-Netze

Erzeugung 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

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie 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

Mehr

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

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

Mehr

Algorithmen & Datenstrukturen 1. Klausur

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

Mehr

15 Optimales Kodieren

15 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

Mehr

Maximizing the Spread of Influence through a Social Network

Maximizing 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

Mehr

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

Mehr

Teil II. Nichtlineare Optimierung

Teil 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

Mehr

Wissensbasierte Systeme

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

Mehr

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

Scheduling 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

Mehr

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

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

Mehr

Algorithmen und Datenstrukturen

Algorithmen 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

Mehr

Nichtlineare Optimierung ohne Nebenbedingungen

Nichtlineare 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

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Makespan-Scheduling Kapitel 4: Approximationsalgorithmen (dritter Teil) (weitere Beispiele und Illustrationen an der Tafel) Hilfreiche Literatur: Vazarani: Approximation Algorithms, Springer Verlag, 2001.

Mehr

Algorithmen und Datenstrukturen (WS 2007/08) 63

Algorithmen 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

Mehr

Guten Morgen und Willkommen zur Saalübung!

Guten 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

Mehr

Binäre lineare Optimierung mit K*BMDs p.1/42

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

Mehr

Grundlagen der Künstlichen Intelligenz

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

Mehr

Das P versus N P - Problem

Das 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

Mehr

Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten

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

Mehr

Alles zu seiner Zeit Projektplanung heute

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

Mehr

Beispiel. Bsp.: Betrachte Schlussweise in: (3) folgt aus (1) und (2), siehe z.b. Resolutionsregel. was ist mit folgender Schlußweise:

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

Mehr

Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual!

Das 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

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

Algorithmische Methoden der Netzwerkanalyse

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

Mehr

Algorithmen und Datenstrukturen Suchbaum

Algorithmen 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

Mehr

Algorithmen und Datenstrukturen. Große Übung vom 29.10.09 Nils Schweer

Algorithmen 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

Mehr

Universitä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. 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...

Mehr

Wortproblem für kontextfreie Grammatiken

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

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

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

Mehr

Ein Algorithmus für die

Ein 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

Mehr

Unterscheidung: Workflowsystem vs. Informationssystem

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

Mehr

Kompakte Graphmodelle handgezeichneter Bilder. Einbeziehung in Autentizierung und Bilderkennung

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

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen 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

Mehr

3 Quellencodierung. 3.1 Einleitung

3 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

Mehr

Algorithms for Regression and Classification

Algorithms 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

Mehr

Vortrag. Suchverfahren der Künstlichen Intelligenz. Sven Schmidt (Technische Informatik)

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

Mehr

Algorithmen und Datenstrukturen Balancierte Suchbäume

Algorithmen 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

Mehr

Seminararbeit für das SE Reine Mathematik- Graphentheorie

Seminararbeit 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

Mehr

Codierung, Codes (variabler Länge)

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

Mehr

Datenstrukturen & Algorithmen

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

Mehr

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen

Informatik 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

Mehr

Lange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege

Lange 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

Mehr

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit

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

Mehr

Theoretische Informatik SS 04 Übung 1

Theoretische 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

Mehr

Lineare Programmierung. Beispiel: Wahlkampf. Beispiel: Wahlkampf. Mathematische Schreibweise. Lineares Programm. Datenstrukturen & Algorithmen

Lineare 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

Mehr

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

Mehr

Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time

Undirected 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

Mehr

Datenstrukturen und Algorithmen SS07

Datenstrukturen 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

Mehr

Primzahlzertifikat von Pratt

Primzahlzertifikat 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

Mehr

Suchen und Sortieren Sortieren. Heaps

Suchen 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

Mehr

3. Das Auslastungsspiel

3. 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,

Mehr

Kompakte Graphmodelle handgezeichneter Bilder

Kompakte 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

Mehr

Punktbeschriftung in Dynamischen Karten

Punktbeschriftung 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

Mehr

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

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

Mehr

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg 19.04.2011

Vorlesung 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

Mehr

Schwierige Probleme in der Informatik Informationen für die Lehrperson

Schwierige 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

Mehr

Approximationsalgorithmen

Approximationsalgorithmen 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