Об алгоритмах проверки выполнения некоторых бинарных отношений в глобальном надмоноиде свободного моноида

УДК 512.53, 510.54

DOI 10.21685/2072-3040-2017-3-8

Б. Ф. Мельников, С. Ю. Корабельщикова, Н. П. Чурикова

ОБ АЛГОРИТМАХ ПРОВЕРКИ ВЫПОЛНЕНИЯ НЕКОТОРЫХ БИНАРНЫХ ОТНОШЕНИЙ В ГЛОБАЛЬНОМ НАДМОНОИДЕ СВОБОДНОГО МОНОИДА

Аннотация.

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

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

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

Выводы. Во многих частных случаях, описанных нами в предыдущих публикациях, аналоги рассмотренных нами алгоритмов являются полиномиальными. Однако в общем случае вопрос о существовании полиномиальных алгоритмов, отвечающих на поставленные в статье вопросы, остается открытым.

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

B. F. Mel'nikov, S. Yu. Korabel'shchikova, N. P. Churikova

ON VERIFICATION ALGORITHMS FOR SOME BINARY RELATIONS ON THE GENERAL SUPERMONOID OF A FREE MONOID

Abstract.

Background. The subjects of the study are free semigroups and special binary relations (free semigroup) defined on the global supermonoid of a free monoid. In this paper, we consider some special binary relations in languages (elements of the glob-

al supermonid), especially the so-called equivalence relation at infinity, which we considered in previous papers and which is an equivalence relation. We describe algorithms for verifying the fulfillment of these relations for elements of the global supermonoid of a free monoid. We also consider a special order relation on subsets of a set of words that is given by a language that is minimal in this relation among all languages equivalent at infinity to the given one.

Material and methods. General methods of analysis and synthesis are used in this work. Special methods of the theory of formal languages, methods for describing algorithms and methods of working with semigroups are also used, in particular, the method of constructing a morphism of a semigroup.

Results. The article gives examples of constructing two languages (two elements of a supermonoid) for which the equivalence relation we are considering is satisfied in the supermonoid. The most important result of the paper is a description of the effective algorithm that answers the question whether the iterations of two given finite languages are equivalent at infinity. Algorithms and examples presented in the article are relevant for the application of special variants of the automated transformation of regular grammatical structures and context-free grammars in compiler building automation systems.

Conclusns. In many special cases, described by us in previous publications, the analogues of the considered algorithms are polynomial. However, in the general case, the question of the existence of polynomial algorithms that answer the questions posed in the article remains open.

Key words: formal languages, infinite languages, free monoid, supermonoid, iteration of language.

Введение

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

С рассматриваемыми нами проблемами тесно связана задача «извлечения корня» из языка: для заданного языка A требуется найти максимально возможное n е N и зависящий от n язык B такие, что A = Bn. До конца эта задача авторами еще не исследована, однако в частном случае получен ряд результатов, опубликованных в [4, 5]. Также очевидна связь этой проблемы с некоторыми вопросами теории формальных языков, в частности, с итерациями языков, исследовавшихся нами во всех уже упомянутых статьях [1-5], а также в других публикациях. Действительно, А и В можно рассматривать как произвольные языки над одним и тем же, причем не обязательно конечным, алфавитом Е. При этом, в отличие, например, от [5], мы в настоящей статье не будем считать, что по крайней мере один из языков обладает свойством префикса.

Ниже мы рассмотрим алгоритмы проверки выполнения специальных бинарных отношений для элементов глобального надмоноида свободного моноида. Некоторые из этих алгоритмов уже были приведены нами в предыдущих публикациях, например в [2], однако при этом:

• некоторые из применяемых нами вспомогательных алгоритмов ранее публиковались только на английском языке, причем в малодоступных для отечественного читателя журналах ([1] и особенно [6]);

• сами соответствующие доказательства корректности алгоритмов (например, утверждение 8) изменены и улучшены; в них также исправлены замеченные опечатки;

• все алгоритмы сформулированы согласно новым обозначениям, согласованным с [3, 4]; эти обозначения значительно более удобны для формулировки алгебраических результатов, см. [5, 7] и др.;

• для сформулированных в настоящей статье алгоритмов проще (чем для формулировок, приведенных в [2]) формулировать оценки сложности; мы предполагаем привести некоторые из таких оценок в одной из следующих публикаций;

• приведенные здесь формулировки являются началом реализации кратко сформулированного в [3] плана переформулировки проблемы Р = ЫР в терминах итераций конечных языков.

Некоторые прикладные вопросы полученных результатов связаны с публикациями одного из авторов настоящей статьи [8, 9]. В частности, приведенные в статье примеры актуальны для прикладных задач построения специальных вариантов автоматизированного преобразования регулярных грамматических структур и контекстно-свободных грамматик в системах автоматизации построения компиляторов. Кроме того, аналогично [3, 4] мы показываем связь рассматриваемого в статье материала с некоторыми вопросами теории недетерминированных конечных автоматов. В первую очередь мы имеем в виду статьи [10-13]: возникающие далее подмножества некоторого языка, обрабатываемые некоторым недетерминированным конечным автоматом, при специальной переформулировке (которую мы предполагаем привести в одной из следующих публикаций) дадут определение рассматриваемых в этих статьях универсальных автоматов.

1. Предварительные сведения

Ниже буквой е будем обозначать единицу исходного свободного моноида, т.е. пустое слово над заданным алфавитом Е. Множество всех слов над алфавитом Е, включая е, будем обозначать Е *. Множество всех языков над некоторым алфавитом Е с операцией конкатенации «•» образует свободный моноид с единицей {е}, являющийся для исходного свободного моноида (Е*, •, е) глобальным надмоноидом, элементами которого являются не слова, а множества слов, т.е. языки.

Если и = 01^2  ап , а V = а^...ат , где 0 < т < п, то слово V будем называть префиксом слова и и писать V е рге^и) (или V е рге^ (и), явно указывая длину); при этом можно считать, что рге^и) - множество всех префиксов слова и. Обозначение pref будем естественным образом использовать и для языка (возможно, бесконечного): это объединение всех префиксов всех его слов. орге^и) - множество всех собственных префиксов слова и, т.е. множество рге^и) без слова и.

Стандартным образом вводятся следующие понятия: ю-слово - бесконечная последовательность букв, ю-язык - множество ю-слов; см. [14] и др.

Среди всех ю-языков нас будут в наибольшей степени интересовать языки вида Аю для некоторого языка А сХ*, т.е. языки, каждое ю-слово которых можно представить (для заданного языка А) в виде

а = щи2 ...ип... (е А для всех и{).

Обозначение морфизма к : А* ^ Х * также вводится обычным образом, т.е. мы расширяем некоторое заданное отображение к: А^Х* на случай всех входов, принадлежащих А * , следующим образом: для каждого и еХ* , и = аа ...ап , мы считаем, что

к(а^2 ...ап) = к(а^)к(а2)... к(ап).

Определение 1. Пусть и и V - бесконечные языки. Если одновременно выполнены условия

и сpref

то будем писать и = V и называть языки и и V эквивалентными в бесконечности.

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

Самым простым примером пары языков, эквивалентных в бесконечности, могут служить и = (а2' |/ е Щ и V = {а2г_1|/ е Щ . Целый класс более сложных примеров таких пар языков будет рассмотрен в следующем разделе.

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

Условию (2) удовлетворяют, например, упомянутые выше языки А при любом А (мы всюду будем считать, что А и А).

Легко доказывается, что на множестве языков, удовлетворяющих, условию (2), введенное отношение является отношением эквивалентности (т.е. название отношения корректно).

Немного переформулировав условие (2) (причем снова рассматривая два бесконечных языка и и V), мы вводим обозначение с следующим образом: исV тогда и только тогда, когда

(Уи е ие V)(и е pref V).

К этой записи приведем два замечания. Во-первых, понятно, что в данном случае употребление pref вместо opref непринципиально. Во-вторых, объединение условий исV и Vси дает в точности (1).

Еще два важных обозначения будут введены в следующем разделе после описания свойств введенного нами отношения = .

2. Сложные примеры эквивалентных пар языков

* *

Несложно доказываемое достаточное условие равенства А = В формулируется в виде алгоритма, состоящего из следующих трех шагов ([1, 4] и др.).

1. Рассматриваем новый конечный алфавит А и два некоторых максимальных префиксных кода [1] над этим алфавитом; пусть это A и B. При этом

условие A = B выполнено, поскольку Аю = Вю = Дю .

В качестве примера рассмотрим алфавит А = {0,1} и два таких языка: А = {0,10,11} и В = {00,01,1}.

2. Добавляем некоторые слова к языкам А и В (для А при этом достаточно рассматривать только такие слова и, для которых u g pref (А), анало-

* *

гично для B). При этом условие А = В выполнено, поскольку и равенство

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

В качестве продолжения предыдущего примера рассмотрим языки А = {0,10,11,1101} и В = {00,01,1,1110}.

3. Для полученных языков рассмотрим некоторый морфизм h : Д* ^ £ * ; заметим, что язык h (D ) = {h (c ) | c e D} тоже, вообще говоря, не

является префиксным. Для полученных языков (здесь их тоже удобно обо* *

значать А и В) условие А = В также выполняется.

Продолжим рассматривать предыдущий пример. Для морфизма h : Д* ^ £ * такого, что h (0) = ab, h (1) = aba, мы получаем следующие языки: {ab, abaab, abaaba, abaabaababa} и {abab, ababa, aba, abaabaabaab} .

Итак, очевидное достаточное условие таково: если языки А и В получе-

* *

ны описываем здесь способом, то А = В .

Обозначения mp и mp вводим согласно [1]; например, для приведенных выше примеров языков выполнено условие

{ab,abaab,abaaba,abaabaababa]e mp+ ({ab, aba}).

3. Основные утверждения

Утверждение 1. Если каждое из множеств U и V удовлетворяет условию (2), то условие U = V выполняется тогда и только тогда, когда

(V« e N)(pref„ (U)= pref„ (V).

Сформулированное утверждение 1 доказывается несложно. В качестве его следствия можно доказать, что равносильным определением отношения эквивалентности в бесконечности для удовлетворяющих условию (2) языков является следующее: pref (U ) = pref (V).

Утверждение 2. А = Х тогда и только тогда, когда А е тр+ (Х).

* *

Теорема 1. Пусть А = В . Тогда существует язык Б такой, что А = Б и А,Ветр+ (Б).

Упрощенный (префиксный вариант) этой теоремы формируется следующим образом.

* *

Теорема 2. Пусть А = В , при этом язык А обладает свойством пре-

* *

фикса. Тогда существует префиксный язык Б такой, что А = Б , причем А е тр( Б) и В етр + (Б).

Из теорем 1 и 2 несложно выводится, что для любого языка А суще* *

ствует единственный язык Ба , такой что А = Ба (более того, А етр + ( Ба )), и при этом ни для какого Б, отличного от Ба , не выполняется условие Ба е тр+ (Б). Соответственно в префиксном случае: теорема 2,

отношение тр (вместо тр +), условия Аетр(БА) и Ба € тр(Б).

Как в префиксном, так и в общем случае можно специальным образом 1

*

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

чить следующий алгоритм проверки условия А1 = А2 в конечном случае: для

1 = 1, 2 нужно построить множества Бд и сравнить их; при этом условие

* *

А1 = А2 будет равносильно равенству построенных языков Ба1 = Ба2 .

Обсуждение эффективного алгоритма решения этой задачи (построения языка БА по заданному языку А) не входит в круг вопросов настоящей

статьи. Очевидно, что простейший переборный алгоритм (а именно такой:

*

рассмотреть все Б еХ такие, что Бтах < Атах, и среди удовлетворяющих

условию А е тр + (Б) выбрать нужное Ба ) можно значительно улучшить, например следующим образом. Обозначим

\и |(3ие N,ve A)(v = и")}.

Б = Б

Тогда для выбора БА можно рассматривать только такие Б, что

Б с (Б)* и Бтах < Атах .

Применение этих алгоритмов (или, иными словами, алгоритмов сравнения ю-языков такого вида) в различных задачах теории формальных языков описано, например, в [3-6, 8, 9, 15] и др. А дальнейшая часть настоящей статьи посвящена описанию альтернативного алгоритма, не использующего результаты рассмотренных выше теорем 1 и 2.

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

4. Вспомогательный алгоритм

Сначала опишем вспомогательный алгоритм проверки условия

* *

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

Алгоритм 1. Вход: А = {и1,...,ип}, В .

* *

Выход: 1 - если А с В ;

0 - в противном случае. Некоторые замечания к описанию алгоритма. Будем рассматривать

алфавит А а ={^1 ..., dn} . Слова в этом алфавите и языки над ним будут обычно иметь нижний индекс А . Функция Г: Р (е Р (е ) определяется следующим образом:

Г (С ) = ^ е opref (В )| (и е В* )( е С)}.

Будут использоваться переменные-функции р, s (не всюду определенные) и переменные-множества Н,Ь следующего вида:

* / * \ . / * \ .*

Ь сА , Н сР (Е ), р сА'хР (Е ), 5 сА'хА ,

*

а также переменная-слово м еА .

Если алгоритм даст ответ 0, то будем при этом фиксировать элемент

м еА* такой, что На (>^4 ) € pref (в ). Описание.

Шаг 0. Ь :=0, Н :={{е}}, Р (е ):={е} , функция р (иА) при и^Ф е и функция 5 (иА) при любом и а не определены.

Шаг 1. Выбрать какое-либо из таких иА еА , что определено р (и а) и не определены р(иаdi) при всех 1 е 1, п .

Шаг 2. Для всех 1 е 1, п выполнить следующие действия (будем здесь обозначать ру = р(иаdi) . 2Л. р1 = Г(р(иАи1 )).

2.2. Если (ЗСе Н)(С с р1),

то Ь : +{иАdi} и 9(иА):= р_1 (С), иначе Н : + р1 и 5 (иА di) := и а di.

2.3. Если р1 =0 ,

то выход с ответом 0 и зафиксированным элементом

Шаг 3. ц := и а .

Шаг 4. Если (У1 е 1, п) е Ь), то Ь: +{ц},

иначе переход на шаг 1. Шаг 5. Если ц = е , то выход из алгоритма с ответом 1. Шаг 6. ц := pref ц_1 (w) и переход на шаг 4.

*

Предположим теперь, что к некоторым конечным языкам А, В сХ применен алгоритм 1. Будем употреблять все встречающиеся в его описании обозначения и в последующем тексте. Рассмотрим также функции

* * * I * \

S еА хА и Р сА хР (Х ), заданные следующим образом:

5(е) = е,(иАе А*)(е А)((иА= 5(5(иА)^)); (УиА е А* )(Р (иА) = р (5 (иА))).

*

Будем ниже говорить, что некоторое слово и е Х покрыто, если оно

*

является префиксом какого-либо слова из В . Само слово ц = V! (где V1 е В для 1 е 1, т) при этом назовем покрытием слова и , если и е pref (ц), но и € pref(Vl . .^т_1). Для некоторого и все слова V из множества opref(B) такие, что слова т являются его покрытиями, обозначим Р({и}). Для произвольного множества С положим Р(С) = ^ Р({и}).

иеС

* *

Мы показываем, что условие А с В выполняется тогда и только тогда,

*

когда все слова из А покрыты. Однако проверить, покрыто ли все бесконечное множество слов над алфавитом А, мы не можем, поэтому в алгоритме не*

явно употребляется специальное отношение эквивалентности, заданное на Х : два слова и,Vе Х эквивалентны, если Р({и}) = Р({V}). Из предыдущего следует, что для каждого класса эквивалентности по этому отношению достаточно

проверить, покрыто ли какое-нибудь одно слово из этого класса.

*

Пусть Ь - множество тех слов из А , для которых уже проверено, покрыты ли слова языка кА(Ь); Н - совокупность множеств Р({и}) для всех и е кА (Ь). Если 5 (иА) = VА , то слова кА (иа ) и кА С^а ) принадлежат одному классу эквивалентности по описанному выше отношению. В р(иА) мы засылаем некоторое множество, содержащее Р(кА (иа )), причем такое, что оно

*

само является значением функции Р (кА ^а )) для некоторого VА еА . Заглавные буквы 5 и Р обозначают функции, аналогичные обозначаемым соответствующими строчными, но определенные всюду, где это возможно, а не только для слов иА , обрабатываемых алгоритмом 1.

*

В процессе работы алгоритма для всех возможных иА еА функции 5 и Р не строятся, но совершенно несложными являются доказательства их существования, а также возможности построить их значении для любого конкрет-

*

ного иА еА , такого что слово к(иА) покрыто.

Утверждение 3. При каждом выполнении шага 1 выбор требуемого и а осуществим, причем любое выбираемое слово отлично от всех выбиравшихся ранее.

Утверждение 4. Во время работы и в момент окончания алгоритма 1 переменная-функция р всегда является сюръекцией, причем при выполнении

подшага 2.2 значение р 1 (С) всегда существует.

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

*

Утверждение 5. Для любых конечных языков А, В сХ алгоритм 1 завершает работу.

Утверждение 6. Р (А • В ) = Р (Р (А) • В).

Утверждение 7. Если алгоритм 1 закончил работу с ответом 1, то при

*

любом иА еА определены значения 5 С^а ) и Р С^а ), причем Р(^А) Ф 0 .

Справедливость последних двух утверждений непосредственно следует из приведенных ранее определений функций Р, 5 и Р.

Утверждение 8. Если значение р(Юа) определено, то

р

Доказательство проведем индукцией по значению | Юа |. По определению, р (е) = Р(кл (е)), поэтому база индукции выполняется; покажем выполнение шага.

Пусть равенство

*

слова Юа е А , а для некоторой (произвольной) буквы ё е А имеем VА = Юаё (т.е. ^а| = |юа| + 1); пусть, кроме того, определено р(уа). Достаточно показать, что доказываемое нами утверждение выполнено для данного VА (поскольку, по определению функции р, если существует р(уА), то при любом иА е pref(uА) определено и значение р(иа ).

Применяя выражение из описания подшага 2.1, а также предположение индукции (3) и утверждение 6, получаем следующую цепочку равенств:

р (а) = Р (р Ю-кл (ё )) = Р (Р (кл К) кл (ё )) =

= Р(кА (ЮА ) -А (ё) ) = Р(кА (а ) ,

т^. для указанного слова VА выполняется условие, аналогичное (3) (полученное из (3) заменой Юа на VА).

Утверждение 9. Если алгоритм 1 закончил работу с ответом 1, то для произвольного Юа е А выполнено условие Р (юа ) с Г (На (соа )).

Доказательство этого утверждения аналогично доказательству предыдущего. Оно также проводится индукцией по значению |юа| . Теорема 3. Следующие три утверждения равносильны:

Аю с Вю;

* с *

А ~В ;

алгоритм 1 заканчивает работу с ответом 1.

Доказательство. Пусть выполнено условие (6). Возьмем любое а е Аю, а = ^^, где все Wi е А. Для каждого п е N обозначим

ieN

UA,n = П hA (wi )•

1<i <n

Вследствие утверждений 7 и 10, (Уп е N )( (а (ап ))ф^0), и определениям Г и На мы получаем следующее:

(Vnе N)( е B*,U2 е opref (B)) n™i = Mlv2

Vl<i<l

по

Поэтому существует функция /а : N ^ В такая, что

П fa (i)е pref П

Ю;

&

П<Ю е Pref П fa(0

V1<i<1 V 1<i<n

//

ч1<1<п Ч1<1<1 у у

Рассмотрим ю-слово Р = ^/а (). По построению, Ре Вю. Предполо-

iеN

жим, что РФа, тогда для некоторого пе N имеем рге^ (а)ф prefn (Р), откуда выводится противоречие с (7). Таким образом, построенное нами Р совпадает с выбранным а . Поскольку выбиралось любое а е Аю, заключаем, что Аю с Вю, таким образом, из (6) следует (4); (5) следует из (4), согласно утверждению 2.

Теперь докажем, что из (5) следует (6). Предположим противное: (5) выполнено, а (6) - нет. Тогда в силу утверждения 5 алгоритм 1 заканчивает работу с ответом 0. Для зафиксированного при выходе из алгоритма элемента (пусть это Уа ) выполнено условие р (а ) Ф0 (это следует из описания алгоритма 1) и (согласно утверждению 8) Г( (а)) = 0. По определению

функции Г, (Уи е В )(На (а )€ р^(и)), а это противоречит условию (5).

Заключение

Аналогично [2] (но, вообще говоря, с иными накладываемыми условиями), мы, дважды применяя алгоритм 1, получаем алгоритм проверки условия

до _ . Кроме того, мы получаем такое следствие: равенство A0 ç Б0 и

*

условие A= Б равносильны.

Библиографический список

1. Melnikov, B. F. The equality condition for infinite catenations of two sets of finite words / B. F. Melnikov // International Journal of Foundation of Computer Sciences. -1993. - Vol. 4, № 3. - P. 267-273.

2. Мельников, Б. Ф. Алгоритм проверки равенства бесконечных итераций конечных языков / Б. Ф. Мельников // Вестник Московского университета. Сер. 15, Вычислительная математика и кибернетика. - 1996. - № 4. - С. 49-55.

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

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

5. Корабельщиков:!, С. Ю. Об общем корне элементов глобального надмоно-ида / С. Ю. Корабельщикова, Б. Ф. Мельников // Вестник Северного (Арктического) федерального университета. Сер.: Естественные науки. -2016. - № 3. -С. 91-96.

6. Melnikov, B. Some equivalence problems for free monoids and for subclasses of the CF-grammars class / B. Melnikov // Number theoretic and algebraic methods in computer science. - 1995. - P. 125-137.

7. Данг, В. В. О задаче нахождения минимальной полугруппы аппроксимации /

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

C. 88-99.

8. Дубасова, О. А. Об одном расширении класса контекстно-свободных языков / О. А. Дубасова, Б. Ф. Мельников // Программирование. - 1995. - № 6. - С. 46-57.

9. Melnikov, B. Some grammatical structures of programming languages as simple bracketed languages / B. Melnikov, E. Kashlakova // Informatica (Lithuanian Acad. of Sciences). - 2000. - Т. 11, № 4. - С. 441-446.

10. Баумгертнер, С. В. Обобщенные недетерминированные конечные автоматы / С. В. Баумгертнер, Б. Ф. Мельников // Известия высших учебных заведений. Поволжский регион. Физико-математические науки. - 2013. - № 2 (26). - С. 64-74.

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

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

13. Зубова, М. А. Вспомогательные алгоритмы для проблемы вершинной минимизации недетерминированных конечных автоматов / М. А. Зубова, Б. Ф. Мельников // Стохастическая оптимизация в информатике. - 2015. - Т. 11, № 2. - С. 17-29.

14. Cohen, R. S. Theoryof œ-languages. I. Caractirizations of œ-context-free lahguages / R. S. Cohen, Y. Gold // J. Comp and System Sci. - 1977. - № 15. - P. 169-184.

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

References

1. Melnikov B. F. International Journal of Foundation of Computer Sciences. 1993, vol. 4, no. 3, pp. 267-273.

2. Mel'nikov B. F. VestnikMoskovskogo universiteta. Ser. 15, Vychislitel'naya matematika i kibernetika [Bulletin of Moscow University. Series 15. Calculus mathematics and cybernetics]. 1996, no. 4, pp. 49-55.

3. Mel'nikov B. F. Izvestiya vysshikh uchebnykh zavedeniy. Matematika [University proceedings. Mathematics]. 2004, no. 3, pp. 46-56.

4. Alekseeva A. G., Mel'nikov B. F. Vektor nauki Tol'yattinskogo gosudarstvennogo universiteta [The vector of science of Togliatty State University]. 2011, no. 3, pp. 30-33.

5. Korabel'shchikova S. Yu., Mel'nikov B. F. Vestnik Severnogo (Arkticheskogo) federal'nogo universiteta. Ser.: Estestvennye nauki [Bulletin of Northern (Arctic) Federal University. Series: Natural Sciences]. 2016, no. 3, pp. 91-96.

6. Melnikov B. Number theoretic and algebraic methods in computer science. 1995, pp. 125-137.

7. Dang V. V., Korabel'shchikova S. Yu., Mel'nikov B. F. Izvestiya vysshikh uchebnykh zavedeniy. Povolzhskiy region. Fiziko-matematicheskie nauki [University proceedings. Volga region. Physical and mathematical sciences]. 2015, no. 3 (35), pp. 88-99.

8. Dubasova O. A., Mel'nikov B. F. Programmirovanie [Programming]. 1995, no. 6, pp. 46-57.

9. Melnikov B., Kashlakova E. Informatica (Lithuanian Acad. of Sciences). 2000, vol. 11, no. 4, pp. 441-446.

10. Baumgertner S. V., Mel'nikov B. F. Izvestiya vysshikh uchebnykh zavedeniy. Povolzhskiy region. Fiziko-matematicheskie nauki [University proceedings. Volga region. Physical and mathematical sciences]. 2013, no. 2 (26). - S. 64-74.

11. Dolgov V. N., Mel'nikov B. F. Vestnik Voronezhskogo gosudarstvennogo universiteta. Ser.: Fizika. Matematika [Bulletin of Voronezh State University. Series: Physics. Mathematics]. 2013, no. 2, pp. 173-181.

12. Doglov V. N., Mel'nikov B. F. Vestnik Voronezhskogo gosudarstvennogo universiteta. Ser.: Fizika. Matematika [Bulletin of Voronezh State University. Series: Physics. Mathematics]. 2014, no. 1, pp. 78-85.

13. Zubova M. A., Mel'nikov B. F. Stokhasticheskaya optimizatsiya v informatike [Stochastic optimization in informatics]. 2015, vol. 11, no. 2, pp. 17-29.

14. Cohen R. S., Gold Y. J. Comp and System Sci. 1977, no. 15, pp. 169-184.

15. Mel'nikov B. F. Vestnik Moskovskogo universiteta. Ser. 15, Vychislitel'naya matematika i kibernetika [Bulletin of Moscow University. Series: Calculus mathematics and cybernetics]. 1991, no. 3, pp. 51-53.

Мельников Борис Феликсович

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

E-mail: bf-melnikov@yandex.ru

Mel'nikov Boris Feliksovich Doctor of physical and mathematical sciences, professor, sub-department of information systems and networks, Russian State Social University

Корабельщикова Светлана Юрьевна кандидат физико-математических наук, доцент, кафедра информатики и информационной безопасности, Северный

E-mail: s.korabelsschikova@narfu.ru

Чурикова Надежда Петровна аспирант, Самарский национальный исследовательский университет имени академика С. П. Королева

E-mail: claorisel@gmail.com

Korabel'shhikova Svetlana Jur'evna Candidate of physical and mathematical sciences, associate professor, sub-department of informatics and information security, Northern

Churikova Nadezhda Petrovna Postgraduate student, Samara National Research University named after academician S. P. Korolyov

УДК 512.53, 510.54 Мельников, Б. Ф.

Об алгоритмах проверки выполнения некоторых бинарных отношений в глобальном надмоноиде свободного моноида / Б. Ф. Мельников, С. Ю. Корабельщикова, Н. П. Чурикова // Известия высших учебных заведений. Поволжский регион. Физико-математические науки. - 2017. - № 3 (43). -С. 87-99. БОТ 10.21685/2072-3040-2017-3-8