당신이 말한대로 새로운 복잡성 클래스와 감소의 새로운 유형의 적절한 정의에 도달하는 데 필요한, 그래서, 메이크업에 아무 결정도 없다 NP-경도 에 최적화-문제 .
이를 수행하는 한 가지 방법은 최적화 문제 를 포함 하고 의사 결정 문제에 대해 클래스 NP 및 P 를 모방 하는 두 개의 새로운 클래스 NPO 및 PO 를 갖는 것입니다. 새로운 감소도 필요합니다. 그런 다음 의사 결정 문제에 성공한 선을 따라 최적화 문제에 대한 NP-hardness 버전을 다시 만들 수 있습니다. 그러나 먼저 최적화 문제 가 무엇인지에 동의해야합니다 .
정의 : 가 최적화 문제가되게하십시오 . 는 문자열로 인코딩 된 입력 또는 인스턴스 집합입니다 . 은 각 인스턴스 를 일련의 문자열, 즉 인스턴스 의 가능한 솔루션 에 매핑하는 함수입니다 . 최적화 문제에 대한 많은 솔루션이 있기 때문에 세트입니다. 따라서 우리 는 인스턴스의 모든 쌍 에 대해 알려주 는 목적 함수 가지고 있으며 그 비용 이나 가치를 해결 합니다 . X L x ∈ X x f ( x , y ) y ∈ L ( x ) o p tO=(X,L,f,opt)XLx∈Xx f(x,y) y∈L(x)opt 우리가 최대화하고 있는지 또는 최소화하고 있는지 알려줍니다.
이것은 무엇을 정의 할 수있게 해준다 최적의 솔루션 하자 : 인 될 최적의 솔루션 인스턴스의 최적화-문제의 와최적의 해는 종종 로 표시됩니다 .x ∈ X O = ( X , L , f , o p t ) f ( x , y o p t ) = o p t { f ( x , y ′ ) ∣ y ′ ∈ L ( x ) } . y ∗yopt∈L(x)x∈XO=(X,L,f,opt)
f(x,yopt)=opt{f(x,y′)∣y′∈L(x)}.
y∗
이제 우리는 클래스 정의 할 수 있습니다 NPO를 :하자 모두 최적화-문제들의 집합 와 :O = ( X , L , f , o p t )NPOO=(X,L,f,opt)
- X∈P
- 모든 인스턴스 및 가능한 모든 솔루션 대해 다항식 가 있습니다. 또한 다항식 시간에 여부를 결정하는 결정 론적 알고리즘이 있습니다.| y | ≤ p ( | x | ) x ∈ X y ∈ L ( x ) y ∈ L ( x )p|y|≤p(|x|)x∈Xy∈L(x)y∈L(x)
- f 는 다항식 시간으로 평가할 수 있습니다.
그 직관은 다음과 같습니다.
- 가 실제로 최적화 문제의 유효한 인스턴스 인지 효율적으로 확인할 수 있습니다 .x
- 실행 가능한 솔루션의 크기는 입력 크기에서 다항식으로 제한되며 가 인스턴스 의 실행 가능한 솔루션인지 여부를 효율적으로 확인할 수 있습니다 .xy∈L(x)x
- 의 해 값은 효율적으로 결정될 수 있습니다.y∈L(x)
이것은 이제 PO에 대해 가 정의되는 방식을 반영합니다 . 는 다항식 시간의 결정 론적 알고리즘으로 해결할 수있는 의 모든 문제의 집합입니다 .P O N P ONPPONPO
이제 우리는 통화 할 것을 정의 할 수있다 근사 알고리즘 일 :의 근사 알고리즘 최적화 - 문제의 실행 가능 용액 계산하는 알고리즘 인 인스턴스 .y ∈ L ( x ) x ∈ XO=(X,L,f,opt)y∈L(x)x∈X
참고 : 최적의 솔루션을 요구하지 않으며 실행 가능한 솔루션 만 제공합니다 .
이제 두 가지 유형의 오류가 있습니다. 최적화 문제 의 인스턴스 실행 가능한 솔루션 의 절대 오류 는.x ∈ X O = ( X , L , f , o p t ) | f ( x , y ) − f ( x , y ∗ ) |y∈L(x)x∈XO=(X,L,f,opt)|f(x,y)−f(x,y∗)|
알고리즘 가 모든 인스턴스 대해 의해 한정된 절대 오차를 가진 실현 가능한 솔루션을 계산 경우 의해 한정된 최적화 문제 에 대한 근사 알고리즘 의 절대 오차를 호출합니다 .O k A x ∈ X kAOkAx∈Xk
예 : Vize의 정리에 따르면 그래프 의 색도 지수 (사용 된 색상 수가 가장 적은 가장자리 색상의 색상 수)는 또는 이며 여기서 는 최대 노드 정도입니다. 정리 증명으로부터 색으로 가장자리 색을 계산하는 근사 알고리즘을 고안 할 수 있습니다 . 따라서 우리는 절대 오차가 으로 제한되는 -Problem에 대한 근사 알고리즘을 갖습니다 .Δ + 1 Δ Δ + 1 M i n i m u m - E d g e C o l o r i n g 1ΔΔ+1ΔΔ+1Minimum−EdgeColoring1
이 예는 예외입니다. 작은 절대 오차는 드물기 때문에 최적화 문제 인스턴스 에 대해 근사 알고리즘 의 상대 오차 를 모든 및 에 대해A x O = ( X , L , f , o p t ) f ( x , y ) > 0 x ∈ X y ∈ L ( x )ϵA(x)AxO=(X,L,f,opt)f(x,y)>0x∈Xy∈L(x)
ϵA(x):={0|f(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∗)
여기서 는 근사 알고리즘 의해 계산 된 실행 가능한 솔루션 입니다.AA(x)=y∈L(x)A
이제 근사 알고리즘을 정의 할 수 최적화-문제에 대한 로 -approximation 알고리즘 에 대한 의 상대 오차가 있으면 에 의해 경계된다 모든 인스턴스 대해 이므로
O = ( X , L , f , o p t ) δ O ϵ A ( x ) δ ≥ 0 x ∈ X ϵ A ( x ) ≤ δAO=(X,L,f,opt)δOϵA(x)δ≥0x∈X
ϵA(x)≤δ∀x∈X.
의 선택 상대 오차 정의의 분모를 최대화하고 최소화 정의 대칭을 만들기 위해 선택되었다. 상대 오차 입니다. 최대화 문제의 경우 솔루션의 값은 절대로 보다 작지 않으며 보다 크지 않습니다. 최소화 문제에 대한ϵ A ( x ) ∈ [ 0 , 1 ] ( 1 − ϵ A ( x ) ) ⋅ f ( x , y ∗ ) 1 / ( 1 − ϵ A ( x ) ) ⋅ fmax{f(x,A(x)),f(x,y∗)}ϵA(x)∈[0,1](1−ϵA(x))⋅f(x,y∗)1/(1−ϵA(x))⋅f(x,y∗)
이제 다항식 시간으로 실행되는 에 대한 -approximation-algorithm 가있는 경우 최적화 문제 -approximable을 호출 할 수 있습니다 .δ A OδδAO
우리는 모든 인스턴스 에 대한 오류를보고 싶지 않고 최악의 경우 만 봅니다. 따라서 우리는 정의 의 최대의 상대 금지 오류 근사-알고리즘의 최적화-문제에 대한 될
ϵ A ( n ) A O ϵ A ( n ) = sup { ϵ A ( x ) ∣ | x | ≤ n } 입니다.xϵA(n)AO
ϵA(n)=sup{ϵA(x)∣|x|≤n}.
어디서인스턴스 의 크기 여야 합니다.|x|
예 : 일치 하는 모든 정점 노드를 정점 커버에 추가 하여 그래프의 최대 일치를 최소 노드 커버 로 변환 할 수 있습니다 . 따라서가장자리가 덮여 있습니다. 최적의 것을 포함하는 각각의 정점 커버는 각각의 커버 된 에지의 노드 중 하나를 가져야하기 때문에, 그렇지 않으면 개선 될 수 있으므로, 있습니다. 그것은 그 다음
따라서, 최대 매칭을위한 그리 디 알고리즘은 인 -approximatio- 알고리즘 . 따라서 는 대략 입니다.C1/2⋅|C|1/2⋅|C|⋅f(x,y∗)
|C|−f(x,y∗)|C|≤12
1/2Minimal−VertexCoverMinimal−VertexCover1/2
불행히도 다음 예에서 알 수 있듯이 상대 오차가 근사치에 대한 최상의 품질 개념 인 것은 아닙니다.
예 : 간단한 욕심 많은 알고리즘은 . 분석 결과 따라서 는 근사치입니다.Minimum−SetCover
|C||C∗|≤Hn≤1+ln(n)
Minimum−SetCoverln(n)1+ln(n)
상대 오차가 가까우 면 다음과 같은 정의가 유리합니다.1
하자 수와 활용 최적화 문제 모든 및 및 대한 근사 알고리즘 . 근사 비율 가능한 용액의 인스턴스 이다
O=(X,L,f,opt)f(x,y)>0x∈Xy∈L(x)AO rA(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∗)
우리가 근사 알고리즘 호출 전과 최적화 문제에 대한--approximation 알고리즘 근사 비율 만약 의해 제한된다 모든 입력 .
그리고 다시 한번 우리가있는 경우 -approximation-알고리즘 최적화-문제에 대한 다음 호출 -approximable을 . 다시 우리는 최악의 경우에만 신경을 최대 근사 비 을
ArOrA(x)r≥1x∈X
rA(x)≤r
rAOOr rA(n)rA(n)=sup{rA(x)∣|x|≤n}.
따라서 근사 비율은 차선책의 경우 보다 큽니다 . 따라서 더 나은 솔루션은 더 작은 비율을 갖습니다. 를 들어 우리는 지금이 있음을 쓸 수 있습니다 -approximable. 그리고 경우 이전 예에서 근사치 임을 알고 있습니다 . 상대 오차와 근사화 비율 사이에는 간단한 관계가 있습니다 :
1Minimum−SetCover(1+ln(n))Minimum−VertexCover2rA(x)=11−ϵA(x)ϵA(x)=1−1rA(x).
최적의 및 와의 작은 편차의 경우 상대 오차는 근사 비보다 유리하며, 이는 큰 편차 및 대한 강도를 나타냅니다 .ϵ<1/2r<2ϵ≥1/2r≥2
하나의 버전에는 항상 과 다른 있으므로 두 버전의 -approximable은 겹치지 않습니다 . 정확한 솔루션을 생성하는 알고리즘에 의해서만 도달하고 결과적으로 근사 알고리즘으로 취급 될 필요가 없으므로 의 경우 문제가되지 않습니다.αα≤1α≥1α=1
다른 클래스는 종종 APX로 나타납니다 . 그것은 모든 최적화 - 문제의 집합으로 정의한다 에서 그 피난처 와 -approximation 알고리즘 다항식 시간에 실행합니다.ONPOrr≥1
우리는 거의 끝났다. 우리는 복잡한 이론으로부터 축소 와 완성 이라는 성공적인 아이디어를 모방하고 싶습니다 . 관찰은 최적화 문제의 많은 NP-hard 결정 변형이 서로 환원 될 수있는 반면, 최적화 변형은 근사성에 대해 서로 다른 속성을 갖습니다. 이는 NP- 완료 감소에 사용 된 다항식 시간-카프 감소로 인해 목적 함수를 유지하지 않기 때문입니다. 그리고 목적 함수가 보존 되더라도 다항식 시간 감소는 솔루션의 품질을 변경할 수 있습니다.
필요한 것은 더 강력한 버전의 축소입니다. 최적화 문제 에서 인스턴스로 인스턴스를 뿐만 아니라 우수한 솔루션을 우수한 솔루션으로 다시 합니다.O1O2O2O1
따라서 우리는 정의 근사 보존 환원 두 - 최적화 문제 및 에서 . 우리는 전화 에 -reducible 로 작성, 두 가지 기능이있는 경우, 및 과 일정의 와 :O1=(X1,L1,f1,opt1)O2=(X2,L2,f2,opt2)NPOO1 APO2O1≤APO2ghc
- g(x1,r)∈X2모든 및 합리적인 대해x1∈X1r>1
- L2(g(x,r1))≠∅ if for 및 합리적인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
마지막으로 최적화 문제에 대해 -hard 및 -complete의 의미를 정의 할 수 있습니다.CC
하자 에서 최적화-문제 와 에서 최적화-문제의 클래스 다음 호출 -hard 에 대한 모든 경우 보유ONPOCNPOOC≤APO′∈C O′≤APO
따라서 우리는 다시 한 번 수업에서 가장 어려운 문제에 대한 개념을 갖습니다 . 놀라운 없음 -hard 문제라고하면 에 대하여 - 완전한 는 소자의 경우 .CC≤APC
따라서 우리는 이제 완성과 완성 에 대해 이야기 할 수 있습니다 . 물론 이제 우리는 의 역할을 담당 하는 최초의 문제를 보여 합니다. 그것은 것을 거의 자연스럽게 로 표시 할 수 - 완전한. 주치의-정리 하나의 도움도 있음을 보여줄 수있는 입니다 - 완전한.NPOAPXNPOSATWeighted−SatisfiabilityNPOMaximum−3SATAPX