我正在考虑所有可满足的命题逻辑公式SAT的语言(为确保它具有有限的字母,我们将以某种合适的方式对命题字母进行编码[编辑:答复指出,在各种编码,因此需要更具体-参见下面的结论])。我的简单问题是
是SAT上下文无关的语言?
我的第一个猜测是,今天(2017年初)的答案应该是“没人知道,因为这与复杂性理论中尚未解决的问题有关”。但是,这也不是真的(请参阅下面的答案),尽管也不是完全错误的。这是我们所知道的事情的简短摘要(从一些显而易见的事情开始)。
- SAT不是常规的(由于命中括号,甚至命题逻辑的语法也不常规)
- SAT是上下文相关的(不难为其提供LBA)
- SAT是NP完全的(Cook / Levin),尤其是由多项式时间内的不确定TM决定。
- SAT也可以通过单向非确定性堆栈自动机(1-NSA)进行识别(请参阅WC Rounds,中级语言的识别复杂性,《交换与自动机理论》,1973,145-158 http://dx.doi.org/ 10.1109 / SWAT.1973.5)
- 与上下文无关的语言的单词问题具有其自己的复杂度类(请参阅https://complexityzoo.uwaterloo.ca/Complexity_Zoo:C#cfl)
- ,其中 LOGCFL是类的问题LOGSPACE还原为 CFL(见https://complexityzoo.uwaterloo.ca/Complexity_Zoo:L#logcfl)。据了解, NL ⊆ LOGCFL。
- NC 1 ⊊ PH NP LOGCFL LOGCFL
但是,最后一点仍然可能使SAT不在。通常,我对与层次结构之间的关系了解不多,这可能有助于阐明我的问题的认知状态。灯节能灯NC
备注(在看到一些初始答案之后):我并不期望该公式为合取范式(这不会对答案的本质造成影响,并且由于CNF也是一个公式,因此通常仍然适用论点。但是声称问题的常量数版本是常规的失败,因为语法需要括号。)
结论:与我的复杂性理论启发的猜测相反,我们可以直接证明SAT不是上下文无关的。因此,情况是:
- 众所周知,SAT是不是上下文无关的(换句话说:SAT不在),这种假设是假设人们使用公式的“直接”编码,其中命题变量由二进制数字标识(还有一些进一步的符号用于运算符和分隔符)。
- 尚不知道SAT是否位于,但“大多数专家认为”并非如此,因为这意味着。这也意味着未知SAT的其他“合理”编码是否与上下文无关(假设对于NP难题,我们认为logspace是可接受的编码工作)。P = NP
请注意,这两点并不意味着。这可以通过显示中的语言(因此在)不是上下文无关的语言(例如)直接显示出来。大号LOGCFL 一个Ñ b Ñ Ç Ñ