(a+b)*和(a.b)*的过渡状态图是什么?我对这两种状态图有点困惑。我发现他们俩都一样。
发布于 2014-08-13 15:41:48
假设有颜色的状态是开始状态和接受状态。(a+b)*可以理解为“0或多个a's和b's的任意顺序。”(a.b)*可以理解为“零个或多个a's和b's的顺序。”注意,如果序列中断,节点3以死状态存在以拒绝匹配。

发布于 2014-08-13 15:40:24
假设+表示合并和。意为级联:
(a+b)*
q s q'
-- -- --
q0 a q0
q0 b q0
(q0 is accepting)
(a.b)*
q s q'
-- -- --
q0 a q1
q0 b q2
q1 a q2
q1 b q0
q2 a q2
q2 b q2
(q0 is accepting; q2 is a dead state)注意,(a+b)*描述a和b的所有字符串,因此我们只需要一种状态;没有字符串被拒绝。另一方面,a和b的字符串不匹配(a.b)*;我们以三种状态结束,因为:
https://stackoverflow.com/questions/25289642
复制相似问题