决策问题CNF-SAT可以描述如下:
输入:逻辑合取形式的布尔公式。
问题:是否存在满足的变量赋值?
我正在考虑使用非确定性两带图灵机解决CNF-SAT的几种不同方法。
我相信有一个NTM可以在步骤中解决CNF-SAT 。
问题:是否有一个NTM可以在步骤中解决CNF-SAT ?
即使任何相关参考文献仅提供接近线性时间的不确定性方法,也应赞赏。
决策问题CNF-SAT可以描述如下:
输入:逻辑合取形式的布尔公式。
问题:是否存在满足的变量赋值?
我正在考虑使用非确定性两带图灵机解决CNF-SAT的几种不同方法。
我相信有一个NTM可以在步骤中解决CNF-SAT 。
问题:是否有一个NTM可以在步骤中解决CNF-SAT ?
即使任何相关参考文献仅提供接近线性时间的不确定性方法,也应赞赏。
Answers:
这只是扩展注释。几次前,我问(我自己:-)接受(完全编码的)NP完整语言的多带NTM有多快。我想到了这个主意:
即使变量以一元表示,3-SAT仍保持NP完整。特别地,我们可以将一个条款-假设 -任意的3-SAT式上变量和以上字母表子句中的字符序列,其中每个变量出现均以一元表示:φ Ñ 米Σ = { + ,- ,1 }
例如,可以转换为:
+110-1110+11110
因此,我们可以将3-SAT公式转换为等效的字符串连接其子句。语言是NP完全的。 ù (φ 我)大号Ù = { ù (φ 我)| φ 我 ∈ 3 - 小号甲Ť }
2磁带NTM可以在时间中的字符串通过这种方式。 2 | x |
例:
Tape 1 (formula) Tape 2 (variable assignments)
+110-1110+11110... 0000000000000...
^ ^
+110-1110+11110... 0000000000000...
^ ^
+110-1110+11110... 0000000000000...
^ ^
+110-1110+11110... 0+00000000000... first guess set x2=T; matches +
^ ^ so remember that current clause is satisfied
+110-1110+11110... 0+00000000000...
^ ^
...
+110-1110+11110... 0+00000000000...
^ ^
...
+110-1110+11110... 0++0000000000... second guess set x3=T
^ ^ don't reject because current
clause is satisfied (and in every
case another literal must be parsed)
时间可以减少到如果我们在子句表示中添加一些冗余符号:
(标记公式的结尾)
这样,第二个头可以返回到最左边的单元格,而第一个头则扫描部分。使用作为子句定界符,使用作为公式结尾的标记,我们可以对CNF公式使用相同的表示形式,每个子句具有任意数量的文字。 ++ +++
对于1磁带NTM,这不完全是您要寻找的东西,答案似乎是否定的:1磁带NTM在不确定的线性时间内无法解决SAT问题。
根据本文(定理4.1),常规语言的类别恰好是1-tape NTM在时间识别的语言类别。因此,如果在时间存在一个解决SAT的1-tape NTM ,则SAT(更确切地说是CNF中可满足的公式集)将是一种常规语言,因此可以在确定性恒定空间中求解。o (n log (n ))o (n log (n ))