[发明专利]分支启发计算的优化方法、SAT解算器、存储介质在审
申请号: | 202111125250.4 | 申请日: | 2021-09-24 |
公开(公告)号: | CN113919316A | 公开(公告)日: | 2022-01-11 |
发明(设计)人: | 李鹏飞;刘美华;张岩;黄国勇 | 申请(专利权)人: | 深圳国微福芯技术有限公司 |
主分类号: | G06F40/205 | 分类号: | G06F40/205;G06F40/279 |
代理公司: | 深圳市康弘知识产权代理有限公司 44247 | 代理人: | 尹彦 |
地址: | 518000 广东省深圳市福田区福保街道福*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分支 启发 计算 优化 方法 sat 解算器 存储 介质 | ||
本发明公开了一种分支启发计算的优化方法、SAT解算器、存储介质。其中分支启发计算的优化方法,包括:在对合取范式实例进行预处理时,对合取范式实例进行循环化简,直至合取范式实例中不存在单文字子句;采用分支启发算法对预处理后的合取范式实例进行计算的过程中,每次冲突发生后对变元活性进行计算时,将当前发生冲突的子句长度加入变元活性的计算,以实现对长子句的优先解算。本发明对分支启发计算进行了多方面的优化,加快了SAT解算器的解算速度。
技术领域
本发明涉及布尔可满足性验证的技术领域,尤其涉及一种分支启发计算的优化方法。
背景技术
早期的预处理技术使用原始DPLL(Davis-Putnam-Logemann-Loveland)提出的单元传播和文字规则,后来发展了一些更复杂的技术如超二元解析,单元子句和探针等。近年来预处理技术出现了大量优秀的成果,如预处理剪枝技术,一致性边界对难以约束区域进行设置技术,利用对称扩展性一元子句传播得到更多的单元子句技术,基于子句文字长度动态约束的变量消除算法,以及将布尔公式划分为子句组来进行布尔可满足性判定的方法等。
预处理存在一个消减能力和消耗之间的平衡关系。有的轻量级方法如探针技术可以实现快速的预处理,其运行时间相较于整个求解时间可以忽略不计,有的方法如超二元解析饱和方法,大型递归深度的递归学习饱和方法等在应用时会花费大量的时间,这些技术仅在预期能取得巨大收益的特定应用背景下才会应用被使用。至今为止,1960年提出的变量消除解析VER(Variable Elimination Resoluation)算法仍然是SAT问题预处理的主要技术之一。很多SAT解算器中的预处理步骤都是基于VER技术实现的。VER技术的基本思想是运用解析子句替换原始子句集合的方法,消除公式中的指定变量从而实现公式简化。
VER技术的具体实现是,通过布尔吸收律,对原始CNF(合取范式实例)进行预处理化简,针对单文字子句中的变元优先赋值。如存在单文字子句{x1},则对变元x1赋值,文字x1赋值为1,则同时可得文字 -x1的赋值为0。在对某个变元完成赋值后,继续遍历CNF子句,如果后续的子句中包含已赋值为1的文字,则此条子句可满足,对该子句进行删除,若包含已赋值为0的文字,则将该文字从子句中删除,并保留该子句中其余文字,成为新的子句。如图1所示,左侧为未进行预处理的子句,右侧为预处理后的子句。优先对单文字子句1中的变元1赋值,文字1赋值为1,则文字-1赋值为0。继续向后遍历,子句2中包含有已赋值的文字1,子句1∨2∨3确定等于1,子句2可满足,将子句2删除。继续遍历,子句3中包含已赋值为0的文字-1,文字-1的存在已不对子句3是否等于1继续造成影响,因此将文字-1从子句3中删除,并保留剩余文字2、3,重构为新的子句。
这种预处理方式在子句较多的情况下,即便进行了预处理,还会出现新的单文字子句,删除子句也只能针对变元被赋值之后的子句执行,对于之前的子句并不做任何操作。
另外,SAT解算器在对分支启发式中变元活性进行计算时,不同的SAT解算器有自己不同的参数标准,但是无论是应用最广泛的VSIDS,基于学习率分支的LRB,基于冲突历史的CHU,或是基于到冲突位置最长距离的Distance分支启发式算法,在对于变元活性的处理上都遵循变元活性随着参与冲突的次数而累加,每次增加的值随着冲突发生的次数逐渐衰减。这样处理的原因是,在解算的初始阶段,由于冲突次数太少,各变元的活性分数并不准确,选择被赋值的分支变元存在一定随机性,在解算前期给蕴含冲突的变元赋予更高的活性,使变元活性在冲突分析过程中增加更快。
因此,如何针对上述问题对分支启发计算进行优化是业界亟待解决的技术问题。
发明内容
为了解决现有技术中分支启发计算过程不够优化的技术问题,本发明提出一种分支启发计算的优化方法、SAT解算器、存储介质。
本发明提出的分支启发计算的优化方法,包括:
在对合取范式实例进行预处理时,对合取范式实例进行循环化简,直至合取范式实例中不存在单文字子句;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳国微福芯技术有限公司,未经深圳国微福芯技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111125250.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种保温瓶胆保温检测装置
- 下一篇:一种半开放式制帽工艺用的吸尘工作台