아래의 답변은 문제의 특별한 경우가 다항식 시간으로 해결할 수 있음을 관찰합니다. 이것은 게시물의 질문에 완전히 대답하지는 않지만 NP 경도 증거에 필요한 내용에 대한 통찰력을 제공하고 게시물에 대한 추가 관심을 유발할 수 있습니다 ...
관측. 게시물의 문제는 각 가 정수인 경우 주어진 시간 다항식으로 n 및 D = ∑로 실행 되는 알고리즘을 가지고 있습니다.cin있습니다.D=∑ici
증거 스케치.
모든 입력 수정 여기서, w , C ∈ R N + 및 (WLOG)
S = { 1 , 2 , ... , N } . 문제를 약간 표현하면 목표는 크기 K 의 M ⊆ S 를 최대화하는 것입니다. ∑ i ∈ M w(S,w,c,K)w,c∈Rn+S={1,2,…,n}M⊆SK.∑i∈Mwici∑나는 ∈Mc나는−∑나는 ∈ Mw나는
다음과 같은 동적 프로그램을 고려하십시오. 임의의 정수의 와 0 ≤ D 1 ≤ D 2 ≤ D , 0 ≤ K ≤ K 및 K ≤ m ≤ N 정의
φ ( D 1 , D 2 , K , m ) = 최대 { i ( c i /( d1, d2, k , m )0 ≤ d1≤ d2≤ D0 ≤ k ≤ Kk ≤ m ≤ n
원하는 해는 max d ϕ(d,d,
ϕ ( 일1, d2, k , m ) = 최대 { ∑나는 ∈ M승나는( c나는/ d1− 1 ) : M ⊆ [ m ] ,| 미디엄| =k,∑나는 ∈ M씨나는= d2} .
.
최대디ϕ ( 일, d, K, n )
에 대한 가능한 솔루션을 m 을 포함하고 그렇지 않은 솔루션으로 분할하면 반복
ϕ ( d 1 , d 2 , k , m ) = max { ϕ ( d 1 , d 2 - c m , k - 1 , m - 1 ) + w mϕ ( 일1, d2, k , m )미디엄
우리는 경계 사례를 연습으로 남겨 둡니다.
ϕ ( 일1, d2, k , m ) = 최대 { ϕ ( d1, d2− c미디엄, k - 1 , m - 1 ) + w미디엄( c미디엄/ d1− 1 )ϕ ( 일1, d2, k , m - 1 ) .
하위 문제의 수는 이며 반복의 각 오른쪽에 대해 일정한 시간에 평가할 수 있으므로 알고리즘은 시간 다항식 n 및 D로 실행됩니다 . ◻O ( n2디2)엔디 □
추론. P = NP가 아닌 한, NP- 경도를 나타내는 감소는 D 인 경우로 감소합니다디엔
말.승나는
승나는= c나는나는미디엄케이