【发布时间】:2015-09-13 14:00:02
【问题描述】:
我想到了一种通过以下方法解决 3SAT 问题的算法:
1) 取cnf方程中至少有一个共同变量的所有子句。找到所有这样的组合并将它们放入名为“Intersection”的列表中。 “Intersection”列表现在包含交叉子句组。
2) 接下来,我们将特定“Intersection”组中的所有子句转换为 DNF。由于至少有一个变量是共同的,我认为它不会在指数时间内出现。
3) 接下来,我们将获得的所有 DNF 转换为单个 DNF,因为它们在原始方程中都用 AND 门分隔。
4) 如果得到的 DNF 中有一个子句,则方程是可满足的,否则方程是不可满足的。这是因为不相交的子句(没有任何共同变量的子句)不会影响整个方程,最后如果我们将那些与获得的 DNF 进行“与”,它只会将变量相乘并添加到现有的条款(如果有的话)。
我的问题是:
这个算法的运行时间是多少,这是否证明了与 P=NP 相关的任何事情,因为我认为这个算法非常有效。我之前的算法一直被别人失望,所以这次请花点时间分析一下算法,因为这是我的努力。
【问题讨论】:
-
我找到了解决 P=NP 问题的您的问题的答案:它太小,无法放入这个marg.. err.. 评论框.. 42. 再见@Clay Millennium Awards Ceremony ..
标签: algorithm runtime time-complexity sat p-np