- •Теория автоматов (часть I) Конспект лекций
- •Оглавление
- •1. Введение
- •2. Задачи анализа и синтеза
- •3. Абстрактный управляющий автомат
- •4. Синтез абстрактных автоматов
- •5. Синхронный автомат
- •6. Асинхронные автоматы
- •8. Способы задания автоматов
- •7. Автоматы Мили и Мура
- •8.1 Табличный способ задания автоматов
- •8.2. Задание автомата с помощью графа
- •8.3. Матричный способ задания автоматов
- •9. Переход от автомата Мили к автомату Мура и обратно
- •10. Этапы синтеза автоматов
- •11. Минимизация числа внутренних состояний автомата
- •12. Минимизация полностью определённых автоматов.
- •13. Совмещённая модель автомата (c-автомата )
- •14. Структурный синтез автомата
- •14.1. Канонический метод структурного синтеза автомата
- •14.2. Структурный синтез с-автомата
- •15. Кодирование состояний автомата
- •15.1. Метод противогоночного кодирования состояний автомата
- •15.2. Соседнее кодирование состояний автомата
- •15.3. Кодирование состояний автомата для минимизации комбинационной схемы
- •16. Элементарные автоматы памяти
- •17. Синтез автоматов на плм и пзу
- •Рекомендуемая литература
12. Минимизация полностью определённых автоматов.
Рассмотрим метод, предположенный Ауфенкампом и Хоном.
Основная идея этого метода состоит в разбиении всех состояний исходного абстрактного автомата на попарно непересекающиеся классы эквивалентных состояний и замене каждого класса эквивалентности одним состоянием. Получающийся в результате минимальный автомат имеет столько же состояний, на сколько классов эквивалентности разбивается множество состояний исходного автомата.
Два
состояния абстрактного автомата xm
и xs
называются эквивалентными, если выходная
функция
для всех возможных входных слов Ф.
Иначе состояния называются неразличимыми.
Более слабой формой эквивалентности является k-эквивалентность:
для всех возможных
слов длиной k.
Введённые
отношения эквивалентности симметричны,
транзитивны и рефлексивны. Следовательно,
они могут быть использованы для разбиения
множества состояний абстрактного
автомата на попарно непересекающиеся
классы – классы эквивалентности.
Соответствующие разбиения на классы
эквивалентности и k-эквивалентности
будем обозначать через
и
.
Разбиение позволяет определить избыточные
элементы в множестве внутренних
состояний. Если каждый класс эквивалентности
содержит только одно состояние, то
множество внутренних состояний не
сократимо.
Рассмотрим алгоритм минимизации числа внутренних состояний полностью определённого автомата:
Находятся последовательные разбиения
,
множества
X до тех пор, пока на
каком-то (k+1)
шаге не окажется, что это разбиение
ничем не отличается от предыдущего.
Доказано, что в этом случае (
=
)
есть необходимое нам разбиение, и
дальнейшее сокращение числа внутренних
состояний автомата невозможно.В каждом классе эквивалентности разбиения выбирается по одному элементу, который образует множество X’.
Функции переходов
и функция выходов
для автомата
определяются на множестве оставшихся
внутренних состояний и множестве
входных сигналов. Для этого в таблице
переходов вычеркиваются столбцы,
соответствующие состояниям, не вошедшим
в множество
,
а в оставшихся столбцах таблицы переходов
все состояния заменяются на эквивалентные
из множества
.
В таблице выходов столбцы вычёркиваются.
В качестве начального состояния
выбирается одно из состояний, эквивалентных
X0. На практике лучше взять
само X0.
ПРИМЕР:
Минимизация полного автомата Мили:
Таблица переходов:
|
X1 |
X2 |
X3 |
X4 |
X5 |
X6 |
X7 |
X8 |
X9 |
X10 |
X11 |
X12 |
1 |
X10 |
X12 |
X5 |
X7 |
X3 |
X7 |
X3 |
X10 |
X7 |
X1 |
X5 |
X2 |
2 |
X5 |
X8 |
X6 |
X11 |
X9 |
X11 |
X6 |
X4 |
X6 |
X8 |
X9 |
X8 |
Таблица выходов:
|
X1 |
X2 |
X3 |
X4 |
X5 |
X6 |
X7 |
X8 |
X9 |
X10 |
X11 |
X12 |
1 |
1 |
1 |
2 |
2 |
1 |
2 |
1 |
1 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
1 |
1 |
2 |
1 |
2 |
2 |
1 |
1 |
1 |
1 |
={X1,X2,X5,X7,X8} B1,
{X3,X4,X6,X9,X10,X11,X12 } B2
|
X1 |
X2 |
X5 |
X7 |
X8 |
|
X3 |
X4 |
X6 |
X9 |
X10 |
X11 |
X12 |
1 |
B2 |
B2 |
B2 |
B2 |
B2 |
|
B1 |
B1 |
B1 |
B1 |
B1 |
B1 |
B1 |
2 |
B1 |
B1 |
B2 |
B2 |
B2 |
|
B2 |
B2 |
B2 |
B2 |
B1 |
B2 |
B1 |
={X1,X2} C1,
{X5,X7,X8} C2,
{X3,X4,X6,X9,X11} C3,
{X10,X12}C4,
|
X1 |
X2 |
|
X5 |
X7 |
X8 |
|
X3 |
X4 |
X6 |
X9 |
X11 |
|
X10 |
X12 |
1 |
C4 |
C4 |
|
C3 |
C3 |
C4 |
|
C2 |
C2 |
C2 |
C2 |
C2 |
|
C1 |
C1 |
2 |
C2 |
C2 |
|
C3 |
C3 |
C3 |
|
C3 |
C3 |
C3 |
C3 |
C3 |
|
C2 |
C2 |
={X1,X2}
D1,
{X5,X7} D2
{X8} D3
{X3,X4,X6,X9,X11} D4
{X10,X12} D5
Соответственно, получили разбиение, для которого дальнейшее разбиение невозможно.
Произвольно выбираем из каждого класса по одному состоянию и формируем множество
|
X1 |
X3 |
X5 |
X8 |
X10 |
1 |
X10 |
X5 |
X3 |
X10 |
X1 |
2 |
X5 |
X3 |
X3 |
X3 |
X8 |
-
X1
X3
X5
X8
X10
1
1
2
1
1
2
2
2
1
2
2
1
Особенности минимизации для автомата Мура.
-
1
1
3
3
3
2
3
1
2
2
2
2
X1
X2
X3
X4
X5
X6
X7
X8
X9
X10
X11
X12
1
X10
X12
X5
X7
X3
X7
X3
X10
X7
X1
X5
X2
2
X5
X7
X6
X11
X9
X11
X6
X4
X6
X8
X9
X8
При минимизации автомата Мура вводится понятие 0-эквивалентности и, соответственно, разбиения множества внутренних состояний на 0- эквивалентные классы. 0- эквивалентными называются любые одинаково отмеченные состояния автомата Мура. Если два 0- эквивалентных состояния любыми входными сигналами переводятся в два 0- эквивалентных состояния, то они называются 1-экивавлентными состояниями.
={X1,X2,X8}
А1
{X3,X4,X5,X7} A2
{X6,X9,X10,X11,X12} А3
