최적의 추가 사슬을 찾기가 어렵습니까?


20

또한 쇄 양의 정수의 시퀀스 인 , X (1) = 1 및 각 인덱스 i가 2 , 우리가 X I = X J + X (k)를 어떤 지수에 대해 1 J , k < i . 부가 사슬 의 길이n 이고; 추가 체인 의 목표x(x1,x2,,xn)x1=1i2xi=xj+xk1j,k<inxn .

다음 문제의 복잡성에 대해 알려진 것 : 정수 주어지면 N목표가 인 최단 가산 사슬의 길이는 N얼마입니까? NP- 하드입니까?

Wikipedia 는 Downey, Leong 및 Sethi의 1981 년 논문을 지적하여 다음과 같은 관련 문제가 NP-hard라는 것을 증명합니다. 정수 세트가 주어지면 전체 세트를 포함하는 추가 체인의 최소 길이는 얼마입니까? 몇몇 저자들은이 논문이 단일 목표 문제가 NP-hard라는 것을 증명하지만 분명히 그렇지 않다고 주장한다.


2
두 가지 질문 : 은 내가 가정하는 이진 형태로 제공되며 jk 가 동일 할 수 있습니다 (그렇다면 이진 확장을 통해 항상 길이 log n의 시퀀스가 ​​있음)Njk
Suresh Venkat

이제 가정하자 경우에도 나는 폴리 시간 알고리즘의 모르겠지만, 진에 제시되어있다 N은 단항입니다. 그리고 그렇습니다. 실제로 자신을 추가하는 것은 허용됩니다. 사실, 땅에서 내려야합니다. 128의 최단 체인은 (1, 2, 4, 8, 16, 32, 64, 128)입니다. NN
Jeffε

답변:


11

문제는 2002 년 Eric Lehman의 PhD 논문 "문법 기반 데이터 압축에 대한 근사 알고리즘"에서 공개 된 것으로 언급됩니다. 논문의 p35에서 :

그럼에도 불구하고, 덧셈 체인 문제에 대한 정확한 해결책은 이상하게도 애매 모호하게 남아있다. M-ary 방법은 polylog (n) 시간에 실행되며 1 + o (1) 근사치를 제공한다. 그러나 기하 급수적으로 더 많은 시간이 허용 되더라도 poly ( n) 정확한 알고리즘은 알려져 있지 않습니다. "


2

리먼 논문 의 주요 논문에는 참고 문헌과 함께 문제 (섹션 VB)에 대한 좋은 개요가 있습니다.


1

다항식 시간 알고리즘에 대한 부분 진행 상황을 문서화하고 싶습니다. 업데이트 : @David가 지적한 결함을 설명하기 위해 몇 가지 세부 정보가 추가되었습니다 (감사합니다!).

이 방법은이를 다항식 시간 해결 가능한 문제인 MIN-ONES EVEN-3 CSP (MOEC) 인스턴스로 줄이는 것입니다. 감소의 증거는 약간 희미하지만 그것이 존재하기를 바랍니다.

MOEC의 인스턴스는 변수 우주의 크기의 부분 집합과 정수 k 의 패밀리입니다 . 문제는 최대 k 의 만족스러운 가중치 할당이 있는지 여부입니다. 여기서 할당은 유니버스에서 { 0 , 1 } 까지의 함수 이고, 할당 가중치는 할당하는 변수의 수이며 할당은 다음과 같습니다. 변수 { x , y , z } 의 모든 하위 집합에 대해 할당 ( f )에 다음과 같은 속성이있는 경우 :3kk{0,1}{x,y,z}에프

.f(x)+f(y)+f(z)=0(mod  2)

이것을 다른 만족도의 개념으로 3-SAT로 시각화 할 수 있습니다. 없음을 선택하거나 2 개를 선택하십시오. 나는 일반적인 서브셋, 함의, 길이 2의 분리 및 제약 ( x = 1 )을 제외하고 MOEC 인스턴스에 대해 약간 느슨 할 것이다 . 나는 이러한 간단한 추가가 문제의 다항식 시간을 유지할 것이라고 믿습니다.3(x=1)

숫자 대한 추가 체인 문제를 줄이고 있다고 가정 해 봅시다 . 이 축소에 설정된 변수는 다음과 같습니다.n

마다 변수 N i 입니다. 변수 N nN 으로 다시 씁니다 . 각 쌍의 I , J 되도록 1 I ,1inNiNnNi,j 변수의 도입 P의 난의 J Q의 I의 J를 . 1i,jkPijQij

k = i + j가 되도록 모든 대해 다음과 같은 부분 집합을 소개하십시오 .i,j,kk=i+j

{Pij,Qij,Nk}

그리고 다음과 같은 의미 :

P I JN의 JPijNiPijNj

그리고 다음과 같은 제약 조건이 있습니다.

.(N1=1),(N=1)

마지막으로, "대응" N- 변수 (표기 남용)가 지정 될 때 변수 중 적어도 하나 가 선택 되도록하는 제약 조건을 추가해야합니다 . 이것은 일반적인 또는 제한을 통해 모든 추가하여 수행 할 수 있습니다 P I J 그러한 I + J를 받는 합을 N 문제 -variable. 그러나 MOEC 프레임 워크에서이를 다시 인코딩하는 방법을 찾아야합니다.PNPiji+jN

변수 세트가 주어지면 일반적인 말하기 방법을 설명하겠습니다.

,(X,l1,l2,,lt)

방법 제한 "할당이 만족스럽고 세트되면 다음 번에 정확히 하나 -1- I 의 할당이 하나로 설정해야」라고 MOEC 구문으로 인코딩 될 수있다. 이것은 우리의 요구 사항에 충분하며 우리는 단순히 제약 조건을 소개합니다.Xli

.(Nk,{Pij | i+j=k})

인코딩은 다음과 같이 수행됩니다. 하자 에 뿌리를 완전 이진 트리 수 t의 잎. 모든 1 d log t1 i L ( d )에 대해 새 변수 T d i 를 소개합니다 . 여기서 L ( d ) 는 깊이 d 에서 T X 의 노드 수를 나타냅니다 .TXtTdi1dlogt1iL(d)L(d)TXd

모든 노드 에 대해 pq 가 트리의 자식이면 EVEN-3 제약 조건을 도입하십시오.Tdipq

{Tdi,p,q}

이는 노드에 해당하는 변수가 true로 설정되면 해당 하위 중 하나도 true로 설정되어야 함을 의미합니다. 이제 의미를 추가하십시오.

( d log t , j ) l j (명확성을 위해 쉼표).(XT11)(dlogt,j)lj

이 EVEN-3 제약과 의미의 조합은 인코딩하고자하는 제약과 동일합니다.

직관적으로, 마지막 두 제약 조건은 추가 체인을 만드는 데 필요한 반응을 정확하게 유발한다는 것입니다. 특히, 만족스러운 과제에 의해 할당 된 보자 -그것들은 N에 대한 추가 체인을 형성 할 것이라는 주장이다 : 과제는 N 을 1 로 설정 해야하기 때문에 최소한 하나 P의 난의 J 하나로 설정하고, 영향 력 N IN의 JNiNNPijNiNj하나를 배정 받았을 때, 이것은 끝까지 내려갑니다. (이런 수준의 세부 사항을 아직 해결하지는 않았지만 이것이 유도로 공식화 될 수 있다고 확신합니다). 설정하지 않습니다 할당 된 사람의 수에 최적 인 satsifying 할당합니다 이쌍에 대한 사실 ( r은 , 이야 )( R ' , 이야 ' ) 하여 이유, 즉 P의 -variables는 추가와 함께 함의의 짐과 Q 변수는 ( N i 가 참이고 P 인 절에서 EVEN-3 만족을 보장하기 위해 존재한다)Pij(r,s)(r,s)PQNi 가 사실이 아니며, 우리는 여전히 그 절을 만족시키기 위해 무언가를 선택해야하며, 쉽게 볼 수있는 이유로, 이것은 절 전체에 걸쳐 하나의 보편적 변수가 될 수 없습니다).Pij

따라서 추가 체인은 만족스러운 과제에 해당하며 그 반대도 마찬가지입니다. 나를 다소 정식이의 한 부분을 설명하자 부가 체인 주어, 우리가 할당 구성 만족되는합니다. , 우선 f를 모든 세트 N 내가 '하나 체인 것을 특징 S 및 다른 N '제로이야. 또한 경우에, k는 가산 체인 기능하고 각 N에 K ,하자 k는 , j 개의 K가 되도록 체인의 요소 수 케이 + j 개의 K = J가 . 그런 다음 f 세트ffNiNikNkik,jkik+jk=jfPikjk to one (and Qikjk to zero), and all (i,j) such that iik and jjk and i+j=k, f sets Qij to one (and Pij to zero). For all k that don't feature in the addition chain, for all i,j such that i+j=k, set all Qij and Pij0으로 설정합니다 (일관성에 따라 두 숫자가 합쳐진다는 사실에서 일관성이 유지됨). N i 와 관련된 모든 조항Ni in the chain is satisfied because either a P-variable or Q-variable corresponding to it was set to one (and notice that exactly one of them are set to one for any pair (i,j)). For every other clause, everything is set to zero. That the implications hold is easy to check.

불분명 부분은 다음과 같다 : 모든 요소에 대해 때문에 첨가 체인 선택은 할당의 중량 초래 t를 인해 모두의 (ttQ-variables being set to one). So there is a possibility that a longer additional chain would correspond to a cheaper assignment, but I am quite sure this doesn't happen because of a proof along the following lines: consider an optimal addition chain and suppose there is a longer one that has a smaller-weight satisfying assignment corresponding to it. Clearly, the elements of the longer chain exclude at least one from the shorter one - let that element be x. I wish to say that the cost incurred with x어쨌든 더 긴 체인에서 발생하고 나머지는 호의적으로 비교됩니다. 그러나, 나는 이것을 조심스럽게 적어야하며, 자정 이후 증후군에서 볼 수 있습니다!


1
이것이 효과가 있다면, 변수의 수가 polylog (N)가 아닌 N ^ 2에 비례하기 때문에 여전히 지수 시간 (N이 이진수로 표현 될 때) 인 것처럼 보입니다.
David Eppstein

Ah yes, I should have emphasized that. I was thinking of N in unary following @JeffE's remark that even that is not clear. I do plan to think about cutting down the instance size further, but at the moment am more keen on ensuring this is alright. If it is, I think there is room aplenty for improvement. Incidentally, would you find the approach promising?
Neeldhara

I don't see how the constraints you describe force a solution to be valid. What stops you from setting P_ij=0 and Q_ij=1 for all i+j=n, and P_ij=Q_ij=0 for all other i,j?
David Eppstein

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