Лекции / 05EquivAvtw
.pdf5 Эквивалентность конечных автоматов. Минимизация конечных автоматов
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
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) слово a® будет отличать состояния 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