• 中国计算机学会会刊
  • 中国科技核心期刊
  • 中文核心期刊

计算机工程与科学

• 人工智能与数据挖掘 • 上一篇    下一篇

基于子句的动态检查强制文字的SAT求解器

常文静1,2,徐扬2   

  1. (1.西南交通大学信息科学与技术学院,四川 成都 610036;
    2.西南交通大学系统可信性自动验证国家地方联合工程实验室,四川 成都 610036)
     
     
  • 收稿日期:2017-12-25 修回日期:2018-04-11 出版日期:2019-02-25 发布日期:2019-02-25
  • 基金资助:

    国家自然科学基金(61673320);中央高校基本科研业务费(2682017ZT12)

A clause-based dynamical necessary
literal checking SAT solver

CHANG Wenjing1,2,XU Yang2   

  1. (1.School of Information Science and Technology,Southwest Jiaotong University,Chengdu 610036;
    2.NationalLocal Joint Engineering Laboratory of System Credibility Automatic Verification,
    Southwest Jiaotong University,Chengdu 610036,China)
     
     
  • Received:2017-12-25 Revised:2018-04-11 Online:2019-02-25 Published:2019-02-25

摘要:

检查强制文字是一种重要的预处理方法。结合学习子句,提出一种在求解过程中使用的策略—基于子句的动态检查强制文字(CNL),并且设计了一种易实现低成本的数据结构。分别实现了两个不同版本的求解器:Glucose_PRE和Glucose_CNL,前者在求解初始时将检查强制文字作为预处理,后者实现了基于子句的动态检查强制文字策略。实验测试结果表明,与Glucose_PRE和Glucose3.0求解器相比,求解器Glucose_CNL在求解2015年和2016年SAT竞赛的应用类型的实例时,求解实例个数更多,耗时更少,说明所提策略和所设计的数据结构均可提高求解器的求解性能。

 

关键词: 可满足问题, 预处理技术, 强制文字, 数据结构

Abstract:

Necessary literal checking is an important preprocessing technique. by learning clauses, this paper proposes a clausebased dynamical necessary literal checking strategy (CNL) used in the solving process, and designs a lowcost data structure.  We implement two solvers, Glucose_PRE and Glucose_CNL. The former adopts the necessary literal checking as the preprocessing technique at the beginning of the solving process, and the latter implements the proposed clausebased dynamical necessary literal checking strategy. Experimental results show that the Glucose_CNL solves more instances with less time than the Glucose_PRE and Glucose 3.0 when solving the applicationtype instances in 2015 and 2016 SAT competitions, demonstrating the significance of the proposed strategy and data structure.

 

Key words: satisfiability problem, preprocessing technique, necessary literal, data structure