Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория автоматов (методичка) ред.2008.doc
Скачиваний:
10
Добавлен:
27.08.2019
Размер:
2.23 Mб
Скачать

1. Методы абстрактного синтеза

Определение абстрактного управляющего автомата (УА) совпадает с хорошо известным определением детерминированного конечного автомата:

,

где Х – алфавит входных сигналов; S – множество внутренних состояний; У – алфавит выходных сигналов, s1 – начальное состояние ; , – алфавитные отображения такие что

(1.1)

В зависимости от способов конкретизации отображений (1.1) могут быть определены различные модели управляющего автомата. Наибольшее распространение получили модели Мили и Мура, правильный выбор которых дает определенные преимущества при решении конкретных задач синтеза управляющих автоматов [1 – 4].

Под задачей абстрактного синтеза управляющего автомата будем понимать восстановление, отображений (1.1) в классе моделей Мили или Мура по формализованному (но не словесному!) описанию его «внешнего» поведения.

Опираясь на фундаментальные результаты теории автоматов, можно выделить следующие достаточно строгие и вместе с тем результативные методы абстрактного синтеза.

1.1. Использование алгебры регулярных событий

Внешнее поведение автомата может быть формализовано в виде системы регулярных выражений {Rj}. Каждое Rj задает множество всевозможных слов или событий во входном алфавите X, определяющее одну из реакций yi У искомого алфавита. Используемая для этих целей алгебра регулярных событий, введенная С.Клини, определяет лишь три операции: V – объединение, • – умножение, { }* – итерация слов или букв входного алфавита X.

Наиболее простой и наглядный способ задания регулярных выражений – их представление в виде сигнальных графов. Каждый путь из начальной в конечную вершину сигнального графа соответствует допустимым входным словам.

Во избежание ложных путей (слов) на графе регулярного выражения вводятся пустые (без букв х Х) стрелки. Отметим наиболее характерные ситуации для введения пустых стрелок: 1) переход от одной итерации к последующей итерации; 2) открытие итерационных скобок; 3) закрытие итерационных скобок в дизъюнктивных членах (термах) регулярного выражения.

Кроме того пустые стрелки вводятся при построении автоматов многократного действия путем замыкания финитных вершин (отмеченных выходными сигналами уj) на начальную вершину.

Далее осуществляется дедуктивный вывод абстрактного автомата, обеспечивающий выявление всех его внутренних состояний. За основу предлагается взять алгоритм Мелихова Ю.Н., предписывающий выполнение, следующих действий. Первоначально все графы регулярных выражений объединяются одной начальной вершиной по принципу макси­мального объединения стрелок. Этой вершине соответствует первый столбец последовательно заполняемой таблицы перехода искомого автомата.

Клетки таблицы заполняются дизъюнкциями тех индексов вершин, в которые входят стрелки на объединенном графе регулярного выражения, исходящие из вершин текущего за­головка столбца.

Если содержимое заполненной клетки таблицы не совпадает с заголовками старых столбцов, то оно становится за­головком следующего по порядку столбца.

И так до тех пор, пока содержимое всех клеток таблицы не будет совпадать с заголовками полученных столбцов. Последние ­ не что иное, как состояния искомого автомата Мура.

Завершающий шаг — построение отмеченной таблицы переходов. Для этого дизъюнкциям индексов каждого заголовка столбца (состояния автомата) приписываются дизъюнкции соответствующих выходных сигналов.

Дизъюнкции противоречивых (различных) выходных сигналов указывают на некорректность исходного графа. В этом случае описанную процедуру следует повторить, обратив особое внимание на получение корректного графа регулярного выражения.

Полученный автомат легко перестроить в эквивалентный ему автомат Мили, в результате чего может появиться дополнительная воз­можность минимизации числа состояний. Для этой цели необходимо воспользоваться известными из литературы алгоритмами минимизации, основанными на фундаментальных понятиях эквивалентности (совместимости) полностью (частично) определенных абстрактных автоматов.