我是新来的。我目前在理解DFA和NFA方面遇到一些困难。我有一张我无法做到的图画:
- 区分DFA或NFA
- 正式规范
- 如何使用GNFA算法给出正则表达式来获得最大标记?
如果我能够学习并获得有关如何理解这一点的解释,我将非常感激。
提前感谢您。
答案 0 :(得分:0)
DFA是确定的。 NFA是不确定的。通过查看状态图的箭头或过渡,您可以轻松查看状态图是DFA还是NFA。
在DFA中,每种类型的过渡函数都通过它将接受的语言的字母表中的符号进行记录。也就是说,每个符号都有一个固定的转换,而在NFA中,它们可能有多个转换,或者某些符号可能没有转换。
NFA具有以下属性:
对于您的图像,假设您的字母表是字符{a,b},您可以看到它是哪种类型。你能明白为什么吗?有些状态没有某些符号的转换。
GNFA有点复杂。这个想法是他们可以转换成正则表达式。您可以在线搜索有关此证明的信息。您还可以在线搜索DFA和NFA的正式定义。
来源:我的理论课,和 https://courses.engr.illinois.edu/cs373/sp2013/Lectures/lec04.pdf