“定理把上下文无关文法的生成视角与下推自动机的运行视角统一起来。可用文法闭包与范式证明语言性质,也可用栈机器设计识别算法。”
“CFG–PDA 等价定理断言:语言 $L$ 能由某个上下文无关文法生成,当且仅当存在非确定性下推自动机接受 $L$。等价的是语言表达能力,不是推导树、运行次数或表示大小。下面给出双向构造的核…”
模型Model
施工中 · 内容逐步修订
Pushdown automaton · PDA
带无界栈存储的有限控制自动机。
非确定性下推自动机(PDA)是在有限状态控制上增加一条栈的模型,可定义为七元组
其中
的值是有限个可选动作组成的集合。配置写成
标准接受方式可取存在一条读完输入后到达终态的运行,或对 NPDA 取读完输入且栈为空;二者在适当构造下等价。停在终态但输入尚未读完不算接受,某条分支失败也不排除另一条分支成功。
PDA 只有有限控制加一条后进先出、深度无界的栈,不能随机访问栈内部。
有限自动机只能保留有限摘要,PDA 的栈则能记住无界但严格嵌套的信息。读左括号时压栈,读右括号时弹栈;最近打开的结构必须最先关闭,恰好匹配后进先出。非确定性还允许机器猜测输入的阶段或文法产生式。栈不是一条任意工作带:只能看和修改顶部,因此 PDA 的能力仍弱于图灵机。
识别 a 时每次压入标记 b 阶段后每读一个 b 弹出一个 aabb 的关键配置是
再用不读输入的动作进入终态;空输入需另设接受路径。图画的是 aaabbb,比此轨迹多压入并弹出一个 aab,读完后还剩 aabbb,多出的 b 无法再弹出 a,否则只检查总数会误收 abab。平衡括号同样在左括号压栈、右括号检查并弹出匹配类型。
边界语言
非确定性在这里也不是“免费的”:DPDA识别的语言严格少于 NPDA 识别的全部上下文无关语言,不能把 DFA 与 NFA 的等价结论直接搬到下推自动机。
在语言表达能力上,非确定性 PDA 与上下文无关文法等价:文法推导可由栈模拟,PDA 的接受计算也可编码为变量与产生式。转换可能显著增大表示,且确定性 PDA 并不覆盖全部上下文无关文法。
CFG–PDA 等价定理把两态空栈机器完整转换为八个三元变量:每个变量只描述首次露出未触动下层栈的运行段,双向归纳证明生成语言保持。它还说明为什么没有终结基例的变量即使有递归规则也不能生成任何字。DPDA限制每个配置的选择,得到严格更小但适合确定解析的语言类。
调用栈、递归下降解析、括号检查和嵌套协议监视都体现 PDA 结构;解析器实现常把文法推导状态与显式栈结合。
正在载入交互图谱…
上位 / 更一般
暂未标注直接上位概念。
下位 / 直接特例