3.2.3. Минимизация числа внутренних состояний абстрактных автоматов.
Сущность метода минимизации числа внутренних состояний некоторого исходного автомата заключается в разбиении всего его алфавита внутренних состояний на попарно не пересекающиеся классы эквивалентных состояний с заменой далее каждого класса эквивалентности одним состоянием. Получающийся в результате минимальный автомат имеет столько же состояний, на сколько классов эквивалентности разбивается все множество внутренних состояний заданного автомата.
Эквивалентными называются такие два состояния автомата, замена которых одно на другое не изменяет результатов словарного преобразования на всем множестве допустимых входных слов. Можно говорить как о полной эквивалентности внутренних состояний (для входных слов неограниченной длины), так и о k-эквивалентности состояний (для слов длиной в k символов). В дальнейшем классы эквивалентных и k-эквивалентных внутренних состояний будут соответственно обозначаться как П и Пk .
Процедура минимизации числа внутренних состояний абстрактного автомата состоит из следующих шагов:
1. Находятся последовательные разбиения П1 , П2 ,…, Пk алфавита внутренних состояний на классы одно-, двух-, …, k-эквивалентных состояний, до тех пор, пока на каком-то k+1-м шагом не окажется, что Пk+1= Пk . Очевидно, что при достижении этого тождества можно утверждать, что Пk= П , т.е. что k-эквивалентные состояния являются полностью эквивалентными. Нетрудно увидеть, что число шагов этой процедуры не может превысить значения l -1, где l -размеры алфавита внутренних состояний автомата.
2. В каждом классе эквивалентности П выбирается по одному символу, которые и составляют новый алфавит внутренних состояний минимизированного автомата.
3. Таблицы выходов и переходов минимизированного автомата получаются из таблиц исходного автомата путем вычеркивания столбцов с состояниями, не вошедшими в минимизированный алфавит, и замены в оставшихся столбцах внутренних состояний исходного автомата эквивалентными им состояниями минимизированного автомата.
4. В качестве начального состояния автомата выбирается или начальное состояние исходного автомата, или любое ему эквивалентное.
Рассмотрим пример минимизации автомата Мили, заданного совмещенной таблицей переходов и выходов (табл. 3.1.).
Таблица 3.1.
Xi | a k | |||||||||||
a 1 | a 2 | a 3 | a 4 | a 5 | a 6 | a 7 | a 8 | a 9 | a 10 | a 11 | a 12 | |
X1 | a 10 Y1 | a 12 Y1 | a 3 Y2 | a 7 Y2 | a 3 Y1 | a 7 Y2 | a 3 Y1 | a 10 Y1 | a 7 Y2 | a 1 Y2 | a 5 Y2 | a 2 Y2 |
X2 | a 5 Y2 | a 7 Y2 | a 6 Y1 | a 11 Y1 | a 9 Y2 | a 11 Y1 | a 6 Y2 | a 4 Y2 | a 6 Y1 | a 8 Y1 | a 9 Y1 | a 8 Y1 |
Класс П1 выделяется из табл. 3.1. путем объединения тех внутренних состояний, которые характеризуются одинаковой реакцией на слова длиной в один символ. Заметим, что в понятие реакции входит только выходной сигнал, поскольку основным назначением автомата является осуществление словарного преобразования. Для класса П1 выполняются:
П1 ={ A 1 1, A 2 1}; A 1 1={ a 1, a 2, a 5, a7, a8}; A 2 1={ a3, a4, a6, a9, a10, a11, a12}.
Строим таблицу П1 (табл. 3.2.), получая ее из совмещенной таблицы заменой символов исходного алфавита внутренних состояний на классы 1-эквивалентности.
Очевидно, что любая пара 1-эквивалентных состояний будет и 2-эквивалентна, если они любым входным сигналом будут переводиться в 1-эквивалентные. Практически это означает, что 2-эквивалентными будут те состояния, которые уже входя в тот или иной класс эквивалентности, в данной таблице имеют одинаковые столбцы. Тогда по табл. 3.2. для класса П2 получаем: П2 ={ A 1 2, A 2 2, A 3 2, A 4 2}; A 1 2={ a1, a2};
A 2 2={ a5, a7, a8}; A 3 2={ a3, a4, a6, a9, a11}; A 4 2={ a10, a12}
Таблица 3.2.
Xi | ak, A sp | |||||||||||
A 11 | A 12 | |||||||||||
a1 | a2 | a5 | a7 | a8 | a3 | a4 | a6 | a9 | a10 | a11 | a2 | |
X1 | A 12 | A 12 | A 12 | A 12 | A 12 | A 11 | A 11 | A 11 | A 11 | A 11 | A 11 | A 11 |
X2 | A 11 | A 11 | A 12 | A 12 | A 12 | A 12 | A 12 | A 12 | A 12 | A 11 | A 12 | A 11 |
Таблица 3.3.
Xi | ak, A sp | |||||||||||
A 21 | A 22 | A 23 | A 24 | |||||||||
a1 | a2 | a5 | a7 | a8 | a3 | a4 | a6 | a9 | a11 | a10 | a12 | |
X1 | A 24 | A 24 | A 23 | A 23 | A 24 | A 22 | A 22 | A 22 | A 22 | A 22 | A 21 | A 21 |
X2 | A 22 | A 22 | A 23 | A 23 | A 23 | A 23 | A 23 | A 23 | A 23 | A 23 | A 22 | A 22 |
Таблица 3.4.
Xi | ak, A sp | |||||||||||
A 31 | A 32 | A 33 | A 34 | A 35 | ||||||||
a1 | a2 | a5 | a7 | a8 | a3 | a4 | a6 | a 9 | a 11 | a 10 | a 12 | |
X1 | A 35 | A 35 | A 32 | A 32 | A 34 | A 33 | A 33 | A 33 | A 33 | A 33 | A 31 | A 31 |
X2 | A 32 | A 32 | A 34 | A 34 | A 34 | A 34 | A 34 | A 34 | A 34 | A 34 | A 33 | A 33 |
Продолжая аналогичную процедуру и далее, соответственно получим класс эквивалентности П3. Таблицы для всех этих классов: для П2 - табл. 3.3., для П3 - табл. 3.4.
Из табл. 3.5. видно, что П3 = П, откуда можно составить совмещенную таблицу уже минимизированного автомата (табл. 3.5.).
Используя рассмотренную процедуру по отношению к автомату, представленному графом на рис. 3.14., легко показать, что тот автомат после минимизации полностью переходит в автомат Мили, граф которого помещен на рис. 3.15.
Аналогичную процедуру минимизации можно провести и для автомата Мура.
Таблица 3.5.
Xi | a k | ||||
a 1 | a 5 | a 8 | a 3 | a 10 | |
X1 | a 10 Y1 | a 3 Y1 | a 10 Y1 | a 5 Y2 | a 1 Y2 |
X2 | a 5 Y2 | a 3 Y2 | a 3 Y2 | a 3 Y1 | a 8 Y1 |
Рис. 3.14. Рис. 3.15.
- 0.1. Понятие организации эвм.
- Функция, структура и организация систем.
- Основные факторы, влияющие на принципы построения эвм.
- 0.2. Содержание курса.
- 1. Представление информации в эвм.
- 1.1. Системы счисления.
- 1.1.1. Позиционные системы счисления.
- Пример 1.1.
- 1.1.2. Двоично-кодированные системы счисления.
- Пример 1.2.
- 1.2. Преобразование из одной системы счисления в другую.
- 1.2.1. Преобразование целых чисел. Метод деления.
- Пример 1.7.
- Метод деления.
- Пример 1.8.
- Пример 1.9.
- 1.3. Представление информации в эвм.
- 1.3.1. Двоичные числа.
- 1.3.2. Кодирование десятичных чисел и алфавитно-цифровой информации.
- Пример 1.10.
- Пример 1.11.
- 1.3.3. Логические значения.
- 1.4. Машинные коды.
- 1.4.1. Прямой код.
- Пример 1.12.
- 1.4.2. Дополнительный код.
- Пример 1.13.
- 1.4.3. Обратный код числа.
- Пример 1.14.
- 1.4.4. Выполнение арифметических действий с кодами.
- Пример 1.15.
- 1.4.5. Признаки переполнения разрядной сетки.
- Пример 1.16.
- Пример 1.17.
- 2. Синтез комбинационных устройств.
- 2.1 Логические переменные и функции.
- Физическая природа.
- Пример 2.1.
- 2.2 Элементарные функции.
- 2.2.1 Функции одной переменной.
- Элемент повторения.
- Элемент «не».
- 2.2.2 Функции двух переменных.
- 2.3 Функции многих переменных.
- Примеры (2.2.) базисов:
- Основные законы Булевского базиса:
- Действия с константами «0» и «1»:
- Правило введения и исключения лишних связок:
- 2.4. Задание функции комбинационных логических схем.
- Пример 2.5.
- Пример 2.6.
- 2.6. Минимизация нормальных форм булевых функций.
- 2.7 Минимизация с помощью диаграмм Карно.
- 2.8 Топологическая интерпретация правил минимизации.
- Правила минимизации:
- 2) Коэффициент объединения по входу.
- 3) Быстродействие.
- Пример 2.10.
- 2.9.1 Порядок синтеза комбинационных схем.
- 2.9.2 Элементы «и», «или», «не».
- 2.9.3 Элементы «и-не», «или-не».
- Пример 2.14.
- 2.10. Цифровые устройства на программируемых бис с матричной структурой.
- 2.10.1. Матричная реализация булевых функций.
- 2.10.2. Программируемые логические матрицы (плм).
- 2.10.3. Другие структуры матричных бис.
- Постоянные запоминающие устройства (пзу).
- Пример 2.15.
- Программируемая матрица вентилей (пмв).
- Программируемые матрицы логики (пмл).
- 3. Построение цифровых устройств автоматного типа.
- 3.1. Понятие автомата.
- 3.2. Синтез абстрактных автоматов.
- 3.2.1. Определение абстрактного автомата.
- 3.2.2. Методы задания автоматов.
- Задание автомата в виде графа переходов и выходов.
- Пример 3.1.
- Задание автомата в виде таблиц переходов и выходов.
- Задание автомата в виде матриц переходов и выходов.
- Табличная форма представления матриц переходов и выходов.
- 3.2.3. Минимизация числа внутренних состояний абстрактных автоматов.
- 3.3. Структурный синтез конечных автоматов.
- 3.3.1 Этапы структурного синтеза автоматов.
- 3.3.2. Кодирование символов алфавитов абстрактных автоматов.
- С труктурная схема автомата.
- Проблемы возникающие при кодировании.
- Пример 3.2.
- 3.3.3. Получение кодированной таблицы переходов и выходов.
- Пример 3.3.:
- 3.3.4. Определение функций внешних переходов.
- 3.3.5 Элементарные автоматы и их свойства.
- 3.3.6 Определение функций возбуждения элементарных автоматов.
- Литература: