Wie bereits in den Kommentaren ausgeführt, kommt es wie gewohnt auf die Definitionen an. Mein Versuch, dies zu beantworten, erfordert einige Definitionen. Dies wird ein weiteres Beispiel dafür sein, dass ich keine präzisen Antworten geben kann.
Definition: Ein Optimierungsproblem ist ein Tupel ( X , F , Z , ⊙ )(X,F,Z,⊙) mit
- XX die Menge der entsprechend codierten Instanzen oder Eingaben (Strings) .
- F x ∈ XF ist eine Funktion, die jede Instanz auf eine Menge von möglichen Lösungen von abbildet .x∈X F ( x ) xF(x)x
- Z ( x , y ) x ≤ X y ≤ F ( x )Z ist die Zielfunktion, die jedes Paar , wobei und , auf eine reelle Zahl abbildet, die als Wert von .(x,y)x∈Xy∈F(x) Z ( x , y ) yZ(x,y)y
- ⊙⊙ ist die Optimierungsrichtung , entweder oder . min minmaxmax
Definition: Eine optimale Lösung einer Instanz eines Optimierungsproblems ist eine mögliche Lösung für die . Der Wert einer optimalen Lösung wird mit und als Optimum bezeichnet .x ∈ X x∈XP OPO y ∈ F ( x ) y∈F(x)Z ( x , y ) = ⊙ { Z ( x , y ' ) ∣ y ' ∈ F ( x ) } Z(x,y)=⊙{Z(x,y′)∣y′∈F(x)}O p t ( x )Opt(x)
Definition: Das Auswertungsproblem , bezeichnete , entsprechend das Optimierungsproblem ist folgende: Da eine Instanz , compute , wenn eine optimale Lösung und Ausgang „keine optimale Lösung“ sonst hat.P E PEP OPO x ∈ X x∈XO p t ( x ) Opt(x)xx
Beachten Sie, dass hierbei nur der Wert der optimalen Lösung abgefragt wird, nicht die gesamte Lösung selbst mit all ihren Details.
Definition: Das Entscheidungsproblem , bezeichnete für das Optimierungsproblem entsprechendes ist folgende: Bei einem PaarP D P A ( x , k ) x ∈ X k ∈ Q x y Z ( x , y ) ≤ k ⊙ = min Z ( x , y ) ≥ k ⊙ = maxPDPO(x,k) , wobei und , entscheiden , ob einen realisierbare Lösung hat so dass wenn und so dass wenn .x∈Xk∈QxyZ(x,y)≤k⊙=minZ(x,y)≥k⊙=max
Eine erste Beobachtung ist jetzt, dass . Der Beweis ist hier nicht schwierig und entfällt.P O ∈ N P O ⇒ P D ∈ N PPO∈NPO⇒PD∈NP
Jetzt intuitiv und zu entsprechenden ist nicht schwieriger als selbst. Um dieses Gefühl formal auszudrücken (und damit zu definieren, was Äquivalent bedeuten soll), werden wir Reduktionen verwenden.P E P D P O P OPEPDPOPO
Man erinnere sich, dass eine Sprache polynomial auf eine andere Sprache reduzierbar ist, wenn es eine FunktionL 1 L 2 f x x ∈ L 1 ⇔ f ( x ) ∈ L 2 L 1 L 2 L 1 ≤ m L 2L1L2f in polynomischer Zeit berechenbare gibt, so dass für alle Wörter , . Diese Art der Reduzierbarkeit ist als Karp oder als 1: 1-Reduzierbarkeit bekannt . Wenn auf diese Weise auf reduzierbar ist, wir dies aus, indem wir . Dies ist ein zentrales Konzept bei der Definition der NP-Vollständigkeit.xx∈L1⇔f(x)∈L2L1L2L1≤mL2
Leider gibt es viele Eins-zu-Eins-Reduzierungen zwischen den Sprachen, und es ist nicht klar, wie sie im Kontext von Optimierungsproblemen eingesetzt werden sollen. Daher müssen wir eine andere Art von Reduzierbarkeit in Betracht ziehen, die Turing-Reduzierbarkeit . Zuerst brauchen wir das:
Definition: Ein Orakel für ein Problem ist eine (hypothetische) Subroutine, die Instanzen von in konstanter Zeit lösen kann .P PPP
Definition: Ein ProblemP 1 P 2 P 1 ≤ T P 2 P 1 P 2P1 ist polynomial-time Turing-reducible zu einem Problem , geschrieben , wenn Instanzen von in polynomialer Zeit durch einen Algorithmus mit Zugriff auf ein Orakel für gelöst werden können .P2P1≤TP2P1P2
Informell, genau wie bei , die Beziehung≤ m P 1 ≤ T P 2 P 1 P 2 P 2 P 1 ≤ T≤mP1≤TP2 ausgedrückt aus, dass nicht schwieriger ist als . Es ist auch leicht zu erkennen, dass wenn in Polynomzeit gelöst werden kann, auch . Wieder ist eine transitiven Beziehung. Die folgende Tatsache ist offensichtlich:P1P2P2P1≤T
Lassen Sie und dann .PO∈NPOPO∈NPOPD≤TPE≤TPOPD≤TPE≤TPO
Weil es angesichts der vollständigen Lösung einfach ist , ihren Wert zu berechnen und zu entscheiden, ob sie die Grenze erfüllt .kk
Definition: Wenn für zwei Probleme undP1P1P2P2 beide Relationen , gelten, schreiben wir ; unser Begriff der Äquivalenz .P1≤TP2P1≤TP2P2≤P1P2≤P1P1≡TP2P1≡TP2
Wir sind jetzt bereit zu beweisen, dass , , das entsprechende Optimierungsproblem ist und ist ein ganzzahliger Wert. Wir müssen zeigen, dass gilt. Wir können mit einer binären Suche bestimmen, indem wir die Orcale für . Die Definition von stellt das sicherPD≡TPEPD≡TPEPO∈NPOPO∈NPOZZPE≤TPDPE≤TPD⊙{Z(x,y)∣y∈F(x)}⊙{Z(x,y)∣y∈F(x)}PDPDNPONPO|Z(x,y)|≤2q(|x|)|Z(x,y)|≤2q(|x|) für ein Polynom , so dass die Anzahl der Schritte in der binären Suche in polynomisch ist . qq|x||x|◻□
Für ein Optimierungsproblem POPO die Beziehung zu weniger klar. In vielen konkreten Fällen kann man direkt zeigen, dass . Um zu beweisen, dass dies im Allgemeinen innerhalb des hier gegebenen Rahmens gilt, benötigen wir eine zusätzliche Annahme.PEPEPD≡TPE≡TPOPD≡TPE≡TPO
Zuerst müssen wir erweitern ≤m≤m von Sprachpaaren auf Paare der entsprechenden Entscheidungsprobleme erweitern. Dann ist leicht zu erkennen, dass allgemeiner ist als .≤T≤T≤m≤m
SeiPP und Entscheidungsprobleme; dann . Dies gilt, weil eine Eins-zu-Eins-Reduktion so interpretiert werden kann, dass ein Orakel nur sehr eingeschränkt genutzt wird: Das Orakel wird ganz am Ende einmal aufgerufen, und sein Ergebnis wird auch als Gesamtergebnis zurückgegeben. P′P′P≤mP′⇒P≤TP′P≤mP′⇒P≤TP′◻□
Jetzt sind wir bereit für das Finale:
Es sei und angenommen, ist ganzzahlig und ist NP-vollständig, dannBei den vorherigen Beobachtungen bleibt zu zeigen . Dazu zeigen wir ein Problem so dass . Dann haben wirDas zweite und dritte gelten wegen der Gleichwertigkeit der zuvor Entscheidungs- und Evaluierungsversion. Das dritte ergibt sich aus der NP-Vollständigkeit von und den beiden zuvor genannten Tatsachen, nämlichPO∈NPOPO∈NPOZZPDPDPD≡TPE≡TPO.
PD≡TPE≡TPO.
PO≤TPEPO≤TPEP′O∈NPOP′O∈NPOPO≤TP′EPO≤TP′EPO≤TP′E≤TP′D≤TPD≤TPE.PO≤TP′E≤TP′D≤TPD≤TPE.
≤T≤T≤T≤TPDPDPO∈NPO⇒PD∈NPPO∈NPO⇒PD∈NP und .
P≤mP′O⇒P≤TP′OP≤mP′O⇒P≤TP′O
Nun die Details: Angenommen, die möglichen Lösungen von werden mit einem Alphabet codiert, das mit einer Gesamtreihenfolge ausgestattet ist. Sei die Wörter aus die in der Reihenfolge nicht abnehmender Länge und lexikografischer Reihenfolge in den Wortblöcken mit gemeinsamer Länge aufgelistet sind. (Also ist das leere Wort.) Für alle sei die eindeutige ganze Zahl so dass . Sowohl als auch und alle wir habenPOPOΣΣw0,w1,…w0,w1,…Σ∗Σ∗w0w0y∈Σ∗y∈Σ∗σ(y)σ(y)iiy=wiy=wiσσσ−1σ−1 können in Polynomzeit berechnet werden. Sei ein Polynom, so dass für alleqqx∈Xx∈Xy∈F(x)y∈F(x)σ(y)<2q(|x|)σ(y)<2q(|x|) .
Das Problem ist nun identisch mit Ausnahme einer modifizierten Zielfunktion . Für und nehmen wir . ist in Polynomzeit berechenbar, also .P′OPOZ′x∈Xy∈F(x)Z′(x,y)=2q(|x|)⋅Z(x,y)+σ(y)Z′P′O∈NPO
Um diese zu zeigen beobachten wir , dass für machbar ist , wenn und nur wenn es möglich ist . Wir können davon ausgehen, dass dies der Fall ist, da der umgekehrte Fall trivial zu handhaben ist.PO≤TP′ExPOP′E
Die Substitution von für ist monoton in dem Sinne, dass für alle , wenn dann . Dies impliziert, dass jede optimale Lösung für in eine optimale Lösung von in . Somit reduziert sich unsere Aufgabe auf die Berechnung einer optimalen Lösung vonZ′Zy1,y2∈F(x)Z(x,y1)<Z(x,y2)Z′(x,y1)<Z′(x,y2)xP′OxPOyx in .P′O
wir das Orakel nach wir den Wert von . Wenn man den Rest dieser Zahl modulo erhält man aus dem in Polynomzeit berechnet werden kann.P′EZ′(x,y)=2q(|x|)⋅Z(x,y)+σ(y)2q(|x|)σ(y)y