Clique에서 SAT 로의 Cook의 일반적인 감소를 개선하고 있습니까?


10

인스턴스를 더 크게 만들지 않고 -Clique를 SAT 로 줄이는 데 관심이 있습니다.k

Clique는 NP에 있으므로 대수 공간을 사용하여 SAT로 줄일 수 있습니다. 간단한 Garey / Johnson 교과서 축소는 인스턴스를 입방 크기로 날려 버립니다 . 그러나 Clique는 모든 고정 대해 P에 있으므로 적어도 고정 대한 효율적인 감소가 "필요"해야한다 .kkk

축소를 구축하는 한 가지 방법 은 SAT 변수를 특성 벡터 로 사용하는 것입니다. 변수는 true로 설정되어 관련 정점이 도당에 있음을 나타냅니다. 이 축소는 자연 스럽지만 그래프가 희소 한 경우 2 차 크기 의 SAT 인스턴스를 만듭니다 . 희소 그래프의 경우, 인접하지 않은 정점의 모든 쌍에서 최대 하나의 정점이 도당에있을 수 있도록 2 차적으로 많은 절이 필요합니다.

보다 더 잘 해보자 .O(n2)

Cook / Schnorr / Pippenger / Fischer 의 일반적인 감소는 먼저 언어를 결정하는 다항식 시간 제한 NDTM을 취하고, 명백하지 않은 DTM에 의해 NDTM을 시뮬레이션하고, 회로에 의해 잊혀진 DTM을 시뮬레이션 한 다음 회로를 3으로 시뮬레이션함으로써 작동합니다 -SAT 인스턴스. NDTM 시간 한계가 경우 크기가 3-SAT 인스턴스를 작성합니다 . 잊어 버린 기계로 시뮬레이션 할 때 오버 헤드로 인해 로그 요소를 피할 수없는 것으로 보입니다. 들면 -Clique 한 것 같다 의 3-SAT 인스턴스 산출되는 이다 크기 quasilinear 고정 용O(t(n)logt(n))t(n)kt(n)=O(nk)O(nk(logn+logk))k. 그의 1988 년 논문에서 Cook은 NP의 언어에 대해 더 나은 일반 축소가 존재하는지 여부를 물었습니다. 그러나 Clique는 구조가 많기 때문에이 경우에는 더 잘할 수 있습니다.

Clique에서 SAT로 더 나은 감소가 있습니까?

특히, 고정 된 가 인스턴스 크기의 증가를 선형으로 유지하면서 Clique를 SAT 로 감소시킬 수 있습니까? 아니면 기존 결과를 사용하여 이것이 불가능할 것이라고 주장 할 수 있습니까? 내가 사용하는 시도 Fortnow / Santhanam델 / 반 Melkebeek을 하지만 오버 헤드는 이러한 결과가 아무것도 특정을 의미하기에 너무 큰 것 같다.kk

(나는 로그 요소를 피하는 것처럼 보이는 축소 작업을 해왔지만 정확성을 확인하기 위해 까다로운 세부 사항에 더 많은 시간을 낭비하기 전에 그러한 축소가 이미 알려 진지 또는 그렇지 않을지 알고 싶습니다. 있다.)


MathOverflow 에서 다소 관련이있는 질문 mathoverflow.net/q/224898/440 을 참조하십시오. clique에 대한 정량화 된 부울 수식의 작은 크기는 랜덤 그래프에 대한 0-1 법의 느린 수렴 률로 직접 변환됩니다. 문제는 이미 2 차 크기의 공식을 포함합니다. 허용되는 대답은 도당 의 존재를 암시하는 선형 크기 공식을 제공 하지만, 도수가 존재하더라도 거짓 일 수 있습니다. kk
David Eppstein

로그 공간에서도 실행되는 축소를 원하십니까? 지적한 바와 같이, clique는 상수 대한 다항식 시간으로 풀 수 있으므로, 다항식 시간 감소는 실제로 clique를 확인한 다음 일정한 크기의 SAT 인스턴스 를 출력 할 있습니다. kkk
Joe Bebel

@JoeBebel : 공간을 사용하면 변수를 사용하여 SAT 인스턴스를 출력 할 수도 있습니다 . 솔루션 은 그래프에서 cliques 의 모든 위치에 대한 솔루션 입니다. 각각의 잠재적 인 도난에 대해, 존재하지 않으면 도약을 금지하는 조항을 출력 한다. 이것은 솔루션을 정확하게 한 번에 축소하여 캡처하므로 Kaveh의 질문에 대답하지만 제안과 마찬가지로 인스턴스를 해결하는 방법을 결정하기 전에 인스턴스를 해결하면 치트처럼 보이는 것처럼 보입니다. klognklognkk
András Salamon

답변:


8

변수와 절 을 사용하여 -clique를 SAT 인스턴스로 표현할 수 있습니다 . 고정 , 이것은 선형입니다 .kO(nk)O(nk2)kn

보자 경우 는 IS 도당의 일 정점 (사전 식 순서로 정렬). 다시 말해, 는 clique에서 번째 꼭짓점 의 "one-hot"인코딩입니다 (하나의 요소가있는 집합에 대한 특성 벡터입니다). 이것은 변수를 소개 합니다.xiv=1vixiink

이제 각 대해 절을 사용하여 해당 두 정점이 가장자리로 연결되도록 할 수 있습니다 . 예를 들어, 한 절은 여기서 은 정점 인접한 정점 입니다. 정점 당 하나의 절을 얻습니다 . 이것은 총 절을 소개합니다.(i,j)n(¬xiuxjv1xjvm)v1,,vmuuO(nk2)

각 에 대해 절을 사용하여 가 해밍 가중치 1의 벡터이고 인 것을 시행 할 수 있습니다 . 총 절이 더 추가됩니다.ixixi<xi+1O(n)O(nk)


변수를 사용 하여 clique의 꼭짓점을 나타내면 ( 비트 는 clique 의 번째 꼭짓점 을 나타내기에 충분합니다 ) 정점 세트를 확인하기위한 회로를 구축하는 것이 더 좋습니다. 도당에 해당합니다. 이러한 회로를 구축하는 한 가지 방법 은 이러한 정점 의 모든 쌍의 목록을 정렬 된 순서로 구성한 다음 Mergesort의 병합 절차 또는 이와 유사한 것을 사용하여 에지 목록과 비교하는 것입니다. 그. 크기 회로 와 같은 것을 얻을 수 있습니다. 그런 다음 동일한 크기의 SAT 인스턴스로 변환합니다 (여기서klgnlgnikk(k1)/2O((n+m+k2)poly(lgn))m=그래프의 가장자리 수). 그래도 실제로 가능한지 확인하기 위해 세부 사항을 해결하려고 시도하지 않았습니다.

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