決定問題CNF-SATは次のように説明できます。
入力:連言標準形のブール式。
質問:\ phiを満たす変数の割り当てはありますか?
非決定性の2テープチューリングマシンで CNF-SATを解くためのいくつかの異なるアプローチを検討しています。
ステップでCNF-SATを解決するNTMがあると思います。
質問:ステップでCNF-SATを解決するNTMはありますか?
関連する参考文献は、ほぼ線形時間の非決定論的アプローチのみを提供している場合でも評価されます。
決定問題CNF-SATは次のように説明できます。
入力:連言標準形のブール式。
質問:\ phiを満たす変数の割り当てはありますか?
非決定性の2テープチューリングマシンで CNF-SATを解くためのいくつかの異なるアプローチを検討しています。
ステップでCNF-SATを解決するNTMがあると思います。
質問:ステップでCNF-SATを解決するNTMはありますか?
関連する参考文献は、ほぼ線形時間の非決定論的アプローチのみを提供している場合でも評価されます。
回答:
これは単なる拡張コメントです。数回前、私は(私自身:-)(合理的にエンコードされた)NP完全言語を受け入れるマルチテープNTMがどれくらい速いかを尋ねました。私はこのアイデアを思いつきました:
3-SATは、変数が単項で表される場合でもNP完全なままです。特に、アルファベットのシーケンスにある変数と句の任意の3-SAT式句を変換できます。では、すべての変数の出現が単項で表されます。φ N 、M Σ = { + 、- 、1 }
たとえば、は次のように変換できます。
+110-1110+11110
そのため、3-SAT式を、句を連結する同等の文字列変換できます。言語はNP完全です。 U (φ I)L U = { U (φ I)| φ iは ∈ 3 - S A T }
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)
時間は短縮できます節表現にいくつかの冗長なシンボルを追加する場合:
(は式の終わりを示します)
この方法で、2番目のヘッドは左端のセルに戻り、最初のヘッドは部分をスキャンします。使用句の区切りとして、および式の最後のマーカーとしては、我々は、句ごとにリテラルの任意の数とCNF式に同じ表現を使用することができます。
正確にあなたが探しているものではありませんが、1-テープNTMの場合、答えは否定的なようです:SATは非決定的な線形時間で1-テープNTMによって解決できません。
このペーパー(定理4.1)によると、正規言語のクラスは、正確には1テープNTMが時間認識する言語のクラスです。したがって、時間でSATを解く1テープNTMが存在する場合、SAT(より正確には、CNFの充足可能な式のセット)は正規言語であり、したがって決定論的定数空間で解ける。o (n log (n ))o (n log (n ))