(a^nb^n)^mc^m 的下推自动机
我一直在为这个自动机构建转换函数。
我想我应该为每个 a 堆叠一个 1 并为每个 b 取消堆叠
c 的数量等于 ab 对的数量,所以我认为我应该为遇到的每个 b 堆叠一个 0 。问题是:如何同时取消堆叠 1 和添加 0?
I'm stuck building the transition functions for this automaton.
I suppose I should stack a 1 for each a and unstack it for each b
The number of c's equals the number of ab pairs, so I think I should stack a 0 for each b I encounter. Thing is: how do I unstack 1s and add 0s at the same time?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不要在每次遇到
b
时将0
压入堆栈。相反,每次遇到b
并且堆栈为空或堆栈顶部为0
时,将0
压入堆栈。因此,使用
aabbabcc
的命名法:堆栈为空,因此我们接受此字符串。
Don't push a
0
onto the stack each time you encounter ab
. Instead, push a0
onto the stack each time you encounter ab
and the stack is empty or the top of the stack is a0
.So, using your nomenclature for
aabbabcc
:Stack is empty so we accept this string.