首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么这不是CFG?

为什么这不是CFG?
EN

Stack Overflow用户
提问于 2013-01-16 02:23:12
回答 1查看 208关注 0票数 0

虽然这是this的翻版,但我说的是个人数字助理的设计。

现在,我知道我错了,因为这是一个广为人知的例子,但我在下面的PDA设计中哪里出了问题?

我想接受language {a^n b^n c^n: n>=0}

每次我遇到一个1时,我都会把两个a推入栈中,为b弹出一个,为c弹出一个,并检查我是否有一个空的栈。

(q0, a, Z) = (q0, 11Z)

(q0, a, 1) = (q0, 111)

(q0, b, 1) = (q1, delta)

(q1, c, 1) = (q2, delta)

(q2, delta, Z) = (q-Final, Z) (epsilon move)

Z is empty stack

这个PDA不接受这样的语言吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-16 02:26:16

您的PDA接受以下语言:

代码语言:javascript
复制
{a^n b^i c^j; n >= 0 and i + j = 2n}

它与上述语言的子集{a^n b^n c^n: n>=0}不同,特别是当i = nj = n时。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14344294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档