是否有一种有时有效的算法来解决#SAT问题?


24

令为一个布尔公式,由通常的AND,OR和NOT运算符以及一些变量组成。我想计算的令人满意的作业数量。也就是说,我想找到真值的不同分配到的变量数目为其假定真值。例如,公式具有三个令人满意的赋值;有四个。这是#SAT问题一种b一种bC¬b

显然,对此问题的有效解决方案将是对SAT的有效解决方案,这不太可能,而且实际上此问题是#P完全的,因此可能比SAT严格得多。因此,我不期望有一个保证有效的解决方案。

但是众所周知,SAT本身真正困难的实例相对很少。(例如,Cheeseman 1991,“ 真正困难的问题在哪里”。)普通的修剪搜索,尽管在最坏的情况下是指数式的,但可以有效地解决许多实例。解决方法虽然在最坏的情况下是指数级的,但在实践中甚至更为有效。

我的问题是:

是否有已知算法可以快速计算一个典型布尔公式的满意赋值数量,即使这种算法在一般情况下需要指数时间也是如此?有什么比列举每个可能的任务明显更好的了吗?


1
我试图为#p-completeness添加标签,但是Stack Exchange软件不喜欢#符号。
Mark Dominus

我要谨慎地宣称“ SAT本身真正困难的实例相对很少”。我相信您链接的论文实际上是关于随机 -SAT的。此外,相变现象仅适用于随机实例。SAT确实有很多非常艰难的手工,工业等实例。ķ
Juho

谢谢。您是否认为这会使我的问题不清楚?您了解我的要求吗?
Mark Dominus

对我来说很清楚。记住什么实例表现出相变是非常重要的:)
Juho 2013年

Answers:


21

一般情况下的计数

您感兴趣的问题称为#SAT或模型计数。从某种意义上讲,它是经典的#P-完全问题。即使是 -SAT ,模型计数也很难!毫不奇怪,确切的方法只能处理带有大约数百个变量的实例。近似方法也存在,它们可能能够处理大约1000个变量的实例。2

精确计数方法通常基于DPLL样式的详尽搜索或某种知识汇编。近似方法通常归类为无需任何保证即可进行快速估计的方法,以及提供正确性保证的上下限的方法。还有其他可能不适合类别的方法,例如发现后门或坚持某些结构属性以保留公式(或其约束图)的方法。

那里有实际的实现。一些确切的模型计数器是CDP,Relsat,Cachet,sharpSAT和c2d。精确求解器使用的主要技术包括部分计数,(底层约束图的)组件分析,公式和组件缓存以及每个节点的智能推理。基于知识编译的另一种方法将输入的CNF公式转换为另一种逻辑形式。通过这种形式,可以轻松推导出模型计数(新生成公式的大小为多项式时间)。例如,可以将公式转换为二进制决策图(BDD)。然后可以将BDD从“ 1”叶遍历回根。又例如,c2d使用一个编译器,该编译器将CNF公式转换为确定性可分解否定范式(d-DNNF)。

ϕϕ

Gogate和Dechter [3]使用称为SampleMinisat的模型计数技术。它基于布尔公式的无回溯搜索空间中的采样。该技术基于重要性重采样的思想,使用基于DPLL的SAT求解器来构建无回溯搜索空间。这可以完全完成,也可以近似完成。有保证的估计抽样也是可能的。建立在[2]上,Gomes等。[4]表明,采用改进的随机策略抽样,可以在概率较高的情况下保证模型总数的可证明下界。

还有一些基于信念传播(BP)的工作。参见Kroc等。[5]和他们介绍的BPCount。在同一篇论文中,作者提供了第二种方法,称为MiniCount,用于提供模型计数的上限。还有一个统计框架,允许人们在某些统计假设下计算上限。

#2-SAT和#3-SAT的算法

Ø1.3247ñØ1.6894ñØ1.6423ñ

就问题的本质而言,如果您想在实践中解决实例,则很大程度上取决于实例的大小和结构。您了解的越多,选择正确方法的能力就越大。


[1] VilhelmDahllöf,Peter Jonsson和MagnusWahlström。计算2-SAT和3-SAT中的满意作业。在第八届年度国际计算与组合技术会议(COCOON-2002)的会议记录中,2002年,535-543。

[2] W. Wei和B. Selman。一种新的模型计数方法。SAT05会议录:第八届国际满意度测试理论和应用会议,计算机科学讲义第3569卷,2005年第324-339页。

[3] R. Gogate和R. Dechter。通过采样无回溯搜索空间进行近似计数。在AAAI-07会议记录中:第22届全国人工智能大会,198-203,温哥华,2007年。

[4] CP Gomes,J。Hoffmann,A。Sabharwal和B. Selman。从抽样到模型计数。在IJCAI-07会议录中:第20届国际人工智能联合会议,2007年2293年至2299年。

[5] L. Kroc,A。Sabharwal和B. Selman。利用信念传播,回溯搜索和统计信息进行模型计数。在CPAIOR-08:第五届约束编程中AI和OR技术集成的国际会议上,计算机科学讲义第5015卷,127-141,2008年。

[6] K. Kutzkov。#3-SAT问题的新上限。信息处理快报105(1),1-5,2007。


8

除了Juho列出的论文之外,还有一些其他文章描述了有关此主题的工作,尤其是在估计解决方案数量方面:

  • 模型计数。Carla P. Gomes,Ashish Sabharwal,Bart Selman满意度手册,IOS出版社。编辑:Armin Biere,Marijn Heule,Hans van Maaren和Toby Walsh。第20章,第633-654页,2009年。

    • 这对主题进行了很好的概述,并介绍了许多技术。
  • 基于XOR约束的组合空间的近似均匀采样。Carla P. Gomes,Ashish Sabharwal,Bart Selman。NIPS-06。第20届神经信息处理系统年度会议,第481-488页,加拿大不列颠哥伦比亚省温哥华,2006年12月。

  • 短XOR用于模型计数:从理论到实践。Carla P. Gomes,Joerg Hoffmann,Ashish Sabharwal和Bart Selman SAT-07。第十届满意度测试理论和应用国际会议,LNCS第4501卷,第100-106页,葡萄牙里斯本,2007年5月。

  • 利用信念传播,回溯搜索和统计信息进行模型计数。Lukas Kroc,Ashish Sabharwal,Bart Selman ANOR-2011。运筹学年鉴,第184卷,第1期,第209-231页,2011年。

  • 快速精确模型计数的启发式算法。田桑,保罗·比默和亨利·考茨。满意度测试的理论和应用(SAT 2005),第226-240页。

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.