构建确定性下推自动机时,每个州都可以成为最终状态吗?
我遇到了麻烦,特别是构建了一个接受以下语言的DPDA:
L = {0 n 1 m | n≥m}
我的方法是使初始状态成为一个最终状态,可以将0推送到堆栈以获得输入0,然后转换到另一个最终状态,该状态可以从堆栈中输出0来输入1。我相信这个解决方案是正确的,但每个州都成为最终状态似乎并不常见,我想验证我的方法是否有效。
这是正确的做法吗?我可以将这两个州作为最终州吗?这是我的DPDA的精确过渡函数δ。
δ(q 0 ,0,Z 0 )= {(q 0 ,0 Z 0 )}
δ(q 0 ,0,0)= {(q 0 ,0 0)}
δ(q 0 ,1,0)= {(q 1 ,ε)}
δ(q 1 ,1,0)= {(q 1 ,ε)}
答案 0 :(得分:1)
当然,每个州在确定性下推自动机中都是最终的。 你的方法对我来说似乎是对的。根据您对确定性的定义,可能还需要添加一个转换,该转换处理在状态q_1中读取0以便具有总转换函数的情况(但这取决于您的上下文中定义的确定性是什么) 。)