하위 집합 합계 대 하위 집합 제품 (강도 대 약 NP 경도)


15

서브셋 합계 문제가 NP- 하드 인 반면 서브셋 제품 문제가 정확히 NP- 하드 인 이유를 설명 할 수 있기를 바랐습니다.

서브 세트 합계가 : 감안할 때 X={x1,...,xn}i X x i = T가 되도록 T부분 집합 가 존재한다 .XiXxi=T

일부 제품은 : 감안할 때 X={x1,...,xn}i X x i = T 와 같은 T부분 집합 가 존재한다 .XiXxi=T

나는 항상 두 문제가 동일하다고 생각했다. SS의 인스턴스는 지수를 통해 SP의 인스턴스로, 로그를 통해 SP의 인스턴스는 SS로 변환 될 수있다. 이로 인해 둘 다 동일한 등급의 NP-hard에 속한다고 결론을 내 렸습니다. 즉, 둘 다 약하게 NP-hard였습니다.

또한, 매우 작은 변화로 동적 프로그래밍을 사용하여 두 문제를 모두 해결하기 위해 동일한 반복이 사용될 수있는 것으로 보입니다 (SP에서 나누기를 가진 SS에서 빼기 대체).

Bernard Moret의 "계산 이론"8 장을 읽을 때까지 (책이없는 사람들은 X3C를 통한 서브 세트 제품의 경도 증명-강력한 NP-hard 문제).

축소를 이해했지만 이전 결론 (두 문제의 동등성)에 무엇이 잘못되었는지 파악할 수 없습니다.


업데이트 : 하위 집합 제품이 NP로 완전히 약하다는 것을 알 수 있습니다 (대상 제품은 지수입니다 ). 게리와 존슨 은 1981 년 NP- 완전성 칼럼에 이것을 발표 했지만, 그것은 그들의 책에서 이전 주장보다 눈에 띄지 않았다고 생각합니다.Ω(n)


5
동적 프로그래밍 알고리즘을 구현하는 방법을 상상해 보는 것이 좋습니다. 그러면 무엇이 잘못되었는지 알게 될 것입니다.
오카모토 요시오

@ MohammadAl-Turkistany :이 칼럼
RDN

답변:


5

하위 집합 합계 및 하위 집합 제품의 동등성 문제에 대해 하위 집합 제품에 대한 기술이 있습니다. T가 지수가 아닌 경우 x의 = T의 곱은 실제로 유사 다항식입니다! 따라서 서브셋 제품이 NP Hard라는 증거는 (기술적 인 이유로 !!!) 정확하지 않습니다!

그러나 T가 크다는 약속이 주어지면 로그를 통한 부분 집합 합으로의 축소는 실수를 초과하는 NONSTANDARD SUBSET SUM을 제공합니다! 이는 부분 집합에 대한 유사 다항식 알고리즘이 적용되지 않음을 의미합니다! 로그는 작지만 소수 자리는 유사 다항식 동적 프로그래밍을 망칩니다!

이게 도움이 되길 바란다

젤라


2
감소가 잘못되었다는 것에 대해 당신이 모든 것이 정확하다는 것을 알 수 있습니다 (즉, 그들이 그렇지 않을 때 강한 NP- 완전성을 보여 준다고 주장함). 감사!
RDN

8

첫째, 지수를 사용하여 SS에서 SP로 이동합니다 (base 대신 base 2 사용 ).하지만 관련된 수의 크기를 불어냅니다. NP 경도가 약하다는 것은 숫자가 작거나 더 정확하게는 단항으로 표시되면 문제가 더 이상 심각하지 않음을 의미합니다. 따라서 지수를 사용하면 SS의 쉬운 인스턴스에 대해서도 지수 크기의 SP 인스턴스가 만들어지며 여기서 숫자는 단항으로 작성됩니다.e

둘째, 로그는 일반적으로 정수가 아닌 값을 생성하기 때문에 로그를 사용하여 SP에서 SS로 이동하는 것은 작동하지 않습니다. SS와 SP는 정수를 사용하여 정의되며 대수는 종종 초월 값을 나타내며, 표현하기 어렵거나 수학적으로 수행하기가 어렵습니다.

<edit>

하자 정수, 수 > 0 , 다음 로그 (2)AA>0 경우에만 경우 합리적 A는 2의 거듭 제곱이며, 초월 그렇지. 먼저, log 2 A = p 인 경우log2AAlog2A=pq 제로가 아닌 정수에 대한 Q 다음 = 2 Ppq ,Aq=2p. 따라서 우리는소수 분해에 의해A=2r을가집니다. 또한Arq=2p이므로A가주어지면로그2A가 합리적임을 증명하기 위해q=1p=r을선택할 수 있습니다.A=2pqAq=2pA=2rArq=2pAq=1p=rlog2A

우리는 단지 가 절대로 초월 적이 라는 것을 보여 주어야합니다 . 이것은에서 다음과 Gelfond - 슈나이더 정리 하면 "입니다 (위키 페이지에서 볼 수) 동등한 제형, αγ가 제로가 아닌 대수적 숫자, 그리고 우리가 제로가 아닌 대수 걸릴 α를 , 다음 ( 로그 γ ) / ( 로그 α )log2Aαγα 는 합리적이거나 초월 적입니다. " 이 법칙의 역을 취하고 설정하여 쉽게 확인할 또한 α β = γ 따라서 β를(logγ)/(logα)=logαγαβ=γ .β=logαγ

</edit>

마지막으로 SP의 SS에서 동적 프로그래밍 알고리즘을 시도 할 때 어떤 일이 발생하는지 고려하십시오. 우리는 합계가 아닌 제품을 사용하기 때문에 관련된 숫자가 엄청나게 터지고 갑자기 필요한 임의의 정밀 수학이 실행 시간의 요소가됩니다. 이것이 숫자가 단항 인 경우에도 알고리즘이 SP 인스턴스를 빠르게 해결할 수없는 이유입니다.


이것은 다소 흥미로운 특수 사례로 이어집니다. 로그의 합리적 표현이 가능하고 무한 정밀도를 요구하지 않는 수의 클래스는 무엇입니까? 이 경우 문제는 실제로 서로 거의 동등하고 환원 될 수 있습니다. 그것은 또한 "자연적인"근사 알고리즘을 향한 것으로 보인다.
vzn

1
큰 답변 주셔서 감사합니다! vzn이 지적한 것처럼 로그 길이가 폴리 인 경우를 제외하고 로그를 가져 오는 것이 불법 인 이유는 하나 뿐이지 만 SS에서 SP로 이동하는 합법성이 여전히 확실하지 않습니다. 지수를 통해. 당신이 언급 한 바와 같이 WRT 우리는 다음과 같은 문제로 실행되지 않습니다 (지수를 통해) SP에 SS에서 진행 : 비트의 수의 입력 인스턴스에서 입니다 O ( N 로그 X ) 과의 비트 수 I S P의 인스턴스 는 O ( n x ) 입니다. 이것은 지수 폭발입니다. 그래도 여전히 합법적입니까? 그렇다면 왜 그렇습니까?ISSO(nlogx)ISPO(nx)
RDN

1
@ vzn, RDN : 로그가 초월 할 때 특성화로 편집했습니다. 감소의 폭파에 관해서는 '법적'에 대한 정의에 달려 있습니다. 감소는 정확 하지만 효율성은 다항식이 아니므로 NP- 경도에 대해서는 언급하지 않습니다. 따라서 올바른 폴리-시간 감소는 아니지만 한정자없이 올바른 감소입니다.
Alex ten Brink

모든 숫자 형식에 특별한 경우가 , 각각의 N 내가 합리적인는 들어, C 뿐만 아니라 C = 2 . 내가 생각한 근사 알고리즘 은 값을 "기본"으로 변환하는 것이 원본과 "가까운" c를 찾을 수 있습니다 . cninicc=2c
vzn

1

문자 그대로의 설명은 서브 세트 제품 문제가 3 세트의 정확한 커버와 같은 강력한 NP- 완전 문제를 줄임으로써 NP- 완료라는 것입니다. 이러한 "강한"감소에서, 입력 정수는 서브 세트 곱 문제의 결과 인스턴스에서 정수의 수의 일부 다항식 함수에 의해 제한된다.

이러한 "강한"감소는 아니면 강한 NP- 완전 문제에서 부분 집합 합계 문제까지 불가능하다 . 입력 정수가 다항식에 의해 제한되는 경우 하위 집합 합계 문제를 해결하기위한 다항식 시간 동적 프로그래밍 알고리즘이 있습니다.P=NP


예, 이해합니다 내 질문은 내가 이전에 내린 결론이 왜 틀렸는 지 (즉, SS와 SP의 동등성)에 관한 것이었다.
RDN

@rdn 그 의미에서 P = NP가 아닌 한 동등하지 않습니다.
Mohammad Al-Turkistany

예, 알겠습니다 그러나 나는 어느 방향 으로든 감축에 어떤 문제가 있었는지 알고 싶다.
RDN

감축 개요를 설명 할 수 있습니까?
Mohammad Al-Turkistany

I(SS)=X,SI(SP)=Y,PI(SS)I(SP)P=eSYi=eXiSP=eSI(SP)I(SS)S=log(P)Xi=log(Yi)PS=log(P)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.