Применение свойств конечных автоматов в алгоритмах вершинной минимизации

УДК 517.713

ПРИМЕНЕНИЕ СВОЙСТВ КОНЕЧНЫХ АВТОМАТОВ В АЛГОРИТМАХ

ВЕРШИННОЙ МИНИМИЗАЦИИ

© А. А. Мельникова

Ключевые слова: недетерминированные конечные автоматы; базисный автомат; вершинная минимизация; дискретная оптимизация; эвристические алгоритмы.

Аннотация: С помощью базисного автомата рассматриваются свойства конечных недетерминированных автоматов Рабина-Скотта (Медведева), используемые для применения эвристических алгоритмов к задаче вершинной минимизации конечных автоматов.

Большое значение для работы алгоритмов, реализуемых для регулярных языков, имеет их представление в виде конечных автоматов, отвечающих одному из критериев минимальности: имеющих минимальное число дуг, или минимальное число вершин, и минимальное суммарное число вершин и дуг. Это связано с уменьшением времени работы алгоритма, повышением его эффективности. В данной статье, являющейся продолжением статьи [5], рассматриваютсяся свойства конечных автоматов, позволяющие использовать эвристические методы принятия решений для решения одного из класса задач дискретной оптимизации — задач вершинной минимизации конечных недетерминированных автоматов, а также для решения других задач дискретной оптимизации (см. [1-5]). В эвристиках для данной задачи дискретной оптимизации, содержащих генетические алгоритмы, применяются указанные свойства, доказываемые с помощью так называемого базисного автомата. Используется и сам базисный автомат как основа для построения любого автомата.

Регулярный язык Ь над алфавитом £ может быть задан конечным недетерминированным автоматом Рабина-Скотта (Медведева) К = ( Р, £,5, Б, Р), где Р — некоторое множество состояний; 5 — функция переходов; Б С Р и Р С — соответственно множество стартовых и финальных состояний. Пусть автомат К — автомат в канонической форме, эквивалентный автомату К; кроме того, Кк — автомат в канонической форме, определяющий язык Ьд, инверсный языку Ь. Строится базисный автомат, определённый автором в статье [2]. В статье [5] также приводится определение базисного автомата и некоторые его свойства, которые могут быть названы свойствами таблицы соответствующих состояний, задающей отношение #, введённое в [1]. Существуют бинарные отношения, для которых нельзя сформировать указанную таблицу, которые не могут представлять собой отношение # ни для какого регулярного языка. Например, когда в таблице отношения # число столбцов значительно больше числа строк. Действительно, пусть К содержит п состояний. Тогда п состояний содержит и автомат Кд, инверсный к К, определяющий инверсный язык Ьк. Значит, канонический автомат КЕ для этого инверсного языка содержит не более 2п состояний. Таким же будет число возможных столбцов таблицы отношения #, в которой п строк. Не может быть, например, таблицы из 5 строк и 33 столбцов, поскольку 33 > 25. Теоремы 1 и 2 из [5], формулируют некоторые необходимые условия для таких бинарных отношений.

Рассматривается ещё одно свойство базисного автомата, описывающее возможность построения любого конечного автомата для данного регулярного языка с помощью дублирования или объединения некоторых состояний базисного автомата, которое публиковалось в статье [3], здесь же приводится в несколько улучшенной формулировке. Обозначим через ^Я1,д2 автомат, полученный из исходного автомата объединением состояний ^1,^2, используем также понятие псевдоблока, определённое в [1]. Детальная формулировка данного свойства достаточно длинна, хотя его доказательство на основе некоторых ранее доказанных фактов просто.

Теорема!.. Каждый конечный автомат для данного регулярного языка, который не содержит бесполезных или недостижимых состояний, может, быть построен на основе базисного автомата для этого языка следующим образом.

1) Дублируем каждое состояние базисного автомата. То есть, в добавление к состоянию (А, X) рассматриваем состояния (А, X)(1),..., (А, X)(п) для некоторого п ^ 1.1 При этом для каждой дуги базисного автомата 5т(д, (А,Х)) Э а добавляем новые дуги 5т(д, (А, X)(г)) Э а для каждого возможного г (то есть для 1 ^ г ^ п) и для каждого состояния д получившегося автомата. Аналогично, для каждой дуги базисного автомата 5т((АX),д) Э а добавляем дуги 5т((A,X)(г),д) Э а - также для каждого возможного г. Кроме того, вершина (АХ)(г) для каждого возможного г в получившемся автомате будет являться стартовой (финальной) тогда и только тогда, когда (A,X) - стартовая (финальная).2

К

полнений этого шага,. В этом автомате выбираем некоторые вершины, д1,...,дт так, что соответствующие вершины, базисного автомата (то есть записанные без верхних

К

автомат а91 *2 (а 91’*3 (... а Ч1’*т (К) ...)).

3) Удаляем из полученного автомата некоторые дуги.

В то время, как, следующий шаг формулирует достаточное условие, шаги 1-3 формулируют только необходимое условие.

4) Сравниваем язык, полученного автомата с заданным регулярным языком. Если они совпадают,, то построенный нами автомат, подходит,.

Доказательство. Рассматриваемое утверждение является следствием из свойств базисного автомата: действительно, сформулированный алгоритм просто формирует такой конечный автомат, что любая последовательность переходов (работа) в нём соответствует некоторой последовательности переходов в базисном автомате. Как и ранее, будем считать соответствующими состояния, совпадающие без верхних индексов, то есть (A,X) и (АХ)(г) для каждого возможно-

г

включение - следствие шага 4. Теорема доказана.

Как отмечалось в формулировке теоремы, 4-й шаг формулирует достаточное условие, шаги 1-3 формулируют только необходимое условие. Действительно, полученный за первые три шага автомат, возможно, не определяет заданный регулярный язык. Например, если просто удалить все дуги, то получим язык 0. Кроме того, мы не можем удалить шаг 3 ещё и потому, что граф переходов автомата может быть несвязанным, даже если граф переходов базисного автомата связанный (здесь имеются в виду неориентированные графы, соответствующие графам переходов автоматов, поэтому рассуждения корректны).

В статьях [4, 5] рассматривались эвристические алгоритмы для формирования псевдо-опти-мального покрытия. Для этого выбирается подмножество блоков матрицы, элементы которой соответствуют элементам бинарного отношения #. В отличие от классического метода ветвей и границ, данный алгоритм основан на специальной модификации незавершённого метода ветвей и границ. Процедура построения блоков является отдельной эвристической подпроблемой. При этом используются 2 следующих эвристики:

1 Число п зависит от выбранного состояния базисного автомата.

2 Отметим, что результат выполнения описанного построения не зависит от порядка выбора вершин базисного

п

ЭвристикаА (выбор клеток). Выбирается клетка, имеющая максимально возможную сумму чисел клеток в той же строке и в том же столбце, которая не включена в текущий ответ. ЭвристикаВ (выбор блоков). Пусть выбрано множество блоков, содержащих клетку из строки r и столбца с.

1) Сначала строим следующий квази-блок.

a) Исключаем колонки, которые имеют 0 в позиции г. Таким же образом исключаем строки.

b) Используем алгоритм А (или его модификацию из статьи [5]) для оценивания оставшихся строк и столбцов, так что оценка суммы их значений даётся алгоритмом А. Конечно, рассматриваются только клетки со значениями, равными 1.

c) Проверяется, что существуют два столбца, или две строки, которые имеют различные оценки. В противном случае уже получен квази-блок, т. е. все соответствующие клетки

1

квази-блоков, возвращаемся к шагу Ь).

d) Исключаем строки и столбцы, имеющие минимальную оценку.

e) Возвращаемся к шагу Ь).

2) Для каждого построенного квази-блока расширим число строк и (или) столбцов так, что все соответствующие значения равны 1. Таким образом, мы можем получить 1 или 2 блока.

3) Все блоки, построенные на шаге 2, формируют финальное множество блоков.

Более подробно свойства, алгоритмы и эвристики описываются в других статьях упомянутых выше авторов.

ЛИТЕРАТУРА

1. Melnikov В. A new algorithm of the state-minimization for the nondeterministic finite automata // The Korean Journal of Computational and Applied Mathematics. 1999. V. 6. No. 2. P. 277-290.

2. Vakhitova A. The basis automaton for the given regular language // The Korean Journal of Computational and Applied Mathematics. 1999. V. 6. No. 3. P. 617-624.

3. Melnikov B., Melnikova .4. Some propertis of the basis finite automaton// The Korean Journal of Computational and Applied Mathematics. 2002. V. 9. No. 1. P. 135-150.

4. Melnikov B. Discrete optimization problems - some new heuristic approaches // The 8-th International Conference on High Performance Computing and Grid in Asia Pacific Region. 2005. P. 73-80.

5. Мельникова А.А. Базисные автоматы в решении проблемы оптимизации // Вестн. Тамб. ун-та. Сер.Естеств. и техн. науки. Тамбов, 2007. Т. 12. Вып. 4. С. 492—494.

Abstract: with the help of the basis automata, we consider the properties of nondeterministic finite Rabin-Scott’s (Medvedev’s) automata for using heuristic algorithms in task of the state-minimization for the finite automata.

Keywords: nondeterministic finite automata; basis automaton; state minimization; discrete optimization; heuristic algorithms.

Мельникова Александра Александровна Aleksandra Melnikova

Филиал Ульяновского государственного Branch of Ulyanovsk State

университета в г. Димитровграде University in Dimitrovgrad

Россия, Димитровград Russia, Dimitrovgrad

e-mail: avahi@mail.ru e-mail: avahi@mail.ru