
- •Оглавление
- •6 Основные понятия и определения теории абстрактных автоматов (лекция №9)
- •6.1 Математическая модель цифрового автомата
- •6.2 Классификация цифровых автоматов
- •6.3 Разновидности цифровых автоматов
- •7 Способы описания и задания автоматов (лекция№10)
- •7.1 Табличный способ описания цифровых автоматов
- •7.2 Графический способ задания цифровых автоматов
- •8 Абстрактный синтез цифровых автоматов
- •8.1 Структура цифрового автомата
- •8.2 Минимизация числа состояний цифрового автомата
- •8.3 Пример минимизации числа состояний автомата Мура
- •9 Структурный синтез цифровых автоматов
- •9.1 Эвристический алгоритм кодирования синхронних автоматов
- •9.2 Пример структурного синтеза синхронного автомата
7.2 Графический способ задания цифровых автоматов
При графическом способе автомат задается в виде ориентированного графа, вершины которого соответствуют состояниям, а дуги - переходам между ними. Дуга, направленная из вершины am, задает переход в автомате из состояния am в состояние as. В начале этой дуги записывается входной сигнал XfX, вызывающий данный переход as=(am,xf). Для графа автомата Мили выходной сигнал ygY, формируемый на переходе, записывается в конце дуги, а для автомата Мура - рядом с вершиной am, отмеченной состоянием am, в котором он формируется. Если переход в автомате из состояния am в состояние as производится под действием нескольких входных сигналов, то дуге графа, направленной из am в as, приписываются все эти входные и соответствующие выходные сигналы. Граф С-автомата содержит выходные сигналы двух типов и они обозначаются на графе как на графах соответствующих автоматов. Граф автомата Мура представлен на рисунке 6.7, а автомата Мили – на рисунке 6.8.
y2
Рисунок 6.7 –Графическое представление автомата Мура
Рисунок 6.8 –Графическое представление автомата Мили
8 Абстрактный синтез цифровых автоматов
Теория цифровых автоматов рассматривает абстрактный и структурный синтез цифровых автоматов. Абстрактный синтез не описывает внутреннего строения автомата, а дает описание взаимодействия с окружающей средой. К абстрактному синтезу относят:
определение входного, выходного и алфавита состояний, функции переходов и выходов;
задание графов автомата и таблиц переходов и выходов;
минимизацию числа состояний
8.1 Структура цифрового автомата
Внутреннюю структуру цифрового автомата можно изобразить, как показано на рисунке 8.1.
Рисунок 8.1 – Структурная схема цифрового автомата.
Комбинационная схема №1 реализует переходы автомата из одного состояния в другое под воздействием входных сигналов. Схема проектируется исходя из закодированной таблицы переходов и подграфа переходов выбранного запоминающего элемента.
Блок памяти представляет собой набор триггеров, которые хранят разряды закодированного номера состояния. Количество триггеров зависит от количества состояний, в которых может находиться автомат. И вычисляется как:
N=log2M
где M – количество состояний, а N –количество триггеров
Комбинационная схема №2 реализует функцию выходов автомата и на ее выходе устанавливаются выходные значения автомата в соответствии с текущим состоянием автомата и входными значениями.
8.2 Минимизация числа состояний цифрового автомата
Часто при выполнении абстрактного синтеза вводятся избыточные состояния, эквивалентность которых не является очевидной. Избыточное количество состояний может привести к применению лишних триггеров, что усложнит КС1 и КС2. Поэтому очень важно выполнять минимизацию числа состояний перед его структурным синтезом.
Алгоритм минимизации основан на разбиении всего множества состояний на попарно непересекающиеся классы эквивалентных состояний и замене всего класса эквивалентности одним состоянием. Полученный в результате минимизированный автомат будет содержать столько состояний на сколько классов эквивалентности было разбито исходное множество состояний.
Определение Два состояния as и am являются эквивалентными, если (as, E) = (am, E), где - функция перехода, E – входное слово произвольной длины.
Другими словами, состояния эквивалентны, если в ответ на одни и те же входные слова вырабатывается одна и та же последовательность состояний, независимо от того в каком из двух состояний as или am находился автомат в начальный момент времени. Если два состояния эквивалентны, то одно состояние можно заменить на другое.
Кроме эквивалентных состояний существует понятие k-эквивалентных состояний: 1-эквивалентные, 2-эквивалентные и т.д.
Определение Два состояния as и am являются k-эквивалентными, если (as, Ek) = (am, Ek), где - функция перехода, Ek – входное слово длины k.
Алгоритм минимизации:
Находится последовательно разбиения П1, П2, … ПК, ПК+1 состояний автомата до тех пор пока на каком-то К+1 шаге ПК.+1 станет равно ПК. В этом случае полученное к-эквивалентное разбиение будет представлять собой полностью эквивалентные классы.
В каждом классе эквивалентности выбирают по одному состоянию, которые образуют новое множество состояний минимизированного автомата.
Для переопределения функций переходов и выходов вычеркивают строки, которые соответствую состояниям, не вошедшим в новое множество состояний минимизируемого автомата, а в остальных строка таблицы переходов все состояния заменяются на им эквивалентные состояния, которые вошли в новое множество.
Если множество состоит из одного состояние, то у него нет эквивалентных состояний. Если все состояния входят в отдельные множества из одного состояния, то автомат нельзя минимизировать.
Разбиение на множества начинается с 0-эквивалентного класса. В данном случае в одни множества попадают состояния с одинаковыми выходными сигналами.