通过专用算法使SAT解算器具有竞争力


11

在使SAT解算器与专用图算法竞争方面有哪些障碍?换句话说,期望SAT求解器可以代替算法设计者的角色是否可行-即能够自动识别问题结构,然后像专用算法一样快速地解决问题?

在这里,我认为一些示例对于当今的SAT解算器具有挑战性:

  • 计算大小为独立集合。编码“ x是大小为k的独立集”可得出一个大公式,很难解决。理想的SAT解算器会认识到,在有边界的树宽图上添加一个额外的“ count”变量可轻松解决此问题。k

  • 寻找最小的斯坦纳树。同样,“ Steiner树”具有全局约束,但是,通过添加额外的变量,专用算法(如此)使任务变得更容易

  • 任何减少到平面完美匹配的问题。


这不是已经发生了吗?将问题简化为SAT然后运行求解器是一种流行的技巧。
Suresh Venkat

是的,但是他们有竞争力吗?我想知道是否有任何SAT解算器可以采用一组简单的约束来描述平面图的欧拉子图,并在多项式时间内执行#SAT
Yaroslav

Answers:


7

有一篇不错的论文可以帮助可视化SAT实例的内部结构。请参阅由Carsten Sienz 可视化SAT实例和DPLL算法运行(出现在SAT 2004中)。基本上,它绘制了一个图,作者称之为“可变交互图”(根据某些规则),以可视化满足子句之间的关系。作者通过DPLL的部分运行来证明这一点。

主要主张是,这些可视化技术可用于检测结构并为其设计适当的算法。但是,仍不清楚如何有效地检测本文中介绍的结构。众所周知,针对一个特定问题的SAT算法在其他问题中的表现较差。因此,尽管据我所知不能正式陈述这一主张,但这里有“没有自由午餐”的现象。


我认为相关的“免费午餐”定理是“免费午餐无法搜索” no-free-lunch.org。基本上,我们无法负担所有可能出现的问题结构的搜索,而必须将搜索偏向特定的结构。我认为这是可以的,因为人类算法设计人员已经做到了
Yaroslav Bulatov
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.