Итерации языков и конечные автоматы

Итерации языков и конечные автоматы

Б. Ф. Мельников, А. А. Вылиток, Е. А. Мельникова

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

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

I. Введение

Настоящую статью можно рассматривать как продолжение [1]. Однако здесь мы не будем заострять вопросы на итерациях бесконечных языков - т.е. будем рассматривать только итерации конечных языков, которые могут быть заданы с помощью различных вариантов конечных автоматов-распознавателей. А связь итераций конечных языков с недетерминированными конечными автоматами будет рассмотрена существенно более подробно, чем в [1].

Ещё в [2] мы впервые рассмотрели бесконечные итерации конечных языков. А именно, мы рассматривали ш-языки вида Аш, где А - конечный язык над заданным алфавитом Я. (Мы предполагаем, что |Я| > 2, а также -если специально не сказано иного - что А ^ е.) Для двух конечных языков А и В мы рассматривали равенство Аш = Вш, которое равносильно выполнению специального отношения эквивалентности, также определённого в [2]: А* В* тогда и только тогда, когда

(Vu G А*) (3 v G Б*) (u G Pref (v)) (V v G Б* ) (3 u G А* ) (v G Pref (u) ).

Здесь Pref (и) - множество всех префиксов слова и, включая е и u. Аналогично для языков:

Pref (А) = { и | и е Pref (v), v е A } .

В [2] мы рассматривали равенство w-языков и определённую таким образом эквивалентность в случае произвольных w-языков и языков соответственно. В настоящей

Статья получена 10 октября 2017.

Борис Феликсович Мельников, Российский государственный социальный университет (email: bf-melnikov@yandex.ru).

Алексей Александрович Вылиток, МГУ им. М. В. Ломоносова (email: vylitok@cs.msu.su).

Елена Анатольевна Мельникова, Российский государственный социальный университет (email: ya.e.melnikova@yandex.ru).

работе мы будем рассматривать их только для ш -языков типа Аш и языков типа А*. Вследствие этого всюду ниже в настоящей статье мы будем писать А = В - вместо использовавшегося в [2] обозначения А* В*; итак, условие А = В выполняется тогда и только тогда, когда выполняются оба условия (1).

В [2] были получены необходимые и достаточные условия эквивалентности А = В; стоит отметить, что существенно проще эти условия могут быть получены в т.н. префиксном случае, т.е. когда

(Vе А, и = V) (и <£ РМ(V)) -

поэтому префиксный случай менее интересен. Отметим также, что в большинстве рассматриваемых нами задач менее интересен и случай бесконечных итерируемых языков.1

Структура настоящей статьи следующая. В разделе II описываются очевидные достаточные условия выполнения равенства Аш = Вш; они формулируются в виде трёх шагов построения самих языков А и В.

Разделы III и IV посвящены недетерминированным конечным автоматам. В разделе III приведены обозначения, согласованные с применявшимися в предыдущих работах; например, рассматриваются упрощённые определения функций разметки состояний произвольного недетерминированного автомата состояниями эквивалентного канонического. А в разделе IV приводится несложный алгоритм сведения рассмотренной выше проблемы равенства Аш = Вш (при А ^ е и В ^ е)к рассмотрению недетерминированных конечных автоматов.

В разделе V приводятся различные варианты формулировки того факта, который выполнялся бы, если бы приведённое ранее, в разделе II, достаточное условие равенства бесконечных итераций не являлось бы необходимым и достаточным. На основе этих формулировок, а также описанного в разделе IV алгоритма сведения равенства Аш = Вш к недетерминированным конечным автоматам, мы в этом же разделе V получаем специальную теорему о канонических конечных автоматах. А на основе возможных в будущем доказательствах двух утверждений - о возможности/невозможности полиномиально-временной2 реализации двух разных алгоритмов проверки равенства Аш = Вш - мы в заключении, в разделе VI, приводим возможный план доказательства равенства Р=№.

1 Причём можно провести аналогию между рассматриваемыми нами проблемами и т.н. примером М.-П.Шютценберже ([3, гл.5, пр.3.3.1]): над конечным алфавитом подобных примеров не существует.

Отметим ещё, что приведённая в этой же главе ([3, гл. 5]) теория, относящаяся к максимальным префиксным кодам, связана и с проблемами, рассматриваемыми далее в настоящей статье.

2 Употребление термина «полиномиально-временной» в качестве прилагательного-композита не очень распространено, но представляется авторам весьма удачным. Такое употребление согласовано с терминологией, применяемой Ю.Л.Ершовым, см., например, [4].

II. Достаточное условие равенства бесконечных итераций

Несложно доказываемое достаточное условие равенства бесконечных итераций было приведено в [1], [2] и др.; здесь мы более подробно, чем в предыдущих работах, рассмотрим один из соответствующих примеров.

Итак, достаточное условие равенства Лш = Еш (или определённой нами эквивалентности Л = Е) формулируется в виде следующих 3 шагов.

1) Рассматриваем некоторый новый конечный алфавит Д и два произвольных максимальных префиксных кода3 (Ад и Ед) над этим алфавитом. Для рассматриваемого максимального префиксного кода Л мы будем писать Лд,Ед £ тр (Д). То есть всё множество тр (Д) - это множество максимальных префиксных кодов над (конечным) алфавитом Д.4 При этом условие Ад = Ед выполнено - поскольку

Ад ш = Ед ш = ДШ.

VI В качестве примера рассмотрим алфавит

Д = {0,1}

и два таких языка:

Ад = { 0,10,11} и Ед = { 00,01,1} .

2) Добавляем некоторые слова к языкам Ад и Ед.5 В этом случае для рассматриваемого языка Ад мы при этом будем писать

Ад,Ед £ тр+ (Д).

То есть тр+ (Д) - множество языков над (конечным) алфавитом Д, каждый из которых в качестве подмножества содержит некоторый максимальный префиксный код над этим алфавитом. При этом эквивалентность Ад = Ед тоже выполняется -также вследствие (2). Важно ещё отметить, что полученные языки, вообще говоря, не являются префиксными.

V2 В качестве продолжения предыдущего примера рассмотрим языки

Ад = { 0,10,11,1101} и Ед = { 00, 01,1,111,1110 } :

оба языка получаются из языков предыдущего примера V! путём добавления конечного числа слов.

3) Рассмотрим некоторый морфизм Н : Д* ^ Е*; при этом мы допускаем возможность, когда язык

С = Н(Д) = { Н(с) | с £ Д }

3 Максимальные префиксные коды рассматриваются, например, в [3]. Не будет ошибкой считать, что это название («максимальный префиксный код») - само является определением: все эти три понятия («код», «максимальный» и «префиксный») по отдельности определены, например, также в [3].

4 Это и определённые ниже связанные с ним обозначения полностью согласованы с применявшимися в [2].

5 При этом множество добавляемых слов может быть пустым. Отметим также, что для Ад достаточно рассматривать

только такие слова и € А*, для которых и / Р^(Ад); аналогично для Вд.

также не является префиксным. Будем рассматривать языки

Л = Н(ЛД) и Б = Н(БД) и для вышеуказанного языка C писать

A, Б е mp+ (C).

При этом если, например, ЛД е mp (Д), то будем писать Л е mp (C). Для полученных таким образом языков условие Л = Б также выполняется. V3 Продолжим рассматривать предыдущий пример V2. Для (непрефиксного) морфизма

h(0) = ab, h(1) = aba

мы получаем следующие языки:

A = { ab, aba ab, aba aba, aba aba ab aba }

и

B = { abab, ababa, aba, aba aba aba, aba aba aba ab } .

Итак, очевидное достаточное условие равенства Лш = Бш таково: если языки Л и Б получены описываем здесь способом, то Лш = Бш (т.е. Л = Б).6

III. Недетерминированные конечные автоматы -применяемые обозначения

Будем использовать следующие обозначения (они согласованы с [8], [9]). Пусть

K =

некоторый автомат (недетерминированный конечный автомат Рабина-Скотта), определяющий регулярный язык L = L(K). Здесь Q - множество состояний, а S С Q и F С Q - соответственно множества входных и выходных состояний. Функция переходов ó автомата (3) рассматривается как

ó : Q х (Е U{e}) ^V(Q),

где запись V(Q) обозначает множество всех подмножеств Q; отметим отличие от вида функии переходов, применявшейся в [9].

Входные и выходные языки состояния q е Q, т.е. языки, определяемые автоматами

соответственно, обозначаются C'K (q) и C°¡Ut(q).

Для автомата (3) и пары его состояний p,r е Q будем использовать следующие обозначения. Если ó(p,a) э r, то будем писать p—>r или p—>r. Будем иногда опускать индексы ó и/или K - когда автомат подразумевается. Аналогичные обозначения будут использованы и для слов. Например, мы будем писать p—>r - если существует путь с пометкой u е Е* из состояния p в состояние r; при этом p может быть опущено - если имеется в виду путь из (какого-либо) входа, и т.п.

6 Возможные варианты применения этого условия в других задачах теории формальных языков (в том числе - возможное применение в системах автоматизации построения комптляторов) описано в работах

[6], [7].

Зеркальный автомат для автомата (3), т.е. автомат

(Q, Я, SR, F, S), где

/ а II II а I

q —>q тогда и только тогда, когда q —>q ,

SR s

будет обозначаться KR; заметим, что KR всегда определяет язык Lr (зеркальный образ языка L).

Для рассматриваемого языка L его канонический автомат будем обозначать записью L.7 Элементы пятёрок, определяющих автоматы L и LR для заданного регулярного языка L, будем обозначать следующим образом:

L = (Qn, , К},Fn) и LR = (Qp, Ъ,ёр, {sp},Fp).

Аналогично [8], [9], мы будем использовать две специальные функции (ф" и ф°ш), вида

ф" : Q ^ V(Qn) и : Q ^V(Qp) -

т.н. функции разметки состояний автомата (3). В настоящей статье достаточно привести только краткие определения этих функций:

ФК (q) Э А тогда и только тогда, когда

(Зи е Я*) q & —+А);

V К L '

аналогично

¥°U'(q) Э X тогда и только тогда, когда

(3v е я* ) q & —»XV \Kr LR '

Заметим, что такое определение не является конструктивным - однако мы можем описать и алгоритм построения этих функций; один из возможных алгоритмов приведён в [8].8

IV. Итерации языков

и недетерминированные конечные автоматы

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

Для языка А = { и\,... ,ип }, где щ = aiti ... aiiii для i = 1,... ,n, рассмотрим недетерминированный конечный автомат К(А) = (Q, Я, S, {s}, Q), где

Q = ми у {qij},

i<n, j<li

7 Аналогично [8], мы считаем каноническим автоматом детерминированный автомат, содержащий минимально возможное число состояний. При этом, также аналогично [8], мы не требуем «всюдуопре-делённости» этого автомата - и, следовательно, не включаем в него возможное «дохлое» состояние ("dead state").

8 В настоящей статье мы практически не рассматриваем вопросы,

связанные со сложностью алгоритмов. Однако в данном случае отметим, что построения функций ф" и ф"1 не требуют дополнительных вычислений: согласно приведённому в [8] алгоритму, они могут быть построены в процессе детерминизации (и последующей «канонизации») заданного автомата.

со следующей функцией переходов ó (мы рассматриваем приведённые далее определения для каждого i =

1,... ,n). Если \uí\ = 1, то ó(s, a,i,i) э s; иначе9

ó(s,ai,i) э qi,i , ó(qi,ti-1,ai,ii) = {s} и ó(qi,j-1,ai,j ) = {qi,j } для каждого возможного j < li — 1.

Очевидно, что такой автомат определяет язык Pref (A*); поэтому условие (1) можно проверить, ответив на вопрос об эквивалентности автоматов K(A) и K(B).

Для ответа на поставленный вопрос мы можем использовать канонические автоматы, эквивалентные K(A) и K(B) и определённые согласно [8]. Отметим ещё, что каждое состояние соответствующего канонического автомата соответствует некоторому подмножеству множества состояний рассматриваемого автомата - например, автомата K(A).

Очевидно, что в качестве примера сложно рассматривать автоматы, построенные для интересных примеров языков из раздела II - поскольку, например, автомат K(A) для языка

A = { ab, aba ab, aba aba, aba aba ab aba }

содержит следующее число состояний:

1 + (\ab\ — 1) + (\abaab\ — 1) + (\abaaba\ — 1)+

(\aba aba ab aba\ — 1) = 1 + (2 — 1) + (5 — 1) + (6 — 1) + (11 — 1) = 21.

Это достаточно много (пример получается громоздким), поэтому рассмотрим автомат K(D) только для языка D = { ab, aba }; даже этот небольшой пример достаточно информативен. Точнее, мы рассмотрим два следующих автомата: один - в точностью совпадающий с определённым ранее, рис. 1:

a _ ^^^

П5>

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

9 Заметим, что мы уже предположили, что A $ e, поэтому \ui\ > 1.

Эквивалентный им канонический автомат приведён на

Рис. 3

Как мы уже отмечали, мы можем использовать два таких канонических автомата для определения эквивалентности автоматов К (А) и К(Е) - а, следовательно, и для ответа на вопрос, выполнено ли условие (1). Однако основная причина рассмотрения подобных автоматов -такая.

В статье [2] было показано, что описанные выше (раздел II) достаточные условия равенства бесконечных итераций являются также необходимыми - об этом будет подробнее сказано ниже. В нескольких работах одного из авторов настоящей статьи, опубликованных до статьи [2] (например, в [11]), мы не могли использовать факт необходимости сформулированных условий; однако в этих статьях были получены различные утверждения об условиях равенства некоторых подклассов класса КС-языков. Примерно так мы поступим и в настоящей статье: предполагая возможность невыполнения таких необходимых условий, мы сформулируем гипотезу о существовании недетерминированных конечных автоматов специального вида - и далее (на основе результатов [2]) покажем, что подобных автоматов не существует.

Итак, сначала отметим следующие два утверждения. Во-первых, в [2] было также доказано следующее. Отрицание того, что

достаточные условия равенства бесконечных итераций, сформулированные в разделе II, являются необходимыми и достаточными, может быть эквивалентно переформулировано следующим образом:

существуют некоторый (конечный) язык В и (для него) некоторое слово V £ В*, такие что В = В {V}. Такой язык В может быть назван «минимальным».

А во-вторых, согласно определению10 функции ф'", каждое состояние канонического автомата соответствует некоторому подмножеству состояний автомата, ему эквивалентного; например, это верно для автомата К

10 Кратко - см. раздел III. Подробнее - см. [8] и др.

и эквивалентного ему канонического автомата.11 Это соответствие означает следующее. Для некоторого состояния ( канонического автомата и некоторого слова V из входного языка этого состояния (т.е. £'"(()), существуют некоторые состояния q!,...,qm автомата К (А), такие что

V £С"Ы, ..., V £С'"^т) , 12

qi = в для г = 1,... ,т;

Поэтому для некоторого «минимального» языка В и некоторого слова V £ В* выполнено условие

В = В {V},

а также

и ) 2 Pref (В*).

гКт

Мы можем рассматривать эту «минимальность» в определённом выше смысле - однако её для рассматриваемого нами языка А (именно для него выше был построен автомат К(А)) можно определять и другими способами.

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

Ещё заметим, что рассмотрение различных подобных метрик может быть применено для описания различных прикладных алгебраических моделей - как рассматривавшихся в [12], так и связанных с теорией, рассмотренной нами в [13].

V Необходимое условие равенства бесконечных итераций

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

существует некоторый конечный язык В, такой что у канонического конечного автомата, эквивалентного К(В),13 существует некоторое состояние не являющееся входным, такое что

£'"(( п В* = 0 и £°ш(( 2 РгеДВ*).

Заметим, что в рассмотренном примере канонического автомата (рис. 3) существует единственное состояние (Е), для которого С"(Е) П В* = 0. Очевидно, что условие С°и1(Е) 2 Р^(В*) для этого состояния не выполняется - поскольку С°и1(Е) ^ а.

11 Фактически это соответствие описывается как (ф'")-1.

12 Таких состояний в построенном нами автомате К(А), вообще говоря, больше 1.

13 Иными словами - для канонического конечного автомата, определяющего регулярный язык Р^(О*).

Описанное соответствие также может быть построено на основе [8]. Фактически им является рассматриваемая в той статье функция (ф'")-1. Это соответствие означает следующее. Для некоторых состояния ( канонического автомата и слова V входного языка этого состояния (т.е. слова языка £'"(()) существуют некоторые состояния q1,... ,qm автомата К (А), такие что

V £ С"(сл), ..., V £ С" .

Поэтому если для «минимального» языка В и некоторого слова V £ В* выполнено условие В = В и {V}, то

q г = в для г = 1,. .. ,т,

а также

и С°и'(дг) 2 Pref (В*).

гКт

И наоборот - тот факт, что сформулированное в разделе II достаточное условие равенства бесконечных итераций является необходимым и достаточным, равносильно несуществованию подобного «минимального» языка В.

А основное доказанное в [2] утверждение ([2, ТЬ 1]) сформулировано следующим образом. Для некоторой пары конечных языков А и Е, таких что А = Е, существует конечный язык В (пусть В = {и1,... ,ип }), для которого выполнено такое условие. Для некоторого нового алфавита Д = { с1,... ,сп } существуют два языка А', Е' С Д*, такие что:

• оба языка (А' и Е') в качестве подмножеств содержат максимальные префиксные коды над алфавитом Д;14

• для морфизма Н : Д* ^ Я*, где

Н(с1) = и1, ..., Н(сп) = ип ,

выполнены условия Н(А') = А и Н(Е') = Е. Итак, достаточное условие равенства бесконечных итераций является необходимым и достаточным. Вследствие этого выполняется такая теорема о канонических конечных автоматах.

Теорема 1: Для любого конечного языка В у канонического конечного автомата, определяющего регулярный язык Pref (В*), не существует состояния ((отличного от входного), такого что

С'"(( П В* = 0 и Сш(( 2 Pref (В*).

В качестве важного комментария к материалу настоящего раздела упомянем следующий давно известный, но совсем не тривиальный факт: если язык Е регулярен15, то для любого морфизма Н : Д* ^ Я* регулярен и язык Н-1(Е).16 Специально подчеркнём, что здесь язык Е никак не связан с морфизмом Н -- именно из этого и следует нетривиальность данного факта. При этом важно отметить, что, несмотря на то, что для любого и £ Д* запись Н(и) определяет слово ([14]), для любого V £ Я* запись Н-1^) определяет множество слов (язык) над алфавитом Д:

Н-1^) = { и £ Д* | Н(и) = V } ;

14 Эти коды, вообще говоря, различны.

15 При этом очевидно, что регулярен и часто используемый нами язык-итерация А*.

16 Одно из имеющихся в литературе названий этого утверждения -«задача Ж.-Э. Пина».

при этом определяемое множество может быть и пустым. А язык Н-1(Е) для любого Е С Я* строго определяется следующим образом:

h-1

veB

(и также может быть пустым). Кроме того, отметим, что оба имеющиеся по ссылке [15] доказательства послед-

17

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

• В доказательстве, озаглавленном там как «короткое алгебраическое» ("Short algebraic proof'), используется моноид, определяющий заданный регулярный язык; однако (согласно, например, [16], [17]) существует целый класс таких моноидов18 - что существенно усложняет интересующие нас в первую очередь алгоритмические вопросы подобных построений.

• А в приведённом там доказательстве «с помощью

19

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

Итак, пусть регулярный язык B задан; рассмотрим произвольный определяющий его конечный автомат

K =

KA = (Q, A,Sa,S,F),

где функция SA определяется следующим образом: 5A(q,a) Э q' (для некоторых q,q £ Q и a £ Д) тогда и только тогда, когда язык автомата

Kqq =

содержит слово h(a). (Заметим, что последний автомат, вообще говоря, не является детерминированным, т.к. 5A(q,a) определяется неоднозначно.) Или, применяя другую систему обозначений, условие 5A(q,a) Э q' выполнено тогда и только тогда, когда

Р

h

—4 r.

K

При этом очевидно, что автомат КА определяет некоторое слово (над алфавитом Д) тогда и только тогда, когда морфический образ этого слова определяется автоматом К (последний при принятии этого слова может оказаться в одном из состояний множества Г) - и поэтому автомат КА определяет язык Н-1(Е), что и требовалось доказать.

17 Приведённые на этом сайте в момент подготовки настоящей статьи - 10 октября 2017 г.

18 В литературе обычно используется связь полугрупп с конечными автоматами Мили. Однако на её основе может быть очень легко получена и интересующая нас значительно больше связь полугрупп с конечными автоматами Рабина-Скотта (автоматами Медведева).

19 В нём используются автоматы Рабина-Скотта.

VI. Заключение

Вследствие изложенного выше, можно сформулировать такой план возможного доказательства равенства Р=ЫР; этот план улучшает формулировку, приведённую в [1]. А именно, для доказательства этого равенства было бы достаточно доказать следующие два утверждения.

1) Проблема проверки неэквивалентности определённых выше конечных автоматов К (А) и К (В) (для заданных конечных языков А и В) принадлежит классу ЫР.

2) Существует полиномиально-временной алгоритм «построения инверсного морфизма». То есть для заданного конечного языка А е Я* можно за полиномиальное время получить «минимальный» (в сформулированном выше смысле) язык В, такой что А = В.

Небольшие комментарии - сначала для первой из этих гипотез. По-видимому, его доказательство может быть получено аналогично доказательству проблемы ЛЬ1 (а, возможно, и ЛЬ9) из классической монографии [18].

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

при этом для каждого слова и е А все слова т, такие что для некоторого п е N выполнено равенство тп = и, строятся за полиномиальное время.

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

A = a,

l

,

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

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

Также в качестве возможного в будущем применения рассмотренной здесь теории в других задачах теории формальных языков отметим, во-первых, задачи, связанные с кратко упомянутыми выше ([6], [7], [12] -в них, по-видимому, можно будет получить аналогичные результаты в более широких подклассах класса контектстно-свободных языков), и, во-вторых, задачи разработки алгоритмов эквивалентного преобразования

конечных автоматов, связанных с алгоритмами, описанными в [9], [19].

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

[1] Алексеева А. Г. Мельников Б. Ф. Итерации конечных и бесконечных языков и недетерминированные конечные автоматы. Вектор науки Тольяттинского государственного университета. № 3. 2011. С.30-33.

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

[3] Lallement G. Semigroups and Combinatorial Applications. N.Y.: John Wiley & Sons, Inc., 1979, 376 p.

[4] Целищев В. В., Ершов Ю. Л. Алгоритмы и вычислимость в человеческом познании. Новосибирск: Издательство СО РАН, 2012, 505 с.

[5] Мельников Б. Ф. Некоторые следствия условия эквивалентности однозначных скобочных грамматик. Вестник Московского университета, сер. 15. № 3. 1991. С. 51-53.

[6] Дубасова О. А., Мельников Б. Ф. Об одном расширении класса контекстно-свободных языков. Программирование (РАН). № 6. 1995. С. 46-58.

[7] Melnikov B., Kashlakova E. Some grammatical structures of programming languages as simple bracketed languages. Informatica (Lithuanian Acad. of Sci.). Vol. 11. No. 4. 2000. P. 441-454.

[8] Melnikov B. Once more on the edge-minimization of nondeterministic finite automata and the connected problems. Fundamenta Informaticae. Vol. 104. No. 3. 2010. P. 267-283.

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

[10] Brauer W. Automatentheorie. Eine Einführung in die Theorie endlicher Automaten. Stuttgart: B. G. Teubner, 1984, 493 S.

[11] Мельников Б. Ф. Некоторые следствия условия эквивалентности однозначных скобочных грамматик. Вестник Московского университета, сер. 15. № 3. 1991. С. 51-53.

[12] Мельников Б. Ф. Описание специальных подмоноидов глобального надмоноида свободного моноида. Известия высших учебных заведений. Математика. № 3. 2004. С. 46-56.

[13] Данг В. В., Корабельщикова С. Ю., Мельников Б. Ф. О задаче нахождения минимальной полугруппы аппроксимации. Известия высших учебных заведений. Поволжский регион. Физико-математические науки. № 3 (35). 2015. С. 88-99.

[14] Salomaa A. Jewels of Formal Language Theory. Rockville

[15] Computer Science Stack Exchange [Электронный ресурс] = Обмен знаниями о теоретической информатике. - Режим доступа: https://cs.stackexchange.com/questions/147 85, свободный. - Загл. с экрана, англ. яз.

[16] Глушков В. М. Абстрактная теория автоматов. Успехи математических наук. Т. 16. №6(101). 1961. С. 3-62.

[17] Скорняков Л. А. (ред). Общая алгебра. Т. 2. М.: Наука, 1991, 480 с.

[18] Garey M., Johnson D. S. Computers and Intractability. USA: W. H. Freeman and Company. 1979, 338 p.

[19] Мельников Б. Ф., Сайфуллина М. Р. О некоторых алгоритмах эквивалентного преобразования недетерминированных конечных автоматов. Известия высших учебных заведений. Математика. № 4. 2009. С. 67-72.

2

n

u=a

a

Iterations of languages and finite automata

Boris Melnikov, Alexey Vylitok, Elena Melnikova

Abstract—In this paper we consider the representation of iterations of finite languages using special nondeterministic finite automata. For two iterated languages, a special equivalence relation is defined. We give the reduction of the conditions for the fulfillment of this relation to the definition of the equivalence of two nondeterministic finite automata, based on two given finite languages. Also we are considering a trivial proof of the regularity of the morphic preimage of regular language; this proof is related to the issues. In addition, using the equivalence relation under consideration hypotheses are formulated on the existence of a polynomial-time algorithm for the construction of an inverse morphism, possessing the specified special properties, as well as the relationship of the problems we are considering with the question of the possible equality of classes P=NP.

Keywords—iterations of finite languages, regular languages, nondeterministic finite automata.