我对有限自动机完全陌生,并且有点难以理解这个话题。
我能够画出简单的但我有一个练习题,要求:
设计一个接受Σ= {0,1}的非确定性有限自动机。非确定性有限自动机应该能够确定最多有两个零和至少两个零的所有字符串。
我该怎么做?
答案 0 :(得分:0)
这是该语言的最小DFA(最小DFA是DFA是NFA):
0 0 0
----->(0,0)----->(1,0)----->(2,0)-------+
| | | |
| 1 | 1 | 1 | __
| | | | / \
V 0 V 0 V 0 V V | 0, 1
(0,1)----->(1,1)----->(2,1)----->dead--/
| | | ^
| 1 | 1 | 1 |
| | | |
V 0 V 0 V 0 |
(0,2)----->(1,2)----->(2,2)-------+
/ ^ / ^ / ^
1 | | 1 | | 1 | |
\_/ \_/ \_/
我们的想法是在看到(x,y)
个零和x
之后访问状态y
;如果你看到两个零并且你看到另一个零,那么通过转换到死状态来拒绝该字符串;如果你看过两个,你可以看到更多你喜欢的。 (x,2)
形式的国家正在接受。