ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА
2015 Прикладная теория графов №4(30)
УДК 519.17
ВЕРХНЯЯ ОЦЕНКА КОЛИЧЕСТВА ДОПОЛНИТЕЛЬНЫХ РЁБЕР МИНИМАЛЬНЫХ РЁБЕРНЫХ 1-РАСШИРЕНИЙ СВЕРХСТРОЙНЫХ ДЕРЕВЬЕВ
Д. Д. Комаров
Саратовский государственный университет им. Н. Г. Чернышевского, г. Саратов, Россия
Минимальные рёберные расширения графов можно рассматривать как модель оптимальной рёберной отказоустойчивой реализации некоторой системы. Работа посвящена верхней оценке количества дополнительных рёбер минимальных рёберных 1-расширений для графов специального вида — сверхстройных деревьев. Приводятся две схемы построения рёберного 1-расширения для сверхстройного дерева произвольного вида и соответствующий алгоритм на основе этих схем.
Ключевые слова: графы, минимальные расширения графов, сверхстройное дерево, отказоустойчивость.
DOI 10.17223/20710410/30/9
UPPER BOUND FOR THE NUMBER OF ADDITIONAL EDGES IN MINIMAL 1-EDGE EXTENSIONS OF STARLIKE TREES
D. D. Komarov
Saratov State University, Saratov, Russia E-mail: [email protected]
Minimal edge extension of graphs can be regarded as a model of optimal edge fault tolerant implementation of a system. This paper is about an upper bound for the number of additional edges in minimal 1-edge extensions for graphs of a special class — starlike trees. Two schemes for constructing 1-edge extensions for any kind starlike trees and an algorithm based on these schemes are proposed.
Keywords: graphs, minimal extensions of graphs, fault tolerance, starlike trees.
Введение
Задача распознавания рёберного расширения произвольного графа является NP-полной [1], поэтому представляет интерес нахождение классов графов, для которых возможно построить минимальное рёберное расширение аналитически или найти «хорошую» верхнюю (нижнюю) оценку количества дополнительных рёбер минимального расширения. Для минимальных вершинных 1-расширений графов существуют такие оценки. Так, например, тривиальное вершинное 1-расширение для произвольного графа может выступать в качестве верхней оценки. Для рёберных же расширений произвольного графа в качестве верхней оценки можно взять лишь полный граф, учитывая при этом, что в общем случае не для всех графов существуют рёберные расширения. Работа [2] посвящена нижней оценке числа дополнительных рёбер минимального рёберного 1-расширения произвольного сверхстройного дерева. В данной работе рассматривается верхняя оценка.
92
Д. Д. Комаров
Актуальность задачи нахождения минимальных рёберных расширений графа рассматривается в контексте моделирования отказоустойчивых систем. Ф. Харари и Дж. Хейз рассматривают граф как модель некоторой технической системы [3]. Отказ связи системы рассматривается как удаление соответствующего этой связи ребра. При такой интерпретации минимальное рёберное k-расширение графа, моделирующего некоторую систему Е, является моделью оптимальной рёберной k-отказоустойчивой реализации системы Е.
Дадим основные определения, которые будут использованы в работе.
Назовём граф G* = (V*,а*) рёберным k-расширением графа G = (V, а), если граф G вложим в каждый граф, получающийся из G* удалением любых его k рёбер.
Граф G* = (V*,а*) называется минимальным рёберным k-расширением графа G = (V, а), если выполняются следующие условия:
1) граф G* является рёберным k-расширением G;
2) |V*| = |V|;
3) а* имеет минимальную мощность при выполнении условий 1 и 2.
Будем говорить, что минимальное рёберное k-расширение содержит |а* | — |а| дополнительных рёбер. Обозначим через ec(G, k) число дополнительных рёбер минимального рёберного k-расширения графа G. При k =1 будем записывать просто ec(G).
Ациклический связный граф называется деревом; дерево с одной выделенной вершиной называется корневым деревом, а выделенная вершина — корнем дерева. В дереве вершины степени 1 называются листьями.
Сверхстройным деревом называется корневое дерево, где степень всех вершин, кроме корня, не превосходит 2, а степень корня больше 2.
Альтернативное определение: граф G называется сверхстройным деревом, если он является объединением s > 2 цепей с общей концевой вершиной (примеры сверхстройных деревьев показаны на рис. 1).
Будем задавать сверхстройное дерево с помощью вектора (а1,..., as), где ai — количество цепей длины i; s —длина максимальной цепи.
Пусть граф G — сверхстройное дерево, являющееся объединением s > 2 цепей Pi, ... , Ps с общей концевой вершиной и заданное вектором (а1,..., at), t > 1. Назовём ребро цепи Pi сложным ребром цепи Pi, если при его удалении цепь Pi разбивается на две цепи длин k и li (k + li + 1 = m^ mi —длина цепи Pj), причём aki = 0, aii = 0, и ни ki, ни li не равны 0. Ребро, не являющееся сложным, назовём простым ребром. Назовём началом сложного ребра вершину, инцидентную этому ребру и находящуюся ближе к корневой вершине. Количеством сложных рёбер сверхстройного дерева будем называть общее количество сложных рёбер цепей этого сверхстройного дерева.
Приведём некоторые результаты относительно верхней оценки количества дополнительных рёбер для сверхстройных деревьев специального вида.
Верхняя оценка количества дополнительных рёбер
93
Теорема 1. Пусть граф G — сверхстройное дерево, заданное вектором (а\,..., as), ai = 0 для i = 1,..., s, причём если s чётно, то as/2 ^ 2. Тогда существует граф G* — рёберное 1-расширение графа G — с количеством дополнительных рёбер ec(G), вычисляемым по формуле
[s/2]
ec(G) = as + Y, (|ai - as-i| + min(ai, as-i)). (1)
i= 1
Количество таких неизоморфных рёберных расширений равно
[s/2]
n min(ai,a(s_i)) , ,
, J|«i-«(s-i)l , (2)
i=1
где TK можно вычислить с помощью рекуррентной формулы
TK = tK-k + TK-1. (3)
Здесь T0 = 0, T0k = 1 и TK = TN, если N > 0, K > N.
Доказательство. Пусть граф G — сверхстройное дерево, заданное вектором (a1,... , as), ai = 0 для i = 1,..., s, и если s чётно, то as/2 ^ 2. Построим граф G* из графа G следующим образом: листья цепей длины s соединим с корневой вершиной; лист цепи длины i, отличной от s, соединим с листом цепи длины (s — i), не соединённым ни с каким другим листом, либо, если таких нет, с любым листом цепи длины (s — i). Пример описанной схемы для s = 3 показан на рис. 2.
Покажем, что граф G* является рёберным 1-расширением графа G. Из построения очевидно, что граф G* является объединением циклов длины (s + 1), причём все циклы имеют одну общую вершину (корневая вершина в дереве) и каждое ребро в G* принадлежит, по крайней мере, одному из этих циклов. Построим граф G1 из G*, удалив произвольное ребро. Цикл, которому принадлежит это ребро, распадётся на две цепи с длинами l и (s — l), 0 ^ l ^ s. Пусть изначально этот цикл был образован цепями длин k и (s — k), 0 ^ k ^ s. Тогда при вложении G в G1 цепи длин k и (s — k) могут вложиться в цикл, образованный цепями длин l и (s — l). Остальное вложение можно произвести естественным путём. Таким образом доказывается вложимость G1 в G, из чего следует, что G* — рёберное 1-расширение графа G. Количество дополнительных рёбер этого расширения даёт формула (1).
Соотношение для количества неизоморфных таких рёберных 1-расширений выводится из нижеследующих соображений. Если не для каждой цепи длины i найдется свободная пара — цепь длины (s — i), то такие цепи можно соединить с любой занятой цепью длины (s — i). Именно различные сочетания соединений «беспарных» цепей
94
Д. Д. Комаров
с занятыми цепями обуславливают возможность получения неизоморфных рёберных
1-расширений по описанной схеме. Для конкретного i задачу о количестве различных способов соединения можно переформулировать следующим образом: сколькими различными способами можно разбить число n на сумму, где количество слагаемых не превышает к; в данном контексте под n подразумевается количество занятых цепей длины (s — i), а под к — количество «беспарных» цепей длины i. Решение данной задачи описывается с помощью рекуррентной формулы (3). Для получения окончательного результата необходимо перемножить результаты для всех i от 1 до [s/2], в результате чего и получится итоговая формула (2). ■
Сверхстройных деревьев, удовлетворяющих условию теоремы 1, относительно немного, поэтому представляет интерес построить оценку для сверхстройных деревьев произвольного вида.
1. Основной результат
Теорема 2. Пусть граф G — сверхстройное дерево, заданное вектором (a1,... , as), при этом ai = к и a2 = 0, к = 0. Тогда существует граф G* — рёберное 1-расширение графа G с количеством дополнительных рёбер ec(G), вычисляемым по формуле
ec(G) = к + J2(i — 1) ai.
i=1
Доказательство. Построим граф G* из G. Для каждой из цепей графа G выполним следующие действия:
1. Если длина цепи не равна 1, то соединим вершину степени 1, принадлежащую этой цепи, со всеми вершинами этой цепи, не смежными с ней, в том числе и с корневой вершиной дерева (рис. 3).
2. Если длина цепи равна 1, то соединим вершину степени 1, принадлежащую этой цепи, с вершиной, смежной с вершиной степени 1 из любой другой цепи длины больше 1 (рис. 4).
Рис. 3
Рис. 4
s
Построенный граф G* имеет к + (i — 1) ai дополнительных рёбер по сравнению
i=1
с G. Покажем, что G* является рёберным 1-расширением графа G. Очевидно, что при удалении любого из добавленных рёбер вложение осуществляется естественным путём.
Рассмотрим два случая: 1) удаление ребра из цепи длины больше 1 и 2) удаление ребра из цепи длины 1.
Для удаления ребра из цепи длины больше 1: схема вложения этой цепи представлена на рис. 5, остальные цепи можно вложить естественным путём. Для удаления ребра
Верхняя оценка количества дополнительных рёбер
95
из цепи длины 1: схема вложения этой цепи и цепи, с которой она соединена в процессе построения, представлена на рис. 6, остальные цепи можно вложить непосредственно.
Рис. 5
Теорема доказана. ■
Схема из теоремы 2 имеет ограничения на сверхстройные деревья, к которым она применима. Рассмотрим ещё одну схему, дающую рёберное 1-расширение для сверхстройных деревьев произвольного вида.
Теорема 3. Пусть граф G — сверхстройное дерево, являющееся объединением s > 2 цепей Pi, ..., Ps с общей концевой вершиной и заданное вектором (ai,..., at), t > 1. Тогда существует граф G* —рёберное 1-расширение графа G с количеством дополнительных рёбер ec(G), вычисляемым по формуле
ec(G) = Nd + S + ai (s - ai),
где Nd — количество сложных рёбер графа G.
Доказательство. Построим граф G* из графа G путём соединения каждой вершины степени 1 из цепи длины больше 1 со всеми вершинами степени 1 других цепей, корневой вершиной и всеми началами сложных рёбер цепи, которой принадлежит эта вершина. Схема построения графа G* представлена на рис. 7.
Количество добавленных рёбер в G* по сравнению с G можно вычислить по по-
s — 1 + ai . s + 1 + ai . .
строению: Nd +---------(s — ai) + (s — ai) = Nd +-------(s — ai).
2
2
96
Д. Д. Комаров
Покажем, что граф G* является рёберным 1-расширением графа G. Очевидно, что при удалении любого из добавленных рёбер вложение осуществимо естественным путём.
Рассмотрим два случая: 1) удаление сложного ребра цепи и 2) удаление простого ребра. Для удаления сложного ребра из цепи: схема вложения этой цепи представлена на рис. 8, остальные цепи можно вложить естественным путём.
О
о
У
о
о
Рис. 8
При удалении простого ребра возможны четыре случая: при удалении ребра цепь Pi разбивается на две цепи длин к и li, при этом 1) к = 0; 2) li = 0; 3) aki > 0; 4) aii > 0.
Случай 1: ki = 0. Схема вложения цепи, которой принадлежит удаляемое ребро, представлена на рис. 9, остальные цепи можно вложить естественным путём.
С л у ч а й 2: li = 0. Схема вложения цепи, которой принадлежит удаляемое ребро, представлена на рис. 10, остальные цепи можно вложить естественным путём, при этом корневая вершина вкладывается в вершину, которая была листом в исходном сверхстройном дереве.
Случай 3: a^i > 0. Схема вложения цепи, которой принадлежит удаляемое ребро, и цепи длины ki представлена на рис. 11, остальные цепи можно вложить естественным образом.
Для с л у ч а я 4 (aii > 0) схема аналогична, но корневая вершина вкладывается в вершину, которая была листом в исходном сверхстройном дереве.
Рис. 9
Рис. 10
Рис. 11
Таким образом, теорема доказана. ■
Стоит отметить, что в некоторых случаях схема из теоремы 2 позволяет построить рёберное 1-расширение с меньшим количеством дополнительных рёбер по сравнению со схемой из теоремы 3, а в каких-то случаях схема из теоремы 3 оказывается оптимальней схемы из теоремы 2.
Например, на рис. 12 представлен граф, для которого схема из теоремы 2 даёт рёберное 1-расширение с шестью, а схема из теоремы 3 — с девятью дополнительными
Верхняя оценка количества дополнительных рёбер
97
рёбрами. Причём для данного графа минимальное рёберное 1-расширение имеет всего три дополнительных ребра. На рис. 13 представлен граф, для которого схема из теоремы 2 даёт рёберное 1-расширение с пятью, а схема из теоремы 3 — с четырьмя дополнительными рёбрами, причём в данном случае схема из теоремы 3 даёт минимальное рёберное 1-расширение [5].
Заметим, что в каждой из рассмотренных схем построение для одной конкретной цепи происходит изолированно и последовательно; это позволяет для каждой цепи независимо выбирать стратегию построения либо из теоремы 2, либо из теоремы 3. Единственным нюансом остаётся тот факт, что для схемы из теоремы 3 важным является, для какого количества цепей она будет использована (так как вершина степени 1 в этой схеме соединяется со всеми вершинами степени 1, а какие-то вершины степени 1 могут быть уже соединены). Минимизацию в данном случае можно выполнить с помощью итеративных повторений.
Сформулируем алгоритм 1 построения рёберного 1-расширения произвольного сверхстройного дерева, основанный на схемах из теорем 2 и 3. В алгоритме использованы вспомогательные переменные: i — счетчик цикла; h — признак того, что решение найдено (0 — не найдено, 1—найдено); u — количество цепей, для которых стоит применить схему из теоремы 3.
Сложность алгоритма составляет O(s2), так как в худшем случае за каждый проход по s цепям добавляется ровно одна цепь, для которой стоит применить схему из теоремы 3; в таком случае понадобится не более s проходов.
На рис. 14 показан 14-вершинный граф и его рёберное 1-расширение, полученное с использованием алгоритма 1. Данное рёберное 1-расширение имеет 8 дополнительных рёбер; для двух цепей применена схема из теоремы 2 и для одной — схема из теоремы 3. При этом рёберное 1-расширение, полученное только по схеме из теоремы 2, имеет 10 дополнительных рёбер, а полученное по схеме из теоремы 3 — 9 дополнительных рёбер. Минимальное рёберное 1-расширение этого графа, полученное в результате вычислительного эксперимента, имеет всего 3 дополнительных ребра.
В заключение стоит отметить, что для любого графа с количеством вершин меньше 11, являющегося объединением цепи длины 3 и произвольного количества цепей длины 1 с общей концевой вершиной, алгоритм 1 даёт минимальное рёберное 1-рас-
98
Д. Д. Комаров
Алгоритм 1. Построение рёберного 1-расширения произвольного сверхстройного дерева
Вход: граф G — объединение s > 2 цепей с длинами Ш\, ... , ms и с общей концевой вершиной.
Выход: булев вектор (f1,... , fs), где fi = 0, если для цепи i надо применять схему из теоремы 2, и fi = 1, если для цепи i надо применять схему из теоремы 3.
1: Для всех i = 1,... , s положить fi := 0;
2: h :=0, u :=0, Si положить равным количеству цепей длины 1;
3: Если h =1 или u = s, переход к шагу 12;
4: h := 1, i := 1;
5: Если i > s, переход к шагу 3;
6: Если fi =1, переход к шагу 10;
7: Если mi < (s — u + ri + 1 — s1) и mi > 2, где ri — количество сложных рёбер цепи Pi, переход к шагу 10;
8: Если mi = 1 и u = 0, переход к шагу 10;
9: u := u + 1; h := 0; fi := 1; s1 := 0;
10: i := i + 1;
11: переход к шагу 5;
12: Вернуть (fi,...,fs).
ширение [5]. Таким образом, оценка количества дополнительных рёбер минимального рёберного 1-расширения произвольного сверхстройного дерева, которую можно получить с помошью алгоритма 1, является достижимой.
ЛИТЕРАТУРА
1. Абросимов М. Б. О сложности некоторых задач, связанных с расширениями графов // Матем. заметки. 2010. Т. 88. №5. С. 643-650.
2. Абросимов М. Б. О нижней оценке числа ребер минимального реберного 1-расширения сверхстройного дерева // Изв. Сарат. ун-та. Нов. сер. Математика. Механика. Информатика. 2011. Т. 11. Вып.3. Ч.2. С. 111-117.
3. Harary F. and Hayes J. P. Edge fault tolerance in graphs // Networks. 1993. No. 23. P. 135-142.
4. Абросимов М. Б. Графовые модели отказоустойчивости. Саратов: Изд-во Сарат. ун-та,
2012. 192 с.
5. Абросимов М. Б., Комаров Д. Д. Минимальные реберные расширения сверхстройных деревьев с малым числом вершин. Саратов, 2010. 27с. Деп. в ВИНИТИ 18.10.2010 №589-В2010.
Верхняя оценка количества дополнительных рёбер
99
REFERENCES
1. Abrosimov M. B. O slozhnosti nekotorykh zadach, svyazannykh s rasshireniyami grafov [On the complexity of some problems related to graph extensions]. Mat. Zametki, 2010, vol.88, no. 5, pp. 643-650. (in Russian)
2. Abrosimov M. B. O nizhney otsenke chisla reber minimal’nogo rebernogo 1-rasshireniya sverkhstroynogo dereva [On lower bound of edge number of minimal edge 1-extension of starlike tree]. Izv. Saratov Univ. (N.S.), Ser. Math. Mech. Inform., 2011, vol. 11, iss. 3(2), pp. 111-117. (in Russian)
3. Harary F. and Hayes J. P. Edge fault tolerance in graphs. Networks, 1993, no. 23, pp. 135-142.
4. Abrosimov M. B. Grafovye modeli otkazoustoychivosti [Graph Model of Fault Tolerance]. Saratov, SSU Publ., 2012. 192 p. (in Russian)
5. Abrosimov M. B., Komarov D. D. Minimal’nye rebernye rasshireniya sverkhstroynykh derev’ev s malym chislom vershin [Minimal Edge 1-Extension of Starlike Trees with a Small Number of Vertices]. Saratov, 2010. 27p. VINITI, 18.10.2010, No. 589-V2010. (in Russian)