Problemy decyzyjne a „rzeczywiste” problemy, które nie są „tak lub nie”


36

Czytałem w wielu miejscach, że niektóre problemy są trudne do przybliżenia ( NP jest trudne do przybliżenia ). Ale przybliżenie nie jest problemem decyzyjnym: odpowiedź jest liczbą rzeczywistą, a nie Tak lub Nie. Również dla każdego pożądanego współczynnika przybliżenia istnieje wiele odpowiedzi, które są poprawne, a wiele błędnych, a to zmienia się wraz z pożądanym współczynnikiem przybliżenia!

Więc jak można powiedzieć, że ten problem jest trudny NP?

(zainspirowany drugim punktem w Jak trudno policzyć liczbę prostych ścieżek między dwoma węzłami na ukierunkowanym wykresie? )

Odpowiedzi:


27

Jak już powiedziałeś, nie musisz podejmować decyzji, więc potrzebne są nowe klasy złożoności i nowe rodzaje redukcji, aby uzyskać odpowiednią definicję twardości NP dla problemów z optymalizacją .

Jednym ze sposobów osiągnięcia tego jest posiadanie dwóch nowych klas NPO i PO, które zawierają problemy z optymalizacją i naśladują oczywiście klasy NP i P dla problemów decyzyjnych. Potrzebne są również nowe redukcje. Następnie możemy odtworzyć wersję twardości NP dla problemów z optymalizacją, tak jak w przypadku problemów decyzyjnych. Ale najpierw musimy ustalić, na czym polega problem optymalizacji .

Definicja: Niech O=(X,L,f,opt) będzie problemem optymalizacyjnym . X jest zbiorem danych wejściowych lub instancji odpowiednio zakodowanych jako łańcuchy. L jest funkcją, która odwzorowuje każdą instancję xX na zbiór ciągów, możliwe rozwiązania instancji x . Jest to zestaw, ponieważ istnieje wiele rozwiązań problemu z optymalizacją. Zatem nie mamy funkcji celu f która mówi nam dla każdej pary (x,y) yL(x) wystąpienia i rozwiązania jegokosztlubwartość. opt mówi nam, czy maksymalizujemy, czy minimalizujemy.

To pozwala nam zdefiniować, czym jest optymalne rozwiązanie : Niech będzie optymalnym rozwiązaniem wystąpienia x X problemu optymalizacyjnego O = ( X , L , f , o p t ) z f ( x , y o p t ) = o p t { f ( x , yyoptL(x)xXO=(X,L,f,opt)

f(x,yopt)=opt{f(x,y)yL(x)}.
Rozwiązaniem optymalnym jest często oznaczany przezy .

Teraz możemy zdefiniować klasę NPO : Niech NPO będzie zbiorem wszystkich problemów optymalizacyjnych O=(X,L,f,opt) z:

  1. XP
  2. Istnieje wielomian p z |y|p(|x|) dla wszystkich instancji xX i wszystkich możliwych rozwiązań yL(x) . Ponadto istnieje algorytm deterministyczny, który decyduje w czasie wielomianowym, czy yL(x) .
  3. f można oszacować w czasie wielomianowym.

Intuicja za tym stoi:

  1. Możemy skutecznie zweryfikować, czy x jest faktycznie prawidłowym wystąpieniem naszego problemu optymalizacji.
  2. Rozmiar możliwych rozwiązań jest wielomianowo ograniczony wielkością danych wejściowych, i możemy skutecznie zweryfikować, czy jest możliwym do rozwiązania rozwiązaniem wystąpienia x .yL(x)x
  3. Wartość roztworu można skutecznie ustalić.yL(x)

Odzwierciedla to jak jest zdefiniowana, teraz PO : Niech P O będzie zbiorem wszystkich problemów z N P O , które mogą być rozwiązane przez deterministycznego algorytmu w czasie wielomianowym.NPPONPO

Obecnie jesteśmy w stanie określić, co chcemy wywołać aproksymacji algorytm : An aproksymacji algorytm na optymalizację bezproblemowych to algorytm oblicza praktycznym rozwiązaniem Y L ( x ), na przykład, x x .O=(X,L,f,opt)yL(x)xX

Uwaga: Aby nie pytać o optymalne rozwiązanie, mamy tylko to, co ma wykonalne .

Teraz mamy dwa rodzaje błędów: błąd bezwzględny możliwego rozwiązania instancji x X problemu optymalizacyjnego O = ( X , L , f , o p t ) wynosi | f ( x , y ) - f ( x , y ) | .yL(x)xXO=(X,L,f,opt)|f(x,y)f(x,y)|

Błąd bezwzględny algorytmu aproksymacji nazywamy problemem optymalizacji O ograniczonym przez k, jeśli algorytm A oblicza dla każdej instancji x X możliwe rozwiązanie z błędem bezwzględnym ograniczonym przez k .AOkAxXk

Przykład: Zgodnie z twierdzeniem Vizing indeks chromatyczny wykresu (liczba kolorów w barwieniu krawędzi przy najmniejszej liczbie użytych kolorów) wynosi lub Δ + 1 , gdzie Δ jest maksymalnym stopniem węzła. Z dowodu twierdzenia przybliżeniem algorytm może być opracowany, który oblicza krawędź barwieniu hemibursztynianu + 1 kolorów. Odpowiednio mamy algorytm aproksymacyjny dla M i n i m u m - E d g e C o l o r i nΔΔ+1ΔΔ+1 Problem, w którym błąd bezwzględny jest ograniczony przez 1 .MinimumEdgeColoring1

Ten przykład jest wyjątkiem, małe błędy bezwzględne są rzadkie, dlatego definiujemy błąd względny algorytmu aproksymacji A w przypadku x problemu optymalizacji O = ( X , L , f , o p t ) z F ( x , y ) > 0 dla wszystkich x X i y L ( x ) będzieϵA(x)AxO=(X,L,f,opt)f(x,y)>0xXyL(x)

ϵA(x):={0f(x,A(x))=f(x,y)|f(x,A(x))f(x,y)|max{f(x,A(x)),f(x,y)}f(x,A(x))f(x,y)

gdzie ( x ) = y L ( x ) jest praktycznym rozwiązaniem obliczane przez przybliżenie algorytm A .A(x)=yL(x)A

Możemy obecnie określić przybliżenie algorytm do optymalizacji bezproblemowych O = ( X , L , F , O p t ) za δ -approximation algorytm do O , że błąd względny ε A ( x ) jest ograniczona przez hemibursztynianu 0 dla każdej instancji x X , a zatem ϵ A ( x ) δAO=(X,L,f,opt)δOϵA(x)δ0xX

ϵA(x)δxX.

Wybór w mianowniku definicji błędu względnego został wybrany aby symetryczny definicja dla maksymalizacji i minimalizacji. Wartość błędu względnego ϵ A ( x ) [ 0 , 1 ] . W przypadku problemu maksymalizującego wartość rozwiązania nigdy nie jest mniejsza niż ( 1 - ϵ A ( x )max{f(x,A(x)),f(x,y)}ϵA(x)[0,1] i nigdy nie większa niż 1 / ( 1 - ϵ A ( x ) ) f ( x , y ) dla zminimalizowania problemu.(1ϵA(x))f(x,y)1/(1ϵA(x))f(x,y)

Teraz możemy nazwać problem optymalizacji -aprzybliżeniem, jeśli istnieje δ -algorytm aproksymacji A dla O, który działa w czasie wielomianowym.δδAO

Nie chcemy patrzeć na błąd dla każdej instancji , patrzymy tylko na najgorszy przypadek. W ten sposób definiujemy ϵ A ( n ) , maksymalny błąd względny algorytmu aproksymacji A dla problemu optymalizacyjnego O, który ma wynosić ϵ A ( n ) = sup { ϵ A ( x ) | x | n } .xϵA(n)AO

ϵA(n)=sup{ϵA(x)|x|n}.

Gdzie powinien być wielkości instancji.|x|

Przykład: Maksymalne dopasowanie na wykresie można przekształcić w minimalną pokrywę węzła , dodając wszystkie węzły incydentalne z dopasowania do pokrywy wierzchołków. Tak więc 1 / 2 | C | krawędzie są pokryte. Jak każdej pokrywy wierzchołków w tym jedną optymalną musi mieć jeden z węzłów każdej zadaszonym krawędzi, w przeciwnym razie może ulec poprawie, mamy 1 / 2 | C | f ( x , y ) . Wynika z tego, że | C | - f ( x , y C1/2|C|1/2|C|f(x,y) Zatem chciwi algorytm dopasowaną maksymalnej jest1/2-approximatio algorytm dlaMinimjestl-VertexCOVeR. StądMInimjestl-VertexCOVeRjest1/2-approximable.

|C|f(x,y)|C|12
1/2MinimalVertexCoverMinimalVertexCover1/2

Niestety błąd względny nie zawsze jest najlepszym pojęciem jakości dla przybliżenia, jak pokazano w poniższym przykładzie:

Przykład: Prosty algorytm zachłanny może aproksymować . Analiza pokazuje, że | C |MinimumSetCovera zatemMinimum-SetCoverbędzieln(n)

|C||C|Hn1+ln(n)
MinimumSetCoverPrzybliżony 1 + ln ( n ) .ln(n)1+ln(n)

Jeśli błąd względny jest bliski korzystna jest następująca definicja.1

Niech jest optymalizacja-problem f ( x , y ) > 0 dla wszystkich x X i Y L ( x ) i A przybliżeniem algorytmu- O . Współczynnik aproksymacji r A ( x ) możliwego rozwiązania A ( x ) = yO=(X,L,f,opt)f(x,y)>0xXyL(x)AO rA(x) instancji x X to r A ( x ) = { 1 f ( x , A ( x ) ) = f ( x , y ) max { f ( x , A ( x ) )A(x)=yL(x)xX

rA(x)={1f(x,A(x))=f(x,y)max{f(x,A(x))f(x,y),f(x,y)f(x,A(x))}f(x,A(x))f(x,y)

ArOrA(x)r1xX

rA(x)r
rAOOr rA(n)
rA(n)=sup{rA(x)|x|n}.
1MinimumSetCover(1+ln(n))MinimumVertexCover2
rA(x)=11ϵA(x)ϵA(x)=11rA(x).

ϵ<1/2r<2ϵ1/2r2

αα1α1α=1

ONPOrr1

Już prawie koniec. Chcielibyśmy skopiować udane idee redukcji i kompletności z teorii złożoności. Obserwacja jest taka, że ​​wiele trudnych do NP wariantów decyzyjnych problemów optymalizacyjnych można wzajemnie redukować, podczas gdy ich warianty optymalizacyjne mają różne właściwości dotyczące ich przybliżalności. Wynika to z wielomianowej redukcji Karp stosowanej w redukcjach kompletności NP, która nie zachowuje funkcji celu. I nawet jeśli funkcje celu zostaną zachowane, redukcja czasu Karp wielomianu może zmienić jakość rozwiązania.

O1O2O2O1

O1=(X1,L1,f1,opt1)O2=(X2,L2,f2,opt2)NPOO1 APO2O1APO2ghc

  1. g(x1,r)X2x1X1r>1
  2. L2(g(x,r1))L1(x1)x1X1r>1
  3. h(x1,y2,r)L1(x1)x1X1r>1y2L2(g(x1,r))
  4. rgh
  5. f2(g(x1,r),y2)rf1(x1,h(x1,y2,r))1+c(r1)
    x1X1r>1y2L2(g(x1,r))

ghrg(x1)h(x1,y2)

O2APXO1APO2O1APX

CC

Pozwolić ONPOCNPOOCAPOC OAPO

CCAPC

NPOAPXNPOSATWeightedSatisfiabilityNPOMaximum3SATAPX


11
No i proszę przyjąć moje przeprosiny za ten stosunkowo długi post, ale nie miałem czasu na napisanie krótszego.
uli

1
linia punktowa jest oczywiście taka, że ​​według twierdzenia PCP można połączyć MAX3SAT i SAT, co pokazuje, że NP jest trudne do przybliżenia MAX 3SAT do lepszej niż jakaś stała. W pewnym sensie jest to odpowiednik twierdzenia Cooka-Levina.
Suresh,

1
@Suresh Oczywiście, ale wspomniany wynik wymaga redukcji zachowującej odstępy, o ile pamiętam. A jak już pisałeś o nich w swoim poście, nie chciałem ich tutaj kopiować.
uli

Świetna odpowiedź, +1! Zastanawiam się, czy twoja odpowiedź jest oparta na niektórych referencjach?
Tim

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

19

Zazwyczaj pokazywana jest twardość NP „luki” wersji problemu. Załóżmy na przykład, że chcesz pokazać, że trudno jest zbliżyć wartość parametru SET COVER do współczynnika 2.

Zdefiniujesz następującą „obietnicę” wystąpienia SET COVER, którą nazwiemy 2-GAP-SET-COVER:

  • 2

Załóżmy, że pokazujemy, że problem decydowania o tym, w którym z dwóch przypadków występuje problem, jest NP-zupełny. Następnie wykazaliśmy, że przybliżenie SET COVER do współczynnika 2 jest trudne NP, ponieważ moglibyśmy użyć takiego algorytmu do rozróżnienia tych dwóch przypadków.


4

Dwie istniejące odpowiedzi są bardzo pouczające, ale nie sądzę, że żadna z nich tak naprawdę odpowiada na pytanie, które brzmi: „W jaki sposób problem, który nie jest nawet problemem decyzyjnym, może być trudny do rozwiązania, gdy NP jest klasą problemów decyzyjnych ?

LLL

Kilka przykładów.

  1. LLLL
  2. #SAT to problem obliczania liczby spełniających przypisań formuł CNF. Wyraźnie nie ma go w NP, ponieważ, jak zauważyłeś, NP jest klasą problemów decyzyjnych, a #SAT nie jest jednym z nich. Jednak #SAT jest NP-trudny przy wielomianowych redukcjach Turinga, ponieważ możemy zredukować do niego SAT. Biorąc pod uwagę instancję SAT, pytamy, ile jest satysfakcjonujących zadań: jeśli jest co najmniej jeden, mówimy „zadowalający”; w przeciwnym razie „niezadowalający”.
  3. φφφφ=φ(Z1Z10)Ziφφφφφ
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.