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

1.2. Синтез автомата по дереву управления

Проектировщик далеко не всегда может описать аналитически (или даже алгоритмически) поведение искомого автомата. Иногда проще указать «во что» перерабатывается та или иная последовательность входных букв.

Полагая, что автомат имеет ограниченное число состояний, а также может быть установлен в начальное состояние, всю информацию «стимул—реакция» можно представить в виде дерева управления.

Корнем дерева управления всегда является начальное состояние. Высота дерева h соответствует длине анализируемых вход – выходных последовательностей. Ветви 1-го яруса отображают реакции автомата на каждую из входных букв x1,…….,xm , то есть на все слова длины 1. Ветви 2-го яруса — реакции автомата на все возможные слова длины 2 и т. д. По терминологии [1] рассматриваемое дерево представляет результаты многократного эксперимента над искомым автоматом.

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

Для однозначного восстановления автомата Мили с числом состояний не более n необходимо и достаточно иметь дерево управления высоты h 2n—1.

Эта задача может быть решена путем отождествления неразличимых вершин, то есть таких вершин, из которых «растут» одинаково размеченные поддеревья. Причем высота сравниваемых поддеревьев определяется неразличимой вершиной, находящейся на верхнем (относительно других вершин) ярусе. Так, изображенное на рис. 1.1 дерево управления содержит три различимые вершины, соответствующие состояниям s0, s1, s2 абстрактного автомата (рис. 1.2).

Рис. 1.1. Дерево управления искомого автомата

Остальные вершины дерева, помеченные одинаковыми метками,— не различимы и поэтому подлежат отождествлению. Неразличимые вершины образуют базис на основе которого строится искомый автомат. В процессе построения графа переходов/выходов частично-определенного автомата допускается «скользящее» доопределение ветвей дерева, исходя из возможности минимизации числа неразличимых вершин.

Рис. 1.2. Результат абстракт­ного синтеза

При реализации рассмотренного метода большое значение имеют следующие показатели:

— степень достижимости d — минимальная длина эксперимента,

достаточная для перевода автомата из начального состояния в любое другое состояние;

— степень различимости r – минимальная длина эксперимента, достаточная для различения любых двух состояний автомата.

Наличие априорной информации в виде оценок d и r позволяет сократить высоту дерева управления до величины h=d+r+l. Наибольший интерес представляет априорная оценка r. Тогда появляется уникальная возможность восстановления автомата относительно начального дерева высоты (r+1) с последующим ростом вершин лишь только из вершин текущего базиса.

1.3. Завершающая стадия абстрактного синтеза

Она необходима для того, чтобы получить абстрактный автомат с возможным минимизированным числом состояний. Наиболее простой случай – получение полностью определенного автомата. Тогда минимизация сводится к обнаружению эквивалентных состояний. С этой целью применяется метод последовательного расщепления i – классов эквивалентности, где i = 0, 1, … для автоматного оператора Мура и i = 1, 2, … для автоматного оператора Мили. Не исключено, что построенный автомат уже содержит минимальное число состояний. Этот результат необходимо отметить с применением отмеченного метода. Более сложный случай – получение частично - определенного

автомата. Относительно простой способ его минимизации – операция приведения. Она заключается в склеивании совместимых столбцов, имеющих одинаково обозначенные состояния и реакции с возможными неопределенностями виде прочерков. Однако, каждый раз в результате приведения столбцов, необходимо производить проверку правильности функционирования автомата на его соответствие техническому заданию. Проверке следует подвергнуть также и окончательно минимизированный частично определенный автомат, на предмет выявления «странностей» в его поведении при минимальном нарушении требований технического задания. Такая проверка необходима, поскольку автомат выполняет все, что требуется плюс еще «нечто». Это «нечто» может приводить к катастрофическому изменению поведения автомата и полного нарушения выполняемых им функций. Решению задач «запредельного» тестирования отвечает «Анализатор катастроф» [8], разработанный студентами кафедры ВМСиС по результатам изучения дисциплины «Теория автоматов».