Es ist bekannt, dass jedes Optimierungs- / Suchproblem ein äquivalentes Entscheidungsproblem hat. Zum Beispiel das Problem mit dem kürzesten Weg
- Optimierungs- / Suchversion: Finden Sie bei einem ungerichteten ungewichteten Graphen G = ( V , E )
G=(V,E) und zwei Eckpunkten v , u ∈ Vv,u∈V einen kürzesten Weg zwischen vv und uu .- Entscheidungsversion: Gibt es bei einem ungerichteten ungewichteten Graphen G = ( V , E )
G=(V,E) , zwei Eckpunkten v , u ∈ Vv,u∈V und einer nicht negativen ganzen Zahl kk in G einen PfadG zwischen uu und v,v dessen Länge höchstens k beträgtk ?
Gilt aber auch das Gegenteil, dh gibt es für jedes Entscheidungsproblem ein gleichwertiges Optimierungsproblem? Wenn nicht, was ist ein Beispiel für ein Entscheidungsproblem, bei dem es kein gleichwertiges Optimierungsproblem gibt?
Antworten:
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
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 ∈ Xx∈X P 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 EPE P OPO x ∈ X x∈X O 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 ⊙ = maxPD PO (x,k) , wobei und , entscheiden , ob einen realisierbare Lösung hat so dass wenn und so dass wenn .x∈X k∈Q x y Z(x,y)≤k ⊙=min Z(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 OPE PD PO PO
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 2L1 L2 f 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.x x∈L1⇔f(x)∈L2 L1 L2 L1≤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 PP P
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 .P2 P1≤TP2 P1 P2
Informell, genau wie bei , die Beziehung≤ m P 1 ≤ T P 2 P 1 P 2 P 2 P 1 ≤ T≤m P1≤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:P1 P2 P2 P1 ≤T
Lassen Sie und dann .PO∈NPOPO∈NPO PD≤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 undP1P1 P2P2 beide Relationen , gelten, schreiben wir ; unser Begriff der Äquivalenz .P1≤TP2P1≤TP2 P2≤P1P2≤P1 P1≡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≡TPE PO∈NPOPO∈NPO ZZ PE≤TPDPE≤TPD ⊙{Z(x,y)∣y∈F(x)}⊙{Z(x,y)∣y∈F(x)} PDPD NPONPO |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.PEPE PD≡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∈NPO ZZ PDPD PD≡TPE≡TPO.
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,… Σ∗Σ∗ w0w0 y∈Σ∗y∈Σ∗ σ(y)σ(y) ii y=wiy=wi σσ σ−1σ−1 können in Polynomzeit berechnet werden. Sei ein Polynom, so dass für alleqq x∈Xx∈X y∈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
quelle
Wie aus den Kommentaren hervorgeht, hängt die Antwort von den genauen Definitionen ab. Lassen Sie mich die Frage sehr grundlegend (sogar naiv) interpretieren.
Sei eine Beziehung, das heißt .S S ⊆ { ( a , b ) | a , b & egr ; & Sgr; * }
Nun definieren wir ein Suchproblem für S :
und ein Entscheidungsproblem für S :
(In dem in der Frage angegebenen Beispiel wird S beispielsweise alle Paare ( u , v , k ) so halten, dass zwischen u und v ein Pfad existiert, der kürzer als k ist .)
Beachten Sie, dass diese beiden Probleme gut definiert sind . Für diese Definition können wir fragen, ob die beiden Probleme für jedes S "äquivalent" sind . In "Äquivalent" meine ich, dass, wenn einer von ihnen berechenbar ist (dh es gibt einen Algorithmus, der es löst), der andere ebenfalls berechenbar ist. Im Allgemeinen sind sie nicht.
Anspruch 1 : Entscheidung impliziert Suche .
Beweis: Sei D S der Algorithmus, der das Entscheidungsproblem von S löst . Bei einer Eingabe a können wir D S ( a , x ) für jedes x ∈ Σ ∗ nacheinander oder parallel ausführen . Wenn es existiert , b , so dass ( a , b ) ∈ S ist , werden wir es schließlich finden. Wenn nicht, stoppt der Algorithmus möglicherweise nicht † .
Anspruch 2 : Suchen Sie sich nicht bedeuten Entscheidung .
Der Grund ist, dass der Suchalgorithmus möglicherweise ein anderes b zurückgibt als das, das wir benötigen. Das heißt, für jedes a gibt es ein b , das sehr leicht zu finden ist, für das andere b ' jedoch nicht. Nehmen wir zum Beispiel L einige unentscheidbar Sprache sein, dann definieren S = { ( x , 0 ) | x ∈ & Sgr; * } ∪ { ( x , 1 ) | x ∈ L } . Für jedes x
† Das hängt von S ab . Wenn zum Beispiel S begrenzt ist, existiert möglicherweise ein Algorithmus, der stoppt.
quelle