Научная статья на тему 'Алгоритмы построения предбазиса множества решений систем линейных диофантовых ограничений в дискретных областях'

Алгоритмы построения предбазиса множества решений систем линейных диофантовых ограничений в дискретных областях Текст научной статьи по специальности «Математика»

CC BY
145
86
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОГРАММИРОВАНИЕ С ОГРАНИЧЕНИЯМИ / ПРЕДБАЗИС / БАЗИС МНОЖЕСТВА РЕШЕНИЙ / ДИОФАНТОВЫЕ ОГРАНИЧЕНИЯ / ДИСКРЕТНЫЕ ОБЛАСТИ / MINIMAL SUPPORTED SET / BASIS OF SOLUTION SET DIOPHANTINE CONSTRAINTS DISCRETE DOMAINS / CONSTRAINT PROGRAMMING

Аннотация научной статьи по математике, автор научной работы — Крывый Сергей Лукьянович, Гжывач Виолетта

В статье дан обзор результатов, полученных авторами в последние годы в области программирования с ограничениями (Constraint Programming) для языка ограничений линейного типа.

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

The Algorithms for building of minimal supported solution set for systems of linear Diophantine equations over discrete domains

This paper contains the review of the results obtained in the last years in the solution area of systems of linear Diophantine constraints over discrete domains.

Текст научной работы на тему «Алгоритмы построения предбазиса множества решений систем линейных диофантовых ограничений в дискретных областях»

Онлайн-доступ к журналу: http://isu.ru/izvestia

Серия «Математика»

2009. Т. 2, № 2, С. 82-93

УДК 51.681.3

Алгоритмы построения предбазиса множества решений систем линейных диофантовых ограничений в дискретных областях

C. Л. Крывый

Украина, Киев, Киевский национальный университет им. Тараса Шевченка В. Гжывач

Польща, Ченстохов, Ченстоховский политехнический институт

Аннотация. В статье дан обзор результатов, полученных авторами в последние годы в области программирования с ограничениями (Constraint Programming) для языка ограничений линейного типа.

Ключевые слова: предбазис; базис множества решений; диофантовые ограничения; дискретные области, программирование с ограничениями

В данной работе приводится краткий обзор фактов, связанных с решением проблемы выполнимости множества ограничений, а также алгоритмов построения минимального порождающего множества решений и базиса множества решений систем линейных диофантовых уравнений в множестве целых чисел, натуральных чисел, поле и кольце Zm вычетов по модулю простого и составного числа т. Данная работа является продолжением работ [1] - [7]. В основе предлагаемых алгоритмов лежит TSS-метод построения минимального порождающего множества решений систем линейных однородных диофантовых уравнений в множестве натуральных чисел N [1]. К такого рода системам и методам их решений сводятся задачи математических игр [8], криптографии [9], асоциативно-коммутативной унификации [10], распараллеливания циклов [11] и многие другие задачи.

1. Проблема выполнимости системы ограничений

Основным понятием, необходимым для формулировки проблемы выполнимости, являетсят понятие п-арного отношения, заданного на неко-

тором множестве D. Множество всех отношений на D будет обозначаться как Rd .

Языком ограничений L на D называется некоторое непустое множество L С Rd .

Определение 1. Для произвольного множества D и произвольного языка ограничений L на D проблемой выполнимости ограничений CSP(L) является решение такой комбинаторной проблемы [12]:

дано: тройка P = (V, D, C), где

— V - множество переменных;

— C - некоторое множество ограничений {Ci,..., Cq};

— каждое ограничение Ci € C - это пара (si, Ri), где

- si - n-ка переменных длины н, называемая областю ограничения;

- Ri € L - Hi-арное отношение на D, называемое отношением ограничения.

выяснить: существует ли решение ограничения, т. е. существует ли функция р : V ^ D такая, что V(s, R) € C, где s = (vi , ...,vn), n-ка (p(vi),..., p(vn)) € R, и если существует, то какова сложность нахождения этого решения?

Множество D в этом случае называется областью проблемы. Множество всех решений CSP вида P = (V, D, C) обозначается Sol(P). Если множество D является одним из следующих множеств: Z - множество целых чисел, N - натуральных чисел, Zm - кольцом вычетов по модулю составного числа m, Fp - полем вычетов по модулю простого числа р, то множество D в таком случае называется дискретной областью.

Для того, чтобы определить вычислительную сложность CSP необходимо определить каким образом кодируется проблема в виде конечной последовательности символов. Предполагается, что во всех случаях представление выбрано так, что сложность определения того, допускает ли данное ограничение данную n-ку значений переменных из своей области ограничений, является полиномиальной функцией от длины представления. Все сложностные оценки, приводимые ниже, относятся к арифметической модели сложности вычислений.

Определение 2. Язык ограничений L называется легко вычислимым (tractable), если CSP(L;) может быть решена в полиномиальном времени для каждого конечного подмножества L С L.

Язык ограничений L называется NP-полным, если CSP(L;) является NP-полной проблемой для некоторого конечного L С L.

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

Рассмотрим язык линейных ограничений над дискретной областью с легко вычислимым языком ограничений.

2. Язык линейных диофантовых уравнений над кольцом

целых чисел 2

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

Произвольное отношение из Ь^п, а также произвольная проблема С£Р(Ь^п) могут быть представлены некоторой системой линейных уравнений над О. Рассмотрим метод и алгоритмы решения С£Р(Ь^п) над дискретными областями.

Системой линейных диофантовых уравнений (СЛДУ) будем называть систему вида

Ьі(ж) = ацжі + .. . * + &1дXq = &1

Ь2(ж) = &2іЖі + * ■ • * + a2q xq = Ь2 (2.1)

Ьр(ж) — ар1х1 + * ■ • * + apq xq = Ьр

где (Щ, Ьг € 2 (кольцо целых чисел), Хг € Б, где Б = {2, Ж, {0, 1}, Гр, }

- одна из дискретных областей.

Решением СЛДУ называется такой вектор с = (с1, С2,..., Сд), который при подстановке вместо х^ значений с^ в Ь (х) даёт тождества Ьг(с) = Ьг для всех г = 1,2,..., р. СЛДУ называется однородной (СЛОДУ), если все Ьг равны нулю, в противном случае СЛДУ называется неоднородной (СЛНДУ).

Пусть 5 - СЛОДУ и е1 = (1, 0,..., 0, 0), е2 = (0,1,..., 0, 0),..., ед = (0, 0,..., 0,1) единичные векторы из множества Бд, которые называются векторами канонического базиса множества Бд. Введем на множестве Бд отношение порядка ^, которое определяется таким образом: если Х = (х1 ,..., Хд), у = (у1,..., уд) € Бд, то х ^ у тогда и только тогда, когда для всех г = 1,..., д, Хг < уг. Ясно, что это отношение является частичным порядком и относительно этого порядка можно говорить о минимальных элементах в множестве Бд. Очевидно, что наименьшим элементом в множестве Бд есть нулевой вектор.

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

СЛОДУ 5 будем называть несовместной, если множество М состоит только лишь из тривиального решения, в противном случае она будет называться совместной.

Т55-метод решения СЛДУ, о котором дальше будет идти речь, и его реализация для систем уравнений над множеством натуральных чисел подробно описаны в [5, 13]. Суть этого метода состоит в комбинировании соответствующих коэффициентов системы уравнений с целью получения ее решений. Рассмотрим применение этого метода для построения множества решений систем линейных ограничений в кольце целых чисел 2.

Случай линейного однородного диофантового уравнения (ЛОДУ). Пусть дано ЛОДУ

Ь(х) = 01X1 + ... + (гХг + ... + а„х„ = 0, (2.2)

где аг, хг € 2, г = 1,..., п.

Рассмотрим множество векторов Мо = {е1,..., еп} и функцию Ь(х) = 01X1 + 02Х2 + ... + апхп ЛОДУ (2.2). Не ограничивая общности, предположим, что в функции Ь(х) первым ненулевым коэффициентом будет 01 и Й1 > 0. Построим множество векторов

В = {е1 = (—а2, а1, 0,..., 0), е2 = (-аз, 0, а1,0,..., 0), ед-1 =

(—ад, 0,0,..., 0, а1)} и М0,

где М(° = {ег : Ь(ег) = 0}, причем, если аг = 0 и НОД(аг,а1) = 1, то сократим координаты такого вектора на этот НОД. Выбранный ненулевой коэффициент а1 будем называть основным. Таким образом, можно считать, что все векторы в множестве В таковы, что аг и а1 взаимно просты. Иными словами, множество В строится путем комбинирования первого ненулевого коэффициента с остальными ненулевыми коэффициентами, взятыми с противоположными знаками, и пополнения векторами канонического базиса, которые соответствуют нулевым коэффициентам ЛОДУ (2.2). Построенное таким образом множество будем называть Т55-множеством или предбазисом. Очевидно, что векторы из множества В являются решениями ЛОДУ (2.2), а само множество В - замкнуто относительно сложения, вычитания и умножения на элемент из кольца 2.

Лемма 1. Пусть х = (с1, С2,..., сд) - некоторое решение ЛОДУ (2.2), тогда если X € В, то х представляется в виде неотрицательной линейной комбинации вида

а1Х = С2е1 + Сз е2 + ... + Сд ед-1, где ег € В, г = 1,..., д — 1.

Доказательство. Если X = (с1,..., сд) € М, то вектор

С2е1 + Сзе2 + ... + Сдед-1 = (—С2а2 — Сзаз — ... — Сдад, С2а1,..., Сда1) = = (С1а1, С2а1,..., Сда1) = а1(С1, С2,..., Сд) = а1х

в силу того, что х - решение ЛОДУ (2.2), т. е. а1С1 = —а2С2 — азСз —

. . . ад Сд .

Заметим, что если некоторый вектор е- из В является вектором канонического базиса и ^-я координата вектора X равна С-, то в представлении вектора X вектор е- входит с коэффициентом а^-. □

Из доказанной леммы вытекает такое полезное следствие.

Следствие 1. Если среди коэффициентов ЛОДУ имеется хотя бы один коэффициент равный 1, то выбирая его в качестве основного ТББ-метод строит базис В множества всех его решений.

Пример 1. Построить Т55 ЛОДУ

Ь(х) =2х — 3у + г + 0 + V = 0.

Предбазис или Т55 этого ЛОДУ при а1 = 2 имеет вид

81 = (3, 2, 0, 0, 0), 82 = (—1, 0, 2, 0, 0), вз = (—1, 0, 0, 0, 2), ¿4 = (0, 0, 0,1, 0).

Решения ЛОДУ х1 = (1,1,1, 0, 0),х2 = (0,1, 2, 0,1) имеют представления 2х1 = в1 + в2, 2х2 = в1 + 2в2 + вз.

Выбирая в качестве основного третий коэффициент, базис множества всех решений этого ЛОДУ составляют векторы

е1 = (1, 0, —2, 0, 0), е2 = (0,1, 3, 0, 0), ез = (0, 0, —1, 0,1), е4 = (0, 0, 0,1, 0).

В этом базисе векторы Х1 и Х2 имеют представление: Х1 = е1 + е2, Х2 =

е2 + ез.

Случай СЛОДУ. Рассмотрим теперь СЛОДУ

Ь1(х) = ацХ1 + ... + а1пХп = 0,

5 = ; Ь2(х) = а21Х1 + ... + а2пХп = 0, (2 з)

Ьд (х) — ад 1Х1 + ... + адпХп — 0,

где а-, хг € 2, г = 1,..., д, ] = 1,..., п.

Построим предбазис В1 = {е1, е2,..., еЦ—1} для первого уравнения ¿1(х) = 0 и вычислим значения ¿2 (е1) = Ьг, где е1 € В1, Ьг € 2. Составим уравнение

Ь1у1 + ... + Ьгуг + ... + Ьд— 1 уд-1 = 0, (2.4)

и построим для него предбазис В^ = {¿1,..., вд—2}. Векторам ¿г из В^ соответствуют векторы-решения В2 = {е2, . . . , е^—2} СЛОДУ ¿1(х) = 0 Л Ь2(х) = 0.

Лемма 2. Множество векторов составляет предбазис СЛОДУ £і(ж) =0 Л ^(ж) = 0, т. е. любое решение х этой СЛОДУ представляется в виде кж = Ііеі + ... + Ід-2е'2-2, где е2 Є В2, Є 2, і = 1,...,д - 2, к > 1.

Доказательство. Пусть ж - произвольное решение СЛОДУ £і(ж) =

0 Л ^(ж) = 0. Поскольку ж - решение £і(ж) = 0, то в силу леммы 1 ж можно представить в виде

гіж = аіе1 + ... + ад—іе^—і,

где еі Є Ві, йі Є 2, і = 1,..., д — 1. Тогда, в силу того, что ж - решение ¿2(ж) = 0, получаем

Ь2(гіж) = аіЬі + ... + ад-іЬд-і = 0, где 6; = Ь2(еі), ^ = 1,..., д—1. Следовательно, вектор а = (аі,..., ад-і)

- решение ЛОДУ (2.4) и в силу леммы 1 получаем

ка = Й^і + ... + Йд_ 2<§д_ 2,

где Зі Є В,^і Є 2, і = 1,..., д — 2, а к - основной коэффициент этого ЛОДУ. Отсюда следует, что

Ыж = гііе2 + ... + 2е2_ 2,

где е2 Є В2, і = 1,..., д — 2. □

С помощью математической индукции непосредственно из лемм 1 и 2 следует справедливость такой теоремы.

Теорема 1. ТББ СЛОДУ (2.3) В, построенное вышеописанным способом, является предбазисом множества всех решений этой СЛОДУ.

Пример 2. Найдем предбазис для СЛОДУ

£ = Г Ьі(ж) = 2жі — 3ж2 + ж3 + 0ж4 + ж5 =0, \ Ь2(ж) = 2жі + 3ж2 + 0ж3 — ж4 + 2ж5 = 0.

Базис для первого уравнения был построен выше в примере 1:

Ві = {еі = (1, 0, —2, 0, 0), е2 = (0,1, 3, 0, 0), е3 = (0, 0, —1, 0,1), е4 = (0, 0, 0,1, 0)}.

Значения ^(ж) на этих векторах равны соответственно 2, 3, 2, -1. Составляем уравнение 2уі + 3у2 + 2уз — У4 =0 и строим базис множества решений этого ЛОДУ:

В = {«і = (1, 0, 0, 2), в2 = (0,1, 0, 3), 8з = (0, 0,1, 2)}.

Этим векторам соответствуют Т££-векторы (базис)

В2 = {е2 = (1,0, —2,2,0), е2 = (0,1, 3, 3,0), е2 = (0,0, —1,2,1)}.

Принимая во внимание следствие 1, результат теоремы 1 можно усилить путем введения избыточности в предбазис. Это можно сделать на основании того, что значения коэффициентов в уравнении ^і(ж) = аііжі + аі2ж2 + ... + аігажга = 0 взаимно просты. Благодаря этому всегда можно добиться того, чтобы среди значений ^і(ж) была единица. Не ограничивая общности, будем предполагать, что НОД(аіі, аі2, аіз) = 1, т. е. первые три коэффициенты взаимно просты в ^і(ж). Тогда существуют числа гіі,^2, гіз такие, что на векторе у = (^і,^2,^з, 0,..., 0) значение ^і(у) = 1. Добившись этого, вычислим значения ^і(ж) на векторах канонического базиса. Построим предбазис Ві, комбинируя вектор у с остальными векторами для получения предбазиса. Заметим, что векторы из Ві имеют вид

еі = —аиу + еі, е2 = —аі2у + е2, е3 = — аіз у + ез, е4 = —аі4у + е4, . . . , еП = —аіпу + е«о

где Єі - векторы канонического базиса, а^ - коэффициенты в уравнении £і(ж) = 0. В координатной форме векторы еі выглядят следующим образом:

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

e1 — (—йц^і + 1, —011^2, —ац^э, 0 e2 — (—йі2^і, —йі2^2 + 1, — 012^3,0 еЭ — (—йіз^і, —йіз^2, — а^э + 1,0

Є4 — (—йі4^і, —йі4^2, —Й14^3, 1, .

., 0), ., 0), ., 0), >0),

еП — (—aindi, —aind2, —aind3,0,..., 1).

Имеет место

Теорема 2. TSS Bi ЛОДУ Li(x) — 0, построенное вышеописанным способом,, является базисом множества всех решений этого ЛОДУ.

Сложность алгоритма построения базиса пропорциональна величине l3, где l - максимальное из чисел тип, где п - число неизвестных в ЛОДУ, а т - максимальная длина двоичного представления коэффициентов ЛОДУ.

Доказательство. Пусть x — (ci, С2,..., cn) - решение ЛОДУ Li(x) — 0. Тогда вектор x имеет представление

x — Ciei + С2е2 + Сзе'3 + С4е4 + ... + СпеП —

— ([—ciaiidi + ci — C2ai2di — C3ai3di — C4ai4di — ... — cnaindi],

[—Ciaiid2 — C20i2d2 + C2 — C3ai3d2 — C4ai4d2 — ... — Cnflind2 ],

[—ciaiid3 — C2ai2d3 — C3ai3d3 + C3 — C4ai4d3 — ... — CnOind3], C4,..., Cn) —

— (ci, C2 5 C3 , C4 5 ... 5 Cn)

в силу того, что L(x) = ацС1 + ai2c2 + ... + aincn = 0.

Сложность данного алгоритма определяется сложностью расширенного алгоритма Эвклида, находящего вместе с НОД и линейную комбинацию, представляющую этот НОД. Известно (см. [9]), что эта сложность выражается величиной O(m log m), где m - длина двоичной записи максимального из коэффициентов ЛОДУ. Этот алгоритм применяется не более n раз и тогда имеем оценку O(mn log m). Построение базиса Bi требует не более n3 операций. Следовательно, общая оценка временной сложности алгоритма выражается величиной O(l3), где

l = max(m,n). □

Из этой теоремы вытекает такое следствие.

Следствие 2. Временная сложность алгоритма построения базиса множество всех решений СЛОДУ вида (2.3) пропорциональна величине O(ql3), где q - число уравнений СЛОДУ, а l = max(m,n).

Заметим, что первые три вектора el, e2, e3 в базисе Bi линейно зависимы. Действительно, в силу того, что andi +012^2+ai3¿3 = 1, то diei + d2e2 + ¿3e3 = 0. Действительно, используя координатное представление векторов, имеем

die/i + d2e2 + d3e3 = (ai2did2 + ai3did3, —aiidid2, —aiid3, 0,..., 0) + +(—ai2did2, aiidid2 + ai3d2d3, —a12d2d3,0..., 0) +

+(—ai3did3, —ai3d2d3, aiidid3 + ai2d2d3, 0..., 0) = 0.

Таким образом один из векторов ei, e^, e3 можно удалить из полученного базиса решений.

3. Т55-метод решения СЛНДУ

Пусть 5 - СЛНДУ вида (2.1) и = 0. Выполняя элиминацию свободных членов в первых ^ — 1 уравнениях преобразуем исходную СЛНДУ к виду

S' =

L'i(x) = a/11x1 + . . + a1nxn — 0,

L2(x) = a2i^i + . . + a2nxn — 0,

^—1(x) = aq— 11x1 + . . + aq—1nXn — 0,

Lq (x) — aq1x1 + . . + = bq

(3.1)

Построим базис множества решений СЛОДУ, состоящей из д — 1 первых уравнений системы (3.1). Пусть это будут векторы {«і,..., }.

Найдем значения («^) = а^-, і = 1,..., к. Для этих значений верна

Теорема 3. СЛНДУ вида (3.1) (а вместе с ней и СЛНДУ (2.1)) совместна тогда и только тогда, когда ЛНДУ а1У1 + + • • • + а:У: =

имеет хотя бы одно решение в множестве целых чисел.

Доказательство. Если уравнение а1У1 + а2У2 + • • • + а:У: = имеет решение (С1, С2, • • • , С:), то очевидно, что вектор в = С1$1 + С2в2 + • • ^+6:в^

- решение СЛНДУ.

Если СЛНДУ совместна и в = (&1, к2, • • •, кп) ее решение, то представим в в виде линейной комбинации через базисные векторы подсистемы, состоящей из первых ^ — 1 однородных уравнений системы (3.1), т. е.

в = С1в1 + С2в2 + • • • + С:в:.

Тогда (в) = С1а1 + С2Й2 + • • • + С:в& = должно иметь ходя бы одно решение, поскольку в решение СЛНДУ. □

:

Известно, что общее решение СЛНДУ имеет вид У = X +$^ йгХг, где

г=1

X - частное решение СЛНДУ, х^ - базисные решения соответствующей СЛОДУ, а - произвольные целые числа, а к - количество базисных решений. Таким образом, для полного решения СЛНДУ необходимо построить базис множества решений ее СЛОДУ и найти одно из решений СЛНДУ. Поиск такого решения, как следует из вышеизложенного, сводится к поиску решения уравнения а1У1 + а2У2 + • • • + а:У: = . Это

решение можно найти, например, методом наименьшего коэффициента.

Пример 3. Проверить на совместность СЛНДУ

5 = Г Ь1(х) = 2х1 — 3х2 + х3 + х4 + 0х5 = 1,

\ ¿2(х) = 3х1 + х2 + х3 + 0х4 — х5 = —2^

Преобразованная СЛНДУ имеет вид

£, Г ^1(х) = 7х1 — 5х2 + 3х3 + 2х4 — х5 = 0,

\ ¿2(х) = 3х1 + х2 + х3 + 0х4 — х5 = —2^

Базис ЛОДУ ¿1 (х) = 0 составляют векторы (здесь не нужно вычислять НОД коэффициентов, поскольку имеется коэффициент равный 1):

(1, 0, 0, 0, 7), (0,1, 0, 0, —5), (0, 0,1, 0, 3), (0, 0, 0,1, 2).

Значения ¿2(х) на этих векторах равны -4, 6, -2, -2. Наибольший общий делитель этих значений равен 2 и является делителем свободного члена &2 = —2. Следовательно, СЛНДУ имеет решение, т. е. совместна.

Частным решением данной СЛНДУ является вектор е = (0, 0, 0,1, 2), а решениями соответствующей СЛОДУ - векторы е1 = (1, 0, 0, —2, 3), е2 = (0, 0,1, —1,1), ез = (0,1, 0, 3,1). Тогда общее решение записывается

в виде X = е + С1в1 + С2е2 + Сзбз, где С1,С2,Сз - произвольные целые числа.

Если дана система

д/ Г ^(х) = 7х1 — 5х2 + 3х3 + 2х4 — х5 = 0, \ Ь2(х) = 3х1 + х2 + х3 + 0х4 — х5 = —3,

то она решений не имеет в кольце целых чисел, поскольку НОД(-4, 6, -2, -2) = 2 не делит свободный член -3 и поэтому уравнение —4х + 6у — 2^ — 2и = —3 не имеет решений.

Подводит итог всему сказанному выше следующее утверждение.

Теорема 4. Язык линейных диофантовых уравнений над кольцом целых чисел И является легко вычислимым в арифметической модели сложности вычислений.

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

Приведем краткие сведения о сложности алгоритмов решения С£Р в дискретных областях, отличных от области целых чисел 2. В связи с ограниченным объёмом статьи, представим соответствующие результаты с помощью следующей таблицы:

Дискретная область Сложность Ссылки

N № [3, 4, 5]

№ [7]

РР Р [6]

2 Р -

Относительно области - кольца вычетов по модулю т - заметим, что если имеется разложение модуля т на простые множители, то сложность решение С£Р в этой области принадлежит класу полиномиальной сложности.

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

Отметим также, что при малых значениях модуля р сложностью вычисления НОД в полях и кольцах вычетов можно пренебречь и тогда оценка алгоритмов решения систем в таких полях упрощается. Так, например, в поле ^2, которое часто встречается в приложениях, необходимость вычисления НОД вообще отпадает, поэтому сложность решения

СЛОДУ и СЛНДУ в таком поле становится пропорциональна величине qn 2, где q - число уравнении, а n - число неизвестных в системе.

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

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

1. Крывый С. Л. Критерий совместности систем линейных диофантовых уравнений над множеством натуральных чисел. / С.Л. Крывый // Доклады НАНУ. - 1999. - N 5. - С. 107 - 112.

2. Крывый С.Л. О некоторых методах решения и критериях совместности систем линейных диофантовых уравнений в области натуральных чисел. / С.Л. Крывый //ж. Кибернетика и системный анализ. — 1999. — N 4. — С. 12 - 36.

3. Крывый С.Л., Гжывач В., Хайдер Л. Алгоритм построения базиса множества решений СЛОДУ в множестве {0,1}. / С.Л. Крывый, В. Гжывач, Л. Хайдер // Тезисы межд. конф. "Алгебра, логика, кибернетика". — Иркутск. — 2004 (август). — С. 167 -169.

4. Kryvyi S., Matveeva L., Grzywac W. Algorithms for Building of the Minimal Supported Set of Solutions of HSLDI over the set of natural numbers. / S. Kryvyi, L. Matveeva, W. Grzywac // In Proc. Intern. Conf. "Concurent Systems and Programming". — Warszawa. — 2005 (september). — P. 281 - 290.

5. Крывый С. Л. Алгоритмы решения систем линейных диофантовых уравнений в целочисленных областях. / С. Л. Крывый // Кибернетика и системный анализ. — 2006. — N 2. — С. 3 - 17.

6. Крывый С. Л. Алгоритмы решения систем линейных диофантовы уравнений в полях вычетов. / С. Л. Крывый // Там же. — 2007. — N 2. — С. 15 - 23.

7. Крывый С. Л. Алгоритмы решения систем линейных диофантовы уравнений в кольцах вычетов. / С. Л. Крывый // Там же. — 2007. — N 5. — С. 36 - 43.

8. Донец Г. А. Решение задачи о сейфе на (0,1)-матрицах. / Г. А. Донец // Там же. — 2002. — N 1. — С. 98 - 105.

9. Черемушкин А. В. Лекции по арифметическим алгоритмам в криптографии. / А. В. Черемушкин // Москва: МЦНМО. — 2002. — 103 с.

10. Baader F., Ziekmann J. Unification theory / F. Baader, J. Ziekman, // Handbook of Logic in Artificial Intelligence and Logic Programming. — Oxford University Press. — 1994. - -P. 1 - 85.

11. Allen R., Kennedy K. Automatic translation of FORTRAN program to vector form / R. Allen, K. Kennedy // ACM Transactions on Programming Languages and systems. — 1987. — v. 9, N4. — P. 491 - 542.

12. Creignou N., Khanna S., Sudan M. Complexity Classification of Boolean Constraint Satisfaction Problems. / N. Creignou, S. Khanna, M. Sudan. // SIAM Monographs on Discrete Mathematics and Applications: Society for Industrial and Applied Mathematics. Philadelphia. PA. — 2001. — v. 7. — 347 p.

13. Чугаенко А.В. О реализации TSS-алгоритма. / А. Чугаенко // ж. Управляющие системы и машины. — 2007. — N 3. — С. 27 - 33. 14 - 26.

S. Kryvyi, W. Grzywac

The Algorithms for building of minimal supported solution set for systems of linear Diophantine equations over discrete domains

Abstract. This paper contains the review of the results obtained in the last years in the solution area of systems of linear Diophantine constraints over discrete domains.

Keywords: minimal supported set, basis of solution set; Diophantine constraints; discrete domains, constraint programming

Крывый Сергей Лукьянович, доктор физико-математических наук, профессор, Киевский национальный университет им. Т. Шевченко, Украина, 03187, Киев, просп. акад. Глушкова, 2,

тел.: (044)5223433, (krivoi@i.com.ua)

Гжывач Виолетта, асистент, Ченстоховский политехнический институт, факультет прикладной и теоретической информатики, Польща, Ченстохов, ул. Дамбровского, 73,

тел.: (+48-034)3250589, (wiola@icis.pcz.pl)

Kryvyi Sergii, Taras Shevchenko’s University in Kiev, Ukraine, Kiev, Glushkov’s prospekt, 2, professor,

Phone: (044)5223433, (krivoi@i.com.ua)

Grzywac Wioletta, Politechnical Institute of Chestochowa, Poland, Czestochowa, st. Dambrowskiego, 73, asistent,

Phone: (+38-034)3250589, (wiola@icis.pcz.pl)

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