Optimierungsversion von Entscheidungsproblemen

26

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,uV 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,uV und einer nicht negativen ganzen Zahl kk in G einen Pfad Gzwischen uu und v,v dessen Länge höchstens k beträgt k?

xXf ( x * ) = min { f ( x ) | x X } f(x)=min{f(x)xX}x X xXf ( x ) kf(x)k

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?

Luke Miles
quelle
6
Ist dieses Bit gleich Null?
JeffE
5
Sie müssen "Äquivalent" näher erläutern, z. B. können Sie das eine mit dem anderen als Orakel / Blackbox in polynomialer Zeit (oder im logarithmischen Raum) lösen? Interessieren Sie sich für alle Probleme oder nur für Probleme innerhalb von ? N PNP
Kaveh
1
Abhängig von Ihrer Sichtweise ist die Frage entweder trivial (treffen Sie ein Entscheidungsproblem, das kein " " hat) oder nicht beantwortbar (wie kann man beweisen, dass es "kein äquivalentes opt. Problem" gibt?). kk
Raphael

Antworten:

28

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 .xX 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)xXyF(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 xXP OPO y F ( x ) yF(x)Z ( x , y ) = { Z ( x , y ' ) y 'F ( x ) } Z(x,y)={Z(x,y)yF(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 xXO 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 .xXkQxyZ(x,y)k=minZ(x,y)k=max

Eine erste Beobachtung ist jetzt, dass . Der Beweis ist hier nicht schwierig und entfällt.P ON P OP DN PPONPOPDNP

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 1f ( 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.xxL1f(x)L2L1L2L1mL2

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 .P2P1TP2P1P2

Informell, genau wie bei , die Beziehungm P 1 T P 2 P 1 P 2 P 2 P 1 TmP1TP2 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:P1P2P2P1T

Lassen Sie und dann .PONPOPONPOPDTPETPOPDTPETPO

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 .P1TP2P1TP2P2P1P2P1P1TP2P1TP2

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 sicherPDTPEPDTPEPONPOPONPOZZPETPDPETPD{Z(x,y)yF(x)}{Z(x,y)yF(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.PEPEPDTPETPOPDTPETPO

Zuerst müssen wir erweitern mm von Sprachpaaren auf Paare der entsprechenden Entscheidungsprobleme erweitern. Dann ist leicht zu erkennen, dass allgemeiner ist als .TTmm

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. PPPmPPTPPmPPTP

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ämlichPONPOPONPOZZPDPDPDTPETPO.

PDTPETPO.
POTPEPOTPEPONPOPONPOPOTPEPOTPEPOTPETPDTPDTPE.
POTPETPDTPDTPE.
TTTTPDPDPONPOPDNPPONPOPDNP und .PmPOPTPOPmPOPTPO

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 alleqqxXxXyF(x)yF(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 .POPOZxXyF(x)Z(x,y)=2q(|x|)Z(x,y)+σ(y)ZPONPO

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.POTPExPOPE

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 vonZZy1,y2F(x)Z(x,y1)<Z(x,y2)Z(x,y1)<Z(x,y2)xPOxPOyx in .PO

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.PEZ(x,y)=2q(|x|)Z(x,y)+σ(y)2q(|x|)σ(y)y

uli
quelle
"Ein Orakel für ein Problem P ist eine (hypothetische) Subroutine, die Instanzen von P in konstanter Zeit lösen kann." Muss ein Orakel nur konstante Zeit in Anspruch nehmen?
Tim
@ Tim Natürlich gibt es Bücher, ich habe einige in den Kommentaren einer anderen Antwort
uli
@Tim Zum Orakel: Wenn Sie eine Reduktion zwischen zwei Problemen und gefunden / konzipiert haben, haben Sie das Problem der Suche nach einem effizienten Algorithmus für auf die Suche nach einem effizienten Algorithmus für reduziert . Mit anderen Worten, die Reduktion sagt Ihnen, dass Sie können , um zu lösen . Es ist wie ein Unterprogramm für die Verwendung in einem Algorithmus für . Allerdings sind die Probleme undATBABABABBAABEs gibt oft Probleme, bei denen wir keine effizienten Lösungen kennen. Und im Falle von Turing-Reduzibility setzen wir es sogar dort ein, wo die damit verbundenen Probleme überhaupt nicht zu entscheiden sind.
uli
@Tim Somit ist ein unbekanntes Unterprogramm. In der Komplexitätstheorie ist es üblich geworden, den aus der Reduktion abgeleiteten hypothetischen Algorithmus für als Algorithmus mit Orakel . Das Aufrufen der unbekannten Subroutine für ein Orakel drückt nur aus, dass wir nicht hoffen können, einen effizienten Algorithmus für genauso wie wir nicht hoffen können, ein Orakel für . Diese Wahl ist etwas unglücklich, da sie eine magische Fähigkeit bedeutet. Die Kosten für das Orakel solltenals Unterprogramm muss mindestens die Eingabe gelesen werden . BABBBB|x|x
uli
3
Eine rundum ausgezeichnete Antwort; Das einzige, was ich hinzufügen möchte (ich komme jetzt auf eine andere Frage zurück), ist, dass die 'Optimierungsrichtung' ein unnötiges Stück Komplexität ist und wir der Vollständigkeit halber immer davon ausgehen können, dass die Zielfunktion maximiert werden soll; Wenn minimiert werden soll, können wir einfach eine neue Zielfunktion und die gesamte Minimierung von als Maximierung von umschreiben . ZZ=ZZZ
Steven Stadnicki
5

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 :

Wenn a gegeben ist , finde a b so, dass ( a , b ) S ist .

und ein Entscheidungsproblem für S :

Gegeben ( a , b ) Antwort , ob oder nicht ( ein , b ) 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

Der Suchalgorithmus kann 0 zurückgeben . Es kann jedoch kein Entscheidungsalgorithmus korrekt antworten, ob ( x , 1 ) S für alle Paare ( x , 1 ) ist . Wenn es könnte, hätte es ein unentscheidbares Problem entschieden, das unmöglich ist.


Das hängt von S ab . Wenn zum Beispiel S begrenzt ist, existiert möglicherweise ein Algorithmus, der stoppt.

Ran G.
quelle
2
Das richtige Entscheidung Problem ist die Existenz von b st a , b ⟩ & egr ; S .
Kaveh
Wenn die Entscheidung als das Vorhandensein von b definiert ist , impliziert die Suche die Entscheidung.
Ran G.
1
In einem schwachen Sinne ist die Berechenbarkeit, aber nicht die Komplexität ein heikleres Thema.
Kaveh