CMP设计分享 http://blog.sciencenet.cn/u/accsys 没有逆向思维就没有科技原创。 不自信是科技创新的大敌。

博文

深入研究子句消去法

已有 2354 次阅读 2016-11-12 09:47 |个人分类:SAT问题|系统分类:论文交流|关键词:学者| 子句消去法, SAT问题

深入研究子句消去法

姜咏江

多项式Cnk+Cnk-1+...+Cn1+Cn02n相差多少?其实,只要k=n,那么前者就是后者。只有当k为常数的时侯,多项式与指数时间复杂度才有明显的时间效益。

k为常整数,求由比k少的逻辑变量取值形成子句间与运算表达式结果为真值,就是SAT问题。如今SAT问题有了多项式时间复杂度的算法——子句消去法。但从多项式与2n之间的关系来看,当k很大的时侯,算法执行的复杂程度(或则说任务量)也会很大,这就需要我们去寻找子句消去法能更快执行的方法。这里先介绍一个减少判断变量可选解的方法。

子句消去法最坏的情况是从头到尾判断的每个变量都出现两个可选解。如果能够有方法减少判断变量的数量,自然可以加快计算。

选判定理:子句块无唯一解变量,其非关联变量都有2个可选解。

证明:依据二进制限位数性质,k阶子句块如果没有任何一个变量有2k-1个表现值,那么至少有一对可以进入这个子句块的互反子句不在其中。由附件文中的定理234立即就可以得出此定理成立。

实际问题中的SAT问题,逻辑变量可能很多,而形成子句块共有的变量可能不多。在施行子句消去法求SAT解的过程中,先将各子句块中唯一解变量值确定,消去相关子句之后,剩下的都是无唯一解变量的子句块。此时只要去判断那些关联变量有几个可选解,就可以迅速地得出无解,或者求出SAT的满足解。

 

2016-11-12

附件:

子句消去法求k-SAT满足解(同行讨论稿).pdf

 

 



https://m.sciencenet.cn/blog-340399-1014306.html

上一篇:如何确认大师?
下一篇:看看英文的反码是如何定义的

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-14 13:14

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部