Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дискретная математика УчебПос.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
16 Мб
Скачать
☆

6.2. Способы задания конечного автомата

Чтобы задать конечный автомат S, необходимо описать все элементы множества S = {A, X, Y, d, l} , т.е. необходимо описать входной, выходной алфавиты и алфавит состояний, а также функции переходов d и выходов l. При этом среди множества A = {a0, a1, …, an} необходимо выделить начальное состояния a0, в котором автомат находится в момент времени t = 0. Существует несколько способов задания работы автомата, но наиболее часто используются табличный, графический, задание с помощью булевых функций.

1). Табличный способ. При этом способе автомат Мили описывается двумя таблицами: таблицей переходов и таблицей выходов.

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

xj\aj

a0

…

an

x1

d(a0,x1)

…

d(an,x1)

…

…

…

…

xm

d(a0,xm)

…

d(an, xm)

xj\aj

a0

…

an

x1

l(a0, x1)

…

l(an, x1)

…

…

…

…

xm

l( a0, xm)

…

l(an, xm)

Строки этих таблиц соответствуют входным сигналам x(t), а столбцы – состояниям. На пересечении столбца ai и строки xj в таблице переходов ставится состояние as = d[ai, xj], в которое автомат перейдет из состояния ai под воздействием сигнала xj; а в таблице выходов – соответствующий этому переходу выходной сигнал yg = l[ai, xj].

Таблица 6.1

Совмещенная таблица переходов и выходов автомата Мили:

xj\ai

a0

…

an

x1

d(a0, x1)/ l(a0, x1)

…

d(an, x1)/ l(an, x1)

…

…

…

…

xm

d(a0, xm)/ l(a0, xm)

…

d(an, xm)/ l(an, xm)

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

2). Графический способ задания автомата (задание автомата с помощью графа) – этот способ основан на использовании ориентированных связных графов. Вершины графов соответствуют состояниям автомата, а дуги – переходам между ними. Две вершины графа ai и as соединяются дугой, направленной от ai к as, если в автомате имеется переход из ai в as, т.е. as = d(ai, xj). В автомате Мили дуга отмечается входным сигналом xj, вызвавшим переход, и выходным сигналом yg, который возникает при переходе. Внутри кружочка, обозначающего вершину графа, записывается состояние.

3). Задание с помощью булевых функций – если автомат задан табличной функцией или диаграммой Мура, то возможно задание автомата с помощью булевых функций. Алгоритм задания следующий:

a. Находим числа k, r, s, удовлетворяющие условиям:

2k-1 < m < 2k

2r-1 < n < 2r

2s-1 < p < 2s

где m = |X|, n = |A|, p = |Y| - число символов множеств.

При этом видно, что k, r, s равны числу разрядов, в двоичном представлении чисел m, n, p.

b. Кодируем входные и выходные символы исходного автомата:

Каждому ai Î А взаимно-однозначно ставим в соответствие двоичную последовательность длины r – двоичный код a (а) = a1a2..ar. Аналогично и для каждого x и y: b (x) = b1b2..bk, g (y) = g1g2…gs.

c. Составляем следующую таблицу:

Таблица 6.2

Код входного символа

Код текущего состояния

Код следующего состояния

Код выходного символа

b1

b2

…

bk

a1

a2

…

ar

d1

d2

…

dr

l1

l2

…

ls

0

0

0

0

0

0

0

0

b1

b2

…

bk

a1

a2

…

ar

a1’

a2’

…

ar’

g1

g2

…

gs

1

1

1

1

1

1

1

1

Эта таблица содержит k + r + r + s столбцов и 2k+1 строк.

d. Заполнение последних столбцов в таблице: для каждой пары (xi, aj) по таблице автомата находим d(x, a) = a’ и l (x, a) = y. Затем находим код a (а) = a1’ a2’..a r’ и g(y) = g1g2…gs.