非确定性PDA如何以及为什么比确定性PDA更强大?

时间:2019-01-06 07:18:52

标签: algorithm computer-science discrete-mathematics automata

非确定性PDA如何以及为什么比确定性PDA更强大?请解释。

1 个答案:

答案 0 :(得分:1)

有些不确定性PDA可以接受的语言却不能被确定性PDA接受。这种语言的一个简单示例就是所有(为简单起见,假设为偶数长度)回文(例如,在英文字母上)的语言。在每个步骤中,确定性PDA必须决定是将下一个符号推入​​堆栈还是将下一个符号与堆栈顶部的符号进行匹配。但是,由于DPDA无法知道它是否位于字符串的中点,因此无法正确完成此操作。非确定性PDA(NPDA)的工作原理是在每个步骤中猜测它已经输入了一半,并以此为基础进行操作。它将做出很多错误的猜测,但是其中一个猜测是正确的,并且如果字符串是回文,则NPDA将在该分支上接受该字符串。由于如果其中一条路径接受,则NPDA会接受字符串,这意味着NPDA可以正确接受语言,而DPDA则不能。