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

博文

100个逻辑变量能够写出多少个子句?

已有 2026 次阅读 2015-10-16 17:52 |个人分类:教学笔记|系统分类:科研笔记| 求解, 3SAT, 子句

100个逻辑变量能够写出多少个子句?

姜咏江

在研究3SAT问题中,会听到研究成千上万个子句求解问题,有人曾告诉我上百万子句竞赛求解。100个逻辑变量能够构成多少个3SAT子句?应该是C2003=200×199×198/6=1313400个。如果真有这么多子句写在3SAT中,我会闭着眼睛说“没有满足解。”问题就这么简单。不包括正反变量都在一个子句中,100个逻辑变量能够形成8×C1003=161700个子句。这么多子句存在与3SAT中自然也是无解。

子句分段消去法可以让你迅速地判断出3SAT一些简单的无解情况:

1.      相同变量的子句数为8个;

2.      任何一个局部的变量组成的子句关联段无解。

计算3SAT的满足解不能够用子句的多少去说明其解的多少,事实正好相反,3SAT的子句越多,反而满足解可能越少。当然这是不专业的说法,到底3SAT有多少解,我们可以用子句分段消去法去求出来。

2015-10-16




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

上一篇:为什么子句分段消去法可以求出3SAT的解?
下一篇:子句分段消去法求解的要点
收藏 IP: 125.39.34.*| 热度|

1 yzqts

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

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

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

GMT+8, 2024-5-22 04:51

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部