Skip to main content
QUICK REVIEW

[论文解读] Fast Blocked Clause Decomposition with High Quality

Jingchao Chen|arXiv (Cornell University)|Jul 2, 2015
Formal Methods in Verification参考文献 7被引用 9
一句话总结

本文提出 MixDecompose,一种新颖的分块子句分解算法,结合了改进的 BCE、两种新的 PureDecompose 变体、基于相关性的启发式方法(LessInterfereDecompose)以及一种新的后处理方法(RsetGuidedDecompose)。该方法在分解质量上显著优于现有方法(如 PureEager),在最坏情况下的性能更优,并在子句大小受限条件下保证线性时间复杂度,在应用基准测试中表现优于所有先前方法且未出现超时。

ABSTRACT

Any CNF formula can be decomposed two blocked subsets such that both can be solved by BCE (Blocked Clause Elimination). To make the decomposition more useful, one hopes to have the decomposition as unbalanced as possible. It is often time consuming to achieve this goal. So far there have been several decomposition and post-processing algorithms such as PureDecompose, QuickDecompose, EagerMover etc. We found that these existing algorithms are often either inefficient or low-quality decomposition. This paper aims at improving the decomposition quality, while keeping the runtime of algorithms under control. To achieve this goal, we improve the existing BCE, and present two new variants of PureDecompose, a new heuristic decomposition called LessInterfereDecompose, and a new post-processing algorithm called RsetGuidedDecompose. Combining these new techniques results in a new algorithm called MixDecompose. In our experiments, there is no application formula where the quality of PureDecompose+EagerMover is better than MixDecompose. In terms of speed, MixDecompose is also very fast. Our average runtime is a little longer, but the worst-case runtime is shorter. In theory, our two variants of PureDecompose requires linear time in the number of clauses. By limiting the size of the touch list used by BCE, we can guarantee always that MixDecompose runs in linear time.

研究动机与目标

  • 在保持低运行时间的同时提升分块子句分解的质量,解决现有算法(如 PureDecompose 和 QuickDecompose)的局限性。
  • 克服 CNF 预处理中子句分解质量与计算效率之间的权衡问题。
  • 设计一种可扩展且鲁棒的分解框架,确保在大规模、困难的应用实例上仍能获得高质量结果。
  • 在最坏情况场景下实现高分解质量与快速性能的双重目标,尤其针对先前方法会超时的情况。
  • 通过限制 BCE 的触碰列表大小,为运行时间提供理论保证,确保在实际约束条件下实现线性时间执行。

提出的方法

  • 通过限制用于阻塞的字面量集合(触碰列表),改进分块子句消除(BCE),在保持正确性的同时减少计算量。
  • 提出 PureDecompose 的两种新变体,通过优化的子句选择启发式方法提升分解质量。
  • 引入 LessInterfereDecompose,一种基于子句相关度的新型分解启发式方法,以最小化子句选择过程中的相互干扰。
  • 设计 RsetGuidedDecompose,一种后处理算法,通过引导子句重新分配来提升大阻塞集合的大小。
  • 将所有组件整合为 MixDecompose,一种混合算法,结合启发式方法、后处理与优化的 BCE,实现平衡且高质量的分解。
  • 理论分析表明,当触碰列表大小受限制时,MixDecompose 的运行时间为线性时间,确保可扩展性。

实验结果

研究问题

  • RQ1能否设计一种分块子句分解算法,在保持与 PureEager 竞争性运行时间的同时,实现更高的分解质量?
  • RQ2是否可能设计一种分解方法,在质量与最坏情况性能两方面均优于 PureDecompose 和 QuickDecompose?
  • RQ3如何对子句相关性与干扰进行建模,以在分解过程中指导更优的子句选择?
  • RQ4后处理是否能显著提升分解质量,同时避免产生过高的计算开销?
  • RQ5在实际启发式方法下,能否为分解算法的运行时间建立理论边界?

主要发现

  • 在 297 个 SAT 竞赛 2014 年的应用基准测试中,MixDecompose 在 226 个实例中获得比 PureEager 更大的大阻塞集合,且无任何实例中 PureEager 表现更优。
  • MixDecompose 的大集合大小平均占完整公式的 92.2%,而 PureEager 为 87.2%,表明在随机 3-SAT 实例中分解质量提升了 5%。
  • MixDecompose 在全部 297 个基准测试中均未超时,而 PureEager 在 7 个实例中出现超时,显示出更强的最坏情况鲁棒性。
  • MixDecompose 的最坏情况运行时间为 110 秒,显著低于 PureEager 超过 300 秒的最坏情况时间。
  • 尽管 MixDecompose 的平均运行时间略高(8.97 秒 vs. 7.41 秒),但其在最坏情况下的表现更快,且始终能完成所有测试实例。
  • 理论分析确认,当 BCE 的触碰列表大小受限制时,MixDecompose 的运行时间为线性时间,提供了强有力的可扩展性保证。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。