Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы дискретной математики

.pdf
Скачиваний:
443
Добавлен:
05.06.2015
Размер:
1.93 Mб
Скачать

§ 4.2. Реализация ограниченно-детерминированных функций конечными автоматами

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

Базовые понятия и утверждения

1. Конечный автомат Мили, способы его задания. Рассмотрим произвольную ограниченно-детерминированную функцию f : AB. Функцию 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