Научная статья на тему 'АЛГОРИТМЫ РЕШЕНИЯ СИСТЕМ УРАВНЕНИЙ НАД РАЗЛИЧНЫМИ КЛАССАМИ КОНЕЧНЫХ ГРАФОВ'

АЛГОРИТМЫ РЕШЕНИЯ СИСТЕМ УРАВНЕНИЙ НАД РАЗЛИЧНЫМИ КЛАССАМИ КОНЕЧНЫХ ГРАФОВ Текст научной статьи по специальности «Математика»

CC BY
121
12
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
ГРАФ / СИСТЕМА УРАВНЕНИЙ / ВЫЧИСЛИТЕЛЬНАЯ СЛОЖНОСТЬ

Аннотация научной статьи по математике, автор научной работы — Ильев Артём Викторович, Ильев Виктор Петрович

Целью работы является исследование и решение конечных систем уравнений над конечными неориентированными графами. Уравнениями над графами называются атомарные формулы языка L, состоящего из множества констант (вершин графа), бинарного предиката смежности вершин и предиката равенства. Доказано, что задача проверки совместности системы уравнений S от k переменных над произвольным обыкновенным n-вершинным графом Г является NP-полной. Подсчитана вычислительная сложность процедуры проверки совместности системы уравнений S над обыкновенным графом Г и процедуры нахождения общего решения этой системы. Вычислительная сложность алгоритма решения системы уравнений S от k переменных над произвольным обыкновенным n-вершинным графом Г, включающего эти процедуры, составляет O(k2nk/2+1(k+n)2) при n ≥ 3. Выделены полиномиально разрешимые случаи: системы уравнений над деревьями, лесами, двудольными и полными двудольными графами, для решения которых предложены полиномиальные алгоритмы трудоёмкости O(k2n(k + n)2).

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

ALGORITHMS FOR SOLVING SYSTEMS OF EQUATIONS OVER VARIOUS CLASSES OF FINITE GRAPHS

The aim of the paper is to study and to solve finite systems of equations over finite undirected graphs. Equations over graphs are atomic formulas of the language L consisting of the set of constants (graph vertices), the binary vertex adjacency predicate and the equality predicate. It is proved that the problem of checking compatibility of a system of equations S with k variables over an arbitrary simple n-vertex graph Г is NP-complete. The computational complexity of the procedure for checking compatibility of a system of equations S over a simple graph Г and the procedure for finding a general solution of this system is calculated. The computational complexity of the algorithm for solving a system of equations S with k variables over an arbitrary simple n-vertex graph Г involving these procedures is O(k2nk/2+1(k + n)2) for n ≥ 3. Polynomially solvable cases are distinguished: systems of equations over trees, forests, bipartite and complete bipartite graphs. Polynomial time algorithms for solving these systems with running time O(k2n(k + n)2) are proposed.

Текст научной работы на тему «АЛГОРИТМЫ РЕШЕНИЯ СИСТЕМ УРАВНЕНИЙ НАД РАЗЛИЧНЫМИ КЛАССАМИ КОНЕЧНЫХ ГРАФОВ»

2021 Прикладная теория графов №53

ПРИКЛАДНАЯ ТЕОРИЯ ГРАФОВ

УДК 510.52, 510.67, 519.17

АЛГОРИТМЫ РЕШЕНИЯ СИСТЕМ УРАВНЕНИЙ НАД РАЗЛИЧНЫМИ КЛАССАМИ КОНЕЧНЫХ ГРАФОВ1

А. В. Ильев*, В. П. Ильев**

* Институт математики им. С. Л. Соболева СО РАН, г. Омск, Россия, ** Омский государственный университет им. Ф. М. Достоевского, г. Омск, Россия

Целью работы является исследование и решение конечных систем уравнений над конечными неориентированными графами. Уравнениями над графами называются атомарные формулы языка L, состоящего из множества констант (вершин графа), бинарного предиката смежности вершин и предиката равенства. Доказано, что задача проверки совместности системы уравнений S от k переменных над произвольным обыкновенным n-вершинным графом Г является NP-полной. Подсчитана вычислительная сложность процедуры проверки совместности системы уравнений S над обыкновенным графом Г и процедуры нахождения общего решения этой системы. Вычислительная сложность алгоритма решения системы уравнений S от k переменных над произвольным обыкновенным n-вершинным графом Г, включающего эти процедуры, составляет O(k2nk/2+1(k+n)2) при n ^ 3. Выделены полиномиально разрешимые случаи: системы уравнений над деревьями, лесами, двудольными и полными двудольными графами, для решения которых предложены полиномиальные алгоритмы трудоёмкости O(k2n(k + n)2).

Ключевые слова: граф, система уравнений, вычислительная сложность. DOI 10.17223/20710410/53/6

ALGORITHMS FOR SOLVING SYSTEMS OF EQUATIONS OVER VARIOUS CLASSES OF FINITE GRAPHS

A. V. Il'ev*, V. P. Il'ev**

*Sobolev Institute of Mathematics SB RAS, Omsk, Russia **Dostoevsky Omsk State University, Omsk, Russia

E-mail: artyom_iljev@mail.ru, iljev@mail.ru

The aim of the paper is to study and to solve finite systems of equations over finite undirected graphs. Equations over graphs are atomic formulas of the language L consisting of the set of constants (graph vertices), the binary vertex adjacency predicate and the equality predicate. It is proved that the problem of checking compatibility of a system of equations S with k variables over an arbitrary simple n-vertex graph Г is NP-complete. The computational complexity of the procedure for checking compatibility of a system of equations S over a simple graph Г and the procedure for finding a general solution of this system is calculated. The computational complexity

1 Работа первого автора поддержана грантом РНФ №19-11-00209.

of the algorithm for solving a system of equations S with k variables over an arbitrary simple n-vertex graph Г involving these procedures is O(k2nk/2+1(k + n)2) for n ^ 3. Polynomially solvable cases are distinguished: systems of equations over trees, forests, bipartite and complete bipartite graphs. Polynomial time algorithms for solving these systems with running time O(k2n(k + n)2) are proposed.

Keywords: graph, system of equations, computational complexity.

Введение

Традиционным направлением исследований в алгебраической геометрии является решение систем уравнений над вещественными, комплексными, рациональными и целыми числами. Различным алгоритмическим проблемам, связанным с решением систем уравнений, посвящены многочисленные теоретические и практические исследования. Как правило, такие проблемы оказываются либо неразрешимыми, либо разрешимыми, но вычислительно трудными. К числу неразрешимых проблем относится проблема решения полиномиальных уравнений над кольцом целых чисел [1]. Среди разрешимых проблем, имеющих экспоненциальную сложность, можно выделить арифметику Пресбургера [2], проблему решения систем полиномиальных уравнений над полями комплексных и вещественных чисел [3] и проблему решения систем полиномиальных уравнений над конечными полями, которая эквивалентна NP-полной проблеме выполнимости булевых формул [4].

В последние годы в алгебраической геометрии активно развивается направление исследований, в рамках которого изучаются системы уравнений над произвольными алгебраическими системами, где уравнениями являются атомарные формулы языка алгебраической системы [5]. И здесь также естественным образом возникают вопросы разрешимости и вычислительной сложности алгоритмических проблем. Например, доказано, что проблема совместности систем уравнений над конечными частично упорядоченными множествами является NP-полной в том случае, когда проверяется существование решения, состоящего из попарно различных элементов частично упорядоченного множества [6], или что экзистенциальная теория класса всех конечных полей является NP-трудной, а универсальная теория этого класса — co-NP-трудной [7].

Многие алгоритмические проблемы связаны с проблемами разрешимости универсальных теорий различных классов алгебраических систем, изучение которых представляет значительный интерес в алгебраической геометрии. Для обыкновенных графов, являющихся важнейшими математическими объектами и используемых при решении большого числа практически важных задач оптимизации, вопросы разрешимости универсальных теорий подробно изучены в [8]. В свою очередь, эти вопросы имеют тесную связь с решением систем уравнений над конечными графами. Проверка принадлежности графа некоторому классу входит в качестве процедуры в алгоритмы, устанавливающие разрешимость универсальных теорий наследственных классов графов. Такая процедура может быть оформлена в виде решения конечной серии систем уравнений над графами.

В [9] предложены процедуры решения следующих задач:

1) проверка совместности системы уравнений S над конечным графом;

2) вычисление радикала системы S;

3) построение координатного графа системы S.

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

В настоящей работе доказано, что задача проверки совместности системы уравнений над произвольным конечным обыкновенным графом является ^Р-полной. Выделены полиномиально разрешимые случаи: системы уравнений над деревьями, лесами, двудольными и полными двудольными графами. Конструктивно улучшена процедура проверки совместности системы уравнений Б от к переменных над произвольным п-вершинным графом Г и подобраны структуры данных, позволяющие реализовать все процедуры алгоритма решения системы уравнений Б над графом Г на ЭВМ. Подсчитана вычислительная сложность этого алгоритма, которая составляет 0(к2пк/2+1(к + п)2) при п ^ 3. Кроме того, предложены полиномиальные процедуры проверки совместности систем уравнений и нахождения их общего решения для класса двудольных графов, в который входят также деревья и леса, и класса полных двудольных графов. Доказано, что вычислительная сложность алгоритмов решения систем уравнений над двудольными и полными двудольными графами составляет 0(к2п(к + п)2).

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

Граф — это пара Г = (V, Е), где V — непустое множество элементов, называемых вершинами; Е — множество неупорядоченных пар различных элементов из V, называемых рёбрами. Если (и, у) € Е, то вершины и и V называются смежными. Граф конечен, если множество его вершин конечно, и счётно бесконечен, если множество его вершин счётно бесконечно. В данной работе рассматриваются только конечные обыкновенные графы, т. е. графы, не содержащие петель и кратных рёбер.

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

Теперь дадим определение графа как алгебраической системы.

Граф — это алгебраическая система Г = (V, Ь), носитель которой V — непустое не более чем счётное множество, а язык Ь = {Е(х, у) и (х = у) и С} состоит из множества констант С С V, бинарного предиката смежности вершин и предиката равенства, причём предикат смежности Е(х,у) является иррефлексивным и симметричным, т.е. удовлетворяет условиям:

1) Ух (—Е(х,х)) (иррефлексивность);

2) УхУу (Е(х,у) ^ Е(у,х)) (симметричность).

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

Пусть Г = (V, Ь) —фиксированный обыкновенный граф, X — конечное множество переменных. Множество ТЦХ) термов языка Ь от переменных из множества X состоит из всех переменных х € X и всех констант С. Множество АЬ^(Х) атомарных формул языка Ь от переменных из множества X состоит из всех формул вида t1 = ¿2 и Е), где € Т^^). Атомарные формулы называются уравнениями языка, а произвольные подмножества Б С AtL(X) — системами уравнений языка Ь. В данной

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

Любая система уравнений Б от к переменных над фиксированным обыкновенным графом определяет в аффинном к-мерном пространстве Vк множество своих решений Уг(£) = {V € Vк : Г = Б(V)}, которое называется алгебраическим множеством. Если Ур(Б) = 0, то система уравнений Б несовместна над Г; иначе она является совместной. Две системы уравнений Б и Б2 называются эквивалентными над Г, если Уг (51) = Уг(Б2). Для любой системы уравнений Б над Г существует единственная эквивалентная ей максимальная система уравнений над Г, которая называется радикалом системы Б и обозначается ИаЛр(Б). Если система Б несовместна над Г, то ИаЛ^Б) = А£Ь(Х).

Роль координатного графа ССр (Б) системы уравнений Б аналогична роли общего решения системы линейных уравнений над полем в линейной алгебре. Координатный граф однозначно определяется радикалом ИаЛГ(Б) следующим образом.

Отношение в$ на множестве термов ТЦХ), заданное по правилу

¿1 ~в3 ¿2 ^ (¿1 = ¿2) € Иааг(Б), € Ть(Х),

является отношением эквивалентности, а константные и предикатные символы языка Ь интерпретируются на фактор-множестве ТЦХ)/вs следующим образом:

1) с/в^ = с для любого символа с € С;

2) Е(¿1/в5,*2/в5) = и ^ Е(¿ь*2) € Яаар(Б).

Построенный на фактор-множестве ТЦХ)/в^ граф ССГ(Б) называется координатным графом алгебраического множества Уг(Б). Если система Б несовместна над Г, то ССр(Б) является тривиальной системой Е, т.е. графом, состоящим из единственной вершины и петли.

Следует отметить, что введённые отношение эквивалентности вs и определение координатного графа являются частными случаями обобщённых понятий конгруэнции и фактор-системы, предложенных В. А. Горбуновым и В. И. Тумановым [10].

2. Процедура проверки совместности системы уравнений в общем случае

Пусть Г = (V(Г), Е(Г)) — обыкновенный граф с п вершинами ,... , Б — конечная система уравнений над Г от переменных из множества X = {х1,... , Хк}.

Теорема 1. Задача проверки совместности системы уравнений Б над произвольным конечным графом Г является -полной задачей.

Доказательство. Достаточно показать, что к задаче проверки совместности системы уравнений Б над конечным графом Г полиномиально сводится какая-нибудь другая ^Р-полная задача распознавания [11], например распознавательный вариант задачи о клике.

Задача о клике. Дан п-вершинный граф Г = (V, Е) и натуральное число к ^ п. Существует ли в графе Г клика размера, не меньшего к, т. е. такое множество V' С V, что (и, V) € Е для любых и, V € V' и | V'| ^ к?

Для ответа на поставленный вопрос нужно определить, совместна ли над графом Г система уравнений Б = {Е(х^х^) : г,] € {1,... , к}, г < .

Таким образом, задача проверки совместности системы уравнений Б над конечным графом Г является ^Р-полной. ■

Следствие 1. Если Р = ^Р, то не существует полиномиального алгоритма проверки совместности системы уравнений Б над произвольным конечным графом Г.

2.1. Процедура проверки совместности системы уравнений Б над произвольным конечным графом Ранее А. В. Ильевым и В. Н. Ремесленниковым была предложена процедура проверки совместности системы уравнений Б над конечным графом Г [9]. Мы приведём её конструктивно улучшенный вариант без каких-либо существенных и структурных изменений. Важным предварительным шагом для работы этой процедуры является нахождение информационной базы системы уравнений Б.

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

1) X = {х1,... , хк} — множество переменных, Б = {в1,... , з} — множество уравнений с переменными из X; к, / —числовые параметры.

2) Ж^... , Жк — подмножества V(Г); Ж, состоит из вершин графа Г, которые содержатся в записи уравнений вида Е (х,,у) системы Б; а, = |Ж,| —числовые параметры, г = 1,..., к.

3) Ж1,... , Ж;1 — подмножества V(Г); Ж,1 состоит из вершин графа Г, которые смежны с каждой из вершин множества Wi (если Ж, = 0, то по определению полагаем Ж,1 = V(Г)); в, = — числовые параметры, г = 1,..., к.

4) Ж111,...,Жк11 — подмножества V(Г); Ж,11 = (Ж,1)1; И = 1ЖИ —числовые параметры, причём 7, ^ а, для любых г = 1,... , к.

Если в информационной базе хотя бы одно из чисел в, равно нулю при а, = 0, то информационная база является несогласованной, а система Б несовместна над Г.

Поскольку случай п =1 тривиальный, а при п = 2 обыкновенный граф Г является двудольным и для проверки совместности системы уравнений Б над ним уместно использовать полиномиальную процедуру 1.1 из п. 3.1, то всюду далее предполагается, что п ^ 3.

Процедура 1. Данная процедура строит классы эквивалентности У (^), где ti — переменная х, либо константа V,, и преобразует систему уравнений Б в эквивалентную систему Б на графе Г. В начале работы процедуры каждое множество У состоит только из одного терма и, а система Б совпадает с Б.

В процессе работы процедура использует следующие структуры данных:

— Граф Г представлен в виде матрицы смежности А = (а^) размера п х п, состоящей из нулей и единиц.

— Каждому типу уравнений отвечает своя матрица, состоящая из нулей и единиц, в которой единицами отмечены соответствующие уравнения. Равенства вида х, = Xj записаны в виде матрицы размера к х к, равенства х, = у —в виде матрицы размера к х п, а равенства V, = у —в виде матрицы размера п х п. Матрицы, соответствующие уравнениям вида Е(ti,tj), выглядят аналогично.

— Семейства множеств {Ж,} и {Ж,1}, также записаны в виде матриц Ж и Ж1, состоящих из нулей и единиц, размера к х п. Строками этих матриц являются характеристические векторы множеств Ж, и Ж,1 .

— Классы эквивалентности У хранятся в виде списков термов. Изначально количество таких списков к + п, а терм ti — первый и единственный элемент в каждом списке. В дальнейшем при работе процедуры количество списков может сокращаться, при этом длина каждого из них ограничена значением к + п.

Ш!аг 0. Производится заполнение матриц Ш и Ш± и построение классов эквивалентности У (¿¿). Матрица Ш сначала совпадает с матрицей, соответствующей уравнениям вида Е(х^,^). Чтобы заполнить матрицу W±, нужно для каждого её элемента перемножить элементы матрицы А графа Г из тех строк, которые соответствуют вершинам из множеств Ш^, т. е. в матрице Ш^ каждый элемент определяется по формуле = П ат?. Если хотя бы одна из строк матрицы Ш^ состоит только из нулей,

т: vmeWi

то исходная система Б несовместна над Г и процедура завершает свою работу.

Ш!аг 1. Для каждого равенства ^ = из Б процедура объединяет множества У(¿р) и У), содержащие термы ti и tj. Полученное множество обозначается У (¿т), где ¿т — константа с наименьшим номером, а при её отсутствии — переменная с наименьшим номером из множества У (¿р) и У ). Равенство ^ = при этом удаляется из Б.

ШШаг 2. Процедура последовательно просматривает все множества У (¿).

1) Если существует множество У (¿), в котором содержатся две различные константы vi и Vj, то исходная система Б несовместна над Г.

2) Если в множестве У (¿) содержится только одна константа V? и при этом

Р| П {V?} = 0, то исходная система Б несовместна над Г.

V: Х4еУ(4)

3) Если множество У (¿) не содержит констант V?, но при этом Р| = 0, то

V: Х4еу(4)

исходная система Б несовместна над Г. В каждом из случаев 1-3 процедура завершает работу.

4) Если в множестве У (¿) содержится только одна константа V? и при этом

Р| Ш^1 П {V?} = {V?}, то во всех уравнениях Б каждая переменная xi € У (¿)

V: Х4еу(4)

заменяется на V? и для каждой из них множество переопределяется следующим образом: := {V?}.

5) Если множество У (¿) не содержит констант, но при этом Р| = {V?},

V: Х4еу(4)

то во всех уравнениях Б каждая переменная XV € У (¿) заменяется на V? ив Б добавляются равенства XV = V?.

6) Если множество У (¿) не содержит констант и при этом Р| > 1, то

V: Х4еу(4)

алгоритм выбирает переменную х? € У (¿) с наименьшим номером и во всех уравнениях Б заменяет все остальные переменные из У (¿) на х?.

ШШаг 3. Процедура просматривает уравнения ).

1) Если в Б имеются уравнения Е(х^ х^ либо ЕV?), такие, что (vi, V?) € Е(Г), то исходная система Б несовместна над Г и процедура заканчивает работу. В противном случае уравнения Е(vi,vj) удаляются из системы Б.

2) Для каждой переменной, входящей в уравнения вида Е(х^?), процедура ищет элемент V? в множестве Если такой элемент не найден, т. е. уравнение Е (х^^?) было получено на шаге 2, то процедура переопределяет множества Ш и следующим образом: Ш := Ш и {V?} и Ш^1 := П {V?}х, где множество {V?состоит из всех вершин графа Г, смежных с V?. Если получили

= 0, то исходная система Б несовместна над Г; если = ^т}, то в Б добавляется равенство xi = vm.

Если после выполнения шага 3 в S осталось хотя бы одно равенство, то процедура возвращается на шаг 1; если в S равенств нет, но есть уравнения вида E(Xj,Xj), то процедура переходит на шаг 4. В противном случае процедура завершает работу.

Шаг 4. Процедура просматривает уравнения E(xj,xj).

1) Процедура ищет минимальное доминирующее множество в графе H = (VX, Ex ), где VX —множество переменных, входящих в запись уравнений E(Xj, Xj), а множество рёбер Ex определяется этими уравнениями. Напомним, что подмножество V' С V вершин графа (V, E) называется доминирующим, если каждая вершина из V \ V' смежна по крайней мере с одной вершиной из V'. Для поиска минимального доминирующего множества можно использовать любые известные алгоритмы, имеющие трудоёмкость не хуже, чем O(3|Vx|/2), например, предложенные в [12, 13]. Найденное доминирующее множество обозначим X'. Без ограничения общности можно считать, что X' = {x-,...,xp}. Несложно заметить, что p ^ к/2.

2) Далее рассматриваются всевозможные наборы вида (v1q,v2q,...,vpq), где

G Wj4 Всего таких наборов IW^I ■ ■ ... ■ |Wp-| ^ np. Для каждого такого

набора составляется система уравнений

Sq = S U ( U (xj = j))

Vj=1 /

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

с собственной информационной базой, включающей свои множества Wiq и W^. Каждая такая система проверяется на совместность, т.е. для неё выполняются шаги 1-3 процедуры. Если все системы Sq окажутся несовместными над Г, то система S тоже несовместна над Г и процедура завершает работу.

3) В случае, когда некоторые системы уравнений Sm из множества {Sq} окажутся совместными над графом Г, система уравнений S U (П Sm) эквивалентна ис-

m

ходной системе S, где Sm — системы уравнений, полученные после выполнения шагов 1-3 процедуры для совместных систем Sm. В этом случае происходит доопределение системы S вместе с множествами Wj и W(L следующим образом: S := S U (ПSm), W := Wj U (f| Wm) и W± := W± U (f| W^). Заметим, что

m m m

системы Sm могут состоять только из уравнений вида E(xj,Vj).

4) Кроме того, если некоторые классы эквивалентности Y(t) объединялись в каждой совместной системе Sm, то эти классы эквивалентности объединяются и в системе S. Для этого составляются специальные матрицы Y' = (yj) размера к х к и Y'' = (y'j) размера к х n, изначально заполненные единицами. Затем для каждой системы Sm данные матрицы преобразуются следующим образом. Элемент yj сохраняет свое текущее значение, если равенство Xj = Xj имеет место в системе Sm, и yj := 0 в противном случае. Аналогично элемент y'j сохраняет свое текущее значение, если равенство Xj = vj имеет место в системе Sm, и y'j := 0 в противном случае. В итоге матрицы Y' и Y'' будут содержать информацию обо всех равенствах вида Xj = Xj и Xj = vj, имевших место в любой совместной системе Sm. Далее для каждого равенства, определяемого этими матрицами, происходит объединение соответствующих классов экивалентности системы S.

После прохождения шагов 0-4 процедура завершает работу. В результате система S состоит только из уравнений вида E(¿¿,tj).

2.2. Корректность процедуры проверки совместности

с и с т е м ы у р а в н е н и й Б в о б ще м с л у ч ае

Доказательство следующей теоремы приведено в [9]. Для полноты картины воспроизведём его здесь.

Теорема 2. Процедура 1 корректно проверяет систему уравнений Б на совместность.

Доказательство. Прежде всего докажем, что система уравнений Б, построенная процедурой 1, эквивалентна Б.

По окончании шага 1 это очевидно.

Этапы 4 и 5 шага 2 означают, что только V? является вершиной графа Г, которая может быть значением переменных из класса У (¿). Поэтому замена каждой из этих переменных на V? сохраняет эквивалентность системы уравнений Б исходной системе над Г.

Этап 6 шага 2 означает, что множество значений переменных из класса У (¿) непусто, и потому замена каждой из этих переменных на х? сохраняет эквивалентность системы уравнений Б исходной системе Б над Г.

На этапе 2 шага 3 уточняется множество значений переменной xi на графе Г, и если оно состоит только из одной вершины V?, то добавление в Б уравнения xi = V? сохраняет эквивалентность системы уравнений Б исходной системе Б над Г.

На шаге 4 осуществляется переход от системы уравнений Б, содержащей уравнения с двумя переменными Е(х^х?), к системам уравнений Б9, таким, что Б эквивалентна объединению и Б9 над графом Г. Если в каждую совместную систему Бт из мно-

9

жества {Б9} после её преобразования в систему Бт попадут какие-либо уравнения, не содержащиеся в Б, то добавление этих уравнений в Б сохранит эквивалентность системы уравнений Б исходной системе Б над графом Г. Если в процессе проверки совместности каждой системы Бт происходило объединение одних и тех же классов эквивалентности У(¿), то эти классы эквивалентности должны быть объединены и в системе Б.

Очевидно, что для любой переменной xi множество её значений содержится в Ш^. Несовместность системы Б, устанавливаемая на этапе 1 шага 2, следует из попадания двух констант vi и V? в один класс эквивалентности, что противоречит условию попарного различия всех вершин графа. Несовместность системы Б, устанавливаемая на этапах 2 и 3 шага 2, следует из того, что никакая вершина графа Г не может быть значением переменной xi из класса эквивалентности У (¿).

Несовместность системы Б, устанавливаемая на этапе 1 шага 3, следует из отсутствия в графе Г петель и возможного отсутствия рёбер V?), существование которых вытекает из уравнений системы Б. Несовместность системы Б, устанавливаемая на этапе 2 шага 3, следует из того, что переменной xi не могут быть присвоены никакие значения на графе Г.

Несовместность системы Б, устанавливаемая на шаге 4 процедуры, следует из того, что переменным из доминирующего множества X' не могут быть всем одновременно присвоены никакие конкретные значения на графе Г. ■

2.3. Трудоёмкость процедуры проверки совместности

с и с т е м ы у р а в н е н и й Б в о б ще м с л у ч ае

Теорема 3. Трудоёмкость процедуры 1 составляет 0(к2пк/2+1(к + п)2).

Доказательство. Распишем вычислительную сложность процедуры 1 по шагам:

Сложность шага 0 составляет О(кп + кп2), или, что то же, О(кп2).

Сложность шага 1 — О(к2 + п2 + кп), или, что то же, О((к + п)2).

Сложность этапа 1 шага 2 в худшем случае составляет О ((к + п)2).

Сложность этапов 2 и 3 шага 2 — О ((к + п)(к + п + кп)), или, что то же, О(кп(к + п)).

Сложность этапов 4-6 шага или, что то же, О(к(к+п)2).

Таким образом, трудоёмкость шага 2 составляет О(к(к + п)2).

Сложность этапа 1 шага 3 составляет О (к + п2).

Сложность этапа 2 шага 3 — О(кп + кп2), или, что то же, О(кп2).

Таким образом, трудоёмкость всех шагов 1-3 процедуры за одну итерацию составляет О(к(к + п)2).

Поскольку шаги 1-3 могут быть повторены для каждого из кп возможных равенств xi = V?, то общая вычислительная сложность их прохождения в худшем случае составляет О(к2п(к + п)2).

Сложность этапа 1 шага 4 в худшем случае составляет О(3й/2), что не хуже, чем О(пй/2) при п ^ 3.

Поскольку на этапе 2 шага 4 количество всевозможных комбинаций , v2q,... , Vpq) при р ^ к/2 и д ^ п в худшем случае равно пй/2 и для каждой полученной новой системы уравнений Б9 осуществляется прохождение шагов 1-3, то сложность этапа 2 шага 4 составляет О(к2пй/2+1(к + п)2).

Сложность этапа 3 шага 4 в худшем случае — О(кпй/2+1).

Сложность этапа 4 шага 4 в худшем случае — О(к2 + кп + пй/2(к + п)2), или, что то же, О(пй/2(к + п)2).

Таким образом, трудоёмкость всей процедуры 1 составляет О(к2пй/2+1(к + п)2). ■

3. Процедура проверки совместности системы уравнений над двудольными графами

Поскольку задача проверки совместности системы уравнений в общем случае ^Р-полна, т.е. не является полиномиально разрешимой при Р = ^Р, то возникает естественный вопрос о выделении её полиномиально разрешимых случаев. В число таких случаев входят задачи проверки совместности системы уравнений над деревьями, лесами, всеми двудольными графами и полными двудольными графами.

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

Пусть Г = (У(Г),Е(Г)) —обыкновенный двудольный граф с п вершинами и Б — конечная система уравнений над Г от переменных из множества X = {х1,... , х^}.

3.1. П р о ц е д у р а п р о в е р к и с о в м е с т н о с т и с и с т е м ы у р ав н е н и й Б н а д ко н е ч н ы м д в удо л ь н ы м г р а ф о м

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

Шаги 0-3 в точности повторяют соответствующие шаги процедуры 1, а шаг 4 выглядит следующим образом:

Шаг 4. Процедура просматривает граф Н = (Ух, Ех), где Ух —множество переменных, входящих в запись уравнений Е (х^х?), а множество рёбер Ех определяется этими уравнениями.

1) В графе Н ищутся циклы нечётной длины. Для этого производится расслоение каждой его компоненты связности, начиная с произвольной вершины, — создаётся специальный список, в котором каждый элемент содержит номер своего слоя и номер своей вершины. Если цикл нечётной длины найден, т. е. какие-то две вершины из одного слоя оказались смежны, то исходная система уравнений Б несовместна над графом Г.

2) Для каждого уравнения вида Е(ж,, у) множества Ж,1 и переопределяются

следующим образом: := п ( и {V}Х) и := П ( и {у}^.

^ еж/

Если хотя бы одно множество Жр" = 0, то исходная система Б несовместна над Г; иначе — совместна. Если какое-либо множество Жр" = {у}, то в Б добавляется равенство жр = у.

3) Для каждого равенства жр = у из Б, полученного на предыдущем этапе, процедура объединяет множества У (¿г) и У (у), содержащие переменную жр и константу vq, а равенства удаляются из системы. Полученное множество обозначается У (у). На этом процедура завершает свою работу.

Теорема 4. Процедура 1.1 корректно проверяет систему уравнений Б на совместность.

Доказательство. Корректность шагов 1-3 процедуры доказывается аналогично тому, как это сделано в теореме 2.

На шаге 4 возможно уточнение множества значений переменной жр на графе Г, и если оно состоит только из одной вершины vq, то добавление в Б уравнения жр = vq сохраняет эквивалентность системы уравнений Б исходной системе Б над Г.

Несовместность системы Б, устанавливаемая на шаге 4, следует из того, что в графе Г не существует циклов нечётной длины и при этом переменные, входящие в уравнения Е(жг,х), могут иметь своими значениями только смежные вершины в графе Г, т. е. находящиеся в разных его долях. ■

Теорема 5. Трудоёмкость процедуры 1.1 составляет 0(&2п(& + п)2).

Доказательство. Распишем вычислительную сложность по шагам.

Сложность каждого из шагов 0-3 процедуры 1.1 такая же, как и у процедуры 1; общая вычислительная сложность их прохождения в худшем случае составляет 0(&2п(& + п)2).

Сложность этапа 1 шага 4 составляет 0(&3); этапа 2 — 0(^2п2); этапа 3 — 0(&п).

Таким образом, трудоёмкость всей процедуры 1.1 составляет 0(&2п(& + п)2). ■

3.2. П р о ц е д у р а п р о в е р к и с о в м е с т н о с т и с и с т е м ы у р а в н е н и й Б н а д к о н е ч н ы м п о л н ы м д в у д о л ь н ы м г р а ф о м

Процедура 1.2. Идея этой процедуры полностью аналогична идее процедуры 1.1. Полный двудольный граф Г хранится в виде матрицы размера 2 х п, состоящей из нулей и единиц, а в остальном в процессе работы используются те же структуры данных, что и в общем случае.

Шаги 0-3 в точности повторяют соответствующие шаги процедуры 1, а шаг 4 выглядит следующим образом:

Шаг 4. Процедура просматривает граф Н = (Ух, Ех), где Ух —множество переменных, входящих в запись уравнений Е(ж,, у), а множество рёбер Ех определяется этими уравнениями.

1) В графе Н ищутся циклы нечётной длины. Для этого производится расслоение каждой его компоненты связности, начиная с произвольной вершины. Если цикл нечётной длины найден, то исходная система уравнений Б несовместна над графом Г. Иначе граф Н является двудольным и для каждой его компоненты связности формируются списки вершин долей.

2) Процедура просматривает списки долей графа Н. Если две переменные xi и х? лежат в одной доле графа Н, а вершины из множеств Ш1 и Ш?1 принадлежат разным долям графа Г, то система уравнений Б несовместна над Г. Если две переменные х^^ и х? лежат в разных долях графа Н, но в одной его компоненте связности, а вершины из множеств Ш1 и Ш?1 принадлежат одной доле графа Г, то система Б также несовместна над Г. В противном случае система уравнений Б является совместной над графом Г.

На этом процедура завершает свою работу.

Теорема 6. Процедура 1.2 корректно проверяет систему уравнений Б на совместность.

Доказательство полностью аналогично доказательству теоремы 4.

Теорема 7. Трудоёмкость процедуры 1.2 составляет О(к2п(к + п)2).

Доказательство. Как и у процедуры 1.1, общая трудоёмкость прохождения шагов 0-3 в худшем случае составляет О (к2п(к + п)2).

Сложность этапа 1 шага 4 составляет О(к3); этапа 2 — О(к2п).

Таким образом, трудоёмкость всей процедуры 1.2 составляет О(к2п(к + п)2). ■

4. Процедуры построения радикала и координатного графа

Обе эти процедуры, приведенные в [9] с полным доказательством их корректности, без изменений используются как при решении систем уравнений над двудольными графами, так и в общем случае.

4.1. Построение радикала системы уравнений Б

Процедура 2. Если система Б несовместна над Г, то ИаЛг(Б) = А£ь(Х). В противном случае процедура работает с информационной базой системы уравнений Б.

ШШаг 0. Процедура рассматривает последние версии множеств Ш1,..., , полученные при выполнении процедуры проверки совместности системы Б. С их помощью заново определяются множества Ш11,..., Ш^1.

Далее радикал ИлЛг(Б) строится следующим образом. ШШаг 1. ИлЛг(Б) := Б, для чего определяются новые матрицы уравнений. ШШаг 2. Уравнения вида Е (х^?) добавляются в ИаЛг(Б) для любых V? Е Ш11. ШШаг 3. Если Е У(¿), то уравнения ¿1 = ¿2 добавляются в ИлЛг(Б) для любых ¿1^2 Е ТЬ(Х).

Шаг 4. Уравнения £ = £ добавляются в ИяЛг(Б) для любого £ Е Ть(Х). Шаг 5. Если (£1 = ¿2) Е ИлЛг(Б), то уравнения ¿2 = ¿1 добавляются в ИлЛг(Б) для любых ¿1, ¿2 Е ?ь(Х). Поскольку матрица, содержащая уравнения вида xi = V?, не является квадратной, то для данного типа уравнений считаем действия на шаге 5 выполненными автоматически.

Шаг 6. Если (¿1 = ¿2) Е ИлЛг(Б) и (¿2 = ¿3) Е ИяЛг(Б), то уравнения ¿1 = ¿3 добавляются в ИлЛг(Б) для любых ¿1, ¿2, ¿3 Е ТЦХ).

Шаг 7. Если Е(¿1,£2) Е Radг(Б), то уравнения Е(¿2,£1) добавляются в ИлЛг(Б) для любых ¿1 ,¿2 Е ТЦХ). Поскольку матрица, содержащая уравнения вида Е(х^?),

не является квадратной, то для данного типа уравнений считаем действия на шаге 7 выполненными автоматически.

Шаг 8. Если (^ = ¿1), (¿2 = ¿2) € ИаЛг(Б) и Е(£ь£2) € ИаЛг(Б), то уравнения Е(¿1, ¿2) добавляются в ИаЛг(Б) для любых ¿1, ¿2,¿1, ¿2 € ТЦХ).

Шаг 9. Уравнения Е(г,, у) добавляются в Radг(Б) для любых (■и,, у) € Е(Г).

Теорема 8. Процедура 2 корректно строит радикал ИаЛг(Б).

Корректность процедуры 2 для построения радикала Radг(Б) следует непосредственно из его определения.

Теорема 9. Трудоёмкость процедуры 2 составляет 0((& + п)3).

Доказательство. Распишем вычислительную сложность процедуры 2 по шагам.

Переопределение множеств Ж^,..., на шаге 0 осуществляется за 0(&п2)

операций.

Сложность шага 1 составляет 0((& + п)2); шага 2 — 0(&п); шага 3 — 0((& + п)3); шага 4 — + п); шага 5 — 0(&2 + п2); шага 6 — 0((& + п)3); шага 7 — 0(&2 + п2); шага 8 — 0((& + п)2); шага 9 — 0(п2).

Таким образом, трудоёмкость всей процедуры 2 составляет 0((& + п)3). ■

4.2. П о с т р о е н и е к о о р д и н а т н о г о г р а ф а с и с т е м ы у р а в н е н и й Б

Процедура 3. Множество вершин координатного графа А = ССГ(Б) совпадает с множеством индикаторов классов эквивалентности У (¿¿) и является подмножеством V(Г) и X, а множество рёбер выглядит следующим образом:

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

Е(А) = Е(Г) и Е(ж,, у-) и Е(ж,,ит), где Е(ж,, у-),Е(ж,,ит) € ИаЛг(Б).

Если система Б несовместна над Г, то А = Е, где Е — граф, состоящий из одной вершины и петли. В противном случае процедура выполняет следующие построения:

ШШаг 1. К множеству вершин графа Г добавляются все вершины из множества X.

ШШаг 2. К полученному графу добавляются всевозможные рёбра (ж,, ж^-) и (ж,, ит), для которых Е(ж,,ж^),Е(ж,,ит) € ИаЛг(Б).

Ш!аг 3. В полученном графе для каждого класса эквивалентности У ) все вершины, находящиеся в этом классе, стягиваются в одну вершину, а кратные рёбра заменяются одним ребром.

В результате получается координатный граф А.

Теорема 10. Процедура 3 корректно строит координатный граф А.

Построение координатного графа процедурой 3 осуществляется непосредственно по определению.

Теорема 11. Трудоёмкость процедуры 3 составляет 0((& + п)2).

Как следствия теорем 3, 5, 7, 9 и 11, можно получить трудоёмкости алгоритмов решения конечных систем уравнений над конечными обыкновенными графами, включающие процедуры проверки совместности этих систем, построения их радикала и общего решения — координатного графа.

Следствие 2. Трудоёмкость алгоритма решения систем уравнений над произвольными графами составляет 0(^2пк/2+1(^ + п)2).

Следствие 3. Трудоёмкость алгоритма решения систем уравнений над двудольными графами, в том числе деревьями и лесами, составляет 0(&2п(& + п)2).

Следствие 4. Трудоёмкость алгоритма решения систем уравнений над полными двудольными графами составляет 0(&2п(& + п)2).

ЛИТЕРАТУРА

1. Матиясевич Ю. В. Диофантовость перечислимых множеств // Доклады Академии наук СССР. 1970. Т. 191. №2. С. 279-282.

2. Fischer M. J. and Rabin M. O. Super-exponential complexity of Presburger arithmetic // Proc. SIAM-AMS Symp. Appl. Math. 1974. V. 7. P. 27-41.

3. MayrE.W. and Meyer A. R. The complexity of the word problems for commutative semigroups and polynomial ideals // Adv. Math. 1982. V. 46. Iss.3. P. 305-329.

4. Cook S. A. The complexity of theorem proving procedures // Proc. 3rd Ann. ACM Symp. on Theory of Computing. 1971. P. 151-158.

5. Даниярова Э. Ю., Мясников А. Г., Ремесленников В. Н. Алгебраическая геометрия над алгебраическими системами. Новосибирск: Изд-во СО РАН, 2016. 243 с.

6. Никитин А. Ю., Рыбалов А. Н. О сложности проблемы разрешимости систем уравнений над конечными частичными порядками // Прикладная дискретная математика. 2018. №39. С. 94-98.

7. Рыбалов А. Н. О сложности экзистенциальной и универсальной теорий конечных полей // Прикладная дискретная математика. 2019. №45. С. 85-89.

8. Ильев А. В. Разрешимость универсальных теорий и аксиоматизируемость наследственных классов графов // Труды института математики и механики УрО РАН. 2016. Т. 22. №1. С. 100-111.

9. Ильев А. В., Ремесленников В. Н. Исследование совместности систем уравнений над графами и нахождение их общих решений // Вестник Омского университета. 2017. №4(86). С. 26-32.

10. Горбунов В. А. Алгебраическая теория квазимногообразий. Новосибирск: Научная книга, 1999. 368+xiia

11. Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи. М.: Мир, 1982. 416с.

12. Fomin F. V., Grandoni F., and Kratsch D. A measure & conquer approach for the analysis of exact algorithms // J. ACM. 2009. V. 56. Iss. 5. P. 25-32.

13. VanRooij J. M. M., Nederlof J., and vanDijk T. C. Inclusion/exclusion meets measure and conquer: Exact algorithms for counting dominating sets // LNCS. 2009. V. 5757. P. 554-565.

REFERENCES

1. Matiyasevich Y. V. Diofantovost perechislimykh mnozhestv [Diophantineity of enumerable sets]. Doklady Akademii Nauk USSR, 1970, vol. 191, no. 2, pp. 279-282. (in Russian)

2. Fischer M. J. and Rabin M. O. Super-exponential complexity of Presburger arithmetic. Proc. SIAM-AMS Symp. Appl. Math., 1974, vol.7, pp.27-41.

3. MayrE.W. and Meyer A. R. The complexity of the word problems for commutative semigroups and polynomial ideals. Adv. Math., 1982, vol.46, iss.3, pp.305-329.

4. Cook S. A. The complexity of theorem proving procedures. Proc. 3rd Ann. ACM Symp. on Theory of Computing, 1971, pp. 151-158.

5. Daniyarova E. Y., Myasnikov A. G., and Remeslennikov V. N. Algebraicheskaya geometriya nad algebraicheskimi sistemami [Algebraic Geometry over Algebraic Structures]. Novosibirsk, SB RAS Publishing House, 2016. 243 p. (in Russian)

6. Nikitin A. Y. and Rybalov A. N. O slozhnosti problemy razreshimosti sistem uravneniy nad konechnymi chastichnymi poryadkami [On complexity of the satisfiability problem of systems over finite posets]. Prikladnaya Diskretnaya Matematika, 2018, no. 39, pp. 94-98. (in Russian)

7. Rybalov A. N. O slozhnosti ekzistentsialnoy i universalnoy teoriy konechnykh poley [On complexity of the existential and universal theories of finite fields]. Prikladnaya Diskretnaya Matematika, 2019, no. 45, pp. 85-89. (in Russian)

8. Ilev A. V. Razreshimost universalnykh teory i aksiomatiziruyemost nasledstvennykh klassov grafov [Decidability of universal theories and axiomatizability of hereditary classes of graphs]. Trudy Instituta Matematiki i Mekhaniki UrO RAN, 2016, vol.22, no. 1, pp. 100-111. (in Russian)

9. Ilev A. V. and Remeslennikov V. N. Issledovaniye sovmestnosti sistem uravneny nad grafami i nakhozhdeniye ikh obshchikh resheny [Study of the compatibility of systems of equations over graphs and finding their general solutions]. Vestnik Omskogo Universiteta, 2017, no.4(86), pp. 26-32. (in Russian)

10. Gorbunov V.A. Algebraic Theory of Quasivarieties. New York, Plenum, 1998. 298+xiip.

11. Garey M. R. and Johnson D. S. Computers and Intractability: A Guide to the Theory of NP-Completeness. San Francisco, W. H. Freeman and Co, 1979. 338+xp.

12. Fomin F. V., Grandoni F., and Kratsch D. A measure & conquer approach for the analysis of exact algorithms. J. ACM, 2009, vol.56, iss.5, pp. 25-32.

13. VanRooij J. M. M., Nederlof J., and vanDijk T. C. Inclusion/exclusion meets measure and conquer: Exact algorithms for counting dominating sets. LNCS, 2009, vol. 5757, pp. 554-565.

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