만족할만한 PHP 인스턴스에서 DPLL 기반 SAT 솔버는 얼마나 효율적입니까?


15

We know that DPLL based SAT-solvers fail to answer correctly on unsatisfiable instances of H (pigeon hole principle), e.g. on "there is a injective mapping from +1 to ":

H+1: =(나는[+1] 제이[] 나는,제이)(나는나는'[+1] 제이[] (¬나는,제이¬나는',제이))

나는 그들이의 만족할 경우에 수행하는 방법에 대한 결과를 찾고 있어요 "에서 단사 매핑이에, 예를 들어 NN ".H

그러한 인스턴스에서 만족스러운 과제를 빨리 찾습니까?


1
"정확하게 대답하지 못함"은 "충분히 큰 n 값에 자원이 부족함"을 의미합니까?
Vijay D

@Kaveh 같은 절에서 절의 반복 및 / 또는 변수의 반복을 허용하고 있습니까? 감사합니다
Tayfun Pay

@VijayD, 나는 알고리즘이 충분히 큰 대해 다항식 시간에 정답을 반환하지 않는다는 것을 의미합니다 . DPLL 기반 알고리즘이이 패밀리에서 다항식 시간으로 작동한다는 것을 보여줄 수 있기를 바랍니다.
Kaveh

@Geekster, 무슨 말인지 잘 모르겠습니다. 특정 수식 제품군이 있습니다. 그 공식에 반복이 있는지 묻고 있습니까?
Kaveh

답변:


14

만족할만한 인스턴스 에서 DPLL 기반 SAT 솔버는 선형 시간으로 만족스러운 할당을 제공합니다.H

이유를 알아 보려면 n 개의 구멍과 n + 1 비둘기를 가진 만족할 수없는 인스턴스의 CNF 인코딩이 k = n 그래프 채색 의 인스턴스와 어떻게 구문 적으로 동일한 지 관찰하십시오 . 여기서 입력 그래프는 n + 1 의 클릭입니다.H+1케이=+1 버텍스 .

마찬가지로, CNF가 만족할 인스턴스의 부호화 N 정공과 N 비둘기의 인스턴스 sintactically 동일 K = N 입력 그래프의 그래프이다 도당 착색 NH케이= 정점.

이제 개의 정점을 n 개의 색으로 채색하는 것은 간단합니다. 정점을 스캔하고 나머지 색 중 하나에 할당하십시오 (이미 지정된 색상은 단위 전파를 사용하여 그래프 의 clique-ness 에 의해 자동으로 배제됨 ) . 나머지 색상을 선택하면 좋을 것이고 만족스러운 과제로 이어질 것입니다.

보기의 DPLL 솔버의 관점에서 각 시간은 변수의 부울 값 추측하려고합니다 확실히 만족 할당이되기 때문에, 같은 값이 (그것이 무엇이든) 잘 될 것이다하는 변수 V의 V나는V나는 있다 추측 된 가치. 단위 전파는 만족스러운 경로를 따라 솔버를 안내하여 (즉, 잘못된 값을 추측하지 못하도록하여) 나머지 작업을 수행합니다.

그런 다음 검색은 올바른 추측을 할 때마다 선형으로 한 변수를 차례로 진행합니다.


고마워요, 이것이 제가 기대했던 것입니다. 그건 그렇고, 당신은 이것을 언급하는 참조를 알고 있습니까 (즉, "DPLL 알고리즘은 만족스러운 PHP / GC 인스턴스를 선형 시간으로 해결합니다")?
Kaveh

1
아니에요. 나는 이것을 언급하는 참조를 모른다. 나는 몇 가지 원시 추론을 통해 스스로 그것을 파생시켰다. 모든 SAT 솔버가 다음 변수를 선택하고 부울 값을 추측하는 데 합리적인 휴리스틱을 사용한다는 사실에 의존하여 공식적으로 증명하는 것은 어렵지 않습니다. 사실, 우리가 선형 시간에 솔루션에 도달하지 못하게하는 적어도 하나의 불합리한 휴리스틱이 존재한다는 것을 관찰해야합니다. 합리적인 휴리스틱을 사용하지만 선형 시간이 보장됩니다.
Giorgio Camerani

나는 동의한다. 나는 누군가가 이것을 어딘가에 언급했을 때 필요할 때 인용 할 수 있기를 바라고있다. 며칠 더 기다렸다가 아무도 참조를 제공하지 않으면이 답변을 수락합니다. 다시 감사합니다. :)
Kaveh

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