Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
automats.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
5.12 Mб
Скачать

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 .

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]