
Основы дискретной математики
.pdf
§ 4.2. Реализация ограниченно-детерминированных функций конечными автоматами
Конечный автомат Мили. Задание автомата таблицей, диаграммой Мура, каноническими уравнениями. Продолжение функций переходов и выходов на слова. Отличимость состояний автомата. Приведенный автомат.
Базовые понятия и утверждения
1. Конечный автомат Мили, способы его задания. Рассмотрим произвольную ограниченно-детерминированную функцию f : A∞ → B∞ . Функцию f можно интерпретировать как функцию, описывающую работу дискретного преобразователя информации. На входы этого преобразователя в моменты времени t =1, 2,3,... подаются члены последовательности α = α(1)α(2)α(3)... . В эти же моменты времени на выходе возникают члены последовательности β = β(1)β(2)β(3)... , где
β(1)β(2)β(3)... = f (α(1)α(2)α(3)...) . Такой дискретный преобразователь называют конечным автоматом, реализующим функцию f . При этом α = α(1)α(2)α(3)... называют входной последовательностью, β = β(1)β(2)β(3)... - выходной последовательностью,
буквы α(t) и β(t) - сигналами, поступившими в момент времени t соответственно на вход и выход автомата.
При формальном определении автомата будем исходить из задания ограниченно- детерминированной функции функциями φ и ϕ .
Определение. Конечным автоматом Мили называется шестерка объектов
K = ( A, B,Q,φ, ϕ, q0 ) , где
A - конечное непустое множество (входной алфавит);
B - конечное непустое множество (выходной алфавит);
Q - конечное непустое множество (множество состояний);
φ: Q × A → Q - отображение, называемое функцией переходов;
ϕ: Q × A → B - отображение, называемое функцией выходов;
q0 Q - начальное состояние.
Можно рассматривать автоматы, у которых начальное состояние не задано. Такие автоматы называют неинициальными.
PDF created with pdfFactory Pro trial version www.pdffactory.com

Способы задания конечных автоматов те же, что и способы задания ограниченно- |
|||||
детерминированных функций. |
|
|
|
||
1. Конечный автомат можно задать таблицей. Табл. 4.5 задает функции переходов φ и |
|||||
выходов ϕ автомата с алфавитами A , B и множеством состояний Q . Дополнительно |
|||||
указывается начальное состояние автомата. |
|
|
|||
|
|
|
|
Таблица 4.5 |
|
A |
a1 |
a2 |
… |
an |
|
Q |
|||||
|
|
|
|
||
f(q1, a1 ) |
f(q1, a2 ) |
|
f(q1, an ) |
||
q1 |
j(q1, a1 ) |
j(q1, a2 ) |
… |
j(q1, an ) |
|
|
|
||||
f(q2 , a1 ) |
f(q2 , a2 ) |
|
f(q2 , an ) |
||
q2 |
j(q2 , a1 ) |
j(q2 , a2 ) |
… |
j(q2 , an ) |
|
|
|
||||
… |
… |
… |
… |
… |
|
f(qs , a1 ) |
f(qs , a2 ) |
|
f(qs , an ) |
||
qs |
j(qs , a1 ) |
j(qs , a2 ) |
… |
j(qs , an ) |
|
|
|
||||
2. Конечный автомат можно задать с помощью диаграммы Мура, т.е. геометрического |
|||||
графа, определенного следующим образом: каждому состоянию автомата |
|||||
сопоставляется вершина графа; если для двух состояний qi , q j существует входной |
|||||
сигнал a такой, что q j |
= f(qi , a) , то из вершины qi в вершину q j |
проводится дуга, |
|||
помечаемая двойной меткой a,b , где b = j(qi , a) . |
|
|
|||
Чтобы полностью определить автомат, нужно также указать на графе вершину, |
|||||
соответствующую его начальному состоянию. |
|
|
3. Автомат можно задать системой канонических уравнений:
ìb(t) = j(q(t -1),a(t)), ïíq(t) = f(q(t -1),a(t)), ïîq(0) = q0.
Рассмотрим некоторые частные виды конечных автоматов.
PDF created with pdfFactory Pro trial version www.pdffactory.com

Автомат без памяти - автомат, множество состояний которого включает в себя ровно один элемент, т.е. Q = {q} . Тогда функция переходов φ всегда принимает одно и то же значение q , и ее можно не рассматривать. Функция выходов ϕ зависит фактически только от входного сигнала. Работу автомата можно описать только одним каноническим уравнением: β(t) = ϕ(q,α(t)) . Так, в частности, работает автомат, который осуществляет перекодировку символов из одного алфавита в другой.
Элемент задержки - автомат, у которого входной и выходной алфавиты совпадают, причем β(t + 1) = α(t) для любого момента времени t , t =1, 2,3,.... Несложно построить канонические уравнения такого автомата, задав их, например, так:
|
ìb(t) = q(t -1), |
|
|
|
|
ï |
= a(t), |
|
|
|
íq(t) |
|
|
|
|
ïq(0) = q . |
|
|
|
|
î |
0 |
|
|
Если же мы хотим описать такой автомат, исходя из определения, то будем иметь: |
||||
A = B = Q ; φ(q, a) = a , ϕ(q, a) = q . |
|
|
|
|
Пример 1. Рассмотрим частный случай элемента задержки A = B = {0,1} . |
||||
Табл. 4.6 - таблица этого автомата. Диаграмма Мура автомата изображена на рис. 4.8. |
||||
Таблица 4.6 |
|
|
|
|
A |
|
|
|
|
0 |
1 |
|
|
|
Q |
|
|
1,0 |
|
|
|
|
|
|
0 |
1 |
0,0 |
|
1,1 |
0 |
|
0 |
0,1 |
1 |
|
|
|||
0 |
0 |
|
|
|
0 |
1 |
|
|
|
1 |
|
|
|
|
1 |
1 |
|
Рис. 4.8. |
|
В качестве начального состояния элемента задержки можно взять любое из его |
||||
состояний. Пусть начальное состояние автомата 0 и на его вход подается |
||||
последовательность 1010101010…, тогда на выходе автомата наблюдается |
0101010101…
Конечный автомат Мили определен таким образом, что каждый автомат реализует конкретную ограниченно-детерминированную функцию, однако одна и та же
PDF created with pdfFactory Pro trial version www.pdffactory.com

ограниченно-детерминированная функция может быть реализована различными автоматами. Остановимся на этом вопросе подробнее.
2. Продолжение функций переходов и выходов на слова. Словом длины k ,
k = 0,1, 2,..., над алфавитом A называется любая конечная последовательность длины k
элементов множества A .
Для обозначения слов используют запись w = ai1 ai2 ...aik .
Слово, в котором нет ни одной буквы, называют пустым словом и обозначают символом λ .
Введем ряд обозначений:
A * - множество всех слов над алфавитом A ;
Am - множество всех слов длины m ;
A+ - множество всех непустых слов.
Очевидно, выполнены равенства: |
+∞ |
|
+∞ |
|
|||||||
A* = È Am , A+ = È Am . |
|||||||||||
|
|
|
|
|
|
|
|
m=0 |
|
m=1 |
|
Произведением двух слов w1 |
= ai |
ai |
...ai и w2 |
= aj |
a j ...aj |
называется слово |
|||||
|
|
|
|
|
|
1 |
2 |
k |
1 |
2 |
p |
w = ai |
ai |
...ai |
aj a j |
...a j |
. |
|
|
|
|
|
|
1 |
2 |
k |
1 |
2 |
p |
|
|
|
|
|
|
Произведение двух слов - ассоциативная операция, т.е. для любых трех слов w1, w2 , w3 выполняется равенство (w1w2 ) w3 = w1 (w2 w3 ) .
Поскольку расстановка скобок в произведении не влияет на результат, то, записывая произведение нескольких слов, скобки опускают. Например, вместо (w1w2 ) w3 пишут
w1w2 w3 .
Заметим, что произведение слов зависит от порядка сомножителей, т.е. в общем случае
w1w2 ¹ w2 w1 .
Определение. Продолжением функций φ и ϕ на слова называются соответственно функции f: Q ´ A* ® Q и ϕ : Q × A* → B *, определенные индуктивно следующим образом:
a A |
f |
(q, a) = f(q, a) ; |
||
|
|
|
|
(q, l) = q ; |
|
|
f |
PDF created with pdfFactory Pro trial version www.pdffactory.com

a A, w A+ |
φ(q, aw) = φ(φ(q, a), w) ; |
|
|
|
|
|
|
|
|
||||||
a A |
ϕ(q, a) = ϕ(q, a) ; |
|
|
|
|
|
|
|
|
|
|||||
a A, w A+ |
ϕ(q, aw) = ϕ(q, a)ϕ(φ(q, a), w) ; |
|
|
|
|
|
|||||||||
|
|
|
|
ϕ(q,λ) = λ . |
|
|
|
|
|
|
|
|
|
|
|
Пример 2. Рассмотрим автомат |
|
|
|
|
|
|
|
Таблица 4.7 |
|||||||
K = ( A, B,Q,φ, ϕ, q0 ) , с алфавитами A = {a,b,c} и |
A |
|
|
||||||||||||
B = |
|
0,1 , множеством состояний Q = |
{ |
q , q |
} |
, |
a |
b |
c |
||||||
|
{ |
} |
|
|
|
1 |
|
2 |
|
Q |
|
|
|||
начальным состоянием q0 = q2 и функциями φ |
q1 |
q2 |
q2 |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
и ϕ , представленными в табл. 4.7. |
|
|
|
|
|
|
q1 |
|
|
||||||
Тогда |
|
|
|
|
|
|
|
|
|
0 |
0 |
1 |
|||
|
|
|
|
|
|
|
|
|
q2 |
q1 |
q2 |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
φ(q |
2 |
, cba) = φ(φ(q ,c),ba) = φ(q |
2 |
,ba) = φ(φ(q |
2 |
,b),a) |
q2 |
|
|
||||||
|
|
|
2 |
|
|
|
|
|
|
1 |
1 |
0 |
|||
|
|
|
|
= φ(q1, a) = q1 ; |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
ϕ(q2 , cba) = ϕ(q2 ,c)ϕ(φ(q2 , c),ba) = |
|
|
=ϕ(q2 ,c)ϕ(q2 ,ba) = ϕ(q2 ,c)ϕ(q2 ,b)ϕ(φ(q2 ,b),a) =
=ϕ(q2 , c)ϕ(q2 ,b)ϕ(q1, a) = ϕ(q2 ,c)ϕ(q2 ,b)ϕ(q1, a) = 010 .
Упражнение 4.4. Работа конечного автомата задана диаграммой Мура (рис. 4.9). Найти:
а) |
φ |
(q1, aabab) ; |
|
б) |
φ |
(q3 , abba) ; |
|
|
|
|
|
|
|
|||||||
в) |
|
(q2 ,bba) ; |
|
г) |
|
|
|
(q1,bbba) . |
|
|
|
|
|
|
|
|||||
ϕ |
ϕ |
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a,0 |
b,0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
q1 |
|
a,1 |
q2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b,0 |
|
|
a,1 |
b,1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
q3 |
|
|
a,1 |
q4 |
|
|
|
|
|
|
|
|
|
|
|
|
b,0 |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 4.9. |
|
|
|
|||
3. Приведенный автомат. Состояния q1 и q2 |
автомата называются неотличимыми, |
|||||||||||||||||||
если для w A+ |
|
(q , w) = |
|
(q , w) . В противном случае состояния q |
и q |
|
называются |
|||||||||||||
ϕ |
ϕ |
2 |
||||||||||||||||||
|
|
|
|
|
1 |
|
|
|
|
|
|
2 |
|
|
|
1 |
|
|
отличимыми.
PDF created with pdfFactory Pro trial version www.pdffactory.com

Введем на множестве Q состояний автомата бинарное отношение неотличимости ~,
включив в него все пары неотличимых состояний.
Это отношение является отношением эквивалентности. Следовательно, оно порождает разбиение множества Q на классы эквивалентности. Следуя определению классов эквивалентности, класс эквивалентности произвольного элемента q по отношению неотличимости ~ определим как множество [q]~ = {q¢ÎQ q ~ q¢} . Множество классов эквивалентности по отношению неотличимости обозначим Q% , для его элементов будем использовать обозначение q% .
Определение. Приведенным автоматом, соответствующим конечному автомату
K= ( A, B,Q,f, j, q0 ) , называется автомат K% = æç A, B,Q%,f%, j%, q~0 ö÷ , функция переходов
èø
f% : Q% ´ A ® Q% и функция выходов j% : Q% ´ A ® B которого определены следующим образом: f%(q%, a) = [f(q, a)]~ ; ϕ%(q%, a) = ϕ(q, a) , где q q% .
Докажем корректность этого определения, т.е. его независимость от выбора представителя q в классе эквивалентности q% .
1. Чтобы доказать корректность определения функции f% , будем рассуждать от противного. Предположим, что найдутся такие q1 Î q% и q2 Îq% , что [f(q1, a)]~ ¹ [f(q2 , a)]~
. Это означает, что состояния f(q , a) |
и f(q |
2 |
, a) отличимы, и, значит, $wÎ A+ , для |
|
|
||||||||||||
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
которого |
|
(f(q1, a), w) ¹ |
|
(f(q2 , a), w) . Но тогда |
|
(q1, aw) ¹ |
|
(q2 , aw) . Следовательно, q1 |
и |
||||||||
j |
j |
j |
j |
||||||||||||||
q2 отличимы, а это противоречит тому, что q1 и q2 принадлежат одному и тому же |
|
||||||||||||||||
классу эквивалентности q% . |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
~ |
и q2 |
|||||||
2. Докажем корректность определения функции ϕ% . Возьмем "q1 Î q% и q2 q ; q1 |
|||||||||||||||||
неотличимы, следовательно, j(q1, a) = j(q2 , a) . Таким образом, функция ϕ% определена |
|
||||||||||||||||
корректно. |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
Утверждение. Все состояния приведенного автомата попарно отличимы. |
|
|
|||||||||||||||
Доказательство. Будем рассуждать от противного. Пусть найдутся различные q%¢ |
% |
и |
|||||||||||||||
ÎQ |
|||||||||||||||||
% |
|
|
|
|
+ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
j%(q%¢, w) = j%(q%¢¢, w) . Согласно определению |
|
|
|||||||||||
q%¢¢ÎQ такие, что q%′ ~ q%′′ . Тогда "wÎ A |
|
|
функции ϕ% , будем иметь j(q1, w) = j(q2 , w) , где q1 Î q%′ , q2 Î q%′′ . Отсюда следует, что q1 ~ q2 и, значит, по свойству классов эквивалентности (теор. 1.1) q%′ = q%′′ . Получили
PDF created with pdfFactory Pro trial version www.pdffactory.com

противоречие. Следовательно, наше предположение о существовании различных неотличимых состояний приведенного автомата было неверным. ■
Замечания. 1. Автоматы K = ( A, B,Q,f, j, q0 ) и K% = (A, B,Q%,f%,j%,q%0 ) работают одинаково,
т.е. если на вход этих автоматов подавать одну и ту же входную последовательность, то выходные последовательности автоматов будут одинаковыми.
2. Если строить автомат, реализующий данную ограниченно-детерминированную функцию, через информационное дерево, то получится автомат, все состояния которого отличимы.
Логично задаться вопросом: сколько и каких последовательностей достаточно подавать на вход автомата, чтобы установить отличимость двух его состояний? Ответ на этот вопрос дает теорема Мура.
Пусть M A *. Говорят, что состояния q1 и q2 автомата K = ( A, B,Q,f, j, q0 ) отличимы
множеством M , если $wÎ M \ {l} такое, что j(q1, w) ¹ j(q2 , w) . В противном случае говорят, что состояния q1 и q2 множеством M неотличимы.
Заметим, что обычная отличимость - это отличимость с помощью множества A * .
Теорема 4.1 (Мура). Если состояния q1 и q2 автомата K отличимы, то они отличимы и множеством An−1 , где n = Q .
Доказательство теоремы опустим.
Пример 3. Табл. 4.8 и 4.9 заданы автомат и соответствующий ему приведенный автомат.
PDF created with pdfFactory Pro trial version www.pdffactory.com

Таблица 4.8 |
|
A |
|
0 |
1 |
Q |
|
q3 |
q4 |
q1 |
|
1 |
1 |
q4 |
q3 |
q2 |
|
1 |
0 |
q5 |
q4 |
q3 |
|
0 |
0 |
q3 |
q4 |
q4 |
|
1 |
1 |
q4 |
q3 |
q5 |
|
1 |
0 |
Таблица 4.9 |
|
A |
|
0 |
1 |
% |
|
Q |
|
q%′′′ |
q%′′ |
q%′ |
|
0 |
0 |
q%′ |
q%′′ |
q%′′ |
|
1 |
1 |
q%′′ |
q%′ |
q%′′′ |
|
1 |
0 |
Задачи повышенной сложности
4.1. Автомат задан каноническими уравнениями:
ìq(0) = 0,
ïíb(t) = a(t) ×q(t), ïîq(t +1) = a(t) Ú q(t).
а) Задать автомат таблицей и диаграммой Мура.
б) Найти f(q1,001) , f(q1,1101) , j(q2 ,110) , j(q1,1101) .
4.2. а) Автомат задан табл. 4.10. Построить приведенный автомат, соответствующий данному автомату. Задать приведенный автомат таблицей и диаграммой Мура.
PDF created with pdfFactory Pro trial version www.pdffactory.com

|
|
|
|
|
|
Таблица 4.10 |
||
|
Q |
|
|
|
|
|
|
|
A |
q1 |
|
|
q2 |
|
q3 |
|
q4 |
|
|
|
|
|
|
|
|
|
0 |
q2 |
0 |
q1 |
0 |
q2 |
1 |
q2 |
0 |
1 |
q1 |
1 |
q3 |
0 q4 |
1 |
q1 |
1 |
б) Автомат задан табл. 4.11. Построить приведенный автомат, соответствующий данному автомату. Задать приведенный автомат таблицей и диаграммой Мура.
Таблица 4.11
|
Q |
|
|
|
|
|
|
|
|
|
A |
q1 |
|
q2 |
|
q3 |
|
q4 |
|
|
q5 |
|
|
|
|
|
|
|
|
|
|
|
a |
q2 |
a |
q1 |
a |
q5 |
a |
q1 |
a |
q3 |
a |
b |
q5 |
b |
q4 |
a |
q2 |
b |
q3 |
b q4 |
a |
4.3.Построить автомат (генератор единиц), заданный условиями: входной и выходной алфавиты автомата совпадают и состоят из двух символов: 0 и 1; входные и выходные сигналы автомата до тех пор пока на его вход первый раз не поступит сигнал 1, совпадают, а после того, как это произойдет, на каждом такте, независимо от сигнала на входе, автомат выдает сигнал 1. Описать работу такого автомата:
а) диаграммой Мура; б) таблицей;
в) каноническими уравнениями.
4.4.Построить автомат с входным и выходным алфавитами A = B = {a,b, c} , который
отыскивает во входной последовательности сочетание аав, причем до первой встречи с данным сочетанием автомат на выходе выдает тот символ, который поступил на входе, а
после встречи с этим сочетанием независимо от входного символа выдает на выходе символ с. Задать автомат:
а) диаграммой Мура; б) таблицей.
Все ли состояния построенного вами автомата отличимы? Если нет, построить по данному автомату приведенный автомат.
PDF created with pdfFactory Pro trial version www.pdffactory.com

4.5.Построить автомат, входной и выходной алфавиты которого совпадают, состоят из трех элементов, а выходной символ представляет собой задержанный на один такт входной символ. Автомат задать:
а) диаграммой Мура; б) таблицей.
4.6.Построить автомат с входным и выходным алфавитами A = B = {0,1} , который во
входной последовательности заменяет символы, стоящие на четных местах, на противоположные, например: 01100101001001→ 00110000011100 . Автомат задать:
а) диаграммой Мура; б) таблицей;
в) системой канонических уравнений.
4.7. Построить автомат с наименьшим числом состояний, удовлетворяющий следующим условиям: ϕ(q0 ,011) =111; ϕ(q0 ,1011) =1101; ϕ(q0 ,11) =10 . Автомат задать:
а) диаграммой Мура; б) таблицей;
в) системой канонических уравнений.
PDF created with pdfFactory Pro trial version www.pdffactory.com