
Математические основы теории систем.-2
.pdf
нечных автоматов. Все, что действительно важно в абстрактной теории автоматов – это работа со словами при конечной памяти.
2.1.2.Задание автоматов
Поскольку функции δ и λ определены на конечных множествах, то их можно задать таблицами. Обычно две таблицы (для функции δ и для функции λ) сводят в одну таблицу δ ×λ :Q×X→Q×Y и называют такую таблицу автоматной таблицей, или таблицей переходов автомата. В этой таблице на пересечении столбца с входной буквой xi и строки с состоянием qj стоит пара − состояние ql, в которое переходит автомат из состояния qj по входной букве xi, и выходная буква yk, которая при этом выдается автоматом.
Часто вместо автоматной таблицы для задания автомата используют так называемую матрицу соединений автомата. Это матрица n×n, строки и столбцы которой соответствуют различным состояниям автомата. На пересечении qi-й строки и qj-го столбца стоит буква (или дизъюнкция букв) входного алфавита xl X, вызывающая переход автомата из состояния qi в состояние qj , и в скобках (можно через запятую, тире или слеш) – буква (или дизъюнкция букв) выходного алфавита yk Y, которая появляется при этом на выходе автомата. Если ни одна из букв входного алфавита не переводит состояние qi в qj , то ставится прочерк или ноль. В любой строке каждая буква входного алфавита встречается не более одного раза (условие однозначности переходов).
Еще один способ задания автоматов – ориентированный мультиграф, называемый графом переходов, или диаграммой переходов. Вершины графа переходов соответствуют состояниям автомата. Если δ(qi,xj)=qk и λ(qi,xj)=yl, то из вершины qi в вершину qj ведет ребро, на котором написаны пара xj,yl. Для любого графа переходов выполняются следующие условия корректности:
а) для любой входной буквы xj имеется ребро, выходящее из qi, на котором написано xj (условие полноты);
б) любая буква xj встречается только на одном ребре, выходящем из вершины qi (условие непротиворечивости, или детерминированности).
На графе переходов наглядно представимы все функции, определяемые формулами (2.1.1) − (2.1.5). Если зафиксирована вершина qi, то всякое слово x = xi1 xi2 ...xik однозначно определяет путь длины k из этой
вершины (обозначим его qi,x), на k ребрах которого написаны xi1 xi2 ...xik .
41

Поэтому δ(qi,x) − это последняя вершина пути qi,x; λ(qi,x) − выходная буква, написанная на последнем ребре пути qi,x, а отображение S(qi,x)− слово, образованное выходными буквами на k ребрах пути qi,x.
Пример 2.1. Пусть автомат задан своей автоматной таблицей:
Т а б л и ц а 2 . 1
q\x |
x1 |
x2 |
1 |
2, y1 |
3, y3 |
|
|
|
2 |
2, y2 |
3, y1 |
3 |
1, y1 |
2, y2 |
|
|
|
Здесь, и в дальнейшем, если это не вызовет разночтений, внутренние состояния обозначены своими индексами, т.е. алфавит состояний – это
Q = {1,2,3} . Входной алфавит автомата X = {x1, x2} , выходной алфавит
Y = {y1, y2 , y3} .
Матрица соединений данного автомата приведена ниже:
Т а б л и ц а 2 . 2
q\q |
1 |
2 |
3 |
|
|
|
|
1 |
0 |
x1,y1 |
x2,y3 |
2 |
0 |
x1,y2 |
x2,y1 |
3 |
x1,y1 |
x2,y2 |
0 |
|
|
|
|
На рис. 2.1 представлен граф (состояний) автомата.
Если на вход автомата, находящегося в состоянии 1, поступит, например, слово x = x1x2 x2 x1x2 x2 , то на выходе появится слово y = y1 y1 y2 y2 y1 y2 , а автомат перейдет в состояние 2.
42

|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
||
|
|
|
x1,y1 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
x2,y2 |
|
x1,y1 |
x2,y3 |
|||
|
|
|
|
|
|
||||
x1,y2 |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
x2,y1
3
Рис 2.1. Переходной граф состояний
Пример 2.2. Граф, представленный на рис. 2.2, нельзя интерпретировать как некоторый автомат, поскольку в этом графе нарушено условие автоматности: из вершины 2 выходят два ребра с одной буквой а.
a
2
c
1
b a
a
3
Рис. 2.2. Граф, не являющийся автоматом
2.2 Виды автоматов и их свойства
Дадим несколько определений, которые понадобятся для дальнейшего изложения.
Состояние qj называется достижимым из состояния qi , если существует входное слово x, такое, что δ(qi ,x) = qj . Автомат называется силь-
но связанным, если из любого его состояния достижимо любое другое состояние.
43

2.2.1.Автономные автоматы
Автомат называется автономным по входу, если его входной алфавит состоит из одной буквы: X={x}. Все входные слова у такого автомата имеют вид xx…x.
Теорема 2.2.1. Любое достаточно длинное выходное слово автономного по входу автомата с n состояниями является периодическим (возможно с предпериодом), причем длины периода и предпериода не пре-
восходят n. Оно имеет вид σωω...ωω1 , где 0 ≤ σ ≤ n,1 ≤ ω ≤ n, ω 1 −
начальный отрезок ω .
Доказательство. Так как в графе автономного по входу автомата из каждой вершины выходит одно ребро, то его сильно связанные подграфы могут быть только простыми циклами, из которых нет выходных ребер. Поэтому в компоненте связности может быть только один цикл. Остальные подграфы компоненты связности – это деревья, подвешенные к циклу и ориентированные в его сторону. Что и требовалось доказать.
Пример 2.3. Автомат задан автоматной таблицей:
Т а б л и ц а 2 . 3
q |
x |
1 |
3,0 |
|
|
2 |
4,0 |
|
|
3 |
4,0 |
|
|
4 |
7,0 |
|
|
5 |
4,2 |
|
|
6 |
5,0 |
|
|
7 |
6,1 |
|
|
Граф автомата приведен на рис. 2.3. Входная буква на ребрах графа не показана.
44

|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
||
|
|
|
|
|
0 |
|||||
|
|
2 |
|
|
|
0 |
|
|
|
|
|
|
|
|
|
||||||
1 |
|
|
|
|
|
|
1 |
|
||
0 |
|
|
|
|
|
|
|
|||
0 |
|
|
|
|||||||
|
|
|
|
|
|
|
|
|||
|
|
|
4 |
|
6 |
2 |
0 |
|
5
Рис. 2.3. Граф автономного автомата
Пусть автомат первоначально находится в состоянии 2, и на вход поступает слово xxxxxxxxxxx. На выходе будет слово 00102010201, где пред-
период σ = 0, период ω=0102 , начальный отрезок ω1 = 01.
Из произвольного автомата с входным алфавитом X={x1,…xm} может быть построено m различных автономных по входу автоматов исключением из графа переходов автомата всех ребер, кроме ребер с выбранной
буквой xi (i=1,…, m).
Аналогично, автомат называется автономным по выходу, если его выходной алфавит состоит из одной буквы Y={y}. Автономный по выходу автомат получается из произвольного автомата с выходным алфавитом
Y = {y1, y2 ,...yk } исключением из графа переходов ребер со всеми выходными буквами кроме выбранной буквы yi .
Пример 2.4. Возьмем автомат из примера 2.1. Его автоматная таблица приведена ниже:
q\x |
x1 |
x2 |
1 |
2, y1 |
3, y3 |
2 |
2, y2 |
3, y1 |
3 |
1, y1 |
2, y2 |
Таблица автономного автомата по входной букве, например x2, получится удалением всех столбцов, кроме столбца с буквой x2:
q\x |
x2 |
1 |
3, y3 |
2 |
3, y1 |
3 |
2, y2 |
45

Таблица автономного автомата по выходной букве, например y1, получится удалением всех элементов исходной таблицы, кроме элементов с буквой y1:
q\x |
x1 |
x2 |
1 |
2, y1 |
- |
2 |
- |
3, y1 |
3 |
1, y1 |
- |
2.2.2.Автоматы синхронные и асинхронные
Всинхронных автоматах переход из одного состояния в другое осуществляется через равные промежутки времени, задаваемые в реальных устройствах генератором тактовых импульсов. Другими словами, синхронный автомат реагирует на каждую букву входного алфавита.
Васинхронном автомате его внутреннее состояние может меняться только при изменении входного состояния. В результате этого изменения
автомат всегда приходит в конечном итоге в некоторое устойчивое полное состояние1, т. е. в такое полное состояние, в котором автомат остается до тех пор, пока не изменится его входное состояние.
Полагают также, что новое изменение входа не может произойти до того, как автомат перейдет в устойчивое полное состояние.
Витоге моменты перехода асинхронного автомата из состояния в со-
стояние зависят от значения входа. Понятно, что при этом теряет смысл рассмотрение входных слов, содержащих одинаковые соседние буквы.
Сформулированные для асинхронного автомата условия налагают некоторые ограничения на таблицу переходов δi j
.
Чтобы было понятнее, рассмотрим вначале усиленный вариант этих условий, когда любое полное состояние автомата связано с некоторым устойчивым состоянием прямым, непосредственным переходом. Это означает, что если некоторый элемент δi j автоматной таблицы имеет
значение qk, то это же значение должен иметь и элемент δk j .
Такому требованию удовлетворяет, например, следующая таблица переходов:
1 Полное состояние – это совокупность входного и внутреннего состояний.
46

Таблица 2.4
q\x |
x1 |
x2 |
x3 |
x4 |
1 |
1 |
1 |
1 |
5 |
2 |
1 |
2 |
2 |
2 |
3 |
3 |
2 |
4 |
5 |
4 |
3 |
2 |
4 |
5 |
5 |
3 |
5 |
4 |
5 |
Жирным шрифтом выделены элементы, соответствующие устойчивым полным состояниям.
В общем виде эти условия формулируются так: для любого элемента δij таблицы переходов должна выполняться цепочка равенств
δi j = k1 , δk1 j = k2 , ..., δk p j = kp .
Это означает, что любое полное состояние (qi , xj ) асинхронного ав-
томата должно быть связано цепочкой переходов с некоторым устойчивым полным состоянием (qk p , xj ) .
На таблицу выходов λij
асинхронного автомата каких-либо ограничений не налагают.
2.2.3.Автоматы Мили и автоматы Мура
Общее определение автомата, данное в разделе 2.1, задает так называемый автомат Мили. Характерной особенностью автомата Мили является то, что значение его выхода зависит от полного состояния, то есть как от внутреннего, так и от входного состояний. Другими словами, функция выхода λ является двуместной функцией y(t) = λ(q(t −1), x(t)).
В случае если функция выхода зависит только от внутреннего состояния, но не от входа, получаем автомат, носящий название автомата Мура. Для автомата Мура для любых q, xi и xj выполняется условие
λ(q, xi ) = λ(q, xj ) , т. е. функция выхода одноместная. Часто ее в этом слу-
чае обозначают буквой µ и называют функцией отметок, так как она каждое состояние помечает вполне однозначно буквами выходного алфавита.
47

Для автомата Мура таблица выходов вырождается в один столбец, а автоматная таблица записывается с лишним столбцом. Матрица соединений также содержит лишний столбец.
Возможности этих двух видов автоматов совпадают, то есть для любого автомата Мили существует эквивалентный ему автомат Мура (и наоборот). Это утверждение можно сформулировать в виде теоремы.
Теорема 2.2.2. Для произвольного автомата Мили
S = (X ,Q,Y,δ,λ), X = {x1, x2 ,...xm}, Q = {q1,q2 ,...qn} ,
существует эквивалентный ему автомат Мура
SM = (XM ,QM ,YM ,δM ,µ) .
Он может быть построен следующим образом: входной и выходной алфавиты исходного автомата Мили и эквивалентного автомата Мура совпадают XM=X, YM=Y. Алфавит состояний QM содержит m·n+n состоя-
ний: m·n состояний qi j (i=1,…n, |
j=1,…m), соответствующих парам |
(qi , xj ) автомата S и n состояний qi0 |
(i=1,…n). Функция δМ определяется |
так: δM (qi0 , xk ) = qi k (i=1,…n), δM (qi j , xk ) = ql k , где индекс l определяется функцией перехода автомата S: δ(qi , xj ) = ql . Функция отметок µ(qi 0 ) − не определена, а для остальных состояний µ(qi j ) = λ(qi , xj ) . Состояние qi0 (i=1,…n) автомата SM отождествляется с начальным состоянием qi
автомата S (если задан инициальный автомат).
Доказательство теоремы заключается в том, чтобы показать равенство автоматных отображений S(qi ,x) = SM (qi0 ,x) для любого состояния qi и
любого слова x. Это делается индукцией по длине x и предлагается проделать самостоятельно.
Пример 2.5. Автомат Мили задан автоматной таблицей:
Т а б л и ц а 2 . 5
q\x |
x1 |
x2 |
1 |
2,y1 |
3,y1 |
2 |
2,y2 |
3,y2 |
3 |
1,y3 |
2,y1 |
48

Для данного автомата число состояний n=3, число входных букв m=2. Построим эквивалентный автомат Мура. В соответствии с теоремой 2.2.2 число состояний эквивалентного автомата Мура составит n m + n = 9 . Полагая в формуле δM (qi0 , xk ) = qik i=1,2,3; k=1,2, получим
δM (q10 , x1 ) = q11, |
δM (q20 , x1 ) = q21, |
δM (q30 , x1 ) = q31 , |
δM (q10 , x2 ) = q12 , |
δM (q20 , x2 ) = q22 , |
δM (q30 , x2 ) = q32 . |
Воспользовавшись формулой δM (qij , xk ) = qlk и учитывая, что индекс l определяется из соотношения δ(qi , xj ) = ql табл. 2.5, имеем
δM (q11, x1 ) = q21 , |
δM (q21, x1 ) = q21 , |
δM (q31, x1 ) = q11, |
δM (q11, x2 ) = q22 , |
δM (q21, x2 ) = q22 , |
δM (q31, x2 ) = q12 , |
δM (q12 , x1 ) = q31, |
δM (q22 , x1 ) = q31 , |
δM (q32 , x1 ) = q21, |
δM (q12 , x2 ) = q32 , |
δM (q22 , x2 ) = q32 , |
δM (q32 , x2 ) = q22 . |
Далее находим функцию отметок по формуле µ(qi j ) = λ(qi , xj ) и со-
ставляем автоматную таблицу автомата Мура. Последняя будет выглядеть так:
Т а б л и ц а 2 . 6
|
x1 |
x2 |
µ |
q10 |
q11 |
q12 |
- |
|
|
|
|
q20 |
q21 |
q22 |
- |
|
|
|
|
q30 |
q31 |
q32 |
- |
|
|
|
|
q11 |
q21 |
q22 |
y1 |
q12 |
q31 |
q32 |
y1 |
|
|
|
|
q21 |
q21 |
q22 |
y2 |
|
|
|
|
q22 |
q31 |
q32 |
y2 |
q31 |
q11 |
q12 |
y3 |
|
|
|
|
q32 |
q21 |
q22 |
y1 |
49

Обратное (получение автомата Мили по автомату Мура) очевидно и не вызывает трудностей.
Пример 2.6. Пусть дан автомат Мура A = (X ,Q,Y,q1 Q,δ,µ), где X = {x1, x2 }, Q = {1,2,3}, Y = {y1, y2 , y3} , причем
δ(1, x1 ) = 2, |
δ(1, x2 ) = 3, |
δ(2, x1 ) = 3, |
δ(2, x2 ) = 2, |
δ(3, x1 ) = 1, δ(3, x2 ) = 2,
µ(1) = y2 , µ(2) = y1, µ(3) = y2 .
По исходным данным легко воспроизвести автоматную таблицу (таблицу переходов):
Т а б л и ц а 2 . 7
|
x1 |
x2 |
µ |
1 |
2 |
3 |
y2 |
2 |
3 |
2 |
y1 |
|
|
|
|
3 |
1 |
2 |
y2 |
Построим эквивалентный автомат Мили В. Используя табл. 2.7, строим обычную функцию выхода λ(q, x) , определяющую автомат Мили
B = (X,Q,Y,q1 Q,δ ,λ) :
λ (1, x1 ) = y1, λ (1, x2 ) = y2 , λ (2, x1 ) = y2 , λ (2, x2 ) = y1, λ (3, x1 ) = y2 , λ(3, x2 ) = y1.
Автоматная таблица построенного автомата Мили выглядит следующим образом:
Т а б л и ц а 2 . 8
|
x1 |
x2 |
1 |
2, y1 |
3, y2 |
|
|
|
2 |
3, y2 |
2, y1 |
3 |
1, y2 |
2, y1 |
50