为什么在 PDA 中 a^nb^(2n) n ≥ 1 需要三个状态?

问题描述

我在网上找到了上述问题的答案,但不知道国家为什么需要q1 q2 q1。首先,网上的答案如下。

anb2n n ≥ 1 的 DPDA 每两个 a 将两个 a 推入堆栈,因为一个 'a' 有两个 b 因此,通过推动两个 'a',我们可以为每个 'b' 设置 'a'。 我们将通过推送两个 a 并为每个 b 弹出 a 来实现 然后为每个 d 推送 c 和弹出 c 所以在字符串的最后,如果 STACK 中没有任何东西,那么我们可以说 PDA 接受了语言。

δ(q0,a,Z) = (q0,aaZ)
δ(q0,a) = (q0,aaa)
δ(q0,b,a) = (q1,ε)
δ(q1,ε) δ(q1,ε,Z) = (qf,Z)

我想到的答案如下。

δ(q0,ε)
δ(q0,ε)

很容易想到如何填充和清空堆栈以形成 pda,但我不确定需要多少状态以及何时更改。感谢您让我知道这部分。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...