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 ≤ mPO≤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