【问题标题】:How to create a pushdown automata which accepts a language?如何创建一个接受语言的下推自动机?
【发布时间】:2017-05-03 01:10:35
【问题描述】:

谁能解释一下如何为这种语言创建下推自动机。如果您能解释一下,我不明白该语言的集合符号也很棒。谢谢你

【问题讨论】:

  • 事情取决于您的 PDA 定义的细节,尤其是接受条件。从 q0 到 q1 的过渡应该弹出,而不是推送。我不确定所有 epsilon 转换的意义是什么。您需要一个接受状态还是通过空堆栈接受并且不再可能移动?可能您无法测试空堆栈;然后在初始步骤中,您可以按下“ac”,稍后当您从堆栈中读取 c 时,您知道您已经到达底部。

标签: computer-science state-machine automata computation-theory automata-theory


【解决方案1】:

符号的意思是:由所有以n个字母a开头,后跟m个字母b的单词组成的语言;此外,数字 n 和 m 不能相等。

用 PDA 接受这一点的明显方法是:从一开始,你读到的每一个 a,你就在堆栈上放一个;当您开始看到 b 时,对于您读取的每个 b,您都会从堆栈中删除一个 a。如果最后一个 b 删除了最后一个堆栈符号,那么 n=m 并且 PDA 应该拒绝;否则,如果单词来自 ab,它应该接受。

【讨论】:

  • 输入和输出在图中看起来正确吗?
猜你喜欢
  • 2020-08-06
  • 1970-01-01
  • 2020-07-27
  • 1970-01-01
  • 2015-01-20
  • 2019-10-19
  • 2019-04-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多