SAT 솔버의 실제 성공에 대한 이론적 설명?


43

SAT 솔버가 실제로 성공하기 위해 어떤 이론적 설명이 있습니까? 누군가 "wikipedia-style"개요와 설명을 함께 묶을 수 있습니까?

유추 하여, 심플 렉스 알고리즘에 대한 평활화 된 분석 ( arXiv 버전 )은 최악의 경우 지수 시간이 걸리고 NP- 전능 한 ( arXiv 버전 ) 사실에도 불구하고 실제로 왜 잘 작동하는지 설명하는 훌륭한 역할을합니다 .

백도어, 절 그래프의 구조 및 위상 전이와 같은 것들에 대해 조금 들었지만, (1) 더 큰 그림을 제공하기 위해 이들 모두가 어떻게 어울리는 지 알지 못합니다 (2). 이것이 SAT 솔버가 왜 예를 들어 산업 인스턴스에서 그렇게 잘 작동하는지 설명 할 수 있는지 모르겠습니다. 또한, 절 그래프의 구조와 같은 것들에 관해서 : 현재 솔버가 특정 절 그래프 구조를 이용할 수 있습니까?

적어도 현재의 제한된 이해에서 이와 관련하여 부분적으로 만족하는 위상 천이에 대한 결과 만 찾을 수 있습니다. 위상 전이 문헌은 임의의 k-SAT 사례에 관한 것이지만 실제로 실제 사례에 대해 무엇을 설명합니까? SAT의 실제 인스턴스가 임의의 인스턴스처럼 보이지는 않습니다. 내가해야합니까? 위상 전환이 실제 인스턴스에 대해 임의의 인스턴스처럼 보이지 않더라도 직관적으로 말해 줄 이유가 있습니까?

도움이되지만 내 질문에 완전히 대답하지 못하는 관련 질문, 특히 일을 일관된 그림으로 묶는 요청 :


5
이것은 답이 아니지만 많은 사람들이 여전히 그래프 구조 / 백도어가 SAT 솔버의 성능을 설명 할 수 있다고 생각하지 않습니다. 그것들은 #SAT, QBF 또는 지식 편집과 같은 어려운 문제와 관련이 있습니다. 여기서 전체 구조를 어떻게 든 탐색해야 할 때 영리한 인수 분해를 찾아야합니다. 귀하의 질문에 대해, 나는 "아무도 실제로 알지 못하며 이것이 활발한 연구 분야"라고 대답하고 싶습니다. 그러나 나는 사람들이 무엇을 시도하고 있는지 보여주기 위해 참고 자료를 수집해야하며 더 나은 답변을 줄 수있는 나보다 더 넓은 시야를 가진 사람이있을 수 있습니다.
holf

2
@Joshua : 심플 렉스 방법은 심지어 PSPACE-full입니다 (Fearnley and Savani, STOC 15).
Rahul Savani

1
usually

3
@TayfunPay : 당신의 경험에 의문의 여지가 없었습니다. 사실, 100 %는 "실제"문제가 위상 전이에 가깝지 않은 SAT 인스턴스로 해석된다고 생각합니다. 그러나 나는 그러한 인스턴스 가 무작위가 아니기 때문에 그러한 인스턴스의 용이함을 설명하지 않는다고 생각합니다. 따라서 (이론적으로) 위상 전이는 (경도 또는 용이성) 인스턴스 대해 거의 말하지 않아야합니다.
Joshua Grochow

2
이것은 다른 곳에서 이미 언급되었지만 절 변수 밀도 및 위상 전이는 랜덤 k-SAT에만 관련이 있으며 산업 또는 조합 문제에서 발생하는 경도와는 아무런 관련이 없습니다. 따라서 위의 논의의 대부분은 요점을 벗어납니다. 또한, 랜덤 k-SAT에 대해서는 무작위로 생성 된 k-CNF 공식에 대한 하한이있는 증거 시스템의 경우, 실제 쉽고 쉬운 패턴이 없다는 점에 주목할 가치가 있습니다. 임계 값을 초과하는 밀도.
Jakob Nordstrom

답변:


21

SAT 경쟁 에서 사용 된 것과 같은 벤치 마크 데이터 세트에서 CDCL SAT 솔버를 참조한다고 가정합니다 . 이러한 프로그램은 많은 휴리스틱 및 많은 최적화를 기반으로 합니다. 2014 년 밴프 (Banff) 의 응용 SAT 해결 이론 이론 워크숍에서 어떻게 작동하는지에 대한 아주 좋은 소개가있었습니다 ( 비디오 ).

이러한 알고리즘은 DPLL 역 추적 알고리즘을 기반으로하며 충돌이 발견되면 변수 및 역 추적에 값을 설정하여 만족스러운 할당을 찾습니다. 사람들은 이러한 휴리스틱이 얼마나 많은 영향을 미치는지 살펴 보았습니다. 예를 들어

벤치 마크에서 이러한 SAT 솔버의 효율성은 주로 두 가지 휴리스틱 (및 해당 변형)에서 비롯된 것 같습니다.

  1. VSIDS 휴리스틱 전나무는 다음에 분기 할 변수를 선택합니다.
  2. CDCL : 충돌에서 새로운 조항을 배우는 충돌 중심의 조항 학습 휴리스틱.

DPLL 증거는 해결의 증거에 해당하는 것으로 잘 알려져있다. CDCL이 없다면 우리가 얻을 수있는 유일한 해결책은 일반적인 해상도 증명보다 훨씬 약한 트리 해상도 증명입니다.

CDCL을 사용하면 일반적인 해상도 증명을 얻을 수있는 결과가 나타납니다. 그러나주의해야 할 점은 많은 인공 재시작, 인공 분기 및 / 또는 특정 전처리가 필요하므로 이러한 프로그램이 실제로 수행하는 작업과 얼마나 가까운 지 명확하지 않습니다. 자세한 내용은 다음 용지를 참조하십시오.


CDCL은 기본적으로 검색 공간에서 분기를 절단합니다. 갈등에서 새로 배운 조항을 도출하는 방법에는 여러 가지가 있습니다. 이상적으로 우리는 갈등을 암시하지만 실제로는 클 수 있고 계산 비용이 많이 드는 최소한의 조항을 추가 할 것입니다. 최고 SAT 솔버는 종종 학습 된 절을 정기적으로 삭제하므로 실제로 도움이됩니다.


αF(v,i)i0<α<1vn

i<nF(v,i)α(ni)

직관적으로 이것은 최근의 갈등에 지속적으로 관련된 변수를 강조하려고한다고 말할 수 있습니다. . 또한 다음 충돌에 어떤 변수가 포함 될지 예측하는 간단하지만 매우 저렴한 방법으로 생각할 수 있습니다. 따라서 VSIDS는 이러한 변수에서 먼저 분기됩니다. 알고리즘은 본질적으로 페일 패스트 알고리즘이라고 주장 할 수 있습니다. 빠름은 적은 수의 변수 세트와 관련이 있으며, 이는 검색 트리의 큰 하위 트리를 차단 함을 의미합니다. 그러나 이것은 대부분 직관이며, 아무도 SAT 데이터 세트에서 테스트하는 것을 매우 신중하게 공식화하지 않았습니다. 이러한 데이터 세트 중 하나에서 SAT 솔버를 실행하는 것은 최적의 결정 (구문 중 하나를 위반하는 변수에 대한 현재 할당의 최소 확장)과 비교할뿐 아니라 저렴하지 않습니다. VSIDS는 또한 충돌 할 때 충돌하는 변수에 따라 달라집니다. 변수가 충돌에 관여하는 시점을 정의하는 다양한 방법이 있습니다.


이러한 아이디어의 특정 구현이 동적 그래프에서 정점의 시간 가중치 중심에 해당하는 결과가 있습니다.

또한 NP-hard 문제 및 암호 프리미티브 및 무작위 인스턴스 (CDCL SAT 솔버가 좋지 않은)와 같은 적대적 인스턴스를 제외하면 나머지 인스턴스는 소프트웨어 및 하드웨어 검증과 같은 매우 잘 구조화 된 것에서 발생한다는 제안이 있습니다. 구조는 CDCL SAT 솔버에 의해 이용되지만 (많은 아이디어는 백도어, 고정 된 변수 등과 같이 언급되었습니다), 그러나 그것들은 대부분 아이디어이며이를 뒷받침하는 강력한 이론적 또는 실험적 증거는 아닙니다. 필자는 엄격하게 올바르게 정의하고 이러한 알고리즘이 작동하는 인스턴스에 속성이 있음을 보여주고 알고리즘이 해당 속성을 악용한다는 것을 보여 주어야한다고 생각합니다.


어떤 사람들은 절 비율과 임계 값이 마을에서 유일한 게임이라고 주장합니다. 산업 SAT 솔버의 작동 방식에 익숙하거나 증거 복잡성에 대한 지식이있는 사람이라면 누구나 알 수 있습니다. SAT 솔버가 실제로 인스턴스에서 잘 작동하거나 작동하지 않게 만드는 많은 것들이 있으며 절 비율은 관련 될 수있는 것 중 하나 일뿐입니다. 다음 설문 조사는 증명 복잡성과 SAT 솔버 및 관점 간의 연결에 대해 배우는 좋은 출발점이라고 생각합니다.

흥미롭게도 임계 현상이 더 대부분의 사람들이, 모셰 바디는 자신의 이야기 "에 명시된 생각보다 복잡 위상 전환 및 계산의 복잡성 GRASP의 평균 실행 시간이 AFAIK (임계 값 이후하지만 지수가 감소하는 임의 3SAT 공식에 대한 지수 남아" 얼마나 빨리 감소하는지는 명확하지 않습니다).


왜 우리는 SAT 솔버 (복잡 이론가로서)를 연구하고 있습니까? 나는 그 대답이 다른 알고리즘과 동일하다고 생각한다 : 1. 그것들을 비교하고, 2. 한계를 찾고, 3. 더 나은 것을 설계하고, 4. 복잡도 이론의 근본적인 질문에 답한다.

휴리스틱을 모델링 할 때 휴리스틱을 비결정론으로 대체합니다. 그렇다면 문제는 "공정한"대체품입니까? 그리고 여기서 공정하게 말하면, 우리가 위의 질문에 대답하는 데 모델이 얼마나 가까이 있는지를 의미합니다.

SAT 솔버를 증명 시스템으로 모델링 할 때 증명 시스템에서 경계가 낮은 명령문에는 알고리즘이 비효율적이므로 제한적으로 부분적으로 표시됩니다. 그러나 알고리즘이 실제로 찾는 것과 교정 시스템의 최적 교정 간에는 여전히 차이가 있습니다. 따라서 우리는 그 반대의 경우도 보여줄 필요가 있습니다. 즉, 알고리즘은 교정 시스템의 교정과 같은 교정을 찾을 수 있습니다. 우리는 그 질문에 대답하기가 쉽지 않지만 비결정론으로 대체되는 휴리스틱의 양은 모델이 증거 시스템에 얼마나 가까운 지 정의합니다. 휴리스틱을 비결정론으로 대체하는 것을 완전히 중단 할 것으로 기대하지 않습니다. 그렇지 않으면 암호화 등의 열린 문제에 영향을 미치는 자동화 가능성 결과를 얻을 수 있습니다.

따라서 모델을 볼 때의 문제는 SAT 솔버 A가 SAT 솔버 B보다 나은 이유를 설명하는 데 모델이 얼마나 도움이됩니까? 더 나은 SAT 솔버를 개발하는 데 얼마나 도움이됩니까? SAT 솔버가 실제로 모델에서 최적의 교정에 가까운 교정을 찾습니까? ... 실제 사례도 모델링해야합니다.

CDCL SAT 솔버가 "실제 사례의 구조를 탐색하는"직관 (해당 구조가 무엇이든)은 일반적으로 직감으로 받아 들여집니다. 실제 질문은 그것이 의미하는 바에 대해 설득력있는 설명을하고 그것이 실제로 사실임을 입증하는 것입니다.

최신 개발에 대한 Jakob Nordstrom의 답변 도 참조하십시오 .


1
정수 팩토링에서 파생 된 SAT 인스턴스에도 적용됩니까?
Mohammad Al-Turkistany

1
heuristicheuristics
Tayfun Pay

1
@Martin, CDCL이 없으면 매우 제한된 형태의 해상도 만 얻습니다 (머리에 무엇이 있는지 정확하게 기억하지 못합니다). Paul Beame과 다른 사람들에 의한 결과는 CDCL과 재시작으로 기본적으로 일반적인 해상도 증명을 얻을 수 있음을 보여줍니다 (다시 시작 지점과 분기 선택은 인공적입니다). 자세한 내용은 Beame의 논문을 참조하십시오.
Kaveh


1
증명 복잡성 및 CDCL과 관련하여 Pipatsrisawat 및 Darwiche sciencedirect.com/science/article/pii/S0004370210001669 와 Atserias, Fichte 및 Thurley jair.org/papers/paper3152.html 이 CDCL을 증명 시스템으로 볼 수 있음 해상도를 시뮬레이션합니다 (용지는 각기 다른 결과를 나타내지 만 두 용지의 교정을 사용하여 다른 용지의 결과를 얻을 수 있습니다). 이 연구 라인의 이전 논문과의 중요한 차이점은 이러한 CDCL 모델에는 인공적인 것이 없다는 것입니다. [계속하려면 ...]
야콥 노드스트롬

17

나는 시간 제약이 심해서 (그리고 같은 이유로 더 일찍 응답하지도 않았기 때문에) 이것을 매우 빠르게 타이핑하고 있지만, 적어도 2 센트로 칩을 넣으려고 노력했다.

나는 이것이 정말로 위대한 질문이라고 생각하며 지난 몇 년 동안 이것을 조사하는 데 사소한 시간을 보냈습니다. (전체 공개 :이 유형의 질문에 대한 답변을 찾은 다음 더 깊은 통찰력을 SAT에 대한보다 효율적인 SAT 솔버로 변환하기 위해 현재 자금의 상당 부분을 정확하게 받았습니다.)

한 문장으로 대답해야한다면

아무도 정말로 알지 못하며 이것은 활발한 연구 분야입니다

얻을 수있는만큼 좋습니다. 더 많은 활동을 할 여지가 더 많다는 것을 제외하고, 특히 이론적 인 측면에서 말입니다.

다른 답변과 의견에서 이미 논의 된 일부 제안 된 설명 (상호 배타적이지 않은)은 다음과 같습니다.

  • (a) 백도어
  • (b) 매개 변수화 된 복잡성 고려 사항
  • (c) CNF 문제의 그래프 구조
  • (d) 증명 복잡성 고려 사항
  • (e) 위상 전이.

끝 (e)부터 시작하여 위상 전이와 관련하여 상당히 혼란스러워 보입니다. 여기서 짧은 대답은 절 대 변수의 비율이 적용된 문제 또는 이론적 조합 문제 (일명 제작 된 사례)와 관련이 있다고 믿을만한 이유가 없다는 것입니다. 그러나 어떤 이유로 SAT 커뮤니티의 적용 부분에서 절 대 변수 비율이 어떻게 든 일반적으로 적절한 척도가되어야하는 것은 그리 흔한 일이 아닙니다. 절 대 변수 비율은 임의의 k-SAT와 관련이 있지만 다른 모델에는 해당되지 않습니다.

제 생각에는 백도어 (a)가 대중적인 설명 이었지만 실제로 실제로 무슨 일이 일어나고 있는지 설명하는 확실한 증거는 실제로 보지 못했습니다.

매개 변수화 된 복잡성 (b)은 SAT의 일부 측면에 대한 아름다운 이론을 제공하며, 매우 매력적인 가설은 SAT 인스턴스가 "일부 다루기 쉬운 섬에 가깝다"는 경향이 있기 때문에 쉽다는 가설입니다. 이 가설은 많은 흥미로운 연구 방향을 제시한다고 생각합니다. 일부 답변에서 언급했듯이 (a)와 (b) 사이에는 많은 연결이 있습니다. 그러나 지금까지 나는 매개 변수화 된 복잡성이 실제로 진행중인 일과 너무 많은 상관 관계가 있다는 증거를 실제로 보지 못했습니다. 특히 다루기 쉬운 인스턴스는 실제로 매우 어려울 수 있으며 작은 백도어가없는 인스턴스는 여전히 매우 쉽습니다.

산업 사례에 대해 나에게 가장 믿을만한 설명은 (c), 즉 문제의 CNF 공식의 (그래프) 구조가 실제 SAT 성능과 상관되어야한다는 것입니다. 여기서 아이디어는 산업 인스턴스의 변수와 절을 연결이 거의없는 잘 연결된 커뮤니티로 클러스터링 할 수 있으며 SAT 솔버가이 구조를 어떻게 든 활용한다는 것입니다. 불행히도, 이것을 더 엄격하게 고정시키는 것은 매우 어렵고, 불행히도이 지역은 상당한 양의 과대 광고로 고통 받고 있습니다. 내가 지금까지 논문에서 보았던 제안 된 설명은 상당히 불만족스럽고 모델은 쉽게 분해되는 것처럼 보인다. 문제는 실제로 이것을 철저히 원한다면 그런 다음 수학은 정말 어려워지고 (어려운 문제이기 때문에) 매우 지저분합니다 (관련 결과를 얻기 위해 현실에 충분히 가까워 야하는 모델이 필요하기 때문에). 특히, 내가 선택한 논문은 변수 선택에 대한 VSIDS (가변 상태 독립 붕괴 합계) 휴리스틱의 성능이 잘 작동한다는 것을 설명합니다. 매우 매력적입니다.

제가 개인적으로 추구 한 한 가지 연구는 실용적인 SAT 성능이 문제의 CNF 공식의 증명 복잡성 측정과 어떻게 관련이 있는지 여부입니다. 불행히도 짧은 대답은 분명하고 설득력있는 연결이 없다는 것입니다. 여전히 사소한 상관 관계가있을 수 있지만 (현재 우리가 다른 방법으로 조사하고있는 것입니다), 이론이 너무 좋고 깨끗하고 예쁘고 현실이 너무 어려워서 정말 잘 어울립니다. ( SAT의 증명 복잡성 측정 및 실제 경도 관련 논문에 대해CP '12의 Järvisalo, Matsliah, Nordström 및 Živný에 의해보다 자세한 실험은 덜 명확한 결론으로 ​​훨씬 더 복잡한 그림을 제공한다는 것이 밝혀졌습니다. 그러나 여전히 희망적이지만 복잡합니다.)

증명 복잡성에 관련된 또 다른 관련 작업 라인은 최첨단 SAT 솔버를 증명 시스템으로 모델링하고 해당 모델의 이론을 증명하여 해당 솔버의 속성을 추론하는 것입니다. 이론적 인 모델 측면에서 작고 겉보기에 무해한 디자인 선택이 실제 관점에서 결과와 거의 관련이 없을 수 있다는 점에서 이것은 약간의 지뢰밭입니다. 다른 한편으로, 관련 결과를 제공 할 정도로 현실에 가까운 이론적 모델을 원한다면이 모델은 지저분합니다. (이것은 SAT 솔버 성능이 지금까지 사소한 방식으로 발생한 모든 것에 대한 세계 이력에 의존하기 때문입니다. 따라서 이는 특정 파생 단계가 "옳은"

그러나 실제로 이것에 대한 예외로 언급해야 할 두 논문은 [Pipatsrisawat and Darwiche 2011]과 [Atserias, Fichte and Thurley 2011]입니다. 전체, 일반 해상도를 다 항적으로 시뮬레이션 할 수 있습니다. [PD11]과 [AFT11] 이전에는 본질적으로 동일한 결과를 주장하는 상당히 긴 논문 목록이 있지만 모두 모델링에 심각한 문제가 있습니다. ([PD11] 및 [AFT11]도 작동하기 위해서는 몇 가지 가정이 필요하지만 매개 변수화 된 복잡성 계층 구조가 무너짐을 보여주는 논문을 요구하지 않는 한 거의 기대할 수 없습니다.)

다시 말하지만, 나는이 모든 것을 매우 빨리 쓰고 있지만 위의 내용에 상당한 관심이 있다면 정교하게 시도 할 수 있습니다 (다시 돌아 오는 데 시간이 걸릴 수 있음). 내가 의견을 말하고 싶은 것입니다). 참고 자료를 제공하는 빠른 방법으로, 부끄러운자가 플러그를 사용하도록하겠습니다 (일부 의견이 이러한 참고 자료 중 일부를 인용 한 것을 보면 부끄러움은 다소 줄어들지 만).

튜터리얼 스타일의 이야기 2016 년 국제 여름 학교에서 만족도, 만족도 모듈로 이론 및 자동화 된 추론에 관한 증명 복잡성과 SAT 해결 간의 상호 작용 에 대한 슬라이드 끝 부분에 많은 참조가 있습니다 : http://www.csc .kth.se / ~ jakobn / research / TalkInterplaySummerSchool2016.pdf

약간 최근, 및 짧 설문 조사 이야기 증명 복잡성의 렌즈를 통해 이해 충돌 - 기반 SAT 해결 (끝 전체 참조가 아니라) 초기 2017에서 : http://www.csc.kth.se/~jakobn/research /TalkProofComplexityLensCDCL1702.pdf

증명 복잡성과 SAT 해결 사이의 연관성 조사 : http://www.csc.kth.se/~jakobn/research/InterplayProofCplxSAT.pdf [참고 문헌 : Jakob Nordström. 증명 복잡성과 SAT 해결 간의 상호 작용 ACM SIGLOG News, 2 권, 3 호, 2015 년 7 월 19-44 페이지. (일부 오타가 수정 된 가볍게 편집 된 버전)]

CDCL이 증명 시스템으로 충실하게 모델링 된 SAT '16 논문 : http://www.csc.kth.se/~jakobn/research/Trade-offsTimeMemoryModelCDCL_SAT.pdf [참고 문헌 : Jan Elffers, Jan Johannsen, Massimo Lauria, Thomas Magnard , Jakob Nordström 및 Marc Vinyals. CDCL SAT 솔버의보다 엄격한 모델에서 시간과 메모리의 절충. 에서 19 이론과 Satisfiability 시험의 응용 프로그램 (SAT '16), 국제 회의 논문집 컴퓨터 과학, 볼륨 9710의 강의 노트, 페이지 160-176, 2016 7월]


16

내가 실제로 그 지역에서 일한 적이 없어도 2 센트의 이해력을 이것에 추가하겠습니다.

"일부 유형의 인스턴스에 대해 일부 SAT 솔버의 이론적 효율성을 입증하기위한 모든 알려진 접근 방법"과 "실제로 SAT 솔버가 왜 효율적인지"라는 두 가지 질문 중 하나를 묻습니다.

앞의 질문에 대해, 나는 당신을 Stefan Szeider의 연구로 안내 할 것입니다. 그는 SAT의 백도어 및 FPT 매개 변수화 주제에서 현재 가장 활동적인 영역 인 것 같습니다 (여기에는 트리 폭 유형 측정 및 소위 백도어 세트와 같은 구조적 접근법과이 둘의 혼합이 포함됩니다).

후자의 질문에 대해, 솔직히 말해서, 내가 참석 한 모든 SAT 해결 워크샵 (최근 몇 년 포함)에서 정확한 질문이 논의되었으므로 해결되지는 않습니다. 그러나 내 인상은 다음과 같습니다.

우선, "실제"의 의미를 수량화하거나 제한해야합니다. SAT 솔버가 (물론) 당신이 던지는 문제에 대해 보편적으로 좋은 솔버라는 것은 사실이 아니며, 다른 문제 사이에 다른 전략이 필요하다는 것은 사실이 아닙니다. 예를 들어, SAT 솔버가 지원하는 엄청난 컴퓨터 검색으로 수학적 추측을 확인하거나 강화한 최근의 몇 가지 성공 사례가 있습니다. 이 경우 현대 SAT 솔버가 일반적으로 사용하는 영리한 CDCL 스타일의 개선 및 휴리스틱이 실제로 너무 많은 힘을 사지 않으며 게임은 소스 문제를 영리하게 분리하는 영리한 방법으로 귀결됩니다. 실행 시간에 작은 상수 요소를 갖는 무차별 강제 분기 알고리즘이 뒤 따릅니다.

이 점을 약간 과도하게 팔았을 수도 있지만, SAT 솔버가 Erdos Discrepancy Conjecture와 같은 공격을했을 때 회로 테스트에서 파생 된 산업 인스턴스를 해결할 때와는 다른 이유로 성공했습니다.

따라서 CDCL 기반 솔버가 회로 검증 (회로 등가 테스트)과 같은 산업 인스턴스에서 왜 잘 작동합니까? 나는 생각한다여기서 가장 강력한 견해 (또는 합의 된 견해)는 CDCL 솔버 젤의 검색 전략이 이러한 인스턴스의 구조와 매우 잘 일치한다는 것입니다. 예를 들어, 회로는 비교적 복잡한 부분 (클러스터라고 함)으로 구성되며, 비교적 적은 수의 간단한 연결로 계층 적으로 연결되어 상호 연결됩니다. 그리고 모든 휴리스틱을 가진 CDCL 솔버는이를 실제로 활용하고이 클러스터를 공유 변수에 "투영"하는 데있어 어떤 방식이나 순서로든 회로를 검증하는 데 가장 유용합니다. 그러나 이것은 여전히 ​​설명이 불충분하다는 합의의 견해 인 것 같습니다 (예를 들어, 우리는 아마도 인스턴스의 그래프 구조를 참조하여이 영역에서 CDCL SAT 솔버의 효율성을 이론적으로 설명 할 수는 없습니다).

따라서 다루기 쉬운 매개 변수화는 후자를 설명하는 방향으로 가야합니까? 솔직히 모르겠다. 실제 인스턴스가 최악의 경우가 아니라거나 우리가 처리 할 수있는 인스턴스 배포에 따라 실제로 평균 사례가 아닌 강력한 효과가 있다고 생각합니다. 그러나 여전히 물어볼 가치가 있습니다.


2
매그너스, 지금까지이 질문에 대답을 시도한 사람보다이 분야에 대한 경험이 더 많습니다. "나의 2 센트"라고 말했을 때, 나는 논문에서 한 가지 특정 그룹의 NP-Complete 문제만을 연구했으며 CSP와 SAT 솔버가 이러한 문제의 수많은 사례를 어떻게 해결하려고하는지에 관해 언급하고있었습니다. 또한 직장에서 CSP 및 SAT 솔버를 사용한 경험은 대략 1 년이지만, 다시 한 번이 분야에서 10 년 이상의 경험을 쌓지 못했습니다. 당신의 "2 센트"는 아마도 "2 개의 황금 너겟"의 가치가있을 것입니다. 하나의 질문.
Tayfun Pay

1
당신은 당신의 대답에 다음과 같이 진술합니다. "SAT 솔버가 당신이 던지는 문제에 대해 보편적으로 좋은 솔버라는 것은 사실이 아닙니다 ...." 이러한 경우에 대한 절 대 변수의 비율 c = m / n을 볼 수 있었습니까? 다시 말해, 그들은 어려운 지역에 있었습니까, c = ~ 4.2입니까? 내가 경험 한 것은 CSP 인스턴스를 SAT 인스턴스로 줄일 때 많은 변수로 끝나는 것입니다. 실제로 어려운 지역에 있기 때문에가 아니라 그 이유 때문입니다 .SAT 솔버는 더 오래 걸립니다. 해결할 시간.
Tayfun Pay

1
반면에 이러한 인스턴스가 SAT의 어려운 영역 인 c = ~ 4.2에 도달했다는 것을 알고 있다면이 실제 문제가 무엇인지 알 수 있습니까? 실제 문제가 SAT의 어려운 지역에서 줄어듦에 따라 실제로 어떤 문제가 발생하는지 알고 싶습니다. 감사합니다
Tayfun Pay

2
솔직히 저는 실용적인 SAT 해결 경험이 거의 없거나 전혀 없습니다. 나의 모든 실제 작업은 그 질문의 순수한 이론 측면에 있습니다. 그러나 귀하의 질문에 관해서는 : 내 인상은 임의의 k-SAT 및 절 밀도 (당신이 언급 한)에 대한 결과가 입력 인스턴스가 문자 그대로 균일하게 임의의 공식 인 경우에만 실제로 적용된다는 것입니다. 또한 경계 길이 ~ 4.2는 혼합 길이 CNF 공식과 달리 공식이 3-SAT 인 경우에만 적용됩니다.
Magnus Wahlström

1
그리고 "SAT 솔버가 잘 해결하지 못하는 문제"라는 말은 대부분 좋은 암호 해독과 같이 진정으로 다루기 어려운 것으로 추정되는 문제를 의미합니다. 그러나 비둘기 구멍 원리 공식과 같은 증명 이론적 하한으로 인해 CDCL 솔버가 효율적으로 해결할 수없는 공식도 있습니다. "CDCL SAT 솔버가 실패했습니다"라는 메시지와 적어도 한 번의 대화를 보았습니다. 약간의 파고는 문제 인코딩이 비둘기 구멍과 같은 측면을 숨기고 있음을 나타냅니다 (예 : 할당 문제의 일부 변형 포함). 불행히도, 나는 세부 사항을 기억할 수 없습니다.
Magnus Wahlström

15

CP '12의 Matti Järvisalo, Arie Matsliah, Jakob Nordström 및 Stanislav Živný의 " 복잡한 복잡성 측정 및 SAT의 실용 경도 관련 논문" 이 CP '12의 CDL 솔버로 특정 공식을 풀기의 경도 또는 용이성을 연결 증거로 연결하려고 시도합니다. 복잡성 측정, 특히 해상도 증명 공간. 결과는 다소 혼합되어 있지만 올바른 방향으로 나아가는 단계입니다.


불행히도, 짧은 대답은 증명 복잡성 측정에 대한 분명하고 설득력있는 연관성이 실제로없는 것 같습니다. 여전히 사소한 상관 관계가있을 수 있지만 이론이 너무 깨끗하고 현실이 너무 어려워서 실제로 일치하는 것처럼 보일 수 있습니다. "Relating Proof Complexity Measures"논문과 관련하여 더 자세한 실험은 덜 명확한 결론으로 ​​훨씬 더 복잡한 그림을 제공한다는 사실이 밝혀졌습니다. 그래도 여전히 흥미 롭습니다.
Jakob Nordstrom

15

저는이 분야의 전문가는 아니지만 임의의 SAT / 위상 전이는 산업 / 실제 응용 분야와 거의 관련이 없다고 생각합니다.

예를 들어 무작위 인스턴스 ( https://www.gableske.net/dimetheus 와 같은)에 대한 매우 좋은 솔버는 내가 생각하는 통계 물리학 방법 (믿는 전파 등)을 기반으로하지만 매우 좋은 '일반'솔버 (예 : 같은 http://fmv.jku.at/lingeling/ )는 카베가 나는 믿는다)에 대해 말하고 있었는지 등 (더 관련이없는 기술을 사용하고 있습니다.

그러나 내가 말했듯이 어쩌면 내 말을 받아들이지 마라. 이것은 비전문가에게서 온 것입니다.


예. 랜덤 SAT와 산업용 SAT는 완전히 다른 게임이며 사용되는 방법이 다릅니다. 또한 실제로 어려운 조합 인스턴스를 해결하려는 경우 다른 기술이 더 성공적입니다 (예를 들어, 문제가 충분하지 않은 경우에는 지역 학습을 제외하고는 절 학습이 실제로 효과가 없습니다). 그러나 어쨌든 변수에 대한 절의 비율이 임의의 인스턴스뿐만 아니라 모든 CNF SAT 인스턴스와 관련이 있어야한다는 것은 상당히 일반적인 오해 (적어도 SAT 커뮤니티의 적용 된 측면에서)처럼 보입니다.
Jakob Nordstrom
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.