CNF-SAT用の非決定論的な線形時間アルゴリズムはありますか?


19

決定問題CNF-SATは次のように説明できます。

入力:連言標準形のブール式。ϕ

質問:\ phiを満たす変数の割り当てはありϕますか?

非決定性の2テープチューリングマシンで CNF-SATを解くためのいくつかの異なるアプローチを検討しています。

npoly(log(n))ステップでCNF-SATを解決するNTMがあると思います。

質問:O(n)ステップでCNF-SATを解決するNTMはありますか?

関連する参考文献は、ほぼ線形時間の非決定論的アプローチのみを提供している場合でも評価されます。


5
2001年にSanthanamは書いた:「SAT n後やり直し( polylog)、SAT がで受け入れることができるという事実から、以下の結果 polylog NRAMに時間とNRAMsの効率的なシミュレーションによってがあることをNTM、GurevichとShelahによるものです。」したがって、SAT NTIME()が知られているとは思えません。(参照は1989年からのLNCS 363です。)N N N N Nn(n)n(n)n
アンドラスサラモン

5
@Boson、満足できる割り当てだけでなく、式の完全な計算も与えられていると仮定します。線形時間で有効な計算であるかどうかをどのように確認しますか?3CNF-SATでそれを行うことができる場合でも、変数への割り当てを調べるためにジャンプする必要があるため、明確ではありません。
カヴェ

4
@Boson 2テープTMを使用して、線形時間で割り当てが式を満たすことを検証できるかどうかは明らかではありません。テープヘッドを何度も前後に移動する必要があります。この検証に効率的なアプローチがある場合は、お知らせください。:)
マイケル・ウェハ

5
ただ、注意:変数は(SATはまだNPCである)単項で表現されている場合は、単項の充足式を認識し、二テープNTMありに手順2 | φ |φ2|φ|
マルツィオ・デ・Biasi

3
@MichaelWeharカウントソートを使用する場合、合理的なランダムアクセスモデル(たとえば、O(log n)インデックスを書き留める時間。1ステップでテープのそのインデックスにジャンプできます。各リテラルを(log n + 1)ビット文字列としてエンコードする場合、句と変数の総数は最大でO(n / log n)です。この場合、すべてのリテラルに対するO(log n)時間操作は大丈夫です。2つのテープTMに拡張することは、少なくともカウントソートでは簡単ではありません。
ライアンウィリアムズ

回答:


5

これは単なる拡張コメントです。数回前、私は(私自身:-)(合理的にエンコードされた)NP完全言語を受け入れるマルチテープNTMがどれくらい速いかを尋ねました。私はこのアイデアを思いつきました:

3-SATは、変数が単項で表される場合でもNP完全なままです。特に、アルファベットのシーケンスにある変数と句の任意の3-SAT式句を変換できます。では、すべての変数の出現が単項で表されます。φ N 、M Σ = { + - 1 }(xi¬xjxk)φnmΣ={+,,1}

+1i0,1j,+1k

たとえば、は次のように変換できます。(x2x3+4)

+110-1110+11110

そのため、3-SAT式を、句を連結する同等の文字列変換できます。言語はNP完全です。 U φ IL U = { U φ I| φ iは3 - S A T }φiU(φi)LU={U(φi)φi3SAT}

2テープNTMは、文字列が時間であるかどうかを判断できますこの方法では。 2 | x |xLU2|x|

  • 最初のヘッドは入力を左から右にスキャンし、内部ロジックを使用して、句の開始または終了、または式の最後に到達したときを追跡します。またはが見つかると、2番目のヘッドはを表すで右に移動し始めます。終わりで、2番目のヘッドがにある場合、真値または(割り当てを行う)を推測し、2番目のテープに書き込みます。またはが見つかった場合、その変数には既に値が割り当てられています。1 i x i 1 i 0 + + +1ixi1i0++
  • どちらの場合も、内部ロジックを使用して、NTMは2番目のヘッド(割り当て)の下の真理値を最後に見たまたはと一致させます。それらが一致する場合、句は満たされます。+
  • 次に、2番目のヘッドが右端のセルに戻ることができます。
  • 内部ロジックにより、最初のヘッドが入力の終わりに向かって移動している間にすべての句が満たされた場合、NTMは追跡を続けることができます。

例:

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)

時間は短縮できます節表現にいくつかの冗長なシンボルを追加する場合:|x|

+1i0i,1j0j,+1k0k...+++

(は式の終わりを示します)+++

この方法で、2番目のヘッドは左端のセルに戻り、最初のヘッドは部分をスキャンします。使用句の区切りとして、および式の最後のマーカーとしては、我々は、句ごとにリテラルの任意の数とCNF式に同じ表現を使用することができます。0i+++++


1
単項表現は明確であるため、+ /-に0/1を使用して、最初の例に011011110111110を指定できます。それ以外の場合は000は発生しないため、00は節終了マーカーとして機能します(00が発生する場合、変数と次の符号の終了マーカーであるため、次のシンボルは1でなければなりません)。単一のワークテープには、変数への推測されたビット割り当てが含まれています。変数が読み取られると、ワークヘッドは前方に移動し、0が表示されると先頭に戻ります。そのため、入力の各ビットに対して最大でステップです。vv2
アンドラスサラモン

2
つまり、一方向の入力テープと単一のワークテープを備えたNDTMでさえ、ブールアルファベットでエンコードされた単項SATに対して最大ステップを使用します。2n
アンドラスサラモン

1
物事をよりきれいにするために、入力に、変数の数が単項で指定されたプレフィックスが最初に含まれることをさらに要求できます。これにより、プレフィックスの読み取り中に推測を構築できます。これは、式で各変数が少なくとも1回出現し、変数に0〜v番号が付けられている限り、標準のSATインスタンスでは最大で2次のサイズの一種の「単項SATLIB」エンコーディングです。これらは合理的な要件のようです。vv1
アンドラスサラモン

1
@AndrásSalamon:いいね!エンコードとモデル(一方向読み取りテープ+双方向ワークテープ)を修正すると、サイズ入力で最悪の実行時間が得られます。ここで、は、TM内部ロジックに固定ストレージを埋め込んで任意に大きくすることができます。入力テープの一方向性とセクション横断引数を使用して何かを証明できるかどうかを調べるのは興味深いかもしれません。2ncnc
マルツィオ・デ・Biasi

1
はい、私ができる限り、単項SATの時空間積は標準引数でようなものです。変数の単項表現は、最もよく知られている下限と単純な CNF-SATの上限(ただし、その場合のより良いアルゴリズムは、ギャップも減らすことができます)。Ωn2/logn 1 + εOn3/logn ε Θ(nn)Ω(n2/(logn)1+ε)O(n3/(logn)ε)
アンドラスサラモン

2

正確にあなたが探しているものではありませんが、1-テープNTMの場合、答えは否定的なようです:SATは非決定的な線形時間で1-テープNTMによって解決できません。

このペーパー(定理4.1)によると、正規言語のクラスは、正確には1テープNTMが時間認識する言語のクラスです。したがって、時間でSATを解く1テープNTMが存在する場合、SAT(より正確には、CNFの充足可能な式のセット)は正規言語であり、したがって決定論的定数空間で解ける。o n log n o n log n REG o(nlog(n))o(nlog(n))


5
その定理は、1ヘッドのチューリングマシンに関するものです。たとえば、2ヘッドチューリングマシンは、線形時間および一定の空間で回文言語を簡単に決定できます。)

これは素晴らしい!どうもありがとうございました。しかし、私は2テープの場合に最も興味があります。:)
マイケル・ウェハ

2
@Rickyが書いたように。知る限りでは、SATが決定論的な線形時間であることがわかっていることと一致しています。そうでないことを証明するには、SATの超線形時間の下限が必要になりますが、1つはありません(1に近いようには見えません)。
カベ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.