Kap. 6: Vollständige Approximationsschemata Gliederung der Vorlesung 1 Motivation und Einordnung 2 Begriffe und Notationen 3 Grundlagen aus der Komplexitätstheorie 4 Approximationsalgorithmen konstanter Güte 5 Approximationsschemata 6 Vollständige Approximationsschemata 7 Approximationsalgorithmen nichtkonstanter Güte 8 Entwurfstechniken Steffen Lange Approximationsalgorithmen Kap. 6, Foliensatz 2 1 / 16 Kap. 6: Vollständige Approximationsschemata Nichtapproximierbarkeitsergebnisse Einordnung wir haben gesehen, dass es vollständig approximierbare NP-schwere Optimierungsprobleme gibt es gibt aber auch NP-schwere Optimierungsprobleme, die höchstwahrscheinlich nicht vollständig approximierbar sind zu ihnen gehören die so genannten streng NP-schweren Optimierungsprobleme für streng NP-schweren Optimierungsproblemen gibt es höchstwahrscheinlich keine “halbwegs” effizienten Lösungsalgorithmen Anmerkung der Lösungsalgorithmus Exact für MaxKnapsack’ ist ein “halbwegs” effizienter Lösungsalgorithmus Steffen Lange Approximationsalgorithmen Kap. 6, Foliensatz 2 2 / 16 Kap. 6: Vollständige Approximationsschemata Nichtapproximierbarkeitsergebnisse Hilfsbegriffe ein Optimierungsproblem Π = (I, f , w ) ist ein natürlichzahliges Optimierungsproblem, wenn alle Zahlen, die in den Beschreibungen der Probleminstanzen vorkommen, natürliche Zahlen sind die Gütefunktion w jeder zulässigen Lösung eine natürliche Zahl zuordnet für jede Instanz I bezeichnen wir im Folgenden mit Max(I ) die größte natürliche Zahl, die in einer möglichst platzsparenden Beschreibung von I binär kodiert vorkommt Anmerkung analog zu MaxKnapsack gibt es für jedes bisher betrachtete Optimierungsproblem eine äquivalente natürlichzahige Variante Steffen Lange Approximationsalgorithmen Kap. 6, Foliensatz 2 3 / 16 Kap. 6: Vollständige Approximationsschemata Nichtapproximierbarkeitsergebnisse Illustration Beispiel sei I = (O, s, p, b) eine Instanz von MaxKnapsack’ mit |O| = n da die Zahl n in einer möglichst platzsparenden Beschreibung von I nicht binär kodiert vorkommt und s(o) ≤ b für alle o ∈ O gilt, gilt Max(I ) := max{pmax , b} mit pmax := {p(oi ) | oi ∈ O} Beispiel sei I = (M, J, t) eine Instanz der natürlichzahligen Variante von MinJobScheduling mit |M| = m und |J| = n da nur die Zahl m in einer möglichst platzsparenden Beschreibung von I binär kodiert vorkommt, gilt Max(I ) := max{m, tmax } mit tmax := {t(Ji ) | Ji ∈ J} Steffen Lange Approximationsalgorithmen Kap. 6, Foliensatz 2 4 / 16 Kap. 6: Vollständige Approximationsschemata Nichtapproximierbarkeitsergebnisse Zentraler Begriff Definition Ein Lösungsalgorithmus A für ein Optimierungsproblem Π = (I, f , w ) ist ein pseudo-polynomieller Algorithmus, wenn es ein Polynom p gibt, so dass für alle Instanzen I ∈ I gilt: A benötigt höchstens O(p(|I |, Max(I ))) Rechenschritte, um die Instanz I zu verarbeiten. Anmerkung pseudo-polynomielle Lösungsalgorithmen entsprechen unseren “halbwegs” effizienten Lösungsalgorithmen Steffen Lange Approximationsalgorithmen Kap. 6, Foliensatz 2 5 / 16 Kap. 6: Vollständige Approximationsschemata Nichtapproximierbarkeitsergebnisse Illustration Beispiel wir betrachten nochmal das Maximierungsproblem MaxKnapsack’ und den Lösungsalgorithmus Exact um eine Instanz I = (O, s, p, b) zu verarbeiten, benötigt Exact nur O(n2 · pmax ) Rechenschritte da n ≤ |I | und pmax ≤ Max(I ) gilt, werden nur O(|I |2 · Max(I )) Rechenschritte benötigt also ist Exact ein pseudo-polynomieller Lösungsalgorithmus Anmerkung eine Liste der Länge 2n + 1, die für jedes o ∈ O die beiden Zahlen s(o) und p(o) sowie die Zahl b binär kodiert enthält, erlaubt es I zu beschreiben Steffen Lange Approximationsalgorithmen Kap. 6, Foliensatz 2 6 / 16 Kap. 6: Vollständige Approximationsschemata Nichtapproximierbarkeitsergebnisse Zentraler Begriff Definition Ein Optimierungsproblem Π = (I, f , w ) ist streng NP-schwer, wenn es ein Polynom q gibt, so dass gilt: Das Teilproblem Πq = (Iq , f , w ) von Π ist bereits ein NP-schweres Optimierungsproblem. Anmerkung Iq enthält alle Instanzen I von I mit Max(I ) ≤ q(|I |) Steffen Lange Approximationsalgorithmen Kap. 6, Foliensatz 2 7 / 16 Kap. 6: Vollständige Approximationsschemata Nichtapproximierbarkeitsergebnisse Illustration Beispiel wir betrachten jetzt die natürlichzahlige Variante von Min∆TravelingSalesman wir wissen, dass bereits der folgende Spezialfall dieses Optimierungsproblems NP-schwer ist alle Instanzen I = (G , g ) sind vollständige Graphen mit mindestens zwei Knoten, deren Kanten das Gewicht eins oder zwei haben da für jede Instanz I = (G , g ) offensichtlich Max(I ) ≤ |I | gilt, ist Min∆TravelingSalesman streng NP-schwer Anmerkung eine Liste, in der für jede Kante von G binär kondiert ist, ob sie das Gewicht eins hat (oder nicht), erlaubt es I zu beschreiben Steffen Lange Approximationsalgorithmen Kap. 6, Foliensatz 2 8 / 16 Kap. 6: Vollständige Approximationsschemata Nichtapproximierbarkeitsergebnisse Das Hauptresultat Theorem Sei Π ein streng NP-schweres Optimierungsproblem, so dass für alle Instanzen I von Π gilt, dass die Güte einer optimalen Lösung Opt(I ) für I polynomiell in |I | und Max(I ) beschränkt ist. Dann gilt: Aus P 6= NP folgt, dass Π nicht vollständig approximierbar ist. Anmerkung also ist MaxKnapsack’ kein streng NP-schweres Optimierungsproblem Steffen Lange Approximationsalgorithmen Kap. 6, Foliensatz 2 9 / 16 Kap. 6: Vollständige Approximationsschemata Nichtapproximierbarkeitsergebnisse Begründung es genügt offenbar, die folgenden beiden Aussagen zu verifizieren Aussage 1 Sei Π ein streng NP-schweres Optimierungsproblem. Dann gilt: Aus P 6= NP folgt, dass es keinen pseudo-polynomiellen Lösungsalgorithmus für Π gibt. Aussage 2 Sei Π ein Optimierungsproblem, so dass für alle Instanzen I von Π gilt, dass die Güte einer optimalen Lösung Opt(I ) für I polynomiell in |I | und Max(I ) beschränkt ist. Dann gilt: Wenn es keinen pseudo-polynomiellen Lösungsalgorithmus für Π gibt, so ist Π auch nicht vollständig approximierbar. Steffen Lange Approximationsalgorithmen Kap. 6, Foliensatz 2 10 / 16 Kap. 6: Vollständige Approximationsschemata Nichtapproximierbarkeitsergebnisse Begründung für Aussage 1 es genügt offenbar, die Kontraposition von Aussage 1 zu beweisen, d.h. es ist folgender Satz zu zeigen Satz 1 Sei Π ein streng NP-schweres Optimierungsproblem. Dann gilt: Wenn es einen pseudo-polynomiellen Lösungsalgorithmus für Π gibt, so gilt P = NP. Steffen Lange Approximationsalgorithmen Kap. 6, Foliensatz 2 11 / 16 Kap. 6: Vollständige Approximationsschemata Nichtapproximierbarkeitsergebnisse Begründung für Aussage 1 (cont.) sei Π = (I, f , w ) ein streng NP-schweres Optimierungsproblem, A ein pseudo-polynomieller Lösungsalgorithmus für Π und q ein Polynom, so dass das Teilproblem Πq = (Iq , f , w ) NP-schwer ist es genügt zu zeigen, dass A ein effizienter Lösungsalgorithmus für das Teilproblem Πq = (Iq , f , w ) ist sei I ∈ Iq und p ein Polynom, das die Rechenzeit von A beschränkt A benötigt nur O(p(|I |, Max(I ))) Rechenschritte, um I zu verarbeiten und eine optimale Lösung zu bestimmen da Max(I ) ≤ q(|I |) gilt, benötigt A folglich nur O(p(|I |, q(|I |))) Rechenschritte Steffen Lange Approximationsalgorithmen Kap. 6, Foliensatz 2 12 / 16 Kap. 6: Vollständige Approximationsschemata Nichtapproximierbarkeitsergebnisse Begründung für Aussage 2 es genügt offenbar, die Kontraposition von Aussage 2 zu beweisen, d.h. es ist folgender Satz zu zeigen Satz 2 Sei Π ein Optimierungsproblem, so dass für alle Instanzen I von Π gilt, dass die Güte einer optimalen Lösung Opt(I ) für I polynomiell in |I | und Max(I ) beschränkt ist. Dann gilt: Wenn Π vollständig approximierbar ist, so gibt es auch einen pseudo-polynomiellen Lösungsalgorithmus für Π. Anmerkung wir betrachten nur den Fall, dass Π ein Maximierungsproblem ist Steffen Lange Approximationsalgorithmen Kap. 6, Foliensatz 2 13 / 16 Kap. 6: Vollständige Approximationsschemata Nichtapproximierbarkeitsergebnisse Begründung für Aussage 2 (cont.) sei Π = (I, f , w ) ein Maximierungsproblem, (Aε )ε>0 ein vollständiges Approximationsschema für Π und q ein Polynom, so dass w (Opt(I )) < q(|I |, Max(I )) für alle Instanzen I ∈ I gilt es genügt zu zeigen, dass der folgende Algorithmus B ein pseudo-polynomieller Lösungsalgorithmus für Π ist B verarbeitet eine Instanz I ∈ I wie folgt es werden |I | und Max(I ) bestimmt 1 gesetzt es wird ε := q(|I |,Max(I )) mit Aε wird eine zulässige Lösung S für die Instanz I bestimmt und anschließend ausgegeben Steffen Lange Approximationsalgorithmen Kap. 6, Foliensatz 2 14 / 16 Kap. 6: Vollständige Approximationsschemata Nichtapproximierbarkeitsergebnisse Begründung für Aussage 2 (cont.) da (Aε )ε>0 ein vollständiges Approximationsschema ist, gilt für den ausgewählten Algorithmus Aε Aε benötigt O(p(|I |, ε1 )) Rechenschritte, um die Instanz I zu verarbeiten und eine zulässige Lösung S zu bestimmen um |I |, Max(I ) und ε zu bestimmen, genügen garantiert O(q(|I |, Max(I ))3 ) Rechenschritte also reichen O(p(|I |, q(|I |, Max(I )))) + O(q(|I |, Max(I ))3 ) Rechenschritte, um mit B die zulässige Lösung S zu bestimmen Anmerkung p ist ein Polynom, das die Rechenzeit von Aε beschränkt Steffen Lange Approximationsalgorithmen Kap. 6, Foliensatz 2 15 / 16 Kap. 6: Vollständige Approximationsschemata Nichtapproximierbarkeitsergebnisse Begründung für Aussage 2 (cont.) da (Aε )ε>0 ein vollständiges Approximationsschema ist, gilt für die vom ausgewählten Algorithmus Aε bestimmte zulässige Lösung S w (S) ≥ (1 − ε) · w (Opt(I )), und damit auch ε · w (Opt(I )) ≥ w (Opt(I )) − w (S) aus der Wahl von ε und w (Opt(I )) < q(|I |, Max(I )) folgt nun 1 > w (Opt(I )) − w (S) da w (Opt(I )) − w (S) eine natürliche Zahl sein muss, erhalten wir w (S) = w (Opt(I )), d.h. B bestimmt eine optimale Lösung S Anmerkungen offensichtlich gilt: 1 q(|I |,Max(I )) Steffen Lange · q(|I |, Max(I )) = ε · q(|I |, Max(I )) > ε · w (Opt(I )) Approximationsalgorithmen Kap. 6, Foliensatz 2 16 / 16