Wersja optymalizacyjna problemów decyzyjnych


26

Wiadomo, że każdy problem optymalizacji / wyszukiwania ma równoważny problem decyzyjny. Na przykład problem najkrótszej ścieżki

  • Optymalizacja / Wersja: Biorąc pod uwagę nieukierunkowane nieważony wykres a dwa wierzchołki , znajdowanie najkrótszej ścieżki pomiędzy i .G = ( V , E ) G=(V,E)v , u ∈ V v,u∈Vv vuu
  • wersja decyzyjna: Biorąc pod uwagę nieukierowany wykres nieważony , dwa wierzchołki i nieujemną liczbę całkowitą , czy istnieje ścieżka w między i której długość wynosi co najwyżej ?G = ( V , E ) G=(V,E)v , u ∈ V v,u∈Vk kG Gu uv vkk

Ogólnie „Znajdź st !” staje się „Czy jest x \ w X st f (x) \ leq k ?”.x ∗ ∈ X x∗∈Xf ( x ∗ ) = min { f ( x ) ∣ x ∈ X } f(x∗)=min{f(x)∣x∈X}x ∈ X x∈Xf ( x ) ≤ kf(x)≤k

Ale czy jest też odwrotnie, tj. Czy istnieje równoważny problem optymalizacji dla każdego problemu decyzyjnego? Jeśli nie, jaki jest przykład problemu decyzyjnego, który nie ma równoważnego problemu optymalizacji?


6
Czy ten bit jest równy zero?
— JeffE

5
Musisz bardziej szczegółowo wyjaśnić „ekwiwalent”, np. Czy masz na myśli, że jeden można rozwiązać za pomocą drugiego jako wyroczni / czarnej skrzynki w czasie wielomianowym (lub w przestrzeni logarytmicznej)? Czy zależy Ci na wszystkich problemach, czy tylko na problemach N P.NP ?
— Kaveh

1
W zależności od twojego punktu widzenia pytanie jest albo trywialne (podejmij dowolny problem decyzyjny, który nie ma „ ”), albo nie odpowiada (jak udowodnić, że „nie ma równoważnego problemu optycznego”?). kk
— Raphael

Odpowiedzi:


28

Jak już wspomniano w komentarzach, jak zwykle zależy to od definicji. Moja próba odpowiedzi na to wymaga kilku definicji, więc będzie to kolejny przykład mojej niezdolności do udzielania zwięzłych odpowiedzi.


Definicja: problem optymalizacji jest krotką z( X , F , Z , ⊙ )(X,F,Z,⊙)

  • XX zestaw odpowiednio zakodowanych (ciągów) instancji lub danych wejściowych .
  • F x ∈ X F ( x ) xF jest funkcją, która odwzorowuje każdy przypadek dla zestawu z możliwych rozwiązań, z .x∈XF(x)x
  • Z ( x , y ) x ∈ X y ∈ F ( x ) Z ( x , y ) yZ jest celem funkcja odwzorowuje każdą parę , gdzie i do liczby rzeczywistej zwana wartość z .(x,y)x∈Xy∈F(x)Z(x,y)y
  • ⊙ min. Maks⊙ to kierunek optymalizacji , lub .minmax

Definicja: optymalne rozwiązanie o przykład o problem optymalizacyjny jest możliwe rozwiązanie w którym . Wartość optymalnego rozwiązania jest oznaczona i nazywana optymalną .x ∈ X P O y ∈ F ( x ) Z ( x , y ) = ⊙ { Z ( x , y ′ ) ∣ y ′ ∈ F ( x ) } O p t ( x )x∈XPOy∈F(x)Z(x,y)=⊙{Z(x,y′)∣y′∈F(x)}Opt(x)

Definicja: błąd oceny oznaczoną , odpowiadające problemu optymalizacji się następująco: Dla danej instancji , obliczyć , jeśli jest rozwiązanie optymalne i wyjście „nie optymalne rozwiązanie” w inny sposób.P E P O x ∈ X O p t ( x ) xPEPOx∈XOpt(x)x

Pamiętaj, że wymaga to jedynie wartości optymalnego rozwiązania, a nie całego rozwiązania ze wszystkimi szczegółami.

Definicja: problem decyzyjny , oznaczoną odpowiadający problem optymalizacji jest następujący: Z uwagi pary , gdzie i zdecydować, czy ma rozwiązanie dopuszczalne taki, że if i taki, że if .PDPDPOPO(x,k)(x,k)x∈Xx∈Xk∈Qk∈QxxyyZ(x,y)≤kZ(x,y)≤k⊙=min⊙=minZ(x,y)≥kZ(x,y)≥k⊙=max⊙=max

Pierwszą obserwacją jest teraz, że . Dowód nie jest tutaj trudny i pominięty.PO∈NPO⇒PD∈NPPO∈NPO⇒PD∈NP

Teraz intuicyjnie P E i P D odpowiadające P O nie są trudniejsze niż samo P O. Aby wyrazić to uczucie formalnie (wyznaczając tym samym co równoważne ma oznaczać) użyjemy redukcje.PEPDPOPO

Przypomnijmy, że język L 1 jest czasem wielomianowym redukowalnym do innego języka L 2, jeśli istnieje funkcja f , obliczalna w czasie wielomianowym, tak że dla wszystkich słów x , x ∈ L 1 ⇔ f ( x ) ∈ L 2 . Ten rodzaj jest znany jako redukowalnością Karp lub wiele-do-jednego redukowalnością i jeżeli L 1 jest zredukować do L 2 w ten sposób, to wyrazić przez zapisanie L 1 ≤ m L 2L1L2fxx∈L1⇔f(x)∈L2L1L2L1≤mL2. Jest to centralna koncepcja w definicji kompletności NP.

Niestety, redukcje „jeden do jednego” występują między językami i nie jest jasne, jak je stosować w kontekście problemów związanych z optymalizacją. Dlatego musimy rozważyć inny rodzaj redukowalności, redukcję Turinga . Najpierw potrzebujemy tego:

Definicja: wyrocznią dla problemu P oznacza grupę (hipotetyczny) podprogramu, który może rozwiązać wystąpienia P w stałym czasie.PP

Definicja: Problem P 1 jest wielomianem czasie Turinga sprowadza się do problemu P 2 , napisany P 1 ≤ T P 2 , w przypadku wystąpienia P 1 może być rozwiązany w czasie wielomianowym przez algorytm dostępu do ORACLE P 2 .P1P2P1≤TP2P1P2

Nieformalnie, podobnie jak w przypadku ≤ m , relacja P 1 ≤ T P 2 wyraża, że P 1 nie jest trudniejsze niż P 2 . Łatwo też zauważyć, że jeśli P 2 można rozwiązać w czasie wielomianowym, to również P 1 . Ponownie ≤ T jest relacją przechodnią. Następujący fakt jest oczywisty:≤mP1≤TP2P1P2P2P1≤T

Niech P O ∈ N P O , wtedy P D ≤ T P E ≤ T P O .PO∈NPOPD≤TPE≤TPO

Ponieważ biorąc pod uwagę pełne rozwiązanie, obliczenie jego wartości i podjęcie decyzji, czy spełnia ona wyznaczone k, jest proste.k

Definicja: Jeżeli dla dwóch problemów P 1 i P 2 obie zależności P 1 ≤ T P 2 , P 2 ≤ P 1 trzymają, zapisujemy P 1 ≡ T P 2 ; nasze pojęcie równoważności .P1P2P1≤TP2P2≤P1P1≡TP2

Jesteśmy teraz gotowi, aby udowodnić, że P D ≡ T P E, biorąc pod uwagę odpowiedni problem optymalizacji, to P O ∈ N P O, a Z jest wartością całkowitą. Musimy wykazać, że P E ≤ T P D utrzymuje się. Można określić ⊙ { Z ( x , y ) | Y ∈ F ( x ) } z binarnym wyszukiwania usign z orcale dla P D . Definicję NPD≡TPEPO∈NPOZPE≤TPD⊙{Z(x,y)∣y∈F(x)}PDP ONPO zapewnia, że | Z(x,y) | ≤ 2 q ( | x | ) dla niektórych wielomianówq, więc liczba kroków w wyszukiwaniu binarnym jest wielomianowa w | x | . ◻|Z(x,y)|≤2q(|x|)q|x|□

W przypadku problemu optymalizacji P O stosunek do P E jest mniej wyraźny. W wielu przypadkach, betonu, można pokazać, że bezpośrednio P D ≡ T P E ≡ T P O . Aby udowodnić, że ogólnie dotyczy to podanych tutaj ram, potrzebujemy dodatkowego założenia.POPEPD≡TPE≡TPO

Najpierw musimy rozszerzyć ≤ m z par języków na pary odpowiednich problemów decyzyjnych. Łatwo więc zauważyć, że ≤ T jest bardziej ogólne niż ≤ m .≤m≤T≤m

Niech P i P ' być problemy decyzyjne; następnie P ≤ m P ′ ⇒ P ≤ T P ′ . Dzieje się tak, ponieważ redukcję wiele do jednego można interpretować jako korzystanie z wyroczni w bardzo ograniczony sposób: wyrocznia jest wywoływana raz, na samym końcu, a jej wynik jest również zwracany jako wynik ogólny. ◻PP′P≤mP′⇒P≤TP′□

Teraz jesteśmy gotowi do finału:

Niech P O ∈ N P O i załóżmy, że Z jest liczbą całkowitą o wartościach a P D jest NP-zupełny, a P D ≡ T P E ≡ T P O . Z wcześniejszych obserwacji pozostaje pokazać P ö ≤ T P E . Aby to zrobić, będziemy wykazywać problem P ' O ∈ N P O takie, że P O ≤ T P ' E . Następnie mamyPO∈NPOZPD

PD≡TPE≡TPO.
PO≤TPEP′O∈NPOPO≤TP′EP O ≤ T P ' E ≤ T P ' D ≤ T P D ≤ T P E . Drugi i trzeci ≤ T zachowują ze względu na równoważność wcześniejszej wersji decyzji i oceny. Trzecia ≤ T wynika z NP-kompletności P D i dwóch wspomnianych wcześniej faktów, mianowicie P O ∈ N P O ⇒ P D ∈ N P i P ≤ m
PO≤TP′E≤TP′D≤TPD≤TPE.
≤T≤TPDPO∈NPO⇒PD∈NPP ' O ⇒ P ≤ T P ' O .P≤mP′O⇒P≤TP′O

Teraz szczegóły: Zakładamy, że wykonalne roztwory P O, są kodowane za pomocą alfabetu Ď wyposażony w zupełny kolejności. Niech w 0 , w 1 , … będą wyrazami z Σ ∗ wymienionymi w kolejności od nie malejącej długości i porządku leksykograficznego w blokach słów o wspólnej długości. (Zatem w 0 jest pustym słowem.) Dla wszystkich y ∈ Σ ∗ niech σ ( y ) oznacza unikalną liczbę całkowitą i taką, że y = w i . Oba σPOΣw0,w1,…Σ∗w0y∈Σ∗σ(y)iy=wiσi σ - 1 można obliczyć w czasie wielomianowym. Niech q będzie wielomianem takim, że dla wszystkich x ∈ X i wszystkich y ∈ F ( x ) mamy σ ( y ) < 2 q ( | x | ) .σ−1qx∈Xy∈F(x)σ(y)<2q(|x|)

Teraz problem P ' O jest identyczny jak P O, z wyjątkiem zmodyfikowanej funkcji celu Z ' . Dla x ∈ X i y ∈ F ( x ) bierzemy Z ′ ( x , y ) = 2 q ( | x | ) ⋅ Z ( x , y ) + σ ( y ) . Z ′P′OPOZ′x∈Xy∈F(x)Z′(x,y)=2q(|x|)⋅Z(x,y)+σ(y)Z′to obliczeniowy czas wielomianu zatem P ' O ∈ N P O .P′O∈NPO

Aby pokazać, że P O ≤ T P ' E widzimy, że x jest wykonalne dla P O , wtedy i tylko wtedy, gdy jest to wykonalne dla P ' E . Możemy założyć, że tak jest, ponieważ odwrotna sprawa jest łatwa w obsłudze.PO≤TP′ExPOP′E

Podstawienie Z ' dla Z jest monotoniczne w tym sensie, że dla wszystkich y 1 , y 2 ∈ F ( x ) , jeśli Z ( x , y 1 ) < Z ( x , y 2 ) to Z ' ( x , y 1 ) < Z ′ ( x , y 2 ) . Oznacza to, że każde optymalne rozwiązanie dla xZ′Zy1,y2∈F(x)Z(x,y1)<Z(x,y2)Z′(x,y1)<Z′(x,y2)xw P ' O jest rozwiązaniem optymalnym w x w P O . Zatem nasze zadanie sprowadza się do obliczania rozwiązanie optymalne Y w X w P ' O .P′OxPOyxP′O

Zapytając o wyrocznię dla P ′ E , możemy uzyskać wartość Z ′ ( x , y ) = 2 q ( | x | ) ⋅ Z ( x , y ) + σ ( y ) . Utworzenie reszty tej liczby modulo 2 q ( | x | ) daje σ ( y ), z którego y można obliczyć w czasie wielomianowym.P′EZ′(x,y)=2q(|x|)⋅Z(x,y)+σ(y)2q(|x|)σ(y)y


„Wyrocznia dla problemu P jest (hipotetyczną) podprogramem, który może rozwiązywać przypadki P w stałym czasie”. Czy wyrocznia musi trwać tylko przez cały czas?
— Tim

@Tim Oczywiście są książki, wymieniłem kilka w komentarzach do innej odpowiedzi
— uli

@Tim chodzi wyroczni: Jeśli znalazłeś / pomyślany zmniejszenie ≤ T B pomiędzy dwoma problemami A i B zostały zmniejszone problem znalezienia skutecznego algorytmu A do znalezienia skutecznego algorytmu B . Albo innymi słowy redukcja informuje, że w celu rozwiązania A można użyć B . To jest tak jak z podprogramu do B w algorytmie A . Jednak problemy A i BA≤TBABABABBAAB are often problems where we don’t know efficient solutions. And in case of Turing-reducibility we even use it in cases where the problems involved aren’t decidable at all.
— uli

@Tim Thus B is an unknown subroutine. It has become a custom in complexity theory to call the hypothetical algorithm for A derived from the reduction as an algorithm with oracle B. Calling the unknown subroutine for B an oracle just expresses that we can’t hope to find an efficient algorithm for B just as we can’t hope to obtain an oracle for B. This choice is somewhat unfortunate, as it connotes a magical ability. The cost for the oracle should be |x| as a subroutine has at least to read the input x.
— uli

3
An excellent answer all around; the only thing I would add (coming at it now via another question) is that the 'optimization direction' is a needless bit of complexity and for concreteness we can always presume that the objective function Z is to be maximized; if the intention is to minimize, then we can just define a new objective function Z′=−Z and rewrite all the minimization of Z as maximization of Z′.
— Steven Stadnicki

5

As the comments say, the answer depends on the exact definitions. Let me interpret the question in a very basic (even naïve) way.

Let S be some relation, that is S⊆{(a,b)∣a,b∈Σ∗}.

Now we define a search problem for S:

Given a, find a b such that (a,b)∈S.

and a decision problem for S:

Given (a,b) answer whether or not (a,b)∈S.

(for instance, in the example given in the question, S will hold all the pairs (u,v,k) such that there exists a path between u and v which is shorter than k.)

Note that these two problems are well defined. For this definition, we can ask whether the two problems are "equivalent" for any S. In "equivalent" I mean that if one of them is computable (i.e., there exists an algorithm that solves it) than the other one is computable as well. In general, they are not.

Claim 1: Decision implies Search.

Proof: Let DS be the algorithm that solves the decision problem of S. Given an input a, We can run DS(a,x) for any x∈Σ∗, one after the other, or in parallel. If there exists b such that (a,b)∈S, we will eventually find it. If not, the algorithm might not stop†.

Claim 2: Search does not imply Decision.

The reason is that the search algorithm might return a different b than the one we need. That is, for every a there is some b that is very easy to find, but other b′ that is not. For instance, let L be some undecidable language, then define S={(x,0)∣x∈Σ∗}∪{(x,1)∣x∈L}.

For every x the search algorithm can return 0. But no decision algorithm can answer correctly whether (x,1)∈S, for all the pairs (x,1). If it could, it would have decided an undecidable problem, which is impossible.


† This depends on S. If, for instance, S is bounded, there might exists an algorithm that does stop.


2
The right decision problem is existence of b s.t. ⟨a,b⟩∈S.
— Kaveh

If decision is defined as the existence of b, then search implies decision.
— Ran G.

1
In a weak sense, i.e. w.r.t. computability but not complexity is a more delicate issue.
— Kaveh
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.