Эквивалентное разбиение

Если известны все пары эквивалентных состояний конечного автомата, то тем самым на множестве S его состояний определено отношение эквивалентности, которому соответствует некоторое разбиение на классы эквивалентности S = {S1, S2 ..., Sn}. При этом состояние, не имеющее эквивалентного ему состояния, составляет класс эквивалентности, единственным элементом которого является это состояние. Обозначим через s'0, s'1, ..., s'n представители классов эквивалентности и через М' – автомат, множеством состояний которого является семейство представителей S' = {s'0, s'1, ..., s'n}. Можно утверждать, что автоматы М и М' эквивалентны (М ~ М'), причем М' имеет минимальное число состояний, т. е. является минцмальной формой автомата.

Объединение эквивалентных состояний в классы эквивалентности осуществляется весьма просто. Если si ~ sj и sj ~ sk, то на основе свойства транзитивности следует, что si ~ sk, и, значит, пары {si , sj}и {sj , sk} входят в общий для них класс эквивалентности. Но для выявления всех пар эквивалентных состояний требуется более громоздкая процедура, так как множество таких пар не исчерпывается явно эквивалентными состояниями и не всегда может быть полностью обнаружено и объединено способом, изложенным ранее.

Для эквивалентного разбиения множества S состояний автомата предложен ряд способов. Один из них основан на последовательном рассмотрении всевозможных пар состояний и исключении тех из них, которые не являются эквивалентными. При этом пары одинаковых состояний {si , si}, являющиеся в силу свойства рефлективности заведомо эквивалентными {si~si}, не рассматриваются. Процедура эквивалентного разбиения осуществляется по таблице пар состояний, которая получается на основе общей таблицы переходов автомата. Так как явно различимые пары состояний (для таких состояний строки в таблице выходов различные) не могут быть эквивалентными, то они в таблицу пар не включаются. Для каждой пары отводится строка, для каждого входа – столбец, ав клетках на основании таблицы переходов указывается пара состояний, в которые переходит автомат из данной пары состояний при данном входном воздействии (порядок записи состояний в каждой паре безразличен). Исключаемые пары отмечаются каким-либо способом (набираются жирным шрифтом, подчеркиваются или снабжаются меткой). Далее приведены общая таблица переходов (табл. 10) и полученная из нее таблица пар состояний некоторого автомата (табл. 11).

Таблица 10

x(n) s(n)
1/1 1/0 4/0
0/0 3/1 3/1
1/1 1/0 4/0
2/0 1/1 1/1
5/1 3/0 2/0
7/0 8/1 5/1
5/1 1/0 7/0
3/1 3/0 6/0
6/0 8/1 6/1

 

Таблица 11

x(n) Пары
0,2 1,1 1,1 4,4
0,4 1,5 1,3 2,4
0,6 1,5 1,1 4,7
0,7 1,3 1,3 4,6
1,3 0,2 1,3 1,3
1,5 0,7 3,8 3,5
1,8 0,6 3,8 3,6
2,4 1,5 1,3 2,4
2,6 1,5 1,1 4,7
2,7 1,3 1,3 4,6
3,5 2,7 1,8 1,5
3,8 2,6 1,8 1,6
4,6 5,5 1,3 2,7
4,7 3,5 3,3 2,6
5,8 6,7 8,8 5,6
6,7 3,5 1,3 6,7

 

Так как одинаковые строки таблицы выходов соответствуют множествам состояний {0, 2, 4, 6, 7} и {1, 3, 5, 8}, то в первом столбце таблицы пар указаны только попарные комбинации таких состояний, которые входят в одно и то же множество, т. е. не являются явно различимыми.

Исключение пар основано на следующем положении: если состояния si и sj эквивалентны, то эквивалентными являются и состояния, в которые автомат переходит под любым входным воздействием. Это значит, что на первом шаге необходимо отметить те пары, которые переходят в пары, состоящие из различных состояний и отсутствующие в первой графе таблицы. Так как обозначенные пары не могут быть эквивалентными, то на следующем шаге отмечаются все те пары, которые переходят в пары, отмеченные на предыдущем шаге и т. д. Процесс заканчивается тогда, когда среди неотмеченных пар уже нет таких, которые можно отметить в соответствии с изложенным правилом. После этого неотмеченные пары и представляют собой попарно эквивалентные состояния.

В приведенном примере на первом шаге отмечаются пары {1, 8}, {3, 8} и {5, 8}, на втором – {1, 5} и {3, 5}, на третьем – {0, 4}, {0, 6}, {2, 4}, {2, 6}, {4, 7} и {6, 7}. Эквивалентными являются неотмеченные пары {0, 2}, {0, 7}, {1, 3}, {2, 7} и {4, 6}, образующие классы эквивалентности S0 = {0, 2, 7}, S1 = { 1, 3} и S2 = { 4, 6}. Кроме того, не вошедшие в эти множества состояния 5 и 8 образуют классы эквивалентности S3 = {5} и S4 = {8}. Обозначив представителей полученных пяти классов соответственно числами от 0 до 4, получим для рассматриваемого автомата минимальную форму с пятью состояниями и общей таблицей переходов (табл. 12).

Таблица 12

x(n) s(n)
1/1 1/0 2/0
0/0 1/1 1/1
3/1 1/0 0/0
0/0 4/1 3/1
2/0 4/0 2/1

 

Следует отметить, что автомат, все состояния которого эквивалентны, сводится к автомату с одним состоянием, т. е. представляет собой по существу комбинационную схему. Автомат, среди состояний которого нет эквивалентных, является несократимым. Если М' – минимальная форма автомата М, то она единственна и несократима.