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