2011-05-09 126 views
0

我有一个关于将正则表达式转换为非确定性有限状态自动机的问题:转换RE - > NFA

将(a * | b *)*转换为NFA。我尝试如下:完全

enter image description here

上午我没谱?或者在那里?

NB E =>ε

回答

3

你NFA相同的语言(a*|b*)*匹配,所以答案是正确的。

但是,有很多NFA匹配相同的语言,在您的情况下,它可能会删除至少三个epsilon箭头。不过,它不会比你的建议更正确。

正则表达式(a*|b*)*也可以简化,而不改变语义。例如。 (a|b)*相当于(a*|b*)*。如果你仔细想想,FA可以这么简单:

Finite Automaton equivalent to (a|b)*