Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 13, 14Конечные автоматы.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
441 Кб
Скачать
☆

Минимизация автоматов

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

Минимизация числа состояний полных автоматов связана с отношением эквивалентности. Пусть автоматы М1 и М2 находящиеся в начальных состояниях i и j (обозначения М1 и М2 могут относиться к одному и тому же автомату), под воздействием любой входной последовательности выдают одинаковые выходные последовательности, т. е. автоматы М1 и М2 в данных состояниях i и j неразличимы по внешним выходам. Такое отношение между состояниями одного и того же или двух различных автоматов обладает свойствами рефлексивности, симметричности и транзитивности, следовательно, оно является отношением эквивалентности состояний. Если состояния не эквивалентны, то их называют различимыми. Легко доказать справедливость следующих положений:

1) состояния i и j автомата явно различимы, если различаются соответствующие им строки в таблице выходов;

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

Например, рассмотрим автомат, заданный таблицей переходов.

Таблица 7

x()

s()

0

1

2

0

1/1

4/0

4/1

1

5/0

1/1

4/1

2

1/0

1/1

6/1

3

3/1

2/0

0/1

4

1/1

4/0

4/1

5

1/0

5/1

4/1

6

5/0

5/1

2/1

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

Объединяя эквивалентные состояния в автомате М1, получаем эквивалентный автомат М2 с меньшим числом состояний, который в любом состоянии нельзя отличить от исходного, наблюдая сигналы на выходах. Очевидно, что автоматы М1 и М2 являются эквивалентными, если каждому состоянию i автомата М1 соответствует, по крайней мере, одно эквивалентное ему состояние автомата М2 и если каждому состоянию j автомата М2 соответствует хотя бы одно эквивалентное ему состояние автомата М1.

Эквивалентные состояния, например, i и j удобно объединять по общей таблице переходов, вычеркивая строку j и заменяя везде в числителе числа j на i. После объединения пар явно эквивалентных состояний может оказаться возможным снова обнаружить такие состояния, которые также объединяются с помощью аналогичной процедуры. В результате последовательного объединения приходим к сокращенной таблице переходов, которой, соответствует сокращенный автомат, эквивалентный исходному, но имеющий меньшее число состояний. Так, для рассматриваемого примера получаем последовательно автомат М2, эквивалентный автомату М1 и автомат М3, эквивалентный автомату М2.

Таблица 8

x()

s()

0

1

2

0(4)

1/1

0/0

0/1

1(5)

1/0

1/1

0/1

2

1/0

1/1

6/1

3

3/1

2/0

0/1

6

1/0

1/1

2/1

Таблица 9

x()

s()

0

1

2

0(4)

1/1

0/0

0/1

1(5)

1/0

1/1

0/1

2(6)

1/0

1/1

2/1

3

3/1

2/0

0/1

Табл. 8 соответствует объединению пар эквивалентных состояний {0,4} и {1, 5}, а табл. 9 – объединению пары {2, 6}. Сокращенный автомат содержит только четыре состояния.