
- •Оглавление
- •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 Пример структурного синтеза синхронного автомата
Оглавление
6 Основные понятия и определения теории абстрактных автоматов (лекция №9) 2
6.1 Математическая модель цифрового автомата 2
6.2 Классификация цифровых автоматов 3
6.3 Разновидности цифровых автоматов 4
7 Способы описания и задания автоматов (лекция№10) 5
7.1 Табличный способ описания цифровых автоматов 5
7.2 Графический способ задания цифровых автоматов 7
8 Абстрактный синтез цифровых автоматов 8
8.1 Структура цифрового автомата 8
8.2 Минимизация числа состояний цифрового автомата 10
8.3 Пример минимизации числа состояний автомата Мура 11
9 Структурный синтез цифровых автоматов 13
9.1 Эвристический алгоритм кодирования синхронних автоматов 14
9.2 Пример структурного синтеза синхронного автомата 20
6 Основные понятия и определения теории абстрактных автоматов (лекция №9)
Цифровой (дискретный) автомат (ЦА) – устройство, которое осуществляет прием, хранение и/или преобразование дискретной информации по некоторому алгоритму. Примерами ЦА могут служить живые организмы, процессоры, бытовая техника калькуляторы – это реальные устройства, а также есть абстрактные, например, модели алгоритмов. ЦА относятся к последовательным устройствам. Этот класс устройств определяется тем, что значение выходов зависит не только от входных значений, но и от текущего состояния устройства. Т.е. вводится понятие – состояние. Для того чтобы хранить данные о состоянии, в котором находится устройство в ЦА используются запоминающие элементы – триггеры.
6.1 Математическая модель цифрового автомата
Цифровой автомат - устройство, характеризующееся набором внутренних состояний в которое оно попадет под воздействием команд заложенной в него программы. Переход автомата из одного состояния в другое осуществляется в определенный момент времени.
Математической моделью ЦА (а в общем случае любого дискретного устройства) является так называемый абстрактный автомат, определенный как 6-компонентный кортеж: S=(A,X,Y,,,а1) у которого:
A={a1, a2, ... ,am} – алфавит состояний – множество состояний, в которых может находиться проектируемый цифровой автомат. Количество состояний играет важную роль при реализации ЦА. Чем больше состояний, тем больше требуется запоминающих элементов(триггеров) для построения ЦА.
X={x1, x2, ... ,xf} – алфавит входных значений – множество значений, которые могут поступать на вход ЦА. Например, если у автомата двухразрядный двоичный вход, то элементами алфавита могут быть 00, 01, 10 и 11.
Y={y1, y2, ..., yg} – алфавит выходных значений – множество значений, которые могут быть установлены на выходе ЦА.
: AXA – функция переходов (t+1)=(x(t), (t)). Функция переходов определяет, в какое состояние a(t+1) перейдет автомат под воздействием входного сигнала x(t), если в текущий момент времени автомат находится в состоянии a(t).
: AZW – функция выходов y(t)= (a(t),x(t)). Функция выходов определяет какое выходное значение y(t) будет установлено на выходе автомата в зависимости от входного значения x(t) и текущего состояния a(t).
ai A - начальное состояние автомата –состояние в которое устанавливается ЦА после подачи питания или после сброса
Под алфавитом здесь понимается непустое множество попарно различных символов. Элементы алфавита называются буквами, а конечная упорядоченная последовательность букв - словом в данном алфавите.
Рисунок 6.1 – Абстрактный автомат
Абстрактный автомат (рисунок 6.1) имеет один вход и один выход. Автомат работает в дискретном времени, принимающем целые неотрицательные значения t = 0,1,2,... В каждый момент t дискретного времени автомат находится в некотором состоянии a(t) из множества состояний автомата, причем в начальный момент t = 0 он всегда находится в начальном состоянии a(0)=a1. В момент t, будучи в состоянии a(t), автомат способен воспринять на входе букву входного алфавита X(t) Z. В соответствии с функцией выходов он выдаст в тот же момент времени t букву выходного алфавита y(t)=(a(t), z(t)) и в соответствии с функцией переходов перейдет в следующее состояние a(t+1)=[a(t), x(t)], a(t) A, y(t) Y.
Смысл понятия абстрактного автомата состоит в том, что он реализует некоторое отображение множества слов входного алфавита X во множество слов выходного алфавита Y. Т.е. если на вход автомата, установленного в начальное состояние a1, подавать буква за буквой некоторую последовательность букв входного алфавита x(0), x(1),... - входное слово, то на выходе автомата будут последовательно появляться буквы выходного алфавита y(0), y(1),... - выходное слово. Т.о. выходное слово = (входное слово), где - отображение, осуществляемое абстрактным автоматом.
На уровне абстрактной теории понятие "работа автомата" понимается как преобразование входных слов в выходные. Можно сказать, что в абстрактном автомате отвлекаемся от его структуры - содержимого прямоугольника (рисунок 6.1), рассматривая его как "черный ящик", т.е. основное внимание уделяем поведению автомата относительно внешней среды.
Понятие состояния в определении автомата введено в связи с тем, что часто возникает необходимость в описании поведения систем, выходы которых зависят не только от состояния входов в данный момент времени, но и от некоторой предыстории, т.е. от сигналов, которые поступали на входы системы ранее. Состояния как раз и соответствуют некоторой памяти о прошлом, позволяя устранить время как явную переменную и выразить выходной сигнал как функцию состояния и входа в данный момент времени.