基于树搜索的可满足性问题公共子句消除预处理器制造技术

技术编号:41648761 阅读:21 留言:0更新日期:2024-06-13 02:39
本发明专利技术公开发表了基于树搜索的可满足性问题公共子句消除预处理器,该发明专利技术涉及计算机技术领域。所述发明专利技术采用多叉树结构搜索枚举公共子句,该方法能够在较短时间内准确并完整地找出全部公共子句,改善了以往搜索不全和时间复杂度高的问题。同时针对于不同的消解顺序会对求解造成较大影响,由此提出以总字符数下降为前提的启发式排序方法,该方法以公共子句长度和出现频率为参数,设置了一种独特的排序形式,相比于贪婪和随机,能够减少更多的公式字符,在求解过程中效率更高。最终该预处理器处理后的公式将输出为一个新的CNF文件,对比预处理前,求解器求解时间显著降低。

【技术实现步骤摘要】

本专利技术涉及计算机,具体涉及一种可满足性问题预处理方法,尤其涉及一种基于启发式公共子句搜索的可满足性问题预处理方法。


技术介绍

1、可满足性问题(sat)也可称为布尔可满足性问题,是第一个被证明的np完全(np-complete,npc)问题,同时它是定义在命题逻辑合取范式(conjunctive normal form,cnf)上的判定性问题。一个合取范式是子句c={c1,c2,…,cm}之间合取构成,其中每个子句由一组布尔变量v={x1,x2,…,xn},xi∈{0,1}一个或多个正负文字之间析取构成,其中,1表示布尔值为“真”(true),0表示布尔值为“假”(false),x为正文字,与之对应,为负文字。一个子句的例子为:cnf公式表示为f=c1∧c2∧…∧cm。假设α是一个cnf公式变量赋值映射集,如果在α中所有变量均已赋值,称α为完全赋值,否则称为部分赋值。当一个子句中有一个文字为真时,这个子句为真,当一个cnf公式所有子句为真时,这个公式为真。例如:这个公式是可满足的,存在解α:x1=1,x2=0,x3=1,使f为1。sat求解器能够判断s本文档来自技高网...

【技术保护点】

1.基于树搜索的可满足性问题公共子句消除预处理器的特征是,具体包括:首先对SAT公式进行单子句传播,确保公式内没有单子句纯文字的存在,然后遍历每一个出现次数大于1,且所在子句大于2的文字的所在子句,将当前遍历的文字,以及文字的邻居中出现次数大于1的文字及其子句索引插入多叉树中作为多叉树的子节点。再一次遍历每个节点到根节点的路径收集所有可能的公共子句。最后对所有公共子句进行启发式排序,再按照排序顺序依次对满足特定要求的公共子句进行消除,最终输出化简后公式。

2.根据权利要求1所述的基于树搜索的可满足性问题公共子句消除预处理器,其特征是,始化多叉树链表和根节点root,依次遍历出...

【技术特征摘要】

1.基于树搜索的可满足性问题公共子句消除预处理器的特征是,具体包括:首先对sat公式进行单子句传播,确保公式内没有单子句纯文字的存在,然后遍历每一个出现次数大于1,且所在子句大于2的文字的所在子句,将当前遍历的文字,以及文字的邻居中出现次数大于1的文字及其子句索引插入多叉树中作为多叉树的子节点。再一次遍历每个节点到根节点的路径收集所有可能的公共子句。最后对所有公共子句进行启发式排序,再按照排序顺序依次对满足特定要求的公共子句进行消除,最终输出化简后公式。

2.根据权利要求1所述的基于树搜索的可满足性问题公共子句消除预处理器,其特征是,始化多叉树链表和根节点root,依次遍历出现次数更多且满足公共子句要求的文字,每次将文字插入多叉树时,需要将原始子句索引一同作为二元组加入,如若已经存在该文字,则将新的子句索引添加到该节点中。

3.根据权利要求1所述的基于树搜索的可满足性问题公共子句消...

【专利技术属性】
技术研发人员:刘康徐超
申请(专利权)人:长沙理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1