Абстрактная и структурная теории конечных автоматов. Структура операционного устройства. Способы задания автоматов, страница 16

Абстрактный синтез автомата, производится в два этапа. 

На первом этапе выполняется отметка закодированного графа алгоритма символами а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 из состояния aв состояние as под действием входного сигнала X(am,as) =  с  выдачей  выходного  сигнала Y(am,as) = Ym .

4) Каждому пути перехода вида Ym поставим в соответствие переход автомата S из состояния am в состояние as под действием входного сигнала 1 с выдачей выходного сигнала Y(am,as).

5)  Каждому пути перехода вида поставим в соответствие переход из am в ai. При этом выходной сигнал полагаем равным Y0 (пустая микрокоманда).

В результате получаем автомат, имеющий столько же состояний, сколько символов потребовалось для отметки входов вершин графа алгоритма.

Построим таблицу переходов и выходов автомата по отмеченному графу алгоритма, изображенному на рис.3.1. В этом случае имеем следующие пути переходов:

x 2x1x3Y- переход из a1 в a1;

x23Y,    2Y1    - переходы из a1 в a2 ;

x1Y4,    13Y5,    1x3 - переходы из a2 в a1 .

Таблица переходов

a 1

a 2

z 1 = x 1x2x 3

a 1

-

z 2 = x2

a 2

-

z 3 =

a 2

-

z 4 = x1

-

a 1

z5=

-

a 1

 z6 =

-

a 1

Таблица выходов


Строим таблицы переходов и выходов, отмечая черточками неопределенные переходы (рис.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