Skip to content

下推自动机

Pushdown automaton · PDA

带无界栈存储的有限控制自动机。

条目类型
模型

形式陈述

非确定性下推自动机(PDA)是在有限状态控制上增加一条栈的模型,可定义为七元组

M=(Q,Σ,Γ,δ,q0,Z0,F),

其中 Q 是有限控制状态,Γ 是栈字母表,Z0 是初始栈符号,转移关系

δ:Q×(Σ{ε})×ΓPfin(Q×Γ)

依据当前状态、可选输入符号与栈顶,改变状态并用一个栈串替换栈顶。标准接受方式可取读完输入后到达终态,或对 NPDA 取空栈接受;二者在适当构造下等价。

PDA 只有有限控制加一条后进先出、深度无界的,不能随机访问栈内部。

直觉

有限自动机只能保留有限摘要,PDA 的栈则能记住无界但严格嵌套的信息。读左括号时压栈,读右括号时弹栈;最近打开的结构必须最先关闭,恰好匹配后进先出。非确定性还允许机器猜测输入的阶段或文法产生式。栈不是一条任意工作带:只能看和修改顶部,因此 PDA 的能力仍弱于图灵机。

PDA 识别 a^n b^n 的栈轨迹
例子与边界

识别 {anbn:n0} 的 PDA 在读 a 时每次压入标记 A,首次进入 b 阶段后每读一个 b 弹出一个 A;输入结束且栈回到底符号时接受。平衡括号同样在左括号压栈、右括号检查并弹出匹配类型。

边界语言 {anbncn:n0} 需要同时保留两次独立的无界匹配,一条普通栈不足。PDA 也不能在不破坏上层内容的情况下读取栈底附近数据;把栈误作可随机访问数组会高估模型能力。

非确定性在这里也不是“免费的”: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。
关系图谱7 个相邻概念 · 3 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
分类位置

上位 / 更一般

暂未标注直接上位概念。

下位 / 直接特例

类型化关系

限定层次等价