특수 알고리즘으로 SAT 솔버의 경쟁력 강화


11

SAT 솔버를 특수 그래프 알고리즘과 경쟁적으로 만드는 데 어떤 장애물이 있습니까? 다시 말해, 알고리즘 디자이너의 역할을 대체 할 수있는 SAT 솔버를 예상 할 수 있습니까? 즉, 문제 구조를 자동으로 인식 한 후 특수 알고리즘만큼 빨리 해결할 수 있습니까?

다음은 오늘날의 SAT 솔버에게 도전적인 몇 가지 예입니다.

  • 크기 의 독립 세트를 계산합니다 . "x는 독립적 인 크기 k의 세트"로 인코딩하면 해결하기 어려운 큰 공식이 제공됩니다. 이상적인 SAT 솔버는 백에 대한 "계수"변수가 추가 된 경계 트리 폭 그래프에서이 문제가 쉽다는 것을 인식 할 것입니다.k

  • 최소 스타이너 트리 찾기 "Steiner tree"에는 전역 제약 조건이 있지만 특수 알고리즘 (예 : here )을 사용하면 추가 변수를 추가하여 작업을보다 쉽게 ​​수행 할 수 있습니다.

  • 평면의 완벽한 매칭으로 줄어드는 문제.


이것이 이미 일어나지 않습니까? SAT에 대한 문제점을 줄이고 솔버를 실행하는 것이 인기있는 트릭입니다.
Suresh Venkat

예,하지만 경쟁력이 있습니까? 다항식 시간에 #SAT을 평면 그래프의 오일러 서브 그래프를 설명 제약의 간단한 설정을하고, 할 수있는 모든 SAT 해결사가 있는지 궁금하네요
야로 슬라브 Bulatov

답변:


7

SAT 인스턴스의 내부 구조를 시각화하는 데 도움이되는 유용한 문서가 있습니다. 참조 머릿속 SAT 인스턴스와 DPLL 알고리즘의 실행합니다 카슨 Sienz하여을 (SAT 2004 년에 등장). 기본적으로, 그것은 저자들이 "가변 상호 작용 그래프"(일부 규칙에 따라)라고 부르는 그래프를 그려서 만족 된 절들 사이의 관계를 시각화합니다. 저자는 DPLL의 여러 부분 실행으로 이것을 보여줍니다.

주된 주장은 이러한 시각화 기술을 사용하여 구조를 감지하고 적절한 알고리즘을 설계 할 수 있다는 것입니다. 그러나 논문에 제시된 것과 같은 구조를 어떻게 효율적으로 감지 할 수 있는지는 아직 명확하지 않습니다. 하나의 특정 문제에 대한 SAT 알고리즘은 다른 문제에서 제대로 작동하지 않는 것으로 잘 알려져 있습니다. 이 주장은 내가 아는 한 공식적으로 언급 할 수는 없지만 "자유로운 점심 없음"이 있습니다.


관련 "무료 점심"정리는 "검색을위한 무료 점심" no-free-lunch.org 입니다. 기본적으로 우리는 가능한 모든 문제 구조를 검색 할 수 없으며 특정 구조를 향해 검색을 편향시켜야합니다. 인간 알고리즘 디자이너가 이미 그렇게했기 때문에 괜찮습니다.
Yaroslav Bulatov
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.