NP- 완전 인수 분해의 변형.


45

Arora와 Barak 의 책은 다음과 같은 문제를 고려합니다.

FACTORING={L,U,N|( a prime p{L,,U})[p|N]}

또한 2 장에서 가 소수 라는 사실을 제거 하면이 문제가 NP- 완전하게되지만 숫자를 계산하는 어려움과는 관련이 없습니다. SUBSETSUM에서 축소가있을 수 있지만 찾지 못했습니다. 이 주변에 더 나은 행운이 있습니까?p

3 월 1 일 수정 : 현상금은 결정적 Karp (또는 Cook) 감소를 사용한 증명 용 입니다.NP


5
@ turkistany : FWIW, NP를 이탤릭체로 넣는 나쁜 스타일과 나쁜 스타일과 나쁜 LaTeX 모두 수학 모드에 넣는 것으로 생각합니다 (문자 사이의 간격이 다름).
Michaël Cadilhac

@ Michaël, 죄송합니다. 원래 스타일로 되돌아갔습니다. 나는 당신의 질문에 흥분했습니다 :)
Mohammad Al-Turkistany

7
좀 더 완전한 설명 :이 책의 63 페이지에, 그들은 다음과 같이 썼다 : Alon과 Kilian (개인 커뮤니케이션에서)은 Example 2.3의 Factoring 언어의 정의 에서 p가 주요한 조건이 인수 분해 문제 :이 조건이 없으면이 언어는 NP- 완료되기 때문에 (계수 정수의 경도와 관련이없는 이유로)
MS Dousti

2
당연히, 나는 "인자 화"와 "NP- 완료"가 포함 된 Alon과 Kilian의 논문을 검색했습니다. :(
Ito Tsuyoshi

5
@Michael 실제로 클래스를 아닌 로 렌더링하는 것을 좋아 합니다. 아니 ? NP
Suresh Venkat

답변:


35

이것은 정답은 아니지만 가깝습니다. 다음은 무작위 감소에서 문제가 NP-hard라는 증거입니다.

: , , , 의 요소를 알고 있다고 가정하면 부분 집합 합계와 명백한 관계가 있습니다. 이제 의 하위 집합 를 합니다.p 1 p 2p k S p 1p kNp1p2pkSp1 pk

logLpiSlogpilogU.

문제를 보여주기 위해이 아이디어를 사용하려고 시도에 대한 문제는 NP-하드 숫자는 당신이 일부-합 문제가있는 경우이다 , , , , 당신은 반드시 같은 그 다항식 시간에 소수를 찾을 수 없습니다 (여기서 는 대략 비례합니다). 서브셋 합계가 NP가 완전하지 않기 때문에 큰 정수 대해 를 찾아야하기 때문에 이것은 실제 문제 입니다.t 2t k log p it ilog p i t it1t2tklogpitilogpiti

이제 부분 집합 합 문제의 모든 정수 가 와 이고 합이 대략 합니다. 부분합 합 문제는 여전히 NP- 완료이며, 모든 솔루션은 정수 의 합입니다 . 가 와 에있게하고, 합이 정확히 가 아닌 와 사이에 있어야 한다면 문제를 정수에서 실수로 수 있습니다 . 우리는 주위에 우리의 숫자를 지정해야합니다t k x x ( 1 + 1 / k ) 1t1 tkxx(1+1/k)k/2ti titi+112itik/2titi SSS+1ti+110kss 4logkBlogpiB+4logks+1104logk 더 많은 정밀도 비트를 사용하십시오. 따라서 비트로 시작하고 실수 를 대략 비트의 정밀도로 지정할 수 있으면 축소를 수행 할 수 있습니다.BlogpiB+4logk

이제 Wikipedia에서 (아래 Hsien-Chih의 의견을 통해) 와 사이의 소수 는 . 이 범위 내에서 임의의 숫자를 무작위로 선택하고 소수성을 테스트하여 확률이 높은 다항식 시간에 소수를 얻습니다.T + T 5 / 8 θ ( T 5 / 8 / 로그 T )TT+T5/8θ(T5/8/logT)

이제 축소를 시도해 봅시다. 가 모두 비트 라고 가정 해 봅시다 . 우리 가 길이 비트의 를 취하면 , 우리는 비트의 정밀도를 갖는 근처 에서 소수 찾을 수 있습니다 . 따라서 우리는 정밀한 비트를 가진 가 되도록 를 선택할 수 있습니다 . 이것은 찾아서 를 정밀한 비트로 찾 도록합니다 . 이러한 소수의 하위 집합이 목표 값에 가까운 것에 곱하면 원래 하위 집합 합계 문제에 대한 해결책이 있습니다. 그래서 우리는 B T I 3 B의 P I T 제가 9 / 8 B T 로그 T를 α 에서 t I을 9 / 8tiBTi3BpiTi9/8BTilogTitiP T로 저는 로그온 페이지를 α 에서 t I을 9 / 89/8BpiTilogpitiN = Π i p i L U9/8BN=Πipi 이고 과 적절히 선택 하면 부분 집합 합계에서 무작위로 줄어 .LU


3
축소를 이해하지 못합니다. 부분 집합 합계 문제가 NP- 완전하게 되려면 숫자를 2 진수로 제공해야합니다. 로그가 부분 집합 합계 문제의 인스턴스에있는 숫자에 가까운 정수를 원하면 지수 적으로 많은 숫자가 필요합니다. 이것을 어떻게 극복합니까?
Tsuyoshi Ito

2
@Peter : 수 이론의 가정을 Cramér의 추측 이라고하며 , 이며 은 n 번째 소수입니다. 참조 프라임 간격 도 참조하십시오. p npn+1pn=O(log2n)pn
Hsien-Chih Chang 張顯 之

2
@ 피터 : 네, 가정이 버전에 대한 입증 된 충분히 큰. 이 최초의 결과 Hoheisel으로 도시하고 인해 최상의 결과 위키가 함으로써 작품 베이커 하만과 Pintz 와 , (그것은 확률 1 보유 이후) 및 . α = 0.525 c 1 = c 2 = 1Tα=0.525c1=c2=1
Hsien-Chih Chang 張顯 之

2
이 문제가 발생했습니다. 나는 원래의 Kilian-Alon 증거가 무엇인지 모릅니다. 증거에 대한 나의 유일한 지식은 원래 증거의 세부 사항을 기억하지 못한 Noga와의 커뮤니케이션에서 얻은 것이며, 그가 재구성 한 증거는 정확히 이것입니다. 또한 몇 가지 강력한 이론적 가정 하에서 결정 론적 감소로 설명 될 수있다 (예를 들어 [x, x + polylog (x)] 형식의 간격에 소수가 있음).
보아스 바락

4
방금 Joe Kilian과 이야기했습니다. 그는 자신과 Alon이 발생했다는 증거는 무오류 랜덤 감소와 관련이 있다고 말했다. 그가 아는 ​​한, 보아즈 바락이 이미 말했듯이, 당신이 몇 가지 이론을 가정하지 않으면 결정 론적 축소는 여전히 열려 있습니다.
Timothy Chow

8

PCP 정리 (특히 ) 와 연결되어 있다고 생각합니다 .NP=PCP[O(logn),O(1)]

Madhu의 논문 에서 발췌 :

... 검증자가 다항식 시간 계산을 수행 할 수 있다는 개념은 이론과 증명의 클래스를 상당히 풍부하게하고 이론을 증명하는 매우 사소한 방법을 제공하기 시작합니다. (하나 개의 즉각적인 결과는 우리가 정리 / 교정 / 주장 / 인수가 바이너리 시퀀스 있다고 가정 할 수 있고 우리가 이제부터 할 것입니다.) 예를 들어, 우리는 주장이 가정 (리만 가설을 말한다)을, 그리고 우리가 가지고 있다고 생각합니다 말한다 10,000 페이지 기사에 맞는 증명. 계산적 관점에 따르면 와이 경계 (10,000 페이지) 가 주어지면 3 개의 양의 정수 효율적으로 계산할 수 있다고합니다.N , L , U L U N 되도록 A는 경우에만, 사실 N은 사이 제수 갖는 L U를 . 정수 N , L U 는 상당히 길지만 (백만 페이지를 쓰는 데 쓸 수는 있지만) 프린터가 이러한 모든 정수를 인쇄하는 데 걸리는 시간보다 훨씬 효율적으로 생산할 수 있습니다. 확실히 하루나 이틀입니다). (이 특정 예는Joe Kilian의 개인 커뮤니케이션으로 인한 결과를 기반으로합니다) ...AAN,L,ULUNANLUNLU

... 내 복잡한 이론 기술을 훨씬 능가 :-)


2
이것은이 문제가 NP-complete라는 또 다른 공식입니다.
Marc Bury

@Marc은 ... 음 ... 나는 그것이 의미 있다고 생각 : NP 완전 문제에서 다항식 감소하기 때문에 NP-완료SHORT 증거가... 존재{L,U,N|(p{L,,U})[p|N]}
MARZIO 드 BIASI

2
논문의 SHORT PROOFS 문제는 멈춤 정지 문제와 거의 동일합니다. SHORT PROOFS 문제로부터의 감소는 SAT의 NP- 완전성에 대한 전형적인 증거만큼이나 지저분 할 것이므로 킬리안에 의한이 요소 발견 문제의 NP- 완전성에 대한 증거가 SHORT PROOFS 문제가 직접 발생했습니다.
이토 쓰요시

0

이것은 비공식적이고 효율적인 결정 론적 축소 아이디어이며 불완전 할 수 있습니다.

Fractran 은 Turing-complete 프로그래밍 언어입니다. Fractran 프로그램의 경계를 적절히 정의 된 버전은 언어로 환원되어야 {L,U,M|( a positive integer p{L,,U})[p|M]}

예를 들어, 경계 버전은 특정 단계 수 (분할) 내에서 Fractran 프로그램의 출력 시퀀스에서 정수 이 생성 되는지 여부를 묻습니다 (예 : M = N jF i ).MM=NjFi

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.