我一直在试图找到一个超级简单的下推自动机解释。到目前为止,这是我想出的:
PDA 具有三个操作:
- 压栈;给定输入状态、输入符号和栈顶符号
- 从堆栈中弹出;给定输入状态、输入符号和栈顶符号
- 一个“切换”操作,用另一个符号替换栈顶;给定输入状态、输入符号和栈顶符号
PDA 有两种接受形式:
- 堆栈已被清空的操作
- 使堆栈返回到起始符号并处于可接受的最终状态的操作。
我想知道我的第二点是否正确。这是 PDA 接受字符串的仅有的两种方式吗?这些方式是否正确?我找到了大量的例子,但没有对这个想法进行超级简单的解释。