【发布时间】:2019-01-06 07:18:52
【问题描述】:
非确定性 PDA 如何以及为什么比确定性 PDA 更强大?请解释一下。
【问题讨论】:
-
这个问题最好在cs.stackexchange.com问
-
请定义“PDA”。至少,一个维基百科链接会有所帮助。
标签: algorithm computer-science discrete-mathematics automata
非确定性 PDA 如何以及为什么比确定性 PDA 更强大?请解释一下。
【问题讨论】:
标签: algorithm computer-science discrete-mathematics automata
有些语言是非确定性 PDA 可以接受的,而确定性 PDA 是不能接受的。这种语言的一个简单例子是所有(为简单起见,比如说偶数长度)回文(比如说,在英语字母表上)的语言。在每一步,确定性 PDA 必须决定是将下一个符号推入堆栈还是将下一个符号与堆栈顶部的符号进行匹配。但是,这不可能正确完成,因为 DPDA 无法知道它位于字符串的中点。非确定性 PDA (NPDA) 的工作原理是在每个步骤中猜测它是输入的一半并在此基础上继续。它会做出很多错误的猜测,但其中一个猜测是正确的,如果字符串是回文,NPDA 将接受该分支上的字符串。由于 NPDA 在其中一个路径接受时接受字符串,这意味着 NPDA 可以正确接受该语言,但 DPDA 不能。
【讨论】: