Рисование простого недетерминированного конечного автомата (NFA) - PullRequest
0 голосов
/ 27 марта 2012

Как мне нарисовать NFA (автомат) для этого вопроса?

Сначала он должен принять:

  • алфавит = х, у, z

  • L = {w | w такой, что одно из числа вхождений x, y, z кратно трем. }

Например: {xxx, гггг, zzz, xyxyzzz, xyxyx, zyzyz ...}

1 Ответ

2 голосов
/ 27 марта 2012

Сначала давайте начнем с более простого вопроса:
Как бы вы нарисовали этот автомат для L '= {a n | n% 3 == 0}?

Вы бы нарисовали автомат с 3 состояниями - по одному для каждого возможного модуля, и итерировали бы между ними для каждого появления a. Принимающим государством будет состояние, обозначенное как 0.

Теперь, после установления этого - для вашей задачи вам нужно иметь 3 3 состояний для вашего автомата - все возможные кортежи для (x,y,z), где x, y, z находятся в {0,1, 2}.

Ваша цель сейчас - понять, какой будет ваша лямда? Поскольку это ваша домашняя работа, я не буду давать полный ответ, только подсказка:

Если вы видите x и находитесь в состоянии (a,b,c) - вы хотите перейти к (a+1 %3 ,b,c)

Также подумайте - каковы принимающие государства? подсказка: каково было состояние принятия для упрощенного L'?

приложение : автомат для L', как описано выше.

L' automaton

...