我遇到了DFA问题,需要使用JFLAP为自动机创建图表。我已经成功地完成了一个更简单的问题,但是我只是想不通如何解决这个问题:
“接收到值分别为“ 1”和“ 2”的序列的DFA,仅接受结果为4的序列。任何其他结果大于或小于4的组合都将被拒绝。”
字母为{1,2},据我所知,这些是可能会接受的组合:
1111,22,121,112,211
任何帮助将不胜感激。谢谢。
答案 0 :(得分:0)
这种有限语言的DFA看起来很像这样:
1 1 1 1
----->q----->q1----->q11----->q111----->q1111
| | | | |
| 2 | 2 | 1 | 2 | 1,2
| | | | |
V 1 V 1 V | |
q2----->q21----->q211 | |
| | | | |
| 2 | 2 | 1,2 | |
| | | | |
V | | | |
q22 | | | |
| | | | |
| 1,2 | | | | +-----+
| | | | | | | 1,2
V V V V V V |
+-------+--------+------+---------+--------->qDead----+
另一种方法是只记住当前的总和:
1
----->q0----->q1
| /|
| / |
| / |
2 | 1 / | 2
| / |
| / |
| / |
|/ |
V 1 V
q2----->q3
| /|
| / |
| / |
2 | 1 / | 2
| / |
| / |
| / |
|/ |
V 1,2 V
q4----->qDead