예 또는 아니오가 아닌 결정 문제 대“실제”문제


36

나는 몇 가지 문제가에 근접하기 어려운 것을 여러 곳에서 읽기 (이다 NP-하드 근사치 를). 그러나 근사는 결정적인 문제가 아닙니다. 대답은 예 또는 아니오가 아닌 실수입니다. 또한 각각의 원하는 근사 계수에 대해 많은 정답과 오답이 있으며, 이는 원하는 근사 계수로 바뀝니다!

그렇다면이 문제가 NP-hard라고 어떻게 말할 수 있습니까?

(상기 제 탄환 영감 방법 어려운 방향 그래프에서 두 노드 사이의 간단한 경로들의 수를 카운트한다? )

답변:


27

당신이 말한대로 새로운 복잡성 클래스와 감소의 새로운 유형의 적절한 정의에 도달하는 데 필요한, 그래서, 메이크업에 아무 결정도 없다 NP-경도최적화-문제 .

이를 수행하는 한 가지 방법은 최적화 문제 를 포함 하고 의사 결정 문제에 대해 클래스 NPP 를 모방 하는 두 개의 새로운 클래스 NPOPO 를 갖는 것입니다. 새로운 감소도 필요합니다. 그런 다음 의사 결정 문제에 성공한 선을 따라 최적화 문제에 대한 NP-hardness 버전을 다시 만들 수 있습니다. 그러나 먼저 최적화 문제 가 무엇인지에 동의해야합니다 .

정의 : 가 최적화 문제가되게하십시오 . 는 문자열로 인코딩 된 입력 또는 인스턴스 집합입니다 . 은 각 인스턴스 를 일련의 문자열, 즉 인스턴스 의 가능한 솔루션 에 매핑하는 함수입니다 . 최적화 문제에 대한 많은 솔루션이 있기 때문에 세트입니다. 따라서 우리 는 인스턴스의 모든 쌍 에 대해 알려주 는 목적 함수 가지고 있으며 그 비용 이나 가치를 해결 합니다 . X L x X x f ( x , y ) y L ( x ) o p tO=(X,L,f,opt)XLxXx f(x,y) yL(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 yoptL(x)xXO=(X,L,f,opt)

f(x,yopt)=opt{f(x,y)yL(x)}.
y

이제 우리는 클래스 정의 할 수 있습니다 NPO를 :하자 모두 최적화-문제들의 집합 와 :O = ( X , L , f , o p t )NPOO=(X,L,f,opt)

  1. XP
  2. 모든 인스턴스 및 가능한 모든 솔루션 대해 다항식 가 있습니다. 또한 다항식 시간에 여부를 결정하는 결정 론적 알고리즘이 있습니다.| y | p ( | x | ) x X y L ( x ) y L ( x )p|y|p(|x|)xXyL(x)yL(x)
  3. f 는 다항식 시간으로 평가할 수 있습니다.

그 직관은 다음과 같습니다.

  1. 가 실제로 최적화 문제의 유효한 인스턴스 인지 효율적으로 확인할 수 있습니다 .x
  2. 실행 가능한 솔루션의 크기는 입력 크기에서 다항식으로 제한되며 가 인스턴스 의 실행 가능한 솔루션인지 여부를 효율적으로 확인할 수 있습니다 .xyL(x)x
  3. 의 해 값은 효율적으로 결정될 수 있습니다.yL(x)

이것은 이제 PO에 대해 가 정의되는 방식을 반영합니다 . 는 다항식 시간의 결정 론적 알고리즘으로 해결할 수있는 의 모든 문제의 집합입니다 .P O N P ONPPONPO

이제 우리는 통화 할 것을 정의 할 수있다 근사 알고리즘 일 :의 근사 알고리즘 최적화 - 문제의 실행 가능 용액 계산하는 알고리즘 인 인스턴스 .y L ( x ) x XO=(X,L,f,opt)yL(x)xX

참고 : 최적의 솔루션을 요구하지 않으며 실행 가능한 솔루션 만 제공합니다 .

이제 두 가지 유형의 오류가 있습니다. 최적화 문제 의 인스턴스 실행 가능한 솔루션 의 절대 오류 는.x X O = ( X , L , f , o p t ) | f ( x , y ) f ( x , y ) |yL(x)xXO=(X,L,f,opt)|f(x,y)f(x,y)|

알고리즘 가 모든 인스턴스 대해 의해 한정된 절대 오차를 가진 실현 가능한 솔루션을 계산 경우 의해 한정된 최적화 문제 에 대한 근사 알고리즘 의 절대 오차를 호출합니다 .O k A x X kAOkAxXk

예 : 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ΔΔ+1MinimumEdgeColoring1

이 예는 예외입니다. 작은 절대 오차는 드물기 때문에 최적화 문제 인스턴스 에 대해 근사 알고리즘 의 상대 오차 를 모든 및 에 대해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)>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)

여기서 는 근사 알고리즘 의해 계산 된 실행 가능한 솔루션 입니다.AA(x)=yL(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)δ0xX

ϵA(x)δxX.

의 선택 상대 오차 정의의 분모를 최대화하고 최소화 정의 대칭을 만들기 위해 선택되었다. 상대 오차 입니다. 최대화 문제의 경우 솔루션의 값은 절대로 보다 작지 않으며 보다 크지 않습니다. 최소화 문제에 대한ϵ 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/2MinimalVertexCoverMinimalVertexCover1/2

불행히도 다음 예에서 알 수 있듯이 상대 오차가 근사치에 대한 최상의 품질 개념 인 것은 아닙니다.

예 : 간단한 욕심 많은 알고리즘은 . 분석 결과 따라서 는 근사치입니다.MinimumSetCover

|C||C|Hn1+ln(n)
MinimumSetCoverln(n)1+ln(n)

상대 오차가 가까우 면 다음과 같은 정의가 유리합니다.1

하자 수와 활용 최적화 문제 모든 및 및 대한 근사 알고리즘 . 근사 비율 가능한 용액의 인스턴스 이다 O=(X,L,f,opt)f(x,y)>0xXyL(x)AO rA(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)

우리가 근사 알고리즘 호출 전과 최적화 문제에 대한--approximation 알고리즘 근사 비율 만약 의해 제한된다 모든 입력 . 그리고 다시 한번 우리가있는 경우 -approximation-알고리즘 최적화-문제에 대한 다음 호출 -approximable을 . 다시 우리는 최악의 경우에만 신경을 최대 근사 비ArOrA(x)r1xX

rA(x)r
rAOOr rA(n)
rA(n)=sup{rA(x)|x|n}.
따라서 근사 비율은 차선책의 경우 보다 큽니다 . 따라서 더 나은 솔루션은 더 작은 비율을 갖습니다. 를 들어 우리는 지금이 있음을 쓸 수 있습니다 -approximable. 그리고 경우 이전 예에서 근사치 임을 알고 있습니다 . 상대 오차와 근사화 비율 사이에는 간단한 관계가 있습니다 : 1MinimumSetCover(1+ln(n))MinimumVertexCover2
rA(x)=11ϵA(x)ϵA(x)=11rA(x).

최적의 및 와의 작은 편차의 경우 상대 오차는 근사 비보다 유리하며, 이는 큰 편차 및 대한 강도를 나타냅니다 .ϵ<1/2r<2ϵ1/2r2

하나의 버전에는 항상 과 다른 있으므로 두 버전의 -approximable은 겹치지 않습니다 . 정확한 솔루션을 생성하는 알고리즘에 의해서만 도달하고 결과적으로 근사 알고리즘으로 취급 될 필요가 없으므로 의 경우 문제가되지 않습니다.αα1α1α=1

다른 클래스는 종종 APX로 나타납니다 . 그것은 모든 최적화 - 문제의 집합으로 정의한다 에서 그 피난처 와 -approximation 알고리즘 다항식 시간에 실행합니다.ONPOrr1

우리는 거의 끝났다. 우리는 복잡한 이론으로부터 축소완성 이라는 성공적인 아이디어를 모방하고 싶습니다 . 관찰은 최적화 문제의 많은 NP-hard 결정 변형이 서로 환원 될 수있는 반면, 최적화 변형은 근사성에 대해 서로 다른 속성을 갖습니다. 이는 NP- 완료 감소에 사용 된 다항식 시간-카프 감소로 인해 목적 함수를 유지하지 않기 때문입니다. 그리고 목적 함수가 보존 되더라도 다항식 시간 감소는 솔루션의 품질을 변경할 수 있습니다.

필요한 것은 더 강력한 버전의 축소입니다. 최적화 문제 에서 인스턴스로 인스턴스를 뿐만 아니라 우수한 솔루션을 우수한 솔루션으로 다시 합니다.O1O2O2O1

따라서 우리는 정의 근사 보존 환원 두 - 최적화 문제 및 에서 . 우리는 전화 에 -reducible 로 작성, 두 가지 기능이있는 경우, 및 과 일정의 와 :O1=(X1,L1,f1,opt1)O2=(X2,L2,f2,opt2)NPOO1 APO2O1APO2ghc

  1. g(x1,r)X2모든 및 합리적인 대해x1X1r>1
  2. L2(g(x,r1)) if for 및 합리적인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

마지막으로 최적화 문제에 대해 -hard 및 -complete의 의미를 정의 할 수 있습니다.CC

하자 에서 최적화-문제 와 에서 최적화-문제의 클래스 다음 호출 -hard 에 대한 모든 경우 보유ONPOCNPOOCAPOC OAPO

따라서 우리는 다시 한 번 수업에서 가장 어려운 문제에 대한 개념을 갖습니다 . 놀라운 없음 -hard 문제라고하면 에 대하여 - 완전한 는 소자의 경우 .CCAPC

따라서 우리는 이제 완성과 완성 에 대해 이야기 할 수 있습니다 . 물론 이제 우리는 의 역할을 담당 하는 최초의 문제를 보여 합니다. 그것은 것을 거의 자연스럽게 로 표시 할 수 - 완전한. 주치의-정리 하나의 도움도 있음을 보여줄 수있는 입니다 - 완전한.NPOAPXNPOSATWeightedSatisfiabilityNPOMaximum3SATAPX


11
아, 그리고이 비교적 긴 글에 대한 사과를 받아 들여주세요.하지만 더 짧은 글을 쓸 시간이 없었습니다.
uli

1
물론 펀치 라인은 PCP 정리에 의해 MAX3SAT와 SAT를 연결할 수 있으므로 MAX 3SAT를 상수보다 더 좋게 만드는 것이 NP-hard라는 것을 보여줍니다. 그것은 어떤 의미에서 쿡 레빈 정리와 같습니다.
Suresh

1
@Suresh 물론, 그러나이 결과는 내가 기억하는 한 갭 보존 감소가 필요합니다. 그리고 당신이 이미 당신의 게시물에 그들에 대해 쓴 것처럼, 나는 여기에 그것들을 복제하고 싶지 않았습니다.
uli

좋은 대답, +1! 귀하의 답변이 일부 참조를 기반으로하는지 궁금합니다.
Tim

@Tim 물론 책이 있습니다, 나는 또 다른 답변
uli

19

일반적으로 표시되는 것은 문제의 "갭"버전의 NP- 경도입니다. 예를 들어, SET COVER를 2의 계수 내로 근사하기 어렵다는 것을 보여주고 싶다고 가정하십시오.

2-GAP-SET-COVER라고하는 SET COVER의 다음 "약속"인스턴스를 정의합니다.

숫자 수정하십시오 . 2-GAP-SET-COVER는 최적 세트 커버의 크기가 다음 중 하나 인 세트 커버의 모든 인스턴스로 구성됩니다.

  • 최대
  • 적어도2

문제가 발생하는 두 가지 경우를 결정하는 문제가 NP- 완전임을 보여줍니다. 그런 다음 SET COVER를 2의 인자 이내로 근사하는 것은 NP-hard라는 것을 보여주었습니다. 우리는 이러한 알고리즘을 사용하여이 두 경우를 구별 할 수 있기 때문입니다.


4

기존의 두 가지 답변은 매우 유익하지만 두 가지 중 어느 것도 실제로 질문에 대답하지 않는다고 생각합니다. ? "

답은 NP-hard의 의미를 기억하는 것입니다. NP의 모든 문제를 로 줄일 수 있다면 어떤 종류의 축소에서 문제  은 NP-hard  입니다. (그리고  NP-hard와 NP에서 은 NP-complete입니다.) NP에서 t. NP 경도는 NP 멤버십이 필요하지 않지만 올바른 감축 개념이 필요합니다.LLL

몇 가지 예.

  1. NEXPTIME- 완전한 문제  은 다항식 일대 다 감소에서 NP-hard입니다. NP의 모든 문제는 NEXPTIME에 있으므로 정의에 의해 로 환원 할 수  있습니다. 시간 계층 정리로  은 NP에있을 수 없으므로   은 NP- 완전하지 않습니다.LLLL
  2. #SAT는 CNF 공식에 대한 만족스러운 할당 수를 계산하는 문제입니다. NP가 의사 결정 문제의 클래스이고 #SAT가 그 중 하나가 아니기 때문에 NP에는 분명 없습니다. 그러나 #SAT는 SAT를 줄일 수 있기 때문에 다항식 튜링 감소에서 NP-hard입니다. SAT 사례가 주어지면 만족할만한 과제가 몇 개 있는지 묻습니다. 최소한 하나가 있으면 "만족"이라고합니다. 그렇지 않으면 "불만족"입니다.
  3. APPROXSAT가 CNF formula 에 대한 만족스러운 할당 수의 10 배 이내 인 숫자를 계산하는 문제가되게하십시오  . 성가 시게하기 위해, 반올림 할 수 있다고하자. 만약  가 3 개의 만족스러운 할당을 가지고 있다면 , 알고리즘은 "0.3"을 생각하고 0으로 내림 할 수있다. 이것은 SAT를 여전히 줄일 수 있기 때문에 다항식 튜링 감소에서는 NP-hard입니다. CNF 식 감안  에 만족 할당의 수를 요청 의 위치를  새로운 변수이다.  는  가 다음 과 같은 경우에만 만족할 수 있지만φ φ φ = φ ( Z 1Z 10 ) Z i φ φ φ φ φ φφφφ=φ(Z1Z10)Ziφφφ  에는 1,000 개가 넘는 만족할만한 과제가있을 경우 보장됩니다. 따라서  APPROXSAT 알고리즘이  100 개의 만족스러운 할당이 있다고 말하는 경우에만 를 만족할 수 있습니다.φφ
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.