【发布时间】:2018-10-28 12:12:51
【问题描述】:
DPLL SAT solvers 通常应用Phase Saving 启发式。这个想法是记住每个变量的最后一次赋值并在分支中使用它first。
为了试验分支极性和相位节省的效果,我尝试了几个 SAT 求解器并修改了相位设置。所有都是 Windows 64 位端口,以单线程模式运行。我总是使用中等复杂度的相同示例输入(5619 个变量,11261 个子句,在解决方案中,所有变量的 4% 为真,96% 为假)。
生成的运行时间如下所示:
这可能只是(坏)运气,但差异非常大。在我的示例中,MiniSat 优于所有现代求解器,这是一个特别的惊喜。
我的问题:
对这些差异有任何解释吗?
极性和相位节省的最佳做法?
【问题讨论】:
标签: z3 sat-solvers dpll