“定理把上下文无关文法的生成视角与下推自动机的运行视角统一起来。可用文法闭包与范式证明语言性质,也可用栈机器设计识别算法。”
形式陈述 ​
非确定性下推自动机(PDA)是在有限状态控制上增加一条栈的模型,可定义为七元组
其中
依据当前状态、可选输入符号与栈顶,改变状态并用一个栈串替换栈顶。标准接受方式可取读完输入后到达终态,或对 NPDA 取空栈接受;二者在适当构造下等价。
PDA 只有有限控制加一条后进先出、深度无界的栈,不能随机访问栈内部。
直觉
有限自动机只能保留有限摘要,PDA 的栈则能记住无界但严格嵌套的信息。读左括号时压栈,读右括号时弹栈;最近打开的结构必须最先关闭,恰好匹配后进先出。非确定性还允许机器猜测输入的阶段或文法产生式。栈不是一条任意工作带:只能看和修改顶部,因此 PDA 的能力仍弱于图灵机。
例子与边界
识别 a 时每次压入标记 b 阶段后每读一个 b 弹出一个
边界语言
非确定性在这里也不是“免费的”:DPDA 识别的语言严格少于 NPDA 识别的全部上下文无关语言,不能把 DFA 与 NFA 的等价结论直接搬到下推自动机。
推论与应用
在语言表达能力上,非确定性 PDA 与上下文无关文法等价:文法推导可由栈模拟,PDA 的接受计算也可编码为变量与产生式。转换可能显著增大表示,且确定性 PDA 并不覆盖全部上下文无关文法。
CFG–PDA 等价定理说明 PDA 恰好识别上下文无关语言。DPDA限制每个配置的选择,得到严格更小但适合确定解析的语言类。
调用栈、递归下降解析、括号检查和嵌套协议监视都体现 PDA 结构;解析器实现常把文法推导状态与显式栈结合。
参考资料
- John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation, 3rd ed., Pearson, 2006,Chs. 6–7。
- Michael Sipser, Introduction to the Theory of Computation, 3rd ed., Cengage, 2013,§2.2。