Пример 3. Способы задания автоматов

Способы задания автоматов

Существуют следующие способы задания абстрактных автоматов: табличный, графический и матричный.

Табличный способы задания автомата

Задание автомата Мили.

Таблица 2. Задание автомата Мили

X S X1 X2 ... XM
S0 d(S0,X1)/l(S0,X1) d(S0,X2)/l((S0,X2) ... d(S0,XM)/l(S0,XM)
S1 d(S1,X1)/l(S1,X1) d(S1,X2)/l(S1,X2) ... d(S1,XM)/l(S1,XM
...        
SK-1 d(SK-1,X1)/l(SK-1,X1) d(SK-1,X2)/l(SK-1,X2) ... d(SK-1,XM)/l(SK-1,XM)

Строкам таблицы 2 соответствуют состояния, столбцам – входные сигналы (буквы). На пересечении i -й строки и j -го столбца записывается состояние, в которое автомат переходит из состояния Si при подаче на его вход Xj и выходной сигнал Yp, который вырабатывается при данном переходе.

Иногда автомат задают в виде двух таблиц – таблицы переходов и таблицы выходов. В таблице переходов на пересечении строк и столбцов записываются следующие состояния, в таблице выходов – соответствующие данным переходам выходы.

Задание автомата Мура. В общем случае автомат Мура представлен отмеченной таблицей 3 переходов. Строки таблицы, соответствующие состояниям, отмечены выходными сигналами.

Таблица 3. Задание автомата Мура

Вход Выход Состояние X1 X2 ... XM
l(S0) S0 d(S0 ,X1) d(S0 ,X2)   d(S0 ,XM)
l(S1) S1 d(S1,X1) d(S1,X2)   d(S1 ,XM)
...          
l(Sk-1) Sk-1 d(Sk-1,X1) d(Sk-1,X2)   d(Sk-1,XM)

Задание автомата в виде ориентированного графа

Задание автомата Мили. Вершинам графа ставятся в соответствие состояния автомата, а ребрам – переходы. Стрелка указывает направление перехода. Вершины отмечаются состояниями; на ребре указывается входной сигнал, вызывающий данный переход, и выходной сигнал, вырабатывающийся при данном переходе.

Пример 2.

X = {X1, X 2, X3 }; Y = { Y1, Y2, Y3, Y4 }; S = {S0, S1, S2, S3, S4}

Рис. 5.4. Граф автомата Мили

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

 
 


Рис. 5.5. Граф автомата Мура

Задание автомата в виде матрицы

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

Автомат Мили.

Если из состояния Si есть переход в состояние Sj под действием сигнала Xk и при этом вырабатывается сигнал YP, то на пересечении i -й строки и j -го столбца записываются входной и выходной сигналы XK/YP соответственно.

Пример задания автомата Мили (табл. 4), приведенного на рис. 4.

Таблица 4. Задание матрицей автомата Мили (рис. 4)

  So S1 S2 S3 S4  
So X3/Y1 X1/Y1 X2/Y2 - -
S1 X3/Y1 - X2/Y3 X1/Y2 -
S2 X2/Y4 X3/Y2 - - X1/Y3
S3 - X1/Y2 X1/Y2 - X2/Y4
S4 - - X3/Y1 X2/Y4 X1/Y1

Автомат Мура.

Для задания автомата Мура требуется две матрицы: матрица переходов и вектор выходных сигналов.

Пример задания автомата Мура, приведенного на рис. 5.

Таблица 5. Задание матрицей автомата Мили (рис. 5)

  So S1 S2      
So - X1 X2 So Y1
S1 - X2 X1 S1 Y2
S2 X1 - X2 S2 Y1

Другой формой матричного представления автомата являются матрицы переходов. Они описывают, как распределяются переходы для каждого входа отдельно. Каждому входу x ставится в соответствие матрица переходов Тx=|txj k|, в которой для каждого состояния имеется один столбец и одна строка; txjk=1, если вход x переводит автомат из состояния Sj в состояние Sk ;; txjk=0, если вход x переводит автомат из Sj в Sp (p = k).

Построим граф переходов детектора входных последовательностей нулей и единиц. Если на вход автомата поступает последовательность из четырех единиц, то на выходе автомата появляется “1”. Во всех остальных ситуациях на выходе автомата – “0”.

X = {0, 1}; Y = {0, 1}. Множество состояний, функцию переходов и функцию выходов определим при построении графа (рис. 5.6). S = {S0, S1, S2, S3}.

Состояние S0 является начальным и хранит информацию о том, что последний входной сигнал был нулем. Состояние S1 хранит информацию о том, что на вход детектора была подана одна единица, S2 – о том, что на входе две единицы, S3 помнит предысторию трех единиц.

Рис. 5.6. Автомат детектора входных последовательностей нулей и единиц


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: