• Keine Ergebnisse gefunden

Eine Komplexitätstheorie für Approximationsprobleme

Studienbrief 3: Die NP-Vollständigkeitstheorie

3.7 Eine Komplexitätstheorie für Approximationsprobleme

Viele Suchprobleme, die in der Praxis gelöst werden müssen, sind Optimierungsprobleme. Wie wir gesehen haben, sind viele dieser Optimierungsprobleme NP schwierig. Wenn die

Entscheidungsvariante sogar stark NP-vollständig ist, können wir weder auf effiziente, das heißt polynomielle, noch auf pseudopolynomielle Algorithmen hoffen. Es wäre also von praktisch großer Relevanz, wenn es für diese Probleme effiziente Algorithmen geben würde, die zwar nicht eine optimale, aber eine fast optimale Lösung berechnen.

Beim heuristischen Ansatz hofft man, oft eine gute Lösung schnell zu erhalten. Diese vagen

Formulierungen sind natürlich nicht für eine Komplexitätsanalyse geeignet.

Approximationsalgorithmen sichern dagegen eine gewisse Güte der berechneten Lösung. Wir wollen zunächst die zugehörigen Begriffe formalisieren.

Definition. Ein Optimierungsproblem П wird durch die folgenden Daten beschrieben:

- DП , die Menge der zulässigen Eingaben für П,

- für I in DП die endliche Menge SП(I) möglicher Lösungen, - für I in DП und s in SП(I) den Wert w(I, s) der Lösung sund

- die Angabe des Ziels: Minimierung oder Maximierung des Wertes.

Mit OPT(I) bezeichnen wir den Wert einer optimalen Lösung Sopt für I. Von einem

Approximationsalgorithmus A erwarten wir, dass er zu I eine Lösung A(I) berechnet. Die Güte optimaler Lösungen soll 1 betragen. Die Güte nicht optimaler Lösungen soll größer als 1 sein.

Definition. Die Güte der Lösung A(I) des Approximationsalgorithmus A für das Optimierungsproblem П beträgt

- w(I, A(I))/OPT(I) für Minimierungsprobleme und - OPT(I)/w(I, A(I)) für Maximierungsprobleme und wird mit RA(I) bezeichnet.

So wie wir auch nicht hoffen können, die Rechenzeit für jede konkrete Eingabe berechnen zu können, und uns daher mit der worst case Rechenzeit zufriedengeben, müssen wir uns hier mit der worst case Güte zufriedengeben.

Definition.

i) Die worst case Güte des Approximationsalgorithmus A ist definiert durch RA := sup{RA(I) | I in DП } = inf{r ≥ 1 | RA(I) ≤ r für alle I in DП }.

П) Die asymptotische worst case Güte von A ist definiert durch

RAinf := inf{r ≥ 1 | existiert N für alle I in DП : OPT(I) ≥ N => RA(I) ≤ r}.

Wir wollen zunächst sehen, wie sich die beiden Begriffe unterscheiden. Für П sei w(I, s) in N für alle I in DП und s in SП(I). Der Algorithmus A berechne Lösungen A(I) mit w(I, A(I)) = OPT(I) + 1, wobei П ein Minimierungsproblem ist. Dann ist RA = 2, da für Eingaben I mit OPT(I) = 1 Lösungen mit Wert 2 berechnet werden. Falls OPT(I) groß wird, macht sich der Approximationsfehler kaum noch bemerkbar. Dies misst R_A^inf, denn R_A^inf = 1. Wenn jedoch, was häufiger vorkommt, w(I, A(I)) ≥ c OPT(I) für schwierige Eingaben I ist, stimmen RA und RAinf überein. Wir kürzen in Zukunft auch w(I, A(I)) durch A(I) ab.

Definition. Für Optimierungsprobleme П ist die Approximationsgüte definiert durch

RMIN(П) := inf{r ≥ 1 | existiert ein polynomiell zeitbeschränkter Approximationsalgorithmus A für П mit RA^nf = r}.

Unter der Voraussetzung NP ≠ P wollen wir Aussagen über RMIN(П) beweisen. Wir unterscheiden

zunächst grob drei Möglichkeiten:

- RMIN(П) = ∞,

- 1 < RMIN(П) < ∞ und - RMIN(П) = 1.

Im letzten Fall ist interessant, wie schnell die Güte 1 approximiert wird. Wir unterscheiden drei Algorithmentypen, die alle implizieren, dass RMIN = 1 ist.

Definition

i) Ein polynomielles Approximationsschema für П ist ein Algorithmus A, der für I in DП und ε > 0 in einer in L(I) polynomiell beschränkten Rechenzeit eine Lösung A(I, ε) berechnet, deren Güte durch 1 + ε beschränkt ist.

П) Ein echt polynomielles Approximationsschema für П ist ein Algorithmus A, der für I in D_П und ε > 0 in einer in L(I) und 1/ε polynomiell beschränkten Rechenzeit eine Lösung A(I, ε) berechnet, deren Güte durch 1 + ε beschränkt ist.

Пi) Ein Approximationsalgorithmus mit additivem Fehler für П ist ein polynomieller Algorithmus A, der für eine Konstante c und alle I in DП eine Lösung A(I) berechnet, für die |OPT(I) – A(I)|

durch c beschränkt ist.

Auf den ersten Blick mag die Unterscheidung zwischen polynomiellen und echt polynomiellen Approximationsschemata verwundern. Polynomielle Approximationsschemata können jedoch recht unangenehme Eigenschaften haben. Für das Rucksackproblem gibt es ein sehr einfaches

polynomielles Approximationsschema, dessen Rechenzeit allerdings Theta(n1+ 1/ε) beträgt. Um eine höchstens 10%-ige Abweichung vom Optimum zu garantieren, ist bei Verwendung dieses

Approximationsalgorithmus eine Rechenzeit von Theta(n11) erforderlich. Es gibt aber auch ein echt polynomielles Approximationsschema mit Rechenzeit O(n3/ε). Während bei Verwendung des polynomiellen Approximationsschemas eine Verdoppelung der Genauigkeit ungefähr zu einer Quadrierung der Rechenzeit führt, wird bei Verwendung des voll polynomiellen

Approximationsschemas die Rechenzeit nur verdoppelt.

Wir stellen für die von uns untersuchten Optimierungsprobleme einige Ergebnisse zusammen. Um nicht zu sehr in das Gebiet des Entwurfs effizienter Algorithmen abzuschweifen, verweisen wir für die Approximationsalgorithmen auf entsprechende Lehrbücher wie Reingold, Nievergelt und Deo (1977) oder Papadimitriou und Steiglitz (1982). Die negativen Aussagen gelten unter der Annahme NP ≠ P und werden später teilweise bewiesen.

CLIQUE: Es gibt ein ε > 0, so dass es keinen polynomiellen Approximationsalgorithmus mit Güte n^ε gibt. Dieses Ergebnis benutzt das PCP-Theorem, das wir in einem weiterführenden Kapitel studieren.

Bin Packing Problem BP: Die polynomiellen Approximationsalgorithmen FIRST FIT und BEST FIT haben eine asymptotische worst case Güte von 17/10, während die asymptotische worst case Güte der Modifikationen FIRST FIT DECREASING und BEST FIT DECREASING nur 11/9 beträgt. Karmarkar und Karp (1982) haben einen komplizierten polynomiellen

Approximationsalgorithmus angegeben, dessen Güte durch 1+O(log2(OPT(I))/OPT(I)) beschränkt

ist. Allerdings gibt es keinen polynomiellen Approximationsalgorithmus A, dessen worst case Güte RA kleiner als 3/2 ist. Hier sehen wir den gravierenden Unterschied zwischen der worst case Güte und der asymptotisehen worst case Güte.

Rucksackproblem KP: Es gibt pseudopolynomielle Algorithmen und ein echt polynomielles Approximationsschema mit Laufzeit O(n3/ε). Allerdings gibt es keinen Approximationsalgorithmus mit additivem Fehler.

Traveling Salesman Problem TSP: Es gibt keinen Approximationsalgorithmus mit konstanter worst case Güte. Falls jedoch die Kostenfunktion c der Dreiecksungleichung genügt, das heißt es gilt c(i,j) ≤ c(i, k) + c(k,j) für alle i, j und k, gibt es einen polynomiellen Approximationsalgorithmus mit worst case Güte 3/2.

Die folgenden Beweise betreffen zwar nur die von uns intensiv behandelten Probleme. Darüber hinaus enthalten sie jedoch typische Beweismethoden, die sich auf andere Probleme übertragen lassen.

Satz. Falls NP ≠ P, gibt es keinen polynomiellen Approximationsalgorithmus für BP, dessen worst case Güte kleiner als 3/2 ist.

Beweis Wir nehmen die Existenz eines polynomiellen Approximationsalgorithmus A für BP mit RA

< 3/2 an und entwickeln daraus einen polynomiellen Algorithmus für das NP-vollständige Problem PARTITION. Dabei greifen wir auf die vorgestellte Reduktion PARTITION <_p BP zurück. Statt für die transformierte Eingabe das Orakel zu befragen, ob zwei Behälter ausreichen, setzen wir nun den Approximationsalgorithmus auf die transformierte Eingabe an. Wenn A eine Lösung mit zwei Behältern berechnet, hat PARTITION eine Lösung. Wenn A jedoch eine Lösung mit mindestens drei Behältern berechnet, benötigt eine optimale Lösung, da RA < 3/2 ist, mehr als zwei Behälter und PARTITION hat keine Lösung.

Satz. Falls NP ≠ P ist, gibt es keinen Approximationsalgorithmus mit additivem Fehler für KP.

Beweis. Wir nehmen die Existenz eines polynomiellen Approximationsalgorithmus mit additivem Fehler k, o. B. d. A. k in N, für das Rucksackproblem an und entwickeln daraus einen

polynomiellen Algorithmus für das NP-schwierige Rucksackproblem.

Sei also eine Eingabe I für das Rucksackproblem durch g1, . .. , gn, C, a1, . .. , an gegeben. Wir transformieren diese Eingabe in die Eingabe l' mit den Parametern g1, .. . , gn, C, a'1, .. . ,a'n, wobei a'i

:= (k + 1) * a_i ist. Auf I' wenden wir den Approximationsalgorithmus A an. Die von A berechnete Bepackung des Rucksacks wird sich als optimal für die Eingabe I erweisen.

Zunächst einmal sind für I und I' dieselben Bepackungen des Rucksacks zulässig, da die

Gewichtsparameter für die Eingaben gleich sind. Der Nutzen aller Bepackungen unterscheidet sich für I und l' um den Faktor k + 1, insbesondere ist OPT(I) = OPT(I')/(k + 1). Der Nutzen der von A berechneten Bepackung weicht für die Eingabe l' nur um den Summanden k von OPT(I') ab. Also weicht der Nutzen dieser Bepackung für die Eingabe I nur um den Summanden k/(k + 1) < 1 von OPT(I) ab. Da alle Parameter ganzzahlig sind, sind auch OPT(I) und A(I) ganzzahlig, das heißt OPT(I) = A(I).

Satz. Falls NP ≠ P ist, gibt es keinen polynomiellen Approximationsalgorithmus für TSP, dessen

asymptotische worst case Güte durch eine Konstante r beschränkt ist.

Beweis. Wir nehmen die Existenz eines polynomiellen Approximationsalgorithmus A für TSP mit endlichem RA = r an. Es gibt also ein N in IN, so dass für alle Eingaben I mit OPT(I) ≤ N die Abschätzung RA(I) ≤ r gilt. Da c(i,j) ≥ 1, ist OPT(I) ≥ N für alle Eingaben mit mindestens N Orten.

Wir ändern A so ab, dass er für alle Eingaben mit weniger als N Orten alle Rundreisen vergleicht und eine optimale Rundreise berechnet. Der neue Algorithmus A' hat ebenfalls polynomielle

Rechenzeit und es gilt sogar RA' ≤ r. Aus A' entwickeln wir einen polynomiellen Algorithmus für das NP-vollständige Problem DHC, in dem für gerichtete Graphen entschieden werden muss, ob sie einen Hamiltonkreis enthalten.

Sei G = (V, E) ein gerichteter Graph. Wir setzen c(i,j) := I, falls (i,j) in E, und c(i,j) := r|V| + I, falls (i,j) nicht in E. Der Graph G enthält offensichtlich genau dann einen Hamiltonkreis, wenn es für die erzeugte TSP-Eingabe eine Rundreise mit Kosten |V| gibt. Falls G keinen Hamiltonkreis enthält, betragen die Kosten jeder Rundreise mehr als r|V|. Wir wenden nun den

Approximationsalgorithmus A' auf die TSP-Eingabe an. Wenn die berechnete Rundreise durch r|V|

beschränkte Kosten hat, hat sie Kosten |V| und stellt einen Hamiltonkreis für G dar. Wenn die berechnete Rundreise jedoch größere Kosten als r|V| hat, sind die Kosten einer optimalen Rundreise größer als |V| und G enthält keinen Hamiltonkreis.

Abschließend wollen wir Beziehungen zwischen pseudopolynomiellen Algorithmen und echt polynomiellen Approximationsschemata herausarbeiten.

Satz. Sei П ein Optimierungsproblem, in dem der Wert aller Lösungen ganzzahlig ist. Falls es ein Polynom q gibt, so dass OPT(I) < q(L(I), MAX(I)) für I in D_П ist, und es ein echt polynomielles Approximationsschema für П gibt, dann gibt es für П einen pseudopolynomiellen Optimierungs algorithmus.

Es ist leicht einzusehen, dass die Bedingung an die Größe von OPT(I) nicht sehr einschränkend und zum Beispiel für CLIQUE, BP, KP und TSP erfüllt ist.

Beweis. Sei A ein echt polynomielles Approximationsschema für П und I eine Eingabe für das Optimierungsproblem. Es sei 1/ε = q(L(I), MAX(I)). Wir wenden A auf (I, ε) an. Da q ein Polynom ist, arbeitet A in polynomieller Zeit bezogen auf L(I) und 1/ε und damit in polynomieller Zeit bezogen auf L(I) und MAX(I). Somit ist A ein pseudopolynomieller Algorithmus. Die Güte der berechneten Lösung A(I) ist durch 1 + ε beschränkt.

Sei П o. B. d. A. ein Maximierungsproblem. Dann ist OPT(I)/Aε(I) ≤ 1+ε, also OPT(I) ≤ Aε(I) +ε Aε(I). Nach Voraussetzung folgt, da stets A(I) ≤ OPT(I) ist,

OPT(I) - Aε(I) ≤ ε Aε(I) ≤ ε OPT(I) < ε q(L(I), MAX(I)) = 1.

Da OPT(I) und Aε(I) nach Voraussetzung ganzzahlig sind, ist OPT(I) = Aε(I). Der entworfene Algorithmus berechnet also in pseudopolynomieller Zeit eine optimale Lösung.

Wir benutzen für das folgende Korollar den Begriff stark schwierig. Dabei ist П stark NP-schwierig, wenn П_p (siehe Definition 3.5.6) für ein Polynom p NP-schwierig ist.

Korollar. Sei П ein Optimierungsproblem, in dem der Wert aller Lösungen ganzzahlig ist. Sei q ein Polynom, so dass OPT(I) < q(L(I), MAX(I)) für I in D_П ist. Falls П stark NP-schwierig und NP i-

P ist, hat П kein echt polynomielles Approximationsschema.

Beweis. Falls П ein echt polynomielles Approximationsschema hat, gibt es auch einen pseudopolynomiellen Optimierungsalgorithmus für П. Für П_p und Polynome p ist dieser Algorithmus polynomieIl. Da П stark NP-schwierig ist, gibt es ein Polynom p', so dass Пp' NP-schwierig ist. Die letzten beiden Aussagen implizieren, dass NP = P ist im Widerspruch zur Voraussetzung.