SATは文脈自由言語ですか?


12

私はすべての充足可能な命題論理式の言語、SATを考えています(これが有限のアルファベットを持っていることを保証するために、私たちは何らかの適切な方法で命題文字をエンコードします[編集:エンコーディングが異なるため、より具体的にする必要があります以下の私の結論を参照してください)。私の簡単な質問は

あるSATは、文脈自由言語?

私の最初の推測は、今日(2017年初頭)の答えは「これは複雑性理論の未解決の問題に関連しているため、誰も知らない」ということでした。ただし、これは完全に偽ではありませんが、実際には真実ではありません(下記の回答を参照)。ここに、私たちが知っていることの簡単な要約を示します(いくつかの明らかなことから始めます)。

  1. SATは規則的ではありません(括弧が一致するため命題論理の構文でさえ規則的ではないため)
  2. SATは状況依存です(それにLBAを与えるのは難しくありません)
  3. SATはNP完全(クック/レビン)であり、特に多項式時間で非決定的なTMによって決定されます。
  4. SATは、一方向の非決定的スタックオートマトン(1-NSA)でも認識できます(WCラウンド、中間レベル言語での認識の複雑さ、スイッチングとオートマトン理論、1973、145-158 http://dx.doi.org/を参照してください)10.1109 / SWAT.1973.5
  5. コンテキストフリー言語の単語の問題には、独自の複雑度クラスCFLhttps://complexityzoo.uwaterloo.ca/Complexity_Zoo:C#cflを参照)
  6. LOGCFLは、問題のクラスであるが、に還元LOGSPACE CFL(参照https://complexityzoo.uwaterloo.ca/Complexity_Zoo:L#logcfl)。これは、ことが知られている NLLOGCFLCFLLOGCFLAC1LOGCFLCFLNLLOGCFL
  7. これは、かどうかは知られていないまたは(実際には、でも開いている、私は思いますこれは、S。アロラ、B。バラク:計算の複雑さ:モダンアプローチ ; Cambridge University Press 2009)から入手しました。したがって、にないことがわかっている完全な問題はありません。したがって、SATがある場合は不明である必要があります。NLNPNL=NPNC1PHNPLOGCFLLOGCFL

ただし、この最後の点では、SATがにないことがわかっている可能性が残っています。一般に、質問の認識状態を明確にするのに役立つ可能性のあるNC階層とCFLの関係についてはあまり見つけることができませんでした。CFLCFLNC

備考(最初の回答を見た後):論理式が連言標準形になるとは思っていません(これは回答の本質に違いをもたらさず、CNFも数式であるため、通常は引数が適用されます。構文に括弧が必要なため、問題の変数の定数バージョンは定期的に失敗すると主張します。

結論:私の複雑性理論にヒントを得た推測に反して、SATはコンテキストフリーではないことを直接示すことができます。したがって、状況は次のとおりです。

  1. 命題変数が2進数で識別される式の「直接」エンコーディング使用するという仮定の下で、SATコンテキストフリーでないことが知られています(言い換えると、SATありません)演算子および区切り文字用)。CFL
  2. SATに含まれているかどうかはわかりませんが、「ほとんどの専門家はそうではない」と考えています。これは、P = NPを意味するからです。これはまた、SATの他の「合理的な」エンコーディングがコンテキストフリーであるかどうか不明であることを意味します(NP困難な問題の場合、ログスペースは許容可能なエンコーディング作業であると想定します)。LOGCFLP=NP

これら2つの点が意味するものではありませんのでご注意。これは、コンテキストフリーではない言語(たとえば、a n b n c n)がLにある(したがってLOGCFLにある)言語があることを示すことで、直接表示できます。CFLLOGCFLLLOGCFLanbncn


もしそうなら、P = NP。
ライアン

1
SATがコンテキストに依存しない場合、動的プログラミング(CYKアルゴリズム)は、SATのメンバーシップをテストするための多項式時間アルゴリズムを提供し、P = NPを提​​供します。P = NPでさえ、SATがコンテキストフリーであることを意味しません。この変数のエンコードは、クレジットを与えるよりも重要であると思われます。詳細はわかりませんが、変数に単項またはバイナリの「添字」を追加すると、十分な大きさのインデックスで(xとy)を(xとyではなく)区別できなくなると思います。
AdamF

P = NP結論を主張する前に、表現について正確にする必要があります。たとえば、数Nの因数分解はNの多項式時間です(興味深い質問は、Nをバイナリで書き込むために必要なビット数、またはlog Nに関するものです)。
アリーエ

P = NPの結論を知っていたので、その答えは「はい」になるとは予想されていませんでした(これをどのように表現したかについて少し挑発的になって申し訳ありません;-)。これが本当に知られているのか、それとも単に「ほとんどの専門家が信じる」ものなのか疑問に思っていました(答えは、前者が真実であることを明確に示しています。
mak

回答:


7

よく知られている結果を組み合わせて使用​​する単なる代替の証明。

仮定:

  • 変数は正規表現d = + |1 0 | 1 ∗で表されますd=(+|)1(0|1)
  • そして(すなわちレギュラー)言語(上 CNF式を表すために使用される:S = { D +D + *D +d + } ; Sは変数の名前変更まで有効なCNF式をすべて取得することに注意してください。Σ={0,1,+,,,})S={d+(d+)((d+(d+)))}S

例えば、のように書かれている:S φ = + 1 + 10 - 11 Sは∨のオペレータが優先され)。φ=(x1x2)x3sφ=+1+1011S

仮定する st対応する式 φは充足可能 }はCFです。L={sφSφ}

私たちは正規言語でそれを交差する場合:我々はまだCF言語を取得します。準同型写像を適用することもできます:h + = ϵh = ϵそして言語はCFのままです。R={+1a1b1ca,b,c>0}h(+)=ϵh()=ϵ

しかし、我々は得る言語である:、場合ため= Bは、次いで、 "ソース"式である+ X- X A- X満足できないb(同様にa = cの場合)。しかし、L はよく知られている非CF言語矛盾です。L={1a1b1cab,ac}a=b+xaxaxba=cL


他のアプローチにはまだ未解決の問題があるため(コメントを参照)、この基本的な議論が好きなので、この回答を受け入れました。引数は選択したエンコーディングに固有のものであり、コンテキストフリー言語につながる別の単純な(ログスペース)エンコーディングを見つけることができるかどうかは確かに不明であると強調するのはいいかもしれません。
mak

1
@mak:SATの他の「合理的な」エンコーディングは、同様の手法で非CFであることが証明できると思います。おそらく、別の興味深い方向は、より一般的な証明を得るために何らかの対角化を適用できるかどうかを研究することです:SAT式は、与えられた入力でプッシュダウンオートマトンをシミュレートする計算をエンコードし、そうでない場合にのみ充足可能ですtそれを受け入れます。しかし、それだけでファジーアイデアだ...
マルツィオ・デ・BIASI

文字列が通常の言語であるかどうかの確認はPにあります。SATがRegにあったと仮定します。次に、NP = coNP。LをReg。Lにない場合は、式が真であると考えてください。NPにあるので、SAT式として表現できます。そうでない場合は、言語で行われます。
カヴェー

5

変数の数が有限であれば、充足可能な接続詞の数も有限であるため、SAT言語は有限です(したがって、規則的です)。[編集:この主張はCNFSAT形式を前提としています。]

そうでなければ、レッツのようなエンコード式に同意によって17 + (x17¬x21)(x1x2x3)Ogdenの補題 を使用して、すべての充足可能な接続詞の言語がコンテキストに依存しないことを証明します。(17+~21)(1+2+3)

ましょうオグデンの補題で「マーキング」一定であること、およびSAT-式を考えるwは、その最初の句は、から成る1 、P -である、のエンコーディングX N、ここでNは、からなる小数点数であるPもの。我々はマークのpのもの1つのpは、その後の適切な分解のすべてpumpingsことを必要とし、wは(オグデンの補題の結論を参照)も満足できること。ただし、x qを含む句を要求しないことで、これを簡単にブロックできます。ここで、qpw(1p)(xN)Npp1pwxqq pよりも短く、充足可能です。たとえば、 wの他のすべての節がそのようなすべての x qの否定を持つようにすることによって。これは、 wが「ネガティブポンピング」プロパティに失敗することを意味し、言語はコンテキストに依存しないと結論付けます。[注:ポンピングが不正な形式の文字列を生成するという些細なケースを無視しました。]1pwxqw


注:変数の有限数の言語が有限であることを私の主張では、私は暗黙のうちに句や節際限多くの時間内に変数を繰り返し禁止しています
Aryeh

...しかし、「本質的に異なる」(つまり、些細な繰り返しなし)数式の有限コレクションを取得し、さまざまな繰り返しを許可するため、言語はまだ規則的だと思います。
アリーエ

規則性のある主張は、CNFSATに対してのみ機能します(質問に説明を追加しました)。
mak

4
有限数の変数に含まれる任意の非CNF式であっても、充足可能性(および2つの論理的に同等の式を区別できない言語)は、コンテキストフリーであると容易に見なされます。ただし、これの関連性はわかりません。有限個の変数での式の充足可能性は、SATの複雑さとは関係のない些細な問題です。
エミールイェジャベク3.0

1
OK、問題がわかりました。暗黙のうちに文字列内のその位置について何かを指定することもできる一方で、長さを制限することができます(古典的なポンピング補題のように)。議論は、ポンピング補題をゼロからやり直すことで解決できると思います。その最初の変数を1の非常に長いシーケンスにします-それらの1の連続した部分文字列を生成するサブツリーが、pidgeonhole原則が適用されるのに十分に深くなければならないほど長くします。|バツyz|
アリーエ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.