我有一个关于将正则表达式转换为非确定性有限状态自动机的问题:
将(a * | b *)*转换为NFA。我的尝试如下:
我完全没有了吗?还是有点吗?
NB E => ε
答案 0 :(得分:3)
您的NFA与(a*|b*)*
的语言相同,所以答案是正确的。
但是,有许多NFA符合相同的语言,在您的情况下,可以删除至少三个epsilon箭头。不过,它不会比你的建议更正确。
还可以简化正则表达式(a*|b*)*
,而无需更改语义。例如。 (a|b)*
相当于(a*|b*)*
。如果你考虑一下,FA就可以这么简单: