计算机科学 ›› 2020, Vol. 47 ›› Issue (7): 42-46.doi: 10.11896/jsjkx.190700191

• 计算机科学理论 • 上一篇    下一篇

基于奖励机制的SAT求解器分支策略

沈雪, 陈树伟, 艾森阳   

  1. 西南交通大学数学学院 成都610031
    系统可信性自动验证国家地方联合工程实验室 成都610031
  • 收稿日期:2019-07-26 出版日期:2020-07-15 发布日期:2020-07-16
  • 通讯作者: 陈树伟(swchen@swjtu.edu.cn)
  • 作者简介:1035475108@qq.com
  • 基金资助:
    国家自然科学基金(61673320);中央高校基本科研业务费专项资金(2682018ZT10,2682018CX59)

Reward Mechanism Based Branching Strategy for SAT Solver

SHEN Xue, CHEN Shu-wei, AI Sen-yang   

  1. School of Mathematics,Southwest Jiaotong University,Chengdu 610031,China
    National-Local Joint Engineering Laboratory of System Credibility Automatic Verification,Chengdu 610031,China
  • Received:2019-07-26 Online:2020-07-15 Published:2020-07-16
  • About author:SHEN Xue,born in 1994,postgraduate.Her main research interests include intelligent information processing and automated reasoning.
    CHEN Shu-wei,born in 1977,Ph.D,associate professor.His main research interests include logic based automated reasoning and decision analysis.
  • Supported by:
    This work was supported by the National Natural Science Foundation of China (61673320) and Fundamental Research Funds for the Central Universities (2682018ZT10,2682018CX59)

摘要: 分支决策是CDCL(Conflict Driven Clause Learning)求解器一个十分关键的环节,一个好的分支策略可以减少分支决策次数进而提高SAT求解器的效率。目前,先进的分支策略大都结合了冲突分析过程,但分支策略对参与冲突分析的变量奖励方法有所不同,因此所挑选出的决策变量会有所差异。文中考虑到决策变量总是在未赋值变量中选取的这一重要事实,在EVSIDS(Exponential Variable State Independent Decaying Sum)分支策略的基础上提出了一种新的分支策略,称为基于奖励机制的分支策略(简称RACT分支策略)。RACT分支策略对冲突分析中被撤销赋值的变量再次给予奖励,以增大未赋值变量中频繁参与冲突分析的变量被选择为分支变量的可能性。最后,将所提出的分支策略嵌入到Glucose4.1求解器中以形成新的求解器Glucose4.1+RACT,以2017年SAT竞赛中的350个实例为实验数据集来测试RACT分支策略的有效性。实验结果表明,求解器Glucose4.1+RACT比原版求解器能求解出更多的实例个数,尤其在求解可满足实例的个数上增加了13.5%,此外在求解350个竞赛实例上所花费的总时间较Glucose4.1减少了3.9%,以上实验数据均说明所提分支策略可以有效减少搜索树的分支决策次数并给出正确的搜索空间,进而提高了 SAT 求解器的求解能力。

关键词: 冲突驱动子句学习, 分支策略, 回溯搜索, 可满足性问题, 完备算法

Abstract: Branching decision is one of the most critical parts of CDCL solver,and an excellent branching strategy can reduce the number of branching decisions and improve the SAT solver’s efficiency.Most of the state-of-art branching strategies have incorporated the conflict analysis process.But the branching strategies have different reward methods on variables participating in conflict analysis,so the selected branching variables are different.In this paper,considering the important fact that decision variables are always selected in the unassigned variable set,a new branching strategy based on the EVSIDS (Exponential Variable State Independent Decaying Sum) branching strategy is proposed,which is called the branching strategy based on the reward mechanism (referred to as the RACT branching strategy).The RACT branching strategy is to reward the variables that are de-assigned in the conflict analysis again to increase the probability that the variables that are frequently involved in the conflict analysis in the unassigned variables are selected as branch variables.Finally,the proposed branching strategy is embedded into the Glucose4.1 solver to form a new solver Glucose4.1+RACT,and the effectiveness of the RACT branching strategy is tested by using 350 instances of the 2017 SAT competition as experimental data sets.The experimental comparison shows that the solver Glucose4.1+RACT can solve more instances than the original solver,especially with an increase of 13.5% in the number of satisfied instances,and the total time spent on solving 350 competition examples is also 3.9% lower than that of Glucose 4.1.The above experimental data shows that the proposed branching strategy can effectively reduce the number of branch decisions in the search tree and give the correct search space,thus improving the solving ability of the SAT solver.

Key words: Backtrack search, Branching strategy, Complete algorithms, Conflict driven clause learning, Satisfiability problem

中图分类号: 

  • TP181
[1]COOK S.The Complexity of Theorem Proving Procedures[C]//Proceedings of the 3rd Annual ACM Symposium on the Theory of Computing.New York,1971:151-158.
[2]MARQUES-SILVA J.Practical Applications of Boolean Satisfi-ability[C]//9th International Workshop on Discrete Event Systems (WODES 2008).IEEE,2008:74-80.
[3]XU L,YU J.Improved Bounded Model Checking on Verification of Valid ACTL Properties [J].Computer Science,2013,40(6):99-102.
[4]DAVIS M,LOGEMANN G,LOVELAND D.A Machine Pro-gram for Theorem Proving [J].Communications of the ACM,1962,5(5):394-397.
[5]MARQUES-SILVA J,LYNCE I,MALIK S.Conflict DrivenClause Learning SAT Solvers[M]//Handbook of Satisfiability.Amsterdam:IOS Press,2009:127-149.
[6]MARQUES-SILVA J.The Impact of Branching Heuristics onPropositional Satisfiability Algorithms[C]//Portuguese Confe-rence on Artificial Intelligence.Heidelberg:Springer,1999:62-74.
[7]MARQUES-SILVA J,SAKALLAH K.GRASP:A New Search Algorithm for Satisfiability[M]//The Best of ICCAD.New York:Springer,2003:73-89.
[8]MALIK S,ZHAO Y,MADIGAN C.Chaff:Engineering an Efficient SAT Solver[C]//Proceedings of the 38th Annual Design Automation Conference.2001:530-535.
[9]BIERE A.Adaptive Restart Strategies for Conflict Driven SAT Solvers[C]//Theory and Applications of Satisfiability Testing-SAT 2008.Heidelberg:Springer,2008:28-33.
[10]EEN N,SORENSSON N.An Extensible SAT-solver[C]//Theo-ry and Applications of Satisfiability Testing-SAT 2003.Berlin:Springer,2003:502-518.
[11]BIERE A,FROHLICH A.Evaluating CDCL Variable ScoringSchemes[C]//Theory and Applications of Satisfiability Testing-SAT 2015.Switzerland:Springer,2015:405-422.
[12]王国俊.数理逻辑引论与归结原理[M].北京:科学出版社,2003.
[13]张建.逻辑公式的可满足性判断——方法、工具及应用[M].北京:科学出版社,2000:3-28.
[14]BIERE A.Lingeling,Plingrling and Treengeling Entering theSAT Competition 2013[C]//Proceedings of SAT Competition.2013:51-52.
[15]AUDEMARD G,SIMON L.On the Glucose SAT Solver [J].International Journal on Artificial Intelligence Tools,2018,27(1):18400.
[16]LIANG J,GANESH V,POUPAR P,et al.Exponential Recency Weighted Average Branching Heuristic for SAT Solvers[C]//Proceedings of the 13th AAAI Conference on Artificial Intelligence.AAAI Press,2016:3434-3440.
[17]LIANG J,GANESH V,POUPAR P,et al.Learning Rate Based Branching Heuristic for SAT Solvers[C]//Theory and Applications of Satisfiability Testing-SAT 2016.Switzerland:Springer,2016:123-140.
[18]LIANG J,GANESH V,POUPAR P,et al.An Empirical Study of Branching Heuristics through the Lens of Global Learning Rate[C]//Proceedings of the 20th International Conference on Theory and Applications of Satisfiability Testing.Melbourne,2017:119-135.
[19]CHEN Q S,XU Y X,HE X.Heuristic Complete Algorithm for SAT Problem by Using Logical Deduction [J].Journal of Southwest Jiaotong University,2017,52(6):1224-1232.
[20]XIAO F,LI C,LUO M,et al.A Branching Heuristic for SAT Solvers Based on Complete Implication Graphs [J].Science China Information Sciences,2019,62(7):72103.
[1] 王钇杰, 徐扬, 吴贯锋.
基于学习子句删除策略的SAT求解器分支策略
Branching Heuristic Strategy Based on Learnt Clauses Deletion Strategy for SAT Solver
计算机科学, 2021, 48(11): 294-299. https://doi.org/10.11896/jsjkx.201000142
[2] 刘江, 周鸿昊.
一种布尔公式的代数逻辑约化新方法
New Algebraic Logic Reduction Method for Boolean Formula
计算机科学, 2020, 47(5): 32-37. https://doi.org/10.11896/jsjkx.190400018
[3] 郭莹,张长胜,张斌.
求解SAT问题的算法的研究进展
Research Advance of SAT Solving Algorithm
计算机科学, 2016, 43(3): 8-17. https://doi.org/10.11896/j.issn.1002-137X.2016.03.002
[4] 王晓峰,李强,丁红胜.
规则实例集上警示传播算法的收敛性
Convergence of Warning Propagation Algorithm for Regular Structure Instances
计算机科学, 2015, 42(1): 279-284. https://doi.org/10.11896/j.issn.1002-137X.2015.01.062
[5] 何琨,姚鹏程,李立文.
求解二维矩形Packing问题的完备算法
Complete Algorithm for 2D Rectangular Packing Problem
计算机科学, 2014, 41(8): 55-59. https://doi.org/10.11896/j.issn.1002-137X.2014.08.011
[6] 李屾,常亮,孟瑜,李凤英.
分支时态描述逻辑ALC-CTL及其可满足性判定
Branching Temporal Description Logic ALC-CTL and its Satisfiability Decision
计算机科学, 2014, 41(3): 205-211.
[7] 常亮,王娟,古天龙,董荣胜.
时态描述逻辑ALC-LTL的Tableau判定算法
Tableau Decision Algorithm for the Temporal Description Logic ALC-LTL
计算机科学, 2011, 38(8): 150-154.
[8] 龚卫华 王元珍.
基于三角环的顶点着色问题解法

计算机科学, 2005, 32(4): 77-78.
[9] 李韶华 张健.
Survey Propagation:一种求解SAT的高效算法

计算机科学, 2005, 32(1): 132-137.
[10] 李景治 康立山 方宁.
一个约束可满足性问题的演化算法求解

计算机科学, 2004, 31(4): 137-139.
[11] 李未 黄雄.
命题逻辑可满足性问题的算法分析

计算机科学, 1999, 26(3): 1-9.
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!