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

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

CC BY
426
95
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
АЛГОРИТМЫ НА ГРАФАХ / ЧАСТИЧНЫЕ K-ДЕРЕВЬЯ / ДРЕВОВИДНАЯ ШИРИНА / GRAPH ALGORITHMS / TREEWIDTH / PARTIAL K-TREE

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

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

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

The paper gives a brief overview of recent results on the graph treewidth problem. We investigate some of the lower and upper bounds for treewidth, and present algorithmic methods to improve these bounds.

Текст научной работы на тему «Вычислительные аспекты древовидной ширины графа»

ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА

2011 Прикладная теория графов №3(13)

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

УДК 519.178

ВЫЧИСЛИТЕЛЬНЫЕ АСПЕКТЫ ДРЕВОВИДНОЙ ШИРИНЫ ГРАФА

B. B. Быкова

Институт математики Сибирского федерального университета, г. Красноярск, Россия

E-mail: bykvalen@mail.ru

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

Ключевые слова: алгоритмы на графах, частичные k-деревья, древовидная ширина.

Древовидная ширина — числовой параметр, характеризующий меру древовидности графа. Графы с ограниченной древовидной шириной образуют специальный класс графов, называемых частичными k-деревьями. Этот класс графов был введен четверть века назад Н. Робертсоном и П. Д. Сеймуром [1]. Широкий интерес к изучению древовидной ширины графа вызван тем, что многие NP-трудные задачи теории графов, возникающие в различных приложениях, в том числе при моделировании надежности и безопасности компьютерных и коммуникационных систем, полиномиально разрешимы, если модельный граф — частичное k-дерево. В этих условиях задача может быть решена методом динамического программирования, причем алгоритмическая эффективность достигается за счет разложения модельного графа на части с помощью небольших (мощности не более k) сепараторов [2]. С вычислительной точки зрения весьма сложно установить, имеет ли заданный произвольный граф ограниченную древовидную ширину. Доказана NP-полнота этой задачи [3, 4]. Лишь для некоторых классов графов древовидная ширина известна заранее или находится без особого труда. Например, древовидная ширина любого ациклического графа не превышает 1, а у всякого последовательно-параллельного графа древовидная ширина не более 2. Хордальные графы — типичный пример класса графов, для которых задача определения древовидной ширины разрешима за полиномиальное время. Поскольку в общем случае данную задачу решить трудно, то актуальны границы возможных значений древовидной ширины графа и методы их улучшения.

1. Основные числовые параметры графа

Введем необходимые обозначения и определения. Везде далее G = (V, E) — неориентированный конечный связный граф без петель и кратных ребер, n = | V| и m = |E|. Обозначим через G(A) подграф графа G, индуцированный множеством A С V. Говорят, что множество вершин S С V разделяет несмежные вершины а и b графа G, если в графе G(V \ S) вершины а и b принадлежат различным компонентам связности. Множество S при этом называется сепаратором, или (а, Ь)-сепаратором. Сепаратор минимальный, если он не содержит другой сепаратор в качестве собствен-

ного подмножества. Наименьший по размеру сепаратор графа О — наименьший сепаратор. Сепаратор размера 1 называется точкой сочленения графа. Вершина а Є V считается симплициальной вершиной графа О, если ее окрестность N (а) индуцирует в О клику. Множество вершин А называется кликой графа О, если О(А) —полный граф, и максимальной кликой, если она не содержится в клике с большим количеством вершин. Размер наибольшей клики графа О обозначается <^(О) и называется плотностью графа О. Хроматическое число графа О определяется как наименьшее возможное количество цветов х(О), в которые можно раскрасить вершины графа так, что любые смежные вершины будут окрашены в разные цвета. Для произвольного графа О всегда <^(О) ^ х(О), а для совершенного графа <^(О) = х(О) [5]. Совершенными, например, являются полные, двудольные и хордальные графы. Граф О называется хордальным, если ни один из его индуцированных подграфов не является простым циклом длины / ^ 4. Всякий индуцированный подграф хордального графа также является хордальным. Известны полиномиальные по времени алгоритмы распознавания хордальности графа О, основанные на симплициальных вершинах и сепараторах [6, 7]. Нахождение чисел <^(О), х(О) для графа О общего вида— КР-трудные задачи [2]. Между тем для хордального графа О числа <^(О), х(О) могут быть вычислены за полиномиальное время [7]. Любой граф можно превратить в хордальный, добавив в него некоторое множество ребер. Триангуляцией графа О = (V, Е) называется хордальный граф Н = (V, Е'), который содержит О в качестве остовного подграфа (Е С Е;). Триангуляция Н — минимальная триангуляция графа О, если для О не существует другой триангуляции, которая является собственным подграфом графа Н. Триангуляция, имеющая наименьшее число ребер, называется наименьшей. Число ребер наименьшей триангуляции является числовым параметром графа О и обозначается еЬ(О). Задача нахождения еЬ(О) для произвольного графа (ее также называют задачей наименьшего пополнения графа до хордального) КР-трудная. Заметим, что если граф О хордальный, то еЬ(О) = т. Числом вершинной связности к(О) графа О называется наименьшее число вершин, удаление которых приводит к несвязному или одновершинному графу. Граф О считается /-связным, если к(О) ^ /. Согласно теореме Менгера [5], чтобы граф О был /-связен, необходимо и достаточно, чтобы любые две его несмежные вершины а и Ь были соединены не менее чем / вершинно-непересекающимися (а, Ь)-цепями. Другими словами, граф /-связен тогда и только тогда, когда каждый его (а, Ь)-сепаратор содержит по крайне мере / вершин. Значит, число к (О) определяет размер наименьшего сепаратора графа О (исключение составляет лишь полный п-вершинный граф Кп, в котором нет сепараторов вообще, хотя к(Кп) = п — 1). Если $(О) —минимальная степень вершин графа О, то всегда к(О) ^ ^(О). Примечательно, что задача вычисления числа к(О) для графа О сводится к задаче о максимальном потоке и минимальном разрезе и разрешима за полиномиальное время [8].

Перечисленные выше числовые параметры графа давно известны и хорошо изучены в теории графов. Все они с различных позиций характеризуют структуру графа и являются его инвариантами в аспекте изоморфизма. Дополняет этот набор инвариантов древовидная ширина как мера близости графа к дереву.

2. Дерево декомпозиции и древовидная ширина графа

Древовидная ширина графа вычисляется через специальную графовую структуру, которая называется деревом декомпозиции. Дерево декомпозиции графа О = (V, Е) представляет собой пару (X, Т), где X = : і Є I} — семейство подмножеств мно-

жества V, называемых «мешками»; Т = (/,Ж) —дерево, узлам которого сопоставлены эти «мешки», и выполняются следующие условия [1, 9]:

1) и X = V;

2) для всякого ребра графа О обязательно имеется хотя бы один «мешок», содержащий обе вершины этого ребра;

3) для любой вершины V Е V графа О множество узлов {г Е I : V Е Xг} индуцирует связный подграф, являющийся поддеревом дерева Т.

Ширина дерева декомпозиции (X,Т) равна шах{|Х^| — 1}. Древовидная ширина,

(Ьтееи!1сСЬК) графа О определяется как наименьшая ширина всех допустимых его деревьев декомпозиции и обозначается через 1'№(О). Дерево декомпозиции (X,Т) ширины 1'№(О) называется оптимальным деревом декомпозиции графа О. Заметим, что если рассматривать только деревья декомпозиции без кратных и вложенных «мешков», то для каждого связного графа О множество возможных деревьев декомпозиции непусто и конечно. Например, всегда существует тривиальное дерево декомпозиции, которое состоит из одного «мешка», содержащего все вершины графа. Однако такое дерево декомпозиции в большинстве случаев не является оптимальным. Когда граф О несвязен, то полагают 1'№(О) = 0. Следовательно, числовой параметр 1'№(О) может быть вычислен для любого конечного графа О.

Дерево декомпозиции графа — это весьма полезная графовая структура, которая определяет не только древовидную ширину графа, но и отражает информацию о его кликах и сепараторах. Это подтверждает

Утверждение 1 [10]. Пусть задано некоторое дерево декомпозиции (X, Т) графа О = (V, Е). Тогда справедливы следующие высказывания:

1) если множество вершин А С V образует в О клику, то в Т существует узел г Е I, такой, что А С Хг, т. е. любая клика графа всегда целиком вложена в отдельный «мешок» дерева декомпозиции (X, Т) и, возможно, не в один;

2) если множества А и В индуцируют в О полный двудольный подграф, то в Т имеется узел г Е I, такой, что А С Xi или В С Хг, т. е. все вершины хотя бы одной доли этого подграфа принадлежат отдельному «мешку» дерева декомпозиции (X, Т);

3) пусть ,ш = {г,^} —произвольное ребро дерева Т, а А и В — множества узлов двух компонент связности графа Т — и>, полученного удалением из дерева Т ребра и>. Тогда пересечение «мешков» 5 = Xi П X? образует (а, Ь)-сепаратор графа О при условии, что

а Е Ха = и Хг \ 5 = 0, Ь Е ХБ = и X \ 5 = 0.

1еА 1еБ

Из данного утверждения следует, что если Кп — полный п-вершинный граф и Кря — полный двудольный граф (р + q = п), то !'^Кп) = п — 1, 1'№(КИ) = шт(р, д). В общем случае при условии связности графа О верны естественные границы значений его древовидной ширины

0 < 1'№(О) ^ п — 1. (1)

Очевидны следующие леммы.

Лемма 1. Пусть граф О — V получен из графа О = (V, Е) удалением вершины V Е V. Тогда 1-№(О — V) ^ 1-№(О).

Лемма 2. Пусть граф О + е образован из графа О = (V, Е) добавлением ребра е = (а, Ь}, где а, Ь Є V. Тогда і—(О) ^ і—(О + е).

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

Следствие 1. Для любого подграфа О' = О(А) графа О = (V, Е), индуцированного множеством А С V, верно і-(О') ^ і—(О).

Следствие 2. Для каждой триангуляции Н = (V, Е') графа О = (V, Е), где Е С Е', всегда і—(О) ^ і—(Н).

Минором графа О = (V, Е) принято называть граф О', который получается в результате применения к О одной или нескольких операций удаления вершины, удаления ребра или стягивания ребра. Ясно, что всякий индуцированный подграф графа О является его минором, однако обратное не всегда верно. Следующая лемма обобщает леммы 1 и 2.

Лемма 3 [1]. Для всякого минора О' графа О всегда і-(О') ^ і—(О).

3. Графы с ограниченной древовидной шириной

Древовидная ширина отражает, насколько близок граф О к дереву, и, согласно утверждению 1, определяет размеры его клик и сепараторов: чем меньше і—(О), тем ближе граф О к дереву и тем меньше у него по мощности клики и сепараторы. Так, все п-вершинные деревья (п ^ 2) имеют единичную древовидную ширину, размер всякой клики такого дерева равен 2, а каждый сепаратор — точка сочленения. Считается, что граф О обладает ограниченной древовидной шириной, если і—(О) ^ к и к — положительная целая константа, не зависящая от п [9]. Например, если О — последовательнопараллельный граф, то і—(О) ^ 2, а для всякого графа Халина неизменно і—(О) = 3. Однако ограниченная древовидная ширина свойственна не всем графам. В частности, і—(Кп) = п — 1. Кроме того, существуют совсем простые по структуре графы, для которых значение і—(О) растет с увеличением числа вершин, т. е. при п подобные графы все больше отдаляются от дерева. Типичным примером являются «сетки» —графы, построенные из правильных многогранников так, что любые два соседних многогранника имеют лишь одно общее ребро. Для «сетки» размера п1 х п2 древовидная ширина вычисляется по формуле і—(О) = шіп(пі, п2) + 1. При увеличении размера «сетки» ее древовидная ширина увеличивается, а число вершинной связности, наименьшая степень вершины, плотность и хроматическое число графа остаются неизменными.

4. Проблема вычисления древовидной ширины

Установить, имеет ли заданный граф ограниченную древовидную ширину, не всегда просто. В [3, 4] доказана КР-полнота следующей задачи: для графа О и целого положительного числа к верно ли, что і—(О) ^ к? Существует другая формулировка данной задачи, основанная на следующем утверждении.

Утверждение 2 [10]. Граф О имеет древовидную ширину не больше к тогда и только тогда, когда он является частичным к-деревом.

Использование понятия частичного к-дерева позволяет выявить структуру графа с ограниченной древовидной шириной. Определение частичного к-дерева базируется

на понятии к-дерева, которое, в свою очередь, определяется рекурсивно по правилам: полный граф из к + 1 вершин есть к-дерево; к-дерево с г + 1 вершинами получается из к-дерева с г вершинами путем добавления в него вершины V и к ребер таким образом, чтобы V стала смежной со всеми вершинами некоторой клики размера к (к-клики). Характерные особенности к-деревьев непосредственно вытекают из их построения и отражены в следующем утверждении.

Утверждение 3. Если граф С = (V, Е) есть к-дерево, то

1) С — связный граф;

2) С — хордальный граф и еЬ(С) = т = |Е|;

3) С всегда имеет к-клику, но в нем нет (к + 2)-клики;

4) О) О) ;к

5) все максимальные клики в С есть (к + 1)-клики;

6) р(С) = х(С) = к + 1;

7) любой минимальный сепаратор в С является к-кликой

8) т = кп — к(к + 1)/ 2.

Для того чтобы распознать к-дерево, нужно раскрутить рекурсию в обратном порядке. Это можно осуществить за полиномиальное время. Поскольку к-дерево — хордальный граф, то найти для него древовидную ширину не представляет труда (используя дерево клик).

Утверждение 4 [11]. Связный граф О = (V, Е) хордальный тогда и только тогда, когда для него существует дерево клик, определяемое следующим образом:

1) множество узлов дерева — множество {Сі : і Є I} всех максимальных клик графа О;

2) два узла Сі, С соединены ребром, если соответствующие им клики графа О имеют непустое пересечение, т. е. Сі П С^ = 0;

3) для всякой вершины V Є V графа О множество максимальных клик, содержащих эту вершину, индуцирует связный подграф, являющийся поддеревом дерева клик.

Известно, что любой хордальный граф имеет не более п — 1 максимальных клик [11]. Значит, дерево клик такого графа содержит не более п — 1 узлов и ребер. Хордальный граф может иметь несколько деревьев клик. Доказано [4], что каждое из них может быть найдено как остовное дерево наибольшего веса графа пересечений всех максимальных клик исходного графа. Здесь под весом ребра понимают число вершин, образующих пересечение подобающих максимальных клик. Таким образом, дерево клик хордального графа можно всегда построить за время 0(п2), применяя известные алгоритмы построения оптимального остова [5, 8]. Очевидно, что для связного хордального графа О дерево клик с точностью до изоморфизма определяет оптимальное дерево декомпозиции, а мощность крупнейшей клики — древовидную ширину графа О: 1^(О) = <^(О) — 1. По утверждению 3 плотность к-дерева равна к + 1 и потому 1^(О) = к.

Следствие 3. Всякое к-дерево — хордальный граф с древовидной шириной, равной к.

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

Частичным к-деревом называют остовной подграф к-дерева [10]. Поскольку всякий п-вершинный граф является остовным подграфом графа Кп, то можно утверждать,

что подобный граф есть частичное (n — 1)-дерево. Между тем в аспекте ограниченной древовидной ширины интерес представляет наименьшее значение k, при котором граф G — частичное k-дерево. Отыскать такое значение k — это значит найти наименьшее k-дерево, в которое можно вложить граф G. Таким образом, по следствию 3 для частичного k-дерева верно неравенство tw(G) ^ k, которое отвечает утверждению 2. Справедливость этого факта вытекает из монотонности древовидной ширины относительно операции добавления ребра в граф G, ведь всякое погружение графа G в граф H, удовлетворяющий требованиям k-дерева или хордальности, сводится к насыщению G дополнительными ребрами. Для триангуляций графа G справедливо

Утверждение 5 [10]. Если H является наименьшей триангуляцией графа G, то tw(G) = tw(H). Для произвольной триангуляции H всегда tw(G) ^ tw(H).

На сегодня сформировались два основных подхода к построению триангуляций графа: через удаление вершин, окрестность которых предварительно насыщается ребрами до клики, и через минимальные сепараторы, которые также дополняются до клики [12, 13]. В рамках этих подходов разработано много алгоритмов со временем работы O(n3).

Несмотря на то, что задача распознавания частичного k-дерева NP-полная [14], это никак не мешает вычислять древовидную ширину графа во многих ситуациях. Во-первых, известны точные неполиномиальные по времени алгоритмы нахождения tw(G), основанные на методе динамического программирования и методе ветвей и границ [15, 16]. Разработаны также FPT-алгоритмы (Fixed-Parameter Tractable algorithms) [9, 17], способные при фиксированном k за время O(2knO(1)) дать ответ на вопрос: tw(G) ^ k? Во-вторых, разработаны точные алгоритмы полиномиальной сложности для различных специальных классов графов [18-20]. В-третьих, выявлены необходимые полиномиально проверяемые признаки частичного k-дерева [10]. Так, если G — частичное k-дерево, то количество его ребер ограничено сверху: m ^ kn — k(k + 1)/2. В-четвертых, для k =1, 2 найдены легко проверяемые критерии распознавания частичного k-дерева: tw(G) ^ 1 тогда и только тогда, когда граф G ацикличен; tw(G) ^ 2 тогда и только тогда, когда каждый блок графа G является последовательно-параллельным графом [21]. В-пятых, к настоящему времени предложены различные схемы приближений [22, 23] и эвристические алгоритмы [24], позволяющие за полиномиальное время находить значения, близкие к истинному значению древовидной ширины графа. К сожалению, пока остается открытым вопрос о существовании полиномиальных схем приближения с гарантированной ошибкой. И наконец, актуальны границы возможных значений древовидной ширины графа и методы их уточнения.

5. Нижние оценки древовидной ширины и метод их уточнения

Можно назвать несколько причин, по которым полезны нижние оценки для древовидной ширины графа. Прежде всего, они могут быть использованы как критерии отсечения бесперспективных ветвей в методе ветвей и границ и в эвристических алгоритмах вычисления древовидной ширины графа. Кроме того, если в конкретной прикладной задаче для модельного графа G нижняя оценка tw(G) слишком велика, то целесообразно отказаться от решения этой задачи методом динамического программирования на основе дерева декомпозиции. Иначе не исключена ситуация, когда время решения задачи может выйти за разумные пределы.

Рассмотрим нижние границы значений древовидной ширины графа G, связывающие tw(G) с другими числовыми параметрами этого графа. Из свойств k-деревьев и

частичных к-деревьев (утверждений 2, 3 и следствия 3) непосредственно вытекают такие нижние оценки:

вовидную ширину, т. е. 1'№(О) ^ к, то для него также ограничены сверху ¿(О), к(О), ^(О), х(Н). Однако обратное, вообще говоря, неверно. Важно, что оценки (2), (3), (6) полиномиально вычисляемые. Но как раз они не очень хорошие.

Применение оценки (7) требует знания числа еЬ(О), которое является результатом решения КР-трудной задачи наименьшего пополнения графа О до хордального. Для произвольной триангуляции Н графа О всегда еЬ(О) ^ еЬ(Н). Поскольку всякая триангуляция Н графа О по построению есть хордальный граф, то еЬ(Н) —число ребер в Н .С учетом этого из (7) следует оценка

Конечно, чем меньше использовано ребер для пополнения графа С до Н, тем выше нижняя граница значений 1'№(С) в (8). Поэтому при вычислении оценки (8) следует использовать триангуляции хорошего качества, для построения которых могут быть применены различные известные полиномиальные по времени приближенные и эвристические алгоритмы [22, 24].

Оценки (4) и (5), выраженные через плотность и хроматическое число графа, труд-новычисляемые. На первый взгляд может показаться, что именно плотность и хроматическое число тесно связаны с древовидной шириной графа, и если значения <^(С) и х(С) невелики, то невелико и значение 1'№(С). Однако на самом деле это не так: разности 1'№(С) — <^(С), 1'№(С) — х(С) могут быть величинами, зависящими от п. Например, «сетка» из треугольников размера п\ х п2 неизменно имеет плотность и хроматическое число, равные 3, при этом значение древовидной ширины зависит от размера «сетки». Существуют графы без треугольников с произвольно большим хроматическим числом [5, с. 242]. Правила построения последовательности С2, С3, ..., Сг, ... таких графов указал А. А. Зыков в 1949 г. В этой последовательности С2 = К2, а каждый граф Сг, г = 3, 4,..., имеет пг = 3 ■ 2г-2 — 1 вершин, <^(Сг) = 2, х(Сг) = г, 1-№(Сг) = (пг — 1)/2. Поэтому значения разностей 1-№(Сг) — <^(Сг), 1-№(Сг) — х(Сг) увеличиваются с ростом г.

Полиномиально вычисляемые оценки (2), (3), связанные со степенями вершин графа, можно усилить. Для этого следует воспользоваться монотонностью 1'№(С) и немонотонностью $(С) и к(С) относительно операции удаления вершины.

¿(О) ^ 1'№(О); к(О) ^ 1-№(О); <^(О) — 1 ^ 1-№(О);

Х(Н) — 1 ^ 1'№(°);

(2)

(3)

(4)

(5)

(6)

Оценки (2)-(5) свидетельствуют о том, что если граф С имеет ограниченную дре-

(8)

Лемма 4. Пусть Ф(С) —множество всех индуцированных подграфов графа G. Тогда

max £(G;) ^ tw(G); (9)

С'еФ(С)

max x(G;) ^ tw(G). (10)

С'еФ(С)

Доказательство. В самом деле, согласно следствию 1 и оценке (2), для каждого

индуцированного подграфа G1 Е Ф^) графа G справедливы неравенства

£(G') ^ tw(G') ^ tw(G).

Отсюда вытекают соотношения

max £(G;) ^ max tw(G') ^ tw(G)

с'еф(с) с'еф(с)

и правильность (9). Аналогичным образом с использованием (3) доказывается (10). ■

В общем случае множество Ф^) содержит порядка 2п индуцированных подграфов графа G, и их перебор может потребовать слишком много времени. Поэтому при больших значениях n в (9) и (10) вместо множества Ф^) целесообразно использовать некоторое его подмножество, которое имеет небольшую мощность и отражает структурные особенности графа G через его части. Таким подмножеством, например, может быть множество P(G) С Ф^), называемое колодой графа G. Колода n-вершинного графа G = (V, E) состоит из n его подграфов G — v, полученных из G удалением только одной вершины v Е V. Для P(G) оценки (9) и (10) полиномиально вычислимы. При формировании колоды P(G) удалению подлежит каждая вершина графа G, включая специальные вершины, такие, как симплициальные вершины и точки сочленения, если они имеются в G. Примечательно, что чем больше специальных вершин в графе G, тем больше шансов улучшить нижние оценки (2), (3) на основе P(G). Наибольший эффект колоды обеспечивают симплициальные вершины.

Лемма 5. Если v Е V есть симплициальная вершина графа G = (V, E) степени deg(v), то

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

max(deg(v), tw(G — v)) = tw(G). (11)

Справедливость данной леммы следует из утверждения 7, которое приведено и доказано ниже. Равенство (11) дает для симплициальной вершины v соотношения

max(deg(v), £(G — v)) ^ tw(G), max(deg(v), k(G — v)) ^ tw(G).

Таким образом, при вычислении оценок (9), (10) по P(G) для каждой симплициальной вершины v вместо $(G — v) и k(G — v) необходимо применять соответствующие величины

max(deg(v), £(G — v)), max(deg(v), k(G — v)).

Распознается симплициальная вершина за время O(n2).

Для уточнения оценок (2) и (3) в качестве представительного подмножества множества Ф(G) можно рассматривать также множество B(G) блоков графа G. Это множество получается разделением графа G на части с помощью точек сочленения. Напомним, что блок графа G — максимальный относительно включения связный его подграф

без точек сочленения. Здесь важно отметить, что каждый блок является индуцированным подграфом графа О (значит, к нему применимо следствие 1), |В(О)| ^ п и всякий блок можно отыскать в О за полиномиальное время. Конечно, если граф О состоит только из одного блока (таким, например, является «сетка» из треугольников), то предложенный выше алгоритмический метод улучшения нижних оценок (2), (3) не дает эффекта. В подобных случаях следует искать другие правила учета специальных вершин графа и выделения в Ф(О) представительного подмножества или оценивать значения древовидной ширины сверху.

6. Верхнее конструктивное оценивание и предобработка графа

Явных верхних оценок сравнительно немного. К ним можно отнести тривиальную оценку (1). Известны также верхние оценки для некоторых специальных классов графов. Например, для всякого планарного графа О с диаметром ^О) выполняется соотношение [25] 1'№(О) ^ 3^О) — 2. В общем случае на практике для определения верхних границ древовидной ширины графа чаще всего используют конструктивное оценивание на основе неравенства

1'№(О) ^ 1-№(Н), (12)

которое, согласно следствию 2 и утверждению 5, верно для любой триангуляции Н графа О. Здесь, как и в оценке (8), нужны качественные триангуляции.

Тривиальную оценку (1) и верхние оценки, найденные с помощью триангуляций, можно уточнить с помощью процедуры предобработки, основанной на принципе «разделяй и властвуй». Цель предобработки — разделить исходный граф О на части таким образом, чтобы задача нахождения наименьшей триангуляции Н для графа О свелась к решению той же самой задачи, но только для графов меньшей размерности. Затем в зависимости от размера полученных частей графа использовать для построения качественных триангуляций точные, приближенные или эвристические алгоритмы. Один из возможных подходов надлежащего разбиения графа — выделение частей графа с помощью сепараторов.

Пусть в (О) = {Sj : і Є І5} — множество сепараторов графа О = (V, Е). Предположим сначала, что всякий сепаратор состоит лишь из одной вершины — точки сочленения графа О. Рассмотрим семейство В(О) = {Бі : і Є Іь} блоков, полученных путем разделения графа точками сочленения. Пусть {Хі : і Є Іь} — семейство блоковых множеств, где Хі С V состоит из вершин блока Бі, и только из них (і Є Іь). Будем опираться на известные свойства блоков [5]:

1) любые два блока имеют не более одной общей вершины, а каждое ребро графа входит только в один его блок;

2) если блок графа содержит вершины а и Ь, то он также содержит и всякую простую (а, Ь)-цепь этого графа;

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

Соотнесем графу О двудольный граф Т = (І, Ш) с множеством узлов І = Іь и І5, в котором два узла і и і смежны, если узел і соответствует блоку Бі, а узел і — сепаратору Sj и Sj С Хі (і Є Іь,і Є І8). Такой граф описывает структуру графа О с точки зрения взаимного расположения его блоков и точек сочленения. Исходя из перечисленных выше свойств блоков, нетрудно убедиться, что если граф О связен, то Т —

всегда дерево [5]. Это дерево принято называть деревом блоков и точек сочленения графа О. На его основе построим дерево декомпозиции графа О. Для этого сопоставим каждому узлу дерева Т «мешок» по следующим правилам: пусть для узла і Є Іь в роли «мешка» выступает блоковое множество Хі, а для узла і Є І5 —множество вершин сепаратора Sj. Таким образом, «мешки» для узлов-сепараторов будут содержать только одну вершину — соответствующую точку сочленения графа О.

Утверждение 6. Пара (X, Т), где X = {Хі : і Є Іь} и {Sj : і Є І«} и Т = (І, Ш) — дерево блоков и точек сочленения графа О, определяет дерево декомпозиции этого графа.

Доказательство. Достаточно проверить выполнимость трех требований, которым должно удовлетворять всякое дерево декомпозиции. Доказательство опирается на свойства блоков. В самом деле, в качестве «мешков» здесь выступают блоковые множества и одновершинные сепараторы. Каждый из таких сепараторов принадлежит двум и более блоковым множествам. Согласно свойству 3, семейство блоковых множеств покрывает все вершины графа О. Исходя из свойства 1, всякое ребро {а, Ь} графа О входит в некоторый блок, а значит, оба конца данного ребра принадлежат «мешку», отвечающему этому блоку. На основании свойств 1 и 3 вершина V Є V графа О, если она не является точкой сочленения этого графа, всегда принадлежит лишь одному блоковому множеству (одному «мешку») и, следовательно, образует поддерево дерева Т, состоящее из одного узла. Если вершина V — точка сочленения графа О, то по построению дерева блоков и точек сочленения в Т всегда существует узел і Є І«, смежный с узлами і^ і2,... , іт Є Іь, которые соответствуют некоторому подмножеству блоков Б1 С В (О) графа О, причем точка сочленения V принадлежит «мешкам» только этих блоков и никаким другим. Таким образом, все узлы дерева, «мешки» которых содержат точку сочленения V, индуцируют связный подграф, являющийся поддеревом дерева Т. Все три требования, предъявляемые к дереву декомпозиции, выполнены. ■

Заметим, что дерево декомпозиции, определенное через блоковые множества и точки сочленения графа О, не имеет кратных «мешков», но обязательно имеет вложенные «мешки». Непустые пересечения «мешков» этого дерева задают все одновершинные сепараторы графа О. Ширина данного дерева устанавливает верхнюю границу значений і-ЦО). К сожалению, если граф О является 2-связным, то эта граница не отличается от границы, заданной неравенством (1). Если граф О содержит точки сочленения, т. е. является 1-связным, то для В (О) верна формула

которая означает, что древовидная ширина графа О может быть найдена через значения древовидной ширины всех его блоков. Пусть для каждого блока Бі определена некоторая его триангуляция Ні (і Є Іь). Тогда очевидна верхняя оценка

Поскольку при разложении графа на блоки размерность задачи построения наименьшей триангуляции снижается, то область действия погрешностей, вносимых схемами приближений и эвристиками, сокращается. Возможно также применение точных методов для блоков с небольшим числом вершин. Улучшение качества триангуляций Нг позволяет в силу (14) совершенствовать оценку (12).

Деревья декомпозиции, построенные для блоков, можно «склеить» через соответствующие сепараторы в графовую структуру, которая по утверждению 6 является

і-(О) = тах{і—(Бі) : і Є Іь},

(13)

і-(О) ^ тах{і—(Ні) : і Є Іь}.

(14)

деревом декомпозиции исходного графа О. Заметим, что в данном случае все сепараторы, образующие в (О), являются минимальными и попарно непересекающимися, так как они одновершинные. Семейство В (О) = {Бі : і Є Іь} можно создавать поэтапно — путем нахождения очередной точки сочленения в какой-либо компоненте связности графа, полученной на предыдущем этапе разбиения. При этом состав блоков в В (О) не зависит от порядка выбора точек сочленения.

Рассмотренный подход к предобработке графа можно обобщить на произвольные сепараторы. Если граф О = (V, Е) является /-связным, то к(О) ^ 1 ив О существуют сепараторы размера /. Пусть в(О) —множество сепараторов графа О и S Є в(О) — некоторый сепаратор размера / = ^|. Обозначим через Уі,У2,...,УТ области связности графа О^ \ S). Части О1,О2,...,От графа О, как результат разбиения его сепаратором S, определим сначала как подграфы, индуцированные множествами вершин Хі = У и S (і Є І = {1, 2, ...,т}). Для сохранения /-связности к каждой части добавим всевозможные ребра между вершинами множества S. Таким образом, если через К ^) обозначить полный граф на множестве вершин S, то окончательно Оі = О(Уі и S) + К(S), т. е. в каждом подграфе Оі вершины сепаратора S образуют клику (і Є І). Сепаратор S графа О назовем безопасным сепаратором относительно і—(О), если

і—(О) = тах{і—(Оі) : і Є І}. (15)

Лемма 6. Для произвольного сепаратора S графа О всегда

і—(О) ^ тах{і—(Оі) : і Є І}. (16)

Доказательство. Предположим, что значение максимума в правой части (16) равно ^. Тогда для каждого подграфа Оі можно построить дерево декомпозиции ширины не более ^ (і Є І). По высказыванию 1 утверждения 1 в этом дереве обязательно найдется узел, «мешок» которого содержит сепаратор S, так как вершины этого сепаратора образуют в Оі клику. Дерево декомпозиции графа О может быть сформировано путем добавления в каждое дерево декомпозиции, построенное для Оі (і Є І), дополнительного узла с «мешком», равным S, и «склеиванием» данных деревьев посредством этого дополнительного узла. Очевидно, что ширина результирующего дерева декомпозиции не будет превышать ^. ■

Утверждение 7. Если сепаратор S графа О — клика, то он безопасный относительно і—(О).

Доказательство. Если О^) — клика, то для любого подграфа Оі, как части разбиения О сепаратором S, справедливо равенство

Оі = О(Уі и К(^ = О(Уі и S), і Є І,

которое означает, что Оі — индуцированный подграф графа О. Исходя из следствия 1, і—(Оі) ^ і—(О). Отсюда

тах{і—(Оі) : і Є І} ^ і—(О). (17)

Из неравенств (16), (17) вытекает равенство (15). ■

Из утверждения 7 следует справедливость леммы 5, так как окрестность всякой симплициальной вершины — сепаратор, являющийся кликой и отделяющий эту вершину от других вершин графа. Утверждение 7 определяет достаточные условия безопасности сепаратора относительно древовидной ширины графа. Одновершинные сепараторы отвечают данному условию как одновершинные полные графы. Это является подтверждением равенства (13).

Следствие 4. Все одновершинные сепараторы графа О являются безопасными относительно і—(О).

Условие утверждения 7 можно расширить. Сепаратор S графа О есть почти клика, если существует вершина V Є S, такая, что множество S — V образует клику графа О.

Лемма 7 [3]. Сепаратор S графа О является минимальным тогда и только тогда, когда для каждой вершины V Є S и всякой области связности У (і Є І) графа О^ \ S) всегда найдется вершина w Є У, смежная с V в О(У и S).

Утверждение 8. Если S — почти клика и минимальный сепаратор графа О, то он безопасный относительно і—(О).

Доказательство. Пусть вершина V Є S такова, что множество S — V образует клику графа О. Покажем, что каждая компонента связности О(У и S) графа О(V \ S) содержит К^) в качестве минора (і Є І). Рассмотрим вершину V минимального сепаратора S, которая не входит в клику этого сепаратора. Согласно лемме 7, существует вершина w Є У, смежная с V в О (У и S). Для всякой другой вершины из S — V также имеется смежная вершина в О(У и S). Исходя из этого, все вершины области связности У можно стянуть к V. В результате стягивания получим граф К^). Убедимся теперь в справедливости равенства (15). Кроме О (У и S), проанализируем еще одну компоненту связности графа О^ \ S). Пусть это будет компонента О(У; и S). Она так же, как и О(У и S), включает К^) в качестве минора. Между тем граф О — У содержит О (У/ и S) в качестве подграфа, а значит, К ^) в качестве минора. Отсюда следует, что граф Оі = О(У и S) + К^) является минором для О. Поэтому по лемме 3 верно неравенство (17) и, учитывая лемму 6, справедливо равенство (15). ■

Следствие 5. Все минимальные двухвершинные сепараторы графа О безопасные относительно і—(О).

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

Результаты утверждений 6-8 и следствий 4, 5 могут быть использованы для уточнения верхних оценок древовидной ширины исходного графа О следующим образом:

1) первоначально семейство В (О) состоит только из О;

2) для каждого элемента из В (О) —некоторой части исходного графа — находим безопасный сепаратор. Поиск начинаем с сепараторов размера 1, затем, если таких нет, выполняем поиск минимальных сепараторов размера 2 и т. д.;

3) если безопасный сепаратор найден, то рассматриваемую часть подвергаем разбиению и полученные более мелкие части помещаем в В (О). Если безопасный сепаратор не найден, то этот элемент из В (О) далее уже не подвергается обработке;

4) шаги 2 и 3 повторяем до тех пор, пока в В(О) не окажется частей с безопасными сепараторами;

5) далее применяем алгоритмы триангуляции к элементам из В(О), если это необходимо, и затем соотношение (14).

Для того чтобы описанный процесс можно было реализовать за полиномиальное время, необходимо на шаге 2 осуществлять поиск только тех сепараторов, которые легко вычисляются. К ним, например, относятся сепараторы размера 1 и 2. Они вычисляются с помощью поиска в глубину [5] за время 0(п + т). Для нахождения сепараторов размера 3 и более можно привлекать потоковые алгоритмы (Форда — Фалкерсона, Эд-

монса — Карпа и др.) [8]. Однако эти алгоритмы более затратные по времени, хотя и являются полиномиальными.

Следует отметить, что результат разбиения исходного графа на части безопасными сепараторами, вообще говоря, зависит от порядка выбора этих сепараторов, поскольку при I > 1 в /-связном графе допустимы зависимые (разделяющие друг друга) сепараторы мощности /, и после разбиения по одному из них невозможно уже произвести разбиение по второму [26]. Тем не менее если использовать только безопасные сепараторы, то на каждом шаге разбиения верно (15) для любого построенного варианта B(G). Многовариантность может сказаться только на построении триангуляций для элементов из B(G) и, следовательно, на значении верхней границы древовидной ширины графа G в (14). Конечно, существуют графы, в которых нет минимальных сепараторов, являющихся кликами или почти кликами. Для них предложенный выше алгоритмический метод улучшения верхней оценки древовидной ширины не дает эффекта. В таких случаях требуются другие безопасные сепараторы и иные методы предварительной обработки графа.

Заключение

В настоящее время проблеме вычисления древовидной ширины графа и построения дерева декомпозиции в зарубежных научных изданиях уделяется много внимания. Использование дерева декомпозиции при решении NP-трудных графовых задач — один из современных подходов преодоления высокой вычислительной сложности этих задач. В российских изданиях тематика древовидной ширины графов освещена весьма скромно. Имеются работы по исследованию структуры сепараторов в многосвязных графах [26, 27]. Частично введена соответствующая терминология в словарь по теории графов [28]. Изучаются хордальные графы [29] и ведется разработка новых алгоритмов построения минимальных триангуляций [30]. Имеются работы по применению древовидной ширины графа в решении задач дискретной оптимизации [31]. Однако эти работы не охватывают весь спектр открытых вопросов, связанных с древовидной шириной графа.

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

ЛИТЕРАТУРА

1. Robertson N. and Seymour P. D. Graph minors. II. Algorithmic aspects of treewidth // J. Algorithms. 1986. V. 7. P.309-322.

2. Kleinberg J. and Tardos E. Algorithm Design. Boston: Addison-Wesley, 2005.

3. Bodlaender H. L. and Thilikos D. M. Treewidth for graphs with small chordality // Disc. Appl. Math. 1997. V. 79. P. 45-61.

4. Parra A. and Scheffler P. Characterizations and algorithmic applications of chordal graph embeddings // Disc. Appl. Math. 1997. V. 79. P. 171-188.

5. Емеличев В. А, Мельников О. И., Сарванов В. И., Тышкевич Р. И. Лекции по теории графов. М.: Наука, 1990.

6. Rose D., Tarjan R. E., and Lueker G. Algorithmic aspects of vertex elimination on graphs //

SIAM J. Comput. 1976. V. 5. P. 146-160.

7. Buneman P. A characterization of rigid circuit graphs // Disc. Math. 1974. V. 9. P. 205-212.

8. Быкова В. В. Дискретная математика с использованием ЭВМ. Красноярск: РИО Крас-ГУ, 2006.

9. Bodlaender H. L. Some classes of graphs with bounded treewidth // Technical Report RUU-CS-76-22, Dept. Comput. Science, Univ. Utrecht, 1998.

10. Bodlaender H. L. A partial k-arboretum of graphs with bounded treewidth // Theor. Comput. Sci. 1998. V. 209. P. 1-45.

11. Blair J. R. S. and Peyton B. An introduction to chordal graphs and clique trees // Graph

theory and sparse matrix computation. New York: Springer, 1993. P. 1-29.

12. Berry A. A wide-range efficient algorithm for minimal triangulation // Proc. Tenth Annual ACM-SIAM Symposium on Disc. Algorithms. Philadelphia: SIAM, 1999. P. 860-861.

13. Berry A., Heggernes P., and Simonet G. The minimum degree heuristic and the minimal triangulation process // LNCS. 2003.V. 2880. P. 58-70.

14. Arnborg S., Corneil D. G., and Proskurowski A. Complexity of finding embeddings in a k-tree // SIAM J. Alg. Disc. Meth. 1987. V.8. P. 277-284.

15. Gogate V. and Dechter R. A complete anytime algorithm for treewidth // Proc. 20Th Conference on Uncertainty in Artificial Intelligence. Arlington, Virginia, USA: AUAI Press, 2004. P. 201-208.

16. Bodlaender H. L., Fomin F. V., Koster A. M. C. A, et al. On exact algorithms for treewidth // LNCS. 2006. V. 4168. P. 672-683.

17. Bodlaender H. L. and Kloks T. Efficient and constructive algorithms for the pathwidth and treewidth of graphs // J. Algorithms. 1996. V. 21. P. 358-402.

18. Bodlaender H. L. and Rotics U. Computing the treewidth and the minimum fill-in with the modular decomposition // Algorithmica. 2003. V. 36. P. 375-408.

19. Broersma H., Dahlhaus E., and Kloks T. A linear time algorithm for minimum fill-in and tree width for distance hereditary graphs // Disc. Appl. Math. 2000. V. 99. P. 367-400.

20. Broersma H., Kloks T., Kratsch D., and Muller H. A generalization of AT-free graphs and a generic algorithm for solving triangulation problems // Algorithmica. 2002. V. 32. P. 594-610.

21. Bodlaender H. L. and Fluiter B. Parallel algorithms for series parallel graphs and graphs with treewidth two // Algorithmica. 2001. V. 29. P. 543-559.

22. Amir E. Efficient approximations for triangulation of minimum treewidth // Proc. 17Th Conference on Uncertainty in Artificial Intelligence. CA, USA: Morgan Kaufmann Publishers Inc. San Francisco, 2001. P. 7-15.

23. Bouchitte V., Kratsch D., Muller H., and Todinca I. On treewidth approximations // Disc. Appl. Math. 2004. V. 6. P. 183-196.

24. Clautiaux F., Moukrim A., Negre S., and Carlier J. Heuristic and meta-heuristic methods for computing graph treewidth // RAIRO Oper. Res. 2004. V. 38. P. 13-26.

25. Eppstein D. Diameter and treewidth in minor-closed families // Algorithmica. 2000. V. 27. P. 275-291.

26. Карпов Д. В. Разделяющие множества в k-связном графе // Зап. научн. семин. ПОМИ. 2006. Т. 340. С. 33-60.

27. Карпов Д. В., Пастор А. В. О структуре k-связного графа // Зап. научн. семин. ПОМИ. 2000. Т. 266. С. 76-106.

28. Евстигнеев А. А., Касьянов В. Н. Словарь по графам в информатике. Новосибирск: ООО «Сибир. научн. изд-во», 2000.

29. Турсунбай кызы Ы. Деревья клик хордального графа и деревья подграфов // Конструирование и оптимизация программ. Новосибирск: Институт систем информатики СО РАН, 2008. Вып. 16. С. 314-321.

30. Быкова В. В., Никульская Н. А. Алгоритмические аспекты минимальных триангуляций графа // Труды XIV Межд. конф. по эвент. матем. и смежным вопросам. Красноярск: КГТЭИ, СФУ, 2010. С. 26-32.

31. Щербина О. А. Локальные элиминационные алгоритмы решения разреженных дискретных задач // Журн. вычисл. матем. и матем. физ. 2008. Т. 48. №1. С. 159-175.

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