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 ∈ Vv,u∈V vv uu - 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 ∈ Vv,u∈V kk GG uu vv kk
Ogólnie „Znajdź st !” staje się „Czy jest x \ w X st f (x) \ leq k ?”.x ∗ ∈ X
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?
Odpowiedzi:
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,⊙)
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∈X PO y∈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 ) xPE PO x∈X Opt(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 .PDPD POPO (x,k)(x,k) x∈Xx∈X k∈Qk∈Q xx yy Z(x,y)≤kZ(x,y)≤k ⊙=min⊙=min Z(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.PE PD PO PO
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 2L1 L2 f x x∈L1⇔f(x)∈L2 L1 L2 L1≤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.P P
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 .P1 P2 P1≤TP2 P1 P2
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:≤m P1≤TP2 P1 P2 P2 P1 ≤T
Niech P O ∈ N P O , wtedy P D ≤ T P E ≤ T P O .PO∈NPO PD≤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 .P1 P2 P1≤TP2 P2≤P1 P1≡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≡TPE PO∈NPO Z PE≤TPD ⊙{Z(x,y)∣y∈F(x)} PD P 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.PO PE PD≡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. ◻P P′ 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∈NPO Z PD
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,… Σ∗ w0 y∈Σ∗ σ(y) i y=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 | ) .σ−1 q x∈X y∈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′O PO Z′ x∈X y∈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′E x PO P′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′ Z y1,y2∈F(x) Z(x,y1)<Z(x,y2) Z′(x,y1)<Z′(x,y2) x w 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′O x PO y x P′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′E Z′(x,y)=2q(|x|)⋅Z(x,y)+σ(y) 2q(|x|) σ(y) y
źródło
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:
and a decision problem for 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}.
† This depends on S. If, for instance, S is bounded, there might exists an algorithm that does stop.
źródło