DPLL을 기반으로하지 않는 SAT 알고리즘


답변:


21

SAT 솔버를위한 또 다른 가능한 전략은 해상도 검색 (일부 좋은 휴리스틱과 함께 해상도 규칙을 적용하는 것)입니다. 이론적으로 DPLL보다 기하 급수적으로 지수가 더 강력합니다 (즉, 지수가 짧은 증거가있는 문제가 있습니다). 내가 아는 한 열림)하지만 더 나은 실제 구현을 알지 못합니다.

검색을 완료하도록 제한하지 않으면 WalkSat은 만족스러운 솔루션을 찾는 데 사용할 수있는 로컬 검색 솔버이며 많은 경우 DPLL 기반 검색보다 성능이 우수합니다. 실패한 모든 할당을 캐시하지 않으면 지수 메모리 요구 사항을 의미하는 경우를 제외하고는 불만족을 증명하는 데 사용할 수 없습니다.

편집 : 추가 잊어 버림-SAT를 정수 프로그램으로 줄여 절단면을 사용할 수도 있습니다. 특히 Gomory는 정수 프로그램을 최적으로 해결하기에 충분합니다. 최악의 경우에도 지수가 필요할 수 있습니다. Arora & Barak의 Computational Complexity 책에는 이론적으로 SAT 해결과 같은 용도로 사용할 수있는 증거 시스템의 몇 가지 예가 더 있다고 생각합니다. 다시 한 번, DPLL 기반 또는 로컬 검색 기반 방법 외에는 빠른 구현을 보지 못했습니다.


9
조항 학습 (또는 호출시 좋지 않은 학습) 및 재시작이 포함 된 DPLL은 일반 해결과 동등한 것으로 나타났습니다.
Jan Johannsen

1
@JanJohannsen,이게 당신이 말하는 논문인가요? arxiv.org/abs/1107.0044
Radu GRIGore

5
그렇습니다. 또한 Knot Pipatsrisawat와 Adnan Darwiche 논문도 개선되었습니다. 절 학습 SAT 솔버의 힘을 해결 엔진으로 사용합니다. 인공 지능 175 (2), 2011, pp. 512-525. dx.doi.org/10.1016/j.artint.2010.10.002
Jan Johannsen

3
Beame 등의 논문. Radu Grigore에 의해 링크 된 것은 일반적인 해상도가 특정 인공 학습 전략과 함께 DPLL 알고리즘에 의해 p- 시뮬레이트됨을 보여줍니다. 위의 논문은 실제로 사용되는 자연 학습 전략에 대해 보여줍니다.
Jan Johannsen

12

측량 전파는 임의의 SAT 문제, 특히 임의의 SAT 인스턴스에서 성공하는 데 사용 된 또 다른 알고리즘입니다. WalkSAT와 같이 불만족을 증명하는 데 사용할 수는 없지만 WalkSAT와는 매우 다른 아이디어 (메시지 전달 알고리즘)를 기반으로합니다.


10

지역 검색을 기반으로 SAT 솔버가 있습니다. 예를 들어 박람회에 대해서는 이 백서 를 참조하십시오 .


7

모든 CSP 솔버도 SAT 솔버라고 말할 수도 있습니다. 그리고 CSP에서 사용되는 두 가지 방법이 있습니다.

  • 검색 공간을 정리하고 아크 일관성을 검사하는 철저한 DFS는 가능한 빨리 일관성을 유지하기 위해 면도를 사용합니다.
  • 로컬 방법 (금기 검색, 시뮬레이션 어닐링)

4

MCTS (Monte Carlo Tree Search) 는 최근 Go와 같은 게임에서 인상적인 결과를 얻었습니다. 대략적인 기본 아이디어는 트리 검색과 무작위 시뮬레이션을 인터리빙하는 것입니다. 가볍고 구현하기 쉬우 며 링크 된 리서치 허브 페이지에는 많은 예제, 논문 및 코드가 포함되어 있습니다.

Previti et al. [1] SAT에 적용된 MCTS에 대한 예비 조사를 수행했다. 이를 MCTS 기반 검색 알고리즘 UCTSAT ( "나무 SAT에 적용되는 상한 신뢰")라고합니다. 그들은 UCTSAT가 DPLL보다 훨씬 작은 검색 트리를 생성하는지 확인하기 위해 SATLIB 저장소의 인스턴스에서 DPLL 및 UCTSAT의 성능을 비교했습니다.

크기가 다른 균일 한 임의의 3-SAT 및 평면 그래프 채색 사례의 경우 큰 차이가 없었습니다. 그러나 UCTSAT는 실제 인스턴스에서 더 나은 성능을 보였습니다. 4 개의 서로 다른 SSA 회로 결함 분석 인스턴스에 대한 평균 트리 크기 (노드 수로 표시)는 DPLL의 경우 수천에 달하는 반면 UCTSAT의 경우 항상 200 미만입니다.


[1] Previti, Alessandro, Raghuram Ramanujan, Marco Schaerf 및 Bart Selman. "부울 만족도에 대한 몬테카를로 스타일 UCT 검색." AI * IA 2011 : 사람과 그 너머의 인공 지능, 177-188 쪽. Springer Berlin Heidelberg, 2011.


-4

DPLL은 변수 방문 순서를 엄격하게 지정하지 않으며 최적의 변수 순서 공격 전략에 대한 많은 흥미로운 연구가 있습니다. 이 중 일부는 SAT 알고리즘의 변수 선택 로직에 통합되어 있습니다. 어떤 의미에서이 연구의 일부는 다양한 변수 공격 순서가 서로 다른 순차적 제약 (예 : 경도와 밀접한 상관 관계)을 유발하고,이 명백한 핵심 통찰력을 악용하기위한 가장 효과적인 휴리스틱 또는 전략을 고안한다는 것을 보여줍니다. 연구의 초기 단계에서.


4
DPLL을 기반으로하지 않는 알고리즘 을 요청했음을 이해 합니까?
Anonymous

2
당신은 무엇을 이해 하는가 "기반" 수단을? 당신에게 말하십시오 : 당신이 댓글을 달고 싶은 것에 대해 내 질문을 사용하지 마십시오!
Anonymous

7
당신은 그들이 DPLL 기반이라고 말하고 있습니다. 나에게 이것은 심플 렉스에 대한 서로 다른 피봇 규칙이 심플 렉스 알고리즘이 아닌 알고리즘을 제공한다고 말하는 것 같습니다
Sasho Nikolov

7
나는 Sasho에 동의합니다. 또한 가변 순서 휴리스틱에 대한 연구는 확실히 초기 단계가 아닙니다 . 그 중요성은 오래 전에 실현되어 왔으며 (완벽한 오라클의 결과를 상상해보십시오), 분석에 많은 시간이 소요되었습니다. CSP 솔버에서는 값 순서 휴리스틱이 더욱 흥미로워지고, 어떤 이유로 든 이들에 대한 연구가 가변 순서만큼 호황을 누리고 있다고 생각하지 않습니다.
Juho

4
보다 구체적으로, 가변 순서 휴리스틱에 대한 초기 연구는 70 년대로 거슬러 올라갑니다. 당신이 관심이 있다면, 나는 당신을 위해 관련 참조를 파낼 수 있습니다.
Juho
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.