Абстрактный синтез автомата, производится в два этапа.
На первом этапе выполняется отметка закодированного графа алгоритма символами а1,а2,...аM по следующим правилам.
Для автомата Мили :
- символом а1 отмечается вход вершины, следующей за начальной, а также вход конечной вершины;
- входы всех вершин, следующих за операторными, кроме уже отмеченных символом а1, отмечаются а2,...аM, но не более, чем одним символом;
- входы различных вершин, за исключением конечной, должны быть отмечены различными символами.
Для автомата Мура :
- символом а1 отмечаются начальная и конечная вершины;
- различные операторные вершины отмечаются различными символами а2,...аM;
- все операторные вершины должны быть отмечены, но не более, чем одним символом.
После этого закодированный граф алгоритма становится отмеченным, что позволяет перейти ко второму этапу - получению абстрактных таблиц переходов и выходов. В качестве примера, рассмотрим отмеченный граф алгоритма для автомата Мили (рис.3.1).
Если идти от одной отметки аm к другой отметке as в направлении ориентации дуг графа алгоритма, выписывая содержимое лежащих на этом пути вершин, то каждому такому пути можно поставить в соответствие слово Yk , где = xiпри выходе из условной вершины по единице в соответствующем пути; =iпри выходе из условной вершины по нулю. Таким образом, путь вида Ym - это путь по графу алгоритма из одной отметки am в другую отметку as (допустимо am=as), содержащий точно одну операторную вершину.
Путь вида - это путь из некоторой отметки am в отметку ai, проходящий только через условные вершины.
Переход от отмеченного графа алгоритма к таблицам переходов и выходов автомата Мили выполним следующим образом :
1) Будем считать, что a1,a2,...am - состояния автомата.
2) Находим все пути переходов на отмеченном графе алгоритма. При этом, если имеется несколько вхождений символа в путь перехода, то все символы , кроме одного удаляются. Если в путь перехода входят как xk, так и , то такой путь перехода в дальнейшем не рассматривается.
3) Каждому пути перехода вида Ym поставим в соответствие переход автомата S из состояния am в состояние as под действием входного сигнала X(am,as) = с выдачей выходного сигнала Y(am,as) = Ym .
4) Каждому пути перехода вида Ym поставим в соответствие переход автомата S из состояния am в состояние as под действием входного сигнала 1 с выдачей выходного сигнала Y(am,as).
5) Каждому пути перехода вида поставим в соответствие переход из am в ai. При этом выходной сигнал полагаем равным Y0 (пустая микрокоманда).
В результате получаем автомат, имеющий столько же состояний, сколько символов потребовалось для отметки входов вершин графа алгоритма.
Построим таблицу переходов и выходов автомата по отмеченному графу алгоритма, изображенному на рис.3.1. В этом случае имеем следующие пути переходов:
x 2x1x3Y3 - переход из a1 в a1;
x23Y2 , 2Y1 - переходы из a1 в a2 ;
x1Y4, 13Y5, 1x3 - переходы из a2 в a1 .
Таблица переходов
Таблица выходов |
Строим таблицы переходов и выходов, отмечая черточками неопределенные переходы (рис.3.2).
a 1 |
a 2 |
|
z 1 = x 1x2x 3 |
Y 3 |
- |
z 2 = x2 |
Y2 |
- |
z 3 = |
Y 1 |
- |
z 4 = x1 |
- |
Y 4 |
z 5 = |
- |
Y 5 |
z 6 = |
- |
Y0 |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.