첫 SAT 솔버를 만들고 싶습니다. 저는 SAT 경쟁과 SAT 회의를 알고 있으며이 주제에 관한 논문이 너무 많습니다. 나는 초보자, 압도적 인 초보자입니다. 어디서부터 시작해야합니까? 결국 저는 최첨단을 추진하고 싶습니다. 시작하는 방법에 대한 전문가의 조언이 필요하므로 비 필수 항목에 너무 많은 시간을 낭비하지 않습니다. 많은 감사합니다.
첫 SAT 솔버를 만들고 싶습니다. 저는 SAT 경쟁과 SAT 회의를 알고 있으며이 주제에 관한 논문이 너무 많습니다. 나는 초보자, 압도적 인 초보자입니다. 어디서부터 시작해야합니까? 결국 저는 최첨단을 추진하고 싶습니다. 시작하는 방법에 대한 전문가의 조언이 필요하므로 비 필수 항목에 너무 많은 시간을 낭비하지 않습니다. 많은 감사합니다.
답변:
2009 년의 다음 기사에서 훌륭한 초보자 개요를 제공합니다.
기술적 측면으로 들어가는 방법에는 여러 가지가 있습니다. 원래 Davis-Putnam 용지로 시작할 수도 있습니다. 매우 명확하고 자세한 예가 있습니다. 강의에서 SAT 최적화를 논의 할 때 몇 가지가 이미 있다고 상상할 수 있습니다. Davis-Logeman-Loveland 논문은 덜 유익하지만 느리게 읽을 수 있습니다.
향후 50 년간의 발전을 따라 잡을 방법이있을 수 있습니다. 강의 슬라이드를 추천합니다. 'DPLL'을 검색하면 많은 자습서가 표시됩니다. 당신이 그들을 통해 탐색하면, 안개가 어느 정도 제거 될 것이라고 확신합니다. 유용한 설문 조사도 많이 있습니다. Zhang-Malik 용지는 시작하기에 좋은 장소입니다. 핸드북 만족도에는 유용 할 수있는 몇 가지 기사가 있습니다.
나는 미 콜라 오스의 제안을 두 번째로한다. MiniSAT 코드는 깨끗하고 관리하기 쉬운 크기입니다. 당신은 그것으로 재생할 수 있습니다. 시도해 볼 수있는 다른 솔버가 몇 가지 있습니다. CryptoMiniSat도 매우 깨끗합니다. 또한 SAT 솔버를 작성하고 SAT 솔버 작성에 대해 쓰는 Armin Biere 의 작업을 참조해야합니다 .
좋은 설문지로 시작하십시오. 주제 조각을 공격하기가 쉬우 며 문헌에서 동일한 기술과 다른 기술에 사용 된 동일한 이름에 대해 다른 이름으로 혼동되기 쉽습니다. 최신 기술이 무엇인지 모르는 경우 오래된 알고리즘 전투 (예 : 발생 목록과 헤드 테일 목록, DPLL 구현을 위해 2 개의 감시 리터럴)를 쉽게 재현 할 수 있습니다.
Gomes 등의 만족도 해결사 알. 거친 땅을 줄 것입니다.
Manthey 의 최신 기술 을 사용하여 SAT 해결사를 개선 하면 현재에 더 가까이 갈 수 있습니다.