CDCL SAT求解器中的分支变量启发式算法研究
本文关键词: SAT问题 分支变量 启发式算法 变量活性 奖励函数 出处:《西南交通大学》2017年硕士论文 论文类型:学位论文
【摘要】:命题逻辑公式的可满足性问题(即SAT问题)是人工智能和计算机科学领域的核心问题之一。1971年Stephen.Cook从算法时间复杂度的角度证明了 SAT问题是NP完全问题,而NP完全问题在七大数学难题中排在首位,可见SAT问题是一类非常困难的问题。由于SAT问题在约束可满足问题、数理逻辑、自动推理、软件及硬件验证等领域具有广泛的应用,因此研究SAT问题的求解具有重要的理论价值和应用前景。目前求解SAT问题的算法大致可归为两类:一类是完备的求解算法;一类是不完备的求解算法。基于DPLL算法的CDCL(Conflict Derive Clause Learning)算法是目前比较流行的完备算法,由该算法设计的求解器(CDCLSAT求解器)的求解过程主要分为三大阶段,分别是分支变量选择阶段、布尔约束传播阶段和冲突分析及回溯阶段。其中,变量选择阶段的分支变量启发式算法可归结为两类:第一类是没有与冲突分析过程相结合的启发式算法,比如JW算法(Jeroslow-Wang)、DLIS(Dynamic Larger Independent Sum)算法等;第二类是与冲突分析过程相结合的启发式算法,比如VSIDS(Variable State Independent Decaying Sum)算法、CHB(Conflict History-based Branching Heuristic)算法、LRB(Learning Rate Branching)算法等。由于第一类分支变量启发式算法计算代价大,第二类分支变量启发式算法未能很好地利用子句固有的信息以及未体现出学习子句中变量的不同。故为了尽可能减少这些算法的不足以及选出更好的分支变量,本文以经典的VSIDS算法为基本框架设计了基于奖励的分支变量启发式算法,并用该算法代替MiniSat求解器中的分支变量启发式算法,得到新的求解器一Modified-MiniSat 求解器。本文就新算法的提出主要做了以下四方面的工作:1.对于一般的SAT问题,短子句较长子句更难被满足,依据子句的长度赋予每个子句权重,进而给出变量在子句以及子句集中的权重的定义。并用变量在子句集中的权重刻画变量的活性,从而尽可能准确地反映变量在子句集中的活跃度。2.设计了与决策层有关的奖励函数。在问题求解过程中,当学习子句添加到子句集时,根据学习子句中变量所在决策层的不同,奖励变量,以便增大学习子句中的变量活性。3.基于上述两方面的工作,给出了基于奖励的分支变量启发式算法,并用该算法代替MiniSat求解器中的分支变量启发式算法,设计了相应的求解器-Modified-MiniSat求解器。4.选择2013 SAT竞赛以及2016年SAT竞赛例作为测试例,对Modified-MiniSat求解器和MiniSat求解器做对比测试,通过分析实验结果得知Modified-MiniSat求解器有一定的优势,从而说明了改进后的分支变量启发式算法的有效性。
[Abstract]:The satisfiability problem of propositional logic formula (SAT problem) is one of the core problems in the field of artificial intelligence and computer science. In 1971, Stephen.Cook proved that the SAT problem is NP-complete problem from the angle of algorithm time complexity. The NP-complete problem ranks first among the seven mathematical problems. It can be seen that the SAT problem is a kind of very difficult problem. Because the SAT problem has a wide range of applications in the fields of constrained satisfiability problem, mathematical logic, automatic reasoning, software and hardware verification, etc. Therefore, it has important theoretical value and application prospect to study the solution of SAT problem. At present, the algorithms for solving SAT problem can be classified into two categories: one is complete algorithm; One is incomplete algorithm. The CDCL(Conflict Derive Clause learning algorithm based on DPLL algorithm is a popular complete algorithm. The solver designed by this algorithm is divided into three stages. They are branch variable selection, Boolean constraint propagation and conflict analysis and backtracking. In the stage of variable selection, the branch variable heuristic algorithm can be divided into two categories: the first is a heuristic algorithm that does not combine with the conflict analysis process, such as the JW algorithm Jeros low-Wangli dynamic Larger Independent Sumet, etc. The second is the heuristic algorithm combined with the conflict analysis process, such as VSIDS(Variable State Independent Decaying summing (VSIDS(Variable State Independent Decaying summing) algorithm and so on. The second kind of heuristic algorithm of branch variable can not make good use of the inherent information of clause and the difference of variable in learning clause, so in order to minimize the deficiency of these algorithms and select better branch variable, In this paper, the classical VSIDS algorithm is used as the basic framework to design a heuristic algorithm for branching variables based on rewards, and the algorithm is used to replace the branch variable heuristic algorithm in the MiniSat solver. A new solver, Modified-MiniSat solver, is obtained. In this paper, the following four aspects of the proposed algorithm are mainly done: 1. For a general SAT problem, the short clause is more difficult to satisfy than the long clause, and each clause is given weight according to the length of the clause. Then the definition of the weight of variable in clause and clause set is given, and the activity of variable in clause set is characterized by the weight of variable in clause set. The reward function related to the decision level is designed. In the process of solving the problem, when the learning clause is added to the clause set, the variable in the learning clause is different from the decision layer in the learning clause. Reward variables in order to increase the activity of variables in the learning clause. 3. Based on the above two aspects of work, a heuristic algorithm of branch variables based on reward is presented, and the heuristic algorithm of branch variables in MiniSat solver is replaced by the heuristic algorithm. The corresponding solver -Modified-MiniSat solver .4.Selects the 2013 SAT contest and the 2016 SAT contest as test examples, and makes a comparative test of Modified-MiniSat solver and MiniSat solver. Through the analysis of the experimental results, it is found that Modified-MiniSat solver has some advantages. Thus, the effectiveness of the improved heuristic algorithm for branch variables is demonstrated.
【学位授予单位】:西南交通大学
【学位级别】:硕士
【学位授予年份】:2017
【分类号】:O141
【相似文献】
相关期刊论文 前10条
1 李诗珍;;配送中心订单分批拣货模型及种籽启发式算法[J];起重运输机械;2009年01期
2 王庆贞;赵雁;钟斌;王玉龙;;车辆优化调度算法研究初探[J];黑龙江科技信息;2010年03期
3 王乐善;_5良震;;求图的总体最佳2—划分的有效启发式算法[J];安徽大学学报(自然科学版);1983年02期
4 徐亦文;运输路径问题的一个新启发式算法[J];上海机械学院学报;1987年02期
5 郭耀煌,范莉莉;货运汽车调度的一种启发式算法[J];系统工程;1989年01期
6 陈驻民;羊英;;混流企业中基于瓶颈的启发式算法的应用[J];武汉理工大学学报(信息与管理工程版);2010年02期
7 郑攀;胡思继;张晨;;机门指派模型建立与启发式算法设计[J];系统工程学报;2011年01期
8 马磊;任成磊;韩定定;;模块度优化启发式算法应用[J];现代电子技术;2012年19期
9 黄干平,刘娟;解“时间表问题”的启发式算法[J];武汉大学学报(自然科学版);1996年01期
10 赵赫,杜端甫;TSP的邻域搜索算法的分析和改进[J];中国管理科学;1997年01期
相关会议论文 前10条
1 罗守成;唐国春;;二维集装箱问题的一个启发式算法[A];2001年全国数学规划及运筹研讨会论文集[C];2001年
2 刘青松;孔云峰;党兰学;王震;;元启发式算法在校车路径规划中的应用[A];第七届全国地理学研究生学术年会论文摘要集[C];2012年
3 刘嘉敏;马广煜;黄有群;;基于组合的三维集装箱装入启发式算法的研究[A];全国第13届计算机辅助设计与图形学(CAD/CG)学术会议论文集[C];2004年
4 何正文;徐渝;;多模式项目支付进度问题的优化模型及启发式算法[A];中国运筹学会第七届学术交流会论文集(上卷)[C];2004年
5 赵文丹;汪定伟;郭小萍;王贵成;;网络广告资源优化问题研究[A];第二十九届中国控制会议论文集[C];2010年
6 杨士准;谢政;陈挚;熊李军;;k约束QoS问题的启发式算法[A];中国通信学会第六届学术年会论文集(下)[C];2009年
7 刘金朋;魏长江;;启发式算法求最短路径的一种高效率实现方法[A];2007北京地区高校研究生学术交流会通信与信息技术会议论文集(上册)[C];2008年
8 范敏;邹平;朱兴东;;一种启发式离散化算法及其Delphi实现[A];第二届中国智能计算大会论文集[C];2008年
9 王文瀚;杜斌;朱俊;贾树晋;;集成MILP与启发式的混合算法求解板坯设计问题[A];中国计量协会冶金分会2012年会暨能源计量与节能降耗经验交流会论文集[C];2012年
10 冯德鸿;唐加福;郭琦;李辉;;订货批量问题改进的相关策略启发式算法与仿真分析[A];2007系统仿真技术及其应用学术会议论文集[C];2007年
相关博士学位论文 前9条
1 李福清;交通规划中专用道设置问题建模和求解研究[D];广东工业大学;2016年
2 赖向京;原子团簇结构预测的现实途径—高性能启发式算法[D];华中科技大学;2012年
3 黎展滔;具有成组约束的柔性流水车间作业计划制定的启发式算法[D];广东工业大学;2012年
4 曹斌;生物启发式智能计算及其应用的研究[D];吉林大学;2012年
5 董兴业;启发式算法及其在同顺序流水作业问题中的应用[D];北京交通大学;2008年
6 古继兴;KOD多播技术与Steiner树启发式算法[D];上海交通大学;2007年
7 胡大伟;设施定位和车辆路线问题模型及其启发式算法研究[D];长安大学;2008年
8 杨玉珍;基于元启发式算法的带生产约束作业车间调度问题若干研究[D];华东理工大学;2014年
9 任志磊;组合优化问题的特化与泛化算法设计[D];大连理工大学;2013年
相关硕士学位论文 前10条
1 朱玺睿;氯氧镁板材生产线优化研究[D];东北林业大学;2015年
2 尹青山;绿色微数据中心与NGPON融合网络部署规划研究[D];大连海事大学;2015年
3 石闯;基于启发式算法的Ad Hoc网络QoS路由协议的研究与仿真[D];东北大学;2013年
4 刘畅;基于混合启发式算法的单线公交车辆调度问题研究[D];北京交通大学;2016年
5 张毅;启发式算法的自调参数方法研究[D];西安工程大学;2016年
6 周书橙;护士排班的启发式算法研究与排班管理系统的设计实现[D];北京交通大学;2016年
7 任平飞;基于启发式算法的云计算负载均衡问题研究[D];哈尔滨工业大学;2016年
8 戈丽娜(Galina Deeva);配送过程中提货送货问题的静态动态方法的应用效果研究[D];哈尔滨工业大学;2016年
9 刘赛赛;基于增强学习的启发式和元启发式搜索的参数调优策略[D];电子科技大学;2016年
10 李鹏;定制衣柜零件分拣方式及效能分析[D];南京林业大学;2016年
,本文编号:1502336
本文链接:https://www.wllwen.com/kejilunwen/yysx/1502336.html