具有2个状态的NPDA可能需要3个转换到最终状态

时间:2013-11-28 05:30:17

标签: automata state-machine formal-languages pushdown-automaton

enter image description here

假设我们想要绘制具有接受该语言L的两个NPDA状态的转换图。并且还要说这个NPDA将具有正好2个状态。我对此的想法是在第一个状态下做所有事情,然后使用第二个状态作为最后的结局。像这样:

enter image description here

但是我不确定lambda转换是否会导致q1或者是否有更好的方法可以做到这一点,这可能是一种更好的方法,因为我试图自己教这个。也许有人可以让我回到正轨?

1 个答案:

答案 0 :(得分:1)

你几乎得到了它。您刚刚错过n>=1要求,因为您当前的NPDA也会接受“acb”。并且您不需要(b,4)/ 5,因为无论如何都不会使用堆栈符号5.

所以你需要1到2之间的另一个堆栈符号来表示我们是否在“c”之前看过“b”。

q0-q0         q0-q1
(a,Z)/1Z     (b,3)/λ
(b,1)/2      (b,4)/λ
(b,2)/2      (b,5)/λ
(c,2)/3
(b,3)/4
(b,4)/5