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

Книги и конспекты / Горьковой Дискретная Математика

.pdf
Скачиваний:
154
Добавлен:
28.05.2022
Размер:
1.1 Mб
Скачать

3

АВТОМАТЫ

3.1. Полностью определенные автоматы

Расмотрим автомат, у которого кроме функции переходов задана также функция выходов.

О п р е д е л е н и е 30 . Конечным автоматом называется набор из пяти объектов M = [X, Q, Y, F, ζ]. Здесь

X = {x0, x1, ..., xn} — выходные символы (входной алфавит), Q = {q0, q1, ..., qr } — множество внутренних состояний,

Y = {y0, y1, ..., ym} — множество выходных символов (выходной алфавит),

F : Q × X → Q — функция перехода (в следующее состояние),

ζ : Q × X → Y — функция выхода.

Автоматы мы будем задавать в виде таблицы. Например, если

X = Y = {0, 1}, Q = {q0

, q1

, q2}, то автомат M может быть задан

следующим образом с помощью функций перехода и выхода

0

 

7→

1

 

 

 

 

 

0

 

0) 7→0

F : (q , 0)

 

 

 

 

ζ : (q ,

 

 

q

 

 

 

 

 

 

 

 

 

 

 

 

 

0

, 1)

7→

0

 

 

 

 

 

0

 

1) 7→1

(q

 

 

 

 

 

(q

,

 

 

q

 

 

 

 

 

 

 

 

 

 

 

 

 

1

, 0)

7→

2

 

 

 

 

 

1

 

0) 7→1

(q

 

 

 

 

 

(q

,

 

 

q

 

 

 

 

 

 

 

 

 

 

 

 

 

1

, 1)

7→

1

 

 

 

 

 

1

 

1) 7→0

(q

 

 

 

 

 

(q

,

 

 

q

 

 

 

 

 

 

 

 

 

 

 

 

 

2

, 0)

7→

0

 

 

 

 

(

2

 

0) 7→1

(q

 

 

 

 

 

q

,

 

 

q

 

 

 

 

 

 

 

 

 

2

, 1)

7→

2

 

 

 

 

 

2

 

1) 7→0

(q

 

 

 

 

 

(q

,

 

 

q

 

 

 

 

 

 

 

 

 

 

 

 

 

Или в виде таблицы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Q

 

F

0

1

 

ζ

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

1

0

 

 

 

 

0

1

 

 

 

 

 

q

 

 

q

q

 

 

 

 

 

 

 

 

1

 

 

2

1

 

 

 

 

1

0

 

 

 

 

 

q

 

 

q

q

 

 

 

 

 

 

 

 

2

 

 

0

2

 

 

 

 

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

q

 

 

q

q

 

 

 

 

 

которую следует понимать таким образом. В первой колонке перечисляются элементы множества Q. В первой строке перечисля-

51

ются элементы входного алфавита X. Во второй колонке таблицы задается функция перехода F . А в третьей колонке — функция выхода ζ.

Так, если на вход автомата подается последовательность входных символов x¯ = 01, то автомат, начинающий свою работу из состояния q0, под действием входного символа 0 переходит в состояние q1 и на выходе появляется символ 0. Под действием входного символа 1 из состояния q1 автомат переходит в состояние q1 и на выходе появляется 0.

Пусть M = [X, Q, Y, F, ζ] некоторый автомат. Тогда по любой входной строке x = x0, x1, ..., xr−1 длины r и по любому начальному состоянию q0 Q однозначно определяется строка длины r внутренних состояний q = q0, q1, ..., qr−1, которая получается последовательным применением отображения F , точнее

qj+1 = F (qj , xj ); j = 0, 1, ..., r − 2.

(3.1.1)

Аналогично,

 

yj = ζ(qj , xj ); j = 0, 1, ..., r − 1.

(3.1.2)

Поэтому, рассматривая автомат как устройство, преобразующее

пары (q0, x = x0, ..., xr−1) в строки q = q0, q1, ..., qr−1 и y =

y0, y1, ...yr−1 мы можем с помощью (1) и (2) определить функции

 

 

 

r

r

;

r

r

(3.1.3)

 

Fr : Q × X

→ Q

ζr : Q × X

→ Y .

Здесь X , Y

, Q

r

множество строк длины r символов из X, Y, Q со-

r

r

 

 

 

 

 

 

ответственно.

Далее будет решаться следующая задача.

Пусть входной и выходной алфавит фиксированы. По даннаому

˜

˜

˜ ˜

автомату M = [X, Q, Y, F, ζ] найти автомат M

= [X, Q, Y, F , ζ] с

меньшим числом состояний, но с той же функцией, переводящей входы в выходы.

О п р е д е л е н и е 31. Автомат ˜ покрывает автомат

M

˜

 

 

 

M , и пишут M ≥ M , если входной и выходной алфавиты у этих

 

 

 

 

 

 

 

˜

автоматов общие и существует функция ϕ : Q → Q, такая, что

для любого положительного числа r

 

 

 

 

 

˜

 

 

 

r

(3.1.4)

 

 

 

 

ζr (q, x) = ζr (ϕ(q), x) при всех x X .

52

О п р е д е л е н и е 32. Автоматы M и

˜

 

 

M эквивалентны,

и в этом случае пишут

 

˜

 

 

˜

˜

M ≡ M , если M покрывает M и M по-

 

 

 

 

 

 

˜

 

 

 

 

крывает M , т.е. кроме функции ϕ : Q → Q со свойством (3.1.4),

существует функция

 

˜

 

 

 

 

 

ψ : Q → Q, такая, что

 

 

 

 

˜

 

 

 

 

 

 

 

 

r

 

 

) =

r (

(˜)

) при всех ˜ и

 

 

(3 1 5)

ζr

x

X .

q, x

 

ζ

ψ q , x

q

 

. .

О п р е д е л е н и е 33. Морфизмом называется такое

 

˜

 

 

отображение θ : Q → Q, что

 

˜

(θ(q), x) = θ(F

˜

(3.1.6)

F

(q, x)) и ζ(θ(q), x) = ζ(q, x),

для всех q Q и x X.

Если θ сюръективно, то оно эпиморфизм, если θ биективно, то

— изоморфизм.

Лемма 4. Пусть эпиморфизм автомата на ˜ , тогда для

θ M M

любой входной строки x = x0, x1, ..., xn−1 и начального состояния q0 Q выходная строка y = y0, y1, ..., yn−1 автомата M совпада-

 

 

 

 

 

 

 

˜

ет с выходной строкой автомата M , если начальное состояние

˜

0

=

(

 

0

)

 

автомата M

равно ˜

q

 

.

 

q

 

θ

 

 

Д о к а з а т е л ь с т в о. Доказательство проводится индукцией по n.

k+1

=

˜

k k

) =

˜

(

(

k

)

k

) =

(

 

 

 

(

k k

)) =

(

 

k+1

)

 

˜

F (˜

 

F

q

, x

F

q , x

q

 

,

q

 

 

q , x

 

 

 

θ

 

 

 

θ

 

 

θ

 

 

k

˜

k

k

) =

˜

(

 

k

k

) =

(

k

 

 

k

) =

k

 

 

 

 

 

 

˜ = ζ(˜

 

(

q , x

q , x

 

y .

 

 

 

 

 

y

 

q , x

 

 

ζ

θ

 

 

ζ

 

 

 

 

 

 

 

 

 

О п р е д е л е н и е 34. Состояния qi и qj называются r-эквивалентными, если для всякой входной строки x Xr

ζr (qi, x) = ζr (qj , x)

В этом случае пишут qiEr qj или (qi, qj ) G(Er ), где G(Er ) — график бинаоного отношения Er . Если qiEr qj для всех r, будем писать qiEqj и говорить, что qi и qj эквивалентны. Бинарные отношения E и Er — отношения эквивалентности.

Вместо (

i

j

) (

 

r ) мы пишем

i

r

j

. Например, для авто-

 

 

 

 

 

 

 

 

 

 

 

 

q , q

 

/ G E

 

 

 

 

 

q E q

 

 

 

мата (A)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Q

 

F 0

1

 

ζ

 

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

2

1

 

 

 

0

1

 

 

 

 

 

q

 

 

q

q

 

 

 

 

 

 

 

 

 

1

 

0

2

 

 

 

1

0

 

 

 

 

 

q

 

 

q

q

 

 

 

 

 

 

 

 

 

2

 

0

1

 

 

 

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

q

 

 

q

q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

53

графики 1-эквивалентных и 1-неэквивалентных состояний имеют вид

G(E1) = {(q0, q2), (q2, q0), (q0, q0), (q1, q1), (q2, q2)}

G(E) = {(q0, q1), (q1, q0), (q1, q2), (q2, q1)}

1

Решение задачи минимизации оказывается лучше всего начать с выявления неэквивалентных состояний.

О п р е д е л е н и е 35. Положим F : Q × Xr → Q :

F (q0, x) = qr−1 = F (...(F (F (q0, x0), x1), ...), xr−2).

Это означает. что F (q0, x) есть последнее состояние автомата, начавшего работу в состоянии q0 и считавшего входную

строку x длины r.

Положим далее ζ : Q × Xr → Y :

ζ (q0, x) = yr−1 = ζ(...F (F (q0, x0), x1), ..., xr−1).

Это означает, что ζ (q0, x0) есть последний символ выходной строки автомата, начавшего работу в состоянии q0 и считавшего вход-

ную строку

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

Так, для автомата

(A) при r

=

3

имеем

F (q0, 101) =

q1, F (q1, 101) = q1, ζ (q0

, 101) = 1,

ζ (q1, 101) = 1.

 

 

 

Две теоремы о неэквивалентных состояниях.

 

 

 

 

 

Теорема 16. Если qiEqj , то либо qiE

qj ,

либо для подходя-

 

 

 

 

0

r−1

 

 

 

i

 

1

 

 

j

 

 

 

 

) имеем

 

 

 

 

 

 

 

 

 

 

 

 

щей строки x = (x , ..., x

 

F

(q , x)E1F

(q , x)).

До к а з а т е л ь с т в о. Утверждение qiEqj означает, что

ζ(qi, x) =6 ζ (qj , x) для подходящей строки x = (x0, ..., xr−1). При

необходимости мы можем укоротить входную строку x так, чтобы выходные строки, отвечающие qi и qj , отличались только последними символами. Пусть это уже сделано. Если после этого r = 1,

i ′ j

i ′ j

i

j

при k < r.

то, очевидно, q E1q

. Если же r > 1, то q Er q

, но q Ek q

 

Таким образом, последние выходные символы автомата, считавшего x, различны, если он исходил из начальных состояний qi и qj соответственно. Чтобы выходы отличались, ζ (qi, x) =6 ζ (qj , x),

должно быть F

(q , x)E1F

(q , x). Иначе последний входной сим-

 

i

 

j

 

 

вол xr−1 даст один и тот же выходной символ. Имеет место более сильная теорема.

54

Теорема

17.

Если qiErqj , но qiEk qj для всех k < r, то

i l

j l

l

X.

F (q , x

)Er−1F (q , x

) для подходящего x

Д о к а з а т е л ь с т в о. Переформулировка этого утверждения

такова: если (q , q

) G(Er ) − G(Er−1), то для подходящего x

X

i j

 

l

 

имеем (F (q , x

), F (q , x

)) G(Er−1) − G(Er−2).

 

i k

 

j k

 

 

Эта теорема утверждает, что состояния qi, qj , эквивалентные относительно всех входных последовательностей длины r − 1, могут оказаться неэквивалентными относительно последовательностей длины r только в том случае, когда имеется символ xk , переводящий qi, qj соответственно в состояния ql, qm, неэквивалентные относительно подходящей входной последовательности длины r −1. Это означает, что на r-м шаге достаточно исследовать состояния в G(Er−1) и установить, найдется ли пара qi, qj , переходящая

в пару q , q

со свойством q Er−1q

m

. В этом случае q Er q

.

l m

l ′

i ′ j

 

Если мы уже определили ( ), то ( ) состоит из ( ) и

G E1 G E2 G E1

таких упорядоченных пар (qi, qj ), что для некоторого xp имеем

(F (qi, xp), F (qj , xp)) G(E). В общем случае нужно исследовать

1

каждый раз только G(Er−1) −G(Er−2). Таким способом мы сумеем

рекурсивно определить G(E) и, наконец, G(E) — дополнение к G(E) в булевой алгебре подмножеств S × S.

Доказательство теоремы проводится непосредственно. Если па-

ра (q , q

) лежит в G(Er−1), то она не лежит в G(Er ) − G(Er−1).

k l

Значит, нужно рассматривать лишь такие пары (qk , ql), что для некоторой строки x Xr имеем ζ(qk , x) =6 ζ (ql, x), а для всех строк x Xr−1 имеем ζ (qk , x) = ζ (ql, x). Но это в точности те пары,

которые переводятся в G(E1)

(r − 1)-м входным символом xr−2 и,

стало быть, в G(Er−1) − G(Er−2) некоторым символом x

X.

 

0

 

Лемма 5. Если

G(Er ) − G(Er−1) = , то G(Er ) = G(Er+k ) для

всех k ≥ 0.

Действительно, дальнейшие шаги не добавят новых пар состо-

яний, ибо, согласно теореме 2, дополнение G(Er+1)−G(Er ) состоит

из тех пар, которые переводятся подходящим символом xi X в

дополнение G(Er ) − G(Er−1).

П р и м е р 14. Пусть автомат M задан следующей таблицей:

55

Q

F

0

1

ζ

0

1

1

 

1

2

 

1

0

q

 

q

q

 

2

 

1

3

 

1

0

q

 

q

q

 

3

 

5

1

 

1

0

 

 

q

 

q

q

 

4

 

4

2

 

1

0

q

 

q

q

 

5

 

4

3

 

1

1

 

 

q

 

q

q

 

При формировании графиков неэквивалентных состояний мы в дальнейшем не бедем включать в перечень неэквивалентных состояний симметричные к данным пары, а в графики эквивалентных состояний не включать еще и пары типа (qi, qi).

График 1-неэквивалентных состояний для данного автомата имеет вид:

G(E) = {(q1, q5), (q2, q5), (q3, q5), (q4, q5)}.

1

Согласно теореме 17, график 2-неэквивалентных состояний состоит из 1-неэквивалентных состояний и тех пар состояний, которые под действием некоторого входного символа переходят в 1- неэквивалентные состояния, т.е.

G(E) = G(E) {(q1, q3), (q2, q3), (q3, q4)}.

2 1

Аналогично,

G(E) = G(E) {(q1, q2), (q2, q4)}.

3 2

Дальнейший перебор показывает, что ( ) = ( ). Таким обра-

G E3 G E4

зом, G(E4) = G(E3), E = E3 и q1Eq4, а остальные пары состояний неэквивалентны.

3.2. Неполностью определенные автоматы

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

56

Q

F 0

1

ζ 0

1

0

 

2

1

0

1

q

q

q

1

 

2

1

0

q

q

2

 

0

1

— 1

 

q

 

q

q

Для описания способа минимизации неполностью определенных автоматов нам потребуются следующие определения.

Оп р е д е л е н и е 36. Входная последовательность x = x0, x1, ..., xr−1 называется допустимой для автомата в начальном состоянии qj , если функция F перехода в следующее состояние определена для всех элементов последовательности,

кроме, возможно, последнего.

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

О п р е д е л е н и е 37. Выходная строка y покрывает выходную строку y ( в которой могут быть неопределенные символы), если всякий определенный символ yj в y равен соответствующе-

му символу yj в y.

Например, строка y = 0, 1, 1 покрывает строку y =—,1,1. Строка 0,1,0 покрывает —,1,0. Если y покрывает y, то пишем y ≥ y.

О п р е д е л е н и е 38. Если ζr (qk , x) ≥ ζr (qj , x) для всех x

допустимых для qj , мы пишем qk ≥ qj и говорим, что qk покрывает qj .

О п р е д е л е н и е 39. Автомат M покрывает автомат M , если для каждого состояния qj автомата M существует такое состояние qk автомата M , что ζr (qk , x) ≥ ζr (qj , x) для всех x,

допустимых для qj .

В этом случае мы пишем M ≥ M . Очевидно, в случае M = M состояние qk покрывает qj , если ζr (qk , x) ≥ ζr (qj , x) для всех x, допустимых для qk , и мы пишем qk ≥ qj .

Рассмотрим следующие автоматы

Q

 

0

1

 

0

1

 

˜

 

0

1

 

0

1

 

 

 

 

 

 

 

Q

 

 

0

 

0

 

1

0

1

 

0

 

0

0

 

0

1

q

 

q

q

 

 

˜

 

˜

˜

 

 

 

 

 

 

 

q

 

q

q

 

 

 

1

 

1

 

0

1

1

 

0

1

 

1

1

 

 

 

 

q

 

q

q

 

 

˜

 

˜

˜

 

 

 

 

 

 

 

 

 

q

 

q

q

 

 

 

2

 

0

 

2

1

1

 

 

 

 

 

 

 

 

q

 

q

q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

57

˜

 

 

 

 

 

0

покры-

Автомат M покрывает автомат M ,

так как состояние ˜

вает состояния q

и q

, а состояние ˜

покрывает

 

 

q

 

 

2

.

 

0

1

1

 

 

 

 

 

 

q

 

q

 

 

 

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

Оп р е д е л е н и е 40. Выходная строка y совместима

свыходной строкой y, если в каждой позиции, где символы обеих строк определены, они совпадают. В этом случае мы будем

писать yγy.

Например, строка 0,1,—,1 совместима с 0,—,1,—, или с —,0,— ,1. Заметим, что γ не является отношением эквивалентности. Оно рефлексивно, симметрично, но не транзитивно.

Так как сравниваемые неполностью описанные автоматы могут содержать неопределенные символы как в таблице переходов так и в таблице выходов, изменится и отношение между состояниями таких автоматов.

О п р е д е л е н и е 41. Состояние qi называется совместимым по выходу с состоянием qj , если ζ(qi, x)γζ(qj , x) для

всех . В этом случае мы пишем i 1 i. Если состояния не x X q σ q

1

совместимы по выходу, мы пишем qk σqi.

Иначе говоря, два состояния совместимы по выходу, или 1- совместимы, если для каждого входного символа их выходы совпадают, когда они определены.

О п р е д е л е н и е 42. Состояния qi и qj называются совместимыми, если для всех x Xr , допустимых как для qi,

так и для qj , имеем ζr (qi, x)γζr (qj , x).

В этом случае мы пишем qiσqj . Если qk и ql совместимы не для всех x, мы пишем qk σql. Если состояния qi и qj совместимы для всех строк фиксированной длины k, то состояния qi и qj называем

k-совместимыми и пишем qi

k

 

 

 

 

 

 

 

σ qj .

 

 

 

 

 

 

 

Рассмотрим автомат M , заданный следующей таблицей:

 

 

1

2

3

4

 

1

2

3

4

 

 

 

 

 

Q

F x x x x

 

ζ x x x x

 

 

 

 

 

 

 

 

 

 

 

q1

q2 − q3

q2

 

0

– – –

 

q2

q3

q5

q2

 

0

1

0 –

 

q3

q3

q4 − q5

 

0

1

– 0

 

q4

− q1

q2

 

– 1

– –

 

q5

− − q1

 

– – 1 –

58

Для упрощения записи состояние qi будем обозначать через i. Тогда график 1-совместимых состояний будет иметь вид:

1

G(σ) = (1, 2)(1, 3)(1, 4)(1, 5)(2, 3)(2, 4)(3, 4)(3, 5)(4, 5)

Вычислим графики несовместимых состояний. Для чего по автомату M вычислим следующую таблицу совместимости для 1- совместимых состояний и воспользуемся Теоремой 17 о несовместимых состояниях:

 

1

2

3

4

 

x

x

x

x

 

 

 

 

 

(1,2)

(2,3)

(2,3)

(1,3)

(2,3)

(2,5)

(1,4)

(2,3)

(1,5)

(1,3)

(2,3)

(4,5)

(2,4)

(1,5)

(3,4)

(1,4)

(3,5)

(4,5)

(1,2)

Те пары 1-совместимых состояний, которые переходят под действием некоторого входного символа в пару 1-несовместимых состояний, согласно теореме 2 оказываются 2-несовместимыми и т.д. Последовательное вычисление несовместимых состояний дает:

1

2

G(σ) = (2, 5), G(σ) = (2, 5)(1, 3),

3

4

G(σ) = (2, 5)(1, 3)(1, 5), G(σ) = (2, 5)(1, 3)(1, 5)(2, 4)

Таким образом, график совместимых состояний будет иметь вид:

G(σ) = (1, 2)(1, 4)(2, 3)(3, 4)(3, 5)(4, 5)

Расширим теперь понятие совместимости, учитывая, что склеиваться могут не только пары состояний.

О п р е д е л е н и е 43. Совместимым классом Ck называется такое множество внутренних состояний q1, q2, ..., qm, что

qiσqj для всех qi, qj Ck .

Для выше приведенного автомата совместимые классы таковы: (1,2),(1,4),(2,3), (3,4),(3,5),(4,5).

59

Оп р е д е л е н и е 44. Некоторое множество совместимых классов называется согласованным, если для любого класса

Ck из этого множества и любых его элементов qi, qj внутренние состояния F (qi, xk ), F (qj , xk ) принадлежат подходящему совместимому классу Ci для любого входного символа xk .

Оп р е д е л е н и е 45. Некоторое множество совместимых классов называется замкнутым, если всякое внутреннее состояние автомата принадлежит хотя бы одному из этих классов.

Теорема 18. Пусть задано замкнутое согласованное множество совместимых классов для автомата M . Тогда существует автомат M , состояния которого получаются склеиванием всех состояний M , содержащихся в одном совместимом классе

из данного множества.

Д о к а з а т е л ь с т в о. Пусть задано замкнутое согласованное множество совместимых классов. Склеим все состояния класса Ci в одно новое состояние qj . Определим ζ(qj , xk ) как ζ(qi, xk ), если эти значения определены для всех qi Ci. Определим F (qj , xk ) как qm, если F (qj , xk ) Cm для всех qi Ci. Каждое новое состояние покрывает все состояния соответствующего класса.

Очевидно, для получения минимального автомата M , необходимо выбрать замкнутое согласованное множество совместимых классов, состояшее из наименьшего числа согласованных классов. Вт предыдущем примере таким множеством является (1,2),(2,3),(4,5), а соответствующий минимальный автомат имеет вид

 

1

2

3

4

1

2

3

4

Q

F x x x x

ζ x x x x

 

 

 

 

 

 

 

 

 

1

2

3

2

1

0

1

0

¯

¯

¯

¯

¯

q

q

q

q

q

 

 

 

 

2

2

3

1

3

0

1

0

0

¯

¯

¯

¯

¯

q

q

q

q

q

 

 

 

 

3

1

1

1

1

¯

¯

¯

q

 

q

q

 

 

 

 

 

60