Effiziente Algorithmen (SS2015)
|
|
- Elke Gerstle
- vor 5 Jahren
- Abrufe
Transkript
1 Effiziente Algorithmen (SS205) Kapitel 5 Approximation II Walter Unger Lehrstuhl für Informatik :59
2 5 Inhaltsverzeichnis < > Walter Unger :3 SS205 Z Inhalt I Set Cover Einleitung Approximation Güte der Abschätzung 2 Scheduling Einleitung Heuristik LL Heuristik LPT 3 Bin Packing Einleitung Algorithmus 4 Approximationsschema Einleitung Schema Beispiel zur Skalierung Beweise Das Orakel 5 Allgemeine Maschinen Einleitung ILP Algorithmus Allokationsgraph 6 APX Aussagen
3 5: Einleitung < > Walter Unger :3 SS205 Z Definition Definition (Set-Cover-Problem) Grundmenge X mit n Elementen. m Teilmengen S, S 2,..., S m mit i {,2,...,m} S i = X. Für jede Menge S i einen Kostenwert c i Q. Gesucht ist: A {, 2,..., m} mit i A S i = X und cost(a) = i A c i ist minimal. Grundmenge soll also kostengünstig überdeckt werden. Beispiel: Kostengünstiges Arbeitsteam, welche alle nötigen Fähigkeiten hat. Entspricht dem Vertex-Cover-Problem auf Hypergraphen (Hitting-Set-Problem).
4 5:2 Einleitung 6 < > Walter Unger :3 SS205 Z Beispiel S 8 : s 2 s 4 s 8 S 7 : s 7 s 9 S 6 : s 4 s 7 s 8 S 5 : s 2 s 5 s 7 S 4 : s s 5 s 6 s 7 S 3 : s 2 s 4 s 5 S 2 : s s 3 s 6 s 9 S : s s 3 s 4 X s s 2 s 3 s 4 s 5 s 6 s 7 s 8 s 9
5 5:2 Einleitung 2 6 < > Walter Unger :3 SS205 Z Beispiel S 8 : s 2 s 4 s 8 S 7 : s 7 s 9 S 6 : s 4 s 7 s 8 S 5 : s 2 s 5 s 7 S 4 : s s 5 s 6 s 7 S 3 : s 2 s 4 s 5 S 2 : s s 3 s 6 s 9 S : s s 3 s 4 X s s 2 s 3 s 4 s 5 s 6 s 7 s 8 s 9
6 5:2 Einleitung 3 6 < > Walter Unger :3 SS205 Z Beispiel S 8 : s 2 s 4 s 8 S 7 : s 7 s 9 S 6 : s 4 s 7 s 8 S 5 : s 2 s 5 s 7 S 4 : s s 5 s 6 s 7 S 3 : s 2 s 4 s 5 S 2 : s s 3 s 6 s 9 S : s s 3 s 4 X s s 2 s 3 s 4 s 5 s 6 s 7 s 8 s 9
7 5:2 Einleitung 4 6 < > Walter Unger :3 SS205 Z Beispiel S 8 : s 2 s 4 s 8 S 7 : s 7 s 9 S 6 : s 4 s 7 s 8 S 5 : s 2 s 5 s 7 S 4 : s s 5 s 6 s 7 S 3 : s 2 s 4 s 5 S 2 : s s 3 s 6 s 9 S : s s 3 s 4 X s s 2 s 3 s 4 s 5 s 6 s 7 s 8 s 9
8 5:2 Einleitung 5 6 < > Walter Unger :3 SS205 Z Beispiel S 8 : s 2 s 4 s 8 S 7 : s 7 s 9 S 6 : s 4 s 7 s 8 S 5 : s 2 s 5 s 7 S 4 : s s 5 s 6 s 7 S 3 : s 2 s 4 s 5 S 2 : s s 3 s 6 s 9 S : s s 3 s 4 X s s 2 s 3 s 4 s 5 s 6 s 7 s 8 s 9
9 5:2 Einleitung 6 6 < > Walter Unger :3 SS205 Z Beispiel (Kosten: 5) S 8 : s 2 s 4 s 8 S 7 : s 7 s 9 S 6 : s 4 s 7 s 8 S 5 : s 2 s 5 s 7 S 4 : s s 5 s 6 s 7 S 3 : s 2 s 4 s 5 S 2 : s s 3 s 6 s 9 S : s s 3 s 4 X s s 2 s 3 s 4 s 5 s 6 s 7 s 8 s 9
10 5:3 Einleitung 4 < > Walter Unger :3 SS205 Z Beispiel nochmal S 8 : s 2 s 4 s 8 S 7 : s 7 s 9 S 6 : s 4 s 7 s 8 S 5 : s 2 s 5 s 7 S 4 : s s 5 s 6 s 7 S 3 : s 2 s 4 s 5 S 2 : s s 3 s 6 s 9 S : s s 3 s 4 X s s 2 s 3 s 4 s 5 s 6 s 7 s 8 s 9
11 5:3 Einleitung 2 4 < > Walter Unger :3 SS205 Z Beispiel nochmal S 8 : s 2 s 4 s 8 S 7 : s 7 s 9 S 6 : s 4 s 7 s 8 S 5 : s 2 s 5 s 7 S 4 : s s 5 s 6 s 7 S 3 : s 2 s 4 s 5 S 2 : s s 3 s 6 s 9 S : s s 3 s 4 X s s 2 s 3 s 4 s 5 s 6 s 7 s 8 s 9
12 5:3 Einleitung 3 4 < > Walter Unger :3 SS205 Z Beispiel nochmal S 8 : s 2 s 4 s 8 S 7 : s 7 s 9 S 6 : s 4 s 7 s 8 S 5 : s 2 s 5 s 7 S 4 : s s 5 s 6 s 7 S 3 : s 2 s 4 s 5 S 2 : s s 3 s 6 s 9 S : s s 3 s 4 X s s 2 s 3 s 4 s 5 s 6 s 7 s 8 s 9
13 5:3 Einleitung 4 4 < > Walter Unger :3 SS205 Z Beispiel nochmal (Kosten: 3) S 8 : s 2 s 4 s 8 S 7 : s 7 s 9 S 6 : s 4 s 7 s 8 S 5 : s 2 s 5 s 7 S 4 : s s 5 s 6 s 7 S 3 : s 2 s 4 s 5 S 2 : s s 3 s 6 s 9 S : s s 3 s 4 X s s 2 s 3 s 4 s 5 s 6 s 7 s 8 s 9
14 5:4 Einleitung 5 < > Walter Unger :3 SS205 Z Komplexität Theorem Die Entscheidungsvariante vom Set-Cover-Problem ist in N PC. Beweis: Einfache Reduktion vom Vertex-Cover-Problem: d e: s 4 s 5 s 6 s 7 c d: s 3 s 4 c: s 2 s 3 s 7 e b: s s 2 s 6 b a: s s 5 Σ = 0 a E ab bc cd de ea eb ec
15 5:4 Einleitung 2 5 < > Walter Unger :3 SS205 Z Komplexität Theorem Die Entscheidungsvariante vom Set-Cover-Problem ist in N PC. Beweis: Einfache Reduktion vom Vertex-Cover-Problem: d e: s 4 s 5 s 6 s 7 c d: s 3 s 4 c: s 2 s 3 s 7 e b: s s 2 s 6 b a: s s 5 Σ = 0 a E ab bc cd de ea eb ec
16 5:4 Einleitung 3 5 < > Walter Unger :3 SS205 Z Komplexität Theorem Die Entscheidungsvariante vom Set-Cover-Problem ist in N PC. Beweis: Einfache Reduktion vom Vertex-Cover-Problem: d e: s 4 s 5 s 6 s 7 c d: s 3 s 4 c: s 2 s 3 s 7 e b: s s 2 s 6 b a: s s 5 Σ = 0 a E ab bc cd de ea eb ec
17 5:4 Einleitung 4 5 < > Walter Unger :3 SS205 Z Komplexität Theorem Die Entscheidungsvariante vom Set-Cover-Problem ist in N PC. Beweis: Einfache Reduktion vom Vertex-Cover-Problem: d e: s 4 s 5 s 6 s 7 c d: s 3 s 4 c: s 2 s 3 s 7 e b: s s 2 s 6 b a: s s 5 Σ = 0 a E ab bc cd de ea eb ec
18 5:4 Einleitung 5 5 < > Walter Unger :3 SS205 Z Komplexität Theorem Die Entscheidungsvariante vom Set-Cover-Problem ist in N PC. Beweis: Einfache Reduktion vom Vertex-Cover-Problem: d e: s 4 s 5 s 6 s 7 c d: s 3 s 4 c: s 2 s 3 s 7 e b: s s 2 s 6 b a: s s 5 Σ = 0 a E ab bc cd de ea eb ec
19 5:5 Approximation < > Walter Unger :3 SS205 Z Idee zum Set-Cover-Problem Das Set-Cover-Problem ist, wie man sieht, eine Verallgemeinerung des Vertex- Cover Problems. Diesmal gibt es aber kein hilfreiches Analogon zu einem Matching. Daher versuchen wir einen Greedy-Ansatz. Wir werden dabei nur einen Approximationsfaktor von H n (n-te Harmonische Zahl) erreichen. Aber das ist auch das Beste, was man für das Set-Cover-Problem erreichen kann. Bei dem Greedy-Verfahren wählt man die Menge, die möglichst geringe Kosten pro neu überdecktes Element hat. Eine möglichst schlechte Eingabe für dieses Greedy-Verfahren erhält man, indem man für jedes Element der Grundmenge eine einelementige Überdeckungsmenge wählt und eine Überdeckungsmenge, die gleich der Grundmenge ist. Die einelementigen Überdeckungsmengen haben die folgenden Kosten /n, /(n ), /(n ),..., /3, /2,. Die vollständige Überdeckungsmenge hat Kosten >. Damit werden vom Greedy-Verfahren alle einelementigen Überdeckungsmengen gewählt.
20 5:6 Approximation < > Walter Unger :3 SS205 Z Aufbau der Idee Das Set-Cover-Problem hat wenig Struktur, die man nutzen könnte. Einzige Idee: versuche viele Elemente kostengünstig abzudecken. Oder: versuche die Kosten pro Element klein zu halten. Also werden wir einen Greedy-Algorithmus entwickeln. Auswahl der Menge S i über: Kosten von S i Anzahl der von S i neu überdeckten Elemente Wähle Menge S i, wo obiger Ausdrucke minimal ist.
21 5:7 Approximation < > Walter Unger :3 SS205 Z Greedy-Algorithmus Eingabe X, S, S 2,... S m. 2 Setze A =. 3 Solange j A S j /= X wiederhole: Bestimme für alle i {, 2,, m} A: 2 Wähle i mit r A (i) minimal. 3 Setze A = A {i}. r A (i) = c i S i j A S j.
22 5:8 Approximation < > Walter Unger :3 SS205 Z Analyse Verteile die Kosten bei der Wahl einer Menge S i auf die Elemente, die durch S i neu überdeckt werden. D.h. in jeder Schleife erhält jedes dieser Elemente den folgenden Wert zugeordnet: c i S i j A S j = r A(i) Nun betrachten wir einzeln die hinzugefügten Elemente. Sei also für k {, 2,, n} x k das k-te Element. Seien weiter c(x k ) die relativen Kosten, die x k zugeordnet worden sind. Lemma Für k {, 2,, n} gilt c(x k ) opt/(n k + ), wobei opt die Kosten eines optimalen Set-Covers sind.
23 5:9 Approximation < > Walter Unger :3 SS205 Z Beweis Sei A die Auswahl, die vorher gewählt wurde. Sei weiter i {, 2,, n} der Index der Menge S i, die x k erstmalig abdeckt. Nun schätzen wir opt ab: Für j {, 2,, n} A gilt: r A (j) r A (i). Setze: X = X j A S j, d.h. X ist noch nicht abgedeckt. Kein Element j X kann mit relativen Kosten kleiner als r A (i) abgedeckt werden. Damit ist die Summe der relativen Kosten von X mindestens: (n k + ) r A (i). Jede mögliche Auswahl, die X abdeckt, hat damit Kosten von mindestens: (n k + ) r A (i). Damit gilt: opt (n k + ) r A (i) = (n k + ) c(x k ) und c(x k ) opt/(n k + ). c(x k ) opt/(n k + )
24 5:0 Approximation < > Walter Unger :3 SS205 Z Güte der Approximation Theorem Der Greedy Algorithmus hat einen Approximationsfaktor von höchstens H n. c(x k ) opt/(n k + ) H n ist die n-te Harmonische Zahl. H n = n i= i. Es gilt: log(n + ) H n log n +. Beweis des Theorems: Bilde Summe über alle Elemente. Nutze obiges Lemma: n i= n opt n i + = opt = opt H n. i= i
25 5: Güte der Abschätzung < > Walter Unger :3 SS205 Z Frage: wie gut ist die Abschätzung Suche ein schlechtes Beispiel für obigen Algorithmus. Erinnerung: r A (i) = c i S i j A S j. Fehler soll möglichst groß sein: Greedy Lösung: A = {, 2,..., m } Optimale Lösung opt = {m} Daher S m = {, 2,..., n} und S i = {i} für i n (m = n + ). Nun sind noch die Kosten zu wählen: Setze c m =. Damit gilt: r (m) = S i i A S i = {,2,...,n} = n. Damit der Algorithmus S wählt, muss gelten: r () < n. Damit gilt: r {} (m) = S i i A S i = =. {2,3,...,n} n Damit der Algorithmus S 2 wählt, muss gelten: r {} (2) < Damit gilt: r {,2} (m) = S i i A S i = =. {3,4,...,n} n 2 n. Damit der Algorithmus S 3 wählt, muss gelten: r {,2} (3) < n 2. Zur Vereinfachung wählen wir im Folgenden: c m = +ε.
26 5:2 Güte der Abschätzung < > Walter Unger :3 SS205 Z Frage: wie gut ist die Abschätzung Suche ein schlechtes Beispiel für obigen Algorithmus. Erinnerung: r A (i) = c i S i j A S j. Fehler soll möglichst groß sein: Greedy Lösung: A = {, 2,..., m } Optimale Lösung opt = {m} Daher S m = {, 2,..., n} und S i = {i} für i n (m = n + ). Nun sind noch die Kosten zu wählen: Setze c m = +ε. Damit gilt: r (m) = S i i A S i = = +ε. {,2,...,n} n Damit der Algorithmus S wählt, muss gelten: r () n. Damit gilt: r {} (m) = S i i A S i = = +ε. {2,3,...,n} n Damit der Algorithmus S 2 wählt, muss gelten: r {} (2) Damit gilt: r {,2} (m) = S i i A S i = = +ε. {3,4,...,n} n 2 n. Damit der Algorithmus S 3 wählt, muss gelten: r {,2} (3) n 2.
27 5:3 Güte der Abschätzung < > Walter Unger :3 SS205 Z Beispiel zur Abschätzung der Güte Damit erhalten wir das folgende schlechte Beispiel für obigen Algorithmus: X = {, 2,..., n} S m = {, 2,..., n} mit m = n +. S i = {i} für i n. Setze c m = + ε. Setze c i = n i+. Damit gilt für dieses Beispiel: Der Greedy Algorithmus wird nacheinander die Mengen S, S 2,..., S n wählen. Die optimale Lösung beinhaltet nur S m.
28 5:4 Güte der Abschätzung < > Walter Unger :3 SS205 Z Beispiel zur Güte r A (i) = c i S i i A S i. r C (i + ) = +ε n C = n C + δ. r () = /n = n r (2) = /(n ) = n r,2(3) = /(n 2) = n 2 r,2,3(4) = /(n 3) = n 3 r,2,...,n 3(n 2) = /3 = 3 r,2,...,n 2(n ) = /2 = 2 r,2,...,n (n) = = + ε: : 2 : 3 : : n 3 : n 2 : n : n : X...
29 5:4 Güte der Abschätzung 2 < > Walter Unger :3 SS205 Z Beispiel zur Güte r A (i) = c i S i i A S i. r C (i + ) = +ε n C = n C + δ. r () = /n = n r (2) = /(n ) = n r,2(3) = /(n 2) = n 2 r,2,3(4) = /(n 3) = n 3 r,2,...,n 3(n 2) = /3 = 3 r,2,...,n 2(n ) = /2 = 2 r,2,...,n (n) = = + ε: : 2 : 3 : : n 3 : n 2 : n : n : X...
30 5:4 Güte der Abschätzung 3 < > Walter Unger :3 SS205 Z Beispiel zur Güte r A (i) = c i S i i A S i. r C (i + ) = +ε n C = n C + δ. r () = /n = n r (2) = /(n ) = n r,2(3) = /(n 2) = n 2 r,2,3(4) = /(n 3) = n 3 r,2,...,n 3(n 2) = /3 = 3 r,2,...,n 2(n ) = /2 = 2 r,2,...,n (n) = = + ε: : 2 : 3 : : n 3 : n 2 : n : n : X...
31 5:4 Güte der Abschätzung 4 < > Walter Unger :3 SS205 Z Beispiel zur Güte r A (i) = c i S i i A S i. r C (i + ) = +ε n C = n C + δ. r () = /n = n r (2) = /(n ) = n r,2(3) = /(n 2) = n 2 r,2,3(4) = /(n 3) = n 3 r,2,...,n 3(n 2) = /3 = 3 r,2,...,n 2(n ) = /2 = 2 r,2,...,n (n) = = + ε: : 2 : 3 : : n 3 : n 2 : n : n : X...
32 5:4 Güte der Abschätzung 5 < > Walter Unger :3 SS205 Z Beispiel zur Güte r A (i) = c i S i i A S i. r C (i + ) = +ε n C = n C + δ. r () = /n = n r (2) = /(n ) = n r,2(3) = /(n 2) = n 2 r,2,3(4) = /(n 3) = n 3 r,2,...,n 3(n 2) = /3 = 3 r,2,...,n 2(n ) = /2 = 2 r,2,...,n (n) = = + ε: : 2 : 3 : : n 3 : n 2 : n : n : X...
33 5:4 Güte der Abschätzung 6 < > Walter Unger :3 SS205 Z Beispiel zur Güte r A (i) = c i S i i A S i. r C (i + ) = +ε n C = n C + δ. r () = /n = n r (2) = /(n ) = n r,2(3) = /(n 2) = n 2 r,2,3(4) = /(n 3) = n 3 r,2,...,n 3(n 2) = /3 = 3 r,2,...,n 2(n ) = /2 = 2 r,2,...,n (n) = = + ε: : 2 : 3 : : n 3 : n 2 : n : n : X...
34 5:4 Güte der Abschätzung 7 < > Walter Unger :3 SS205 Z Beispiel zur Güte r A (i) = c i S i i A S i. r C (i + ) = +ε n C = n C + δ. r () = /n = n r (2) = /(n ) = n r,2(3) = /(n 2) = n 2 r,2,3(4) = /(n 3) = n 3 r,2,...,n 3(n 2) = /3 = 3 r,2,...,n 2(n ) = /2 = 2 r,2,...,n (n) = = + ε: : 2 : 3 : : n 3 : n 2 : n : n : X...
35 5:4 Güte der Abschätzung 8 < > Walter Unger :3 SS205 Z Beispiel zur Güte r A (i) = c i S i i A S i. r C (i + ) = +ε n C = n C + δ. r () = /n = n r (2) = /(n ) = n r,2(3) = /(n 2) = n 2 r,2,3(4) = /(n 3) = n 3 r,2,...,n 3(n 2) = /3 = 3 r,2,...,n 2(n ) = /2 = 2 r,2,...,n (n) = = + ε: : 2 : 3 : : n 3 : n 2 : n : n : X...
36 5:4 Güte der Abschätzung 9 < > Walter Unger :3 SS205 Z Beispiel zur Güte r A (i) = c i S i i A S i. r C (i + ) = +ε n C = n C + δ. r () = /n = n r (2) = /(n ) = n r,2(3) = /(n 2) = n 2 r,2,3(4) = /(n 3) = n 3 r,2,...,n 3(n 2) = /3 = 3 r,2,...,n 2(n ) = /2 = 2 r,2,...,n (n) = = + ε: : 2 : 3 : : n 3 : n 2 : n : n : X...
37 5:4 Güte der Abschätzung 0 < > Walter Unger :3 SS205 Z Beispiel zur Güte r A (i) = c i S i i A S i. r C (i + ) = +ε n C = n C + δ. r () = /n = n r (2) = /(n ) = n r,2(3) = /(n 2) = n 2 r,2,3(4) = /(n 3) = n 3 r,2,...,n 3(n 2) = /3 = 3 r,2,...,n 2(n ) = /2 = 2 r,2,...,n (n) = = + ε: : 2 : 3 : : n 3 : n 2 : n : n : X...
38 5:4 Güte der Abschätzung < > Walter Unger :3 SS205 Z Beispiel zur Güte r A (i) = c i S i i A S i. r C (i + ) = +ε n C = n C + δ. r () = /n = n r (2) = /(n ) = n r,2(3) = /(n 2) = n 2 r,2,3(4) = /(n 3) = n 3 r,2,...,n 3(n 2) = /3 = 3 r,2,...,n 2(n ) = /2 = 2 r,2,...,n (n) = = + ε: : 2 : 3 : : n 3 : n 2 : n : n : X...
39 5:5 Güte der Abschätzung < > Walter Unger :3 SS205 Z Güte der Approximation Theorem Der Greedy Algorithmus hat einen Approximationsfaktor von höchstens H n. Theorem Es gibt eine Instanz, worauf der Greedy Algorithmus einen Approximationsfaktor von ( ε) H n erreicht (für ε > 0). Theorem (Feige 995) Es gibt keinen Algorithmus mit Approximationsfaktor ( ε) H n für das Set-Cover-Problem, es sei denn N P = TIME(n O(log log n) ). Folgerung: Damit ist dieser einfache Greedy Algorithmus der beste, der möglich ist.
40 5:6 Einleitung < > Walter Unger :3 SS205 Z Motivation Verteilung von Aufgaben Aufgaben sind nicht teilbar (ansonsten wäre es zu einfach). Alle Aufgaben sollen möglichst schnell fertig werden. Beispiel Vor einer Party gibt es viele Arbeiten zu machen. Wenn jemand eine Arbeit hat, gibt er sie nicht mehr her. Erst wenn alle Arbeiten erledigt sind, fängt die Party an.
41 5:7 Einleitung < > Walter Unger :3 SS205 Z Definition Definition (Scheduling auf identischen Maschinen) Das Makespan Scheduling Problem auf identischen Maschinen: Gegeben: Gesucht: p, p 2,..., p n N (d.h. n Jobs der Länge p i). m N (d.h. m identische Maschinen). f {, 2,..., n} {, 2,..., m}, (d.h. Zuweisung der Jobs auf Maschinen). Mit max j {,2,...,m} i {,2,...,n} f (i)=j p i ist minimal. Die Funktion f gibt den Ablaufplan (Schedule) an. Da die Jobs keine Fertigstellungszeit (Deadline) haben, ist die Abarbeitungsfolge der Jobs auf einer Maschine beliebig. O.B.d.A.: n > m.
42 5:8 Einleitung 4 < > Walter Unger :3 SS205 Z Einfaches Beispiel p 4 : 6 3 p 2 : 7 5 p 0 : 6 p : 3 p 7 :0 6 :0 p 3 9 p 5 : 5 p 4 p 5 4 p 2 p 3 : 9 p p : 3 3 m m 2 m 3 m 4 m 5
43 5:8 Einleitung 2 4 < > Walter Unger :3 SS205 Z Einfaches Beispiel p 6 0 p 7 p 4 : p 2 : 7 p 0 5 p p 9 0 : 6 p 2 6 p p : 3 9 p 7 :0 6 :0 p 5 : 5 p 4 p 5 4 p 2 p 3 : 9 p p : 3 3 m m 2 m 3 m 4 m 5
44 5:8 Einleitung 3 4 < > Walter Unger :3 SS205 Z Einfaches Beispiel p 6 p 8 0 p 4 3 p p 3 6 p p 4 : p 2 : 7 p 0 5 p p 9 0 : 6 p 2 6 p p : 3 9 p 7 :0 6 :0 p 5 : 5 p 4 p 5 4 p 2 p 3 : 9 p p : 3 3 m m 2 m 3 m 4 m 5
45 5:8 Einleitung 4 4 < > Walter Unger :3 SS205 Z Einfaches Beispiel 9 p 6 p 8 0 p 4 3 p p 3 6 p p 4 : p 2 : 7 p 0 5 p p 9 0 : 6 p 2 6 p p : 3 9 p 7 :0 6 :0 p 5 : 5 p 4 p 5 4 p 2 p 3 : 9 p p : 3 3 m m 2 m 3 m 4 m 5
46 5:9 Einleitung 3 < > Walter Unger :3 SS205 Z Zweiter Versuch am einfachen Beispiel p 4 : 6 3 p 2 : 7 5 p 0 : 6 p : 3 p 7 :0 6 :0 p 5 : 5 4 p 3 : p : 3 p 4 5 p 6 0 p 9 5 p 2 p 4 3 m m 2 m 3 m 4 m 5
47 5:9 Einleitung 2 3 < > Walter Unger :3 SS205 Z Zweiter Versuch am einfachen Beispiel p 4 : 6 3 p 2 : 7 5 p 0 : 6 p : 3 p 7 :0 6 :0 p 5 : 5 4 p 3 : p : 3 p 3 9 p 7 0 p 0 6 p 4 5 p 2 7 p 6 0 p 3 6 p 9 5 p 2 p 4 3 m m 2 m 3 m 4 m 5
48 5:9 Einleitung 3 3 < > Walter Unger :3 SS205 Z Zweiter Versuch am einfachen Beispiel p 4 : 6 3 p 2 : 7 5 p 0 : 6 p : 3 p 7 :0 6 :0 p 5 : 5 4 p 3 : p : 3 7 p 5 5 p 3 9 p 8 3 p 7 0 p 5 p 0 6 p 4 5 p 2 7 p 6 0 p 4 6 p 3 6 p 9 5 p 2 p 4 3 m m 2 m 3 m 4 m 5
49 5:20 Einleitung < > Walter Unger :3 SS205 Z Komplexität Das Problem ist in N PC. Einfache Reduktion von Subset-Sum-Problem: Gegeben: b i für i n. Frage: I {, 2,... n} mit: i I b i = i {,2,...,n} I b i. Das ist das Makespan Scheduling Problem für zwei identische Maschinen. Gesucht ist ein Makespan von i {,2,...,n} b i/2.
50 5:2 Heuristik LL < > Walter Unger :3 SS205 Z Erste Ideen Wir werden zuerst zwei einfache Ideen zur Approximation des Scheduling Problems betrachten. Dabei werden wir sehen, daß diese schon gute Approximationsfaktoren abliefern. Das erste Verfahren verteilt die Jobs in einer beliebigen Reihenfolge auf die Maschine, die aktuell die jeweils kleinste Last hat. Hier erkennt man recht schnell einen Approximationsfaktor von 2. Dabei wird als untere Schanke die Größe des größten Jobs verwendet. Danach verteilen wir die Jobs absteigend sortiert nach ihrer Größe auf die Maschine mit der aktuell geringsten Last. Hier sieht man recht schnell, daß das Verfahren optimal ist, solange maximal zwei Jobs auf jeder Maschine zugewiesen werden. Hier wird als untere Schranke nun die durchschnittliche Belastung einer Maschine genutzt. Da das Verfahren optimal ist, solange maximal zwei Jobs auf jeder Maschine zugewiesen werden und die Jobs in absteigender Reihenfolge zugewiesen werden, wird der Approximationsfaktor durch einen der großen verbleibenden Jobs bestimmt. Hier erkennt man recht schnell, ein Job der Größe von maximal /3 von Optimum bestimmt den maximalen Approximationsfaktor (4/3).
51 5:22 Heuristik LL 0 < > Walter Unger :3 SS205 Z Heuristik Heuristik: Least Loaded (LL) Wähle die Maschine, die bisher die kleinste Last hat: 2 Für k von bis n mache: Wähle j mit i {,2,...,k } f (i)=j p i ist minimal. 2 Setze f (k) = j m m 2 m 3 m m 2 m 3
52 5:22 Heuristik LL 2 0 < > Walter Unger :3 SS205 Z Heuristik Heuristik: Least Loaded (LL) Wähle die Maschine, die bisher die kleinste Last hat: 2 Für k von bis n mache: Wähle j mit i {,2,...,k } f (i)=j p i ist minimal. 2 Setze f (k) = j m m 2 m 3 m m 2 m 3
53 5:22 Heuristik LL 3 0 < > Walter Unger :3 SS205 Z Heuristik Heuristik: Least Loaded (LL) Wähle die Maschine, die bisher die kleinste Last hat: 2 Für k von bis n mache: Wähle j mit i {,2,...,k } f (i)=j p i ist minimal. 2 Setze f (k) = j m m 2 m 3 m m 2 m 3
54 5:22 Heuristik LL 4 0 < > Walter Unger :3 SS205 Z Heuristik Heuristik: Least Loaded (LL) Wähle die Maschine, die bisher die kleinste Last hat: 2 Für k von bis n mache: Wähle j mit i {,2,...,k } f (i)=j p i ist minimal. 2 Setze f (k) = j m m 2 m 3 m m 2 m 3
55 5:22 Heuristik LL 5 0 < > Walter Unger :3 SS205 Z Heuristik Heuristik: Least Loaded (LL) Wähle die Maschine, die bisher die kleinste Last hat: 2 Für k von bis n mache: Wähle j mit i {,2,...,k } f (i)=j p i ist minimal. 2 Setze f (k) = j m m 2 m 3 m m 2 m 3
56 5:22 Heuristik LL 6 0 < > Walter Unger :3 SS205 Z Heuristik Heuristik: Least Loaded (LL) Wähle die Maschine, die bisher die kleinste Last hat: 2 Für k von bis n mache: Wähle j mit i {,2,...,k } f (i)=j p i ist minimal. 2 Setze f (k) = j m m 2 m 3 m m 2 m 3
57 5:22 Heuristik LL 7 0 < > Walter Unger :3 SS205 Z Heuristik Heuristik: Least Loaded (LL) Wähle die Maschine, die bisher die kleinste Last hat: 2 Für k von bis n mache: Wähle j mit i {,2,...,k } f (i)=j p i ist minimal. 2 Setze f (k) = j m m 2 m 3 m m 2 m 3
58 5:22 Heuristik LL 8 0 < > Walter Unger :3 SS205 Z Heuristik Heuristik: Least Loaded (LL) Wähle die Maschine, die bisher die kleinste Last hat: 2 Für k von bis n mache: Wähle j mit i {,2,...,k } f (i)=j p i ist minimal. 2 Setze f (k) = j m m 2 m 3 m m 2 m 3
59 5:22 Heuristik LL 9 0 < > Walter Unger :3 SS205 Z Heuristik Heuristik: Least Loaded (LL) Wähle die Maschine, die bisher die kleinste Last hat: 2 Für k von bis n mache: Wähle j mit i {,2,...,k } f (i)=j p i ist minimal. 2 Setze f (k) = j m m 2 m m m 2 m 3
60 5:22 Heuristik LL 0 0 < > Walter Unger :3 SS205 Z Heuristik Heuristik: Least Loaded (LL) Wähle die Maschine, die bisher die kleinste Last hat: 2 Für k von bis n mache: Wähle j mit i {,2,...,k } f (i)=j p i ist minimal. 2 Setze f (k) = j m m 2 m m m 2 m 3
61 5:23 Heuristik LL 8 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik (2 Maschinen) 2 2 m m 2 m m m m 2 m 3 m m 2 m 3
62 5:23 Heuristik LL 2 8 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik (2 Maschinen) 2 2 m m 2 m m m m 2 m 3 m m 2 m 3
63 5:23 Heuristik LL 3 8 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik (2 Maschinen) 2 2 m m 2 m m m m 2 m 3 m m 2 m 3
64 5:23 Heuristik LL 4 8 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik (2 Maschinen) m m 2 m m m m 2 m 3 m m 2 m 3
65 5:23 Heuristik LL 5 8 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik (2,3 Maschinen) m m m m m m 2 m 3 m m 2 m 3
66 5:23 Heuristik LL 6 8 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik (2,3 Maschinen) m m m m m m 2 m 3 m m 2 m 3
67 5:23 Heuristik LL 7 8 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik (2,3 Maschinen) m m m m m m 2 m 3 m m 2 m 3
68 5:23 Heuristik LL 8 8 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik (2,3 Maschinen) m m m m m m 2 m m m 2 m 3
69 5:24 Heuristik LL < > Walter Unger :3 SS205 Z Beispiel zu Heuristik (4 Maschinen) 4 4 m m 2 m 3 m m m 2 m 3 m 4 4
70 5:25 Heuristik LL < > Walter Unger :3 SS205 Z Das Beispiel formal Konstruiere allgemeines Beispiel: Setze n = m (m ) +. Für i {, 2,..., m (m )} setze: p i =. Setze weiter: p m (m )+ = m. Die obigen Beispiele zeigen: Optimale Makespan ist m. Auf m Maschinen brauchen Jobs {, 2,..., n } Zeit m. Der Job n braucht auf Maschine m auch m Zeit. Die LL-Heuristik liefert einen Makespan von 2 m. Auf m Maschinen brauchen {, 2,..., n } Zeit m. Der Job n braucht auf einer Maschine noch zusätzlich m Zeit. Damit ist der Approximationsfaktor von der LL-Heuristik bestenfalls: 2 m m = 2 m.
71 5:26 Heuristik LL < > Walter Unger :3 SS205 Z Approximationsgüte von Heuristik Theorem Die LL-Heuristik hat einen Approximationsfaktor von (2 /m). Beweis: Die folgenden einfachen Schranken gelten: opt max i {,2,...,n} (p i). opt m i {,2,...,n} p i. Betrachte nun den Job, der als letzter fertig wird und die Situation, bevor er verteilt wurde.
72 5:27 Heuristik LL < > Walter Unger :3 SS205 Z Approximationsgüte von Heuristik Sei i der Job, der als letzter fertig wird und j = f (i ). Als der Job i auf j gelegt wurde, war aktuelle Last von j minimal. Die Last war höchstens: /m i {,2,...,i } p i. Damit kann der Makespan wie folgt abgeschätzt werden: opt m i {,2,...,n} p i opt max i {,2,...,n} (p i ) p i + m i {,2,...,i } p i = ( ) p m i + m i {,2,...,i } p i ( ) opt + opt m (2 ) opt. m
73 5:28 Heuristik LPT < > Walter Unger :3 SS205 Z Heuristik 2 Heuristik: Longest Processing Time (LPT) Wähle für den längsten Job die Maschine, die bisher die kleinste Last hat: 2 Sei p p 2... p n. 3 Für k von bis n mache: Wähle j mit i {,2,...,k } f (i)=j p i ist minimal. 2 Setze f (k) = j.
74 5:29 Heuristik LPT 7 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik m m 2 m 3 m 4 m 5 m 6 m 7
75 5:29 Heuristik LPT 2 7 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik m m 2 m 3 m 4 m 5 m 6 m 7
76 5:29 Heuristik LPT 3 7 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik m m 2 m 3 m 4 m 5 m 6 m 7
77 5:29 Heuristik LPT 4 7 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik m m 2 m 3 m 4 m 5 m 6 m 7
78 5:29 Heuristik LPT 5 7 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik m m 2 m 3 m 4 m 5 m 6 m 7
79 5:29 Heuristik LPT 6 7 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik m m 2 m 3 m 4 m 5 m 6 m 7
80 5:29 Heuristik LPT 7 7 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik m m 2 m 3 m 4 m 5 m 6 m 7
81 5:29 Heuristik LPT 8 7 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik m m 2 m 3 m 4 m 5 m 6 m 7
82 5:29 Heuristik LPT 9 7 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik m m 2 m 3 m 4 m 5 m 6 m 7
83 5:29 Heuristik LPT 0 7 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik m m 2 m 3 m 4 m 5 m 6 m 7
84 5:29 Heuristik LPT 7 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik m m 2 m 3 m 4 m 5 m 6 m 7
85 5:29 Heuristik LPT 2 7 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik m m 2 m 3 m 4 m 5 m 6 m 7
86 5:29 Heuristik LPT 3 7 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik m m 2 m 3 m 4 m 5 m 6 m 7
87 5:29 Heuristik LPT 4 7 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik m m 2 m 3 m 4 m 5 m 6 m 7
88 5:29 Heuristik LPT 5 7 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik m m 2 m 3 m 4 m 5 m 6 m 7
89 5:29 Heuristik LPT 6 7 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik m m 2 m 3 m 4 m 5 m 6 m 7
90 5:29 Heuristik LPT 7 7 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik m m 2 m 3 m 4 m 5 m 6 m 7
91 5:30 Heuristik LPT 3 < > Walter Unger :3 SS205 Z Bessere Lösung des Beispiels m m 2 m 3 m 4 m 5 m 6 m 7
92 5:30 Heuristik LPT 2 3 < > Walter Unger :3 SS205 Z Bessere Lösung des Beispiels m m 2 m 3 m 4 m 5 m 6 m 7
93 5:30 Heuristik LPT 3 3 < > Walter Unger :3 SS205 Z Bessere Lösung des Beispiels m m 2 m 3 m 4 m 5 m 6 m 7
94 5:3 Heuristik LPT 2 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik 2 (Nur zwei Jobs pro Maschine) p : p : 8 0 :0 p : 0 :3 p 9 :4 8 :5 p 7 :7 6 :9 p 5 :20 4 :22 p 3 :23 2 :25 p :26 p 26 p 2 25 p 3 23 p 4 22 p 5 20 p 6 9 p 7 7 p 8 5 p 9 4 m m 2 m 3 m 4 m 5 m 6 m 7 m 8 m 9
95 5:3 Heuristik LPT 2 2 < > Walter Unger :3 SS205 Z Beispiel zu Heuristik 2 (Nur zwei Jobs pro Maschine) p : p : 8 0 :0 p : 0 :3 p 9 :4 8 :5 p 7 :7 6 :9 p 5 :20 4 :22 p 3 :23 2 :25 p :26 28 p 26 p 2 25 p 3 23 p 6 p 4 22 p 0 7 p 5 20 p 8 p 6 9 p 0 0 p 7 7 p p 8 5 p 0 3 p 9 4 m m 2 m 3 m 4 m 5 m 6 m 7 m 8 m 9
96 5:32 Heuristik LPT < > Walter Unger :3 SS205 Z Approximation Heuristik 2 Theorem (Graham 969) Die LPT Heuristik hat einen Approximationsfaktor von 4/3. Beweis durch Widerspruch: Angenommen, es gibt Eingabeinstanz p, p 2,..., p n auf m Maschinen, mit einem Makespan von τ > 4/3 opt und n minimal gewählt. Seien p p 2... p n. Da n minimal gewählt wurde, ist n der Job, der als letzter fertig wird. Der Job n wurde auf die am wenigsten belastete Maschine platziert. Zu diesem Zeitpunkt war die Last der Maschine höchstens: n m p i opt. i= Damit nun im nächsten Schritt ein Faktor von τ auftritt muss gelten: p n > /3 opt.
97 5:33 Heuristik LPT < > Walter Unger :3 SS205 Z Beweis Wegen der Sortierung der Jobs gilt damit: i p i > opt. 3 Also passen höchstens zwei Jobs auf jede Maschine. Es gibt daher auch höchstens n 2 m Jobs. Damit ist aber folgende Platzierung optimal: Platziere Job i für i m auf Maschine i. Platziere Job i für i > m auf Maschine 2 m i +. Das ist aber die Platzierung von der LPT Heuristik. Widerspruch. p n > 3 opt
98 5:34 Einleitung < > Walter Unger :3 SS205 Z Überblick zur Idee Unser Ziel ist es, für das Scheduling auf identischen Maschinen einen besseren Approximationsfaktor zu erzielen. Die Idee wird sein, die Anzahl möglicher Joblängen zu reduzieren. Dazu werden einige Jobs künstlich länger gemacht. Damit wir nach dem Vereinheitlichen der Joblängen eine optimale Lösung effizient berechnen können, betrachten wir als Zwischenproblem das Bin Packing. Hier ist eine endliche Anzahl von Joblängen in der Eingabe. Weiterhin ist die maximale Laufzeit auch bekannt. Und wir bestimmen nun die minimale Anzahl von Maschinen, für die es eine Lösung gibt. Da wir nur eine endliche Anzahl von Joblängen in der Eingabe haben, können wir die Eingabe und die Lösungen auf einer Maschine durch einen endlichen Vektor modellieren. Eine minimale Anzahl von Maschinen zum Scheduling der Jobs wird nun mittels dynamischer Programierung bestimmt.
99 5:35 Einleitung < > Walter Unger :3 SS205 Z Motivation und Definition Im nächsten Abschnitt soll das Scheduling auf identischen Maschinen mit einem beliebigen konstanten Faktor approximiert werden. Dabei wird die Lösung des folgenden Problems hilfreich sein. Bemerkung vorweg: Bin Packing entspricht einem Scheduling, bei der es eine Schranke b für den Makespan gibt.
100 5:36 Einleitung < > Walter Unger :3 SS205 Z Motivation und Definition Definition (Bin Packing mit eingeschränkten Gewichten) Gegeben: Gesucht: n Objekte: {, 2,..., n}. w, w 2,..., w n mit {w, w 2,..., w n} {, 2,..., k}. Zwei Zahlen m, b N mit: m und b k. z {, 2,..., n} {, 2,..., m} mit: i {, 2,..., m} j {,2,...,n} z(j)=i w j b. Die w i sind die Gewichte der Objekte. Die Funktion z ist die Verteilung der Objekte auf m Bins. Jeder Bin kann maximal b aufnehmen.
101 5:37 Algorithmus < > Walter Unger :3 SS205 Z Aussage Theorem Das Bin Packing Problem mit eingeschränkten Gewichten kann in Zeit O((n + ) k (b + ) k /k!) gelöst werden. Die k möglichen Gewichte schränken das Problem ein. Zwei Objekte mit dem gleichen Gewicht sind austauschbar. Daher untersuche nur Lösungen nach der Anzahl der Objekte vom gleichen Gewicht. Nutze dynamische Programmierung. Untersuche die Anzahl der notwendigen Bins für n i Objekte mit Gewicht w i ( i k).
102 5:38 Algorithmus < > Walter Unger :3 SS205 Z Dynamische Programmierung O((n + ) k (b + ) k /k!) Sei f (n, n 2,..., n k ) die minimale Anzahl von Bins der Größe b, die n i Objekte mit Gewicht w i ( i k) aufnehmen können. Setze Q = {(q, q 2,..., q k ) f (q, q 2,..., q k ) = }, d.h. die Gewichtskombinationen, die in einen Bin passen. Damit kann f rekursiv beschrieben werden: f (n, n 2,..., n k ) = + min (q,q 2,...,q k ) Q f (n q, n 2 q 2,..., n k q k ). Im Weiteren wird gezeigt, wie diese Werte bestimmt werden. Sei vorher: c i = {j j {, 2,..., n} w(j) = i}. D.h. c i ist die Anzahl der Objekte mit Gewicht i. Das Bin Packing Problem mit eingeschränkten Gewichten hat eine Lösung genau dann, wenn: f (c, c 2,..., c k ) m.
103 5:39 Algorithmus 9 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, p = 3, p 2 = 3, p 3 = 4, p 4 = 4, p 5 = 5, p 6 = 5. D.h. c = 0, c 2 = 0, c 3 = 2, c 4 = 2, c 5 = 2. O((n + ) k (b + ) k /k!) Q = {
104 5:39 Algorithmus 2 9 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, p = 3, p 2 = 3, p 3 = 4, p 4 = 4, p 5 = 5, p 6 = 5. D.h. c = 0, c 2 = 0, c 3 = 2, c 4 = 2, c 5 = 2. O((n + ) k (b + ) k /k!) Q = { (0, 0,, 0, 0), p 3
105 5:39 Algorithmus 3 9 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, p = 3, p 2 = 3, p 3 = 4, p 4 = 4, p 5 = 5, p 6 = 5. D.h. c = 0, c 2 = 0, c 3 = 2, c 4 = 2, c 5 = 2. O((n + ) k (b + ) k /k!) Q = { (0, 0,, 0, 0), (0, 0, 2, 0, 0), p 2 3 p 3 p 3
106 5:39 Algorithmus 4 9 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, p = 3, p 2 = 3, p 3 = 4, p 4 = 4, p 5 = 5, p 6 = 5. D.h. c = 0, c 2 = 0, c 3 = 2, c 4 = 2, c 5 = 2. O((n + ) k (b + ) k /k!) Q = { (0, 0,, 0, 0), (0, 0, 2, 0, 0), (0, 0, 0,, 0), p 2 3 p 3 p 3 p 3 4
107 5:39 Algorithmus 5 9 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, p = 3, p 2 = 3, p 3 = 4, p 4 = 4, p 5 = 5, p 6 = 5. D.h. c = 0, c 2 = 0, c 3 = 2, c 4 = 2, c 5 = 2. O((n + ) k (b + ) k /k!) Q = { (0, 0,, 0, 0), (0, 0, 2, 0, 0), (0, 0, 0,, 0), (0, 0, 0, 2, 0), p 4 4 p 2 3 p 3 p 3 p 3 4 p 3 4
108 5:39 Algorithmus 6 9 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, p = 3, p 2 = 3, p 3 = 4, p 4 = 4, p 5 = 5, p 6 = 5. D.h. c = 0, c 2 = 0, c 3 = 2, c 4 = 2, c 5 = 2. O((n + ) k (b + ) k /k!) Q = { (0, 0,, 0, 0), (0, 0, 2, 0, 0), (0, 0, 0,, 0), (0, 0, 0, 2, 0), (0, 0, 0, 0, ), p 4 4 p 3 p 2 3 p 3 p 3 4 p 3 4 p 5 5
109 5:39 Algorithmus 7 9 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, p = 3, p 2 = 3, p 3 = 4, p 4 = 4, p 5 = 5, p 6 = 5. D.h. c = 0, c 2 = 0, c 3 = 2, c 4 = 2, c 5 = 2. O((n + ) k (b + ) k /k!) Q = { (0, 0,, 0, 0), (0, 0, 2, 0, 0), (0, 0, 0,, 0), (0, 0, 0, 2, 0), (0, 0, 0, 0, ), (0, 0,,, 0), p 3 p 2 3 p 3 p 3 4 p 4 4 p 3 4 p 5 5 p 3 4 p 3
110 5:39 Algorithmus 8 9 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, p = 3, p 2 = 3, p 3 = 4, p 4 = 4, p 5 = 5, p 6 = 5. D.h. c = 0, c 2 = 0, c 3 = 2, c 4 = 2, c 5 = 2. O((n + ) k (b + ) k /k!) Q = { (0, 0,, 0, 0), (0, 0, 2, 0, 0), (0, 0, 0,, 0), (0, 0, 0, 2, 0), (0, 0, 0, 0, ), (0, 0,,, 0), (0, 0,, 0, ) } p 3 p 2 3 p 3 p 3 4 p 4 4 p 3 4 p 5 5 p 3 4 p 3 p 5 5 p 3
111 5:39 Algorithmus 9 9 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, p = 3, p 2 = 3, p 3 = 4, p 4 = 4, p 5 = 5, p 6 = 5. D.h. c = 0, c 2 = 0, c 3 = 2, c 4 = 2, c 5 = 2. O((n + ) k (b + ) k /k!) Q = { (0, 0,, 0, 0), (0, 0, 2, 0, 0), (0, 0, 0,, 0), (0, 0, 0, 2, 0), (0, 0, 0, 0, ), (0, 0,,, 0), (0, 0,, 0, ) } Q = { (, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, ) } 8 p 3 p 2 3 p 3 p 3 4 p 4 4 p 3 4 p 5 5 p 3 4 p 3 p 5 5 p 3
112 5:40 Algorithmus 20 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. O((n + ) k (b + ) k /k!) f (2, 2, 2) = + min Damit gilt f (2, 2, 2) 4. Und weiter 3 f (2, 2, 2) 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) 3 gilt, dann untersuche auch f (, 2, ).
113 5:40 Algorithmus 2 20 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. O((n + ) k (b + ) k /k!) f (, 2, 2) f (2, 2, 2) = + min Damit gilt f (2, 2, 2) 4. Und weiter 3 f (2, 2, 2) 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) 3 gilt, dann untersuche auch f (, 2, ).
114 5:40 Algorithmus 3 20 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min f (, 2, 2) f (0, 2, 2) O((n + ) k (b + ) k /k!) Damit gilt f (2, 2, 2) 4. Und weiter 3 f (2, 2, 2) 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) 3 gilt, dann untersuche auch f (, 2, ).
115 5:40 Algorithmus 4 20 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min f (, 2, 2) f (0, 2, 2) f (2,, 2) O((n + ) k (b + ) k /k!) Damit gilt f (2, 2, 2) 4. Und weiter 3 f (2, 2, 2) 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) 3 gilt, dann untersuche auch f (, 2, ).
116 5:40 Algorithmus 5 20 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min f (, 2, 2) f (0, 2, 2) f (2,, 2) f (2, 0, 2) O((n + ) k (b + ) k /k!) Damit gilt f (2, 2, 2) 4. Und weiter 3 f (2, 2, 2) 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) 3 gilt, dann untersuche auch f (, 2, ).
117 5:40 Algorithmus 6 20 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min f (, 2, 2) f (0, 2, 2) f (2,, 2) f (2, 0, 2) f (2, 2, ) O((n + ) k (b + ) k /k!) Damit gilt f (2, 2, 2) 4. Und weiter 3 f (2, 2, 2) 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) 3 gilt, dann untersuche auch f (, 2, ).
118 5:40 Algorithmus 7 20 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min f (, 2, 2) f (0, 2, 2) f (2,, 2) f (2, 0, 2) f (2, 2, ) f (,, 2) O((n + ) k (b + ) k /k!) Damit gilt f (2, 2, 2) 4. Und weiter 3 f (2, 2, 2) 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) 3 gilt, dann untersuche auch f (, 2, ).
119 5:40 Algorithmus 8 20 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min Damit gilt f (2, 2, 2) 4. f (, 2, 2) f (0, 2, 2) f (2,, 2) f (2, 0, 2) f (2, 2, ) f (,, 2) f (, 2, ) Und weiter 3 f (2, 2, 2) 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) 3 gilt, dann untersuche auch f (, 2, ). O((n + ) k (b + ) k /k!)
120 5:40 Algorithmus 9 20 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min Damit gilt f (2, 2, 2) 4. Und weiter 3 f (2, 2, 2) 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. f (, 2, 2) ( )/8 = 3 f (0, 2, 2) f (2,, 2) f (2, 0, 2) f (2, 2, ) f (,, 2) f (, 2, ) Nur wenn f (2, 0, 2) 3 gilt, dann untersuche auch f (, 2, ). O((n + ) k (b + ) k /k!)
121 5:40 Algorithmus 0 20 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min Damit gilt f (2, 2, 2) 4. Und weiter 3 f (2, 2, 2) 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. f (, 2, 2) ( )/8 = 3 f (0, 2, 2) ( )/8 = 3 f (2,, 2) f (2, 0, 2) f (2, 2, ) f (,, 2) f (, 2, ) Nur wenn f (2, 0, 2) 3 gilt, dann untersuche auch f (, 2, ). O((n + ) k (b + ) k /k!)
122 5:40 Algorithmus 20 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min Damit gilt f (2, 2, 2) 4. Und weiter 3 f (2, 2, 2) 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. f (, 2, 2) ( )/8 = 3 f (0, 2, 2) ( )/8 = 3 f (2,, 2) ( )/8 = 3 f (2, 0, 2) f (2, 2, ) f (,, 2) f (, 2, ) Nur wenn f (2, 0, 2) 3 gilt, dann untersuche auch f (, 2, ). O((n + ) k (b + ) k /k!)
123 5:40 Algorithmus 2 20 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min Damit gilt f (2, 2, 2) 4. Und weiter 3 f (2, 2, 2) 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. f (, 2, 2) ( )/8 = 3 f (0, 2, 2) ( )/8 = 3 f (2,, 2) ( )/8 = 3 f (2, 0, 2) ( )/8 = 2 f (2, 2, ) f (,, 2) f (, 2, ) Nur wenn f (2, 0, 2) 3 gilt, dann untersuche auch f (, 2, ). O((n + ) k (b + ) k /k!)
124 5:40 Algorithmus 3 20 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min Damit gilt f (2, 2, 2) 4. Und weiter 3 f (2, 2, 2) 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. f (, 2, 2) ( )/8 = 3 f (0, 2, 2) ( )/8 = 3 f (2,, 2) ( )/8 = 3 f (2, 0, 2) ( )/8 = 2 f (2, 2, ) ( )/8 = 3 f (,, 2) f (, 2, ) Nur wenn f (2, 0, 2) 3 gilt, dann untersuche auch f (, 2, ). O((n + ) k (b + ) k /k!)
125 5:40 Algorithmus 4 20 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min Damit gilt f (2, 2, 2) 4. Und weiter 3 f (2, 2, 2) 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. f (, 2, 2) ( )/8 = 3 f (0, 2, 2) ( )/8 = 3 f (2,, 2) ( )/8 = 3 f (2, 0, 2) ( )/8 = 2 f (2, 2, ) ( )/8 = 3 f (,, 2) ( )/8 = 3 f (, 2, ) Nur wenn f (2, 0, 2) 3 gilt, dann untersuche auch f (, 2, ). O((n + ) k (b + ) k /k!)
126 5:40 Algorithmus 5 20 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min Damit gilt f (2, 2, 2) 4. Und weiter 3 f (2, 2, 2) 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. f (, 2, 2) ( )/8 = 3 f (0, 2, 2) ( )/8 = 3 f (2,, 2) ( )/8 = 3 f (2, 0, 2) ( )/8 = 2 f (2, 2, ) ( )/8 = 3 f (,, 2) ( )/8 = 3 f (, 2, ) ( )/8 = 2 Nur wenn f (2, 0, 2) 3 gilt, dann untersuche auch f (, 2, ). O((n + ) k (b + ) k /k!)
127 5:40 Algorithmus 6 20 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min Damit gilt f (2, 2, 2) 4. Und weiter 3 f (2, 2, 2) 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. f (, 2, 2) ( )/8 = 3 f (0, 2, 2) ( )/8 = 3 f (2,, 2) ( )/8 = 3 f (2, 0, 2) ( )/8 = 2 f (2, 2, ) = 3 ( )/8 = 3 f (,, 2) ( )/8 = 3 f (, 2, ) ( )/8 = 2 Nur wenn f (2, 0, 2) 3 gilt, dann untersuche auch f (, 2, ). O((n + ) k (b + ) k /k!)
128 5:40 Algorithmus 7 20 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min Damit gilt f (2, 2, 2) 4. Und weiter 3 f (2, 2, 2) 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. f (, 2, 2) ( )/8 = 3 f (0, 2, 2) ( )/8 = 3 f (2,, 2) ( )/8 = 3 f (2, 0, 2) ( )/8 = 2 f (2, 2, ) = 3 ( )/8 = 3 f (,, 2) ( )/8 = 3 f (, 2, ) ( )/8 = 2 Nur wenn f (2, 0, 2) 3 gilt, dann untersuche auch f (, 2, ). O((n + ) k (b + ) k /k!)
129 5:40 Algorithmus 8 20 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min Damit gilt f (2, 2, 2) 4. Und weiter 3 f (2, 2, 2) 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. f (, 2, 2) ( )/8 = 3 f (0, 2, 2) ( )/8 = 3 f (2,, 2) ( )/8 = 3 f (2, 0, 2) ( )/8 = 2 f (2, 2, ) = 3 ( )/8 = 3 f (,, 2) ( )/8 = 3 f (, 2, ) ( )/8 = 2 Nur wenn f (2, 0, 2) 3 gilt, dann untersuche auch f (, 2, ). O((n + ) k (b + ) k /k!)
130 5:40 Algorithmus 9 20 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min Damit gilt f (2, 2, 2) 4. Und weiter 3 f (2, 2, 2) 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. f (, 2, 2) ( )/8 = 3 f (0, 2, 2) ( )/8 = 3 f (2,, 2) ( )/8 = 3 f (2, 0, 2) ( )/8 = 2 f (2, 2, ) = 3 ( )/8 = 3 f (,, 2) ( )/8 = 3 f (, 2, ) ( )/8 = 2 Nur wenn f (2, 0, 2) 3 gilt, dann untersuche auch f (, 2, ). O((n + ) k (b + ) k /k!)
131 5:40 Algorithmus < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min Damit gilt f (2, 2, 2) 4. Und weiter 3 f (2, 2, 2) 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. f (, 2, 2) ( )/8 = 3 f (0, 2, 2) ( )/8 = 3 f (2,, 2) ( )/8 = 3 f (2, 0, 2) ( )/8 = 2 f (2, 2, ) = 3 ( )/8 = 3 f (,, 2) ( )/8 = 3 f (, 2, ) ( )/8 = 2 Nur wenn f (2, 0, 2) 3 gilt, dann untersuche auch f (, 2, ). O((n + ) k (b + ) k /k!)
132 5:4 Algorithmus 8 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min{3, f (2, 0, 2), f (, 2, )} O((n + ) k (b + ) k /k!) f (2, 0, 2) = + min Damit gilt f (2, 0, 2) = 2. Und damit auch f (2, 2, 2) = 3.
133 5:4 Algorithmus 2 8 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min{3, f (2, 0, 2), f (, 2, )} O((n + ) k (b + ) k /k!) f (, 0, 2) f (2, 0, 2) = + min Damit gilt f (2, 0, 2) = 2. Und damit auch f (2, 2, 2) = 3.
134 5:4 Algorithmus 3 8 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min{3, f (2, 0, 2), f (, 2, )} f (2, 0, 2) = + min f (, 0, 2) f (0, 0, 2) O((n + ) k (b + ) k /k!) Damit gilt f (2, 0, 2) = 2. Und damit auch f (2, 2, 2) = 3.
135 5:4 Algorithmus 4 8 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min{3, f (2, 0, 2), f (, 2, )} f (2, 0, 2) = + min f (, 0, 2) f (0, 0, 2) f (2, 0, 2) O((n + ) k (b + ) k /k!) Damit gilt f (2, 0, 2) = 2. Und damit auch f (2, 2, 2) = 3.
136 5:4 Algorithmus 5 8 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min{3, f (2, 0, 2), f (, 2, )} f (2, 0, 2) = + min f (, 0, 2) f (0, 0, 2) f (2, 0, 2) f (2, 0, 2) O((n + ) k (b + ) k /k!) Damit gilt f (2, 0, 2) = 2. Und damit auch f (2, 2, 2) = 3.
137 5:4 Algorithmus 6 8 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min{3, f (2, 0, 2), f (, 2, )} f (2, 0, 2) = + min f (, 0, 2) f (0, 0, 2) f (2, 0, 2) f (2, 0, 2) f (2, 0, ) O((n + ) k (b + ) k /k!) Damit gilt f (2, 0, 2) = 2. Und damit auch f (2, 2, 2) = 3.
138 5:4 Algorithmus 7 8 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min{3, f (2, 0, 2), f (, 2, )} f (2, 0, 2) = + min f (, 0, 2) f (0, 0, 2) f (2, 0, 2) f (2, 0, 2) f (2, 0, ) f (, 0, 2) O((n + ) k (b + ) k /k!) Damit gilt f (2, 0, 2) = 2. Und damit auch f (2, 2, 2) = 3.
139 5:4 Algorithmus 8 8 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min{3, f (2, 0, 2), f (, 2, )} f (2, 0, 2) = + min Damit gilt f (2, 0, 2) = 2. Und damit auch f (2, 2, 2) = 3. f (, 0, 2) f (0, 0, 2) f (2, 0, 2) f (2, 0, 2) f (2, 0, ) f (, 0, 2) f (, 0, ) O((n + ) k (b + ) k /k!)
140 5:4 Algorithmus 9 8 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min{3, f (2, 0, 2), f (, 2, )} f (2, 0, 2) = + min Damit gilt f (2, 0, 2) = 2. Und damit auch f (2, 2, 2) = 3. f (, 0, 2) ( )/8 = 2 f (0, 0, 2) f (2, 0, 2) f (2, 0, 2) f (2, 0, ) f (, 0, 2) f (, 0, ) O((n + ) k (b + ) k /k!)
141 5:4 Algorithmus 0 8 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min{3, f (2, 0, 2), f (, 2, )} f (2, 0, 2) = + min Damit gilt f (2, 0, 2) = 2. Und damit auch f (2, 2, 2) = 3. f (, 0, 2) ( )/8 = 2 f (0, 0, 2) ( )/8 = 2 f (2, 0, 2) f (2, 0, 2) f (2, 0, ) f (, 0, 2) f (, 0, ) O((n + ) k (b + ) k /k!)
142 5:4 Algorithmus 8 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min{3, f (2, 0, 2), f (, 2, )} f (2, 0, 2) = + min Damit gilt f (2, 0, 2) = 2. Und damit auch f (2, 2, 2) = 3. f (, 0, 2) ( )/8 = 2 f (0, 0, 2) ( )/8 = 2 f (2, 0, 2) Keine Lösung f (2, 0, 2) f (2, 0, ) f (, 0, 2) f (, 0, ) O((n + ) k (b + ) k /k!)
143 5:4 Algorithmus 2 8 < > Walter Unger :3 SS205 Z Beispiel Eingabe: m = 3, b = 8, c 3 = 2, c 4 = 2, c 5 = 2. Q = {(, 0, 0), (2, 0, 0), (0,, 0), (0, 2, 0), (0, 0, ), (,, 0), (, 0, )}. f (2, 2, 2) = + min{3, f (2, 0, 2), f (, 2, )} f (2, 0, 2) = + min Damit gilt f (2, 0, 2) = 2. Und damit auch f (2, 2, 2) = 3. f (, 0, 2) ( )/8 = 2 f (0, 0, 2) ( )/8 = 2 f (2, 0, 2) Keine Lösung f (2, 0, 2) Keine Lösung f (2, 0, ) f (, 0, 2) f (, 0, ) O((n + ) k (b + ) k /k!)
Approximationsalgorithmen
Makespan-Scheduling Kapitel 4: Approximationsalgorithmen (dritter Teil) (weitere Beispiele und Illustrationen an der Tafel) Hilfreiche Literatur: Vazarani: Approximation Algorithms, Springer Verlag, 2001.
MehrApproximationsalgorithmen
Effiziente Algorithmen Lösen NP-vollständiger Probleme 320 Approximationsalgorithmen In polynomieller Zeit lässen sich nicht exakte Lösungen von NP-harten Problemen berechnen. Approximationsalgorithmen
MehrApproximationsalgorithmen. 19. Dezember / 28
Approximationsalgorithmen 19. Dezember 2017 1 / 28 Optimierungsprobleme Das Ziel: Bearbeite schwierige Optimierungsprobleme der Form opt y f (x, y) so dass L(x, y). Die Zielfunktion f (x, y) ist zu minimieren
MehrApproximationsschemata
Effiziente Algorithmen Aproximationsalgorithmen 312 Definition Approximationsschemata Sei A(ǫ) ein Approximationsalgorithmus mit einem Parameter ǫ. 1. A(ǫ) ist ein PTAS (polynomial time approximation scheme),
MehrTheoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme
Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien
MehrRandomisierte und Approximative Algorithmen. Prof. Dr. Heiko Röglin Institut für Informatik Universität Bonn
Randomisierte und Approximative Algorithmen Prof. Dr. Heiko Röglin Institut für Informatik Universität Bonn 22. Januar 2018 Inhaltsverzeichnis 1 Einleitung 4 2 Greedy-Algorithmen 6 2.1 Vertex Cover................................
MehrDas Rucksackproblem: schwache NP-Härte und Approximation
Das Rucksackproblem: schwache NP-Härte und Approximation Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1. Februar 2010 Berthold Vöcking, Informatik 1 () Vorlesung
MehrÜbungsblatt 5. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 5 Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Ausgabe 20. Dezember 2017 Abgabe 16. Januar 2018, 11:00 Uhr
MehrÜbung 2 Algorithmen II
Yaroslav Akhremtsev, Demian Hespe yaroslav.akhremtsev@kit.edu, hespe@kit.edu Mit Folien von Michael Axtmann (teilweise) http://algo2.iti.kit.edu/algorithmenii_ws17.php - 0 Akhremtsev, Hespe: KIT Universität
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 Wiederholung TSP: Kurz:
MehrAlgorithmische Graphentheorie
Algorithmische Graphentheorie Walter Unger Lehrstuhl für Informatik I 20. April 2006 1 Einleitung Motivation Cliquenproblem 2 Vertex Cover Greedy 3 Steiner-Bäume 4 TSP Einleitung Approximation Nichtapproximierbarkeit
MehrApproximationsalgorithmen für NP-harte Optimierungsprobleme
Approximationsalgorithmen für NP-harte Optimierungsprobleme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 18 Was tun mit NP-harten Problemen? Viele praxisrelevante
MehrApproximationsalgorithmen für NP-harte Optimierungsprobleme
Approximationsalgorithmen für NP-harte Optimierungsprobleme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 4. Januar 2011 Berthold Vöcking, Informatik 1 () Vorlesung
MehrNäherungsalgorithmen (Approximationsalgorithmen) WiSe 2012/13 in Trier
Näherungsalgorithmen (Approximationsalgorithmen) WiSe 2012/13 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 29. Januar 2013 Näherungsalgorithmen, Fernau, Universität Trier, WiSe 2012/13
MehrÜberblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP
Kap..1 Heuristiken Kap.. Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 3. VO DAP SS 008 14. Juli 009 Überblick
MehrKap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien
Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 23. VO DAP2 SS 2008 14. Juli 2009
MehrAlgorithmische Methoden für schwere Optimierungsprobleme
Algorithmische Methoden für schwere Optimierungsprobleme Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 7. Dezember 2017 INSTITUT FÜR THEORETISCHE 0 07.12.2017 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität
MehrAlgorithmen 2. Kapitel: Approximationsalgorithmen. Thomas Worsch. Fakultät für Informatik Karlsruher Institut für Technologie
Algorithmen 2 Algorithmen 2 Kapitel: Approximationsalgorithmen Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2017/2018 1 / 40 Einleitung Überblick Einleitung
MehrEinführung in Approximationsalgorithmen
Einführung in Approximationsalgorithmen Skript zur Vorlesung Effiziente Algorithmen von Berthold Vöcking, RWTH Aachen 1. Juni 2007 Hilfreiche Literatur Vazirani: Approximation Algorithms, Springer Verlag,
MehrAlgorithmische Methoden für schwere Optimierungsprobleme
Algorithmische Methoden für schwere Optimierungsprobleme Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund
MehrEinführung in Berechenbarkeit, Komplexität und Formale Sprachen
Einführung in Berechenbarkeit, Komplexität und Formale Sprachen V17, 10.12.09 Willkommen zur Vorlesung Einführung in Berechenbarkeit, Komplexität und Formale Sprachen Friedhelm Meyer auf der Heide 1 Rückblick:
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 II
10. Präsenzaufgabenblatt, WiSe 2014/15 Übungstunde am 19.01.2015 Aufgabe Q Betrachten Sie das Knapsackpolytop P = conv(v ) mit V = {x n i=1 a ix i α} {0, 1} n für gegebenes α und a i 0 (insbesondere ist
MehrEinführung in Approximationsalgorithmen
Einführung in Approximationsalgorithmen Skript zur Vorlesung Effiziente Algorithmen von Berthold Vöcking, RWTH Aachen 30. Juli 2008 Hilfreiche Literatur Vazirani: Approximation Algorithms, Springer Verlag,
Mehr21. Greedy Algorithmen. Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3
581 21. Greedy Algorithmen Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3 Aktivitäten Auswahl 582 Koordination von Aktivitäten, die gemeinsame Resource exklusiv
MehrApproximationsklassen für Optimierungsprobleme
Approximationsklassen für Optimierungsprobleme Matthias Erbar 19. September 2007 Inhaltsverzeichnis 1 Einleitung 1 2 Approximationsalgorithmen mit garantierter Güte 2 2.1 Terminologie......................................
MehrGrundlagen: Algorithmen und Datenstrukturen
Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 2011 Übungsblatt 1 16. September 2011 Grundlagen: Algorithmen und
MehrDie dynamische Programmierung 1 / 51
Die dynamische Programmierung 1 / 51 Dynamische Programmierung - Das Ausgangsproblem P 0 wird in Teilprobleme P 1,..., P t aufgebrochen. - Die Teilprobleme werden dann, einer Schwierigkeitshierarchie entsprechend,
MehrAbgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 2 Prof. Dr. Helmut Seidl, S. Pott,
MehrWiederholung. Divide & Conquer Strategie
Wiederholung Divide & Conquer Strategie Binäre Suche O(log n) Rekursives Suchen im linken oder rechten Teilintervall Insertion-Sort O(n 2 ) Rekursives Sortieren von a[1..n-1], a[n] Einfügen von a[n] in
MehrProbleme aus NP und die polynomielle Reduktion
Probleme aus NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 15. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
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 16 Programm: Einführung
MehrApproximationsalgorithmen
Approximationsalgorithmen 1. Vorlesung Joachim Spoerhase Alexander Wolff Lehrstuhl für Informatik I Wintersemester 2017/18 Bücher zur Vorlesung Vijay V. Vazirani Approximation Algorithms Springer-Verlag
MehrAlgorithmische Bioinformatik 1
Algorithmische Bioinformatik 1 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Algorithmen
MehrInformatik III - WS07/08
Informatik III - WS07/08 Kapitel 4 1 Informatik III - WS07/08 Prof. Dr. Dorothea Wagner dwagner@ira.uka.de Kapitel 4 : Komplexitätsklassen Informatik III - WS07/08 Kapitel 4 2 Sprachen, Probleme, Zeitkomplexität
MehrFortgeschrittene Netzwerk- und Graph-Algorithmen
Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester
MehrAlgorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS Oktober 2016
Technische Universität Wien Institut für Computergraphik und Algorithmen Algorithms and Complexity Group 186.815 Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS 2016 5. Oktober 2016 Machen Sie
MehrStefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie
Stefan Schmid TU Berlin & T-Labs, Berlin, Germany Reduktionen in der Berechenbarkeitstheorie Problem: Wie komme ich von hier zum Hamburger Hbf? 2 Beispiel P1 Wie komme ich von hier zum Hamburger Hbf? kann
Mehr20. Dynamic Programming II
Aufgabe 20. Dynamic Programming II Subset Sum Problem, Rucksackproblem, Greedy Algorithmus, Lösungen mit dynamischer Programmierung, FPTAS, Optimaler Suchbaum [Ottman/Widmayer, Kap. 7.2, 7.3, 5.7, Cormen
MehrAlgorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8
ETH Zürich Institut für Theoretische Informatik Prof. Dr. Angelika Steger Florian Meier, Ralph Keusch HS 2017 Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 Lösungsvorschlag zu Aufgabe 1
MehrNäherungsalgorithmen (Approximationsalgorithmen) WiSe 2006/07 in Trier. Henning Fernau Universität Trier
Näherungsalgorithmen (Approximationsalgorithmen) WiSe 2006/07 in Trier Henning Fernau Universität Trier fernau@informatik.uni-trier.de 1 Näherungsalgorithmen Gesamtübersicht Organisatorisches Einführung
Mehr20. Dynamic Programming II
536 20. Dynamic Programming II Subset Sum Problem, Rucksackproblem, Greedy Algorithmus, Lösungen mit dynamischer Programmierung, FPTAS, Optimaler Suchbaum [Ottman/Widmayer, Kap. 7.2, 7.3, 5.7, Cormen et
MehrDie Klasse NP und die polynomielle Reduktion
Die Klasse NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Dezember 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
Mehr1 Einführung in Lineare Programme und Dualität
Gliederung Inhaltsverzeichnis 1 Einführung in Lineare Programme und Dualität 1 1.1 Lineare Programme......................... 1 1.2 Dualität............................... 2 2 Grundlegende Sätze und Definitionen
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
MehrAlgorithmen II Vorlesung am
Algorithmen II Vorlesung am 17.01.013 Parametrisierte Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 20. November 2014 INSTITUT FÜR THEORETISCHE 0 KIT 20.11.2014 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der
Mehr21. Dynamic Programming III
Approximation 21. Dynamic Programming III FPTAS [Ottman/Widmayer, Kap. 7.2, 7.3, Cormen et al, Kap. 15,35.5] Sei ein ε (, 1) gegeben. Sei I eine bestmögliche Auswahl. Suchen eine gültige Auswahl I mit
MehrApproximationsalgorithmen. Approximation im Sinne der Analysis:
Approximationsalgorithmen Ulrich Pferschy 1 Approximationsalgorithmen Approximation im Sinne der Analysis: Satz von Weierstrass: (1815-1897) Sei f eine stetige Funktion auf [a, b]. Dann gibt es zu jedem
MehrDie Klasse NP und die polynomielle Reduktion. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen
Die Klasse NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 26 Optimierungsprobleme und ihre Entscheidungsvariante Beim Rucksackproblem
MehrStatt Turingmaschinen anzugeben, genügt die Angabe eines C++ Programms oder die Angabe eines Pseudocodes.
Turingmaschinen Wir haben Turingmaschinen eingeführt. Bis auf einen polynomiellen Anstieg der Rechenzeit haben Turingmaschinen die Rechenkraft von parallelen Supercomputern! Statt Turingmaschinen anzugeben,
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2007 11. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Das Rucksack-Problem Ein Dieb, der einen Safe
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2009 11. Vorlesung Uwe Quasthoff Universität Leipzig Institut für Informatik quasthoff@informatik.uni-leipzig.de Das Rucksack-Problem Ein Dieb, der einen
MehrKlausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016)
Technische Universität Berlin, Berlin, 28.07.2016 Name:... Matr.-Nr.:... Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016) Einlesezeit: Bearbeitungszeit: Max.
MehrBerechenbarkeit und Komplexität: Polynomielle Reduktion / NP-Vollständigkeit / Satz von Cook und Levin
Berechenbarkeit und Komplexität: Polynomielle Reduktion / NP-Vollständigkeit / Satz von Cook und Levin Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 11. Januar 2008 Wiederholung
MehrKapitel 2. Weitere Beispiele Effizienter Algorithmen
Kapitel 2 Weitere Beispiele Effizienter Algorithmen Sequentielle Suche Gegeben: Array a[1..n] Suche in a nach Element x Ohne weitere Zusatzinformationen: Sequentielle Suche a[1] a[2] a[3] Laufzeit: n Schritte
MehrAlgorithmische Methoden zur Netzwerkanalyse Vorlesung 13, Henning Meyerhenke
Algorithmische Methoden zur Netzwerkanalyse Vorlesung 13, 01.02.2012 Henning Meyerhenke 1 KIT Henning Universität desmeyerhenke: Landes Baden-Württemberg und nationales Algorithmische Forschungszentrum
Mehr6.1. Ein Approximationsalgorithmus für das Rucksackproblem
6.1. Ein Approximationsalgorithmus für das Rucksackproblem Wir erinnern uns an das 0-1-Rucksackproblem: Eingabe: Ganzzahlige Volumina a 1,..., a n > 0, Nutzenwerte c 1,..., c n > 0, ganzzahlige Volumenschranke
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
MehrKlausur Algorithmen und Datenstrukturen II 10. August 2015
Technische Universität Braunschweig Sommersemester 2015 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Dr. Christian Scheffer Klausur Algorithmen und Datenstrukturen
MehrDas Problem des minimalen Steiner-Baumes
Das Problem des minimalen Steiner-Baumes Ein polynomieller Approximationsalgorithmus Benedikt Wagner 4.05.208 INSTITUT FU R THEORETISCHE INFORMATIK, LEHRSTUHL ALGORITHMIK KIT Die Forschungsuniversita t
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 5. Dezember 2017 INSTITUT FÜR THEORETISCHE 0 05.12.2017 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität
MehrAlgorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016
Algorithmen und Datenstrukturen 2 Übung 1 Stefan Florian Palkovits, BSc 0926364 e0926364@student.tuwien.ac.at 12. Juni 2016 Aufgabe 1: Es existiert eine Reduktion von Problem A auf Problem B in O(n 3 +
MehrAlgorithmen II Vorlesung am
Algorithmen II Vorlesung am 24.01.2013 Online Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
MehrSatz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,...
Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,..., k, so dass gilt M = k c i P i i=1 k c i = r. i=1 Diskrete Strukturen 7.1 Matchings
MehrBerechnung approximierter Voronoi-Zellen auf geometrischen Datenströmen
Definition Berechnung approximierter Voronoi-Zellen auf geometrischen Datenströmen Seminar über Algorithmen WS 2005/2006 Vorgetragen von Oliver Rieger und Patrick-Thomas Chmielewski basierend auf der Arbeit
MehrGreedy Algorithms - Gierige Algorithmen
Greedy Algorithms - Gierige Algorithmen Marius Burfey 23. Juni 2009 Inhaltsverzeichnis 1 Greedy Algorithms 1 2 Interval Scheduling - Ablaufplanung 2 2.1 Problembeschreibung....................... 2 2.2
MehrNP-Vollständigkeit des Erfüllbarkeitsproblems
NP-Vollständigkeit des Erfüllbarkeitsproblems Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 25 Def: NP-Härte Definition (NP-Härte) Ein Problem L heißt NP-hart,
MehrKAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN
KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN F. VALLENTIN, A. GUNDERT 1. Definitionen Notation 1.1. Ähnlich wie im vorangegangenen Kapitel zunächst etwas Notation. Wir beschäftigen uns jetzt mit ungerichteten
MehrApproximation im Sinne der Analysis:
1 Approximation im Sinne der Analysis: Satz von Weierstrass: (1815-1897) Sei f eine stetige Funktion auf [a, b]. Dann gibt es zu jedem ε > 0 ein Polynom P ε mit: max x [a,b] f(x) P ε(x) < ε Numerische
MehrÜbung zur Vorlesung Berechenbarkeit und Komplexität
RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 9 10.12.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T20 Beweisen Sie die
Mehr6. Übungsblatt zu Algorithmen II im WS 2011/2012
Karlsruher Institut für Technologie Institut für Theoretische Informatik rof. Dr. eter Sanders Moritz Kobitzsch, Dennis Schieferdecker 6. Übungsblatt zu Algorithmen II im WS 011/01 Aufgabe 1 http://algo.iti.kit.edu/algorithmenii.php
Mehr1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit ** i=1
Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 05/06 ITI Wagner. Musterlösung Problem : Average-case-Laufzeit vs. Worst-case-Laufzeit ** (a) Im schlimmsten Fall werden für jedes Element
MehrAbbildung 1: Reduktion: CLIQUE zu VERTEX-COVER. links: Clique V = {u, v, x, y}. rechts:der Graph Ḡ mit VC V \ V = {w, z}
u v u v z w z w y x y x Abbildung 1: Reduktion: CLIQUE zu VERTEX-COVER. links: Clique V = {u, v, x, y}. rechts:der Graph Ḡ mit VC V \ V = {w, z} Definition 0.0.1 (Vertex Cover (VC)). Gegeben: Ein ungerichteter
MehrKap. 7 Optimierung. Überblick. Optimierung: Einführung. Motivation. Beispiele für Optimierungsprobleme. Rundreiseprobleme (TSP)
Kap. 7 Optimierung Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 22. VO 2. TEIL DAP2 SS 2009 9. Juli 2009 Überblick Einführung Einige klassische Optimierungsprobleme,
MehrAlgorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme
10 Matching-Probleme 10.1 Definition von Matching-Probleme Definition 21 [2-dimensionales Matching] Sei G = (V, E) ein ungerichteter Graph und E E. E ist ein Matching, wenn für alle Kantenpaare e 1, e
MehrInformatik II Greedy-Algorithmen
lausthal Informatik II reedy-algorithmen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Erinnerung: Dynamische Programmierung Zusammenfassung der grundlegenden Idee: Optimale Sub-Struktur:
MehrKlausur Algorithmen und Datenstrukturen II 01. Agust 2016
Technische Universität Braunschweig Sommersemester 2016 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Dr. Christian Scheffer Klausur Algorithmen und Datenstrukturen
MehrRundreiseproblem und Stabilität von Approximationsalg.
Das Rundreiseproblem und Stabilität von Approximationsalgorithmen Friedrich Alexander Universität Erlangen-Nürnberg Seminar Perlen der theoretischen Informatik, 2008-01-19 http://verplant.org/uni/perlen/
MehrInformatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 22 (20.7.2016) Greedy Algorithmen - Datenkompression Algorithmen und Komplexität Greedy Algorithmen Greedy Algorithmen sind eine Algorithmenmethode,
MehrFormale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016
Formale Methoden 2 Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016 Teil 3: Kodierung 1 Motivation 2 Exkurs Grundlagen formaler Sprachen 3 Grundlagen 4 Beispielkodierungen FM2 (WS 2014/15,
MehrSeminar Algorithmentechnik
Seminar Algorithmentechnik Institut für Theoretische Informatik Lehrstuhl für Algorithmik I Prof. Dorothea Wagner Karlsruhe Seminar Institut Algorithmentechnik für Technologie (KIT) Fakultät für Informatik
Mehr7. Sortieren Lernziele. 7. Sortieren
7. Sortieren Lernziele 7. Sortieren Lernziele: Die wichtigsten Sortierverfahren kennen und einsetzen können, Aufwand und weitere Eigenschaften der Sortierverfahren kennen, das Problemlösungsparadigma Teile-und-herrsche
Mehr2.6 Asymptotische Approximation: Min Binpacking
2.6 Asymptotische Approximation: Min Binpacking In diesem Abschnitt geht es die Erscheinung, dass manche Optimierungsprobleme Approximationsalgorithmen haben, die nur für Inputs x mit groÿem Wert m (x)
MehrEin sortiertes Feld kann in O(log n) durchsucht werden, z.b. mit Binärsuche. Der Algorithmus 1 gibt den Pseudocode der binären Suche an.
2.5 Suchen Eine Menge S will nach einem Element durchsucht werden. Die Menge S ist statisch und S = n. S ist Teilmenge eines Universums auf dem eine lineare Ordnung definiert ist und soll so gespeichert
MehrHeuristiken im Kontext von Scheduling
Heuristiken im Kontext von Scheduling Expertenvortrag CoMa SS 09 CoMa SS 09 1/35 Übersicht Motivation Makespan Scheduling Lokale Suche Weitere Metaheuristiken Zusammenfassung Literatur CoMa SS 09 2/35
MehrBetriebswirtschaftliche Optimierung
Institut für Statistik und OR Uni Graz 1 Approximationsalgorithmen auf metrischen Instanzen Minimum Spanning Tree Definition (Spannbaum) Ein Spannbaum in einem Graphen G = (V,E) ist ein kreisfreier Teilgraph
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 17. Vorlesung Nächstes Paar Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Problem: Gegeben: Menge P von n Punkten in der Ebene, jeder Punkt
MehrWir wollen nun die Behauptung beweisen, dass die Laufzeit von SELECT linear ist, also dass T (n) = O(n) gilt.
Abschätzung für die Rekursion von SELECT Wir wollen nun die Behauptung beweisen, dass die Laufzeit von SELECT linear ist, also dass T (n) = O(n) gilt. Wir nehmen erst einmal an, dass eine Konstante d existiert,
MehrWann sind Codes eindeutig entschlüsselbar?
Wann sind Codes eindeutig entschlüsselbar? Definition Suffix Sei C ein Code. Ein Folge s {0, 1} heißt Suffix in C falls 1 c i, c j C : c i = c j s oder 2 c C und einen Suffix s in C: s = cs oder 3 c C
MehrTheoretische Informatik 1
Theoretische Informatik 1 Approximierbarkeit David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 10.06.2016 Übersicht Das Problem des Handelsreisenden TSP EUCLIDEAN-TSP
MehrAbschnitt 19: Sortierverfahren
Abschnitt 19: Sortierverfahren 19. Sortierverfahren 19.1 Allgemeines 19.2 Einfache Sortierverfahren 19.3 Effizientes Sortieren: Quicksort 19.4 Zusammenfassung 19 Sortierverfahren Informatik 2 (SS 07) 758
MehrGraphen KAPITEL 3. Dieses Problem wird durch folgenden Graph modelliert:
KAPITEL 3 Graphen Man kann als Ursprung der Graphentheorie ein Problem sehen, welches Euler 1736 von Studenten aus Königsberg gestellt bekam. Der Fluss Pregel wird von 7 Brücken überquert, und die Frage
MehrTeil III. Komplexitätstheorie
Teil III Komplexitätstheorie 125 / 160 Übersicht Die Klassen P und NP Die Klasse P Die Klassen NP NP-Vollständigkeit NP-Vollständige Probleme Weitere NP-vollständige Probleme 127 / 160 Die Klasse P Ein
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Map Labeling INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
MehrDie Nerode-Relation und der Index einer Sprache L
Die Nerode-Relation und der Index einer Sprache L Eine zweite zentrale Idee: Sei A ein vollständiger DFA für die Sprache L. Repäsentiere einen beliebigen Zustand p von A durch die Worte in Σ, die zu p
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 26. Vorlesung Greedy- und Approximationsalgorithmen Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Operations Research Optimierung für Wirtschaftsabläufe:
MehrSeminar. Algorithmische Geometrie
Seminar Algorithmische Geometrie WS 2000/2001 Thema: Konvexe Hülle Mirko Dennler 21439 Inhaltsverzeichnis Konvexe Hülle 1. Problemstellung 3 2. GRAHAMS SCAN 4-5 3. JARVIS' MARCH 5-6 4. QUICK HULL 6-7 5.
Mehr