Замечание 3. В статье [7] приведен полиномиальный алгоритм нахождения в произвольно за-
IЕ'
данном графе подграфа С = (У,Е') с максимальным значением отношения ^ут-доказанная выше теорема сводит вопрос о существовании непрерывного расписания к проверке разЕ"
С другой стороны,
реженности графа, т. е. к проверке неравенства
^ 2 для любого подграфа G" = (V",E") графа
С?, порожденного множеством П. Отсюда вытекает полиномиальная разрешимость рассматриваемой задачи.
СПИСОК ЛИТЕРАТУРЫ
1. Гаврилов Г. П., Сапоженко A.A. Задачи и упражнения по дискретной математике. М.: Физматлит, 2005.
2. Танаев B.C., Сотеков Ю.Н., Струеевич В. А. Теория расписаний. Многостадийные системы. М.: Наука, 1989.
3. С ho Y., Sahni S. Preemptive scheduling of independent jobs with release and due times on open, flow and job shops // Oper. Res. 1981. 29. N 3. P. 511-512.
4. Магомедов A.M. Уплотнение расписания с директивным сроком, кратным количеству занятий каждого преподавателя // Мат. заметки. 2009. 85. № 1. С. 65-72.
5. Petersen J. Die theorie der regulären graphen // Acta Math. 1891. 15. P. 193-220.
6. Айгнер M. Комбинаторная теория. M.: Мир, 1982.
7. Goldberg А. V. Finding a maximum density subgraph. Technical Report Identifier: CSD-84-171.
Поступила в редакцию 22.06.09
УДК 519.682.1+510.53 П.Г. Сутырин1
О МНОЖЕСТВЕ ПАМЯТЕЙ D-ГРАФА
В работе рассматриваются Б-графы, описывающие контекстно-свободные (КС) языки. Вводится новое понятие памяти Б-графа, исследуются свойства множества памятей Б-гра-фа. Для известных задач теории детерминированных КС-языков, таких, как проверка регулярности заданного КС-языка и проверка эквивалентности двух заданных описаний языков, ставятся соответствующие задачи анализа памятей Б-графов.
Ключевые слова: контекстно-свободные языки, Б-графы, регулярность, эквивалентность.
1. Введение. Контекстно-свободные (КС) языки образуют важный в практическом отношении класс формальных языков. Они используются для описания синтаксиса современных языков программирования и языков разметки, допускают построение эффективных анализаторов. КС-языки могут быть заданы такими формальными описаниями, как КС-грамматики, магазинные автоматы и Б-гра-фы [1].
Для некоторых задач в классе КС-языков доказана алгоритмическая неразрешимость, в частности для задач проверки однозначности КС-грамматики, эквивалентности двух КС-грамматик, принадлежности языка КС-грамматики классу регулярных языков [2].
Поиск более узких подклассов КС-языков, допускающих решение этих задач, представляет не только теоретический, но и практический интерес. В частности, алгоритм проверки регулярности может быть полезен при построении более эффективных анализаторов путем замены магазинных автоматов эквивалентными конечными автоматами.
1Факультет ВМК МГУ, асп., e-mail: psutyrinQcs.msu.su
Известно, что для подкласса детерминированных КС-языков, допускаемых детерминированными магазинными автоматами, разрешима задача проверки регулярности [3]. При этом большое значение имеет поиск для нее практически применимых алгоритмов.
Введенные в работах [1, 4] Б-графы представляют собой новый способ описания КС-языков. Их прообразами являются графы магазинных автоматов [5, 6]. Б-графы являются более удобным инструментом для исследования многих свойств КС-языков, чем магазинные автоматы и КС-грамматики. Так, с помощью Б-графов было построено более простое доказательство теоремы Хомского-Шютцен-берже о морфическом представлении КС-языка [1].
В настоящей работе дано изложение основных понятий теории Б-графов, затем введено новое понятие памяти Б-графа по аналогии с памятью магазинного автомата [1].
Предложен алгоритм построения формального описания множества всех памятей заданного Б-графа и показана регулярность этого множества. Задача проверки регулярности языка, описываемого заданным Б-графом, сведена к задаче проверки определенного свойства множества его памятей. Также показана сводимость задачи проверки эквивалентности двух детерминированных Б-графов к проверке эквивалентности двух памятей некоторого детерминированного Б-графа и обратно.
Построение решений указанных задач в терминах памятей Б-графов и их качественный анализ выходят за рамки настоящей работы.
В пп. 2, 3 и 4 излагаются основные понятия теории Б-графов. В п. 5 вводится понятие памяти Б-графа и исследуются свойства множества памятей, в п. 6 обсуждаются задачи проверки регулярности и эквивалентности.
2. Основные определения. Напомним некоторые понятия теории формальных языков, используемые далее в тексте. Для конечного алфавита терминальных символов £ = {а, Ь,..., с} через £* будем обозначать язык (множество) всех цепочек над алфавитом 1!, включая пустую цепочку е. Иногда будем различать обозначения пустых цепочек над разными алфавитами. Язык всех непустых цепочек над алфавитом I! будем обозначать через £+.
Пусть и Е) — непересекающиеся алфавиты скобочных символов, соответственно открывающих и закрывающих (будем называть их просто скобками или типами скобок). Введем обозначение: А = и Е). Пустую цепочку над алфавитом А будем обозначать Л. Назовем непустое множество Р С Е( х Е) Б-множеством. Б-множество представляет собой множество допустимых пар скобочных символов, причем одной и той же открывающей скобке может соответствовать более чем одна закрывающая (например, V = {(а, Ь), (а, с)}) и наоборот. Язык С-р С А*, порождаемый контекстно-свободной грамматикой
Ор = (А, {5}, {5 Л} и {5 аБЬБ, (а, Ь) € V}, 5),
будем называть Б-языком С-р над Б-множеством V■ Элементы х € С-р будем называть правильными скобочными системами. Известно [21, что всякая грамматика Ср, построенная указанным способом, является однозначной. Введем обозначение для множества цепочек скобок, не являющихся скобочными системами: С-р = А* \ Ср. Например, Ьа €
Определим теперь отображение из А* в А*, которое будет стирать из цепочек скобок все подцепочки, являющиеся скобочными системами. В частности, правильные скобочные системы оно будет переводить в Л. Итак, Б-отображением будем называть отображение /х : А* —> А*, определяемое рекурсивно следующим образом. Для любого х € А* положим
если х = Л;
если х = иаЬу, (а, Ь) € V, и, V € А*,
и не содержит подцепочки а'Ь' ни для какой пары (а', Ь') € V] _х иначе.
3. Б-графы. Введем теперь понятие Б-графа, схожее с графом конечного автомата. Отличие его от графа конечного автомата можно проиллюстрировать следующим образом. Успешные вычисления конечного автомата соответствуют путям в его графе из начальной вершины в одну из заключительных. Конкатенация пометок дуг успешного пути представляет собой некоторую цепочку, допускаемую автоматом. Множество всех цепочек, допускаемых конечным автоматом, образует регулярный язык.
/х(ж) = <
Г Л,
/х(гго),
Каждая дуга D-графа также имеет в качестве пометки терминальный символ, а кроме того, числится в качестве скобки, либо открывающей, либо закрывающей, в некотором D-множестве. И для того чтобы некоторый путь в D-графе из начальной вершины в одну из заключительных считался успешным, требуется дополнительно, чтобы цепочка, составленная из дуг этого пути, представляла собой правильную скобочную систему соответствующего D-языка. Благодаря этому свойству D-граф может допускать контекстно-свободный язык.
Итак, зафиксируем непересекающиеся алфавиты скобок Е( и Е), D-множество V. Введем обозначения
Left(V) = {а G S(| 3b G Ц : (а, Ъ) G V};
Right(P) = {Ь G Е)| За G Е( : (а, Ь) G V}.
D-графом будем называть шестерку элементов:
D = (Z,V,V,\,P8,F),
где S — непустой алфавит терминальных символов, V = V{D) — непустое множество вершин, V — D-множество. Элемент ж множества Е = E(D) = Left(7?) U Right(7?) будем называть дугой. D-язык, отвечающий D-множеству V, обозначим через C-p(D) и отметим, что C-p(D) С E(D)*.
Элемент А : E(D) —s> V х (S U {е}) х V — функция положения дуги в D-графе; элементы тройки (Р, а, Q) = А(-7г) для некоторой дуги и будем называть соответственно начальной вершиной, пометкой и конечной вершиной этой дуги и обозначать как beg(-7r) = Р, ш(:тт) = а, end(-7r) = Q; Ps G V — начальная вершина, F С V — множество заключительных вершин.
Пара (V,E(D)), которую мы обозначим через G(D), образует ориентированный мультиграф с помеченными дугами (см., например, [7]). В соответствии с этим определим путь в D-графе D как цепочку
Т = /*о 7Г1 / 'i K-jP-J ■ ■ ■ к„ ! .
где п ^ 0; Pj G V(D) для i = 0, п; 7Tj G E(D) для i = 1, n, beg(7Tj) = /i. end(7Tj) = /'. Длину n пути T обозначим через |T|, путь Т = Р0 нулевой длины будем называть пустым. Начальную Pq и конечную Рп вершины пути Т будем обозначать соответственно через beg(T) и end(T).
Определим рекурсивно пометку пути Т через пометки его дуг:
ш{т)=и если Т = Р0;
[w(7ri)w(Pi7r2P2 • • • KnPn), если Т = /'j/Ti/'i h-jl'-j . . . ТТпРп.
Так как для каждой дуги однозначно определена начальная и конечная вершины, то всякий непустой путь Т = 1\) к 1/г-j / о ... ттц ! можно представить взаимно однозначно соответствующей ему цепочкой дуг: Т = И\И2 ■ ■ • тг« G E(D)+. Пустой путь Т = Р0 в тех случаях, когда конкретная вершина Pq не играет роли в рассуждениях, будем представлять пустой цепочкой дуг: Т = Л G E(D)*. Множество всех путей в D-графе D обозначим через Paths(D).
Конкатенацией двух путей
V = Р^'1Р[Ъ'2Р'2...Ъ'ПР'П, П^ о и Т" = Pq ж" Р" ж'2 Р2 ■ ■ ■ ^m^m-. ГП^ о, при условии, что они имеют общую вершину /' /'' Pq', будем называть путь
Po*iP{*2P2 ■ ■ ■ *пр*"р"*2р2 ■ ■ ■ KiP"v если п > 0, m > 0; т = Т'Т" = Т", если п = 0, m > 0;
если п ^ 0, m = 0.
Путь Т' будем называть фрагментом пути Т, если существует представление Т = TiT'T2, где Ti, "Г2 — пути.
Непустой путь Т будем называть циклом, если beg(T) = end(T). Цикл будем называть простым, если он не содержит фрагментов, являющихся циклами.
Предложением D-графа D = (S, V, V, А, Ps, F) будем называть путь Т G Paths(D), такой, что beg(T) = Ps, end(T) G F, T G C-p(D). Множество всех предложений D-графа D обозначим через Sentences(D). Путь Т' будем называть маршрутом, если он является фрагментом некоторого предложения. Маршрут Т' будем называть нейтральным, если /х(Т') = Л.
Языком L(D) С S*, задаваемым D-графом D, будем называть множество всех пометок его предложений: L(D) = {х € £*| х = ш(Т), Т € Sentences(D)}. Два D-графа D\ и D2 будем называть эквивалентными (и обозначать как D\ ~ -D2), если L{D\) = L(D2).
D-граф D будем называть детерминированным, если для каждой вершины Р € V{D) дуги из множества {ж € E(D)\ beg(7r) = Р} (в случае, если оно содержит более одной дуги) либо все открывающие и помечены разными символами из S, либо все закрывающие и никакие две из них не парны одной и той же открывающей дуге.
Пример. Рассмотрим D-граф D = ({a, b}, {Р, Q}, {(^i, тг2), тгз)A, Р, {Q}), где A(-7Ti) = /'«/'. А(тг2) = PbQ, А(тг3) = QbQ.
Множество путей в D из начальной в заключительную вершину можно представить следующим образом: {7г™7г27г™| п, m ^ 0}, тогда как множество всех предложений D таково: Sentences(D) = = {7Г1+1'7Г27Гз | n ^ 0} и соответственно L(D) = {anbn\ п ^ 1} — известный пример КС-языка.
В [4] показано, что класс языков, задаваемых D-графами, совпадает с классом контекстно-свободных языков: предложены алгоритмы построения по произвольному магазинному автомату эквивалентного (т. е. задающего тот же язык) D-графа и наоборот. Специфика работы автомата с магазином, определяемая соответствием занесенных и извлекаемых из него символов, отражена в требовании правильности скобочных систем в D-языке соответствующего D-графа.
Пусть маршрут Т = Ч"аК\Ч"\ Ч"-/1"л тг ;i7"i таков, что и\ и 7Г3 являются дугами и /х(Т2) = /i(TiT2T3) = = ¿¿(тп^ТзТзтгз) = Л. Тогда назовем тройку (7Г1Т1,Т2,Т37Г3) гнездом (маршрута Т). Иногда будем называть гнездом и маршрут 7Г1Т1Т2Т37Г3. Будем говорить, что участки tt\Ti, Т3жз парны (друг другу), или образуют гнездо в маршруте Т, будем называть их открывающим и закрывающим (в этом гнезде) соответственно.
4. Ядро D-графа. Пусть Т — нейтральный маршрут D-графа Д и w ) 0. Пусть максимальное число нейтральных циклов Т\,..., Тгп, таких, что цикл Т\ ... Тгп является участком маршрута Т, равно w. Тогда будем говорить, что циклическая ширина маршрута Т равна w, и обозначать CycleWidth(T) = w. Случай w = 0 означает, что в маршрут не входит ни один нейтральный цикл.
Пусть Т — нейтральный маршрут D-графа D и d ^ 0. Пусть аналогично для каждого числа m ^ 0 из некоторого конечного множества {т} найдутся циклы
Тгр гр гр гр
11; • • • , J lmi J21; J31; • • • 1 1 3m;
для которых T2(i+1) = "Гц'Г-л'Гщ. 1 ^ i ^ m, есть гнездо маршрута T, образованное циклами Тц и T3i. Если max{m} = d, то будем говорить, что циклическая глубина маршрута Т равна d, и обозначать CycleDepth(T) = d. Случай d = 0 означает, что в маршруте нет ни одного гнезда, образованного парными циклами. Гнезда, образованные парными циклами, будем называть циклическими гнездами.
Если для некоторых неотрицательных w и d, и маршрута Т CycleWidth(T) ^ w и CycleDepth(T) ^ ^ d, то такой маршрут будем называть (w, (¿)-каноном D-графа D.
Множество (ад, (¿)-канонов графа D назовем (w,d)-ядром графа и обозначим через Core(D,w,d). В [4] показано, что для любых ад, d > 0 длина (ад, (¿)-канона ограничена и множество Core(D, ад, d) конечно.
Пусть (Ti,T2,T3) есть гнездо, в котором Т\ и Т3 — циклы. Пусть для любых циклов Тц, Ti2, Т32, Тм. таких, что Тх = ТИТ12, Т3 = Т32Т31, ни одна из троек (Т12, Т2, Т32) и (Ти, Т12Т2Т32, Т31) не является гнездом в маршруте TiT2T3. Тогда назовем гнездо (Ti,T2,T3) простым.
Пусть маршрут Т является нейтральным циклом или простым гнездом и не содержит меньшего участка, который есть нейтральный цикл или простое гнездо. Тогда назовем маршрут Т формантом (формантом-циклом или формантом-гнездом соответственно).
В [4] показано, что каждый маршрут Т D-графа D может быть получен из некоторого маршрута Т' € Core(D,2,1) за конечное число шагов развития, каждый из которых определяется некоторым формантом и заключается во вставке в маршрут соответствующего нейтрального цикла либо парных циклов. Обратное действие выражается функцией reduction, которая определена на множестве всех маршрутов D-графа D. Для каждого маршрута Т reduction(T) есть множество всех маршрутов, которые можно получить из Т вычеркиванием всех нейтральных и парных циклов.
5. Множество памятей D-графа. Памятью D-графа D будем называть пару р = (end(Т),Т"), где Т" € reduction(T) для некоторого префикса Т предложения ТТ' G Sentences(D). Множество всех
памятей D-графа D будем обозначать как
Mem(D) = {р= (end(T),T")| ЗТ' : ТТ' е Sentences(D), Т" е reduction(T)}.
Маршруты, получаемые применением функции reduction к префиксам предложений, будем называть сокращенными префиксами предложений.
Языком Ь(р), задаваемым памятью р = (Р, Т), будем называть множество пометок продолжений соответствующего префикса до предложения L(p) = {ш(Т')| ТТ' G Sentences(G)}. Две памяти р\ и р2 будем называть эквивалентными, если L{p\) = Ь{р2). Соответствующее отношение эквивалентности обозначим через Память ps = (Ps, Ps) D-графа D, где Ps — начальная вершина D, будем называть начальной. Каждую память вида р = (Р, Л), где Р € F, F — множество заключительных вершин D, будем называть заключительной. Если для памяти р = (Р, Т) и символа а € £ существует префикс предложения ТТ', такой, что ш(Т') = а, то множество соответствующих этому префиксу памятей обозначим через next(p,o) = {(end(TT'),T")| Т" € reduction(TT')}.
Для каждой цепочки ж = ai...an, п ^ 0, языка L(D) детерминированного D-графа D существует единственное предложение Т € Sentences(D), такое, что ш{Т) = х. Предложение Т можно единственным способом представить в виде конкатенации Т = 1\ Т-> ... Т„ так, что V« = 1 , п, Тг = Pq,i^i,iPi,i ■ ■ ■ т^т,гРгц,г., Щ ^ 0, и w(Tj) = (^(tti^) = щ. Следовательно, множество префиксов этого предложения {Т/ = TiT2 ... Tj| 1 ^ г ^ п} соответствует множеству памятей {р^ = (end(T/),T")| Т" € G reduction(T/)}, идб next(pj_i, 1 ^ г ^ п.
Для произвольных языка L С S* и цепочки ж G S* понятие остаточного языка, соответствующего цепочке ж, обозначаемого как ж \ L, определим следующим образом: ж \ L = {го| жад G L}.
Заметим, что если язык L задается детерминированным конечным автоматом А, то каждой цепочке же!!*, такой, что ж \ L ^ 0, однозначно соответствует путь Т в графе этого автомата из начальной вершины в некоторую вершину Р. Множество пометок путей, продолжающих путь Т до предложения, совпадает с ж \ L. Будем говорить, что остаточный язык ж \ L реализуется в вершине Р, и обозначать L(P) = ж \ L.
Аналогично если язык L задается детерминированным D-графом D, то каждой цепочке же!!*, такой, что ж\Ь ф Ф, однозначно соответствует путь Т в D-графе D из начальной вершины D-графа в некоторую его вершину Р, так, что путь Т является префиксом по крайней мере одного предложения. Следовательно, существует память р = (Р, Т'), где Т' G reduction(T) и L(p) = ж \ L. Будем говорить, что остаточный язык ж \ L реализуется памятью р.
Теорема 1. Множество всех памятей D-графа является регулярным.
Доказательство. Построим регулярное выражение Е = Ei + задающее множество всех памятей Mem(D) С E(D)*. Выражение включает в себя слагаемое Ei, задающее конечное подмножество памятей, соответствующих предложениям (конечного) (2,1)-ядра. Все остальные предложения D-графа могут быть получены [4] развитием некоторых предложений (так называемых предков) из (2,1)-ядра, поэтому рассмотрим структуру сокращенного префикса Т произвольного производного предложения Т0 = Т'Т" G Sentences(G), такого, что Т G reduction(T'), образующего память р = (Р, Т). Предложение Т0 получено вставкой конечного числа формантов в некоторое предложение из (2,1)-ядра. Каждый формант-цикл, входящий в Т0, либо входит в Т", следовательно, не входит в Т, либо входит в Т', следовательно, сокращен и не входит в Т, либо его собственный префикс является суффиксом маршрута Т', а следовательно, и маршрута Т. Последнему случаю удовлетворяет не более чем один формант-цикл из Т0. Каждый формант-гнездо, входящий в Т0, либо целиком входит в Т", следовательно, не входит в Т, либо целиком входит в Т', следовательно, сокращен и не входит в Т, либо его закрывающий цикл полностью или частично входит в Т" и, следовательно, в Т входит его (несокращенный) открывающий цикл.
Итак, памяти, соответствующие предложениям не из (2,1)-ядра, могут быть получены из предшествующих вставкой новых вхождений открывающих циклов формантов-гнезд. Такое множество цепочек в алфавите E(D) может быть задано регулярным выражением Е2.
6. Задачи проверки регулярности и эквивалентности. Покажем, что задача проверки регулярности языка, задаваемого детерминированным D-графом, и задача проверки эквивалентности двух детерминированных D-графов могут быть сведены к задачам проверки некоторых свойств множества памятей детерминированного D-графа.
Теорема 2. Язык, заданный детерминированным D-графом, тогда и только тогда является регулярным, когда отношение эквивалентности на множестве всех его памятей имеет конечный индекс.
Доказательство. Если множество памятей Mem(D) D-графа D по отношению можно разбить на конечное число к классов эквивалентности Mi, М2,..., М^, то можно построить конечный автомат А, эквивалентный D-графу D, если в качестве множества состояний взять {Mi,..., М^}; разрешить переход M¿ A Mj, если и только если 3G Л /,. pj G Mj, а € pj G next(p¿,a); в качестве начального состояния выбрать Л /,. содержащее ps, а в качестве заключительных состояний выбрать все Mi, содержащие хотя бы одну заключительную память. Покажем, что L(A) = L(D). Цепочка х = ai ... ап G S* принадлежит L(D) тогда и только тогда, когда существует (единственное) предложение Т € Sentences(D), ш{Т) = х, которому однозначно соответствует последовательность памятей ps, pi,..., рп. Для каждого i = 1,п G next(p¿_i, a¿), память принадлежит соответствующему классу Mi, и по построению в автомате А есть переход M¿ A Mj, следовательно, вычисление конечного автомата, проходящее через соответствующие состояния М\, М2,... Мп, является успешным и ж G L(A).
Покажем теперь, что если в D-графе D существует бесконечное множество {рьр2,рз; • • •} попарно неэквивалентных памятей, то не существует конечного автомата А, эквивалентного D-графу D. Предположим, что указанный автомат существует и имеет к состояний. Заметим, что каждой памяти Pi = (Pi,T¡) соответствует цепочка ж* = w(T¿) G £*, где T¡ G reduction(T¿) для префикса Ti некоторого предложения, причем L(p¿) = x,i \ L ш x,i \ L ф хj \ L для г ф j. Далее, каждой цепочке х% в графе автомата А соответствует вершина (состояние) /',. в которую попадает автомат после обработки входной цепочки х% и в которой реализуется остаточный язык х% \ L. Уже среди первых к + 1 вершин Pi, Р2,... Pk, Pk+i найдутся две совпадающие — пусть это P¿ и Pj, i ф j. Однако в каждой вершине графа конечного автомата может быть реализован только один остаточный язык, следовательно, Xi\ L = Xj \ L, что приводит нас к противоречию.
Теорема 3. Задача проверки эквивалентности двух детерминированных D-графов может быть сведена к проверке эквивалентности двух памятей некоторого D-графа и наоборот.
Доказательство. Рассмотрим два детерминированных D-графа
Di = (Z,Vi,Vi,\i,Ps,i,Fi) и D2 = (S,F2,P2,A2,PS)2,P2),
имеющие общий алфавит S. Без ограничения общности предположим, что Vi П V2 = Vi П Р2 = 0. Построим новый D-граф D = (SU {ai, a2},V, V, A, Ps, F) над алфавитом, расширенным новыми символами ai, a2. Положим V = FiUF2U{Po, Pi, Р2), где Pq, Pi, Р2 — новые вершины, VU{{tx'i, 7г"), (тт'2, тт2 )}, где tx'i, 7г", 7г2, 7г2 — новые дуги, F = Fi U F2, А = Ai U А2. Доопределим A(7rí) = (Ps,ai,Pi), А(7г") = (Pi,e, Ps,i), А(я-2) = (Ps,a2,P2), Х(тт2 ) = (Р2,е, PS)2). Из свойств D-графов Dx и l)j и указанного построения следует, что D — детерминированный D-граф и L(D) = aiL(Di) U a2L(D2). Его памяти pi = (PS)i, n'iiii) и p2 = (PS)2,7г27г2) задают остаточные языки L(Di) и L(D2) соответственно. Поэтому D-графы Di и D2 экивалентны тогда и только тогда, когда эквивалентны памяти pi и р2 D-графа D.
Рассмотрим теперь детерминированный D-граф D = (S, V, V, A, Ps, F) и две его памяти pi и р2. Построим два D-графа Di = (S, Vi, Vi, Ai, Ps,i, Pi) и D2 следующим образом. Пусть pi = (end(T),T), T = PsttiPitt2P2 ... ñ„ /•'„. n ^ 0, — сокращенный префикс предложения D. Положим Vi = V, Vi = V, Ai = А. Добавим в V¡, новые вершины PS)i, P{,..., Р^-ь s, в Vi — новые дуги , ж2,..., ж'п, сохранив соответствующую парность их как между собой, так и по отношению к остальным дугам из V■ Доопределим A(7rí) = (PS)i, е, Pi), А(7г2) = (Р{,е, Р2),..., А(7г^) = (P't_i,£, Рп). Из свойств D-графа D и указанного построения следует, что D-граф Di является детерминированным и каждое его предложение имеет вид ТТ', где ш(Т) = е, а ш(Т') G L(pi), иными словами, L(Di) = L(pi). Аналогичным образом построим детерминированный D-граф !)>. такой, что L(D2) = Ь(р2).
Таким образом, памяти pi и р2 детерминированного D-графа D эквивалентны тогда и только тогда, когда эквивалентны детерминированные D-графы Di ж D2.
7. Заключение. Мы показали, что множество памятей D-графа содержит достаточно информации для того, чтобы получить новые решения таких задач, как проверка регулярности и проверка эквивалентности детерминированных контекстно-свободных языков. Есть основания полагать, что указанные решения будут по некоторым характеристикам превосходить уже существующие.
СПИСОК ЛИТЕРАТУРЫ
1. Станевичене J1. И. О некоторых определениях класса КС-языков// Программирование. 1999. № 5. С. Г>
25.
2. Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции. Т. 1. Синтаксический анализ. М.: Мир, 1978.
3. Stearns R.E. A regularity test for pushdown machines // Inform, and Control. 1967. 11. N 3. P. 323-340. (Стирнз P. Проверка регулярности для магазинных автоматов // Кибернетический сборник. Н.-С. 1971. Вып. 8. С. 117-139.)
4. Станевичене Л.И. К теории бесконтекстных языков. М.: МГУ им. М.В. Ломоносова, 2000. Деп. в ВИНИТИ 29.05.2000. № 1546-В00.
5. Станевичене Л.И. Об одном средстве исследования бесконтекстных языков // Кибернетика. 1989. № 4. С. 135-136.
6. В ы литок А. А. О построении графа магазинного автомата // Вестн. Моск. ун-та. Сер. 15. Вычисл. матем. и киберн. 1996. № 3. С. 68-73.
7. Евстигнеев В. А. Применение теории графов в программировании. М.: Наука, 1985.
Поступила в редакцию 23.02.09
ON ONE PROBLEM OF WAVE DIAGNOSTICS
Goncharskii A. B., Ovchinnikov S. L., Romanov S.Yu.
The study is devoted to the development of methods and algorithms of the solution of a nonlinear 3D inverse problem of wave diagnostics of irregularities in a homogeneous environment. The approximation of the Helmholtz equation is applied. By virtue of the computational complexity of the problem, it can be solved only with the use of a supercomputer. The problem consists in searching the unknown factor in a partial differential equation and is reduced to a system of operator equations for the unknown factor and the wave field. The algorithms developed for the solution of this system are effective when implemented on supercomputers with a parallel architecture.
Keywords: parallel computing, nonlinear wave models, inverse problem.
SOME LINEAR CONTROL PROBLEMS
Nikol'skii M. S.
Two problems of the controllability theory for linear controlled systems are considered in the paper. Methods for their approximate solution are proposed.
Keywords: linear controlled system, controllability, many-valued mappings, convex sets, support functions.
ANALYSIS OF A QUADRATIC FUNCTIONAL WITH A PARTLY SINGULAR LEGENDRE CONDITION
Dmitruk A. V., Shishov K. K.
The nonnegativity of a quadratic functional such that its matrix on the control square is singular on a part of controls is studied. After certain transformation of phase variables, the "singular" part of controls disappears, while its role is acquired by new phase variables. The obtained quadratic functional may have a nonsingular matrix on the square of new control sets, which enables us to apply standard methods in order to find out whether the functional is of a fixed sign.
Keywords: quadratic form, Legendre's condition, Gokh transformation.
INEQUALITIES FOR THE MEAN SQUARE ERROR OF MULTIDIMENSIONAL KERNEL DENSITY ESTIMATES
Ushakov V. G., Ushakov N. G.
The upper limits for the integral mean square error of multidimensional kernel density estimates are obtained. In particular, it is shown that, under certain regularity conditions, the real error is always smaller than the corresponding asymptotic value.
Keywords: kernel estimates, mean square error, upper estimates.