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,uVv 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,uVk kG Gu uv vkk

Ogólnie „Znajdź st !” staje się „Czy jest x \ w X st f (x) \ leq k ?”.x X xXf ( x ) = min { f ( x ) x X } f(x)=min{f(x)xX}x X xXf ( 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?

Luke Miles
źródło
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 .xXF(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)xXyF(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 )xXPOyF(x)Z(x,y)={Z(x,y)yF(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 ) xPEPOxXOpt(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)xXxXkQkQxxyyZ(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.PONPOPDNPPONPOPDNP

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 1f ( 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 2L1L2fxxL1f(x)L2L1L2L1mL2. 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 .P1P2P1TP2P1P2

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:mP1TP2P1P2P2P1T

Niech P ON P O , wtedy P D T P E T P O .PONPOPDTPETPO

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 2P 1 trzymają, zapisujemy P 1 T P 2 ; nasze pojęcie równoważności .P1P2P1TP2P2P1P1TP2

Jesteśmy teraz gotowi, aby udowodnić, że P D T P E, biorąc pod uwagę odpowiedni problem optymalizacji, to P ON 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ę NPDTPEPONPOZPETPD{Z(x,y)yF(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.POPEPDTPETPO

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

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

Teraz jesteśmy gotowi do finału:

Niech P ON 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 ' ON P O takie, że P O T P ' E . Następnie mamyPONPOZPD

PDTPETPO.
POTPEPONPOPOTPEP O T P ' ET P ' DT P D T P E . Drugi i trzeciT zachowują ze względu na równoważność wcześniejszej wersji decyzji i oceny. TrzeciaT wynika z NP-kompletności P D i dwóch wspomnianych wcześniej faktów, mianowicie P ON P OP DN P i P m
POTPETPDTPDTPE.
TTPDPONPOPDNPP ' OP T P ' O .PmPOPTPO

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 | ) .σ1qxXyF(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 POPOZxXyF(x)Z(x,y)=2q(|x|)Z(x,y)+σ(y)Zto obliczeniowy czas wielomianu zatem P ' ON P O .PONPO

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

Podstawienie Z ' dla Z jest monotoniczne w tym sensie, że dla wszystkich y 1 , y 2F ( 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 xZZy1,y2F(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 .POxPOyxPO

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

uli
źródło
„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 BATBABABABBAAB 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)xL}.

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.

Ran G.
źródło
2
The right decision problem is existence of b s.t. a,bS.
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