#SAT解算器下载


21

任何人都可以指向一个或多个网站来下载#SAT求解器的有效实现吗?我对那些返回确切的解决方案计数而不是近似值的方法感兴趣。


2
沃尔特,您好,您的问题很接近本网站的正式“主题”范围。但是,如果您无处可问这个问题,我们可以回答,也许还不错...(由于该站点仍在开发中,所以我认为我们比其他站点更开放。)请放心该评论的目的不是要“责骂”或“警告”,它只是一个友好的通知。
瑞安·威廉姆斯

嗨,瑞安,谢谢您的通知。抱歉,这个问题离边界很近。我已经在网上搜索了,但没有找到任何东西:只有一些SAT求解器,却没有#SAT求解器。这就是为什么我在这里问。当然,我知道我可以编写自己的代码,该代码使用SAT求解器作为引擎来计算解决方案,但是我一直在寻找已经准备好使用的东西。
Giorgio Camerani

12
我不同意。我认为这样的问题在范围之内,应该!
Suresh Venkat 2010年

同意其范围。fyi / imho从SAT解算器构建#SAT解算器不是很实际,除非有人拥有源代码,即使在那种情况下,由于非常小的指数爆破,除了非常小的公式之外,它也不实用。通常需要#SAT而非SAT特有的特殊技术...
vzn

Answers:




11

一种选择是使用BDD库,例如JavaBDD。所有这些库都具有快速计算解决方案的功能,或者至少使它们易于编写。但是,缺点是在许多情况下构造BDD的速度很慢,并且可能需要很多内存。

ñØñ+ñ


7

相关主题:最佳SAT解算器


1
感谢Sadeq。您指出的主题似乎是理论导向的。它列出了有关降低上限的几篇论文。这非常有趣,但是我一直在寻找一个随时可用的可行实现。
Giorgio Camerani

2
不用客气。在这里引用的链接中,有一个纯粹是实用的:satcompetition.org。我认为您可以在那里找到非常好的实现。
MS Dousti



5

我写了一个小的模型/素数蕴含的枚举器。这已经可以用于通过模型枚举进行模型计数,但这不是很实际。如果有人感兴趣,我可以对其进行扩展,以便计算主要蕴涵量中的模型。


2

BeyondNP网站上有大量现有的工具,可以解决#SAT问题(以及CNF公式中的其他相关难题)。您可能还会找到用于近似模型计数知识汇编的工具列表(将CNF转换为通常支持多项式时间模型计数的希望简洁的数据结构的任务)。

您可能还会找到用于预处理 CNF公式的工具列表,这些工具可能有助于提高模型计数器和各种基准的性能。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.