Научная статья на тему 'ОБ ОДНОМ ПОДКЛАССЕ КЛАССА РЕГУЛЯРНЫХ ЯЗЫКОВ («СИЛЬНО СВЯЗАННЫЕ» ЯЗЫКИ): ОПРЕДЕЛЕНИЯ И СООТВЕТСТВУЮЩИЕ КАНОНИЧЕСКИЕ АВТОМАТЫ'

ОБ ОДНОМ ПОДКЛАССЕ КЛАССА РЕГУЛЯРНЫХ ЯЗЫКОВ («СИЛЬНО СВЯЗАННЫЕ» ЯЗЫКИ): ОПРЕДЕЛЕНИЯ И СООТВЕТСТВУЮЩИЕ КАНОНИЧЕСКИЕ АВТОМАТЫ Текст научной статьи по специальности «Математика»

CC BY
33
5
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
РЕГУЛЯРНЫЕ ЯЗЫКИ / НЕДЕТЕРМИНИРОВАННЫЕ КОНЕЧНЫЕ АВТОМАТЫ / ПОДКЛАССЫ КЛАССОВ ЯЗЫКОВ / АЛГОРИТМЫ ЭКВИВАЛЕНТНОГО ПРЕОБРАЗОВАНИЯ АВТОМАТОВ / REGULAR LANGUAGES / NONDETERMINISTIC FINITE AUTOMATA / SUBCLASSES OF THE REGULAR LANGUAGE CLASS / ALGORITHMS FOR EQUIVALENT TRANSFORMATION OF AUTOMATA

Аннотация научной статьи по математике, автор научной работы — Мельников Борис Феликсович

В наших предыдущих публикациях был рассмотрен упрощённый по сравнению с классикой вариант определения омега-автоматов, задающих омега-языки. Однако, несмотря на эту «упрощённость», такое определение даёт возможность задавать нужные нам в самых разных задачах подклассы класса омега-языков, описывать соответствующие алгоритмы эквивалентных преобразований определённых нами омега-автоматов и т. п. При этом ранее мы уже рассматривали группу вопросов, относящихся к омега-автоматам и соответствующим омега-вычислениям, но которые, при некоторой их переформулировке, могут быть отнесены и к обычным недетерминированным конечным автоматам. Мы определили итеративные (iterating) и сильно связанные (strongly connected) омега-автоматы - однако на основе рассмотренных в предыдущих статьях определений и свойств подобных автоматов можно заключить, что практически те же самые понятия можно применять и к обычным НКА. В связи с этим мы в настоящей статье определяем сильно связанные автоматы - как подмножество обычных НКА. На основе этого понятия мы определяем сильно связанные языки, после чего показываем их связь с имеющимися в классе регулярных языков инвариантами - каноническим, базисным и универсальным конечными автоматами. В частности, мы показываем, что для сильно связанного языка и его зеркального образа (mirror image) возможны все 4 варианта выполнения условия сильной связности соответствующих канонических автоматов. В настоящей статье, а также в предполагаемой статье-продолжении, мы рассмотрим подклассы класса сильно связанных языков, приведём алгоритмы для эквивалентных преобразований соответствующих им сильно связанных автоматов, опишем некоторые специальные подклассы класса сильно связанных языков и некоторые свойства этих подклассов, что даст возможность описания алгоритмов эквивалентного преобразования для упомянутого выше варианта омега-автоматов.

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

Похожие темы научных работ по математике , автор научной работы — Мельников Борис Феликсович

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

ON A SUBCLASS OF THE REGULAR LANGUAGE CLASS (“STRONGLY CONNECTED” LANGUAGES): DEFINITIONS AND CORRESPONDING CANONICAL AUTOMATA

In our previous publications, we considered a simplified version of the definition of omega-automata that define omega-languages compared to the classics. However, despite this “simplification”, such a definition makes it possible to specify the subclasses of the class of omega-languages that we need in a lot of problems, to describe the corresponding algorithms for equivalent transformations of the omegaautomata we have defined, etc. At the same time, we have already considered a group of questions related to omega automata and the corresponding omega computations, but which, with some reformulation, can also be attributed to ordinary nondeterministic finite automata. We have defined iterating and strongly connected omega automata; however, based on the definitions and properties of such automata discussed in previous papers, we can conclude that almost the same concepts can be applied to ordinary NFAs. In this regard, in this paper we define strongly connected automata as a subset of ordinary NFAs. Based on this concept, we define strongly connected languages, and then show their relation to the invariants available in the class of regular languages: canonical, basis, and universal finite automata. In particular, we show that for a strongly connected language and its mirror image, all 4 variants of the strong connectivity condition of the corresponding canonical automata are possible. In this paper, as well as in the proposed continuations, we shall consider subclasses of strongly connected languages, present algorithms for equivalent transformation of corresponding strongly connected automata, describe some special subclasses of the class of strongly connected languages and some properties of these subclasses. They will give the possibility to describe algorithms of equivalent transformations for the above-mentioned variant of omega-automata.

Текст научной работы на тему «ОБ ОДНОМ ПОДКЛАССЕ КЛАССА РЕГУЛЯРНЫХ ЯЗЫКОВ («СИЛЬНО СВЯЗАННЫЕ» ЯЗЫКИ): ОПРЕДЕЛЕНИЯ И СООТВЕТСТВУЮЩИЕ КАНОНИЧЕСКИЕ АВТОМАТЫ»

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

Б. Ф. Мельников

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

При этом ранее мы уже рассматривали группу вопросов, относящихся к омега-автоматам и соответствующим омега-вычислениям, но которые, при некоторой их переформулировке, могут быть отнесены и к обычным недетерминированным конечным автоматам. Мы определили итеративные (iterating) и сильно связанные (strongly connected) омега-автоматы - однако на основе рассмотренных в предыдущих статьях определений и свойств подобных автоматов можно заключить, что практически те же самые понятия можно применять и к обычным НКА. В связи с этим мы в настоящей статье определяем сильно связанные автоматы - как подмножество обычных НКА.

На основе этого понятия мы определяем сильно связанные языки, после чего показываем их связь с имеющимися в классе регулярных языков инвариантами - каноническим, базисным и универсальным конечными автоматами. В частности, мы показываем, что для сильно связанного языка и его зеркального образа (mirror image) возможны все 4 варианта выполнения условия сильной связности соответствующих канонических автоматов.

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

Ключевые слова—регулярные языки, недетерминированные конечные автоматы, подклассы классов языков, алгоритмы эквивалентного преобразования автоматов.

I. ВВЕДЕНИЕ

В статье автора [1] был рассмотрен упрощённый (по сравнению с классикой, [2], [3] идр.) вариант определения ^-автоматов, задающих ^-языки. Однако, несмотря на отмеченную «упрощённость», такое определение даёт возможность задавать нужные нам в самых разных задачах подклассы класса ^-языков, описывать соответствующие алгоритмы эквивалентных преобразований

Борис Феликсович Мельников, Университет МГУ-ППИ в Шэнь-чжэне (bf-melnikov@yandex.ru).

Статья получена 27 декабря 2020 г.

определённых нами ш -автоматов и т. п. - см. подробности там же, в [1]. Мы покажем эти возможности в предполагаемых статьях - её продолжениях; в них мы рассмотрим описания специальных подклассов класса ш-языков, некоторые их свойства, а также новые алгоритмы эквивалентного преобразования определённого нами варианта ш-автоматов.

При этом в нескольких последних разделах статьи [1] (а именно, в разделах V-VII) мы фактически уже рассматривали группу вопросов, которые, конечно, относятся к ш-автоматам и соответствующим ш-вычислениям ... но которые (при некоторой их переформулировке) могут быть отнесены и к обычным недетерминированным конечным автоматам (НКА). Мы определили итеративные (iterating) и сильно связанные (strongly connected) ш-автоматы - однако на основе рассмотренных там определений и свойств подобных автоматов можно заключить, что практически те же самые понятия можно применять и к обычным НКА. В связи с этим мы в настоящей статье определяем сильно связанные автоматы - как подмножество обычных НКА. В дальнейших публикациях мы также предполагаем рассмотреть итеративные автоматы1 и только потом - опубликовать продолжение статьи [1], т. е. её часть II.

Таким образом, мы будем рассматривать сильно связанные языки и соответствующие им недетерминированные конечные автоматы - т. е. такие автоматы, графы переходов которых являются сильно связанными. (Все термины теории графов, применяемые в статье, согласованы с терминологией классических книг Харари - [4] и др.) При этом, как нам кажется, мы рассматриваем достаточно простые определения и результаты - однако в литературе мы ничего соответствующего не нашли. И ещё раз отметим, что материал настоящей статьи будет необходим для продолжения статьи [1]: мы в настоящей статье и в статье-продолжении покажем связь понятия «сильно связанные языки» с имеющимися в классе регулярных языков инвариантами - каноническим, базисным и универсальным конечными автоматами.

Структура настоящей статьи такова. В разделе II перечислены несколько причин нашего интереса к сильно связанным языкам - и стоит отметить, что этими причинами наш интерес к ним далеко не ограничивается. В разделе III приведены употребляемые нами основные обозначения (в том числе нестандартные), связанные с

1 Сначала - тоже без «выхода» в ш-вычисления.

недетерминированными конечными автоматами, применяемые в работах автора.

В разделе IV мы определяем сильно связанные конечные автоматы и сильно связанные регулярные языки, а также приводим некоторые соответствующие примеры. В разделе V мы показываем, что свойство сильной связанности не сохраняется при переходе к каноническому автомату, эквивалентному некоторому заданному - более того, для сильно связанного языка и его зеркального образа (mirror image) возможны все 4 варианта выполнения условия сильной связности соответствующих канонических автоматов.

В разделе VI мы формулируем одно очень важное свойство класса сильно связанных языков - несуществование полиномиального алгоритма проверки того факта, что некоторый регулярный язык является сильно связанным; мы также приводим схему доказательства этого свойства. (Подробный вариант доказательства требует большой детализации и поэтому является очень громоздким.) А в заключении (раздел VII) мы описываем возможные направления дальнейшей работы, связанные с рассмотренной в настоящей статье тематикой.

II. «МОТИВАЦИЯ»

Основная причина нашего интереса к сильно связанным языкам фактически уже была сформулирована во введении - однако имеются и другие «варианты мотивации».

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

«Вторым пунктом мотивации» являются так называемые 2^-язык - которые мы предполагаем рассмотреть уже после второй части статьи про w-языки. Мы рассматривали 2^-язык в статье [5], опубликованной очень давно, - но автору до сих пор неизвестны другие работы, где рассматриваются такие объекты.

Каждое 2^-слово можно рассматривать как функцию вида

а : Z ^

Например, для простейшего 2^-слова (а2ш), каждая буква которого - а, функция а имеет вид a(i) = а для всех i € Z. Мы не будем различать два 2^-слова, если одно из них (пусть ai) может быть получено из другого (а2) с помощью следующего условия:

(3n € Z) (yi € Z) (a1(i) = a2(i + и)).

Некоторые из 2^-языков могут быть определены с помощью 2^-автоматов - фактически являющихся НКА без входов и выходов2. Соответственно, графы переходов 2^-автоматов могут быть изображены как обычные графы переходов конечных автоматов без входных и выходных стрелок. Простейший w-КА (определяющий 2^-язык [а2и}, содержащий только одно рассмотренное выше 2^-слово) приведён на рисунке 1; отметим, что в рассматриваемом графе переходов автомата (transition graph) нет не только выходных стрелок (аналогично [1]), но и входных.

Рис. 2

А автомат на рисунке 2 определяет 2^-язык, содержащий такие 2^-слова:

а также 2^-слово вида3

. .. ааа .. . ааа Ь ссс .. . ссс .. .

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

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

У рассматриваемых нами 2ш-автоматов имеется также некоторая аналогия с автоматами, определяемыми в [6, Гл. 4]. В этой монографии в качестве единственного варианта конечных автоматов4 фактически используется такое же определение. Однако на этом «аналогия кончается»: оно используется для определения специальной полугруппы (и именно для неё эти автоматы и рассматриваются). Понятно, что «для наших целей» .

Перейдём к ещё одному «пункту мотивации». В наших предыдущих статьях, посвящённых ш- и 2ш-автоматам (и соответствующим им ш- и 2ш-языкам), мы в первую очередь рассматривали вопросы, связанные с так называемыми «обструкциями» (т.е. словами, которые не

2 Аналогия с первой частью настоящей статьи - в том, что там мы тоже «убирали» элемент (один) из пятёрки, определяющей обычный НКА.

3 Иногда удобнее записывать это 2ш-слово как

(a")R b (c")

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

4 По-видимому, единственному: в предметном указателе обоих томов других вариантов нет.

Рис. 1

b

a

2

и.

a

2

и.

С

a

могут входить в качестве подслова в ш- и 2ш-языки, определяемые соответствующими автоматами). Однако вопросы, связанные с ш- и 2ш-языками и соответствующими автоматами, конечно же, далеко не ограничиваются подобной тематикой; некоторые из таких вопросов и рассматриваются в настоящей статье.

При описании «обычных» регулярных языков ш-автоматы (и тем более 2ш-автоматы) тоже могут представить определённый интерес - поскольку они описывают самые важные свойства этих языков5. При этом почти всегда достаточно рассматривать компоненты связанности графа переходов 2ш-автомата (а также «конструировать» эквивалентные автоматы и языки из компонентов связанности графа переходов автомата и соответствующих им регулярных языков) - и, следовательно, только соответствующие сильно связанные автоматы6. Яркий пример подобной задачи - проблема звёздной высоты регулярного языка, см. [7] и некоторые ссылки, приведённые в той статье.

А в качестве «последнего 7 пункта мотивации» назовём такой. Мы уже упоминули определённые нами ранее итеративные (iterating) ш -автоматы - но совершенно аналогично их можно определить и для обычных НКА. При этом возможны такие два варианта:

• множество выходных состояний совпадает со всем множеством состояний НКА;

• множество выходных состояний состоит из единственного состояния, совпадающего со стартовым.

Отметим, что оба варианта должны найти применение, например, в задачах, связанных с нашими предыдущими публикациями [8], [9].

III. ПРЕДВАРИТЕЛЬНЫЕ СВЕДЕНИЯ: ОСНОВНЫЕ

ОБОЗНАЧЕНИЯ, СВЯЗАННЫЕ С АВТОМАТАМИ

Как мы уже отмечали, для полного понимания материала настоящей статьи можно обойтись без (или почти без) ссылок на наши предыдущие работы. Однако необходимы основные обозначения (в том числе нестандартные), связанные с недетерминированными конечными автоматами, применяемые в работах автора. Эти обозначения уже были ранее приведены в нескольких публикациях, в частности в [10], [11], [12], [13], - однако мы дадим их ещё раз: в отличие от упомянутых статей, здесь мы их приводим на русском языке, причём именно в том объёме, который нужен для настоящей статьи.

Пусть

K = ( Q, S,Ö,S,F ) -

(где запись V(ф) означает множество подмножеств множества Q), а не в виде

5 : ф х (Я и{е}) -V(ф);

таким образом, мы будем рассматривать автоматы без е-переходов. Некоторую дугу 5(д, а) э т мы иногда будем записывать в виде

а

а—>т

б

или, если это не вызовет неоднозначности, в виде

а

а—>т.

Зеркальный автомат для автомата, заданного с помощью (1), определяется как

где

/а //

q —>q

(Q, S, öR, F, S),

если и только если q

>q ■

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

Далее в этом разделе будем считать, что некоторый регулярный язык Ь задан; для него будем использовать следующие обозначения. Его канонический автомат8 будем обозначать записью Ь; специально подчеркнём, что это - автомат, а не язык. Элементы «пятёрок», задающих автоматы Ь и Ья, таковы:

Ь = (фп, , {вп },Рп )

Ь-я = (фр, Я,5р, {вр},Гр).

Более того, мы не будем рассматривать язык Ь = 0, поэтому оба канонических автомата должны иметь (по одному) стартовому состоянию.

Определим бинарное отношение # и функции разметки состояний фп и ф0 [12]. Отношение

# С фп х фр

„in и ,„out. некоторые подробности см. в. [10],

(1)

недетерминированный конечный автомат Медведева (Рабина-Скотта), задающий регулярный язык

Ь = С(К).

Здесь ф - множество состояний, Б С ф и Г С ф -соответственно множества входных и выходных состояний. Специально отметим, что функция переходов 5 автомата (1) будет далее рассматриваться как

5 : ф х Я — V(О),

5 Конечно, строго определить понятие «самые важные свойства» вряд ли возможно.

6 В этом абзаце мы сделали «переход» от обычных автоматов «через» 2ш-автоматы «назад» к обычным автоматам.

7 Последнего, приведённого в настоящей статье.

определяется для пар состояний автомата L и автомата LR следующим образом: условие A # X выполняется тогда и только тогда, когда

(3uv е L) in е ¿lA), VR е cinR(X)).

Отметим, что это определение неконструктивное9; его эквивалентный конструктивный аналог (т. е. определение-алгоритм) приведён в [14], [15]. (Прямая) функция разметки состояний

фК : Q ^ P(Qn)

определяется следующим образом: Фк (я) Э q если и только если С'К (q) П С"(qj) = 0 . А обратная функция разметки состояний

фК : Q ^ P(Qp)

8 В предыдущих публикациях мы отмечали, что канонические автоматы всегда рассматриваются без возможного «дохлого» состояния ("dead state"). Отметим ещё, что вследствие этого мы, конечно, не требуем, чтобы канонический автомат был всюду определённым ("total").

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

9 Но более полезное для теоретических построений.

и

определяется таким же образом, но для другой пары автоматов, Кя и Ьн вместо К и Ь.

На основе определённого выше бинарного отношения # формируется множество псевдогридов (см. [12] и др.)10: а именно, каждый из них представляет собой пару (Р, Я) (где Р С Qп и Я С Qp), такую что для каждой пары состояний р £ Р и г £ Я выполнено условие р#г.

В произвольном НКА для заданного регулярного языка Ь каждое состояние образует некоторый псевдогрид. Более того, необходимым условием того, что автомат действительно определяет заданный язык Ь, является «покрытие» всеми блоками 11 всех элементов бинарного отношения #, см. подробнее [14], [15]12.

А если для некоторого псевдогрида (Р, Я) мы не можем расширить ни множество Р, ни множество Я - без того, чтобы не нарушилось определение псевдогрида, то такой псевдогрид мы будем называть гридом.

(Алгоритм построения множества (псевдо)гридов кажется простым - однако даже у этого алгоритма сложность более чем полиномиальна. Это следует хотя бы из (достижимой) верхней оценки числа гридов - которую можно получить, например, на основе [16]: эта оценка для бинарного отношения, в котором мощности обоих множеств Qп и Qp совпадают и равны п, равна М (п) -п-му числу Дедекинда, [17], [18] и др.)

Далее рассмотрим пример ко всем определённысм нами объектам, связанным с заданным регулярным языком Ь; см. рис. 3, этот автомат уже рассматривался в наших предыдущих публикациях:

Рис. 3

Процедуры построения объектов описывать не будем (это также сделано в опубликованных ранее статьях) -

10 Ранее в литературе на русском языке автор употреблял термин «псевдоблоки» (и «блоки» для объектов, определяемых далее). Однако, по-видимому, термины «псевдогриды» и «гриды» всё-таки более удачны - хотя и «подчёркиваются красным цветом» Word-подобными программами.

11 Здесь псевдогриды рассматриваются как множества своих элементов; аналогично - для всего бинарного отношения #.

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

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

Однако, во-первых, всё это «перестаёт быть противоречием» при рассмотрении более сложных определений функций фп и ц?" - определений, выполненных на основе произвольных детерминированных автоматов (а не обязательно канонических автоматов для рассматриваемых языков Ь и Ьл); но такие «более сложные» определения вряд ли интересны для настоящей статьи. И, во-вторых, несложные доказательства неэквивалентности автоматов (в случае «непокрытия» всех элементов множества #) остаются правильными при рассмотрении определений, приведённых в настоящей статье.

приведём только результаты работы этих процедур.

Зеркальный автомат (Кя, он определяет язык Ья), рис. 4:

0

/ \ ь

а \

&Ч.

а, Ь

Рис. 4

Соответствующие канонические автоматы Ь и Ьн приведены на рисунке 5 и 6:

На основе этих автоматов мы получаем бинарное отношение # (таб. 1):

Таб. 1

# X Y Z U

A - # # -

B # - # -

C # # # #

D # # # -

И уже на основе последней таблицы мы получаем такие 5 гридов (все возможные для этого бинарного отношения):

(1) {Л,С,Б}х{У^},

(2) {Л,Б,С,В}х&},

(3) {Б,С,Б}х{Х^},

(4) {С}х{Х,У^,Ц},

(5) {С\Б}х{Х,У^}.

Мы будем использовать те же самые номера гридов и в дальнейших примерах, в частности, при определении состояний новых автоматов и в статьях-продолжениях.

( Определённые здесь гриды применяются, среди прочего, в алгоритмах минимизации НКА - однако эти вопросы не являются предметом настоящей статьи.)

В заключение раздела отметим, что для всех приведённых здесь объектов имеются коструктивные алгоритмы их построения. При этом надо дополнительно отметить следующее:

• мы не всегда приводили эти конструктивные варианты определений: иногда удобнее другие варианты; то же верно и для дальнейшего изложения;

• некоторые из этих определений-алгоритмов - экспоненциальные, причём сложность не может быть понижена (например, потому, что число состояний канонического автомата, эквивалентного некоторому заданному, может экспоненциально зависеть от числа состояний заданного НКА).

IV СИЛЬНО СВЯЗАННЫЕ РЕГУЛЯРНЫЕ ЯЗЫКИ: ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ И ПРИМЕРЫ

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

Определение 1: Конечный автомат называется сильно связанным, если сильно связанным является граф переходов этого автомата. □

Ещё раз отметим очевидную связь этого определения с определением сильно связанного ^-автомата, приведённого в [1].

Среди автоматов, часто рассматривавшихся в предыдущих статьях автора, приведём, во-первых, сильно связанный автомат (рис. 7):

Рис. 7

и, во-вторых, автомат, не являющийся таковым, рис. 3 13.

Существенно более важным является следующее определение.

Определение 2: Регулярный язык называется сильно связанным, если для него существует (хоть один) сильно связанный конечный автомат. □

Среди примеров рассмотрим сначала тривиальный: в 2^-автомат, рассматривавшийся выше на рисунке 1,

13 Отметим, что мы выше также рассмотрели эквивалентные канонический, базисный и универсальный НКА. При этом канонический и базисный автоматы не являются сильно связанными, а универсальный -является.

добавим вход и выход (для получения обычного НКА, причём невырожденного) ...

Рис. 8

... после чего «продублируем» получившийся автомат:

а Сф

Рис. 9

Очевидно, что эти автоматы определяют один и тот же язык (регулярное выражение для него - а*), но сильно связанным из этих автоматов является только первый. Также согласно приведённым определениям, язык этих автоматов является сильно связанным.

В заключение раздела приведём пример, часто рассматривающийся в связи с задачами о звёздной высоте ([19], [7] и др.) - причём звёздной высоте как автомата, так и регулярного языка. Рассмотрим такой автомат:

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

Рис. 11

И действительно, соответствующее регулярное выражение наиболее естественно записывать в виде (аЬ*с)*.

Интересно отметить, что этот «естественный» переход - от рис. 10 к рис. 11:

a

• «с точки зрения» рассматриваемой в настоящей статье сильной связности является упрощением,

• а «с точки зрения» звёздной высоты он является усложнением (и поэтому в процитированных выше работах, связанных с звёздной высотой регулярного языка, в примерах рассматривается «обратный» переход - от рис. 11 к рис. 10).

V. КАНОНИЧЕСКИЕ АВТОМАТЫ ДЛЯ СИЛЬНО СВЯЗАННЫХ ЯЗЫКОВ

Канонический автомат является (полным) инвариантом регулярного языка ([20], [21]) - поэтому возникает такой естественный вопрос: сохраняется ли свойство сильной связанности при переходе к каноническому автомату, эквивалентному некоторому заданному?14 Однако, вообще говоря, ответ на этот вопрос отрицателен -что мы продемонстрируем на следующем примере.

Рассмотрим такой автомат (рис. 12), будем считать его исходным:

Таб. 3

\

Рис. 12

Очевидно, что он является сильно связанным.

Перепишем его следующим образом (таблица 2)15:

Таб. 2

• как обычно, запись 34 означает {3,4} (и т.п.); недоразумений это также не вызовет, т. к. для обозн-вачений состояний в наших примерах достаточно использовать цифры от 1 до 9;

• множества состояний, обозначающие агрегатные состояния, выписываем как обозначения строк «в порядке их появления» - сверху вниз, слева направо;

• после окончания собственно детерминизации переходим к агрегатным состояниям, обозначаемым так же;

• получаем, что состояния {3} и {3,4} эквивалентны (и больше пар эквивалентных состояний нет);

• поэтому для обозначения попарно неэквивалентных состояний нужно 5 символов - они приведены в последнем столбце;

• как обычно, «дохлого» состояния не используем: вместо перехода в него оставляем пустую клетку.

Полученный эквивалентный канонический автомат «в обычных обозначениях» приведён в таблице 4:

Таб. 4

Процесс детерминизации и канонизации опишем в виде следующей таблицы 3 (см. далее). Приведём к ней следующие комментарии:

• во всех таблицах функции переходов будем называть "delta", вызвать недоразумений это не должно;

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

Ещё отметим, что (неполным) инвариантом регулярного языка является бинарное отношение #.

15 Для удобства «сложные» автоматы иногда будем определять тоже в виде таблиц. В них входные состояния помечены стрелками слева направо, а выходные - стрелками справа налево.

Очевидно, что этот автомат не является сильно связанным.

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

Сначала приведём таблицу для автомата, зеркального к изображённому на рисунке 12 (или в таблице 2); это -таблица 5:

Таб. 5

Процесс детерминизации и канонизации отражён в следующей таблице 6; комментарии к ней - такие же, как у приведённой выше таблицы 3.

Таб. 6

Таб. 9

Или, «в обычных обозначениях», получаем таблицу 7:

Таб. 7

delta a b с

-> 12 34 А

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

<— 34 1 1 2 4 В

3 С

2 4 D

4 1 2 Е

3 1 2 4 В

Как мы видим, автомат - аналогично более простому случаю, т. е. «без дуги с» - не является сильно связанным. Но рассмотрим теперь зеркальный автомат Кя:

Таб. 10

Как видно из неё, полученный канонический автомат не является сильно связанным - т. е. в приведённом нами примере сильно связанными не являются оба канонических автомата.

Теперь немного модифицируем исходный автомат, добавим одну дугу, см. рис. 13:

Процесс детерминизации и канонизации отражён в следующей таблице 11:

Таб. 11

\

Рис. 13

Конечно, автомат (и, следовательно, его язык) - сильно связанный; рассмотрим два соответствующих канонических автомата, комментарии совпадают с приведёнными выше16.

Во-первых, его автомат Ь:

Таб. 8

Или, «в обычных обозначениях», таблицу 12:

Таб. 12

получаем для

LR

или, после переобозначения состояний:

16 Как и всюду ранее, К - рассматриваемый в данный момент автомат, а Ь - его язык.

Как мы видим, полученный автомат Ьн является сильно связанным.

Таким образом, все варианты сильной связанности для автоматов Ь и Ьн, не противоречащие определению 1, возможны. Среди них - возможны все 4 варианта, относящихся к сильно связанным языкам. Всё сказанное здесь может быть проиллюстрировано приведённой ниже таблицей 13, вот некоторые комментарии к ней:

• согласно нашим стандартным обозначениям, первый столбец описывает языки, а второй и третий столбцы - автоматы;

• «+» означает сильную связанность, а «—» означает её отсутствие;

• ранее_не рассмотренная пара «+/-» для автоматов Ь и Ьн получается очевидным образом («без картинок и вычислений») для автомата, зеркального к приведённому на рис. 13.

Таб. 13

L __

L L"

-

■ -

+ ■

+ ■

+ + ■

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

VI. ВАЖНОЕ СВОЙСТВО КЛАССА СИЛЬНО СВЯЗАННЫХ ЯЗЫКОВ

В этом разделе мы формулируем одно очень важное свойство класса сильно связанных языков - несуществование полиномиального алгоритма проверки того факта, что некоторый регулярный язык является сильно связанным; мы также приводим схему доказательства этого свойства. (Как мы отмечали во введении, подробный вариант доказательства требует подробной детализации -и поэтому является очень громоздким.) Формулировка основного утверждения этого раздела практически совпадает с частью текста предыдущего абзаца.

Теорема 1: Не существует полиномиального алгоритма проверки того факта, что некоторый регулярный язык является сильно связанным.

Рис. 14

Схема доказательства. Будем пользоваться тем известным фактом, что в общем случае не существует полиномиального алгоритма проверки эквивалетности двух недетерминированных конечных автоматов17. Будем пользоваться также «некоторым усложнением» этого

17 Это - "a folklore result": для такой проверки мы должны построить

(и потом сравнить) эквивалентные им канонические автоматы - а такое построение требует экспоненциального времени, поскольку число

состояний эквивалентного канонического автомата, вообще говоря, экспоненциально зависит от числа состояний автомата исходного.

факта - а именно, что такого алгоритма не существует и в той ситуации, когда про один из автоматов известно, что он является сильно связанным18.

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

Рис. 15

Теперь будем рассматривать произвольный автомат В, рис. 15; единственное ограничение на него - в нём тоже ровно 1 вход, из которого выходят те же самые дуги (поэтому на приведённом рисунке из входа тоже выходит ровно 1 дуга, помеченная а).

Далее рассмотрим автомат, показанный на рис. 16.

Рис. 16

Предположим, что утверждение теоремы неверно, т. е. пусть алгоритм, про который сказано в условии теоремы, всё-таки существует. Тогда наш «существующий» алгоритм за полиномиальное время проверяет сильную связанность автомата, показанного на рис. 16. А в связи с произвольностью автомата В этот факт равносилен эквивалентности автоматов В и А19. □

18 Это «усложнение» кажется очевидным - однако короткого и при этом строгого доказательства возможности такого «усложнения», по-видимому, не существует. Это - первая причина, из-за которой мы пишем не «доказательство», а «схема доказательства».

19 Последнее более-менее очевидно - но, конечно, также требует строгого доказательства; т. е. это вторая причина, из-за которой мы пишем «схема доказательства».

VII. ЗАКЛЮЧЕНИЕ

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

В ближайшей статье - продолжении настоящей

мы предполагаем рассмотреть некоторые другие

свойства понятия сильной связанности, в частности,

незамкнутость этого класса относительно теоретико" 20

множественных операций20.

Мы также рассмотрим, как понятие сильной связанности «отражается» в базисных и универсальных автоматах. Так, у сильно связанного языка базисный автомат вовсе не обязательно является сильно связанным, а универсальный автомат - обязательно является. Последний факт21 позволит эквивалентно переформулировать определение сильно связанного регулярного языка: таковым можно считать такой язык, у которого сильно связанным является универсальный автомат.

Кроме того, как это было отмечено ранее в «мотивации», мы собираемся рассмотреть подкласс класса сильно связанных языков - а именно, итеративные НКА и соответствующие им итеративные языки.

Список литературы

[1] Melnikov B., Melnikova A. Some more on omega-finite automata and omega-regular languages. Part I: The main definitions and properties // International Journal of Open Information Technologies. - 2020. -Vol. 8. No. 8. - P. 1-7.

[2] Büchi J. On a decision method in restricted second order arithmetic // In: Proceedings of International Congress on Logic, Method, and Philosophy of Science. - Stanford University Press, Stanford, 1962. -P. 425-435.

[3] Khoussainov B., Nerode A. Automata Theory and its Applications // Progress in Computer Science and Applied Logic, Vol. 21. - Springer, Berlin, 2001.

[4] Харари Ф. Теория графов // М.: Мир, 1973.

[5] Melnikov B. 2ш-finite automata and sets of obstructions of their languages // The Korean Journal of Computational and Applied Mathematics (Journal of Applied Mathematics and Computing). - 1999.

- Vol. 6. No. 3. - P. 565-576.

[6] Общая алгебра. Том 2 / Под общ. ред. Л. Скорнякова // М.: Наука, 1991.

[7] Melnikov B. The star-height of a finite automaton and some related questions // International Journal of Open Information Technologies. -2018. - Vol. 6. No. 7. - P. 1-5.

[8] Melnikov B. The equality condition for infinite catenations of two .sets of finite words // International Journal of Foundations of Computer Science. - 1993. - Vol. 4. No. 3. - P. 267-272.

[9] 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.

[10] Melnikov B., Melnikova A. Some properties of the basis finite automaton // The Korean Journal of Computational and Applied Mathematics (Journal of Applied Mathematics and Computing). - 2002.

- Vol. 9. No. 1. - P. 135-150.

[11] Melnikov B., Tsyganov A. The state minimization problem for nondeterministic finite automata: the parallel implementation of the truncated branch and bound method // Proceedings - 5th International Symposium on Parallel Architectures, Algorithms and Programming, PAAP-2012. - 2012. - P. 194-201.

[12] Melnikov B., Dolgov V. Some more algorithms for Conway's universal automaton // Acta Universitatis Sapientiae, Informatica. - 2014. -Vol. 6. No. 1. - P. 5-20.

[13] Melnikov B. The complete finite automaton // International Journal of Open Information Technologies. - 2017. - Vol. 5. No. 10. - P. 9-17.

20 Однако, по-видимому, слово «класс» употреблять можно: ведь это слово всегда употребляется, например, применительно к множеству контекстно-свободных языков, которое, как известно, незамкнуто относительно операций пересечения и дополнения.

21 Возможно, это самый важный результат, относящийся к сильно связанным языкам.

[14] Долгов В., Мельников Б. Построение универсального конечного автомата. I. От теории к практическим алгоритмам // Вестник Воронежского государственного университета. Серия: Физика. Математика. - 2013. - №. 2. - С. 173-181.

[15] Долгов В., Мельников Б. Построение универсального конечного автомата. II. Примеры работы алгоритмов // Вестник Воронежского государственного университета. Серия: Физика. Математика. - 2014. - №. 1. - С. 78-85.

[16] Lombardy S., Sakarovitch J. The universal automaton // Logic and Automata, Amsterdam University Press. - 2008. - P. 457-504.

[17] Dedekind R. Über Zerlegungen von Zahlen durch ihre größten gemeinsamen Teiler // Gesammelte Werke 2, Braunschweig. - 1897. - S. 103148.

[18] Коршунов А. О числе монотонных булевых функций // Проблемы кибернетики. - 1981. - Т. 38. - С. 5-108.

[19] Саломаа А. Жемчужины теории формальных языков // М.: Мир, 1986.

[20] Математическая энциклопедия. Том 2 / Под общ. ред. И. Виноградова // М.: Советская энциклопедия, 1979.

[21] Математический энциклопедический словарь / Под общ. ред. Ю. Прохорова // М.: Советская энциклопедия, 1988.

Борис Феликсович МЕЛЬНИКОВ,

профессор Университета МГУ-ППИ в Шэньчжэне

(http://szmsubit.ru/), email: bf-melnikov@yandex.ru, 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.

On a subclass of the regular language class ("strongly connected" languages): definitions and corresponding canonical automata

Boris Melnikov

Abstract—In our previous publications, we considered a simplified version of the definition of omega-automata that define omega-languages compared to the classics. However, despite this "simplification", such a definition makes it possible to specify the subclasses of the class of omega-languages that we need in a lot of problems, to describe the corresponding algorithms for equivalent transformations of the omega-automata we have defined, etc.

At the same time, we have already considered a group of questions related to omega automata and the corresponding omega computations, but which, with some reformulation, can also be attributed to ordinary nondeterministic finite automata. We have defined iterating and strongly connected omega automata; however, based on the definitions and properties of such automata discussed in previous papers, we can conclude that almost the same concepts can be applied to ordinary NFAs. In this regard, in this paper we define strongly connected automata as a subset of ordinary NFAs.

Based on this concept, we define strongly connected languages, and then show their relation to the invariants available in the class of regular languages: canonical, basis, and universal finite automata. In particular, we show that for a strongly connected language and its mirror image, all 4 variants of the strong connectivity condition of the corresponding canonical automata are possible.

In this paper, as well as in the proposed continuations, we shall consider subclasses of strongly connected languages, present algorithms for equivalent transformation of corresponding strongly connected automata, describe some special subclasses of the class of strongly connected languages and some properties of these subclasses. They will give the possibility to describe algorithms of equivalent transformations for the above-mentioned variant of omega-automata.

Keywords—regular languages, nondeterministic finite automata, subclasses of the regular language class, algorithms for equivalent transformation of automata.

References

[1] Melnikov B., Melnikova A. Some more on omega-finite automata and omega-regular languages. Part I: The main definitions and properties // International Journal of Open Information Technologies. - 2020. -Vol. 8. No. 8. - P. 1-7.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

[2] BUchi J. On a decision method in restricted second order arithmetic // In: Proceedings of International Congress on Logic, Method, and Philosophy of Science. - Stanford, Stanford University Press, 1962. - P. 425-435.

[3] Khoussainov B., Nerode A. Automata Theory and its Applications // Progress in Computer Science and Applied Logic, Vol. 21. - Springer, Berlin, 2001.

[4] Harary F. Теория графов // М.: Мир, 1973. Graph Theory. Addison Wesley (Boston), 1969, 274 p.

[5] Melnikov B. 2u-finite automata and sets of obstructions of their languages // The Korean Journal of Computational and Applied Mathematics (Journal of Applied Mathematics and Computing). -1999. - Vol. 6. No. 3. - P. 565-576.

[6] Skornyakov L. (Ed.) General Algebra. Vol. 2 // Moscow: Nauka, 1991. (in Russian)

[7] Melnikov B. The star-height of a finite automaton and some related questions // International Journal of Open Information Technologies.

- 2018. - Vol. 6. No. 7. - P. 1-5.

[8] Melnikov B. The equality condition for infinite catenations of two sets of finite words // International Journal of Foundations of Computer Science. - 1993. - Vol. 4. No. 3. - P. 267-272.

[9] 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.

[10] Melnikov B., Melnikova A. Some properties of the basis finite automaton // The Korean Journal of Computational and Applied Mathematics (Journal of Applied Mathematics and Computing). -2002. - Vol. 9. No. 1. - P. 135-150.

[11] Melnikov B., Tsyganov A. The state minimization problem for nondeterministic finite automata: the parallel implementation of the truncated branch and bound method // Proceedings - 5th International Symposium on Parallel Architectures, Algorithms and Programming, PAAP-2012. - 2012. - P. 194-201.

[12] Melnikov B., Dolgov V. Some more algorithms for Conway's universal automaton // Acta Universitatis Sapientiae, Informatica. - 2014. -Vol. 6. No. 1. - P. 5-20.

[13] Melnikov B. The complete finite automaton // International Journal of Open Information Technologies. - 2017. - Vol. 5. No. 10. - P. 9-17.

[14] Dolgov V., Melnikov B. The construction of a universal finite automaton. I. From the theory to the practical algorithms // Bulletin of the Voronezh state University Series: Physics. Mathematics. - 2013.

- No. 2. - P. 173-181. (in Russian)

[15] Dolgov V., Melnikov B. The construction of a universal finite automaton. II. Examples of the work of the algorithms // Bulletin of the Voronezh state University Series: Physics. Mathematics. - 2014.

- No. 1. - P. 78-85. (in Russian)

[16] Lombardy S., Sakarovitch J. The universal automaton // Logic and Automata, Amsterdam University Press. - 2008. - P. 457-504.

[17] Dedekind R. Über Zerlegungen von Zahlen durch ihre größten gemeinsamen Teiler // Gesammelte Werke 2, Braunschweig. - 1897.

- S. 103-148. (in German)

[18] Korshunov A. On the number of monotone Boolean functions // Problems of Cybernetics. - 1981. - Vol. 38. - P. 5-108. (in Russian)

[19] Salomaa A. Jewels of formal language theory // Maryland, USA: Computer Science Press, Inc., 1981.

[20] Vinogradov I. (Ed.) Mathematical Encyclopedia. Vol. 2 // Moscow: Sovetskaya Encyclopedia, 1979. (in Russian)

[21] Prohorov Yu. (Ed.) Mathematical Encyclopedic Thesaurus // Moscow: Sovetskaya Encyclopedia, 1988. (in Russian)

Boris MELNIKOV,

Professor of Shenzhen MSU-BIT University, China

(http://szmsubit.ru/), email: bf-melnikov@yandex.ru, 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.

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