의사 결정 문제의 최적화 버전


26

각 최적화 / 검색 문제에는 동등한 결정 문제가있는 것으로 알려져 있습니다. 예를 들어 최단 경로 문제

  • 최적화 / 검색 버전 : 무 방향 비가 중 그래프 와 두 개의 정점 주어지면 와 사이의 최단 경로를 찾으십시오 .G=(V,E)v,uVvu
  • 의사 결정 버전 : 무 방향 무가 중 그래프 , 두 개의 정점 및 음이 아닌 정수 가 주어지면 길이가 최대 인 와 사이 에 경로가 있습니까?G=(V,E)v,uVkGuvk

일반적으로 " st 찾기 !" " x st in x st f (x) \ leq k ?"가됩니다.xXf(x)=min{f(x)xX}f ( x ) kxXf(x)k

그러나 그 반대의 경우도 마찬가지입니다. 즉 모든 결정 문제에 대해 동등한 최적화 문제가 있습니까? 그렇지 않은 경우 동등한 최적화 문제가없는 의사 결정 문제의 예는 무엇입니까?


6
이 비트는 0입니까?
JeffE

5
"동등한"을 더 자세히 설명해야합니다. 예를 들어 다항식 시간 (또는 로그 공간)에서 다른 하나를 오라클 / 블랙 박스로 사용하여 해결할 수 있습니까? \ sf {NP} 내부의 모든 문제 또는 문제에만 관심이 NP있습니까?
Kaveh

1
당신의 관점에 따라, 그 질문은 사소한 것 ( " " 가없는 결정 문제를 취함 ) 또는 대답 할 수없는 것입니다 ( "등가의 선택 문제가 없음"을 증명하는 방법?). k
Raphael

답변:


28

의견에서 이미 언급했듯이 평소와 같이 정의에 따라 다릅니다. 이에 대한 나의 시도는 상당히 정의가 필요하므로 간결한 대답을 할 수없는 또 다른 예가 될 것입니다.


정의 :최적화 문제는 튜플 와(X,F,Z,)

  • X 적절하게 인코딩 된 (문자열) 인스턴스 또는 입력 세트 .
  • x X F ( x ) xF 각 인스턴스에 매핑하는 함수 세트에 의 실현 가능한 솔루션 의 .xXF(x)x
  • ( x , y ) x X y F ( x ) Z ( x , y ) yZ 각각의 쌍으로 매핑 목적 함수 , 및 실제 개수에 착신 의 .(x,y)xXyF(x)Z(x,y)y
  • 최대 은 IS 최적화 방향 중, 또는 .minmax

정의 : 최적화 문제 의 인스턴스 에 대한 최적의 솔루션 은 실현 가능한 솔루션 입니다. 입니다. 최적 해의 값은 로 표시되며 최적 이라고합니다 .P O y F ( x ) Z ( x , y ) = { Z ( x , y ) y F ( x ) } O p t ( x )xXPOyF(x)Z(x,y)={Z(x,y)yF(x)}Opt(x)

정의 : 평가 문제는 , 표시 최적화 문제에 대응 다음과 같다 : 인스턴스가 주어지면 , 컴퓨팅 경우 최적의 솔루션의 출력, 그렇지 않으면 '아니오 최적 솔루션 "을 갖는다.P O x X O p t ( x ) xPEPOxXOpt(x)x

이것은 전체 솔루션 자체가 아니라 모든 세부 정보가 포함 된 최적 솔루션 의 가치 를 요구합니다 .

정의 : 결정 문제는 , 표시 최적화 문제에 대응 은 다음과 같다 : 한 쌍의 주어 여기서 및 , 결정할 실현 가능한 솔루션을 가지고 되도록 경우 및 그 경우 .P O ( x , k ) x X k Q x y Z ( x , y ) k = min Z ( x , y ) k = maxPDPO(x,k)xXkQxyZ(x,y)k=minZ(x,y)k=max

첫 번째 관찰은 입니다. 증거는 어렵지 않으며 여기서 생략됩니다.PONPOPDNP

이제 직관적으로 및 에 해당하는 보다 더 어렵지 않다 자체. 이 느낌을 공식적으로 표현하기 위해 (그에 상응 하는 것이 무엇 을 의미 하는지 정의 ) 축소를 사용합니다.P D P O P OPEPDPOPO

언어 리콜 것을 다른 언어에 대한 다항식 시간 환원성이다 기능이있는 경우 다항식 시간을 계산할 수, 모든 단어에 대한 , . 이러한 종류의 환원은 Karp 또는 다 대일 환원이라고하며 , 을 이런 식으로 로 환원 할 수 작성하여 표현합니다 . 이것은 NP- 완료의 정의에서 중심 개념입니다.L 2 f x x L 1f ( x ) L 2 L 1 L 2 L 1 m L 2L1L2fxxL1f(x)L2L1L2L1mL2

불행히도, 다 대일 축소는 언어 사이에서 진행되며 최적화 문제와 관련하여 언어를 사용하는 방법이 명확하지 않습니다. 그러므로 우리는 다른 종류의 환원, 튜링 환원 을 고려해야합니다 . 먼저 우리는 이것을 필요로합니다 :

정의 : 문제 의 오라클 은 인스턴스를 일정한 시간에 풀 수있는 (가설적인) 서브 루틴입니다 .PPP

정의 : 문제 다항식 시간 튜링 환원 문제에 작성, 의 인스턴스 경우, 위한 오라클에 액세스 할 수있는 알고리즘에 의해 다항식 시간에 해결할 수 .P 2 P 1 T P 2 P 1 P 2P1P2P1TP2P1P2

비공식적으로 과 마찬가지로 관계 는 이 보다 어렵지 않다는 것을 표현 합니다. 가 다항식 시간에 풀 수 있다면 도 알 수 있습니다 . 다시 는 전이 관계입니다. 다음과 같은 사실이 명백합니다.P 1 T P 2 P 1 P 2 P 2 P 1 TmP1TP2P1P2P2P1T

하자 , 다음 .P D T P E T P OPONPOPDTPETPO

전체 솔루션이 제공되므로 값을 계산하고 바운드 충족하는지 여부를 결정하는 것은 간단합니다.k

정의 : 두 문제 과 대해 두 관계 , 유지되면 ; 동등성에 대한 우리의 개념 .P 2 P 1 T P 2 P 2P 1 P 1 T P 2P1P2P1TP2P2P1P1TP2

이제 해당 최적화 문제가 이고 가 정수 값인 경우 를 증명할 준비가되었습니다 . 보유하고 있음을 보여 주어야합니다 . 우리는 확인할 수 있습니다 이진과를위한 orcale usign 검색 . 의 정의는 일부 다항식 대해 를 보장 하므로 이진 검색의 단계 수는 다항식입니다 . P ON P O Z P E T P D{ Z ( x , y ) y F ( x ) } P D N P O | Z ( x , y ) | 2 q ( | x | ) q | x | PDTPEPONPOZPETPD{Z(x,y)yF(x)}PDNPO|Z(x,y)|2q(|x|)q|x|

최적화 문제를 들어 에 관계 덜 분명하다. 많은 구체적인 경우, 직접 보여줄 수 있습니다 . 이것이 일반적으로 여기에 주어진 프레임 워크 내에 있음을 증명하려면 추가 가정이 필요합니다.P E P D T P E T P OPOPEPDTPETPO

먼저 언어 쌍에서 해당 의사 결정 문제 쌍으로 을 확장해야합니다 . 그런 다음 것을 쉽게 알 수있다 보다 일반적이다 .T mmTm

하자 와 의사 결정 문제가 될; 다음 . 다 대일 축소는 매우 제한된 방식으로 오라클을 사용하는 것으로 해석 될 수 있기 때문에 유지됩니다. 오라클은 마지막에 한 번 호출되고 그 결과도 전체 결과로 반환됩니다. P ' P m의 P 'P T P 'PPPmPPTP

이제 피날레를위한 준비가되었습니다 :

하자 과 가정하자 정수 값이며, 그 NP-완료 후입니다이전 관찰에서 를 보여줍니다 . 이를 위해 와 같은 문제가 발생 합니다. 그리고두 번째 및 세 번째 는 이전에 증명 된 결정 및 평가 버전의 동등성으로 인해 합니다. 세 번째 는 P_D의 및 앞에서 언급 한 두 가지 사실, 즉 Z P D P D T P E T P O . P O T P E P ' ON P O P O T P ' E P O T P ' ET P ' DT P D T P E .PONPOZPD

PDTPETPO.
POTPEPONPOPOTPE
POTPETPDTPDTPE.
T P D P ON P OP DN PTTPDPONPOPDNP 및 .PmPOPTPO

이제 세부 사항 : 의 가능한 솔루션이 가 장착 된 알파벳 사용하여 인코딩 되었다고 가정하십시오 . 하자 의 단어 수 일반적인 길이 단어의 블록 내에서 길이와 사전 식 순서를 비 감소의 순서로 나열. (따라서 빈 워드이다.) 모든 내용 하자 고유 정수를 나타낸다 되도록 . 두 및 다항식 시간 내에 계산 될 수있다. 를 모든 대해 다항식으로 하자 Σ w 0 , w 1 , Σ w 0 y Σ σ ( y ) i y = w i σ σ - 1 q x XPOΣw0,w1,Σw0yΣσ(y)iy=wiσσ1qxX 모든 에는 있습니다.σ ( y ) < 2 q ( | x | )yF(x)σ(y)<2q(|x|)

이제 문제 는 수정 된 목적 함수 제외하고 동일합니다 . 들면 및 우리가 가지고 . 는 다항식 시간으로 계산 가능하므로 입니다. P O Z ' X X , Y F ( X ) Z ' ( 여기서 x , y는 ) = (2) Q ( | X | )Z ( X , Y ) + σ ( Y ) Z ' P ' ON P OPOPOZxXyF(x)Z(x,y)=2q(|x|)Z(x,y)+σ(y)ZPONPO

그 표시하려면 우리가 관찰 에 대한 가능하다 경우 그것을 위해 가능한 경우에만 . 반대의 경우는 다루기가 쉽지 않기 때문에이 경우라고 가정 할 수 있습니다. X P O P ' EPOTPExPOPE

의 substituion 에 대한 의미에서 단순하다 모든 , 만약 다음 . 이것은마다 최적의 솔루션을 의미 에서 최적 솔루션 에 . 따라서 우리의 과제 는 에서 의 최적 해 의 계산으로 줄 입니다. Z의 Y 1 , Y 2F ( X ) Z ( X , Y 1 ) < Z ( X , Y 2 ) Z ' ( X , Y 1 ) < Z ' ( X , Y 2 ) X P ' O X P O y x P ' OZZy1,y2F(x)Z(x,y1)<Z(x,y2)Z(x,y1)<Z(x,y2)xPOxPOyxPO

위한 오라클 쿼리 우리의 값을 얻을 수 . 이 수의 나머지 모듈로 하면 다항식 시간으로 를 계산할 수있는 가 생성 됩니다. Z ' ( x , y ) = 2 q ( | x | )Z ( x , y ) + σ ( y ) 2 q ( | x | ) σ ( y ) yPEZ(x,y)=2q(|x|)Z(x,y)+σ(y)2q(|x|)σ(y)y


"문제 P의 오라클은 P의 인스턴스를 일정한 시간에 해결할 수있는 (가설적인) 서브 루틴입니다." 오라클은 일정한 시간 만 가져야합니까?
Tim

@Tim 물론 책이 있습니다. 다른 답변
uli

오라클에 관한 @ 팀 : 당신이 발견하는 경우 / 감소 생각 두 가지 문제 사이 와 는 한 감소 를위한 효율적인 알고리즘 찾는 문제 위한 효율적인 알고리즘을 찾는 . 즉, 감소는 를 풀기 위해 를 사용할 수 있음을 나타 냅니다. 의 알고리즘에서 의 서브 루틴을 사용하는 것과 같습니다 . 그러나 문제 와A B A B A B B A A BATBABABABBAAB효율적인 솔루션을 모르는 경우가 종종 있습니다. 그리고 Turing-reducibility의 경우, 관련된 문제를 전혀 결정할 수없는 경우에도 사용합니다.
uli

@Tim 따라서 는 알 수없는 서브 루틴입니다. 복잡도 이론에서 oracle 와의 알고리즘으로 축소에서 파생 된 대한 가상 알고리즘을 호출하는 것이 관례가되었습니다 . 에 대한 알 수없는 서브 루틴 호출 오라클은 단지 우리가에 대한 효율적인 알고리즘을 찾을 수 있도록 노력하겠습니다 수없는 표현 우리가 오라클 얻을 수 있도록 노력하겠습니다 수없는 것처럼 . 이 선택은 마법의 능력을 의미하기 때문에 다소 불행합니다. 오라클 비용은서브 루틴은 적어도 입력 를 읽어야합니다 . A B B B B | x | 엑스BABBBB|x|x
uli

3
모든면에서 훌륭한 답변; 내가 추가 할 수있는 유일한 것은 (또 다른 질문을 통해 지금에 오는)에 '최적화 방향은'복잡성의 불필요한 비트인지하고 구체성을 위해 우리는 항상 목적 함수 것을 추정 할 수 극대화 될 것이다; 의도 최소화하는 경우, 우리는 새로운 목적 함수 정의 할 수 있습니다 하고 모든 최소화 다시 극대화로 . Z ' = - Z Z Z 'ZZ=ZZZ
Steven Stadnicki

5

의견에서 알 수 있듯이 대답은 정확한 정의에 따라 다릅니다. 아주 기본적인 방법으로도 질문을 해석하겠습니다.

하자 약간 인 관계 일 수 .S { ( a , b ) a , b Σ }SS{(a,b)a,bΣ}

이제 대한 검색 문제 를 정의합니다 .S

주어지면 와 같은 찾으십시오 .b ( a , b ) Sab(a,b)S

의사 결정 문제 에 대한 :S

주어진 인지 여부를 응답합니다 .( a , b ) S(a,b)(a,b)S

(예를 들어, 질문에 주어진 예에서, 는 모든 쌍 을 보유하여 와 사이에 보다 짧은 경로가 존재합니다 .)( u , v , k ) u v kS(u,v,k)uvk

이 두 가지 문제는 잘 정의되어 있습니다. 이 정의를 위해 , 우리는 두 가지 문제가 대해 "동등한"것인지를 물을 수 있습니다 . "동등한"에서 나는 그것들 중 하나가 계산 가능하다면 (즉, 그것을 해결하는 알고리즘이 존재한다면) 다른 것 또한 계산 가능하다는 것을 의미한다. 일반적으로 그렇지 않습니다.S

주장 1 : 결정은 검색을 의미합니다 .

증명 : 를 의 결정 문제를 해결하는 알고리즘이라고 합시다 . 입력 주어지면 대해 를 실행할 수 있습니다 . 가 과 같은 가 존재 하면 결국 찾을 것입니다. 그렇지 않으면 알고리즘이 중지하지 않을 수 있습니다 . S a D S ( a , x ) x Σ b ( a , b ) S DSSaDS(a,x)xΣb(a,b)S

주장 2 : 수색결정을 의미 하지 않습니다 .

그 이유는 검색 알고리즘이 필요한 것과 다른 반환 할 수 있기 때문입니다 . 즉, 모든 대해 찾기가 매우 쉬운 일부 가 있지만 그렇지 않은 다른 가 있습니다. 예를 들어 결정 불가능한 언어로 설정 한 다음 모든 대해 검색 알고리즘은 을 반환 할 수 있습니다 . 그러나 어떤 결정 알고리즘이 제대로 대답하지 수 있는지 여부 에 대한, 모든 쌍 . 가능하다면 결정 불가능한 문제를 결정했을 것입니다. 이는 불가능합니다.a b b L S = { ( x , 0 ) x Σ } { ( x , 1 ) x L } . x 0 ( x , 1 ) S ( x , 1 )babbL

S={(x,0)xΣ}{(x,1)xL}.
x0(x,1)S(x,1)


S S 이것은 따라 다릅니다 . 예를 들어 가 바인드되면 중지하는 알고리즘이있을 수 있습니다.SS


2
올바른 결정 문제는 st 입니다. , B Sba,bS
Kaveh

결정이 의 존재로 정의되면 검색은 결정을 내포합니다. b
Ran G.

1
약한 의미에서 iewrt의 계산 능력은 있지만 복잡한 것은 아닙니다.
Kaveh
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.