Вятский государственный университет
Опубликован: 24.04.2008 | Доступ: свободный | Студентов: 2129 / 435 | Оценка: 3.44 / 3.17 | Длительность: 06:01:00
Специальности: Программист, Математик
Лекция 1:

Основные понятия теории абстрактных автоматов

Лекция 1: 12 || Лекция 2 >

1.2. Методы задания автоматов

Для задания конечного автомата S требуется описать все элементы множества

S=\{A, W, Z, \delta, \lambda, а_1\},

наиболее часто используемой формой описания элементов множества S используется табличный, графический, матричный способы.

Теоретико-множественное представление автоматов.

Для задания конечного автомата S={A, Z, W, \delta, \lambda, a_1} все элементы множества должны быть заданы явно. Так для автомата Мили:

A=\{a_1, a_2, \dots, a_M\} - алфавит состояний;

W=\{w_1, w_2,\dots, w_G\} - выходной алфавит;

Z=\{z_1, z_2, \dots,z_F\} - входной алфавит;

\delta: A \times Z \to A(a_s = \delta (a_m,z_i)/a_s \inA);
\lambda: A \times Z \to W(w_s = \lambda (a_m, z_i)/ a_s \in A, w \in W);

a_1 \in A - начальное состояние автомата.

Например, автомат Мили S_1=( A, Z, W, \delta, \lambda, a_1), представленный в табл.1.3 в явной форме описывается так:

A=\{a_1, a_2, a_3 \}; Z= \{ z_1, z_2\}; W= \{ w_1, w_2\}; \delta: a_2= \delta( a_1 , z_1); a_3= \delta( a_1 , z_2); a_1= \delta( a_2 , z_1); a_3= \delta( a_2 , z_2); a_3= \delta( a_3 , z_1); a_2= \delta( a_3 , z_2);  \lambda: w_1= \lambda( a_1 , z_1); w_2= \lambda ( a_1 , z_2); w_2= \lambda ( a_2 , z_1); w_1= \lambda ( a_2 , z_2); w_1= \lambda ( a_3 , z_1); w_2= \lambda ( a_3 , z_2).

Автомат Мура S_2=( A, Z, W, \delta, \lambda, a_1), представленный в табл.1.8 в явной форме описывается так:

A=\{a_1, a_2, a_3 , a_4, a_5 \}; Z= \{ z_1, z_2, z_3\}; W= \{ w_1, w_2, w_3\}; \delta: a_2= \delta( a_1 , z_1); a_1= \delta( a_1 , z_2); a_4= \delta( a_2 , z_3); a_1= \delta( a_2 , z_1); a_5= \delta( a_2 , z_2); a_3= \delta( a_2 , z_3); a_1= \delta( a_3 , z_1); a_2= \delta( a_3 , z_2); a_5= \delta( a_3 , z_3);   a_1= \delta( a_4 , z_1); a_5= \delta( a_4 , z_2); a_2= \delta( a_4 , z_3); a_1= \delta( a_5 , z_1); a_3= \delta( a_5); a_4= \delta( a_5 , z_3);  \lambda: w_1= \lambda( a_1); w_3= \lambda ( a_2); w_2= \lambda ( a_3); w_1= \lambda ( a_4); w_3= \lambda ( a_5).

Табличная форма.

Табличная форма для автомата Мили иллюстрируется табл.1.1 (переходов) и табл.1.2 (выходов).

Таблица 1.1.
z f \a m a 1 a M
z1 \delta (a_ 1 , z_1) \delta (a_ M , z_1)
z F \delta (a_ 1 , z_F) \delta (a_ M , z_F)
Таблица 1.2.
z f\a m a 1 a M
z1 \lambda (a_ 1 , z_1) \lambda (a_ M , z_1)
z F \lambda (a_ 1 , z_F) \lambda (a_ M , z_F)

Строки этих таблиц соответствуют входным сигналам, а столбцы - состояниям, причем крайний левый столбец обозначен начальным состоянием а_1. На пересечении столбца a_m и строки z_f …. в таблице переходов ставится функция перехода \delta (a_ m , z_f), то есть состояние, в которое автомат переходит из состояния a_m под действием входного сигнала z_f, а в таблице выходов - выходная функция \lambda (a_m , z_f), то есть соответствующий этому переходу выходной сигнал w_g.

Пример табличного способа задания автомата Мили показан в табл. 1.3 (переходов) и табл. 1.4 (выходов).

Таблица 1.3.
z f \a m a1 a2 a3
z1 a2 a1 a3
z2 a3 a3 a2
Таблица 1.4.
z f \a m a1 a2 a3
z1 w1 w2 w1
z2 w2 w2 w2

Автомат называется частично заданным, если он определен не для всех пар переходов ( a_m, z_f ). Для частично заданного автомата на месте отсутствующего перехода ставится прочерк как в таблице переходов, так и в таблице выходов.

Пример табличного способа задания частичного автомата показан в табл.1.5 (переходов) и табл.1.6 (выходов).

Таблица 1.5.
z f\ a m a 1 a2 a 3 a 4
z1 a 2 a 1 a 3 -
z2 a 3 a 3 a - a 1
z3 - a4 a2 a4
Таблица 1.6.
z f\ a m a 1 a2 a 3 a 4
z1 w1 w 2 w 1 -
z2 w 2 w1 - w 2
z3 - w1 w2 w1

Табличная форма задания автомата Мура представляет собой совмещенную табл.1.7, в которой выходной сигнал, соответствующий состоянию в a_m автомате Мура размещен в верхней строке над соответствующими состоянием, а остальная информация аналогична представлению автомата Мили.

Пример представления автомата Мура приведен в табл.1.8.

Таблица 1.7.
\wG w1 wG
zf\ am a 1 am
z1 \delta (a_ 1 , z_1) \delta (a_ M , z_1)
zF \delta (a_ 1 , z_F) \delta (a_ M , z_F)
Таблица 1.8.
\ wG w1 w3 w2 w1 w3
zf\ am a 1 a2 a3 a4 a5
z1 a2 a1 a1 a1 a1
z2 a3 a5 a2 a5 a3
z3 a4 a3 a5 a2 a4

Графовая форма задания абстрактных автоматов

В данном случае автомат S=\{A, Z,W, \delta, \lambda, a_1\} представляется графом, в котором:

  1. множество А изображено вершинами графа;
  2. функция \delta задана дугами графа, причем две вершины графа a_m и a_s, соединяются дугой, если в автомате существует переход из a_m в a_s ;
  3. множество Z изображено метками дуг: z_f ставится на дуге из вершины a_m в вершину a_s, если в автомате существует переход из a_m в a_s под действием входного сигнала z_f ;
  4. функция \lambda задана метками дуг или вершин: для автомата Мили дуга из вершины a_m в вершину a_s помечается выходным сигналом w_g, если в автомате существует переход из a_m в a_s и при этом вырабатывается выходной сигнал w_g ; а для автомата Мура выходным сигналом w_g помечается вершина, определяющая a_s= \lambda  (a_m).

На рисунке 1.8 приведены примеры описания автомата Мили и автомата Мура:


Рис. 1.8.

Матричная форма

Для автомата Мили матричная форма состоит из матрицы C = |c_{ms}| размерностью M \times M, где каждый элемент матрицы c_{ms}=z_f/w_g, стоящий на пересечении m -ой строки и s -го столбца соответствует входному сигналу z_f, вызывающему переход из состояния a_m в состояние a_s с выработкой выходного сигнала w_g. Пример матричного описания автомата Мили показан ниже.

  1. С=\left|\left|\begin{array}{ccc} 
z_2/w_1 & - & z_1/w_1\\
z_1/w_1 & - & z_2/w_2\\
z_1/w_2 & z_2/w_1 & - \end{array}\right|\right|
  2. С=\left|\left|\begin{array}{cccсс} 
-& z_1& -& z_1& - \\
-& -&  z_2& -& z_1\\
-& z_2& -& z_1& -\\
-& -& z_1& -& z_2\\
z_2& -& -& z_1& - \end{array}\right|\right|
  3. W=\left|\left|\begin{array}{c}
w_1\\
 w_2 \\
 w_3\\
 w_2 \\
w_3  \end{array}\right|\right|

Для автомата Мура матричная форма состоит из матрицы C = |c_{ms}| размерностью M \times M, где каждый элемент матрицы c_{ms} =z_f, стоящий на пересечении m -ой строки и s -го столбца, соответствует входному сигналу z_f, вызывающему переход из состояния a_m в состояние a_s. Так как выходной сигнал w_g. в автомате Мура зависит только от состояния, следовательно, выходные сигналы могут быть представлены матрицей-столбцом. Пример матричного описания автомата Мура показан на формуле, приведенной выше.

Лекция 1: 12 || Лекция 2 >
Сергей Прохоренков
Сергей Прохоренков
Владислав Нагорный
Владислав Нагорный

Подскажите, пожалуйста, планируете ли вы возобновление программ высшего образования? Если да, есть ли какие-то примерные сроки?

Спасибо!