SAT及其相关问题的精确算法研究

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:thedogstar
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
给定一个合取范式CNF,合取范式中的每一项都是布尔变元的析取,SAT问题(Boolean Satisfiability Problem)是判断这个CNF是否可满足;MinSAT问题是指找到一组解使得CNF中满足的子句个数最少,即,使不满足的子句个数最多;MaxSAT问题是指找到一组解使得CNF中满足的子句个数最多,它们都是经典的NP问题。MaxSAT问题和MinSAT问题都是SAT问题的扩展。这些问题在电路控制,社团检测,资源分配选址,AI规划,供应链优化等实际问题中存在着广泛的应用,与最大独立集、最小顶点覆盖、图染色等其它经典的NP难问题的关系也非常密切。研究这些问题具有重要的理论意义和实用价值。本文主要研究SAT问题和MinSAT问题。当前SAT问题和MinSAT问题的求解方法主要分为两种:精确算法和启发式算法。启发式算法通常能很快的给出一个较优解,但无法从理论上保证这个解是全局最优的。精确算法通过搜索问题的整个解空间,从而能确保最终得到的解为全局最优解。从理论上看,现有的NP问题的精确算法在最坏情况下的时间复杂度都是指数级的,但近些年来的研究进步使得精确算法的求解能力得到了显著的提升。本文的研究工作分为两部分,一部分是研究基于DPLL算法的CDCL SAT精确算法,另一部分是研究基于消解规则逻辑推理的MinSAT的理论求解,这两者联系紧密,因为求解SAT问题的精确算法最重要的一点是要尽快找到冲突以减小搜索空间,但是如何更快找到冲突非常不容易。而MinSAT的目标和策略是从子句集中找最多的冲突。我们希望,通过研究MinSAT找最多冲突的策略及这些冲突之间的关系,能对SAT问题的研究带来帮助。本文中的所有研究工作都与冲突的快速寻找密切相关。对于SAT问题,论文从分支启发式,子句库删减和子句化简这三个关键策略展开。具体工作体如下:(一)提出了一个名为nbSAT的策略,用来评估学习子句的质量并根据其进行子句库删减。学习子句对于CDCL SAT求解器的性能至关重要,好的学习子句能引导求解器快速的产生冲突,减小搜索空间。但是,大量学习子句的存在会影响单子句传播的速度,过多的学习子句也会导致内存溢出。为了弥补这些缺点,CDCL SAT求解器的一个常见做法是使用启发式方法评估每个学习子句的质量,并每隔一段时间删除一半低质量的学习子句。提出了nbSAT策略,在SAT求解器Glucose 3.0中做学习子句库删减的时候来评判学习子句的有用性。通过实验研究了nbSAT策略的有效性,并证明它比原始Glucose 3.0中使用的LBD策略更准确。这项改进,再加上一种学习子句消解策略,使得Glucose 3.0在2014年的SAT竞赛的工业算例和人造算例上的表现得到提升。(二)提出了一种基于完整蕴含图的分支启发式策略。好的分支启发式策略能使得求解器快速的找到解或者快速的产生冲突并减小搜索空间。由于现有的分支启发式策略都是基于变元过去参与冲突的情况,除了一些参数不同,在搜索的开始,进行中以及最后,这些分支启发式计算变元分数的方法都是类似的,冲突中所涉及到的所有变元的分数都是增加一个值,而不考虑这些变元对冲突的贡献的区别。然而,在搜索的最开始,一个变元的分数仅仅是基于很少次冲突中其被涉及到的次数,不是非常准确。所以,本文提出了一种分支启发式策略Distance,在搜索的初始化阶段,对完整蕴含图中所涉及的所有变元都根据其到冲突的最长距离打分,而不仅仅只考虑变元的出现次数,从很少的冲突中提取更多的信息,使得能更快的导向冲突的变元分数更高。实验表明,本文提出的分支启发式策略大大提升了求解器的性能,使得求解器在同等时间内能够解决更多的算例。值得一提的是,本文所描述的其中一个使用了Distance分支启发式策略的SAT求解器Maple CM Dist获得了2017年SAT竞赛Main组金牌,而且2018年SAT竞赛Main组的金牌和银牌获得者也都使用了本文提出的Distance策略。(三)将vivification子句化简策略扩展到了对原始子句的化简以及子句二次化简。子句化简策略对搜索过程至关重要,因为短的子句需要更少次的单子句传播就能快速的变成单子句或者产生冲突。本文提出了一种子句选择策略,在预处理过程中和搜索过程中,使用该策略选择一部分原始子句进行化简,并选择部分子句(包括原始子句和学习子句)进行多次化简。更重有的是,本文中做了大量实验对该子句化简策略进行了深入研究分析。结果表明,将本文提出的原始子句化简方法以及子句二次化简策略,可以使得求解器多解决出大量的算例。值得一提的是,本文所描述的其中一个使用了该原始子句化简策略以及子句二次化简策略的SAT求解器获得了2018年SAT竞赛Main组铜牌。对于MinSAT问题:MinSAT问题的目标和策略是找最多的冲突。由于求解SAT问题最重要的一个方向是要尽快找到冲突以使搜索树变得更小。但是如何更快找到冲突非常不容易。众多顶尖高手目前都找不到更好的办法,进展趋于停滞,饱和。而研究MinSAT的目的是通过研究MinSAT找最多冲突的策略及这些冲突之间的关系来寻找如何更快找到冲突的灵感。因此,本文对Bool MinSAT问题也做了一些研究,使用了一种基于消解规则的逻辑推理方式,用于求解MinSAT问题,并对其有效性和完备性做了证明。同时也将该推理规则扩展到多值MinSAT问题上,并也做出来理论证明。根据以上提出的各种改进策略,显著地提高了SAT精确算法求解实际问题的能力。基于以上策略的求解器Maple LCM Dist和Maple CM,分别赢得了2017年SAT竞赛Main组金牌和2018年SAT竞赛Main组铜牌。
其他文献
猪苓Polyporus umbellatus(Pers.)Fries为多孔菌科(Polyporaceae)药用真菌,富含甾体类和多糖类功效成分。我国的长白山、燕山、太行山、秦岭和云贵高原等山区是猪苓的主要产区,这
烯胺酮及其硼配合物具有合成与化学修饰方便,发光行为易于调控、稳定性好等优点,并可以通过四配位硼配合物的形成有效地增强分子刚性和拉电子能力,进而作为受体单元构造热活
研究背景:泛素蛋白酶体系统(UPS)的组成包含泛素激活酶(Els)、泛素结合酶(E2s)、泛素连接酶(E3s)、蛋白酶体(Proteosome)和去泛素化酶(DUBs)。自20世纪70年代早期发现泛素以
近年来,随着柔性电子学的发展,可折叠、可穿戴的柔弹性器件备受国内外研究者们的关注,逐渐成为当前重要的前沿研究领域。相对于传统电子器件,柔性电子器件具有更大的灵活性,
低渗煤层如何增加煤层渗透率已成为制约煤矿瓦斯抽采的瓶颈。近些年水力压裂增渗技术已经成为了一种大面积增加煤层渗透性的区域性措施。前人对水力压裂的研究主要着重于水力
衰老是所有生物体不可避免的进程,同时也是导致大部分神经退行性疾病发生的主要原因。氧化应激与衰老密切相关,而且在引起衰老相关神经退行性疾病的神经元细胞死亡和神经突生
骨肉瘤(oseteosarcoma,OS)是一种常见于儿童和青少年的原发性,高度恶性骨肿瘤,也是骨科最为常见的恶性肿瘤。骨肉瘤好发于长骨干骺端,尤其是胫骨近端近膝关节。据美国癌症中
随着摄像监控设备以及智能移动设备的普及,安防、娱乐等领域视频数据呈现爆炸式增长,利用人工智能技术理解视频内容成为建设“智慧城市”的重要环节。作为视频分析技术的重要
生物医用材料(Biomedical Materials)能治疗、修复或重建病损组织、器官,常用于心脑血管、骨科、神经外科、药物递送、整形外科等领域,已成为国家中长期科学和技术发展规划的
被动式超低能耗居住建筑可实现在满足制冷和采暖需求的情况下最大程度地避免使用传统化石能源。探索适用于寒冷地区气候的被动式超低能耗居住建筑设计理论与方法,对该地区推