멀티 코어 SAT 솔버


12

25k 절 5k 변수 SAT 문제를 해결하려고합니다. 한 시간 동안 실행되어 (precosat) 나중에 더 큰 것을 풀고 싶기 때문에 멀티 코어 SAT-Solver를 찾고 있습니다.

많은 SAT-Solvers가있는 것처럼 나는 상당히 길을 잃었습니다.

누구든지 내 사건에 가장 적합한 것을 지적 할 수 있습니까?

누군가가 나에게 대략적인 시간을 줄 수 있다면 기쁠 것입니다 (가능한 경우).


1
기성품 프로그램을 찾고 있습니까? 그런 다음이 가장 좋은 사이트가 아닙니다. SAT-solve에 대한 더 많은 정보가 필요한가요? 어서 오십시오! 당신은 당신이 검색했다고 말한다; 무엇을 찾았습니까? 당신을 혼동하는 것은 무엇입니까?
— Raphael

글쎄, 나는 여러 StackExchange 포럼에서 SAT 관련 스레드의 수를 보았습니다. 이론적 CS와 CS 중 하나를 선택하고 나중에 선택했습니다. 기성 프로그램을 어디서 요청해야합니까? 감사.
— multsatsolv

답변:


8

올해의 SAT 2013 대회 결과를 살펴보십시오 . 이러한 결과를 바탕으로 Lingeling 을 사용해보십시오. Plingeling은 그것의 병렬 변형입니다.

만족스럽지 않다고 증명할 필요가없는 경우 (인스턴스가 만족스럽고 SAT로 지정하는 것을 알아야 할 경우) 로컬 검색 방법도 시도 할 수 있습니다.


감사. (P) Lingeling을 살펴 보겠습니다. 또한, 그것이 만족할 만한지 전혀 모른다.
— multsatsolv

+1. 우리의 경험을 바탕으로, Plingeling은 반드시 먼저 시도해야 할 것입니다 (적어도 여러 개의 코어와 많은 메모리를 가진 단일 컴퓨터가있는 경우). 더 많은 성능을 얻으려면 가능한 한 많은 노드가있는 컴퓨팅 클러스터를 찾고 다른 임의의 시드로 여러 개의 lingeling (또는 plingeling) 인스턴스를 실행하십시오.
— Jukka Suomela

4

실용적인 멀티 코어 sat-solvers가 있는지 확실하지 않지만 몇 가지 프로젝트와 논문이 있습니다.

또한이 흥미로운 점을 발견했습니다. 멀티 코어 효과를 얻기 위해 동일한 문제에 대해 동일한 시드에 다른 시드를 사용하여 정기적으로 sat-solver를 여러 번 실행할 수 있습니다.

편집 : vzn의 아이디어에 대한 의견을 여기에 통합하십시오.

k2k


(누군가가 X 절 Y 변수 SAT 문제를 해결할 수있는 대략적인 시간을 줄 수 있다면 기쁠 것입니다.)

mnm,n


링크 주셔서 감사합니다. 나는 그들 중 일부를 읽을 것이다. 그래도 내 문제가 해결하기가 어렵지 않기를 바랍니다.
— multsatsolv

@multsatsolv 문제에 달려 있습니다. 또한 인코딩에 따라 다릅니다. SAT 솔버는 동일한 문제의 다른 인코딩을 다르게 처리 할 수 ​​있습니다. 다른 SAT 솔버가 다른 인코딩보다 한 인코딩에서 더 좋을 수 있습니다. 이것에 대한 과학은 없습니다 (SAT 솔버의 급격한 진화에서 이해해야 할 가치는 없지만) : 인코딩과 솔버의 다른 조합을 시도하는 것이 유일한 방법입니다.
— Realz Slaw

3

SAT가 있기 때문에 병렬 버전으로 어떤 SAT 해결사를 설정하는 매우 간단한 방법 실제로이 곤란하게 평행 다음과 같은 의미는.

2nn2n


nk

3
이 방법은 실제로는 잘 작동하지 않는 것 같습니다. 긍정적 인 인스턴스의 경우 일반적으로 컴퓨터가 많은 경우 다음과 같은 접근 방식이 훨씬 좋습니다. 예를 들어 동일한 인스턴스이지만 다른 임의의 시드로 링글 링을 실행 하고 솔버 중 하나가 솔루션을 찾을 때까지 기다리십시오.
— Jukka Suomela

n

1
@ vzn : 제안한 접근 방식. 왜 그렇게 잘 작동하지 않는지 알아 보려면 실제 인스턴스를 사용 해보고 제안한 것과 비교하십시오. :) 순진한 역 추적 검색 알고리즘을 다루는 경우 접근 방식은 많은 의미가 있지만 최신 SAT 솔버는 순진한 역 추적 검색 이상입니다.
— Jukka Suomela

그래도 문제가 무엇인지 단어로 설명 할 수 있습니까? 귀하의 접근 방식은 만족스러운 인스턴스에서 작동 할 수 있지만 얼마나 많은 개별 인스턴스가 실행 되더라도 만족할 수없는 인스턴스를 발견하는 데 정확히 동일한 시간이 걸리지 않습니까? 그렇지 않다면, 아마도 subj에 인용하는 심판이있을 것입니다 ...
— vzn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.