Научная статья на тему 'Полиномиальный алгоритм построения каркаса гиперграфа'

Полиномиальный алгоритм построения каркаса гиперграфа Текст научной статьи по специальности «Математика»

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

Аннотация научной статьи по математике, автор научной работы — Абакаров А. Ш., Сушков Ю. А.

В работе на базе теории связности гиперграфов, предлагается полиномиальный алгоритм построения оптимального каркаса (остовного подгиперграфа) q-униформного гиперграфа, представляющий собой естественное обобщение алгоритмов Прима или Краскала на гиперграфы.

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

The polynomial algorithm for finding optimal spanning hypergraph

Within the framework of hypergraphs connectivity theory the polynomial algorithm for finding optimal spanning hypergragh of q-uniform hypergraph is proposed. The proposed polynomial algorithm is generalization of the Kruskal or the Prim algorithms for hypergraphs.

Текст научной работы на тему «Полиномиальный алгоритм построения каркаса гиперграфа»

УДК 519.179.1

Вестник СПбГУ. Сер. 1, 2006, вып. 2

А. Ш. Абакаров, Ю. А. Сушков

ПОЛИНОМИАЛЬНЫЙ АЛГОРИТМ ПОСТРОЕНИЯ КАРКАСА ГИПЕРГРАФА*

1. Введение. В статье на базе теории связности гиперграфов, разработанной в [1-4], предлагается полиномиальный алгоритм построения оптимального каркаса (остовного подгиперграфа) д-униформного гиперграфа, представляющий собой естественное обобщение алгоритмов Прима или Краскала [6] на гиперграфы.

Практическое применение алгоритма является достаточно важным, например, для синтеза многорежимных, или структурно-управляемых, систем [5], где упомянутая теория связности гиперграфов используется для описания их структурных характеристик. Далее используется терминология и соответствующие определения из работ [1-6]. Пара Г = {2, Б), где 2 — множество вершин, а Б — множество ребер, называется гиперграфом (в этой работе предполагается, что эти множества конечные). Каждое ребро а € Б можно рассматривать как подмножество вершин из 2, инцидентных этому ребру.

Символ Г кроме обозначения гиперграфа будет также использоваться еще и для обозначения отображения

Г : Б ^ 2г,

где 2г — множество всех подмножеств из 2. В частности, если положить

Г: Б ^ С 2г, (1)

где — множество всех ^-элементных подмножеств из 2, то соответствующий этому отображению гиперграф Г = {2, Б) будет ^-униформным.

Далее будем рассматривать только ^-униформные гиперграфы, а вместо термина гиперграф будем также использовать д-граф или просто граф.

Определение 1. Гиперлесом ) называется гиперграф, у которого для лю-

бого А С Ш выполняется условие независимости

\ГА\-д +1 >\А\. (2)

Если к тому же для гиперлеса в целом выполняется равенство

\ГШ \-д +1 = \Ш\, (3)

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

Множество ребер, для которого выполняется условие (2), называется независимым. Таким образом, в гиперграфе независимым являются любое подмножество ребер из Б, порождающее гиперлес.

* Работа выполнена при финансовой поддержке РФФИ совместно с ГФЕН Китая (грант №04-01-39002ГФЕН2004_а) и Правительства Санкт-Петербурга (грант №PD05-1.1-23). © А. Ш. Абакаров, Ю. А. Сушков, 2006

Определение 2. Подграф (ГШ, Ш) графа Г = (ГО, О), у которого ГШ = ГО и при этом множество ребер Ш .максимально, называется каркасом (остовом, остовным графом) гиперграфа (ГО, О). Таким образом, в общем случае каркас является гиперлесом.

Доказано [3], что каркас (ГШ, Ш) графа (ГО, О) единственным образом разбивается на подграфы (ГТТъ), так что Ш = Т\ + Тг + ... + Ть и ГТ = \Тъ \ + ц — 1 для всякого г € 1 : Ь, причем для любого А € Ш такого, что ГА = \А\+ц—1, существует единственное г € 1 : Ь, при котором А € Тъ.

Определение 3. Подграфы (ГТТъ), г € 1 : Ь, порожденные элементами разбиения Т множества Ш, называются компонентами связности гиперлеса (каркаса) (ГШ,Ш).

Естественно, гиперлес (ГШ, Ш), состоящий из одной компоненты связности, является гипердеревом.

Если множество О гиперграфа Г = (ГО, О) является зависимым, то гиперграф может иметь несколько каркасов. Компоненты связности любого из его каркасов однозначно порождают компоненты связности (ГОъ,Оъ), Тъ С Оъ, г € 1 : Ь, исходного гиперграфа Г, не зависящие от выбора каркаса [3].

Пусть Ш = Т\ + Т2 + ... + Ть — разбиение множества ребер на компоненты связности некоторого каркаса гиперграфа Г = (ГО, О), Ш С О, а О = О\ + О2 + ... + Оь — соответствующее разбиение его ребер, где Тъ С Оъ, г € 1 : Ь. Тогда ребро а € Оъ \ Тъ в этом случае называется хордой компоненты связности (ГТТъ) относительно данного каркаса.

Таким образом, если Н —множество хорд компоненты связности Т¿, т. е. Оъ = Тъ + Нъ, г € 1 : Ь, то разбиение множества ребер О = Ох + О2 + ... + Оь гиперграфа Г = (ГО, О) не зависит от выбора его каркаса.

Определение 4. Подграф (ГОъ,Оъ), г € 1 : Ь, порожденный элементом разбиения Оъ множества О, называется компонентой связности гиперграфа (ГО, О).

Представленные выше понятия рассмотрим на примере 3-графа, изображенного на рис. 1 (обозначим этот гиперграф через Г = (ГО, О)).

Рис. 1. Показательный рисунок гиперграфа к рассмотренным выше понятиям.

Гиперграф Г содержит два каркаса: (ГШ1, Шх), Шх = {а, Ь, с, ¿, е, д, к} и (ГШг, Шг), Ш2 = {а, Ь, с, ¿, ], д, к}, являющиеся гипердеревьями, т. е. все множество ребер О гипе-

графа Г образует одну его компоненту связности (ГDi, Di), Di = D. Ребро f является хордой компоненты связности (ГГ^Г) Ti = Wi, а ребро e —хордой (ГW2,W2).

Если из множества ребер D гиперграфа Г удалить ребра e и f, то в этом случае Г будет содержать только один остов (ГW,W), W = {a,b,c,d,g,h}, являющийся уже гиперлесом, и единственным образом разбивающийся на две компоненты связности: (ГTi, Ti), Ti = {a, b, c} и (ГT2, T2), T2 = {d, g, f}.

2. Задача построения оптимального каркаса. Пусть на множестве ребер гиперграфа Г = (Z, D) определена вещественная функция

ш : D ^ R+, (4)

где значение w(d), d G D, называется весом элемента d. Тогда задача построения оптимального каркаса гиперграфа Г = (Z, D) состоит в нахождении такого его каркаса (ГW, W), для которого функция

^W) = £ w(d)

dew

принимает минимальное значение.

Как показано в работах [3, 4], задача построения оптимального каркаса гиперграфа является частным случаем задачи нахождения минимального (максимального) независимого множества матроида.

Приведем необходимые понятия [6].

Определение 5. Пусть D — непустое конечное множество, а I С 2D — непустое семейство подмножеств из D, удовлетворяющее следующим условиям:

1) если A С B G I, то A G I;

2) если A G I, B G I и |A| = \B\ — 1, то существует элемент a G B \ A такой, что A + a G I.

Тогда пара M = (I, D) называется матроидом.

Элементы семейства I называют независимыми, а множества 2D \ I — зависимыми множествами матроида M. Максимальные по числу элементов независимые множества семейства I называют базами матроида M.

Матроид также можно задать с помощью функции p : 2D ^ Z, p(0) = 0, принимающей целочисленные значения на подмножествах из D и удовлетворяющей следующим условиям:

1) если A С B С D, то

p(A) < p(B),

2) для любых двух множеств A, B С D

p(A) + p(B) > p(A U B) + p(A П B).

С учетом этих условий в матроиде M = (I, D) множество A является независимым (A G I) тогда и только тогда, когда для любого A С D

P(A) > |A|. (5)

Это неравенство далее называется условием независимости.

Если в качестве функции из (5) взять

p(A) = ^^—q + 1,

то неравенства (2) и (5) совпадут. Это означает, что с любым гиперграфом Г = {Z, D) можно связать матроид M = {I, D), если в качестве независимых подмножеств I мат-роида M взять все возможные независимые подмножества ребер D гиперграфа Г. Полученный таким образом матроид называется графовым. Базами графового матроида являются все возможные каркасы гиперграфа Г.

Известно [6], что для выделения независимого подмножества матроида с минимальным весом можно использовать так называемый жадный алгоритм, общее описание которого представлено ниже.

^Жадный алгоритм:

Begin

Ш!аг 1. Упорядочить множество D по возрастанию весов так, чтобы

D = {di,d,2,...,d\D\}, где w(di) < u(da) < w(d\D\). Шаг 2. W := 0.

Шаг 3. Для всех i e 1 : \D\ выполнить:

если W U {di} el, то W := W U {di}; иначе W := W.

End

После завершения работы жадного алгоритма будет построено независимое множество W С D, являющееся базой матроида M и обладающее минимальным весом w(W).

Оценка сложности описанного жадного алгоритма зависит прежде всего от того, насколько эффективно можно выполнить шаг 3 — проверку текущего подмножества W U {di} = W + di на принадлежность семейству независимых подмножеств I.

В случае графового матроида на этом шаге проверяется справедливость условия независимости (5) для любого подмножества A С W гиперграфа. Очевидно, что это можно сделать путем полного перебора всех возможных подмножеств ребер A С W.

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

Естественно, в этом же классе находится аналогичная задача нахождения оптимальных каркасов в 2-графах. Для ее решения используются, например, алгоритмы Прима или Краскала [6].

Известно, что любому гиперграфу Г = {Z, D) можно поставить в соответствие его кенигово представление {D, Z, Г), являющееся двудольным графом с двумя множествами вершин D, Z и множеством ребер {(a,b) \ a e D & b e Га С Z}.

Задача отыскания каркаса гиперграфа тесно связана с построением полного паросо-четания его кенигового представления, т. е. подграфа графа {D, Z, Г) с максимальным числом ребер, у которого все степени вершин равны единице.

Кенигово представление гиперграфа Г показано на рис. 2.

Теорема 1. Пусть {D,Z, Г) —кенигово представление q-униформного гиперграфа Г = {Z,D). Тогда при удалении из множества Z графа {D,Z, Г) любого множества вершин B такого, что \B\ = q — 1, в полученном двудольном графе {D,Z \ B, Г) существует полное паросочетание тогда и только тогда, когда гиперграф Г = {Z, D) является гиперлесом (множество ребер D — независимое).

а

с

Ь

2

3

4

а

/

г;

5

6 7

9 Н

8

9

Рис. 2. Кенигово представление гиперграфа, изображенного на рис. 1.

Доказательство. Последнее означает, что для любого подмножества А С В

|ГА|—(ц - 1) >|А|.

(6)

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

Так как независимо оттого, какие ц—1 вершин из 2 будут удалены, и для любого А С В остается выполненным неравенство |ГА| > |А|, справедливость этого утверждения очевидно следует из теоремы Холла.

Теперь докажем необходимость, а именно: если при удалении из множества 2 любых |B| = ц — 1 вершин в графе {В, 2 \ В, Г) существует полное паросочетание кенигова представления, то гипреграф Г = {2, В) является лесом (множество В удовлетворяет условию (6)).

Для доказательства этого утверждения предположим противное, что при удалении из множества вершин 2 кенигового представления гипреграфа Г = {2, В) некоторого множества В в полученном графе {В, 2\В, Г) полное паросочетание отсутствует, т. е. в нем существует такое А С В, для которого |ГА| < |А|. Но это означает, что при возвращении в кенигово представление гиперграфа вершин множества В для подмножества А С В не будет выполнено условие независимости (6).

Противоречие. □

Из этой теоремы следует, что если при всех возможных удалениях ц — 1 вершин из кенигова представления графа {Г(Ш и {<й®}), Ш и {<й®}), где Ш и {йС В, существует полное паросочетание, то этот граф можно принять в качестве текущего подграфа для строящегося жадным алгоритмом каркаса. Например, удаление из кенигова представления гиперграфа Г (см. рис. 1 и 2) вершин {3,5}, или {3,6} и т.д., приводит к отсутствию полного паросочетания, т. е. множество ребер {с, й, е, /} гиперграфа Г является зависимым. Таким образом, если предположить, что гиперграф Г является текущим подграфом для строящегося жадным алгоритмом каркаса, то добавленное ранее ребро следует отбросить (таким ребром может быть, например, ребро /).

Теорема 2. Алгоритм выделения оптимального каркаса гиперграфа Г = {2, В) является полиномиальным.

Доказательство. Из теоремы 1 следует, что для определения независимости подмножества ребер А С В подгиперграфа {ГА, А) необходимо к = раз выполнить

проверку существования полного паросочетания в кениговом представлении гиперграфа (ГА, А). Так как алгоритм определения полного паросочетания является полиномиальным [6], а общее количество обращений к алгоритму определения полного паросочетания в жадном алгоритме не превосходит \О\Ч, отсюда следует справедливость утверждения теоремы. □

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

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

Теорема 3. Пусть подгиперграф (2', О') гиперграфа (2, О) является гиперлесом (2' С О' С О) и а € О \ О'.

Тогда

1) если \Га П ГО'\ < ц, то в гиперграфе (2' + Га, О' + а) множество ребер (О' + а) независимое, и по этой причине проверку существования полного паросочетания в кениговом представлении гиперграфа делать не надо;

2) если \ГаПГО'\ = ц, то для проверки множества ребер (О' + а) на независимость достаточно выполнить проверку существования полного паросочетания в кениговом представлении гиперграфа (Г(О' + а), О' + а) при удалении любых ц — 1 вершин только из подмножества Га.

Доказательство. Действительно, в первом случае подмножество ребер О' по определению независимо, т. е. для всякого непустого А С О' имеет место неравенство \ГА\ > \А\ + ц — 1. После добавления ребра а к подмножеству О' число вершин увеличивается не менее, чем на единицу, т. е. \Г(О' + а) \> \ГО'\ + 1. Складывая левые и правые части этих неравенств, получаем, что для всякого непустого А С О' + а имеет соотношение \ГА + а\ > \А + а\ + ц — 1, откуда и следует справедливость первого утверждения теоремы.

Для доказательства второго утверждения рассмотрим два случая.

1. Предположим, что после добавления ребра а к множеству О' число общих вершин у них стало равно ц, т.е. \Га П ГО'\ = ц, а полученный при этом гиперграф (Г(О' + а), О' + а) остался лесом. Тогда согласно теореме 1 при удалении любых ц — 1 вершин из множества вершин (Г(О' + а)) кенигового представления гиперграфа в последнем существует полное паросочетание. Таким образом, паросочетание существует и в том случае, когда в качестве удаляемых вершин выбираются любые ц — 1 вершины из подмножества Га.

2. Теперь предположим, что после добавления ребра а к множеству О', как и в предыдущем случае, \ГаПГО'\ = ц, однако в полученном гиперграфе (Г(О' + а), О' + а) образуется зависимое подмножество ребер О'' С О'.

Пусть О' = Тх + Тг + ... + Ть —разбиение множества О', соответствующее компонентам связности каркаса гиперграфа (2',О'). Для ребра а € О'' в этом случае существует единственное г € 1 : Ь такое, что О'' С + а, следовательно а является хордой соответствующей компоненты связности каркаса. Для множества О'' по определению справедливо условие \ГО''\ — (ц — 1) < \О''\. Отсюда следует, что при удалении любых ц — 1 вершин из О'' условия теоремы Холла для кенигового представления подграфа (ГО'', О'') не выполняются. Поэтому при проверке на независимость в качестве удаляемых можно выбрать любые ц — 1 вершин, принадлежащие только Га. □

Таким образом, если при удалении ц — 1 вершин из множества Га в кениговом представлении гиперграфа (Г(О' + а), О' + а) полное паросочетание отсутствует, то можно сделать вывод о наличии в этом гиперграфе зависимого множества. В противном случае

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

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

Summary

A. Sh. Abakarov, Yu. A. Sushkov. The polynomial algorithm for finding optimal spanning hypergraph.

Within the framework of hypergraphs connectivity theory the polynomial algorithm for finding optimal spanning hypergragh of q-uniform hypergraph is proposed. The proposed polynomial algorithm is generalization of the Kruskal or the Prim algorithms for hypergraphs.

Литература

1. Сушков Ю. А. (1,д)-сочетания // Вестн. Ленингр. ун-та. Сер. 1. Вып. 3. 1975. Вып. 4, №19. С. 50-55.

2. Сушков Ю. А. Независимость в гиперграфах. Модули и алгебраические группы // Записки научных семинаров ЛОМИ. Л.: «Наука», 1982. Т. 114. C. 196-204.

3. Сушков Ю. А. Связность гиперграфов // Вычислительная техника и вопросы кибернетики. Л., ЛГУ. 1984, вып. 20. C. 87-96.

4. Сушков Ю. А. Матроиды и гиперграфы // Вестн. Ленингр. ун-та. Сер. 1. Вып. 3. 1985, №22. C. 42-46.

5. Сушков Ю. А. Многорежимные системы с переменной структурой // Известия СКНЦ ВШ. Естественные науки. 1977, №1. С. 9-11.

6. Липский В. Комбинаторика для программистов. М.: Мир, 1988. 213 с.

7. Айгнер М. Комбинаторная теория. М.: Мир, 1982. 556 с.

Статья поступила в редакцию 16 февраля 2006 г.

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