3SAT在多项式时间内求解?

时间:2015-05-26 08:36:18

标签: complexity-theory p-np

我在cnf文件中看到了几个可满足和不可满足的子句文件SATLIB Benchmark Problems

的错误

更具体地说,我发现zip文件夹的第一个文件在这里: 20 variables, 91 clauses - 1000 instances, all satisfiable 包含一个标题为" uf20-01"的文件,其方程式不清楚,因为第15行的第7个子句和第4行的第87个子句都是完全相反的!( (5 19 17)和(-5 -19 -17))

因此,在任何时间点具有它们的AND运算将导致方程式不可满足。

我得出的结论是,如果两个条款彼此完全相反,那么方程式是不可满足的,否则方程式是可以接受的。我尝试了上述链接的另一个UNSAT文件,试错了虽然MINISAT浏览器版本也说同一个文件不合格,但我已经找到了针对每个变量的1&0和0的相同解决方案。

上面的算法由我发布到期刊但遭到拒绝。

我的问题是: 有人能给我一个不可满足的3SAT方程的例子,它只包含3个变量(或者可能更多......),而没有任何条款与另一个条子完全相反吗?

如果我能得到这样的条款,那么算法是错误的(但它仍然证明许多SAT基准问题是UNSAT)并且它不能证明第一个链接中的许多UNSAT问题确实是SAT。

这是戏弄我的想法,希望你们都能理解它,好像上面的算法是正确的,然后我证明了P = NP!它也可以开始一场革命。

顺便说一句:我已经向SATLIB联系人发送了电子邮件,但是在2天之后仍然没有关于第二个链接文件的回复。

2 个答案:

答案 0 :(得分:4)

在CNF的3-Sat中,所有条款都是OR子句,它们由AND组合。所以你引用的两行定义了以下两个子句

ORDER
例如,通过将x5设置为true,x17设置为false,x19任意设置,可以满足

答案 1 :(得分:0)

有很多: (x1 or x2 or x3) and (not x1 or x2) and not x2 and not x3

一般来说,您需要引入更多变量来显示这一点。但从直觉上看,UNSAT 的发生不需要任何子句的所有变量的反转,这似乎也不正确。正如另一个答案指出的那样,即使在最基本的情况下,发生这种情况时仍然是SAT。或许基准测试集有这个倾向,但没有概括。