Труды Петрозаводского государственного университета
Серия “Математика” Выпуск б, 1999
УДК 519.7, 511.512
О СУЩЕСТВОВАНИИ ПОРОЖДАЮЩЕЙ КС-ГРАММАТИКИ ДЛЯ ПРОИЗВОЛЬНОЙ ЛИНЕЙНОЙ ДИОФАНТОВОЙ СИСТЕМЫ
Д. Г. Корзун
В работе доказывается существование контекстно-свобод-ной грамматики и терминальной цепочки, порождающих произвольно заданную систему линейных диофантовых уравнений (ЛДУ).
§ 1. Введение
В данной статье под системой ЛДУ мы понимаем систему линейных уравнений с целыми коэффициентами, решения которой ищутся в множестве неотрицательных целых чисел = {0,1,2,...}. Две системы будем называть эквивалентными, если по решениям одной системы однозначно определяются решения второй, и наоборот.
В работе [1] описывается метод построения некоторой системы ЛДУ по произвольной КС-грамматике (7 = (]М, Е, Р, 5) и цепочке х Е Е*. Такая система имеет вид:
( п
I] & - £ Свк^к = 1 ,
г(к=1 п
^ £ 6 - £ САкЬ = 0 УЛ е N \ {£} , (1)
к=1
п
Сак^к — V О, Е Е .
I к=1
Здесь *5 — начальный нетерминал грамматики (7, На — множество номеров тех правил грамматики, в левой части которых находится
© Д. Г. Корзун, 1999
нетерминал А (формально На = {г | р* = (Л —Е Р}), сцк — число вхождений символа II (терминал или нетерминал) в правую часть правила а Ъа — число вхождений а в цепочку х.
В [2] этот метод получил формальное обоснование на основе балансовых соотношений в дереве разбора цепочки х в грамматике (?. При этом грамматика называется порождающей, а построенная система 2}(С, ж) — ассоциированной.
Если известно, как по КС-грамматике построить ассоциированную систему ЛДУ, то весьма естественным становится вопрос об анализе обратной задачи — можно ли найти такую грамматику (7 и цепочку ж, для которых произвольно заданная система В : А£ = с? является ассоциированной.
В этой работе мы исследуем следующие вопросы подобной задачи:
1) существует ли порождающая грамматика;
2) единственным ли образом она определяется;
3) как построить порождающую грамматику.
Оказывается, что для произвольной системы ЛДУ порождающая КС-грамматика всегда существует, точнее всегда можно найти такую пару (С, ж), которая порождает эквивалентную данной систему ЛДУ. Однако единственность не гарантируется. При этом соответствующую грамматику и цепочку (С, ж) всегда можно построить явным образом.
Терминология и обозначения, применяемые в статье относительно объектов теории формальных языков, соответствуют [3].
§ 2. Подготовительные соображения
Пусть дана произвольная система В линейных диофантовых уравнений:
Ч = *. (2)
Здесь А — целочисленная т х п-матрица коэффициентов, £ Е Ъ7^ — вектор неизвестных, б? Е Ъ171 — вектор правых частей.
Обозначим через *5 = в (И) множество решений этой системы, т. е.
зд = Ш^ = 4.
Как известно [4], множество *5 можно описать с помощью базиса Гильберта:
Б = Н + ЦБ) , (3)
где Н — конечное множество минимальных частных решений системы (2), В — конечный базис Гильберта, который определяется единственным образом как множество минимальных решений однородной системы для (2), а Ь(В) — линейная неотрицательная целочисленная комбинация элементов из В.
В силу этого возможны 3 ситуации: либо система В несовместна (.Н = 0), либо имеет конечное число решений (Н ф 0, В = 0), либо множество решений бесконечно (Н ф 0, В ф 0).
§ 3. Основная теорема
Лемма 1. Если система (2) несовместна, то в качестве порождающей грамматики можно взять (7 = (IV, Е, Р, Б), где множество нетерминалов — N = {Б}, множество терминальных символов — Е = 0, множество правил Р грамматики определяется как1:
6 : 5 - ->• 5
£2 : 5 - ->• 5
€п ■ 5 - -►5,
нетерминал Б — начальный символ. В качестве цепочки х берется пустая цепочка е.
Доказательство. Если система несовместна, то она эквивалентна уравнению 0 = 1. Последнее можно переписать следующим образом:
п п
i=l i=l
Согласно (1) построенная в условии леммы грамматика (7 и цепочка х порождают данное уравнение. □
Лемма 2. Пусть система (2) имеет конечное число решений, т. е. В — 0у Н — ч 5 • • • ч Тогда в качестве порождающей грам-
матики можно взять (7 = (IV, Е, Р, Б), где множество нетерминалов
— N = {*5, ..., Ап}, множество терминальных символов — Е = 0,
1 Здесь и далее при описании правил порождающей грамматики слева через двоеточие указываются соответствующие переменные ассоциированной системы.
множество правил Р определяется как:
У1 : в —> А^А^2... Апп
у2 : 5—► А?А¥ ...А$
ут : Б-^А^А^ ...А^ (5)
£1 : Аг —у е
£2 : А2 —У е
• Ап ^ 6 ,
нетерминал Б — начальный символ. В качестве цепочки х берется пустая цепочка е.
Доказательство. Пусть — грамматика из условия леммы. Согласно (1) ассоциированная система имеет вид:
' га
Е % =1
j=l < га
& = Е ЦУз > * = 1,2,...,11
з=1
Так как решение ищется в неотрицательных целых, то в силу 1-го уравнения этой системы получаем, что yj Е {0,1}. Более того, если у^0 = 1 для некоторого ^о, то Уj = 0 \/ j ф . Таким образом, любое решение ассоциированной системы имеет вид:
(У\ 5 • • • 5 У30 5 • • • 5 Утч £1 Э • • • Э £п) = (0, . . . , 1, . . . , О, , . . . , ЪР^ ) 5
и наоборот. Таким образом, & = /г/?°. А это совпадает с (3) при В = 0. □
Лемма 3. Пусть система (2) имеет бесконечное число решений, т. е. Н = {/г1, /г2,..., Н171}, В = {61, 62,..., 6г}. Тогда в качестве порождающей грамматики можно взять (7 = (IV, Е, Р, Б), где множество нетерминалов — N = {*5, Л1,..., Лп}, множество терминальных символов
— Е = 0, множество правил Р определяется как:
У1 : 5—
у2 : в ^ АС}Л$ ...АН}
1 т 1 т 1 т
П, . С ___V Д1г1 Д1г2 Д п
Ут • ° ^2 ' ' ' у±п
«1 : 5—>-54?^... А*"
^2 : 5—(6)
г, : 5—
& : Аг —> е
& ■ А2 —у е
Сп ■ Ап у 6,
нетерминал Б — начальный символ. В качестве цепочки х берется пустая цепочка е.
Доказательство. Ассоциированная система для этой грамматики имеет вид:
га I I га
Х^ Уз Х^ ~ Х^ — 1 ^ Х^ Уз ~ ^
.7 = 1 &=1 &=1 з = 1
* га I
& = Е ^Уз + Е , г = 1, 2,..., п
^•=1 к=1
Из первого уравнения получаем, что yj Е {0,1} и, если = 1 для некоторого ^о, то yj = О V ^ / ^о- Далее, поскольку — произвольное неотрицательное целое, то любое решение системы имеет вид:
{у1 Э • • • Э Уjo ? • • • ? Ут 1 %1 Ч • • • 5 5 £15 • • • 5 £п) =
= (0,..., 1,..., 0,2:1,..., гг,/г*)
I
и наоборот. Таким образом, = Щ0 + Х^ Щгк-> что совпадает с (3). □
к=1
Из лемм 1-3 и замечания в конце § 2 следует основная теорема данной работы:
Теорема 1. Для произвольной системы ЛДУ вида (2) существует эквивалентная система, являющаяся ассоциированной для некоторой
КС-грамматики и терминальной цепочки ж. При этом можно выбрать множество терминальных символов (алфавит Е) пустым, ах — е.
Следствие. . Порождающая грамматика (7 и терминальная цепочка х для произвольной системы ЛДУ определяются, вообще говоря, не единственным образом.
Доказательство. Пусть (7 = (]М, Е, Р, Б) и х Е Е*. Допустим также, что или Е ф 0, или х ф е. Тогда можно построить ассоциированную систему ж) по (1). Согласно теореме для этой системы суще-
ствует порождающая грамматика С = (N,0,^,5) и ж' = е. Таким образом, есть, по крайней мере, две различные пары (О,ж) и (О',ж'), порождающие эквивалентные системы. □
Заметим, что леммы 1-3 не только доказывают существование порождающей грамматики, но и позволяют явно ее построить.
Заключение
Предлагаемые в леммах 1-3 варианты порождающей грамматики требуют знания множеств Я и Б, т. е., по сути дела, перед построением грамматики необходимо решить соответствующую систему ЛДУ. Однако следствие позволяет надеяться, что для заданной системы существует порождающая грамматика, построение которой не требует явного нахождения решений. Этого, как кажется, можно добиться, во-первых, за счет увеличения терминального алфавита и более сложной терминальной цепочки ж, а во-вторых, за счет более “изощренных” правил грамматики, позволяющих строить более сложные деревья разбора.
Большой интерес представляет собой задача построения порождающей грамматики для специальных частных видов систем ЛДУ, особенно если при этом не требуется предварительно находить решения. Так, например, в работе автора [5] такие грамматики были найде-
п га
ны для уравнения вида: ^ ж* + Ъ\ = ^ ajУj + &2, что в свою очередь
г=1 3 =1
позволило свести задачу его решения к решению более простого урав-к к нения: ^2 = с1 или ^ с,г, = (1 (с, > 0).
Кевише
In this paper we prove the existance of a context-free grammar and a terminal
string, which generate a given system of linear diophantine equations.
Литература
[1] Filgueiras М., Tomas A. Solving Linear Constraints on Finite Domains through Parsing // Proc. of EPTA’91. 1991.
[2] Богоявленский Ю. А., Корзун Д. Г. Общий вид решения системы линейных диофантовых уравнений, ассоциированной с контекстно-свободной грамматикой // Труды Петрозаводского государственного университета. Сер. Прикладная математика и информатика. Вып. 6. 1997. С. 79-94.
[3] Ахо А. В., Ульман Д. Д. Теория синтаксического анализа, перевода и компиляции. Т. 1, 2. М.: Мир, 1978.
[4] Схрейвер А. Теория линейного и целочисленного программирования. Т. 1, 2. М.: Мир, 1991.
[5] Корзун Д. Г. Решение одного класса линейных диофантовых уравнений в неотрицательных целых числах методами теории формальных языков // Труды Петрозаводского государственного университета. Сер. Прикладная математика и информатика. Вып. 7. 1998. С. 101-124.
Петрозавозаводский государственный университет,
математический факультет,
185640, Петрозаводск, пр. Ленина, 33