다항식 시간 알고리즘에 대한 부분 진행 상황을 문서화하고 싶습니다. 업데이트 : @David가 지적한 결함을 설명하기 위해 몇 가지 세부 정보가 추가되었습니다 (감사합니다!).
이 방법은이를 다항식 시간 해결 가능한 문제인 MIN-ONES EVEN-3 CSP (MOEC) 인스턴스로 줄이는 것입니다. 감소의 증거는 약간 희미하지만 그것이 존재하기를 바랍니다.
MOEC의 인스턴스는 변수 우주의 크기의 부분 집합과 정수 k 의 패밀리입니다 . 문제는 최대 k 의 만족스러운 가중치 할당이 있는지 여부입니다. 여기서 할당은 유니버스에서 { 0 , 1 } 까지의 함수 이고, 할당 가중치는 할당하는 변수의 수이며 할당은 다음과 같습니다. 변수 { x , y , z } 의 모든 하위 집합에 대해 할당 ( f )에 다음과 같은 속성이있는 경우 :삼케이케이{ 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 n 을 N 으로 다시 씁니다 . 각 쌍의 I , J 되도록 1 ≤ I ,1≤i≤nNiNnNi,j 변수의 도입 P의 난의 J 와 Q의 I의 J를 . 1≤i,j≤kPijQij
k = i + j가 되도록 모든 대해 다음과 같은 부분 집합을 소개하십시오 .i,j,kk=i+j
{Pij,Qij,Nk}
그리고 다음과 같은 의미 :
및
P I J ⇒ N의 JPij⇒NiPij⇒Nj
그리고 다음과 같은 제약 조건이 있습니다.
.(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 t 및 1 ≤ i ≤ L ( d )에 대해 새 변수 T d i 를 소개합니다 . 여기서 L ( d ) 는 깊이 d 에서 T X 의 노드 수를 나타냅니다 .TXtTdi1≤d≤logt1≤i≤L(d)L(d)TXd
모든 노드 에 대해 p 와 q 가 트리의 자식이면 EVEN-3 제약 조건을 도입하십시오.Tdipq
{Tdi,p,q}
이는 노드에 해당하는 변수가 true로 설정되면 해당 하위 중 하나도 true로 설정되어야 함을 의미합니다. 이제 의미를 추가하십시오.
및
( d log t , j ) ⇒ l j (명확성을 위해 쉼표).(X⇒T11)(dlogt,j)⇒lj
이 EVEN-3 제약과 의미의 조합은 인코딩하고자하는 제약과 동일합니다.
직관적으로, 마지막 두 제약 조건은 추가 체인을 만드는 데 필요한 반응을 정확하게 유발한다는 것입니다. 특히, 만족스러운 과제에 의해 할당 된 보자 -그것들은 N에 대한 추가 체인을 형성 할 것이라는 주장이다 : 과제는 N 을 1 로 설정 해야하기 때문에 최소한 하나 P의 난의 J 하나로 설정하고, 영향 력 N I 및 N의 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 i≠ik and j≠jk 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어쨌든 더 긴 체인에서 발생하고 나머지는 호의적으로 비교됩니다. 그러나, 나는 이것을 조심스럽게 적어야하며, 자정 이후 증후군에서 볼 수 있습니다!