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, o p t ) 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ę x ∈ X 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 fa która mówi nam dla każdej pary ( x , y) y∈ L ( x ) wystąpienia i rozwiązania jegokosztlubwartość. o p t 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 , yyo p t∈ L ( x )x ∈ XO = ( X, L , f, o p t )
fa( x , yo p t) = o p t { f( x , y′) ∣ y′∈ L ( x ) } .
Rozwiązaniem optymalnym jest często oznaczany przez
y∗ .
Teraz możemy zdefiniować klasę NPO : Niech N.P.O będzie zbiorem wszystkich problemów optymalizacyjnych O = ( X, L , f, o p t ) z:
- X∈ P.
- Istnieje wielomian p z | y| ≤p( | x | ) dla wszystkich instancji x ∈ X i wszystkich możliwych rozwiązań y∈ L ( x ) . Ponadto istnieje algorytm deterministyczny, który decyduje w czasie wielomianowym, czy y∈ L ( x ) .
- fa można oszacować w czasie wielomianowym.
Intuicja za tym stoi:
- Możemy skutecznie zweryfikować, czy x jest faktycznie prawidłowym wystąpieniem naszego problemu optymalizacji.
- 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 .y∈ L ( x )x
- Wartość roztworu można skutecznie ustalić.y∈ L ( 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.N.P.P.ON.P.O
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, o p t )y∈ L ( x )x ∈ X
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 ∗ ) | .y∈ L ( x )x ∈ XO = ( X, L , f, o p t )| fa( 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 .ZAOkZAx ∈ Xk
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 .Minimum−EdgeColoring1
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)>0x∈Xy∈L(x)
ϵZA( x ) : = { 0| fa( x , A ( x ) ) - f( x , y∗) |max { f(x,A(x)),f(x,y∗)}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 ) = y∈ L ( x )ZA
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 ) ≤ δZAO = ( X, L , f, o p t )δOϵZA( x )δ≥ 0x ∈ X
ϵZA( x ) ≤ δ∀ x ∈ X.
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∗) }ϵZA( 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.δδZAO
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ϵZA( n )ZAO
ϵZA( n ) = sup { ϵZA( 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/2Minimal−VertexCoverMinimal−VertexCover1/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 |Minimum−SetCovera zatemMinimum-SetCoverbędzieln(n)
|C||C∗|≤Hn≤1+ln(n)
Minimum−SetCoverPrzybliż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)>0x∈Xy∈L(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)=y∈L(x)x∈X
rA(x)={1max{f(x,A(x))f(x,y∗),f(x,y∗)f(x,A(x))}f(x,A(x))=f(x,y∗)f(x,A(x))≠f(x,y∗)
ArOrA(x)r≥1x∈X
rA(x)≤r
rAOOr rA(n)rA(n)=sup{rA(x)∣|x|≤n}.
1Minimum−SetCover(1+ln(n))Minimum−VertexCover2rA(x)=11−ϵA(x)ϵA(x)=1−1rA(x).
ϵ<1/2r<2ϵ≥1/2r≥2
αα≤1α≥1α=1
ONPOrr≥1
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 APO2O1≤APO2ghc
- g(x1,r)∈X2x1∈X1r>1
- L2(g(x,r1))≠∅L1(x1)≠∅x1∈X1r>1
- h(x1,y2,r)∈L1(x1)x1∈X1r>1y2∈L2(g(x1,r))
- rgh
f2(g(x1,r),y2)≤r⇒f1(x1,h(x1,y2,r))≤1+c⋅(r−1)
x1∈X1r>1y2∈L2(g(x1,r))
ghrg(x1)h(x1,y2)
O2∈APXO1≤APO2O1∈APX
CC
Pozwolić ONPOCNPOOC≤APO′∈C O′≤APO
CC≤APC
NPOAPXNPOSATWeighted−SatisfiabilityNPOMaximum−3SATAPX