Детерминированные конечные автоматы на JFLAP - PullRequest
0 голосов
/ 30 октября 2019

У меня проблема с DFA, и мне нужно использовать JFLAP для создания диаграммы для автоматов. Я успешно выполнил более простую задачу, однако я просто не могу понять, как ее решить:

"DFA, который получает последовательности значений" 1 "и" 2 ", принимая только последовательности, которые в результатев 4. Любые другие комбинации, в результате которых больше или меньше 4, должны быть отклонены. "

Алфавит {1,2}, и, насколько я знаю, это возможные комбинации, которые будут приняты:

1111, 22, 121, 112, 211

Любая помощь будет очень ценится. Спасибо.

1 Ответ

0 голосов
/ 01 ноября 2019

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
...