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

Лекции / 05EquivAvtw

.pdf
Скачиваний:
14
Добавлен:
28.06.2014
Размер:
178.08 Кб
Скачать

5 Эквивалентность конечных автоматов. Минимизация конечных автоматов

5.1 Эквивалентность конечных автоматов

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

5.1.1 Отличимость и неотличимость состояний автоматов

Пусть V = (A; Q; B; '; Ã) è V 0

= (A; Q0; B; '0; Ã0) конечные автоматы.

Если для любого слова ® 2 A¤ выполняется

 

 

 

 

 

 

 

 

ï(q; ®) = ï0(q0; ®);

 

 

 

ãäå q

2

Q; q0

2

Q0; то состояние q автомата V называется неотличимым от

 

 

 

Иначе (то есть если

ï(q; ®) = ï0(q0; ®) при некотором

состояния q0автомата V 0:

 

 

 

 

 

 

 

 

 

 

6

 

àâòî-

слове ®) состояние q автомата V называется отличимым от состояния q0

 

ìàòà V 0: В последнем случае говорят, что состояния q è q0 отличимы

словом

® или что это слово отличает эти состояния.

5.1.2Отношение эквивалентности на множестве состояний автомата. Автоматы привед¼нного вида

Ïðè V = V 0 имеем отношения отличимости и неотличимости на множестве состояний автомата V: Неотличимость состояний q è q0 обозначают

q » q0:

Отношение неотличимости » является отношением эквивалентности и разбивает множество Q состояний автомата на классы эквивалентности

[q]» = fq0 n q » q0g

попарно неотличимых состояний. Таким образом,

Q = Q1 [ Q2 [ : : : [ Qi : : : [ Qs;

ãäå

Qi = [qi]»; i 6= j ! Qi \ Qj = ; èëèQi = Qj:

Если любые два состояния автомата отличимы, то автомат называется автоматом приведенного вида. В этом случае классы эквивалентности одноэлементные:

[q]» = fqg:

7

состояние q0 автомата V 0 и для любого состояния q0 автомата V 0

5.1.3 Отношение эквивалентности на множестве автоматов

Пусть для любого состояния q автомата V существует неотличимое от q существует со-

стояние q автомата V неотличимое от состояния q0. Тогда автоматы V è V 0 íàçû-

ваются неотличимыми, поскольку их нельзя различить по внешним реакциям на одно и то же входное слово. Неотличимость автоматов V è V 0 обозначается

V¼ V 0

èявляется отношением эквивалентности, которое разбивает класс K(A; B) всех конечных автоматов вида (A; Q; B; '; Ã); ãäå Q конечное подмножество некоторого фиксированного счетного множества U; на классы неотличимых автоматов. Класс эквивалентности, содержащий данный автомат V; обозначается

KV (A; B) : KV (A; B) = fV 0; V ¼ V 0g:

5.1.4 Изоморфизм конечных автоматов

Конечные автоматы V = (A; Q; B; '; Ã) è V 0 = (A; Q0; B; '0Ã0) называются изоморфными, если существует биекция » : Q ! Q0; при которой выполняются следующие соотношения:

»('(q; a)) = '0(»(q); a); Ã(q; a) = Ã0(»(q); a):

Очевидно, что изоморфные автоматы неотличимы, нетрудно привести примеры неизоморфных неотличимых автоматов.

5.1.5 Теорема Мура

Теорема 5.1 (Мур, 1956.) Пусть A è B конечные множества и V 2 K(A; B): Тогда класс KV (A; B) содержит с точностью до изоморфизма един-

ственный автомат приведенного вида.

Доказательство. Сначала покажем, что в указанном классе имеется автомат V 0 приведенного вида, а затем, что любой другой автомат V 00 приведенного

вида из этого класса изоморфен автомату V 0:

Пусть V = (A; Q; B; '; Ã) и множество Q разбито на классы

Q1; : : : ; Qn0

попарно неотличимых состояний. Рассмотрим два состояния q è q0 из некоторого

класса Qi; i 2 f1; : : : ; n0g и элемент a 2 A: Åñëè '(q; a) 2 Qj è '(q0; a) 2 Qj0; òî

j = j0; поскольку в противном случае найдется слово ®; ® 2 A¤; для которого

¯

¯

0

; a)®):

Ã('(q; a); ®) 6= Ã('(q

(Слово, отличающее состояния '(q; a) 2 Qj è '(q0; a) 2 Qj0). Но в этом случае (j =6 j0) слово будет отличать состояния q; q0 из одного и того же класса

неотличимости.

8

Теперь можно определить функцию

'0 : fQ1; : : : Qn0g £ A ! fQ1; : : : ; Qn0g

следующим образом:

'0(Qi; a) = ['(q; a)]¼; q 2 Qi:

 

В силу неотличимости состояний в классах Qi

 

8q; q0 2 Qi8a 2 AÃ(q; a) = Ã(q0; a):

Поэтому однозначно определяется и функция

Ã0 : fQ1; : : : ; Qn0g £ A ! B;

а именно

Ã0(Qi; a) = Ã(q; a); q 2 Qi:

 

 

 

 

 

 

 

Рассмотрим теперь автомат

 

 

 

 

 

 

 

 

V 0 = (A; fQ1; : : : ; Qn0g; B; '0; Ã0):

 

 

 

Не ограничивая общности, полагаем, что

f

Q

; i = 1; : : : n0

g

элементы множе-

 

 

 

i

 

 

выполняется

ñòâà U: Из определения функций '0; Ã0 следует, при q 2 Qi; ® 2 A¤

 

равенство

¯

¯0

(Qi; ®):

 

 

 

 

Ã(q; ®) = Ã

 

 

 

Поэтому автоматы V è V 0 неотличимы:

 

 

 

 

 

 

 

 

V ¼ V 0

 

 

 

 

 

è

V 0

2 KV (A; B):

 

 

 

 

 

 

 

Построенный автомат является автоматом привед¼нного вида. Действитель-

íî, åñëè [q]

= [q0

]

»

; то состояния q è q0

отличимы, то есть, найд¼тся слово ®;

такое, что

» 6

 

 

 

 

 

 

 

 

 

 

 

¯

¯

0

; ®)

 

 

 

 

 

и, следовательно,

 

 

 

Ã(q; ®) 6= Ã(q

 

 

¯0

 

¯0

 

0

]»; ®):

 

 

 

 

 

 

 

 

 

 

Ã

([q]»; ®) 6= Ã

([q

Таким образом, состояния [q]» è [q0]» отличимы словом ® и автомат V 0 является

автоматом привед¼нного вида.

Пусть

V 00 = (A; Q00; B; '00; Ã00); Q00 = fQ100; : : : Qn0000g

 

другой автомат приведенного вида из класса KV (A; B): Покажем, что он изоморфен автомату V 0:

9

и, следовательно, любым состояниям

Каждому состоянию Qi автомата V 0 соответствует единственное (в силу то- го, что автомат V 00 является автоматом привед¼нного вида) неотличимое со-

стояние Qj автомата V 00 и наоборот, каждому состоянию Qj автомата V 00 ñî- ответствует единственное неотличимое состояние Qi автомата V 0: Указанное соответствие » влечет равенство чисел состояний (n0 = n00) и является биекцией

» :

Qj = »(Qi); Qi = »¡1(Qj):

Òàê êàê Qi è »(Qi) неотличимы, то для любого a 2 A неотличимы также состояния '0(Qi; a) è '00(»(Qi); a) автоматов V 0 è V 00: Это означает, что

»('0(Qi; a)) = '00(»(Qi); a):

Равенство

Ã0(Qi; a) = Ã00(»(Qi); a)

 

вытекает из неотличимости состояний Qi; »(Qi): Таким образом, автоматы V 0 è V 00 изоморфны. Теорема доказана.

5.2 Минимизация конечных автоматов

5.2.1 Разбиения, согласованные по выходу

Пусть ¼ = fQi; : : : Qsg некоторое разбиение множества состояний автомата

V = (A; Q; B; '; Ã):

Это разбиение называется согласованным мента разбиения X 2 ¼, для любых состояний

выполняется тождественно Ã(qi; a) = Ã(qj; a) дов, соответствующие состояниям qi; qj множества X совпадают).

по выходу, если для любого эле- qi; qj 2 X и любого символа a 2 A

(то есть столбцы таблицы выхо-

5.2.2 Разбиения, согласованные по перходам

Разбиение ¼ называется допустимым (согласованным по переходам), если для

любых X 2 ¼; a 2 A найдется такое подмножество Ya 2 ¼; ÷òî '(X; a) µ Ya:

Здесь '(X; a) = fq0 n q = '(q; a); q 2 Xg:

5.2.3 Теоремы о разбиениях на классы неотличимых состояний

Теорема 5.2. Разбиение множества Q состояний конечного автомата на

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

10

автомата. Элемент

Теорема 5.3. Разбиение множества Q на классы неотличимых состояний

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

5.2.4 Алгоритм разбиения на классы эквивалентных состояний

Алгоритм разбиения множества Q состояний автомата на классы неот-

личимых состояний можно описать следующим образом.

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

2) Пусть ¼ = fX1; : : : ; Xsg разбиение, полученное на предыдущем шаге.

Построить таблицу переходов для классов разбиения. Строки такой таблицы соответствуют элементам a 2 A; столбцы элементам множества состояний Q

Xij таблицы есть то подмножество разбиения, которому принадлежит '(qj; ai): Подмножества нового разбиения соответствуют одинаковым

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

3) Если полученное в п.2 разбиение не совпало с предыдущим, то перейти к ï.2,4) Конец.

5.2.5 Алгоритм построения автомата привед¼нного вида

Рассматривая классы эквивалентности, полученные по рассмотренному алгоритму, как состояния привед¼нного автомата, можно построить для него таблицы перходов и выходов.

5.3 Пример

Пусть функции '; Ã автомата

V = (fa1; a2g; fq1; q2; q3; q4; q5; q6g; fb1; b2g; '; Ã)

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

T'

q1

q2

q3

q4

q5

q6

a1

q2

q1

q4

q3

q1

q1

a2

q3

q3

q5

q2

q6

q5

 

 

 

 

 

 

 

TÃ

q1

q2

q3

q4

q5

q6

a1

b1

b1

b2

b1

b2

b2

a2

b2

b2

b1

b2

b1

b1

5.3.1 Разбиение на классы эквивалентных состояний

По таблице выходов получаем разбиение, согласованное по выходам:

¼0 = ffq1; q2; q4g; fq3; q5; q6gg = fX10; X20g:

11

Составим таблицу T¼0 переходов для классов разбиения ¼0:

T¼0

q1

q2

q4

q3

q5

q6

a

1

X0

X0

X0

X0

X0

X0

 

1

1

2

1

1

1

a

2

X0

X0

X0

X0

X0

X0

 

2

2

1

2

2

2

По этой таблице найдем подразбиение

¼1 = ffq1; q2g; fq4g; fq3; q5; q6gg = fX11; X21; X31g

Таблица T¼1 переходов для классов разбиения ¼1 имеет вид

T¼1

q1

q2

q4

 

q3

q5

q6

a

1

X1

X1

X1

 

X1

X1

X1

 

1

1

3

 

2

1

1

a

2

X1

X1

X1

 

X1

X1

X1

 

3

3

1

 

3

3

3

Разбиение ¼2; соответствующее этой таблице следующее:

¼2 = ffq1; q2g; fq3g; fq4g; fq5; q6gg = fX12; X22; X32; X42g:

Ему соответствует таблица T¼2

T¼3

q1

q2

q3

q4

q5

q6

a

1

X2

X2

X2

X2

X2

X2

 

1

1

3

2

1

1

a

2

X2

X2

X2

X2

X2

X2

 

2

2

4

1

4

4

Разбиение ¼3; соответствующее таблице T¼3 совпадает с разбиением ¼2:

5.3.2 Построение привед¼нного автомата

Рассматривая подмножества полученного разбиения как состояния

q10 ; q20 ; q30 ; q40

приведенного автомата V 0 = (A; fq10 ; q20 ; q30 ; q40 g; '0; Ã0); построим его таблицы переходов и вы-

ходов.

 

 

 

 

 

 

T'0

q10

q20

q30

q40

 

 

 

 

a1

q10

q30

q20

q10

 

 

a2

q20

q40

q10

q40

 

 

 

 

 

 

 

 

 

TÃ0

q10

q20

q30

q40

 

a1

b1

b2

b1

b2

 

 

a2

b2

b1

b2

b1

 

Замечание. Элементы таблиц определяются следующим0 образом:

T'0(i; j) = ['(qs; ai)]¼ = [T'(i; s)]¼ для любого qs 2 qj: TÃ0(i; j) = Ã(qs; ai) = TÃ(i; s) для любого qs 2 qj0 :

5.4Упражнения

5.1.Убедитесь, что конечные автоматы, построенные в упражнениях 1.1 и 1.2, являются автоматами приведенного вида.

5.2.Минимизируйте автомат, построенный в упражнении 1.3.

5.3.Определите для каждой пары состояний автомата привед¼нного вида, построенного в п. 5.2.2, отличающие эти состояния слова минимальной длины.

12

Соседние файлы в папке Лекции