Entscheidungsprobleme im Vergleich zu „echten“ Problemen, bei denen es sich nicht um Ja oder Nein handelt


36

Ich habe an vielen Stellen gelesen, dass einige Probleme schwierig zu approximieren sind (es ist NP-schwer , sie zu approximieren ). Aber Approximation ist kein Entscheidungsproblem: Die Antwort ist eine reelle Zahl und nicht Ja oder Nein. Auch für jeden gewünschten Approximationsfaktor gibt es viele richtige und viele falsche Antworten, und dies ändert sich mit dem gewünschten Approximationsfaktor!

Wie kann man also sagen, dass dieses Problem NP-schwer ist?

(Inspiriert vom zweiten Aufzählungspunkt in Wie schwer ist es, die Anzahl der einfachen Pfade zwischen zwei Knoten in einem gerichteten Graphen zu zählen? )

Antworten:


27

Wie Sie sagten, muss keine Entscheidung getroffen werden. Daher sind neue Komplexitätsklassen und neue Arten von Reduktionen erforderlich, um eine geeignete Definition der NP-Härte für Optimierungsprobleme zu erhalten .

Eine Möglichkeit besteht darin, zwei neue Klassen NPO und PO zu haben , die Optimierungsprobleme enthalten und natürlich die Klassen NP und P für Entscheidungsprobleme imitieren . Neue Reduzierungen sind ebenfalls erforderlich. Dann können wir eine Version der NP-Härte für Optimierungsprobleme nachbilden, die für Entscheidungsprobleme erfolgreich war. Aber zuerst müssen wir uns einig sein, was ein Optimierungsproblem ist.

Definition: Sei ein Optimierungsproblem . ist die Menge von Eingaben oder Instanzen , die als Zeichenfolgen codiert werden können. ist eine Funktion, die jede Instanz auf eine Menge von Zeichenketten abbildet , die möglichen Lösungen von Instanz . Es ist eine Menge, weil es viele Lösungen für ein Optimierungsproblem gibt. Somit haben wir eine Zielfunktion , die uns für jedes Paar von Instanz und Lösung deren Kosten oder Wert angibt . X L x X x f ( x , y ) y L ( x ) o p tO=(X,L,f,opt)XLxXx f(x,y) yL(x)opt sagt uns, ob wir maximieren oder minimieren.

Dies erlaubt uns zu definieren, was eine optimale Lösung ist: Sei die optimale Lösung einer Instanz eines Optimierungsproblems mitDie optimale Lösung wird oft mit .x X O = ( X , L , f , o p t ) f ( x , y o p t ) = o p t { f ( x , y ' ) | y 'L ( x ) } . y yoptL(x)xXO=(X,L,f,opt)

f(x,yopt)=opt{f(x,y)yL(x)}.
y

Nun können wir die Klasse NPO definieren : Sei die Menge aller Optimierungsprobleme mit:O = ( X , L , f , o p t )NPOO=(X,L,f,opt)

  1. XP
  2. Es gibt ein Polynom mit für alle Instanzen und alle möglichen Lösungen . Weiterhin gibt es einen deterministischen Algorithmus, der in Polynomzeit entscheidet, ob .| y | p ( | x | ) x X y L ( x ) y L ( x )p|y|p(|x|)xXyL(x)yL(x)
  3. f kann in Polynomzeit ausgewertet werden.

Die Intuition dahinter ist:

  1. Wir können effizient überprüfen, ob tatsächlich eine gültige Instanz unseres Optimierungsproblems ist.x
  2. Die Größe der möglichen Lösungen ist in der Größe der Eingaben polynomisch begrenzt. Wir können effizient überprüfen, ob eine mögliche Lösung der Instanz .xyL(x)x
  3. Der Wert einer Lösung kann effizient bestimmt werden.yL(x)

Dies spiegelt wider, wie nun für PO definiert ist : sei die Menge aller Probleme von , die durch einen deterministischen Algorithmus in Polynomialzeit gelöst werden können.P O N P ONPPONPO

Nun können wir definieren, was wir einen Approximationsalgorithmus nennen wollen : Ein Approximationsalgorithmus eines Optimierungsproblems ist ein Algorithmus, der eine realisierbare Lösung berechnet für eine Instanz .y L ( x ) x XO=(X,L,f,opt)yL(x)xX

Hinweis: Damit wir nicht nach einer optimalen Lösung fragen, geben wir nur an, was machbar ist .

Wir haben nun zwei Arten von Fehlern: Der absolute Fehler einer realisierbaren Lösung einer Instanz des Optimierungsproblems ist.x X 0 = ( X , L , f , o p t ) | f ( x , y ) - f ( x , y ) |yL(x)xXO=(X,L,f,opt)|f(x,y)f(x,y)|

Wir nennen den absoluten Fehler eines Approximationsalgorithmus für das Optimierungsproblem das durch begrenzt ist, wenn der Algorithmus für jede Instanz eine durchführbare Lösung mit einem absoluten Fehler berechnet, der durch .O k A x X kAOkAxXk

Beispiel: Nach dem Theorem of Vizing ist der chromatische Index eines Graphen (die Anzahl der Farben in der Kantenfärbung mit der geringsten Anzahl der verwendeten Farben) entweder oder , wobei der maximale Knotengrad ist. Aus dem Beweis des Theorems kann ein Approximationsalgorithmus entwickelt werden, der eine Kantenfärbung mit Farben berechnet . Dementsprechend haben wir einen Approximationsalgorithmus für das -Problem, bei dem der absolute Fehler durch .& Dgr; + 1 & Dgr; & Dgr; + 1 M i n i m u m - E d g e C o l o r i n g 1ΔΔ+1ΔΔ+1MinimumEdgeColoring1

Dieses Beispiel ist eine Ausnahme, kleine absolute Fehler sind selten, daher definieren wir den relativen Fehler des Approximationsalgorithmus auf Instanz des Optimierungsproblems mit für alle und zu sein ,A x O = ( X , L , f , o p t ) f ( x , y ) > 0 x X y L ( x )ϵA(x)AxO=(X,L,f,opt)f(x,y)>0xXyL(x)

ϵA(x):={0f(x,A(x))=f(x,y)|f(x,A(x))f(x,y)|max{f(x,A(x)),f(x,y)}f(x,A(x))f(x,y)

wobei die durch den Näherungsalgorithmus berechnete mögliche Lösung ist .AA(x)=yL(x)A

Wir können nun den Approximationsalgorithmus für das Optimierungsproblem als Approximationsalgorithmus für wenn der relative Fehler durch für jede Instanz , also O = ( X , L , f , o p t ) δ O ε A ( x ) , δ 0 x X ε A ( x ) δAO=(X,L,f,opt)δOϵA(x)δ0xX

ϵA(x)δxX.

Die Wahl von im Nenner der Definition des relativen Fehlers wurde gewählt, um die Definition zum Maximieren und Minimieren symmetrisch zu machen. Der Wert des relativen Fehlers . Im Falle eines Maximierungsproblems ist der Wert der Lösung niemals kleiner als und niemals größer als für ein Minimierungsproblem.ε A ( x ) [ 0 , 1 ] ( 1 - ε A ( x ) ) f ( x , y * ) 1 / ( 1 - A ( x ) ) fmax{f(x,A(x)),f(x,y)}ϵA(x)[0,1](1ϵA(x))f(x,y)1/(1ϵA(x))f(x,y)

Nun können wir ein Optimierungsproblem -approximable nennen, wenn es einen -approximationsalgorithmus für , der in polynomieller Zeit abläuft.δδAO

Wir wollen den Fehler nicht für jede Instanz , wir betrachten nur den schlimmsten Fall. Wir definieren also , den maximalen relativen Fehler des Approximationsalgorithmus für das Optimierungsproblem zu xϵA(n)AO

ϵA(n)=sup{ϵA(x)|x|n}.

Wobeisollte die Größe der Instanz sein.|x|

Beispiel: Eine maximale Übereinstimmung in einem Diagramm kann in eine minimale Knotenabdeckung werden, indem alle einfallenden Knoten aus der Übereinstimmung zur Scheitelpunktabdeckung hinzugefügt werden. AlsoKanten sind abgedeckt. Da jede Scheitelpunktabdeckung, einschließlich der optimalen, einen der Knoten jeder abgedeckten Kante haben muss, andernfalls könnte sie verbessert werden, haben wir . Daraus folgt , dass Somit wird der Greedy - Algorithmus für eine maximale Anpassung ist ein -approximatio- Algorithmus für . Daher ist -approximable.C1/2|C|1/2|C|f(x,y)

|C|f(x,y)|C|12
1/2MinimalVertexCoverMinimalVertexCover1/2

Leider ist der relative Fehler nicht immer der beste Qualitätsbegriff für eine Annäherung, wie das folgende Beispiel zeigt:

Beispiel: Ein einfacher Greedy-Algorithmus kann . Eine Analyse zeigt , dass und damit wäre - annähernd.MinimumSetCover

|C||C|Hn1+ln(n)
MinimumSetCoverln(n)1+ln(n)

Wenn der relative Fehler nahe bei die folgende Definition vorteilhaft.1

Lassen ist ein Optimierungsproblem mit für alle und und eine Approximation-Algorithmus für . Das Approximationsverhältnis der realisierbaren Lösung der Instanz ist O=(X,L,f,opt)f(x,y)>0xXyL(x)AO rA(x)A(x)=yL(x)xX

rA(x)={1f(x,A(x))=f(x,y)max{f(x,A(x))f(x,y),f(x,y)f(x,A(x))}f(x,A(x))f(x,y)

Wie zuvor bezeichnen wir einen Approximationsalgorithmus einen - Approximationsalgorithmus für das Optimierungsproblem wenn das Approximationsverhältnis für jede Eingabe durch begrenzt ist . Und doch wieder , wenn wir eine haben -Anpassung-Algorithmus zur Optimierung Problem dann genannt -approximable . Wir kümmern uns wieder nur um den ungünstigsten Fall und definieren das maximale Approximationsverhältnis als ArOrA(x)r1xX

rA(x)r
rAOOr rA(n)
rA(n)=sup{rA(x)|x|n}.
Dementsprechend ist das Approximationsverhältnis für suboptimale Lösungen größer als . Somit haben bessere Lösungen kleinere Verhältnisse. Für wir jetzt schreiben, dass es -approximierbar ist. Und im Fall von wissen wir aus dem vorherigen Beispiel, dass es -approximierbar ist. Zwischen dem relativen Fehler und dem Approximationsverhältnis gibt es einfache Beziehungen: 1MinimumSetCover(1+ln(n))MinimumVertexCover2
rA(x)=11ϵA(x)ϵA(x)=11rA(x).

Für kleine Abweichungen vom Optimum und der relative Fehler vorteilhaft gegenüber dem Approximationsverhältnis, das seine Stärken für große Abweichungen und .ϵ<1/2r<2ϵ1/2r2

Die beiden Versionen von -approximable überschneiden sich nicht, da eine Version immer und die andere . Der Fall ist unproblematisch, da dies nur durch Algorithmen erreicht wird, die eine exakte Lösung liefern und folglich nicht als Approximationsalgorithmen behandelt werden müssen.αα1α1α=1

Eine andere Klasse erscheint oft APX . Es ist definiert als die Menge aller Optimierungsprobleme von , die einen - mit , der in polynomialer Zeit abläuft.ONPOrr1

Wir sind fast fertig. Wir möchten die erfolgreichen Ideen von Reduktion und Vollständigkeit aus der Komplexitätstheorie übernehmen. Die Beobachtung ist, dass viele NP-harte Entscheidungsvarianten von Optimierungsproblemen zueinander reduzierbar sind, während ihre Optimierungsvarianten unterschiedliche Eigenschaften hinsichtlich ihrer Approximierbarkeit aufweisen. Dies ist auf die Polynomialzeit-Karp-Reduktion zurückzuführen, die bei NP-Vervollständigungsreduktionen verwendet wird und die Zielfunktion nicht bewahrt. Und selbst wenn die Zielfunktionen erhalten bleiben, kann die Polynomzeit-Karp-Reduktion die Qualität der Lösung verändern.

Was wir brauchen, ist eine stärkere Version der Reduktion, die nicht nur Instanzen von Optimierungsproblem auf Instanzen von , sondern auch gute Lösungen von zurück zu guten Lösungen von .O1O2O2O1

Daher definieren wir die approximationserhaltende Reduktion für zwei Optimierungsprobleme und aus . Wir nennen -reduzierbar auf , geschrieben als , wenn es zwei Funktionen und und eine Konstante mit:O1=(X1,L1,f1,opt1)O2=(X2,L2,f2,opt2)NPOO1 APO2O1APO2ghc

  1. g(x1,r)X2 für alle und rationalx1X1r>1
  2. L2(g(x,r1)) wenn für alle und rationalL1(x1)x1X1r>1
  3. h(x1,y2,r)L1(x1) für alle und rational und für allex1X1r>1y2L2(g(x1,r))
  4. Für festes beide Funktionen und durch zwei Algorithmen in Polynomzeit in der Länge ihrer Eingaben berechnet werden.rgh
  5. Wir haben für alle und rational und für alle
    f2(g(x1,r),y2)rf1(x1,h(x1,y2,r))1+c(r1)
    x1X1r>1y2L2(g(x1,r))

In dieser Definition hängen und von der Qualität der Lösung . Daher können sich die Funktionen für verschiedene Qualitäten unterscheiden. Diese Allgemeinheit wird nicht immer benötigt und wir arbeiten nur mit und .ghrg(x1)h(x1,y2)

Nachdem wir nun den Begriff der Reduktion für Optimierungsprobleme kennen, können wir endlich viele Dinge übertragen, die wir aus der Komplexitätstheorie kennen. Wenn wir zum Beispiel wissen, dass und wir zeigen, dass , folgt dies auch .O2APXO1APO2O1APX

Schließlich können wir definieren, was wir mit -hard und -complete für Optimierungsprobleme meinen:CC

Lassen ein Optimierungsproblem aus seinem und eine Klasse von Optimierungsproblemen von dann genannt -hard in Bezug auf , wenn für alle gilt.ONPOCNPOOCAPOC OAPO

Somit haben wir wieder eine Vorstellung von einem der schwierigsten Probleme in der Klasse. Es ist nicht überraschend, dass ein -hartes Problem in Bezug auf als -vollständig bezeichnet wird, wenn es ein Element von .CCAPC

Somit können wir jetzt über Vollständigkeit und Vollständigkeit usw. sprechen. Und natürlich werden wir jetzt gebeten, ein erstes vollständiges Problem aufzuzeigen, das die Rolle von übernimmt . Es kommt fast natürlich, dass dargestellt werden kann , um sein -komplette. Mit Hilfe des PCP-Theorem kann man sogar zeigen , dass ist -komplette.NPOAPXNPOSATWeightedSatisfiabilityNPOMaximum3SATAPX


11
Oh und bitte nehmen Sie meine Entschuldigung für diesen vergleichsweise langen Beitrag an, aber ich hatte keine Zeit, einen kürzeren zu schreiben.
uli

1
Die Pointe ist natürlich, dass Sie mit dem PCP-Theorem MAX3SAT und SAT verknüpfen können, was zeigt, dass es NP-schwer ist, MAX 3SAT besser als eine Konstante anzunähern. Das ist in gewissem Sinne das Äquivalent des Cook-Levin-Theorems.
Suresh

1
@Suresh Natürlich, aber dieses Ergebnis, das Sie erwähnen, bedarf meiner Erinnerung nach einer lückenerhaltenden Reduzierung. Und wie Sie bereits in Ihrem Beitrag darüber geschrieben haben, wollte ich sie hier nicht duplizieren.
uli

Tolle Antwort, +1! Ich frage mich, ob Ihre Antwort auf einigen Referenzen basiert.
Tim

@ Tim Natürlich gibt es Bücher, ich habe einige in den Kommentaren einer anderen Antwort
uli

19

In der Regel wird die NP-Härte einer "Gap" -Version des Problems angezeigt. Angenommen, Sie möchten zeigen, dass es schwierig ist, SET COVER auf einen Faktor von 2 anzunähern.

Sie definieren die folgende "Versprechen" -Instanz von SET COVER, die wir als 2-GAP-SET-COVER bezeichnen:

Repariere eine Nummer . 2-GAP-SET-COVER besteht aus allen Instanzen von Set-Cover, bei denen die Größe des optimalen Set-Cover entweder:

  • höchstens
  • mindestens2

Angenommen, wir zeigen, dass das Problem der Entscheidung, in welchen der beiden Fälle ein Problem fällt, NP-vollständig ist. Dann haben wir gezeigt, dass die Annäherung von SET COVER an einen Faktor von 2 NP-schwer ist, da wir einen solchen Algorithmus verwenden könnten, um diese beiden Fälle zu unterscheiden.


4

Die beiden vorhandenen Antworten sind sehr informativ, aber ich denke, keine von beiden beantwortet die Frage wirklich: "Wie kann ein Problem, das nicht einmal ein Entscheidungsproblem ist, NP-schwer sein, wenn NP eine Klasse von Entscheidungsproblemen ist ? "

Die Antwort ist, sich daran zu erinnern, was NP-schwer bedeutet. Ein Problem  ist unter gewissen Reduktionen NP-schwer, wenn jedes Problem in NP auf reduziert werden kann  . (Und  ist NP-vollständig, wenn es NP-schwer und in NP ist.) Inoffiziell bedeutet NP-schwer "Wenn ich dieses Problem lösen könnte, könnte ich alles in NP lösen", auch wenn das Problem, von dem Sie sprechen, nicht "ist. t in NP. Für die NP-Härte ist keine NP-Mitgliedschaft erforderlich, es ist jedoch der richtige Begriff der Reduktion erforderlich.LLL

Einige Beispiele.

  1. Jedes NEXPTIME-complete-Problem  ist unter polynomiellen Vielfachreduktionen NP-hart. Jedes Problem in NP ist in NEXPTIME und kann per Definition auf reduziert  werden. Nach dem Zeithierarchiesatz kann  nicht in NP sein, daher ist   nicht NP-vollständig.LLLL
  2. #SAT ist das Problem der Berechnung der Anzahl zufriedenstellender Zuordnungen zu CNF-Formeln. Es ist eindeutig nicht in NP, da NP, wie Sie beobachten, eine Klasse von Entscheidungsproblemen ist und #SAT keines davon ist. #SAT ist jedoch unter Polynomzeit-Turing-Reduktionen NP-hart, weil wir SAT darauf reduzieren können. Bei einer gegebenen SAT-Instanz fragen wir, wie viele zufriedenstellende Aufträge es gibt: Wenn es mindestens einen gibt, sagen wir "zufriedenstellend"; ansonsten "unbefriedigend".
  3. Es sei APPROXSAT das Problem, eine Zahl zu berechnen, die innerhalb eines Zehnfachen der Anzahl der erfüllenden Zuordnungen zu einer CNF-Formel  . Um nur nervig zu sein, nehmen wir an, Sie dürfen abrunden. Wenn  drei befriedigende Zuweisungen hat, darf der Algorithmus "0,3" denken und auf Null abrunden. Dies ist NP-hart unter Polynom-Zeit-Turing-Reduktionen, weil wir SAT immer noch darauf reduzieren können. Fragen Sie bei gegebener CNF-Formel  nach der Anzahl der erfüllenden Zuordnungen zu , wobei die  neue Variablen sind.  ist genau dann erfüllbar, wenn  ist, aberφφ φ ' = φ ( Z 1Z 10 ) Z i φ ' φ φ ' φ φ 'φφφ=φ(Z1Z10)Ziφφφ  wird garantiert, dass mehr als 1.000 zufriedenstellende Aufgaben hat, falls es welche gibt. Also,  ist erfüllbar , wenn und nur dann, wenn der APPROXSAT Algorithmus sagt , dass  hat mindestens 100 erfüllenden Belegungen.φφ
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.