通过练习测试准备我的cs理论考试。在问题上,我需要说明语言所属的“区域”(RL / DFSA / NFSA)/(CFG / CFL / NPDA)/(NP)/(EXPTIME)/(DL / DTM / NDTM)/( TR) 我意识到我不知道如何证明一种语言会超过(CFG / CFL / NPDA)区域。这里有2个问题(3和5),我知道不能在那个区域,因为它们会因为没有上下文的语言而导致泵浦引理失败,我怎样才能确定它们属于哪个区域呢?
编辑:答案是3和5都属于NP,但为什么?
答案 0 :(得分:1)
您声明您可以证明3和5不在NPDA区域。从那里接。你继续下一个,NP。在这里,您可以使用各种限制性的图灵机。
我可以用对数空间识别线性时间的语言3。计算一个符号。计算b符号。计算c符号。比较计数。这是对数据的线性扫描加上二进制数的比较(小于输入长度的线性时间)。线性时间是NP的子集。你的教授要求你有多详细(即你是否需要明确引入第三个字母符号来分隔你的计数?你需要说明如何比较二进制数吗?)?
要解决5,你需要知道二进制乘法的界限。计数a,计数b,计数c。将a的计数乘以b的计数。将结果与c的计数进行比较。这是对输入的线性扫描以及二进制乘法的复杂性(但请记住,您乘以的数字是log(n)位)。由于你的区域不是很严格,所以至少要说我们受到多项式时间的约束。由于P是NP的子集,我们就在那里。
高于此值,我希望您能够对问题进行更多冗长的描述。我假设PSPACE在你的EXPTIME区域,并且想到的典型示例是量化的布尔公式。它有点像SAT(库克定理证明SAT是NP-Hard),但有量词。有一个很好的证据表明QBF是PSPACE完成的,这与Cook的定理非常类似。我猜测你的上下文敏感语言显然不属于另一个区域的子集,也属于这里(如果你得到该语言的生产规则描述)。
下一个区域是暂停的图灵机器。如果你可以描述一个算法,无论多么荒谬(并且必须是荒谬的,或者它会被前一个区域捕获),它就可以在这里停止。
下一个区域是赖斯的定理。维基说那个坏男孩。 Rice的定理再次证明了所有的证明。这个区域比为第一个区域提供正则表达式或FSA更容易。