0

我有一个 DFA 问题,我需要使用 JFLAP 为自动机创建图表。我已经成功地完成了一个更简单的问题,但是我不知道如何解决这个问题:

“一个接收“1”和“2”值序列的 DFA,只接受结果为 4 的序列。任何其他结果大于或小于 4 的组合都将被拒绝。

字母表是 {1,2},据我所知,这些是可以接受的可能组合:

1111、22、121、112、211

任何帮助将不胜感激。谢谢你。

4

1 回答 1

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
于 2019-11-01T18:25:50.260 回答