Способы задания конечных автоматов
Табличный способ. Автомат Мили может быть задан таблицей переходов, определяющей функцию переходов d, и таблицей выходов, определяющей функцию выходов l. Строки этих таблиц соответствуют возможным входным сигналам хf, а столбцы - возможным состоянием аm автомата. В таблице переходов (рис.2, a) на пересечении столбца аm и строки хf находится состояние as=d(аm, хf). В таблице, выходов (рис. 2,б) в аналогичной клетке помещается выходной сигнал yg=l(аm, хf). Как видно, здесь задан автомат, имеющий множества A={a0, a1, a2}; X={x1, x2}; Y={y1, y2, y3}.
Так как в автомате Мура выходные сигналы зависят лишь от состояния, то он задается одной так называемой отмеченной таблицей переходов (рис.2,^). В этой таблице над каждым состоянием
Рис.2
а, автомата, обозначающим тот или иной столбец таблицы, стоит соответствующий этому состоянию выходной сигнал
yg=l(am)
Графический способ. Этот способ основан на использовании направленных графов. Вершины графов соответствуют состояниям, а дуги - возможным переходам между ними. Две вершины аm, и аs графа соединяются дугой, направленной от аm, к аs, если существует переход as=d(аm, хf). Дуге автомата Мили приписывается входной сигнал хf, и выходной сигнал yg=l(аm). В автомате Мура выходной сигнал yg=l(аm) записывается внутри вершины аm. Графы автоматов Мили и Мура, заданных таблицами рис.2, представлены на рис.3.
Рис.3
Процедура синтеза конечного автомата в общем случае делится на два этапа: этап абстрактного синтеза и этап структурного синтеза. Содержанием первого этапа является построение графа или таблиц переходов и выходов и получение множества состояний А с минимальным числом членов [l]. Цель этапа структурного синтеза - построение схемы автомата на заданных логических элементах и элементах памяти.
Согласно теореме о структурной полноте [I] система элементов, из которых может быть построена схема любого конечного автомата, должна содержать логические элементы базиса и в качестве элемента памяти - автомат Мура, обладающий полнотой переходов и выходов. Полнота переходов в автомате означает, что для любой пары состояний существует входной сигнал, который переводит автомат из одного состояния в другое. Иначе говоря, в каждом столбце таблицы переходов должны встречаться все состояния автомата. Полнота выходов означает, что каждое возможное состояние автомата отмечет отличным от других выходным сигналом.
В качестве элементов памяти широко используются элементарные автоматы Мура с двумя состояниями. Каждый из таких автоматов выдает два различных выходных сигнала, соответствующих двум его различным состояниям. В дальнейшем указанные состояния и соответствующие им выходные сигналы будут обозначаться одной буквой Q и кодироваться цифрами 0 и I (QI{0,1}).
Элементарный автомат может иметь в общем случае несколько физических входов, на каждый из которых могут подаваться двоичные сигналы. Условное обозначение элементарного автомата приведено на рис.4. Здесь uji, j=1, 2,…,K – сигналы возбуждения элементарного автомата (ujiI{0, 1}).
рис. 4
Структурная схема конечного автомата (рис.5) состоит из двух основных частей: комбинационной части (КЧ) и запоминающей части (34). КЧ строится из логических элементов базиса (ЗЧ) представляет собой набор элементарных автоматов Q1, Q2, Q3.
Рис.5
Каждое состояние абстрактного автомата am(m=0,1,…,M) кодируется в структурном автомате набором состояний элементарных автоматов (Q1, Q2,…,Qk), где R?]log2(M+1)[ ]a[ означает ближайшее целое число, большее a или равное a , (если а целое). Каждый входной xf, f=1,2,…,F и выходной yg, g=1,2,…,G сигналы абстрактного автомата кодируются наборами значений двоичных сигналов на L, входных (a1, a2,….aL) и N выходных (Z1, Z2,…,ZN) каналах структурного автомата. Здесь L?]log2F[; N?] log2(G)[.
Изменение состояний элементарных автоматов происходит под действием сигналов возбуждения ujr, где j=1, 2,…Kr; r = 1, 2,...,R. В схеме рис.5 для простоты у каждого элементарного автомата показано по одному входу ur
После выбора элементов памяти и кодирования состояний, входных и выходных сигналов абстрактного автомата производится синтез комбинационной части структурного автомата, реализующей систему функций кодированных выходов Zn и функций возбуждения элементарных автоматов ujr. Здесь
Zn(t)= Zn[Q1(t), Q2(t),…, QR(t), a1(t), a2(t),…, aL(t)], n=1,2,…N
ujr(t)= ujr[Q1(t), Q2(t),…, QR(t), a1(t), a2(t),…, aL(t)],
j=1,2,…,Kr; r=1, 2,…, R.