Опубликован: 17.02.2011 | Уровень: специалист | Доступ: платный
Лекция 1:

Эксперименты с автоматами, имеющими взвешенный входной алфавит

Лекция 1: 123 || Лекция 2 >

Синтез синхронизирующих последовательностей, минимальных по весу

В основе построения СП, УП и ДП, минимальных по весу, лежит так называемое дерево преемников, формируемое для автомата A и множества S_0 его допустимых начальных состояний. Оно незначительно отличается от аналогичной структуры, определенной в [18]. Остановимся на способе его построения.

Под \sigma -множеством автомата A понимается любая конечная совокупность состояний A, не все из которых обязательно различны. Если \sigma -множество содержит один элемент, то оно называется простым. Если \sigma -множество содержит два или более одинаковых элементов, оно именуется кратным. \sigma -множество однородно, если все его элементы совпадают друг с другом.

Назовем A -группой множество, состоящее из \sigma -множеств, общее число элементов которых равно m=|S_0|. A -группа называется простой (однородной), если все \sigma -множества в ней просты (однородны).

Пусть G есть A -группа, состоящая из \sigma-множеств g_1, g_2, \dots , g_r, x_{i_1}, x_{i_2}, \dots, x_{i_j} -преемник G есть другая A-группа, построенная по следующим правилам:

  1. \sigma -множество g_i=(i=\bar {1,r}) разбиваем на такие подмножества, каждое из которых содержит все те состояния из g_i, которые вырабатывают одинаковую реакцию на входную последовательность x_{i_1}, x_{i_2}, \dots, x_{i_j}. Каждое полученное подмножество далее интерпретируется как \sigma -множество, а совокупность всех таких подмножеств интерпретируется как A -группа G'.
  2. В \sigma -множествах из G' заменяем каждое состояние его преемником относительно входной последовательности x_{i_1}, x_{i_2}, \dots, x_{i_j}.

Получаемая в результате такого построения A -группа является x_{i_1}, x_{i_2}, \dots, x_{i_j}-преемником G.

Определим теперь структуру, называемую деревом преемников для заданного автомата A и множества допустимых начальных состояний S_0. Она состоит из ветвей, расположенных в последовательных уровнях, нумерация которых начинается с нуля. Нулевой уровень дерева содержит единственную, называемую начальной, ветвь. Условимся считать, что она связана с A -группой S_0. Если входной алфавит X=\{x_1, \dots , x_p\} автомата A содержит p символов, то каждая ветвь в k-м уровне (k \ge 0) расщепляется на p ветвей, представляющих символы x_1, x_2, \dots , x_p соответственно и являющихся ветвями (k+1) -го уровня. Ветвь x_i (k+1) -го уровня считается связанной с A -группой, являющейся x_i -приемником соответствующей A -группы уровня k. Будем называть вершины простыми, кратными или однородными, если они связаны с соответствующими A -группами.

Из описанного метода построения вытекает, что дерево преемников является бесконечной структурой. Для синтеза СП, УП и ДП нами будут из упомянутой бесконечной структуры выделяться конечные деревья за счет введения специальных правил обрыва ветвей. Каждая такая оборванная ветвь связана с вершиной дерева, которую мы будем называть листом, следуя терминологии, принятой в теории графов.

Для построения минимальной по весу СП используем граф, который назовем синхронизирующим деревом (СД). Основой для его построения является описанное выше дерево преемников.

Вершинами СД являются A -группы дерева преемников. Корень СД представляет собой A -группу S_0 нулевого уровня. Вершиной 1-го уровня СД, связанной с x_i -ветвью, является A -группа S, представляющая собой x_i -преемник A -группы S_0, при этом из вершины S_0 в S проводится дуга, помеченная символом x_i. Аналогично строятся вершины СД всех последующих уровней и соединяющие их дуги. Каждой вершине S в СД поставим в соответствие флажок (на рисунках он будет обозначаться прямоугольником), в него будет вписано число, равное сумме весов входных символов последовательности, которая соответствует пути по СД, ведущему из корня в вершину S.

Условимся теперь об обозначениях вершин СД. Если вершине S СД соответствует A -группа g_1, g_2m \dots , g_r, где g_i (i=\bar {1,r}) - \sigma -множества, то для ее обозначения будем использовать множество состояний автомата A, равное

\bigcup_{1 \le i \le r} g_i.

Для того чтобы выделить из дерева преемников конечное СД, введем правила обрыва ветвей. Правила эти должны определять момент, когда некоторая вершина дерева преемников становится листом, то есть из нее в процессе дальнейшего построения не исходит никаких дуг.

При построении СД автомата A с множеством S_0 допустимых начальных состояний вершина S k -го уровня становится листом, если выполняется хотя бы одно из следующих условий:

  1. |S|=1 ;
  2. на уровнях, предшествующих k -му, имеется такая вершина S^*, что S=S^*, но значение флажка вершины S больше значения флажка вершины S^* ;
  3. на уровнях, предшествующих k -му, имеется такая вершина S^*, что |S^*|=1, а значение флажка вершины S больше значения флажка вершины S^*.

Проиллюстрируем процесс построения СД для автомата, заданного табл. 1.1, считая, что S_0=\{1,2,3\}, w(\alpha)=1, w(\beta)=2, w(\gamma)=20. Этот граф приведен на рис. 1.1. В овале, изображающем вершину, перечислены состояния множества, соответствующего этой вершине.

Таблица 1.1. Переходы-выходы автомата
s\x \alpha \beta \gamma
1 1/0 1/1 5/0
2 3/1 2/0 4/0
3 2/1 4/1 4/0
4 5/1 1/1 5/1
5 3/0 2/0 4/1

Так, вершина \{1,2,3\} первого уровня, две вершины \{4,5\} второго уровня, вершины \{4,5\} и \{1,2\} третьего уровня и т. д. являются листьями в силу пункта 2 правил обрыва. Вершины \{1\} и \{5\} пятого уровня, вершина \{4\} третьего уровня являются листьями в силу пункта 1 правил обрыва. Две вершины \{4,5\} четвертого уровня, имеющие значение флажка 43, являются листьями в силу пункта 3 тех же правил.

Из способа построения СД вытекает, что последовательность входных символов, соответствующая пути по СД из корня в одну из вершин S, где |S|=1, является СП для заданного автомата.

Понятно, что построение минимальной по весу СП сводится к следующей простой процедуре. Среди всех вершин S СД, у которых |S|-1, отыскивается вершина с минимальным значением флажка w(s) и в СД находится путь в нее из корня дерева. Очевидно, что соответствующая этому пути последовательность символов и является СП, имеющей минимальный вес, равный упомянутому значению флажка w(s).

Так, в СД на рис1.1 имеется 4 таких вершины, из которых вершина \{1\} пятого уровня имеет минимальное значение флажка, равное 27.

Поскольку пути из корня в эту вершину соответствует входная последовательность \gamma \beta \alpha \beta \beta, то она и является минимальной по весу СП. Заметим, кстати, что минимальной по длине СП для этого автомата и того же множества допустимых начальных состояний является последовательность \gamma \alpha \gamma, соответствующая пути по СД из корня в вершину \{4\} третьего уровня.

Приведенный пример показывает, что в общем случае СП для автомата может быть минимальной по весу, но не являться минимальной по длине.

Синхронизирующее  дерево

Рис. 1.1. Синхронизирующее дерево
Лекция 1: 123 || Лекция 2 >
Дмитрий Степаненко
Дмитрий Степаненко
Россия
Юрий Фролов
Юрий Фролов
Украина