Расширенный базисный конечный автомат. Часть I. Основные определения
Б. Ф. Мельников, А. А. Мельникова
Аннотация—В настоящей статье мы рассматриваем специальное расширение класса недетерминированных конечных автоматов. Целью этого рассмотрения является: во-первых, описание с помощью подобных автоматов различных «переборных» (brute-force) алгоритмов, в том числе -алгоритмов эквивалентного преобразования автоматов; во-вторых - применение описанного расширения в нескольких минимизационных проблемах, формулируемых для обычных недетерминированных конечных автоматов; в-третьих, с помощью расширенных автоматов мы можем упростить некоторых доказательства, также нужные для обычных конечных автоматов.
В статье мы рассматриваем определение расширенных конечных автоматов, приводим примеры, определяем расширенный базисный конечный автомат и рассматриваем некоторые его свойства. Также мы доказываем, что для расширенного базисного автомата все получаемые в построениях вспомогательные языки являются регулярными. Всё это позволяет упростить само определение расширенного базисного автомата.
Мы также показываем адекватность определения расширенного базисного конечного автомата - т.е. доказываем утверждение о том, что построенный на основе исходного регулярного языка расширенный базисный автомат действительно определяет этот язык. А на одном из примеров мы показываем следующий факт: существуют регулярные языки, в базисных автоматах которых у некоторых вершин нет циклов, соответствующих циклам соответствующих вершин других эквивалентных автоматов; именно такие циклы имеются в аналогичных вершинах расширенных базисных автоматов.
Ключевые слова—Регулярные языки, недетерминированные конечные автоматы, расширение автоматов, алгоритмы эквивалентного преобразования автоматов.
I. Введение
В настоящей статье мы рассматриваем специальное расширение класса недетерминированных конечных автоматов - определяющее, однако, то же самое множество регулярных языков. Целью рассмотрения такого расширения не является описание очередного способа задания класса регулярных языков: просто потому, что уже было опубликовано множество работ, в которых описывались похожие способы его задания. Например, можно было бы подробно рассмотреть расширение класса конечных автоматов, в котором каждая дуга помечена некоторым регулярным выражением - и фактически мы рассматривали такой способ в [1]. Таким образом, в отличие от т.н. обобщённых автоматов (generalized automata, [2]), мы не стремимся описать как можно более широкое обобщение
Статья получена 19 июля 2019.
Борис Феликсович Мельников, Университет МГУ - ППИ в Шэнчжэне ([email protected]).
Александра Александровна Мельникова, Димитровградский инженерно-технологический институт - филиал Национального исследовательского ядерного университета «МИФИ» ([email protected]).
класса «обычных» конечных автоматов, определяющее то же самое множество регулярных языков. Более того, мы специально накладываем сформулированные далее ограничения на регулярные выражения, которыми могут быть помечены дуги. В нашем расширении подобные дуги (т.е. помеченные регулярными выражениями) допускаются только для стартовых и финальных состояний, а также для дуг-петель.
Материал статьи [3] в настоящей статье существенно изменён и дополнен. Мы приводим все определения из той статьи (ранее на русском языке не публиковавшиеся) и, кроме того:
• рассматриваем примеры - которых в [3] приктиче-ски не было;
• приводим некоторые связанные вспомогательные утверждения, опубликованные ранее в статьях, не связанных с тематикой расширенных автоматов;
• несколько упрощаем приведённые ранее доказательства;
• приводим дополнительные рисунки, иллюстрирующие их;
• заменяем схемы доказательств на непосредственные доказательства;
• доказываем, что в расширенном базисном автомате (как следует из названия, именно ему в первую очередь посвящена настоящая статья) все получаемые в доказательствах вспомогательные языки являются регулярными; отметим, что это не следовало из материала, приведённого в [3];
• показываем, как на основе приведённого здесь материала упростить задание расширенного базисного автомата.
Мы предполагаем вернуться к заданию регулярных языков с помощью расширенных конечных автоматов в статье-продолжении - поэтому нам необходима законченная терминология, связанная с этими автоматами.
Как уже было отмечено, мы в наших предыдущих работах рассматривали и другие расширения класса недетерминированных конечных автоматов - причём эти расширения иногда определяют «исходный» класс языков (регулярные языки1), а иногда - более широкие классы языков. По этому поводу, кроме уже процитированных статей [1], [3] отметим следующие формализмы.
• Уже упомянутые выше обобщённые автоматы. При этом стоит отметить, что в [2] мы привели несколько
1 В этом случае речь идёт как раз об «очередном» («1001-м») способе задания всего класса регулярных языков. Именно это мы имели в виду выше.
возможных «автоматных моделей»2, каждая из которых описывает обобщённые регулярные выражения ([4] имн.др.).
• Т.н. ^-подклассы класса КС-языков, рассматривавшиеся нами в [5]; как показано в той статье, один из подклассов совпадает с классом регулярных языков.
• Скобочные автоматы (bracketed automata) - см. [6], [7].
А из многочисленных «расширяющих» формализмов, описанных не авторами настоящей статьи, отметим только один, следующий.
• См. [8]; по нашему мнению, этот способ задания автоматов может много вариантов практического применения - однако дальнейшие публикации на эту тему нам неизвестны.
Можно сказать, немного упрощая рассмотрение всех упомянутых моделей, что в каждой из них дуги автомата помечены, вообще говоря, не элементами множества
£ U {£}.
Мы уже упомянули выше, что очередной способ задания класса регулярных языков не является целью статьи, и вообще, не является целью описываемого нами обобщения конечных автоматов - но что же является этой целью? Наше обобщение автоматов может применяться, например, в следующих трёх случаях.
• Во-первых, это различные точные алгоритмы («переборные», brute-force algorithms), описываемые с помощью подобных автоматов. Они могут быть применены в нескольких минимизационных проблемах, рассмотренных нами, например в [9], [10]. См. также далее описание алгоритмов для возможности добавления дуги - это добавление часто даёт возможность использовать различные вспомогательные алгоритмы.
• Во-вторых, это различные эвристические алгоритмы реального времени - применяемые для тех же самых проблем минимизации; см., например, [11], [12].
• И, в-третьих, путём использования таких автоматов мы часто упрощаем некоторые доказательства; например, некоторые из доказательств, которые мы собираемся рассмотреть в части II, могут быть применены и для обычных НКА.
Приведём содержание настоящей статьи. В разделе II приведены некоторые обозначения, введённые в наших предыдущих статьях и используемые в настоящей. В разделе III даны основные определения, связанные с расширенными конечными автоматами; эти определения были впервые введены в [3]. Также в этом разделе приведено одно из свойств расширенных автоматов - которое фактически определяет их важный частный случай.
В разделе IV мы определяем расширенный конечный автомат BE(L) - основной предмет настоящей статьи. В разделе V мы рассматриваем пример такого автомата и на этом примере показываем следующий важный факт: существуют регулярные языки, в базисных автоматах которых у некоторых вершин нет циклов, соответствующих
2 В упомянутой работе мы начали рассматривать только одну из этих
моделей - и предполагаем вернуться к их рассмотрению в последую-
щих публикациях.
циклам соответствующих вершин других эквивалентных автоматов.
(Отметим, что термин «соответствующие циклы» применялся нами в названии статьи [13] - это был основной предмет той статьи. А термин «соответствующие вершины» применялся нами для записей вида
q е <(A,X)>к,
см. подробнее в следующем разделе. Существенно более сложная классификация вершин и циклов графа переходов недетерминированного конечного автомата была приведена нами в [14] - однако для настоящей статьи эта классификация вряд ли интересна. Таким образом, последнее предложение предыдущего абзаца вполне правильное - хотя оно и «не очень красивое».)
В разделе VI мы показываем адекватность определения расширенного базисного конечного автомата - т.е. доказываем утверждение о том, что построенный на основе исходного языка L автомат BE(L) действительно определяет этот язык3. А в разделе VII мы кратко рассматриваем алгоритмы добавления петли к некоторому состоянию автомата BE(L); подробнее эти алгоритмы будут рассмотрены в части II настоящей статьи.
II. Предварительные сведения
Будем использовать обозначения из наших предыдущих работ, основные из этих обозначений связаны с каноническими конечными автоматами. А именно, пусть некоторый автомат
K = ( Q, E,S,S,F) (1)
задаёт регулярный язык L. Соответствующий канонический автомат будем обозначать записью L.4 Определим зеркальный конечный автомат как
(Q, Е, SR, F, S),
где условие
5R(qi,qi) э a
выполнено тогда и только тогда, когда
5(qi, qi) э a.
Будем обозначать автомат, зеркальный к автомату K, записью KR.
Будем считать, что автоматы L и LR для заданного регулярного языка L таковы:
L = (Q, Е,5п, К},Fn) и LR = (R, E,Sp, {sp},Fp).
Записью <L> будем обозначать автомат (LR)R.
Базисный конечный автомат определяем согласно [3], [15]. При этом для некоторой пары состояний A е Q и X е R мы в наших предыдущих работах для соответствующего им состояния базисного автомата употребляли два варианта записи: либо X, либо (A, X) (при этом второй вариант, конечно, может также обозначать
3 Конечно же, имеется в виду определение регулярного языка не на основе классических определений теории конечных автоматов, а на основе материала, изложенного в разделе III.
4 При этом, как и в наших предыдущих работах, мы не требуем, чтобы канонический автомат был всюду определённым (total). Следовательно, в нём, вообще говоря, нет т.н. «дохлого состояния» (dead state).
упорядоченную пару состояний). В настоящей статье мы будем использовать оба варианта - в зависимости от того, какой именно из них более удобен в нужном месте.
Для автомата К (1), определяющего язык Ь, и состояния (А, X) эквивалентного базисного автомата ВА(Ь) будем писать
<(А,Х)>к = { д е д фК(д) Э А и ф°ки1(д) Э X }
(об этой записи кратко было упомянуто во введении, в тексте про соответствующие вершины).
Для дальнейшего важными являются следующие два утверждения. Они приведены в [16], здесь мы их повторяем - причём доказательство приведено с небольшими дополнениями.
Утверждение 1: Пусть А - некоторое состояние автомата Ь. Тогда для каждого состояния X автомата Ьн выполнено условие
А) = сш(ь){(А,Х)). Доказательство. Условие
¿А(Ь)((А,Х)) СС1"(А)
очевидно - оно просто является следствием определения автомата ВА(Ь). Поэтому мы должны доказать выполнение включения
LL(A) ǣ*BA(l)((A,X));
G CfR (X )
III. Определение расширенных конечных автоматов
И СООТВЕТСТВУЮЩИХ РЕГУЛЯРНЫХ ЯЗЫКОВ
Рассмотрим основные определения, связанные с расширенными конечными автоматами. Заранее отметим, что для их функций переходов мы будем использовать обозначения, определённые ранее для автоматов «обычных»; например, для некоторого u G Z(q) мы будем писать
u
q—>q-
к
Определение 1: Определим расширенный автомат как
K = (Q, E,Ö,C,CтZoM),
(2)
докажем это утверждение по индукции.
Пусть и е С™(А). Базис индукции (т.е. случай и = е) очевиден. Докажем шаг индукции, т.е. рассмотрим случай |и| > 1. При этом мы можем записать и в виде и = уа, где а е £ и V е Я*. Пусть В - состояние автомата Ь, такое что V е (В).
Рассмотрим некоторое слово т е £*, такое что
(т.е. ит = уат является словом рассматриваемого языка Ь). Такое слово существует - поскольку автомат Ьн по определению не имеет ни бесполезных, ни недостижимых состояний.
Рассмотрим состояние (пусть У) автомата Ьн, такое что
Л еС" (У).
Такое состояние существует - иначе слово ит = уат не могло бы входить в заданный язык Ь.
Согласно определению бинарного отношения #, выполнено условие В#У. А по определению автомата ВА(Ь) мы получаем, что
(В, У) (А, X).
Ш(Ь)
Последний факт доказывает выполнение шага индукции.
□
Аналогично доказывается следующий факт.
Утверждение 2: Пусть Ь - заданный регулярный язык, Пусть X - некоторое состояние автомата Ьп.5 Тогда для каждого состояния А автомата Ь выполнено условие
с°> (X ) = (X))й = С°A{L)((AX)). □
5 А, следовательно, и автомата <Ь>.
где К = (д, 6, Б, Г) - автомат (1), а остальные элементы являются функциями вида
с, С", с°ш: д (£*)■
Кроме того:
• С (я) Э е для каждого д е д;
• С1П(в) Э е для каждого в е Б;
• (°Ш(I) э е для каждого I е Г. □
Определение 2: Пусть д1,д2 е д - некоторые состояния расширенного автомата (2); допускаем случай д1 = д2. Определим язык С1°(д1,д2) следующим образом:
• если и е СК(д1, д2), то мы считаем, что также
и е С'°(д1 ,Я2);
• если Я1 = Я2, то С(д1) С С1°(д1);
• если для некоторого состояния д е д мы уже определили, что
и еС°(д1,д), V еСК(д) и т е С°(д,д2),
то мы полагаем, что иут е С1^°(д1, д2);
• ничто иное не является словом языка С1°(д1,д2). □
Определение 3: Язык расширенного автомата (2) определяется как
СЬ(К) = и С"(д) -с)О(д) ■ с°ш(д). □
чея
Очевидно, что не каждый язык, который может быть задан согласно определению 3, является регулярным -просто потому, что множества С, Ст и (°"1 могут быть бесконечными. Однако мы будем рассматривать только такие случаи, когда эти множества являются регулярными языками - из чего следует, например, что язык С(К) тоже регулярен. При этом следующее утверждение 3 описывает некоторые возможные элементы множества ((д), соответствующие реальным автоматам.
Для функции переходов расширенного автомата будем использовать обозначения, ранее введённые для «обычных» автоматов; например, для некоторого слова и е ((д) можно писать
и
д-^д.
Утверждение 3: Пусть для некоторого регулярного языка Ь и определяющего его автомата (1) выполнены следующие условия:
д е я, д е <(А,Х)>*, С*(д) Э V, Сщь)((А,Х)) э и и С<£Ш((А,Х)) э ш.
BA(
Тогда для каждого г ^ 0 выполнено условие ьмгш е Ь. 6
Доказательство. Будем в этом доказательстве использовать утверждение 1 без специальных на него ссылок. Выберем некоторое слово
их е С*(д),
такое что
их е С^А); такой выбор возможен в связи с тем, что
А е ф* (д). Для автомата К мы можем записать
П\ уг
поэтому существует соответствующий путь автомата Ь для некоторого его состояния В. Итак,
A-^B.
L
(3)
Поскольку
мы получаем, что
&LBA ( l)((a,X )),
A
А отсюда вследствие (3) выполняется следующий факт:
-^А-^В . (4)
ь ь
Из условий
и е СА(ь)((А,Х)), д е <(А,Х)>к и V е С*(д) мы получаем, что
—>д—>д. к к
(5)
Из (4) и (5) следует, что
Ф*(д) э В. Кроме того, существует слово ш, такое что
то есть
w €£'nR(X).
Отсюда В#Х, и, кроме того, е Ь. □
Итак, в утверждении 3 мы фактически рассмотрели специальный случай расширенного автомата.
6 Заметим, что, вообще говоря, и £ С"К(д) и т £ С.С^(д).
IV. Расширенный базисный конечный автомат:
ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ
Всюду в этом разделе считаем регулярный язык Ь заданным. Для него определим расширенный конечный автомат ЕЕ(Ь), элементы которого задаются согласно следующему определению.
Определение 4: Пусть (А,Х) - некоторое состояние автомата ЕА(Ь) для заданного регулярного языка Ь. Определим функции
Св£(Ь), Сш(ь), Сщь) : Т(Ь) ^ р
следующим образом.
• Пусть (1) - некоторый конечный автомат, определяющий Ь, а д е Я - некоторое его состояние, такое что д е <(А,Х)>*. Пусть также
и е С* (д).
Тогда будем считать, что
и е (ш(ь)((А, Х)). Ничто иное словом языка
Сж (Ь) ((А,Х))
не является.
• Пусть (1) - некоторый конечный автомат, определяющий язык Ь, 7 а д е Я - некоторое его состояние, такое что
д е <(А,Х)>к.
Пусть также
и е С* (д). Тогда будем считать, что
и е С^(ь)((А,Х)). Ничто иное словом языка
В (Ь) ((А,Х))
не является.
• Пусть (1) - некоторый конечный автомат, определяющий Ь, а д е Я - некоторое его состояние, такое что
д е <(А,Х)>к.
Пусть также
и е С%и1(д). Тогда будем считать, что
и е Сщь)((А, Х)). Ничто иное словом множества
Zœ'(L) ((A,X ))
7 Важно отметить, что, вообще говоря, этот автомат отличается от рассматривавшегося в предыдущем пункте определения. То же - для следующего пункта. Ещё раз отметим, что в каждом из этих пунктов выбирается какой-нибудь произвольный автомат для языка Ь, причём для разных слов и, рассматриваемых в каждом из этих пунктов, автоматы могут быть различными. Иными словами - мы рассматриваем все возможные варианты автоматов и соответствующих слов.
u
не является.8
Расширенный конечный автомат ЕЕ(Ь) определяется как
ЕЕ(Ь) = (Т(Ь), Лщь),СЕ£(Ь),СЩЬ^■ V. Пример
В качестве примера рассмотрим пример языка Ь, заданного регулярным выражением
(а + аЪ + Ъа)*. (6)
Соответствующий базисный автомат изображён на рис. 1.
к последним двум фактам применяем определение 4.
Рис. 1. Базисный автомат для языка, определяемого РВ (6)
В [3] мы отмечали, что каждый из языков
Сщь)((В,У)), Сщь)((В,У)) и С°Си1ь)((В,У))
соответствующих состоянию (В, У) базисного автомата, содержит слово аЪ - несмотря на то, что этого слова не содержит ни один из аналогичных языков
С'Са(ь) ((В,У)), С*{ь)((В,У)) и С°А{ь)((В,У))
(для того же самого состояния базисного автомата (В, У), рис. 1). Для первого из упомянутых языков, т.е. Све(Ь)((В,У)), это можно показать, например, следующим образом:
• состояние дх соответствующего этому языку автомата, приведённого на рис. 2, содержит цикл, имеющий пометку аЪ;
• мы показывали в [17] и других статьях, что для рассматриваемого языка выполнено следующее:
ФК(дх) э В и фКи'(дх) Э У;
8 Условия двух последних пунктов можно переписать в виде
ФК (д) Э А и фК (д) Э X
соответственно.
Рис. 2. Автомат для языка, определяемого РВ (6)
Таким образом, «всё не так просто»: на этом примере мы показываем, что существуют регулярные языки, в базисных автоматах которых у некоторых вершин нет циклов, соответствующих циклам соответствующих вершин других эквивалентных автоматов9. Но, несмотря на это, выполняется важная теорема 1, приведённая в следующем разделе; она фактически показывает адекватность определения расширенного базисного конечного автомата - т.е. тот факт, что построенный на основе исходного языка Ь автомат ЕЕ(Ь) действительно определяет этот язык. А в качестве некоторого дополнения к теореме 1 можно рассматривать материал раздела VII; к этим вопросам мы вернёмся в части II настоящей статьи.
VI. Расширенный базисный конечный автомат:
АДЕКВАТНОСТЬ ОПРЕДЕЛЕНИЯ
Докажем основное утверждение этого раздела.
Теорема 1: С(ЕЕ(Ь)) = Ь. Доказательство. Достаточно доказать, что
С(ЕЕ(Ь)) С Ь
(обратное утверждение очевидно).
Рассмотрим некоторое слово ш е С(ЕЕ(Ь)). Поскольку ш получено согласно определениям 3 и 4, мы можем записать его в виде
w = uo(vi)11 ui(v2)12U2 ... Un-\(vu)lnun,
где:
Vз е Све(ь){ и г<з > 0 для каждого з е[1,...,и}; и0 е СВЕ(Ь)(х 1) для состояния А1
X1 е Т(Ь),
соответствующего слову VI; отсюда согласно определению 4 мы можем выбрать состояние
Х е Т(Ь),
такое что
A0 uo A1
X0 b-L) x 1,
где A° = sn - стартовое состояние автомата L;
аналогично,
An X n
BA(L)
An+1 Xn+1
9 Замечание о «не очень красивой» терминологии было приведено во введении.
где Xn+1 = вр - стартовое состояние автомата Ьд; следовательно, и0и1 и2...ип - слово, являющееся пометкой пути автомата ВА(Ь), то есть
A0 U0 X 0
A1
A2
BA(L)X1 BA(L)X2 BA(L) '
для некоторых состоянии
Un-1 An un ' BA(L)X" BA(L)
An+1 X n+1
(7)
А0 А1 А2 Ап Ап+1 п-(т) X0 , X1, X2 X п , X "+1 е 1 (Ь).
Заметим, что для каждого возможного ] мы допускаем случай и^ = е. Определим
хк = и0(у1)г1 и^У2и2 ...ик-1(укУкик , х'к = иои1 ...ик , и Ук = ик+1 ...ип . Докажем по индукции по к е 0,1,... ,п, что:
• хк Ук е Ь;
• для (единственного) пути автомата ВА(Ь) вида
Хк £ Ук^ BA.iL) BA.iL)
выполнено следующее условие:
£
Вк+1 ; X к+1 ;
заметим, что мы используем заранее зафиксированное состояние Xк+1 автомата Ьн, а также некоторое состояние Вк+1 автомата Ь. 10'11 Базис индукции (т.е. случай к = 0) очевиден - при этом мы рассматриваем т как слово автомата ВА(Ь), а не ВЕ(Ь); таким образом,
0.
%1 = %2 = ... =
Докажем шаг индукции. Рассмотрим слово
тк = хк (ук+1)гк+1 Ук.
Согласно утверждению 3, т'к е Ь.12 Кроме того, вследствие (7), х'к ук е Ь. Также на основе (7) мы получаем, что
(Ук X к+1 ь*
поэтому
BA(L)
Ak+1 X k+1
(vk+iY^1 BAL)
Ck+1 X k+1
Ук^ BA{L)
xk^ Bk+1 (vk+1)ik+1 Dk+1 BA(L) Xk+1 BA(L) Xk+1 BAL
Рис. 3. Иллюстрация к доказательству теоремы
Кроме того, для к < n мы можем записать (9) в виде
xk BA{L)
Bk+1 Xk+1
(vk+1)\k+1 BA{L)
Dk+1 Xk+1
Uk+1 BA{L)
Bk+2 Xk+2
yk + 1 BALL)
(10)
(8)
для некоторого состояния Ск+1 автомата Ь.13
По предположению индукции и (8) мы для некоторого состояния Вк+1 автомата Ь получаем следующий путь
(9)
10 Отметим, что возможен случай Бк+1 = Ак+1.
11 Процесс доказательства по индукции мы иллюстрируем рисунком 3, на котором приведена работа автомата ВА(Ь). Некоторые комментарии к рисунку будут приведены далее - также в сносках.
12 Путь автомата ВА(Ь), принимающий это слово, отмечен на рисунке малыми кружками, каждый из которых имеет номер 1. Отметим также, что автомат ВА(Ь) является однозначным - поэтому выражение путь (а не «один из путей») верное.
13 Для одного из последних шагов индукции, а именно для к + 1 = п — 1, т.е. к = п — 2, состояние Ск+ отмечено знаком вопроса -внутри состояния базисного автомата, помеченного малым кружком с номером 2. Знак вопроса при этом используется потому, что таким же образом может быть отмечено и состояние
Вк+1
которое будет
введено в следующем абзаце.
Состояние X к+2 было зафиксировано ранее, поэтому состояние Вк+2 может быть выбрано на основе (10).14 А существование требуемого состояния Вк+2 доказывает шаг индукции для к < п.
Итак, мы доказали, что т = хпуп е Ь; отсюда получаем, что С(ВЕ(Ь)) = Ь. □
VII. Об алгоритмах добавления петли
И О ЧАСТИ II НАСТОЯЩЕЙ СТАТЬИ
Как мы уже отмечали во введении, алгоритмы, которые могут быть созданы на основе описанных в настоящем разделе утверждений, на первый взгляд вряд ли могут быть названы «алгоритмами упрощения» автомата. Однако во многих задачах преобразования конечных автоматов эти алгоритмы могут быть вспомогательными «для временного небольшого ухудшения структуры автомата с целью её существенного последующего улучшения» -т.е. для последующего удаления некоторых состояний автомата и/или его дуг; таким образом, эти алгоритмы
14 Процесс выбора состояния Бк+2 - сначала неизвестного, поэтому также первоначально обозначенному заком вопроса, рисунке малым кружком с номером 3.
помечен на
действительно могут являться вспомогательными алгоритмами для минимизационных проблем. Например, алгоритмы, сформулированные в [18] для описания множества возможных дуг, являются существенно более быстрыми, чем простейшие переборные алгоритмы15, - однако всё же вряд ли могут быть использованы на практике. Поэтому, рассматривая конкретный конечный автомат, мы можем «постараться» описать множество «недостающих в нём» возможных дуг16.
Утверждение 4: Пусть q - некоторое состояние автомата BE(L), причём
u
q —> q.
BE(L)
Тогда u e ZB£(L)(q). □
Мы не будем строго доказывать это утверждение -а именно, мы не будем доказывать, что существует автомат вида (1), для которого требуемое слово u может быть выбрано на основе определения 4; мы приведём такое доказательство в части II, в нём мы определим необходимые элементы автомата (1). Кроме того, следующим обстоятельство может даже являться аргументом, что подобное доказательство малоинтересно. Если мы просто добавим слово u в язык Ze£(L) (т.е. если мы таким образом дополним определение 4), то очевидно, что мы получим автомат, эквивалентный заданному; этот факт можно рассматривать как следствие определения 3. Например, для регулярного выражения (6) на основе показанного выше факта
Zbe(L)((B,Y)) Э ab
и отмеченного выше мы можем утверждать, что к состоянию (B, Y) автомата BAA(L) можно добавить цикл17 с пометкой ab.
Список литературы
[1] Melnikov B., Vakhitova A. Some more on the finite autómata // The Korean Journal of Computational and Applied Mathematics (Journal of Applied Mathematics and Computing). - 1998. - Vol. 5. No. 3. -P. 495-506.
[2] Melnikov B., Melnikova A. Pseudo-automata for generalized regular expressions // International Journal of Open Information Technologies. - 2018. - Vol. 6. No. 1. - P. 1-8.
[3] Melnikov B. Extended nondeterministic finite automata // Fundamenta Informaticae. - 2010. - Vol. 104. No. 3. - P. 255-265.
[4] Саломаа А. Жемчужины теории формальных языков. М.: Мир, 1986. - 160 с.
[5] Мельников Б. Ф. Об одной классификации последовательностных контекстно-свободных языков и грамматик // Вестник Московского университета. Серия 15: Вычислительная математика и кибернетика. - 1993. - № 3. - С. 64-67.
[6] Вылиток А. А., Зубова М. А., Мельников Б. Ф. Об одном расширении класса конечных автоматов для задания контекстно-свободных языков // Вестник Московского университета. Серия 15: Вычислительная математика и кибернетика. - 2013. - № 1. - С. 3945.
15 Сложность алгоритмов мы в настоящей статье не рассматриваем. Однако, по-видимому, в данной ситуации очевидно, какой из подходов даёт более простые алгоритмы.
16 Понятно, что последнее приведённое предложение с математической точки зрения не является строгим. Однако при построении эвристических алгоритмов нам удаётся применять подобные методы -поскольку мы не обязаны постоянно проверять рассматриваемые автоматы на эквивалентность. См. краткое описание «алгоритмов синтеза автоматов» в [19] - к этой теме мы также предполагаем вернуться.
17 Согласно определению расширенных автоматов, такой цикл можно назвать петлёй. Если же мы рассматриваем обычные НКА, термин «петля» употреблять нельзя.
[7] Generalova T. V., Melnikov B. F., Vylitok A. A. On the problem of vertex optimization of bracketed automata // International Journal of Open Information Technologies. - 2018. - Vol. 6. No. 9. - P. 1-8.
[8] Han Y.-S., Wood D. The generalization of generalized automata: expression automata // Proceedings of The 9th International Conference on Implementation and Application of Automata. - 2004. - P. 114-122.
[9] Мельников Б. Ф., Мельникова А. А. Многоаспектная минимизация недетерминированных конечных автоматов (Часть I. Вспомогательные факты и алгоритмы) // Известия высших учебных заведений. Поволжский регион. Физико-математические науки. -2011. -№ 4(20). - С. 59-69.
[10] Мельников Б. Ф., Мельникова А. А. Многоаспектная минимизация недетерминированных конечных автоматов (Часть II. Основные алгоритмы) // Известия высших учебных заведений. Поволжский регион. Физико-математические науки. - 2012. - № 1 (21). - С.31-43.
[11] Баумгертнер С. В., Мельников Б. Ф. Мультиэвристический подход к проблеме звездно-высотной минимизации недетерминированных конечных автоматов // Вестник Воронежского государственного университета. Серия: Системный анализ и информационные технологии. - 2010. - № 1. - С. 5-7.
[12] Melnikov B., Tsyganov A. The state minimization problem for nondeterministic finite automata: The parallel implementation of the truncated branch and bound method // Proceedings of the International Symposium on Parallel Architectures, Algorithms and Programming, PAAP-2012. Taipei, Taiwan. - 2012. - P. 194-201.
[13] Melnikov B., Melnikova A. An approach to the classification of the loops of finite automata. Part I: Long corresponding loops // International Journal of Open Information Technologies. - 2018. -Vol. 6. No. 9. - P. 9-14.
[14] Melnikov B., Melnikova A. An approach to the classification of the loops of finite automata. Part II: The classification of the states based on the loops // International Journal of Open Information Technologies.
- 2018. - Vol. 6. No. 11. - P. 1-6.
[15] Melnikov B. Once more on the edge-minimization ofnondeterministic finite automata and the connected problems // Fundamenta Informaticae. - 2010. - Vol. 104. No. 3. - P. 267-283.
[16] Мельникова А. А. Использование функций разметки при работе с циклами базисного конечного автомата // Вестник Тамбовского университета. Серия: Естественные и технические науки. - 2015.
- Т. 20. № 5. - С. 1310-1312.
[17] Melnikov B. The complete finite automaton // International Journal of Open Information Technologies. - 2017. - Vol. 5. No. 10. - P. 9-17.
[18] Melnikov B., Sciarini-Guryanova N. Possible edges of a finite automaton defining a given regular language // The Korean Journal of Computational and Applied Mathematics (Journal of Applied Mathematics and Computing). - 2002. - Vol. 9. No. 2. - P. 475-485.
[19] Мельников Б. Ф., Сайфуллина М. Р. О некоторых алгоритмах эквивалентного преобразования недетерминированных конечных автоматов // Известия высших учебных заведений. Математика.
- 2009. - № 4. - С. 67-72.
Борис Феликсович МЕЛЬНИКОВ,
профессор Университета МГУ-ППИ в Шэнчжэне
(http://szmsubit.ru/), email: [email protected], mathnet.ru: personid=2 7 9 67, elibrary.ru: authorid=15715, scopus.com: authorId=55954040300, ORCID: orcidID=00 0 0-0 0 02-67 65-68 0 0.
Александра Александровна МЕЛЬНИКОВА, доцент Димитровградского инженерно-технологического института - филиала Национального исследовательского ядерного университета «МИФИ»
(https://diti-mephi.ru/), email: [email protected], mathnet.ru: personid=148963, elibrary.ru: authorid=143351.
Extended basis finite automaton. Part I. The basic definitions
Boris Melnikov, Aleksandra Melnikova
Abstract—In this paper, we consider a special extension of the class of non-deterministic finite automata. The purpose of this consideration is the following: first, to describe using such automata various brute-force algorithms of equivalent transformation of automata; secondly, the application of the described extension in several minimization problems for ordinary non-deterministic finite automata; thirdly, with the help of these automata we can simplify some proofs, which are also necessary for ordinary finite automata.
In the paper, we consider the definition of extended finite automata, give examples, define the extended basic finite automaton for the given regular language and consider some properties of this automaton. We also prove, that for the extended basis automaton all the auxiliary languages obtained in the constructions are regular. All this allows to simplify the definition of an extended basic automaton.
We also show the adequacy of the definition of an extended basis finite automaton, i.e. we prove the assertion that the extended basic automaton constructed on the basis of the source regular language really defines this language. And on one of the examples we show the following fact: there are regular languages, in whose basic automata some vertices do not have cycles corresponding to the cycles of the corresponding vertices of other equivalent automata; such cycles exist in similar vertices of extended basic automata.
Keywords—Regular languages, nondeterministic finite automata, the extension of automata, algorithms of equivalent transformation for automata.
References
[1] Melnikov B., Vakhitova A. Some more on the finite automata // The Korean Journal of Computational and Applied Mathematics (Journal of Applied Mathematics and Computing). - 1998. - Vol. 5. No. 3. -P. 495-506.
[2] Melnikov B., Melnikova A. Pseudo-automata for generalized regular expressions // International Journal of Open Information Technologies.
- 2018. - Vol. 6. No. 1. - P. 1-8.
[3] Melnikov B. Extended nondeterministic finite automata // Fundamenta Informaticae. - 2010. - Vol. 104. No. 3. - P. 255-265.
[4] Salomaa A. Jewels of formal language theory. - Maryland, USA: Computer Science Press, Inc., 1981. - 144 p.
[5] Melnikov B. On a classification of sequential context-free languages and grammars // Vestnik of Moscow University. Series 15: Computational Mathematics and Cybernetics. - 1993. - No. 3. -P. 64-67.
[6] Vylitok A., Zubova M., Melnikov B. On an extension of the class of finite automata for defining context-free languages // Vestnik of Moscow University. Series 15: Computational Mathematics and Cybernetics. - 2013. - No. 1. - P. 39-45.
[7] Generalova T., Melnikov B., Vylitok A. On the problem of vertex optimization of bracketed automata // International Journal of Open Information Technologies. - 2018. - Vol. 6. No. 9. - P. 1-8.
[8] Han Y.-S., Wood D. The generalization of generalized automata: expression automata // Proceedings of The 9th International Conference on Implementation and Application of Automata. - 2004.
- P. 114-122.
[9] Melnikov B., Melnikova A. Multidimensional minimization of non-deterministic finite automata (Part I. Auxiliary facts and algorithms) // News of Higher Educational Institutions. Volga Region. Physical and Mathematical Sciences. - 2011. - No 4(20). - P. 59-69.
[10] Melnikov B., Melnikova A. Multidimensional minimization of non-deterministic finite automata (Part II. Basic algorithms) // News
of Higher Educational Institutions. Volga Region. Physical and Mathematical Sciences. - 2012. - No 1 (21). - P. 31-43.
[11] Baumgärtner S., Melnikov B. Multiheuristic approach to the problem of the star-height minimization of nondeterministic finite automata // Vestnik of Voronezh State University. Series: System Analysis and Information Technologies. - 2010. - No. 1. - P. 5-7.
[12] Melnikov B., Tsyganov A. The state minimization problem for nondeterministic finite automata: The parallel implementation of the truncated branch and bound method // Proceedings of the International Symposium on Parallel Architectures, Algorithms and Programming, PAAP-2012. Taipei, Taiwan. - 2012. - P. 194-201.
[13] Melnikov B., Melnikova A. An approach to the classification of the loops of finite automata. Part I: Long corresponding loops // International Journal of Open Information Technologies. - 2018. -Vol. 6. No. 9. - P. 9-14.
[14] Melnikov B., Melnikova A. An approach to the classification of the loops of finite automata. Part II: The classification of the states based on the loops // International Journal of Open Information Technologies. - 2018. - Vol. 6. No. 11. - P. 1-6.
[15] Melnikov B. Once more on the edge-minimization of nondeterministic finite automata and the connected problems // Fundamenta Informaticae. - 2010. - Vol. 104. No. 3. - P. 267-283.
[16] Melnikova A. Using state-marking functions when working with the loops of the basis finite automaton // Vestnik of Tambov State University Series: System Analysis and Information Technologies. -2015. - Vol. 20. No 5. - P. 1310-1312.
[17] Melnikov B. The complete finite automaton // International Journal of Open Information Technologies. - 2017. - Vol. 5. No. 10. - P. 9-17.
[18] Melnikov B., Sciarini-Guryanova N. Possible edges of a finite automaton defining a given regular language // The Korean Journal of Computational and Applied Mathematics (Journal of Applied Mathematics and Computing). - 2002. - Vol. 9. No. 2. - P. 475485.
[19] Melnikov B., Sayfullina M. On some algorithms for the equivalent transformation ofnondeterministic finite automata // News of Higher Educational Institutions. Mathematics. - 2009. - No 4. - P. 67-721.
Boris Feliksovich MELNIKOV, Professor of Shenzhen MSU-BIT University
(http://szmsubit.ru/), email: [email protected], mathnet.ru: personid=2 7 9 67, elibrary.ru: authorid=15715, scopus.com: authorId=55954040300, ORCID: orcidID=00 0 0-0 0 02-67 65-68 0 0.
Aleksandra Aleksandrovna MELNIKOVA, Associated Professor (Docent)
of Dimitrovgrad Engineering and Technology Institute -Branch of National Research Nuclear University "MEPhI"
(https://diti-mephi.ru/), email: [email protected], mathnet.ru: personid=148963, elibrary.ru: authorid=143351.