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

博文

公布一个3-CNF-SAT函数的所有解

已有 5397 次阅读 2015-7-8 06:28 |个人分类:科研论文|系统分类:科研笔记| 子句消去法, 3-CNF-SAT, 实际例子

公布一个3CNF-SAT函数的所有解

姜咏江

   为了证实我创造的子句消去法求解k-CNF-SAT的真实有效性,特给出一个6个逻辑变量的3-CNF-SAT函数求解实例,希望读者能够通过这个实例的全部解求出,更好地理解子句消去法的正确性。

f(x1,..., x6)= (x1+x1'+x2')(x2+x3+x4)(x1'+x3'+x4')(x1'+x2+x5')(x2+x3+x6)(x1+x5+x6')

   这个合取范式是否有值为1的解?共有多少?都是什么?用子句消去法很快就可以求出来。

   我将这些解罗列出来,是否正确,读者可以任选一组6元二进制数进行检验,看看我给的那些二进制数是不是都是解。此外,读者可以任意给出不在其中的6位二进制数,进行验证,看看它们是否使f(x1,..., x6)=0

   通过子句消去法,得到这个合取范式成立的解集合如下:

000010000011000100000101000110

000111001010001011001100001110

010010010011010100010110010111

011010011011011100011110100011

100101100111101001101011110010

110011110100110110110111111000

111010111011111100111110

   以上共计34个解。

验证在解集合中的数(x6,x5,x4,x3,x2,x1) = 011110,得:

f(x1,..., x6)= (0+1+0)(1+1+1)(1+0+0)(1+1+0)(1+1+0)(0+1+1)=1

验证不在解集合中的数(x6,x5,x4,x3,x2,x1) = 011111,得:

      f(x1,..., x6)= (1+0+0)(1+1+1)(0+0+0)(0+1+0)(1+1+0)(1+1+1)=0

   可见不在解集合中的6位二进制数会使某个合取范式的子句为0,因而造成无解,使此3-CNF-SAT不满足。

 

2015-7-8

 

 



https://blog.sciencenet.cn/blog-340399-903725.html

上一篇:创新方法严格论证母语是解决世界难题的金钥匙
下一篇:3-SAT-CNF 一次性确定解!库克的P/NPC到头了!
收藏 IP: 118.244.255.*| 热度|

1 yangb919

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

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

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

GMT+8, 2024-7-19 06:29

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部