vorlesung algorithmen ii - kit - iti algorithmik · algorithmen ii – wintersemester 2013/2014...
TRANSCRIPT
![Page 1: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/1.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Algorithmen IIVorlesung am 07.01.2014
www.kit.eduKIT – Universitat des Landes Baden-Wurttemberg undnationales Forschungszentrum in der Helmholtz-Gemeinschaft
INSTITUT FUR THEORETISCHE INFORMATIK · PROF. DR. DOROTHEA WAGNER
Approximierende Algorithmen: Grundlagen, Knapsack, TSP
![Page 2: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/2.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Einfuhrung
![Page 3: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/3.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
KNAPSACK
Problem: KNAPSACK
Finde Anzahlen x1, . . . , xn ∈ N0, sodassn∑
i=0xiwi ≤ W und
n∑i=1
xici maximal ist.
Rucksack mit Maximalgewicht WMenge M = {1, . . . , n} mit n Gegenstanden
Jeder Gegenstand i hat Kosten (eigentlich Nutzen) ci ∈ N0.
hat ein Gewicht wi ∈ N.
kann beliebig oft eingepackt werden.
Gesamtgewicht Gesamtkosten
![Page 4: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/4.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
KNAPSACK
Problem: KNAPSACK
Finde Anzahlen x1, . . . , xn ∈ N0, sodassn∑
i=0xiwi ≤ W und
n∑i=1
xici maximal ist.
Rucksack mit Maximalgewicht WMenge M = {1, . . . , n} mit n Gegenstanden
Jeder Gegenstand i hat Kosten (eigentlich Nutzen) ci ∈ N0.
hat ein Gewicht wi ∈ N.
kann beliebig oft eingepackt werden.
Gesamtgewicht GesamtkostenKNAPSACK ist NP-schwer.
Damit kann KNAPSACK (wie viele andere Probleme) vermutlich nicht effizientund optimal gelost werden.
![Page 5: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/5.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Approximation
Losungsansatz fur NP-schwere ProblemeFinde Algorithmus, der effizient ist, aber ggf. nicht die optimale Losung liefert.
Der Algorithmus soll trotzdem eine beweisbar gute Losung liefern.Wie misst man das?
![Page 6: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/6.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Approximation
Losungsansatz fur NP-schwere ProblemeFinde Algorithmus, der effizient ist, aber ggf. nicht die optimale Losung liefert.
Der Algorithmus soll trotzdem eine beweisbar gute Losung liefern.Wie misst man das?
Definition: Absoluter Approximationsalgorithmus (Definition 4.36)
Sei Π ein Optimierungsproblem. Ein polynomieller Algorithmus A, der fur jedeInstanz I einen Wert A(I) liefert, mit
|OPT(I)−A(I)| ≤ K
und K ∈ N0 konstant, heißt Approximationsalgorithmus mit Differenzengarantieoder absoluter Approximationsalgorithmus.
![Page 7: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/7.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Approximation
Losungsansatz fur NP-schwere ProblemeFinde Algorithmus, der effizient ist, aber ggf. nicht die optimale Losung liefert.
Der Algorithmus soll trotzdem eine beweisbar gute Losung liefern.Wie misst man das?
Definition: Absoluter Approximationsalgorithmus (Definition 4.36)
Sei Π ein Optimierungsproblem. Ein polynomieller Algorithmus A, der fur jedeInstanz I einen Wert A(I) liefert, mit
|OPT(I)−A(I)| ≤ K
und K ∈ N0 konstant, heißt Approximationsalgorithmus mit Differenzengarantieoder absoluter Approximationsalgorithmus.
Satz: Negatives Ergebnis (ohne Beweis) (Satz 4.37)
Falls P 6= NP, so gibt es keinen absoluten Approximationsalgo fur KNAPSACK.
Fur die meisten NP-schweren Probleme gibt es keinen Approximationsalgorithmusmit absoluter Gute.
![Page 8: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/8.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Relative Approximation – KNAPSACK
![Page 9: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/9.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Approximationsalgorithmen
Definition: Gutegarantie (Definition 4.39)
Die Approximationsgute RA eines Approximationsalgorithmus ist definiert als
RA = inf{r ≥ 1 | RA(I) ≤ r fur alle Instanzen I von Π}.
A heißt ε-approximierend, falls RA ≤ 1 + ε.
Definition: Approximationsalgorithmus (Definition 4.39)
Sei Π ein Optimierungsproblem, sowie A ein polynomieller Algorithmus, der furjede Instanz I von Π eine Losung mit Wert A(I) liefert.
Sei RA(I) =
A(I)
OPT(I) falls Π Minimierungsproblem
OPT(I)A(I) falls Π Maximierungsproblem
Wenn es einen Konstante K gibt, sodassRA(I) ≤ K fur alle Instanzen I, dann istA ein Approximationsalgorithmus mit relativer Gutegarantie.
![Page 10: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/10.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Greedy-Algorithmus fur KNAPSACK
Idee: Wahle Elemente mit moglichst hoher Gewichtsdichte.GREEDY KNAPSACK(M , {c1, . . . , cn}, {w1, . . . , wn}, W )
for i ∈ M dopi ← ci
wi
Sortiere Gegenstande, sodass p1 ≥ p2 ≥ · · · ≥ pn.
for i ∈ M do
xi ←⌊
Wwi
⌋W ←W − xi · wi
sortiere nach Gewichtsdichte
wahle bevorzugt dichte Elemente
O(n log n)
![Page 11: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/11.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Greedy-Algorithmus fur KNAPSACK
Idee: Wahle Elemente mit moglichst hoher Gewichtsdichte.GREEDY KNAPSACK(M , {c1, . . . , cn}, {w1, . . . , wn}, W )
for i ∈ M dopi ← ci
wi
Sortiere Gegenstande, sodass p1 ≥ p2 ≥ · · · ≥ pn.
for i ∈ M do
xi ←⌊
Wwi
⌋W ←W − xi · wi
sortiere nach Gewichtsdichte
wahle bevorzugt dichte Elemente
O(n log n)
Satz: Approximation (Satz 4.40)
Sei A der Algorithmus GREEDY KNAPSACK. A hat Approximationsgute RA ≤ 2.
![Page 12: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/12.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Greedy-Algorithmus fur KNAPSACK
Idee: Wahle Elemente mit moglichst hoher Gewichtsdichte.GREEDY KNAPSACK(M , {c1, . . . , cn}, {w1, . . . , wn}, W )
for i ∈ M dopi ← ci
wi
Sortiere Gegenstande, sodass p1 ≥ p2 ≥ · · · ≥ pn.
for i ∈ M do
xi ←⌊
Wwi
⌋W ←W − xi · wi
sortiere nach Gewichtsdichte
wahle bevorzugt dichte Elemente
O(n log n)
Satz: Approximation (Satz 4.40)
Sei A der Algorithmus GREEDY KNAPSACK. A hat Approximationsgute RA ≤ 2.
Beweis: O.B.d.A. sei w1 ≤ W .
Fur alle Instanzen I gilt: A(I) ≥ c1 · x1 = c1 ·⌊
Ww1
⌋
⇒RA(I) = OPT(I)A(I) ≤ 2.
Außerdem gilt: OPT(I) ≤ c1 · Ww1≤ c1 ·
(⌊Ww1
⌋+ 1)≤ 2 · c1 ·
⌊Ww1
⌋≤ 2 · A(I)
![Page 13: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/13.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Relative Approximation – TSP
![Page 14: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/14.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
TSP
Problem: TSP (TRAVELLING SALESMAN PROBLEM)Finde eine kurzeste Rundreise (ein kurzester Kreis, der alle Knoten besucht).
Vollstandiger Graph G = (V , E) mit Gewichtsfunktion c : E → N
10
10
714
9
9
5
5
6 13
![Page 15: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/15.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
TSP
Problem: TSP (TRAVELLING SALESMAN PROBLEM)Finde eine kurzeste Rundreise (ein kurzester Kreis, der alle Knoten besucht).
Vollstandiger Graph G = (V , E) mit Gewichtsfunktion c : E → N
10
10
714
9
9
5
5
6 13
Gewicht: 40
![Page 16: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/16.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
TSP
Problem: TSP (TRAVELLING SALESMAN PROBLEM)Finde eine kurzeste Rundreise (ein kurzester Kreis, der alle Knoten besucht).
Vollstandiger Graph G = (V , E) mit Gewichtsfunktion c : E → N
10
10
714
9
9
5
5
6 13
Gewicht: 39
![Page 17: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/17.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
TSP
Problem: TSP (TRAVELLING SALESMAN PROBLEM)Finde eine kurzeste Rundreise (ein kurzester Kreis, der alle Knoten besucht).
Vollstandiger Graph G = (V , E) mit Gewichtsfunktion c : E → N
10
10
714
9
9
5
5
6 13
Gewicht: 39
Einschrankung: Wir nehmen an, dass die Dreiecksungleichung gilt.
ab
≤ a + b
![Page 18: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/18.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
2-ApproximationSchritt 1 Schritt 2
Schritt 3
Berechne minimalen Spannbaum desEingabegraphen
Tiefensuch-Tour T durch den MSTUnschon: Tour ist kein einfacher Kreis
TSP-Tour als abgekurzteTiefensuch-Tour T ′
(Schon besuchte Knoten werden einfachubersprungen.)
![Page 19: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/19.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
2-ApproximationSchritt 1 Schritt 2
Schritt 3
Berechne minimalen Spannbaum desEingabegraphen
Tiefensuch-Tour T durch den MSTUnschon: Tour ist kein einfacher Kreis
TSP-Tour als abgekurzteTiefensuch-Tour T ′
(Schon besuchte Knoten werden einfachubersprungen.)
Satz: Approximation (Satz 4.43)
Fur TSP existiert ein Approximationsal-gorithmus A mit RA ≤ 2.
Beweis:
![Page 20: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/20.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
2-ApproximationSchritt 1 Schritt 2
Schritt 3
Berechne minimalen Spannbaum desEingabegraphen
Tiefensuch-Tour T durch den MSTUnschon: Tour ist kein einfacher Kreis
TSP-Tour als abgekurzteTiefensuch-Tour T ′
(Schon besuchte Knoten werden einfachubersprungen.)
Wegen der Dreiecksungleichung gilt:c(T ′) ≤ c(T ) = 2 · c(MST)
(c(X ) ist Summe aller Kantengewichte in X )
Satz: Approximation (Satz 4.43)
Fur TSP existiert ein Approximationsal-gorithmus A mit RA ≤ 2.
Beweis:
![Page 21: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/21.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
2-ApproximationSchritt 1 Schritt 2
Schritt 3
Berechne minimalen Spannbaum desEingabegraphen
Tiefensuch-Tour T durch den MSTUnschon: Tour ist kein einfacher Kreis
TSP-Tour als abgekurzteTiefensuch-Tour T ′
(Schon besuchte Knoten werden einfachubersprungen.)
Wegen der Dreiecksungleichung gilt:c(T ′) ≤ c(T ) = 2 · c(MST)
(c(X ) ist Summe aller Kantengewichte in X )
TSP-Tour ist aufspannender Baum miteiner zusatzlichen Kante.⇒ c(MST) ≤ c(OPT)
Satz: Approximation (Satz 4.43)
Fur TSP existiert ein Approximationsal-gorithmus A mit RA ≤ 2.
Beweis:
![Page 22: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/22.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Approximationsschemata – KNAPSACK
![Page 23: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/23.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Approximationsschemata
Beachte: Die Laufzeit jedes Algorithmus Aε ist nur polynomiell in der Eingabe-große und kann stark von ε abhangen.
Beispiel:
Laufzeit O(
n2 + n1ε
)fur Aε:→ PAS aber kein FPAS
Laufzeit O(√
n · 3 1ε
)fur Aε:→ PAS aber kein FPAS
Laufzeit O(
n4 ·(
1ε
)2)
fur Aε:→ FPAS
Definition: PAS (Definition 4.44)
Ein (polynomielles) Approximationsschema (PAS) fur ein Optimierungsproblem Πist eine Familie von Algorithmen {Aε | ε > 0}, sodassAε ein ε-approximierenderAlgorithmus ist. (haufig auch PTAS genannt)
Definition: FPAS (Definition 4.44)
Ein Approximationsschema {Aε | ε > 0} heißt vollpolynomiell (FPAS), falls dieLaufzeit jedes Aε zusatzlich polynomiell in 1
εist. (haufig auch FPTAS genannt)
![Page 24: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/24.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
KNAPSACK
Problem: KNAPSACK
Finde Teilmenge M ′ ⊆ M, sodass∑
i∈M′wi ≤ W und
∑i∈M′
ci maximal ist.
Rucksack mit Maximalgewicht WMenge M = {1, . . . , n} mit n Gegenstanden
Jeder Gegenstand i hat Kosten (eigentlich Nutzen) ci ∈ N0.
hat ein Gewicht wi ∈ N.
kann nur einmal eingepackt werden.
Gesamtgewicht Gesamtkosten
Diese Variante von KNAPSACK ist ebenfalls NP-schwer.
Achtung: Vorhin wurde eine andere Variante von KNAPSACK betrachtet.→ Jetzt kann jedes Element nur einmal eingepackt werden.
![Page 25: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/25.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Idee: Berechne Gewicht w jr fur alle ”sinnvollen“ r und j , mit:
w jr = min
M′⊆{1,...,j}
{∑i∈M′
wi
∣∣∣∣∣ ∑i∈M′
ci = r
}fixe Gesamtkosten (Nutzen)minimiere Gewicht
Einschrankung der moglichen Elemente
![Page 26: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/26.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Idee: Berechne Gewicht w jr fur alle ”sinnvollen“ r und j , mit:
w jr = min
M′⊆{1,...,j}
{∑i∈M′
wi
∣∣∣∣∣ ∑i∈M′
ci = r
}fixe Gesamtkosten (Nutzen)minimiere Gewicht
Einschrankung der moglichen Elemente
Initialisierung: w j0 = 0 und w j
r =∞ fur r 6= 0
wahle kein Element um Nutzen 0 zu erhalten
![Page 27: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/27.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Idee: Berechne Gewicht w jr fur alle ”sinnvollen“ r und j , mit:
w jr = min
M′⊆{1,...,j}
{∑i∈M′
wi
∣∣∣∣∣ ∑i∈M′
ci = r
}fixe Gesamtkosten (Nutzen)minimiere Gewicht
Einschrankung der moglichen Elemente
Initialisierung: w j0 = 0 und w j
r =∞ fur r 6= 0
wahle kein Element um Nutzen 0 zu erhalten
Berechne: w jr = min
{w j−1
r−cj+ wj , w j−1
r
}Element j wird gewahlt Element j wird nicht gewahlt
![Page 28: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/28.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Idee: Berechne Gewicht w jr fur alle ”sinnvollen“ r und j , mit:
w jr = min
M′⊆{1,...,j}
{∑i∈M′
wi
∣∣∣∣∣ ∑i∈M′
ci = r
}fixe Gesamtkosten (Nutzen)minimiere Gewicht
Einschrankung der moglichen Elemente
−2−101234567
0 1 2 43Initialisierung: w j0 = 0 und w j
r =∞ fur r 6= 0
wahle kein Element um Nutzen 0 zu erhalten
Berechne: w jr = min
{w j−1
r−cj+ wj , w j−1
r
}Element j wird gewahlt Element j wird nicht gewahlt
Beispiel: W = 10
ci
wi
i 1 2 432 1 133 3 25
jr
0 0 0 0 0
leeres Kastchen =∞
c =∑i∈M
ci
∞∞∞∞∞∞∞∞∞∞
∞∞∞∞∞∞∞
![Page 29: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/29.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Idee: Berechne Gewicht w jr fur alle ”sinnvollen“ r und j , mit:
w jr = min
M′⊆{1,...,j}
{∑i∈M′
wi
∣∣∣∣∣ ∑i∈M′
ci = r
}fixe Gesamtkosten (Nutzen)minimiere Gewicht
Einschrankung der moglichen Elemente
−2−101234567
0 1 2 43Initialisierung: w j0 = 0 und w j
r =∞ fur r 6= 0
wahle kein Element um Nutzen 0 zu erhalten
Berechne: w jr = min
{w j−1
r−cj+ wj , w j−1
r
}Element j wird gewahlt Element j wird nicht gewahlt
Beispiel: W = 10
ci
wi
i 1 2 432 1 133 3 25
jr
0 0 0 0 0
leeres Kastchen =∞
c =∑i∈M
ci
∞∞∞∞∞∞∞∞∞∞
∞∞∞∞∞∞∞
∞
![Page 30: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/30.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Idee: Berechne Gewicht w jr fur alle ”sinnvollen“ r und j , mit:
w jr = min
M′⊆{1,...,j}
{∑i∈M′
wi
∣∣∣∣∣ ∑i∈M′
ci = r
}fixe Gesamtkosten (Nutzen)minimiere Gewicht
Einschrankung der moglichen Elemente
−2−101234567
0 1 2 43Initialisierung: w j0 = 0 und w j
r =∞ fur r 6= 0
wahle kein Element um Nutzen 0 zu erhalten
Berechne: w jr = min
{w j−1
r−cj+ wj , w j−1
r
}Element j wird gewahlt Element j wird nicht gewahlt
Beispiel: W = 10
ci
wi
i 1 2 432 1 133 3 25
jr
0 0 0 0 0
leeres Kastchen =∞
c =∑i∈M
ci
∞∞∞∞∞∞∞∞∞∞
∞∞∞∞∞∞∞
∞3
![Page 31: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/31.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Idee: Berechne Gewicht w jr fur alle ”sinnvollen“ r und j , mit:
w jr = min
M′⊆{1,...,j}
{∑i∈M′
wi
∣∣∣∣∣ ∑i∈M′
ci = r
}fixe Gesamtkosten (Nutzen)minimiere Gewicht
Einschrankung der moglichen Elemente
−2−101234567
0 1 2 43Initialisierung: w j0 = 0 und w j
r =∞ fur r 6= 0
wahle kein Element um Nutzen 0 zu erhalten
Berechne: w jr = min
{w j−1
r−cj+ wj , w j−1
r
}Element j wird gewahlt Element j wird nicht gewahlt
Beispiel: W = 10
ci
wi
i 1 2 432 1 133 3 25
jr
0 0 0 0 0
leeres Kastchen =∞
c =∑i∈M
ci
∞∞∞∞∞∞∞∞∞∞
∞∞∞∞∞∞∞
∞3∞
![Page 32: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/32.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Idee: Berechne Gewicht w jr fur alle ”sinnvollen“ r und j , mit:
w jr = min
M′⊆{1,...,j}
{∑i∈M′
wi
∣∣∣∣∣ ∑i∈M′
ci = r
}fixe Gesamtkosten (Nutzen)minimiere Gewicht
Einschrankung der moglichen Elemente
−2−101234567
0 1 2 43Initialisierung: w j0 = 0 und w j
r =∞ fur r 6= 0
wahle kein Element um Nutzen 0 zu erhalten
Berechne: w jr = min
{w j−1
r−cj+ wj , w j−1
r
}Element j wird gewahlt Element j wird nicht gewahlt
Beispiel: W = 10
ci
wi
i 1 2 432 1 133 3 25
jr
0 0 0 0 0
leeres Kastchen =∞
c =∑i∈M
ci
∞∞∞∞∞∞∞∞∞∞
∞∞∞∞∞∞∞
∞3∞∞
![Page 33: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/33.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Idee: Berechne Gewicht w jr fur alle ”sinnvollen“ r und j , mit:
w jr = min
M′⊆{1,...,j}
{∑i∈M′
wi
∣∣∣∣∣ ∑i∈M′
ci = r
}fixe Gesamtkosten (Nutzen)minimiere Gewicht
Einschrankung der moglichen Elemente
−2−101234567
0 1 2 43Initialisierung: w j0 = 0 und w j
r =∞ fur r 6= 0
wahle kein Element um Nutzen 0 zu erhalten
Berechne: w jr = min
{w j−1
r−cj+ wj , w j−1
r
}Element j wird gewahlt Element j wird nicht gewahlt
Beispiel: W = 10
ci
wi
i 1 2 432 1 133 3 25
jr
0 0 0 0 0
leeres Kastchen =∞
c =∑i∈M
ci
∞∞∞∞∞∞∞∞∞∞
∞∞∞∞∞∞∞
∞3∞∞∞
![Page 34: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/34.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Idee: Berechne Gewicht w jr fur alle ”sinnvollen“ r und j , mit:
w jr = min
M′⊆{1,...,j}
{∑i∈M′
wi
∣∣∣∣∣ ∑i∈M′
ci = r
}fixe Gesamtkosten (Nutzen)minimiere Gewicht
Einschrankung der moglichen Elemente
−2−101234567
0 1 2 43Initialisierung: w j0 = 0 und w j
r =∞ fur r 6= 0
wahle kein Element um Nutzen 0 zu erhalten
Berechne: w jr = min
{w j−1
r−cj+ wj , w j−1
r
}Element j wird gewahlt Element j wird nicht gewahlt
Beispiel: W = 10
ci
wi
i 1 2 432 1 133 3 25
jr
0 0 0 0 0
leeres Kastchen =∞
c =∑i∈M
ci
∞∞∞∞∞∞∞∞∞∞
∞∞∞∞∞∞∞
∞3∞∞∞∞
![Page 35: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/35.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Idee: Berechne Gewicht w jr fur alle ”sinnvollen“ r und j , mit:
w jr = min
M′⊆{1,...,j}
{∑i∈M′
wi
∣∣∣∣∣ ∑i∈M′
ci = r
}fixe Gesamtkosten (Nutzen)minimiere Gewicht
Einschrankung der moglichen Elemente
−2−101234567
0 1 2 43Initialisierung: w j0 = 0 und w j
r =∞ fur r 6= 0
wahle kein Element um Nutzen 0 zu erhalten
Berechne: w jr = min
{w j−1
r−cj+ wj , w j−1
r
}Element j wird gewahlt Element j wird nicht gewahlt
Beispiel: W = 10
ci
wi
i 1 2 432 1 133 3 25
jr
0 0 0 0 0
leeres Kastchen =∞
c =∑i∈M
ci
∞∞∞∞∞∞∞∞∞∞
∞∞∞∞∞∞∞
∞3∞∞∞∞∞
![Page 36: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/36.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Idee: Berechne Gewicht w jr fur alle ”sinnvollen“ r und j , mit:
w jr = min
M′⊆{1,...,j}
{∑i∈M′
wi
∣∣∣∣∣ ∑i∈M′
ci = r
}fixe Gesamtkosten (Nutzen)minimiere Gewicht
Einschrankung der moglichen Elemente
−2−101234567
0 1 2 43Initialisierung: w j0 = 0 und w j
r =∞ fur r 6= 0
wahle kein Element um Nutzen 0 zu erhalten
Berechne: w jr = min
{w j−1
r−cj+ wj , w j−1
r
}Element j wird gewahlt Element j wird nicht gewahlt
Beispiel: W = 10
ci
wi
i 1 2 432 1 133 3 25
jr
0 0 0 0 0
leeres Kastchen =∞
c =∑i∈M
ci
∞∞∞∞∞∞∞∞∞∞
∞∞∞∞∞∞∞
∞3∞∞∞∞∞
3
![Page 37: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/37.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Idee: Berechne Gewicht w jr fur alle ”sinnvollen“ r und j , mit:
w jr = min
M′⊆{1,...,j}
{∑i∈M′
wi
∣∣∣∣∣ ∑i∈M′
ci = r
}fixe Gesamtkosten (Nutzen)minimiere Gewicht
Einschrankung der moglichen Elemente
−2−101234567
0 1 2 43Initialisierung: w j0 = 0 und w j
r =∞ fur r 6= 0
wahle kein Element um Nutzen 0 zu erhalten
Berechne: w jr = min
{w j−1
r−cj+ wj , w j−1
r
}Element j wird gewahlt Element j wird nicht gewahlt
Beispiel: W = 10
ci
wi
i 1 2 432 1 133 3 25
jr
0 0 0 0 0
leeres Kastchen =∞
c =∑i∈M
ci
∞∞∞∞∞∞∞∞∞∞
∞∞∞∞∞∞∞
∞3∞∞∞∞∞
33
![Page 38: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/38.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Idee: Berechne Gewicht w jr fur alle ”sinnvollen“ r und j , mit:
w jr = min
M′⊆{1,...,j}
{∑i∈M′
wi
∣∣∣∣∣ ∑i∈M′
ci = r
}fixe Gesamtkosten (Nutzen)minimiere Gewicht
Einschrankung der moglichen Elemente
−2−101234567
0 1 2 43Initialisierung: w j0 = 0 und w j
r =∞ fur r 6= 0
wahle kein Element um Nutzen 0 zu erhalten
Berechne: w jr = min
{w j−1
r−cj+ wj , w j−1
r
}Element j wird gewahlt Element j wird nicht gewahlt
Beispiel: W = 10
ci
wi
i 1 2 432 1 133 3 25
jr
0 0 0 0 0
leeres Kastchen =∞
c =∑i∈M
ci
∞∞∞∞∞∞∞∞∞∞
∞∞∞∞∞∞∞
∞3∞∞∞∞∞
336
![Page 39: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/39.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Idee: Berechne Gewicht w jr fur alle ”sinnvollen“ r und j , mit:
w jr = min
M′⊆{1,...,j}
{∑i∈M′
wi
∣∣∣∣∣ ∑i∈M′
ci = r
}fixe Gesamtkosten (Nutzen)minimiere Gewicht
Einschrankung der moglichen Elemente
−2−101234567
0 1 2 43Initialisierung: w j0 = 0 und w j
r =∞ fur r 6= 0
wahle kein Element um Nutzen 0 zu erhalten
Berechne: w jr = min
{w j−1
r−cj+ wj , w j−1
r
}Element j wird gewahlt Element j wird nicht gewahlt
Beispiel: W = 10
ci
wi
i 1 2 432 1 133 3 25
jr
0 0 0 0 0
leeres Kastchen =∞
c =∑i∈M
ci
∞∞∞∞∞∞∞∞∞∞
∞∞∞∞∞∞∞
∞3∞∞∞∞∞
336∞∞
∞∞
![Page 40: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/40.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Idee: Berechne Gewicht w jr fur alle ”sinnvollen“ r und j , mit:
w jr = min
M′⊆{1,...,j}
{∑i∈M′
wi
∣∣∣∣∣ ∑i∈M′
ci = r
}fixe Gesamtkosten (Nutzen)minimiere Gewicht
Einschrankung der moglichen Elemente
−2−101234567
0 1 2 43Initialisierung: w j0 = 0 und w j
r =∞ fur r 6= 0
wahle kein Element um Nutzen 0 zu erhalten
Berechne: w jr = min
{w j−1
r−cj+ wj , w j−1
r
}Element j wird gewahlt Element j wird nicht gewahlt
Beispiel: W = 10
ci
wi
i 1 2 432 1 133 3 25
jr
0 0 0 0 0
leeres Kastchen =∞
c =∑i∈M
ci
∞∞∞∞∞∞∞∞∞∞
∞∞∞∞∞∞∞
∞3∞∞∞∞∞
336∞∞
∞∞
3
![Page 41: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/41.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Idee: Berechne Gewicht w jr fur alle ”sinnvollen“ r und j , mit:
w jr = min
M′⊆{1,...,j}
{∑i∈M′
wi
∣∣∣∣∣ ∑i∈M′
ci = r
}fixe Gesamtkosten (Nutzen)minimiere Gewicht
Einschrankung der moglichen Elemente
−2−101234567
0 1 2 43Initialisierung: w j0 = 0 und w j
r =∞ fur r 6= 0
wahle kein Element um Nutzen 0 zu erhalten
Berechne: w jr = min
{w j−1
r−cj+ wj , w j−1
r
}Element j wird gewahlt Element j wird nicht gewahlt
Beispiel: W = 10
ci
wi
i 1 2 432 1 133 3 25
jr
0 0 0 0 0
leeres Kastchen =∞
c =∑i∈M
ci
∞∞∞∞∞∞∞∞∞∞
∞∞∞∞∞∞∞
∞3∞∞∞∞∞
336∞∞
∞∞
33
![Page 42: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/42.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Idee: Berechne Gewicht w jr fur alle ”sinnvollen“ r und j , mit:
w jr = min
M′⊆{1,...,j}
{∑i∈M′
wi
∣∣∣∣∣ ∑i∈M′
ci = r
}fixe Gesamtkosten (Nutzen)minimiere Gewicht
Einschrankung der moglichen Elemente
−2−101234567
0 1 2 43Initialisierung: w j0 = 0 und w j
r =∞ fur r 6= 0
wahle kein Element um Nutzen 0 zu erhalten
Berechne: w jr = min
{w j−1
r−cj+ wj , w j−1
r
}Element j wird gewahlt Element j wird nicht gewahlt
Beispiel: W = 10
ci
wi
i 1 2 432 1 133 3 25
jr
0 0 0 0 0
leeres Kastchen =∞
c =∑i∈M
ci
∞∞∞∞∞∞∞∞∞∞
∞∞∞∞∞∞∞
∞3∞∞∞∞∞
336∞∞
∞∞
335
![Page 43: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/43.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Idee: Berechne Gewicht w jr fur alle ”sinnvollen“ r und j , mit:
w jr = min
M′⊆{1,...,j}
{∑i∈M′
wi
∣∣∣∣∣ ∑i∈M′
ci = r
}fixe Gesamtkosten (Nutzen)minimiere Gewicht
Einschrankung der moglichen Elemente
−2−101234567
0 1 2 43Initialisierung: w j0 = 0 und w j
r =∞ fur r 6= 0
wahle kein Element um Nutzen 0 zu erhalten
Berechne: w jr = min
{w j−1
r−cj+ wj , w j−1
r
}Element j wird gewahlt Element j wird nicht gewahlt
Beispiel: W = 10
ci
wi
i 1 2 432 1 133 3 25
jr
0 0 0 0 0
leeres Kastchen =∞
c =∑i∈M
ci
∞∞∞∞∞∞∞∞∞∞
∞∞∞∞∞∞∞
∞3∞∞∞∞∞
336∞∞
∞∞
3358
![Page 44: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/44.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Idee: Berechne Gewicht w jr fur alle ”sinnvollen“ r und j , mit:
w jr = min
M′⊆{1,...,j}
{∑i∈M′
wi
∣∣∣∣∣ ∑i∈M′
ci = r
}fixe Gesamtkosten (Nutzen)minimiere Gewicht
Einschrankung der moglichen Elemente
−2−101234567
0 1 2 43Initialisierung: w j0 = 0 und w j
r =∞ fur r 6= 0
wahle kein Element um Nutzen 0 zu erhalten
Berechne: w jr = min
{w j−1
r−cj+ wj , w j−1
r
}Element j wird gewahlt Element j wird nicht gewahlt
Beispiel: W = 10
ci
wi
i 1 2 432 1 133 3 25
jr
0 0 0 0 0
leeres Kastchen =∞
c =∑i∈M
ci
∞∞∞∞∞∞∞∞∞∞
∞∞∞∞∞∞∞
∞3∞∞∞∞∞
336∞∞
∞∞
33588
![Page 45: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/45.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Idee: Berechne Gewicht w jr fur alle ”sinnvollen“ r und j , mit:
w jr = min
M′⊆{1,...,j}
{∑i∈M′
wi
∣∣∣∣∣ ∑i∈M′
ci = r
}fixe Gesamtkosten (Nutzen)minimiere Gewicht
Einschrankung der moglichen Elemente
−2−101234567
0 1 2 43Initialisierung: w j0 = 0 und w j
r =∞ fur r 6= 0
wahle kein Element um Nutzen 0 zu erhalten
Berechne: w jr = min
{w j−1
r−cj+ wj , w j−1
r
}Element j wird gewahlt Element j wird nicht gewahlt
Beispiel: W = 10
ci
wi
i 1 2 432 1 133 3 25
jr
0 0 0 0 0
leeres Kastchen =∞
c =∑i∈M
ci
∞∞∞∞∞∞∞∞∞∞
∞∞∞∞∞∞∞
∞3∞∞∞∞∞
336∞∞
∞∞
33588
11
![Page 46: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/46.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Idee: Berechne Gewicht w jr fur alle ”sinnvollen“ r und j , mit:
w jr = min
M′⊆{1,...,j}
{∑i∈M′
wi
∣∣∣∣∣ ∑i∈M′
ci = r
}fixe Gesamtkosten (Nutzen)minimiere Gewicht
Einschrankung der moglichen Elemente
−2−101234567
0 1 2 43Initialisierung: w j0 = 0 und w j
r =∞ fur r 6= 0
wahle kein Element um Nutzen 0 zu erhalten
Berechne: w jr = min
{w j−1
r−cj+ wj , w j−1
r
}Element j wird gewahlt Element j wird nicht gewahlt
Beispiel: W = 10
ci
wi
i 1 2 432 1 133 3 25
jr
0 0 0 0 0
leeres Kastchen =∞
c =∑i∈M
ci
∞∞∞∞∞∞∞∞∞∞
∞∞∞∞∞∞∞
∞3∞∞∞∞∞
336∞∞
∞∞
33588
11∞
![Page 47: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/47.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Idee: Berechne Gewicht w jr fur alle ”sinnvollen“ r und j , mit:
w jr = min
M′⊆{1,...,j}
{∑i∈M′
wi
∣∣∣∣∣ ∑i∈M′
ci = r
}fixe Gesamtkosten (Nutzen)minimiere Gewicht
Einschrankung der moglichen Elemente
−2−101234567
0 1 2 43Initialisierung: w j0 = 0 und w j
r =∞ fur r 6= 0
wahle kein Element um Nutzen 0 zu erhalten
Berechne: w jr = min
{w j−1
r−cj+ wj , w j−1
r
}Element j wird gewahlt Element j wird nicht gewahlt
Beispiel: W = 10
ci
wi
i 1 2 432 1 133 3 25
jr
0 0 0 0 0
leeres Kastchen =∞
c =∑i∈M
ci
∞∞∞∞∞∞∞∞∞∞
∞∞∞∞∞∞∞
∞3∞∞∞∞∞
336∞∞
∞∞
33588
11∞
23578
1013
![Page 48: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/48.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Idee: Berechne Gewicht w jr fur alle ”sinnvollen“ r und j , mit:
w jr = min
M′⊆{1,...,j}
{∑i∈M′
wi
∣∣∣∣∣ ∑i∈M′
ci = r
}fixe Gesamtkosten (Nutzen)minimiere Gewicht
Einschrankung der moglichen Elemente
−2−101234567
0 1 2 43Initialisierung: w j0 = 0 und w j
r =∞ fur r 6= 0
wahle kein Element um Nutzen 0 zu erhalten
Berechne: w jr = min
{w j−1
r−cj+ wj , w j−1
r
}Element j wird gewahlt Element j wird nicht gewahlt
Beispiel: W = 10
ci
wi
i 1 2 432 1 133 3 25
jr
0 0 0 0 0
leeres Kastchen =∞
c =∑i∈M
ci
∞∞∞∞∞∞∞∞∞∞
∞∞∞∞∞∞∞
∞3∞∞∞∞∞
336∞∞
∞∞
33588
11∞
23578
1013
Optimale Losung: c? = max1≤j≤n
{r | w jr ≤ W} = 10
mit M ′ = {1, 3, 4}
![Page 49: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/49.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Idee: Berechne Gewicht w jr fur alle ”sinnvollen“ r und j , mit:
w jr = min
M′⊆{1,...,j}
{∑i∈M′
wi
∣∣∣∣∣ ∑i∈M′
ci = r
}fixe Gesamtkosten (Nutzen)minimiere Gewicht
Einschrankung der moglichen Elemente
−2−101234567
0 1 2 43Initialisierung: w j0 = 0 und w j
r =∞ fur r 6= 0
wahle kein Element um Nutzen 0 zu erhalten
Berechne: w jr = min
{w j−1
r−cj+ wj , w j−1
r
}Element j wird gewahlt Element j wird nicht gewahlt
Beispiel: W = 10
ci
wi
i 1 2 432 1 133 3 25
jr
0 0 0 0 0
leeres Kastchen =∞
c =∑i∈M
ci
∞∞∞∞∞∞∞∞∞∞
∞∞∞∞∞∞∞
∞3∞∞∞∞∞
336∞∞
∞∞
33588
11∞
23578
1013
Optimale Losung: c? = max1≤j≤n
{r | w jr ≤ W} = 10
mit M ′ = {1, 3, 4}Laufzeit: O(c · n)
![Page 50: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/50.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Satz: Dynamisches ProgrammDas dyn. Programm berechnet eine optimale Losung fur KNAPSACK in O(c · n).
Problem:c =
∑i∈M
ci ist ggf. exponentiell in der Eingabegroße (die Zahlen ci sind binar kodiert).
Ein solcher Algorithmus wird pseudopolynomiell genannt.
![Page 51: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/51.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Satz: Dynamisches ProgrammDas dyn. Programm berechnet eine optimale Losung fur KNAPSACK in O(c · n).
Problem:c =
∑i∈M
ci ist ggf. exponentiell in der Eingabegroße (die Zahlen ci sind binar kodiert).
Ein solcher Algorithmus wird pseudopolynomiell genannt.
Idee fur einen Approximationsschema:Skaliere Gewichte ci mit einer Konstanten k ; benutze also c′i =
⌊cik
⌋.
Je großer k , desto kleiner wird c (und damit die Laufzeit).
Je großer k , desto großer ist der Fehler, den man durchs Runden macht.
![Page 52: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/52.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
Dynamisches Programm fur KNAPSACK
Satz: Dynamisches ProgrammDas dyn. Programm berechnet eine optimale Losung fur KNAPSACK in O(c · n).
Problem:c =
∑i∈M
ci ist ggf. exponentiell in der Eingabegroße (die Zahlen ci sind binar kodiert).
Ein solcher Algorithmus wird pseudopolynomiell genannt.
Idee fur einen Approximationsschema:Skaliere Gewichte ci mit einer Konstanten k ; benutze also c′i =
⌊cik
⌋.
Je großer k , desto kleiner wird c (und damit die Laufzeit).
Je großer k , desto großer ist der Fehler, den man durchs Runden macht.
Berechne optimale Losung der skalierten Instanz mit dynamischem Programm.
Algorithmus Aε:
(cmax = maxi∈M
ci ist maximales Gewicht in gegebener Instanz)k =cmax(
1ε
+ 1)· n
Skaliere mit
![Page 53: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/53.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
FPAS fur KNAPSACK
Satz: FPAS (Satz 4.46)
Aε hat die Laufzeit O(n3 · 1
ε
)und die Approximationsrate RAε
≤ 1 + ε. DieMenge der Algorithmen {Aε | ε > 0} ist also ein FPAS fur KNAPSACK.
![Page 54: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/54.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
FPAS fur KNAPSACK
Satz: FPAS (Satz 4.46)
Aε hat die Laufzeit O(n3 · 1
ε
)und die Approximationsrate RAε
≤ 1 + ε. DieMenge der Algorithmen {Aε | ε > 0} ist also ein FPAS fur KNAPSACK.
Beweis – Laufzeit: Erinnerung: k =cmax( 1
ε+ 1)· n
Aε hat Laufzeit O(n ·∑i∈M
c′i )
Es gilt: ∑i∈M
c′i =∑i∈M
⌊ci
k
⌋≤∑i∈M
ci
k≤ n · cmax
k=(
1ε
+ 1)
n2
⇒Aε hat Laufzeit O(n3 · 1
ε
)
![Page 55: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/55.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
FPAS fur KNAPSACK
Satz: FPAS (Satz 4.46)
Aε hat die Laufzeit O(n3 · 1
ε
)und die Approximationsrate RAε
≤ 1 + ε. DieMenge der Algorithmen {Aε | ε > 0} ist also ein FPAS fur KNAPSACK.
Beweis – Approximation: Erinnerung: k =cmax( 1
ε+ 1)· n
Sie I eine beliebige Instanz und sei Ik die skalierte Instanz.
Sei M ′ ⊆ M eine optimale Losung fur I, also OPT(I) =∑
i∈M′ci . Es gilt:
OPT(Ik ) ≥∑i∈M′
⌊ci
k
⌋≥∑i∈M′
(ci
k− 1)≥∑i∈M′
ci
k− n =
OPT(I)k− n
![Page 56: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/56.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
FPAS fur KNAPSACK
Satz: FPAS (Satz 4.46)
Aε hat die Laufzeit O(n3 · 1
ε
)und die Approximationsrate RAε
≤ 1 + ε. DieMenge der Algorithmen {Aε | ε > 0} ist also ein FPAS fur KNAPSACK.
Beweis – Approximation: Erinnerung: k =cmax( 1
ε+ 1)· n
Sie I eine beliebige Instanz und sei Ik die skalierte Instanz.
Sei M ′ ⊆ M eine optimale Losung fur I, also OPT(I) =∑
i∈M′ci . Es gilt:
OPT(Ik ) ≥∑i∈M′
⌊ci
k
⌋≥∑i∈M′
(ci
k− 1)≥∑i∈M′
ci
k− n =
OPT(I)k− n
Umstellen ergibt: OPT(I)− k · OPT(Ik ) ≤ k · nDa Aε(I) ≥ k · OPT(Ik ) ist, folgt OPT(I)−Aε(I) ≤ k · n
Außerdem gilt: OPT(I) ≥ cmax (da o.B.d.A. W ≥ wi fur alle i ∈ M)
![Page 57: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/57.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
FPAS fur KNAPSACK
Satz: FPAS (Satz 4.46)
Aε hat die Laufzeit O(n3 · 1
ε
)und die Approximationsrate RAε
≤ 1 + ε. DieMenge der Algorithmen {Aε | ε > 0} ist also ein FPAS fur KNAPSACK.
Beweis – Approximation: Erinnerung: k =cmax( 1
ε+ 1)· n
Sie I eine beliebige Instanz und sei Ik die skalierte Instanz.
Bisher gezeigt: OPT(I)−Aε(I) ≤ k · n und OPT(I) ≥ cmax
RAε(I) =
OPT(I)Aε(I)
≤ Aε(I) + knAε(I)
= 1 +knAε(I)
≤ 1 +kn
OPT(I)− kn≤ 1 +
kncmax − kn
= 1 +1
cmaxkn − 1
= 1 +1
1ε
+ 1− 1
= 1 + ε
![Page 58: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/58.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
FPAS fur KNAPSACK
Satz: FPAS (Satz 4.46)
Aε hat die Laufzeit O(n3 · 1
ε
)und die Approximationsrate RAε
≤ 1 + ε. DieMenge der Algorithmen {Aε | ε > 0} ist also ein FPAS fur KNAPSACK.
Beweis – Approximation: Erinnerung: k =cmax( 1
ε+ 1)· n
Sie I eine beliebige Instanz und sei Ik die skalierte Instanz.
Bisher gezeigt: OPT(I)−Aε(I) ≤ k · n und OPT(I) ≥ cmax
RAε(I) =
OPT(I)Aε(I)
≤ Aε(I) + knAε(I)
= 1 +knAε(I)
≤ 1 +kn
OPT(I)− kn≤ 1 +
kncmax − kn
= 1 +1
cmaxkn − 1
= 1 +1
1ε
+ 1− 1
= 1 + ε
![Page 59: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/59.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
FPAS fur KNAPSACK
Satz: FPAS (Satz 4.46)
Aε hat die Laufzeit O(n3 · 1
ε
)und die Approximationsrate RAε
≤ 1 + ε. DieMenge der Algorithmen {Aε | ε > 0} ist also ein FPAS fur KNAPSACK.
Beweis – Approximation: Erinnerung: k =cmax( 1
ε+ 1)· n
Sie I eine beliebige Instanz und sei Ik die skalierte Instanz.
Bisher gezeigt: OPT(I)−Aε(I) ≤ k · n und OPT(I) ≥ cmax
RAε(I) =
OPT(I)Aε(I)
≤ Aε(I) + knAε(I)
= 1 +knAε(I)
≤ 1 +kn
OPT(I)− kn≤ 1 +
kncmax − kn
= 1 +1
cmaxkn − 1
= 1 +1
1ε
+ 1− 1
= 1 + ε
![Page 60: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/60.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
FPAS fur KNAPSACK
Satz: FPAS (Satz 4.46)
Aε hat die Laufzeit O(n3 · 1
ε
)und die Approximationsrate RAε
≤ 1 + ε. DieMenge der Algorithmen {Aε | ε > 0} ist also ein FPAS fur KNAPSACK.
Beweis – Approximation: Erinnerung: k =cmax( 1
ε+ 1)· n
Sie I eine beliebige Instanz und sei Ik die skalierte Instanz.
Bisher gezeigt: OPT(I)−Aε(I) ≤ k · n und OPT(I) ≥ cmax
RAε(I) =
OPT(I)Aε(I)
≤ Aε(I) + knAε(I)
= 1 +knAε(I)
≤ 1 +kn
OPT(I)− kn≤ 1 +
kncmax − kn
= 1 +1
cmaxkn − 1
= 1 +1
1ε
+ 1− 1
= 1 + ε
kurzen mit kn
![Page 61: Vorlesung Algorithmen II - KIT - ITI Algorithmik · Algorithmen II – Wintersemester 2013/2014 Institut fur Theoretische Informatik¨ Prof. Dr. Dorothea Wagner Algorithmen II Vorlesung](https://reader035.vdocuments.mx/reader035/viewer/2022081621/61268708049da93ef618ea76/html5/thumbnails/61.jpg)
Algorithmen II – Wintersemester 2013/2014Institut fur Theoretische InformatikProf. Dr. Dorothea Wagner
FPAS fur KNAPSACK
Satz: FPAS (Satz 4.46)
Aε hat die Laufzeit O(n3 · 1
ε
)und die Approximationsrate RAε
≤ 1 + ε. DieMenge der Algorithmen {Aε | ε > 0} ist also ein FPAS fur KNAPSACK.
Beweis – Approximation: Erinnerung: k =cmax( 1
ε+ 1)· n
Sie I eine beliebige Instanz und sei Ik die skalierte Instanz.
Bisher gezeigt: OPT(I)−Aε(I) ≤ k · n und OPT(I) ≥ cmax
RAε(I) =
OPT(I)Aε(I)
≤ Aε(I) + knAε(I)
= 1 +knAε(I)
≤ 1 +kn
OPT(I)− kn≤ 1 +
kncmax − kn
= 1 +1
cmaxkn − 1
= 1 +1
1ε
+ 1− 1
= 1 + ε
kurzen mit kn