- •Глава 1
- •1.1. Понятие абстрактного автомата
- •1.2. Преобразование абстрактных автоматов
- •1.3. Соединение (композиция) автоматов
- •1.4. Тестирование абстрактных автоматов
- •2. Начальные языки описания абстрактных автоматов
- •2.1. Язык Граф-Схем Алгоритмов
- •2.2. Язык регулярных выражений
- •2.3. Формальные грамматики и языки
- •2.4. Автоматы и грамматики [ 7 ]
- •2.5. Машина тьюринга [ 5, 8 ]
- •3. Структурный синтез автоматов и кодирование информации
- •3. 3. ПредставЛение символьной информации
- •4.1 Машинное изображение чисел
- •4.2. Выполнение арифметических и логических операций
- •4.3. Микропрограммирование
- •5 Математический аппарат синтеза комбинационных автоматов
- •5.1 Элементная база построения комбинационных автоматов
- •5.2. Переключательные функции (логика высказываний)
- •7. Структурный синтез автоматов с памятью, асинхронные автоматы и сети петри
- •7.1. Канонический метод синтеза автоматов с памятью
- •7.3 Моделирование дискретных асинхронных процессов и сети Петри
- •Свойства сетей Петри
2. Начальные языки описания абстрактных автоматов
2.1. Язык Граф-Схем Алгоритмов
Чтобы реализовать сложный алфавитный оператор, для которого требуется автомат с большим числом состояний, целесообразнее использовать автомат с программным управлением. Такой автомат состоит из двух частей: операционного автомата (ОА) и управляющего автомата (УА) [1]. ОА выполняет отдельные операции, на языке которых записан алгоритм работы автомата, т.е. его программа.
УА реализует алгоритм автомата путём запуска соответствующих операций с помощью управляющих воздействий {У}. Порядок выполнения операций зависит от логических условий {P}, вырабатываемых в ОА. Таким образом, синтез автомата с программным управлением сводится к синтезу ОА и УА.
П р и м е р. Автомат ПРОДАВЕЦ (см. выше) можно построить на основе алгоритма, представленного граф-схемой (рис.8), где принято
Рис.8
У1, У2,У3,У4,У5 – управление воздействия, вызывающие в ОА следующие операции:
У1 – СМ: =0; У2 – ввести монету N коп. ;
У3 - СМ: =СМ+N; У4 – выдать газету; У5 – вернуть деньги.
Р1, Р2, Р3 - логические условия (предикаты);
Р1=(N=0); P2=(CM=3); P3=(CM>3);
СМ – сумматор, т.е. устройство для сложения чисел;
N – денежное достоинство монеты, вводимой в автомат.
Для перехода от граф-схемы алгоритма к закону функционирования автомата выходы операторных вершин, а также меткой одного начального состояния – выходы операторных вершин, а также меткой одного начального состояния – выход вершины “начало” и выход вершины “конец”
(рис.9)
Принципы построения операционных автоматов (ОА) рассмотрены в [1]. Общая структура автомата с программным управлением приведена на рис.10. Достоинства автомата ПРОДАВЕЦ 2 в том, что, изменяя логическое условие Р3, можно легко перестроить автомат на любую цену товара.
Рис. 10
Операционные устройства ЦВМ строят по принципу микропрограммного управления. В этом случае сигналы У1, У2 … соответствуют отдельным микрооперациям (сложение кодов, пересылка, сдвиг и т.п.). Алгоритм, реализуемый с помощью управляющего
автомата, называется в этом случае микропрограммой.
2.2. Язык регулярных выражений
Пусть V- входной алфавит автомата,. Тогда множество К регулярных выражений, описывающих работу автомата, строится на основе следующих правил [7,8,9]:
1) отдельные символы алфавита V являются регулярными выражениями, т.е. v K ( v V);
2) если A и В – регулярные выражения, то все остальные регулярные выражения строятся рекурсивно с помощью операций:
AvB – объединения или дизъюнкции;
AB - умножения, или конкатенации;
A” - итерации, причём
A” = <пустое выражение > VAVAAVAAAV… .
Язык регулярных выражений используется для записи событий с назначением автомата. На каждое событие автомат должен реагировать должным образом. Пусть V={v1,v2,v3}, а событие заключается в проявлении на выходе автомата цепочки v2,v3 . Тогда это событие можно записать в виде (v1Vv2 Vv3)* v2v3 , т.е. появлению v2v3 может предшествовать появление любой последовательности символов из V, в том числе и пустой последовательности.
Для автомата ПРОДАВЕЦ событие, определяющее выдачу газеты, описывается выражениями v1(v1 v1Vv2)Vv2,v1 , а событие, соответствующее возврату монет, - выражение v1v1 v2V v2v2 .
