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


26

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

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

일반적으로 " st 찾기 !" " x st in x st f (x) \ leq k ?"가됩니다.x∗∈Xf(x∗)=min{f(x)∣x∈X}f ( x ) ≤ kx∈Xf(x)≤k

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


6
이 비트는 0입니까?
— JeffE

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

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

답변:


28

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


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

  • X 적절하게 인코딩 된 (문자열) 인스턴스 또는 입력 세트 .
  • x ∈ X F ( x ) xF 각 인스턴스에 매핑하는 함수 세트에 의 실현 가능한 솔루션 의 .x∈XF(x)x
  • ( x , y ) x ∈ X y ∈ F ( x ) Z ( x , y ) yZ 각각의 쌍으로 매핑 목적 함수 , 및 실제 개수에 착신 값 의 .(x,y)x∈Xy∈F(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 )x∈XPOy∈F(x)Z(x,y)=⊙{Z(x,y′)∣y′∈F(x)}Opt(x)

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

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

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

첫 번째 관찰은 입니다. 증거는 어렵지 않으며 여기서 생략됩니다.PO∈NPO⇒PD∈NP

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

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

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

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

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

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

하자 , 다음 .P D ≤ T P E ≤ T P OPO∈NPOPD≤TPE≤TPO

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

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

이제 해당 최적화 문제가 이고 가 정수 값인 경우 를 증명할 준비가되었습니다 . 보유하고 있음을 보여 주어야합니다 . 우리는 확인할 수 있습니다 이진과를위한 orcale usign 검색 . 의 정의는 일부 다항식 대해 를 보장 하므로 이진 검색의 단계 수는 다항식입니다 . P O ∈ N 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 | ◻PD≡TPEPO∈NPOZPE≤TPD⊙{Z(x,y)∣y∈F(x)}PDNPO|Z(x,y)|≤2q(|x|)q|x|◻

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

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

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

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

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

PD≡TPE≡TPO.
PO≤TPEPO′∈NPOPO≤TPE′
PO≤TPE′≤TPD′≤TPD≤TPE.
≤ T P D P O ∈ N P O ⇒ P D ∈ N P≤T≤TPDPO∈NPO⇒PD∈NP 및 .P≤mPO′⇒P≤TPO′

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

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

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

의 substituion 에 대한 의미에서 단순하다 모든 , 만약 다음 . 이것은마다 최적의 솔루션을 의미 에서 최적 솔루션 에 . 따라서 우리의 과제 는 에서 의 최적 해 의 계산으로 줄 입니다. Z의 Y 1 , Y 2 ∈ F ( 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 ' OZ′Zy1,y2∈F(x)Z(x,y1)<Z(x,y2)Z′(x,y1)<Z′(x,y2)xPO′xPOyxPO′

위한 오라클 쿼리 우리의 값을 얻을 수 . 이 수의 나머지 모듈로 하면 다항식 시간으로 를 계산할 수있는 가 생성 됩니다. Z ' ( x , y ) = 2 q ( | x | ) ⋅ Z ( x , y ) + σ ( y ) 2 q ( | x | ) σ ( y ) yPE′Z′(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 BA≤TBABABABBAAB효율적인 솔루션을 모르는 경우가 종종 있습니다. 그리고 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 )babb′L

S={(x,0)∣x∈Σ∗}∪{(x,1)∣x∈L}.
x0(x,1)∈S(x,1)


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


2
올바른 결정 문제는 st 입니다. ⟨ , B ⟩ ∈ Sb⟨a,b⟩∈S
— Kaveh

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

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