首页> 外文会议>International Symposium on Symbolic and Numeric Algorithms for Scientific Computing >Solving SAT by an Iterative Version of the Inclusion-Exclusion Principle
【24h】

Solving SAT by an Iterative Version of the Inclusion-Exclusion Principle

机译:用包含-排除原理的迭代形式求解SAT

获取原文

摘要

Our goal is to present a basic, novel, and correct SAT solver algorithm, show its soundness, compare it with a standard SAT solver, give some ideas in which cases might it be competitive. We do not present a fine-tuned, state-of-the-art SAT solver, only a new basic algorithm. So we introduce CCC, a SAT solver algorithm which is an iterative version of the inclusion-exclusion principle. CCC stands for Counting Clear Clauses. It counts those full length (in our terminology: clear) clauses, which are subsumed by the input SAT problem. Full length clauses are n-clauses, where n is the number of variables in the input problem. A SAT problem is satisfiable if it does not subsume all n-clauses. The idea is that in an n-clause each of n variables is present either as a positive literal or as a negative one. So we can represent them by n bits. CCC is motivated by the inclusion-exclusion principle, it counts full length clauses as the principle does in case of the SAT problem, but in an iterative way. It works in the following way: It sets its counter to be 0. It converts 0 to an n-clause, which is the one with only negative literals. It checks whether this n-clause is subsumed by the input SAT problem. If yes, it increases the counter and repeats the loop. If not, we have a model, which is given by the negation of this n-clause. We show that almost always we can increase the counter by more than one. We show that this algorithm always stops and finds a model if there is one. We present a worst case time complexity analysis and lot of test results. The test results show that this basic algorithm can outperform a standard SAT solver, although its implementation is very simple without any optimization. CCC is competitive if the input problem contains lot of short clauses. Our implementation can be downloaded and the reader is welcome to make a better solver out of it. We believe that this new algorithm could serve as a good basis for parallel algorithms, because its memory usa- e is constant and no communication is needed between the nodes.
机译:我们的目标是提出一种基本,新颖且正确的SAT求解器算法,展示其稳健性,并将其与标准SAT求解器进行比较,并给出一些在某些情况下可能具有竞争力的想法。我们没有提出一种经过微调的最先进的SAT求解器,而只是提出了一种新的基本算法。因此,我们介绍了CCC,这是SAT求解器算法,是包含-排除原理的迭代版本。 CCC代表计数清晰条款。它计算输入的SAT问题包含的那些全长(在我们的术语中:clear)子句。全长子句是n条子句,其中n是输入问题中的变量数。如果SAT问题不包含所有n个子句,则可以满足要求。想法是,在n条子句中,n个变量中的每一个都以正文字或负文字形式出现。因此,我们可以用n位表示它们。 CCC受包含-排除原则的激励,它在SAT问题的情况下像该原则一样计算全长子句,但是以迭代的方式进行。它的工作方式如下:将其计数器设置为0。它将0转换为n子句,即只有负文字的子句。它检查此n子句是否包含在输入SAT问题中。如果是,它将增加计数器并重复循环。如果不是,我们有一个模型,该模型由该n子句的否定给出。我们表明,几乎总是可以将计数器增加一倍以上。我们证明了该算法总是停止并找到一个模型。我们提供了最坏情况下的时间复杂度分析和大量测试结果。测试结果表明,该基本算法可以实现优于标准SAT求解器的效果,尽管其实现非常简单,无需进行任何优化。如果输入问题包含许多简短条款,则CCC具有竞争力。我们的实现可以下载,欢迎读者使用它做一个更好的求解器。我们相信,这种新算法可以作为并行算法的良好基础,因为它的内存使用是恒定的,并且节点之间不需要通信。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号