Научная статья на тему 'Базисные автоматы в решении проблем оптимизации'

Базисные автоматы в решении проблем оптимизации Текст научной статьи по специальности «Математика»

CC BY
96
58
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Базисные автоматы в решении проблем оптимизации»

5. Приводятся таблицы зависимости коэффициента готовности информационной системы от эффективного числа одновременно обслуживаемых запросов при 50% загрузке канала сети при заданных коэффициентах некритического сбоя и отказа системы.

Малыгина Ольга Анатольевна Московский институт

радиотехники, электроники и автоматики Россия, Москва e-mail: [email protected]

Поступила в редакцию 25 апреля 2007 г.

БАЗИСНЫЕ АВТОМАТЫ В РЕШЕНИИ ПРОБЛЕМ ОПТИМИЗАЦИИ

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

В данной статье рассматриваются свойства конечных недетерминированных автоматов Рабина-Скотта (Медведева), используемые для применения эвристических методов принятия решений к решению задачи вершинной минимизации конечных автоматов. При использовании так называемого базисного автомата, используя указанные свойства, описываются эвристики для данной задачи дискретной оптимизации, содержащие генетические алгоритмы. Излагаемая теория может применяться также и для решения других задач дискретной оптимизации конечных автоматов, таких, как минимизации конечных автоматов по числу дуг; по суммарному числу дуг, входов и выходов; звездно-высотной оптимизации и прочее. Задача вершинной минимизации — задача построения НКА, допускающего заданный регулярный язык и имеющего минимально возможное число вершин, видимо наиболее важная из таких задач. Это связано с уменьшением времени работы алгоритма, повышением его эффективности для таких автоматов.

Рассмотрим регулярный язык Ь над алфавитом £. Данный язык Ь может задаваться конечным недетерминированным автоматом Рабина-Скотта К = (Р, £,5, Б, Р), определяемый согласно [1], где Р — некоторое множество состояний; 5 — функция переходов; Б С Р и Р С Q — соответственно множества стартовых и финальных состояний.

Используя бинарное отношение # (введенное в [2]), задающее таблицу соответствия состояний, строится базисный автомат, определённый автором в статье [3]. Приведём определение базисного автомата. Пусть автомат К = ( 0, ±, 5Q, { /Q, } , ) — автомат в кано-

нической форме, эквивалентный автомату К; кроме того, Кд = (К, ±,5к, {/к., } , Тк) — автомат в канонической форме, определяющий язык Ьк, инверсный языку Ь.

Определение 1. Рассмотрим автомат (Т, ±,5т, Бт, Тт) над алфавитом £ для следующих множеств Т, 5т, Бт и Рт:

• Т = {(Л, X) | для любого А е 0, X е К, А#Х} (обозначим А как а(Т), X как в(Т) для Т).

• Для любых ТЬТ2 е Т, а е £, мы имеем 5т(Т\,а) Э Т2 если и только если 5д(а(Тг), а) Э а(Тг) и 5л(вТ),а) Э в№).

• Т е Бт если и только если а(Т) = вд (это означает, что а(Т) — единственное начальное состояние К, то есть вд).

• Т е Рт если и только если в(Т) = вл (это означает, что в(Т) — единственное начальное состояние Кк, то есть в и).

Назовём рассмотренный автомат базисным автоматом для данного языка Ь и обозначим через ВА(Ь).

Определение конструктивно в том смысле, что является также алгоритмом построения базисного автомата, подобно определению бинарного отношения #. Существуют и альтернативные способы построения базисного автомата. Для данного регулярного языка Ь, в соответствии с определением, строится единственный базисный автомат ВА(Ь).

В той же статье [3] описаны главные свойства указанного автомата, благодаря которым он может использоваться в различных задачах теории регулярных языков. Коротко можно сформулировать их следующим образом:

• Базисный автомат ВА(Ь) является единственным для данного регулярного языка Ь, эквивалентным автомату К, а значит и К.

• Каждое слово языка Ь определяет единственную последовательность состояний базисного автомата, то есть ВА(Ь) является однозначным.

• Свойство допускающего пути любого автомата, связывающее ВА(Ь) с К.

В статье [4] приводятся 4 простых утверждения для базисных автоматов, следующие из определения базисного автомата, на основе которых доказаны две теоремы, которые можно переформулировать для таблицы соответствия состояний следующим образом:

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

То есть в таблице соответствия состояний не может быть одинаковых строк.

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

То есть в таблице бинарного отношения # не может быть совпадающих столбцов.

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

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

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

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

• Используя вторую эвристику, состоящую в выборе квази-блоков на основе специальных оценок, строим множество блоков M. Каждый из этих блоков содержит выбранные клетки. Пусть N — число блоков, данных в этой эвристике.

• Рассматриваемая проблема разбивается на N проблем. В каждой полученной проблеме предполагается, что следующий рассматриваемый блок принадлежит Q, другие же N — 1 блоков не принадлежат Q.

• Возвращаемся к шагу 1, или заканчиваем работу, если поисковое пространство пусто.

При реализации приведённых выше эвристик использовался базисный автомат как основа для построения любого автомата. Свойства таблицы соответствия состояний, свойства базисных автоматов используются при реализации каждой из эвристик в связи с ограничениями, накладываемыми на значения функций разметки состояний, на возможность выбора максимального (минимального) значений при оценке каждой клетки таблицы по строке и по столбцу. На теоремах 1 и 2 напрямую основаны эвристики. Более подробно свойства, алгоритмы и эвристики описываются в других статьях упомянутых выше авторов.

ЛИТЕРАТУРА

1. Брауэр В. Введение в теорию конечных автоматов. М.: Радио и связь, 1987.

2. Melnikov B. A new algorithm of the state-minimization for the nondeterministic finite automata // The

Korean Journal of Computational and Applied Mathematics. 1999. V. 6, №2. P. 277-290.

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

4. Melnikov B., Melnikova A. A new algorithm of constructing the basis finite automaton // Informatika (Lithuania). 2002. V.13, №3. P. 299-310.

5. 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.

Мельникова Александра Александровна Филиал Ульяновского государственного ун-та Россия, Ульяновская обл., г. Димитровград e-mail: [email protected]

Поступила в редакцию 5 апреля 2007 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.