만족할만한 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] ⋀제이∈[엔] (¬피나는,제이∨¬피나는',제이))

나는 그들이의 만족할 경우에 수행하는 방법에 대한 결과를 찾고 있어요 "에서 단사 매핑이에, 예를 들어 N 에 N ".피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 입력 그래프의 그래프이다 도당 착색 N피H피엔엔케이=엔엔 정점.

이제 개의 정점을 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.