2020 Прикладная теория графов №47
УДК УДК 519.17+519.24
ДЕКОМПОЗИЦИЯ СЕТИ ПО СЕЧЕНИЯМ ПРИ РАСЧЁТЕ ЕЁ НАДЁЖНОСТИ1
Д. А. Мигов
Институт вычислительной математики и математической геофизики СО РАН,
г. Новосибирск, Россия
Рассматривается задача расчёта такого показателя надёжности сети, как вероятность связности соответствующего случайного графа. Предполагается, что рёбра сети подвержены отказам, которые происходят независимо друг от друга с заданными вероятностями. Узлы сети полагаются абсолютно надёжными. Приводится общая методика получения формул, выражающих надёжность сети с сечением (вершинным разрезом) через надёжности её подсетей, получаемых при декомпозиции по сечению, а также через надёжности всевозможных вариантов стягивания таких подсетей по разрезающим вершинам. На её основе выводятся такие формулы для сечений из двух, трёх и четырёх вершин. Для двусвязных структур описаны математический аппарат и алгоритм, позволяющие при расчёте их надёжности эффективно учитывать все двухвершинные сечения. Приводятся результаты численных экспериментов, демонстрирующие применимость предлагаемых методов.
Ключевые слова: надёжность сети, случайный граф, вероятность связности, метод факторизации, декомпозиция сети, сечение, разрез.
DOI 10.17223/20710410/47/6
VERTEX DECOMPOSITION TO CALCULATE THE NETWORK PROBABILISTIC CONNECTIVITY
D. A. Migov
Institute of Computational Mathematics and Mathematical Geophysics of SB RAS,
Novosibirsk, Russia
E-mail: mdinka@rav.sscc.ru
We consider the problem of calculating such an indicator of network reliability as the random graph probabilistic connectivity. It is assumed that the edges of the network are subject to failures that occur independently of each other with given probabilities. Network nodes are assumed to be absolutely reliable. The possibility of using network decomposition via vertex cuts for the network reliability calculation is investigated. By cut we mean a set of network elements, the removal of which makes the network disconnected. The history of the development of such methods is given, and the place of our results is indicated among them. The results related to the case of two nodes cuts are presented in detail, including the results of the author and R.K. Wood (1985). Next, we consider the cuts of arbitrary power. The results in this area were obtained by the author (2004-2008) and J.M. Burgos (2016). Also, certain results using cuts were obtained by the author for the cumulative bounds
1 Работа поддержана грантом РФФИ № 18-07-00460 и ПФИ ИВМиМГ СО РАН № 0315-2016-0006.
updating of the random graph probabilistic connectivity (2012) and for the diameter constrained reliability calculation (2011-2012). Author results include the general method, which gives the formulas expressing the reliability of a network with a vertex cut through the reliabilities of its subnets obtained by cut decomposition, as well as through reliabilities of the subnets, contracted by all possible variants over cut vertices. On its basis, we derive such formulas for cuts of two, three, and four vertices. Some of the results of the author were previously published; some results are published for the first time, including the correct formula for four vertices cut and the valid proof of the solvability of a system of linear equations, which guarantees the existence of the above mentioned formulas. The results of numerical experiments showing the applicability of the proposed methods are given. For example, using the 3 cut formula the reliability calculation of the 3 x 16 grid shows an acceleration of about 120 times compared with the factoring method. For biconnected structures, a mathematical apparatus and an algorithm are given that make it possible to effectively take into account all two-vertex sections when calculating their reliability. Without such an approach we should use above mentioned cut formulas recursively, for graphs obtained by cut decomposition and for these graphs contracted by all possible variants over cut vertices. This inevitably leads to recalculation of reliability for certain graphs. Using the proposed algorithm allows to avoid such recalculation and additionally speeds up the reliability calculation for suitable network structures.
Keywords: network reliability, random graph, probabilistic connectivity, factoring method, network decomposition, vertex cut, edge cut.
Введение
При проектировании и оптимизации сетей различного назначения одной из важнейших задач является обеспечение их надёжного функционирования. В большинстве случаев при анализе надёжности сетей используют такой математический объект, как случайный граф [1]. Элементы случайного графа присутствуют с заданными вероятностями, что описывает надёжность соответствующих элементов моделируемой сети. В качестве показателей надёжности сети могут быть рассмотрены различные характеристики случайного графа.
Наиболее распространённым показателем стала вероятность связности подмножества вершин случайного графа с ненадёжными рёбрами [2], описывающая надёжность сети с точки зрения возможности установления соединения между каждой парой узлов сети из выделенного подмножества узлов сети — полюсов (k-terminal network reliability). При совпадении этого подмножества с множеством всех узлов сети получаем вероятность связности (all-terminal network reliability). Отдельно выделяют случай двух полюсов (2-terminal network reliability). Данные характеристики случайного графа долгое время были объектом всестороннего изучения, что сделало их «классическими» показателями сетевой надёжности.
Для каждого из указанных показателей задача его расчёта является NP-труд-ной [3], соответственно точный расчёт требует экспоненциальной трудоёмкости. Это, однако, не помешало развитию точных методов, наиболее известными из которых стали метод факторизации (ветвления, Мура — Шеннона) и его модификации [4] и логико-вероятностные методы на основе так называемой бинарной диаграммы решения (Binary Decision Diagram (BDD)) [5]. Отдельным направлением стала разработка универсальных методов преобразований графа (Reliability Preserved Graph Transformation (RPGT)), основанных, как правило, на редукции, которые позволяют переходить
к рассмотрению графа меньшей размерности. Методы включают в себя такие преобразования, как последовательно-параллельное [6], «многоугольник-на-цепь» [7] и «треугольник-звезда» [8].
С 90-х годов прошлого века вводятся в рассмотрение и активно изучаются различные другие показатели, что связано, в первую очередь, с резко возросшей потребностью в использовании объектов сетевой структуры нового типа. Для адекватного описания надёжности новых типов сетей уже не могут быть использованы классические показатели сетевой надёжности. Отметим беспроводные сенсорные сети [9], иерархические сети [10], сети с ограничением на количество транзитных узлов при передаче информации [11]. Трудоёмкость расчёта надёжности таких сетей, как правило, значительно превосходит трудоёмкость расчёта классических показателей сетевой надёжности. Классические показатели при этом не теряют своей актуальности и также продолжают активно исследоваться. Развиваются как приближённые алгоритмы [12], так и методы точного расчёта, в том числе БВВ-методы [5]. Приведём краткий обзор важных результатов в данной области, полученных за последние 20 лет, исчерпывающие обзоры более ранних результатов можно найти в [2].
Приближённые алгоритмы основываются, как правило, на методах статистического моделирования [12] либо на структурном анализе графа в условиях различных предположений на входные данные. Важные результаты в этом направлении получены в работах Г. Ш. Цициашвили, М. А. Осиповой, А. С. Лосева [13]. Работы этого коллектива посвящены изучению асимптотических формул для вероятности связности графов с высоконадёжными либо с низконадёжными рёбрами, в том числе для планарных графов.
В области разработки точных методов за это время также получены важные результаты [14-18], что обусловлено в основном бурным развитием вычислительной техники. Отметим, в первую очередь, принципиально новый подход с разложением по остовному дереву [17]. С помощью него можно осуществлять точный расчёт вероятности связности графа, что в некоторых случаях оказалось предпочтительнее метода ветвления. Этот подход может быть использован и для оценки надёжности. А. С. Родионовым и О. К. Родионовой предложена модификация метода факторизации, позволяющая осуществлять ветвление по цепям произвольной длины [15]. В работах указанных авторов и Д. А. Мигова [16] получен также ряд формул для быстрого расчёта надёжности графов малой размерности, что значительно ускоряет расчёт надёжности сетей произвольной размерности с использованием факторизации. В [18] аналитически выведено несколько формул для выражения вероятности связности подмножества вершин графа через вероятности связности графов, построенных специальным образом на всевозможных разбиениях множества вершин с использованием функции Мёбиуса.
Одним из наиболее значимых результатов стал метод кумулятивного уточнения верхней и нижней границ надёжности сети [19]. При этом подходе необязательно осуществлять исчерпывающий расчёт, достаточно определить, пересекает ли верхняя или нижняя граница требуемый уровень, что позволяет принять решение о надёжности/ненадёжности сети по отношению к установленному порогу. За основу в качестве метода расчёта может быть взят как метод факторизации, так и логико-вероятностные методы и метод разложения по остовному дереву. Подход был далее развит в [20], в том числе и на другие показатели надёжности. Отдельным направлением стала разработка параллельных методов расчёта надёжности, как приближённых [21], так и точных [22].
Более полный обзор методов анализа сетевой надёжности можно найти, например, в [23].
Таким образом, к настоящему времени разработан обширный математический и алгоритмический аппарат для анализа показателей сетевой надёжности. Данный аппарат предоставляет различные инструменты: методы редукции и декомпозиции, кумулятивное уточнение границ, параллельные методы, имитационное моделирование, генетические алгоритмы и другие методы, обеспечивающие в совокупности возможность анализа надёжности сетей практически интересной размерности на современных вычислительных системах за приемлемое время. При этом для сетей из сотен элементов зачастую возможно осуществить точный расчёт их надёжности.
В данной работе рассматриваются классические показатели надёжности сетей с ненадёжными рёбрами и абсолютно надёжными узлами. Для таких сетей исследуется возможность применения декомпозиции по сечениям для расчёта надёжности. Под сечением понимается вершинный разрез, т. е. множество узлов, удаление которых делает сеть несвязной. В п. 1 приводится история развития подобных методов и обозначено место работ автора среди них. В п. 2 даны необходимые определения, в п. 3 изложены результаты автора, касающиеся случая с сечением произвольной мощности. В основном эти результаты ранее были опубликованы, за исключением доказательства разрешимости системы линейных уравнений, что даёт возможность корректного применения предлагаемых декомпозиционных методов. В п. 4 содержатся новые результаты, позволяющие эффективно использовать сразу все двухвершинные сечения произвольной двусвязной сети для расчёта её надёжности, что на порядки ускоряет расчёт для подходящих структур сетей.
1. Обзор методов расчёта надёжности сетей с применением декомпозиции по сечениям
Простейший пример использования сечений в расчёте надёжности сетей — использование точек сочленения, т. е. одновершинных сечений. Это позволяет разложить граф на двусвязные компоненты. При этом вероятность связности графа G равна произведению вероятностей связности его двусвязных компонент B^
R(G) = n R(Bi).
iei
Здесь R(G) —вероятность связности G; I — множество индексов всех двусвязных компонент графа.
С учётом экспоненциальной трудоёмкости подобная декомпозиция может существенно ускорить расчёт надёжности. Авторство данного подхода установить достаточно затруднительно, так как в большинстве работ эта формула приводится как очевидный факт [24].
Новым этапом развития методов декомпозиции по сечениям стала работа Вуда [25]. Он первым рассмотрел возможность использования двухвершинных сечений (далее — 2-сечений), сделав это для наиболее универсального из трёх классических показателей надёжности — k-полюсной вероятности связности сети (k-terminal network reliability). Особенностью подхода стало его описание в рамках сохраняющего надёжность преобразования графа (RPGT). Это, на наш взгляд, несколько усложнило изложение и затруднило восприятие этого важного результата, сформулированного в виде следующей теоремы (приводится дословный перевод оригинала).
Теорема 1 [25]. Пусть С — граф без точек сочленения с сечением (и,«}, таким, что С к = Ск и С? к, где V П? = (и, у}, Е П Е = 0. Тогда Ск может быть заменён цепью х(и, «) , состоящей из одного, двух или трех рёбер для получения графа С'к, = (Сих)к', такого, что К(Ск) = ПК(С'к') для вычисляемой константы П.
Здесь Ск — граф С = (V, Е) с множеством полюсов К; Ск — граф С = (У,Е) с множеством полюсов К; С?к — граф С = (V,Е) с множеством полюсов К?; К' — множество полюсов графа С'.
Всего приводится шесть различных комбинаций К, К и соответствующих им х и П, а также значений вероятностей присутствия некоторых рёбер в новом графе для описания всех возможных конфигураций полюсов и разрезающих вершин. При этом никакого экспериментального исследования не проводилось, а за поиском 2-сечений автор отсылает к работе [26], предлагающей алгоритм линейной трудоёмкости разложения графа на трёхсвязные компоненты. Кроме того, Вуд рассматривает возможность рекурсивного использования теоремы 1, применяя далее декомпозицию к получаемым графам.
Следующим этапом в развитии декомпозиционных методов стала серия результатов, полученных автором [27-29]. Первый из них — формула вероятности связности графа с 2-сечением (рис. 1), впервые опубликованная в 2004 г. на русском языке [27], а также на английском в 2006 г. [30] и 2012 г. [20]:
К(С) = К(С1)(К(С2) - К(С2)) + К(С2)(Я(С[) - К(С1)) + К(С1)К(С2). (1)
Здесь через С\ обозначен граф, полученный из С слиянием вершин х и у, % = 1, 2 (рис.2).
Рис. 1. Граф с двухвершинным сечением
x
О
у
Рис. 2. Слияние вершин сечения в подграфах
В то время (2003-2006) автор не был знаком с результатами Вуда. Вследствие этого был предложен альтернативный подход к применению сечений, целью которого было получение удобных для расчёта формул, а не следование канонам ИРСТ. По сути, формула (1) является частным случаем теоремы Вуда при восстановлении соответствующих значений П и надёжности рёбер в новой цепи х, что, однако, совершенно
2
не очевидно на первый взгляд. Вместе с тем, мы одновременно привели и экспериментальные данные, показывающие, что использование формулы (1) ускоряет расчёт на порядки для подходящих структур. Описан также случай, когда сечение разделяет граф более чем на две компоненты [28, 30, 31]. Если использовать формулу (1) или теорему Вуда рекурсивно для такого графа, необходимо пересчитывать надёжность для определённых компонент, что устранено в указанных работах. По этой же причине далее были исследованы определённые двусвязные структуры, содержащие группу 2-сечений, так называемые циклические и продольные графы [28, 29, 31]. Подробнее аспект учёта группы сечений освещается в п. 4.
Естественным развитием наших результатов стало рассмотрение сечений произвольной мощности для расчёта вероятности связности случайного графа в 20062008 гг. Общий подход [32, 31] предлагает методику вывода формул, аналогичных формуле (1) для графов с сечением из произвольного числа узлов. Так, получены формулы для графа с 3-сечением и с 4-сечением, которые приведены в п. 3.5 и 3.6 соответственно. Экспериментально исследована целесообразность применения этих формул, в частности и как альтернатива факторизации для скорейшего получения 2-сечений [31]. Кроме использования сечений для расчёта вероятности связности случайного графа, изучена возможность их применения для кумулятивного уточнения границ этой характеристики связности [20] и для расчёта надёжности сетей с ограничением на диаметр [33].
Ещё одним автором, изучавшим возможность декомпозиции по сечениям для расчёта надёжности сетей, стал Бургос (Juan Manuel Burgos) в 2016 г. К сожалению, значительная часть перечисленных результатов автора данной работы была опубликована только на русском языке, за исключением [30, 33, 20], в которых, в частности, и приведена формула (1). Видимо, не будучи знаком с нашими работами, Бургос получает результаты, касающиеся сечений произвольной мощности [34, 35]. Как итог, приводятся и формула (1), и формула для 3-сечения (15), впервые опубликованные приблизительно за 10 лет до работ Бургоса в [27] и [32] соответственно. На независимость наших результатов и результатов Бургоса указывает и существенное отличие в аппарате вспомогательных терминов и объектов, используемых для описания взаимозависимости надёжности сети с надёжностями её подсетей. При этом Бургос не упоминает и классических результатов Вуда [25], который первый изучил возможность использования 2-сечений для расчёта сетевой надёжности. Как и Вуд, Бургос не рассматривает вычислительный аспект, а также возможность и целесообразность использования предлагаемых результатов.
Подводя итог обзора, отметим, что в настоящее время имеется ряд теоретических и прикладных результатов, делающих возможным использование сечений в расчёте сетевой надёжности. Результаты, полученные разными авторами, так или иначе пересекаются друг с другом. Ниже мы приводим наш подход по использованию сечений произвольной мощности с некоторыми новыми аспектами и новый алгоритм для использования всех 2-сечений графа.
2. Обозначения и определения
Пусть G = (V, E) —произвольный неориентированный граф, где V — множество вершин; E — множество рёбер графа G. Пусть для каждого ребра e задано вещественное число pe, 0 ^ pe ^ 1, которое будем интерпретировать как вероятность присутствия ребра e в графе. При этом предполагается, что вершины абсолютно надёжны, то есть присутствуют с вероятностью 1.
Зададим дискретное вероятностное пространство Ш = (П, Р). Здесь П — пространство элементарных событий (элементарных исходов), образованное всевозможными частными реализациями графа О, определяемыми присутствием или отсутствием каждого ребра. Для данного элементарного события присутствующие ребра будем называть исправными, а отсутствующие — отказавшими. Пространство П можно представить как объединение всевозможных двоичных векторов длины |Е|, поэтому П состоит из элементов.
Вероятность элементарного события Q Е П определим как произведение вероятностей присутствия исправных ребер, умноженное на произведение вероятностей отсутствия отказавших рёбер:
Р^)= П Ре П (1 - Ре).
ееЯа ееЯь
Здесь Qa — множество исправных ребер; Qb — множество отказавших ребер.
Произвольное событие (объединение некоторых элементарных событий) будем называть успешным, если реализации графов, соответствующие всем элементарным событиям, образующим это событие, суть связные графы, то есть все вершины в них могут быть связаны исправными рёбрами.
Вероятность К(О) связности графа О есть вероятность того, что все вершины О связаны исправными рёбрами, то есть вероятность события, состоящего из всех успешных событий, и только из них.
Указанные общие определения вероятностного пространства и меры надёжности заимствованы в основном из [17]. Введём некоторые обозначения и определения для описания графа с точки зрения содержащегося в нём сечения. Предположим, что граф О содержит сечение из Л вершин Н = ,..., г^}, которое разделяет граф на два подграфа О1 = (Уь Е1) и О2 = (У>, Е2), т. е. У и У2 = V, У П У = Н, Ег и Е2 = Е, Е1 П £2 = 0. Если сечение разделяет граф на более чем два подграфа, то О1 и О2 могут быть по-разному сформированы из данных подграфов.
Через Н обозначим множество разбиений множества Н. Отдельно выделим два разбиения: 0 = {{г1},..., {г^}}, 1 = {{г1,... ,гь}}, а также множество К = Н\{0,1}. Элементы разбиения будем называть блоками разбиения. В некоторых случаях для удобства будем использовать следующее обозначение для разбиения:
¿11,...,¿1*1... к,...,^ = ,...,^1к},...,К,...,^}}.
Для каждого разбиения Ф е Н определим граф разбиения Тф следующим образом: Тф —граф с множеством вершин Н, в котором две вершины смежны, если и только если они входят в один и тот же блок Ф. Введём обозначение для объединения двух графов разбиений: Тфт = Тф и Тт.
Множество всех связных графов будем обозначать Осоп; Огф (Ф € Н) — граф Ог € Е {О1, О2, Ту, тхф}, стянутый по каждому элементу из Ф, то есть если г и входят в один блок Ф, то в графе в Огф вершины г и стянуты в одну; Огф будем называть графом Ог, стянутым по разбиению Ф.
Пусть Бф (Ф Е Н)—событие, соответствующее распаду О1 на |Ф| компонент, причём вершины из одного блока Ф входят в одну и ту же компоненту. Такое событие будем называть Ф-отделением в графе О1. Аналогично определяется Бф — Ф-отделение в графе О2. Вероятности отделений будем обозначать как
Хф = Р (Бф), уф = Р (Бф).
Так как |1| = 1, то — событие, соответствующее распаду С1 на одну компоненту, т. е. событие, образованное всеми связными реализациями Следовательно, Х\ =
VI = ВД).
3. Расчёт вероятности связности случайного графа с использованием сечения 3.1. Вероятности отделений Для установления значений всевозможных отделений в графах С1 и С2 через вероятности связности графов С1, С2, стянутых по всевозможным разбиениям, докажем следующую теорему.
Теорема 2. Имеют место равенства
Е Хф = Я(С^), Т е Н; (2)
Феи
тТФеССоп
Е уф = Я(С*), Т е Н. (3)
Феи
тТФеСС оп
Доказательство. Докажем первое равенство, второе доказывается аналогично. Выберем произвольное Т е Н. Пусть Вт такое событие, что Р(Вт) = ), то
есть Вг состоит из реализаций, связных при стягивании С1 по разбиению Т. Тогда равенство (2) равносильно равенству
и ¿ф = Вт. (4)
Феи
тТФеСС оп
Докажем включение и
и ¿Ф с Вт.
Феи
тТФеСС оп
Граф тгф связный, следовательно, Тф содержит рёбра, соединяющие все компоненты связности графа Ту. Так как при стягивании по разбиению Т в графе Тт стягивания будут происходить только внутри компонент его связности, граф Тф, стянутый по Т, связный.
По определению ¿ф образовано реализациями, состоящими из |Ф| компонент связности, каждая из которых содержит все вершины одного и только одного блока Ф. Граф Тф также состоит из |Ф| компонент, каждая из которых содержит все вершины одного блока из Ф, и только их. Так как Тф, стянутый по Т, связен, каждая реализация из ¿ф, стянутая по Ф, связная. Следовательно, ¿ф С Вт. Докажем обратное включение
и ¿ф э Вт.
Феи тТФеССоп
Рассмотрим произвольную реализацию А е Вт. Построим Ф следующим образом: все вершины из Н, оказавшиеся в одной и той же компоненте связности А, и только они входят в один и тот же блок Т. Таким образом, Тф соединяет вершины из Н, находящиеся в разных компонентах А (так как Ат связен). Следовательно, ттф связный. По построению Ф очевидно, что А е ¿ф. Отсюда Вт С у ¿ф. ■
Феи
тТФеСС оп
Нетрудно заметить, что выражения (2) и (3) для вероятностей всевозможных отделений в графе Gi через вероятности связности этого графа, стянутого всевозможными способами, являются системами линейных уравнений.
При подстановке в (2) значения Т = 0 получаем упомянутое в п. 2 равенство Х\ = = Я^01) = Я^). При подстановке значения Т = 1 получаем
Е Хф = Я^1); (5)
Феи
Е уф = Я^1). (6)
Феи
Остальные равенства образуют систему линейных уравнений относительно отделений из К.
Следствие 1. Имеет место
Е Хф = Я^) - ), Т е К; (7)
Фек
тТФеССоп
Е уф = Я^*) - ВД), Т е К. (8)
Фек
тТФеССоп
Доказательство. Возьмём произвольное Т е К. Граф Тто связен только для Т = 1, следовательно, Т^0 е Gcon для Т е К. Выпишем уравнение (2) для Т:
Я^^) = Е Хф = Е Хф + Е Хф = Е Хф + Х1 = Е Хф + Я(Gl).
Фен Фек Фе{о,1} Фек Фек
тТФеССоп ТТФеССоп тТФеССоп ТТФеССоп ТТФеССоп
Перенесём Я^^ вправо и получим искомое выражение (7). Равенство (8) доказывается аналогично. ■
Возможность получения значений Хф, уф из систем уравнений (2) и (3) следует из следующей теоремы.
Теорема 3. Системы (2) и (3) разрешимы относительно Хф и уф соответственно и имеют единственное решение.
Доказательство. Докажем утверждение для системы (2), для системы (3) оно доказывается аналогично. Для каждого Ф е Н существует Т е Н, такой, что т-гф е Gcon, следовательно, количество уравнений и переменных в системе совпадает. Система линейных уравнений с квадратной матрицей разрешима, если строки матрицы линейно независимы. Предположим обратное, тогда верно равенство
Я^) = Я^0) = Е афЯ^ф) (9)
фе1
для некоторых йф и для подходящего множества индексов I С Н. Докажем, что это выражение приводит к противоречию, индукцией по Л, т. е. по количеству элементов в сечении.
База индукции, Л = 2. Формула (9) принимает следующий вид:
Я^) = аЯ^1) = аЯ^12). (10)
Положим значения вероятностей присутствия рёбер в G1, смежных с VI, равными 0, а для остальных рёбер — равными 1. Тогда G1 несвязен, т. е. Я^^ = 0, а G12 связен,
т.е. Д(С12) > 0, и в (10) а = 0, но в таком случае Д(^1) = 0 для любого случайного графа, что неверно.
Шаг индукции. Пусть утверждение доказано для к — 1, докажем его для к. Как и в базе индукции, положим значения вероятностей присутствия рёбер в С1, смежных с г^, равными 0. Тогда несвязными будут все графы Сф, такие, что г1 е Ф, в том числе и С1. Следовательно, Д(С1) = 0 и Д(Сф) = 0, если г1 е Ф. Для остальных значений Ф имеет место равенство
Д(Сф) = Д ((С1\г1 )ф) ,
где разбиение Ф получается из Ф удалением вершины г1 из содержащего её блока, так как безразлично, куда именно стягивать изолированную вершину г1. Такие разбиения являются по сути всеми разбиениями на множестве {г2,... , г^}, обозначим множество этих разбиений через 3. Формула (9) принимает вид
0 = £ афД ((С1 \г0ф) . фел
Полученное выражение является модификацией (9), в которой левая часть перенесена под знак суммы в правой части, однако уже для разбиения на множестве из к — 1 вершин. Но, по предположению индукции, это невозможно. ■
Так как системы (7) и (8) получаются из систем (2) и (3) соответственно исключением двух уравнений и двух переменных, верно
Следствие 2. Системы (7) и (8) разрешимы относительно Хф и уф соответственно и имеют единственное решение.
3.2. О б щ и й в и д ф о р м у л ы д л я в е р о я т н о с т и с в я з н о с т и г р а ф а
с сечением
Следующая теорема устанавливает взаимосвязь между вероятностью связности графа с сечением и вероятностями связности его подграфов, стянутых по всевозможным разбиениям.
Теорема 4. Имеет место равенство
Д(С)= £ хтуф. (11)
т,Феи ттФеССоп
Доказательство. Пусть 5 такое событие, что Р(5) = Д(С), то есть 5 состоит из всех связных реализаций, и только из них. Тогда равенство (11) равносильно равенству
Б = и №П ¿ф).
т,Феи ттФеССоп
Докажем включение и
£ С и № п ¿ф).
т,Феи ттФеССоп
Пусть А е б1 — связная реализация С; А1 —граф А, индуцированный на множестве вершин У1 графа С1; А2 — граф А, индуцированный на множестве вершин V2 графа С2. Построим разбиение Т следующим образом: все вершины из Н, оказавшиеся в одной и той же компоненте связности А1, и только они, входят в один и тот же блок Т.
Аналогично построим Ф: все вершины из Н, оказавшиеся в одной и той же компоненте связности А2, и только они, входят в один и тот же блок Ф.
Так как А связный, для любых двух блоков Ь1, Ьр из Т или Ф существует последовательность блоков Ь1,Ь2,... ,ЬР из Т и Ф, такая, что при 1 ^ I ^ р — 1 блоки Ь и 6г+1 пересекаются по крайней мере по одному элементу, то есть все элементы из Ь соединимы со всеми элементами из 6г+1 в т-гф. Следовательно, Ь1 и Ьр соединимы в т-гф, то есть Т^ф е ССоп. По построению А е П ¿ф. Включение доказано.
Докажем обратное включение
я э и (¿1П ¿ф),
т,Феи ТТФеССо:
что равносильно связности произвольной реализации А е П ¿ф при условии т-гф е е Ссоп. Как и ранее, пусть А1 —граф А, индуцированный на множестве вершин V!, А2 — граф А, индуцированный на множестве вершин У2.
Граф тхф связный, то есть все вершины из Н связаны в т-гф, следовательно, все компоненты связности А1 и А2 будут связаны друг с другом через вершины Н в А, то есть А связен. Обратное включение доказано. ■
С помощью (5) и (6) можно переписать равенство (11).
Следствие 3. Имеет место равенство
Д(С) = £ хтуф + Д(С1)Д(С1) + Д(С1)Д(С2) — Д^^Д^). (12)
т,Фек ттФеССоп
Доказательство. Учитывая, что Тто е ССоп для Т е К, равенство (11) влечёт Д(С) = £ хтуф = £ хтуф + Х1 £ уф + ух £ хт — хцуь
т,Феи т,Фек фен ТеИ
ттФеССоп ттФеССоп
Используя (5) и (6), получаем искомый результат. ■
Может показаться, что в формуле (12) нет необходимости, потому что на первый взгляд она более громоздкая, чем (11). На самом деле формула (12) содержит значительно меньше слагаемых, так как свёрнуты все слагаемые вида Хх £ уф и ух £ Хт.
фен ген
3.3. В ы в о д ф о р м у л д л я в е р о я т н о с т и с в я з н о с т и г р а ф а
с к-сечением
Теоремы 2-4 в совокупности позволяют использовать декомпозицию графа по сечению для расчёта его надёжности. Например, пусть нас интересует сечение из к вершин, разделяющее граф на два подграфа. Тогда мы должны решить систему линейных уравнений (2) в символьном виде для одного из подграфов, выразив вероятность каждого отделения подграфа через надёжности этого подграфа, стянутого по вершинам сечения. Теорема 3 гарантирует существование такого решения. Приписывая соответствующие индексы в эти выражения, получаем выражения для вероятностей отделения второго подграфа.
Теорема 4 даёт выражение для надёжности исходного графа через вероятности отделений обоих подграфов. Подставив в него полученные значения вероятностей отделений и приведя подобные, получим формулу для надёжности графа с к-сечением.
Использование следствий 1-3 вместо теорем 2-4 упрощает вывод подобных формул, так как формула (12) для надёжности графа через вероятности отделений содержит меньше слагаемых, чем формула (11). Таким образом, решив системы уравнений (7) и (8) для нахождения значений Хт и уф соответственно и подставив их в (12), получим формулу для надёжности графа с Л-сечением.
Эта формула выражает надёжность графа с Л-сечением через надёжности двух его подграфов, стянутых по всевозможным разбиениям множества вершин сечения. Количество таких разбиений есть число Белла В^ для каждого из подграфов, соответственно для расчёта надёжности исходного графа потребуется рассчитать надёжность для 2В^ графов меньшей размерности. Однако числа Белла В^ быстро растут с ростом Л: так, В2 = 2, В3 = 5, В4 = 15, В5 = 52. Таким образом, для расчёта надёжности графа с 2-сечением придётся предварительно вычислить надёжности для 2В2 = 4 графов меньшей размерности, для графа с 3-сечением — 2В3 = 10 графов, для графа с 4-сечением — 2В4 = 30 графов, для графа с 5-сечением — 2В5 = 104 графов. Будет ли такой расчёт более быстрым — вопрос неочевидный. Далее мы выводим такие формулы для случаев с 2-, 3-, 4-сечениями и исследуем эффективность их применения.
Заметим также, что при рассмотрении сечений из Л вершин нигде не использована Л-связность графа, поэтому все полученные результаты справедливы и для случая, если граф не является Л-связным или даже вообще связным. Например, пусть подграф G1 несвязен и не может распасться ровно на |Т| компонент (Т е Н) так, чтобы вершины из одного блока Т входили бы в одну и ту же компоненту связности. Тогда вероятность этого события равна 0, то есть Хт = 0.
3.4. Д в у х в е р ш и н н о е с е ч е н и е Пусть граф G содержит двухвершинное сечение Н = {1, 2}. Граф Gi, стянутый по разбиению 12, обозначим как Gi. В этом случае имеем
Н = {12,112}, 1 = 12, 0 = 112, К = 0. Формула (12) даёт
Я^)= £ хтуф + Я^)Я^1) + Я^1)Я^) - Я^)Я^) =
т,Фе0 тТФеССоп
= r(gi)r(g/2) + R(Gi)R(G/) - R(Gi)R(G/) = = R(Gi)(R(G/) - R(G/)) + R(G2)(R(G1) - R(Gi)) + R(Gi)R(G/),
f13)
что есть в точности формула (1).
В качестве базового алгоритма, к которому будем применять предлагаемые методики ускорения с использованием сечений, возьмём метод факторизации с последовательно-параллельным преобразованием на каждом шаге. Рекурсию будем продолжать до получения пятивершинных графов, для графов такой и меньшей размерности будем рассчитывать вероятность связности по формулам из [16]. Этот алгоритм будем называть Factoring. Алгоритм Factoring, усиленный применением формулы (13), назовём 2CutsFactoring.
Первый вопрос, который возникает при использовании формулы (13), — начиная с какой размерности графа целесообразно её применять. Предполагается, что перед процедурой нахождения сечения граф прошёл через последовательно-параллельное преобразование, поэтому он не содержит вершин степени 1 и 2. Самый «маленький» такой граф с двухвершинным сечением изображён на рис.3, а, N = 6, M = 12. Этот
граф получен объединением двух полных графов размера 4 с двумя совпадающими вершинами без ребра между ними. Будем обозначать такие графы K'L, на рис. 3 представлены графы K4 и K5. Алгоритм Factoring этот граф обсчитал за три итерации рекурсии, а с использованием декомпозиции по формуле (13) —за пять. Были обсчитаны и другие малые графы (M ^ 20). Использование (13) даёт выигрыш по количеству итераций при M ^ 15 для некоторых графов. Однако существует граф при M =19, N =14 с 2-сечением, для которого количество итераций в обоих методах одинаковое. Если M ^ 20, то алгоритм Factoring всегда выполняет большее количество итераций. Время расчёта этих графов сравнить не удалось, так как во всех случаях оно меньше миллисекунды (даже на очень слабых ПЭВМ). Поэтому сделан следующий вывод [31]: исследовать граф на наличие двухвершинного сечения целесообразно при условии M ^ 20.
Рис. 3. Графы K4 (а) и K'5 (б)
Отметим, что приведённые ниже тестовые примеры представляют эффект от однократного применения формул с использованием сечений, так как получаемые при декомпозиции графы не содержат сечений такой же или меньшей размерности. В общем случае имеет смысл рекурсивно применять эти формулы, при этом, например, получаемые при декомпозиции по (13) графы должны быть сначала разложены на двусвязные компоненты.
Для максимального ускорения из всех двухвершинных сечений имеет смысл выбрать то, которое разбивает граф на максимально близкие друг другу по количеству рёбер подграфы. В приведённых ниже экспериментах оптимальное двухвершинное сечение находилось простым перебором всех пар вершин графа, что реализуется со сложностью O(MN2). Отметим, что возможно и более быстрое нахождение 2-сечений, этот вопрос рассматривается в п. 4.1.
В таблице приведены результаты экспериментов на графах K'L. Расчёты для этого и всех остальных экспериментов проводились на ПЭВМ с процессором AMD Athlon 3500+, 2,2 GHz, RAM 3Gb.
L Factoring 2CutsFactoring
Время Количество итераций Время Количество итераций
8 2с 305487 <0,01 c 477
9 2 мин 27 с 13394427 0,01с 3357
10 7ч 1,7 • 1011 0,17c 26877
11 — — 1,5c 241917
12 — — 15,5 c 2419197
В менее плотных графах с 2-сечениями эффект ускорения меньше, но всё ещё очень значителен. Например, для ста случайно сгенерированных графов с 40 вершинами и 72 рёбрами с 2-сечением, разделяющим его на две равные части, среднее время рас-
чёта составило 0,12 с, тогда как алгоритму Factoring потребовалось 2 мин 23 с. Среднее число итераций составило 12762 и 912891 соответственно.
Если в графе заведомо нет 2-сечений, время работы алгоритма 2CutsFactoring с предварительной проверкой их наличия практически не отличается от времени работы алгоритма Factoring. Например, для полного 13-вершинного графа время расчёта составило 1мин 27 с, что на одну секунду больше алгоритма Factoring. При этом поиск сечения на каждом шаге факторизации только замедляет процесс расчёта. Имеет смысл вести направленную факторизацию с целью скорейшего получения 2-сечения, что в некоторых случаях делает расчёт более быстрым, чем просто Factoring, но всё равно этот метод проигрывает декомпозиции по 3-сечению [31].
3.5. Трёхвершинное сечение Пусть граф g содержит сечение из трёх вершин {1, 2, 3} (рис.4). Опишем этот случай более подробно, так как он не так тривиален, как случай с 2-сечением, и не такой громоздкий, как с 4-сечением.
1
Рис. 4. Граф с трёхвершинным сечением
Тогда К = {1213,1312,1|23}, 0 = 1|2|3, 1 = 123. Графы представлены на рис.5; графы, образующие всевозможные отделения $ф, — на рис. 6 (г е {1, 2}, Ф е Н).
Рис. 5. Графы, стянутые по разбиениям
Рис. 6. Графы, образующие отделения
Для каждого разбиения выпишем такие разбиения, для которых объединение графов разбиений будет связным:
{Ф : Тхф е Соси} = Н, {Ф : Тоф е Соси} = 1, {Ф е К : Т12|3Ф е Соси} = {1312, 1|23}, {Ф е К : Т1312Ф е Соси } = {1123, 1213 }, {Ф е К : Т1|23Ф е Соси} = {1213, 1312}.
Тогда системы (7) и (8) имеют вид (г = 1, 2)
>(5*12|з) + р(51з|2) = Д(С1123) - ВД),
р(5*12|з) + р(Б1|2з) = Д(Сг1312) - Я(С),
р(Б1з|2) + р(Б1|2з) = Д(Сг1213) - ВД). Решив данную систему, получим следующие значения (г = 1, 2):
р (^12 | з) = 1(Д(Сг13 1 2) + д(с; 1 23) - Я(Сг12 1 3) - ВД)),
P(Sis|2) = 1(R(Gl213) + R(Gl|23) - R(Gf |2) - R(Gi)), 1
P (Si |23) = 2(R(Gi213) + R(Gi312) - R(Gi|23) - R(Gi)).
Выпишем равенство (12):
Д(С) = Х1|23(У12|3 + У1312 ) + х13|2 (У 1123 + У12|3) + Х12|3(У1|23 + У13|2)+ (14)
Подставив в (14) значения хФ = Бф и уФ = Бф и приведя подобные, получим
я(С) = 1 [д(с1|23)(д(с2213) + я(с2з12 ) - д(с!|23))+
Д2|3\ („/Г»1|23ч , Т?/Гт13|^ т?/г,12|3ч
+ R(Gi213) (R(Gi|23) + R(G2312) - R(G2 |3)) + + R(Gi3|2)(R(G2213) + R(G2|23) - R(Gi312))-
- R(Gi)(R(G2213) + R(g2312) + R(G i |23))-
- R(G2)(R(Gi 2|3) + R(G i 3|2) + R(G i|23)) + R(G ОВД)' + R(G i)R(G223) + R(G i23)R(G2).
f15)
+
Как и в случае с 2-сечением, проведены численные эксперименты на графах небольшой размерности, которые показали, что применять формулу (15) целесообразно для графов с количеством рёбер больше 26. При этом подграфы G i и G2 должны содержать не менее пяти ребер. Алгоритм Factoring, усиленный предварительным применением формулы (15), назовём SCutsFactoring.
Приведённые ниже тестовые примеры представляют эффект от однократного применения формулы, но в общем случае стоит применять данную формулу рекурсивно. То есть подграфы, возникающие при рассмотрении 3-сечения, далее проверяем на наличие подходящего 2-сечения, если его нет — на наличие подходящего трёхвершинного.
В области анализа сетевой надёжности популярными тестовыми графами являются решётки [17]. Для сравнения алгоритма с использованием сечений 3CutsFactoring с базовым алгоритмом Factoring проведён эксперимент на решетках ширины 3. Так, для решётки 3 х 16 время расчёта алгоритмом Factoring составило 30 с при 3188645 итерациях, алгоритмом 3CutsFactoring — 0,25 с при 7127 итерациях.
На решётке размера 3 х 18 преимущество в использовании формулы (15) уже существенно больше: 0,52 с при 213383 итерациях против 3 м 41с при 28697813 итерациях алгоритмом Factoring.
3.6. Четырёхвершинное сечение Рассмотрим случай, когда граф G содержит сечение из четырёх вершин H = = {1, 2, 3,4}. Будем использовать следующие обозначения для вероятностей отделений для двух подграфов Gi и G2 (i =1, 2):
S0 = P (S112|3|4),
S3 = P(S14|23) ,
S6 = P(S31124) ,
S9 = P(S121314) ,
P(S112413) ,
S1 S12
S1 = P(S12|34) , S4 = P(S11234) , S7 = P (S41123 ) ,
S10 = P (S112314 ), S13 = P (S131214 ),
S2 = P (S13|24),
S 5
C1 _
S8 =
S1 S11 "
S1 S14
13|24/
P(S2| 134),
P (S112|34), : P(S14|2|3), = P (S1234)-
Системы (7) и (8) и их решения приводить не будем из-за их громоздкости, их можно найти, например, в [31]. Приведём формулу (12) в терминах отделений:
Я(С) = 54(55 + + б"2 + б"2 + б^з + ¿Ц + + + 5|)+ + 55(52 + + + 5д + 51о + + 51 + + 5з)+ + Бц (5, + 55 + + + + + 51 + 52 + 5з)+ + + 55 + 55 + + + 55*8 + 51 + 52 + 52)+ + 51 (5,2 + 55 + 55 + 52 + 52 + 52 + 51з + 511 + 51о + 512)+
+ S2 (S4 + S5 + S6 + S7 + S^ + S3 + Sg + S21 + Sjo + S8) + + S3 (S4 + S5 + S6 + S7 + S^ + S2 + Sg + S23 + S22 + S8)+ + Sg (S4 + S5 + S2 + S3) + S13(S4 + S6 + S^ + S3)+
+ S11(S4 + S7 + S1 + S2) + S10(S5 + S2 + S1 + S22 ) +
+ s1 2 (s2 + S72 + S2 + S32) + S8(S62 + S72 + S22 + S32)+ + R(G1)R(G21) + R(Gl)R(G2) - R(G1)R(G2).
16)
В таком виде формула для графа с 4-сечением приводится впервые. Аналогичная формула [31, (2.21)] написана в терминах отделений и содержит ошибку после второго знака равенства.
Численные эксперименты на графах небольшой размерности показали, что применять формулу (16) целесообразно для графов с количеством рёбер больше 35. При этом подграфы G1 и G2 должны содержать не менее 8 рёбер.
Как это сделано для формулы (15) в п. 3.5, выявим эффективность использования (16) на решётках. Для решётки 4 х 9 время расчёта алгоритмом Factoring составило 22 с при 2473799 итерациях, с использованием (16)—0,37 с при 7351 итерациях. На решётке размера 4 х 11 преимущество в использовании формулы (16) уже существенно больше: 1,5 с при 57661 итерациях вместо 22,5 мин при 154117959 итерациях алгоритмом Factoring.
4. Особенности использования двухвершинных сечений в расчёте вероятности связности графа 4.1. Проблема учёта группы двухвершинных сечений
Как показано выше, использование формул (13), (15), (16) способно значительно ускорить расчёт надёжности для подходящих графов, в особенности для двусвязных графов с двухвершинным сечением. Если подграфы, получаемые при декомпозиции, а также всевозможные варианты их стягивания по разрезающим вершинам, в свою очередь, также содержат двухвершинные сечения, появляется возможность повторного использования формулы (1). Рассмотрим для примера двусвязный граф, представленный на рис. 7 и содержащий два двухвершинных сечения.
У2 Уз
vi у4
Рис. 7. Пример графа, содержащего два двухвершинных сечения
Если сначала делать декомпозицию О по 1\, 12, придём к рассмотрению О23 = О2 и и О3, О23. При декомпозиции О23 по 13,14 получим О2, О24, О3, О34; при декомпозиции О^ по 13,14 — О22134, О^2, О3, О34. Таким образом, придётся пересчитывать надёжность для О3, О34 по два раза.
Тем не менее имеется возможность рекурсивного использования формулы (1), пусть и с пересчётом для отдельных графов, что всё равно ускоряет расчёт в силу экспоненциальной сложности точного расчёта надёжности. Данный подход предложен как окончательный в работах Вуда [25] и в более поздних наших работах [27-31]. Работы [28-31] содержат также представление обозначенной проблемы пересчёта надёжности для отдельных графов и методы учёта группы сечений специального вида. Например, для графов продольной структуры, как на рис. 7, автором ранее предложен алгоритм, в рамках которого можно учесть оба сечения и соответствующие компоненты. Кроме этого, рассмотрены циклические графы [28, 31] и случай, когда граф разделяется сечением более чем на две компоненты. Для последних двух случаев показано, как можно учесть все сечения и соответствующие компоненты в рамках одной формулы (для каждого случая своя формула).
В наших работах предлагается искать 2-сечения перебором. Целесообразно для этого не перебирать все пары, а удалять узлы по одному и делать разложение полученного подграфа на двусвязные компоненты. Как указывает Вуд [25], его подход использует разложение на трёхсвязные компоненты [26]. Однако собственно трёхсвязные компоненты для расчёта надёжности не требуются, так как для их получения добавляются виртуальные рёбра, соединяющие вершины 2-сечений, что делает трёхсвязные компоненты трёхсвязными графами. При использовании формулы (1) и, фактически, при использовании метода Вуда мы переходим к новым подграфам и графам, получаемым из них стягиванием разрезающих вершин. В отличие от случая с двусвязными
компонентами, когда двусвязная компонента далее неразлагаема по точкам сочленения, эти новые подграфы могут быть далее разложены по собственным 2-сечениям, не обязательно являющимися 2-сечениями исходного графа, и так далее рекурсивным способом. Например, если граф С на рис. 7 содержит только указанные на рисунке три 2-сечения, то каждый из подграфов Сi может, в свою очередь, также иметь 2-сечения, а может иметь структуру, аналогичную исходному графу С. Естественно, в этих случаях поиск 2-сечений в подграфах Сi также является целесообразным, как и далее по рекурсии.
Разложение на трёхсвязные компоненты естественным образом даёт информацию обо всех 2-сечениях исходного графа. Вуд не касается аспекта практической реализации своего метода, упоминая при этом, что для нахождения 2-сечений теоретически может быть использован классический результат Хопкрофта — Тарьяна [26] по разложению на трёхсвязные компоненты за линейное время 0(М + N). С момента выхода этой работы в 1972 г. в ней найдено немало неточностей [36]. Предложены альтернативные подходы к описанию разложения [37], в качестве аргументации их необходимости упоминается слишком большая сложность восприятия результатов их практической реализации. Своеобразной точкой в этом вопросе стала работа [36], в которой исправлены все ошибки и предложен корректный алгоритм на основе результатов Хопкроф-та — Тарьяна. Полученный для описания разложения объект получил название SPQR-дерева и нашёл широкое применение в области представления планарных графов.
В данной работе для решения проблемы учёта всех 2-сечений предлагается использовать мультиграф разбиений и алгоритм его обхода, представленные ниже.
4.2. Мультиграф разбиений и алгоритм расчёта в е р о я т н о с т и с в я з н о с т и г р а ф а с у ч ё т о м в с е х д в у х в е р ш и н н ы х с е ч е н и й
Для представления структуры произвольного графа с точки зрения всех его двухвершинных сечений и двухвершинных сечений его трёхсвязных компонент (без добавленных виртуальных рёбер, соединяющих вершины 2-сечений), и так далее по рекурсии, предлагается ввести в рассмотрение такой объект, как мультиграф разбиений. Определим мультиграф разбиений С8р1^ для графа С = (V, Е) на множестве его подграфов (С :1 ^ г ^ Ь} следующим образом:
1) Узлы С8р1^ суть графы С^.
2) Если Сi и С^- пересекаются по вершинам ... , V, то существует I рёбер между узлами С и С^-, каждое с соответствующей меткой
Здесь мы используем термин «метка ребра» вместо распространённого «вес ребра», так как в данном случае принципиальное значение имеет не количественное, а символьное значение, присвоенное каждому ребру. В качестве множества подграфов Gi графа С при построении его мультиграфа разбиений нецелесообразно использовать непосредственно трёхсвязные компоненты в силу того, что, как уже упоминалось, они содержат добавленные виртуальные рёбра, а графы, которым добавляются рёбра, могут также содержать 2-сечения, что позволяет рекурсивно вести разложение дальше. Вместо этого введём в рассмотрение трёхсвязные ядра графа С.
Пусть С — двусвязный граф, {и,1>} — сечение в нём, разделяющее его на С1 и С2. Эти подграфы также могут содержать 2-сечения и даже 1-сечения, т. е. точки сочленения, например в случае циклического графа [28, 31]. Этими сечения подграфы разделяются на новые подграфы и т. д. Если при такой рекурсивной процедуре получен подграф, не содержащий 1- и 2-сечений, будем называть его трёхсвязным ядром гра-
фа О. Пример структуры двусвязного графа с 2-сечениями и его мультиграфа разбиений приведён на рис. 8.
V, V,
Оз
Рис. 8. Пример структуры двусвязного графа с сечениями и его мультиграф разбиений
V
V
V
V
V
V
9
4
Алгоритм построения мультиграфа разбиений двусвязного графа на его трёхсвяз-ных ядрах следует непосредственно из определений этих объектов. Для расчёта надёжности графа мы предлагаем алгоритм обхода его мультиграфа разбиений, позволяющий для каждого трёхсвязного ядра вычислять надёжность только один раз, как и для графов, получаемых из них стягиваниями всевозможным образам разрезающих вершин.
В рекурсивной процедуре ИеЮи^Н) (алгоритм 1) каждый узел мультиграфа разбиений Gi содержит список стянутых в нём вершин Меще^С^), которые стягиваются в процессе рекурсии; с каждым узлом д исходного мультиграфа разбиений (т. е. с каждым трёхсвязным ядром исходного графа) в глобальной памяти связан список вида Я(д), Д(д12), ..., т.е. список со значениями надёжности графов, получаемых из д стягиванием различными способами разрезающих вершин, которые содержатся в д. Использование этих переменных и меток мультиграфа разбиений позволяет осуществлять расчёт надёжности двусвязной сети без перерасчёта надёжности трёхсвязных ядер.
В алгоритме используется функция И,е1(Н), вычисляющая надёжность графа, задающегося мультиграфом разбиений Н (не обязательно именно исходного графа). Для её реализации может быть использован любой из известных методов, например метод факторизации [4].
Если делать расчёт надёжности графа на рис. 8 рекурсивным применением формулы (13) с перебором сечений в лексикографическом порядке, то придётся посчитать надёжность О1, О1 — 1 раз, О3, О'3 — 2 раза, О21, О2[, 02^, О267 — 1 раз, О22, О22 — 2 раза, 023, 023 — 3 раза, 027, 023|89 — 2 раза, 024, 0|4 — 5 раз. С помощью алгоритма 1 можно это сделать без пересчёта.
К настоящему времени введено в рассмотрение значительное количество математических объектов для описания структуры графов, большинство из которых было предназначено для той или иной конкретной задачи [38, 39]. Автор отдаёт себе отчёт в том, что, возможно, описаны и объекты, близкие мультиграфу разбиений. Однако принято решение использовать именно данный объект, который, при подходящем определении подграфов Gi для разбиения, приводит к решению поставленной задачи. Отметим также, что для этой цели мы могли бы и немного по-другому определить мультиграф разбиений. Например, можно за основу разбиений взять не подграфы, а
Алгоритм 1. RelCut(H) 1: Если существует разрез в H, все рёбра которого, кроме одного, с одной меткой, то
// пусть разрез разделяет H на Gi и G2, а рёбра имеют метки u, v 2: Для всех i е {1, 2} 3: Если Gi — узел в H, то
4: ri := Rel ^GMerged(Gi^, если эта величина ранее не была вычислена;
5: Merged(Gi) := Merged(Gi) + |uv|;
6: ri := Rel ^GMerged(Gi^, если эта величина ранее не была вычислена;
7: иначе
8: Если Gi раскладывается на двусвязные компоненты Bi,... , Bi (без учёта
рёбер-компонент), то 9: ri := П RelCut(Bi);
10: иначе
11: ri := RelCut(Gi);
12: обновить метки с учётом слияния u,v;
13: ri := RelCut(Guv).
14: Resu/t := rir2 + r^r2 — rir2; 15: иначе
16: Resu/t := Rel(H).
подмножества вершин. Или можно мультиграф разбиений представить гиперграфом, заменив рёбра с одинаковыми метками гиперрёбрами. Это приведёт к определённой разнице в процессах обхода данных объектов. В итоге, по совокупности факторов, как наиболее простой объект выбран мультиграф разбиений.
Для наших целей можно вместо мультиграфа разбиений использовать, например, SPQR-дерево [36]. Однако в данном случае потребуется также формировать и SPQR-дерево для каждого Я-узла дерева и т.д. По сути, необходимо иметь некое «рекурсивное SPQR-дерево». Другой альтернативой могло бы стать использование древесной декомпозиции [39], что, однако, привело бы к аналогичной проблеме — дальнейшего разложения узлов этого дерева, так как трёхсвязные компоненты без виртуальных рёбер также могут содержать 2-сечения.
При этом в перспективе, для описания группы сечений произвольной мощности, мультиграф разбиений может быть использован без каких-либо изменений, в отличие от SPQR-дерева. Теоретически для его построения может быть использован известный алгоритм построения SPQR-дерева за 0(М + N) операций [36], однако разработка подобного алгоритма является отдельной сложной задачей, поэтому пока предлагается делать это рекурсивным перебором сечений. Кроме этого, представляется также возможным разработать алгоритм построения и одновременно обхода мультиграфа разбиений.
Заключение
Представленный математический аппарат позволяет эффективно использовать декомпозицию сети по сечениям для расчёта вероятности её связности. Так как известные алгоритмы точного расчета вероятности связности сети имеют экспоненциаль-
ную сложность, использование предлагаемого подхода позволяет значительно ускорить процесс расчёта, для некоторых структур — на порядки.
Часть результатов уже была представлена [20, 30-32], часть публикуется впервые. К последним относится корректное доказательство разрешимости системы линейных уравнений, решив которую, мы выразим вероятности отделений подграфа через надёжности всевозможных вариантов его стягивания по разрезающим вершинам. Среди новых результатов также корректная формула для надёжности сети с четырёхвер-шинным сечением и метод, позволяющий при расчёте надёжности двусвязной сети эффективно учитывать все её двухвершинные сечения и двухвершинные сечения её подсетей, на которые сеть делится двухвершинными сечениями. Подобным рекурсивным способом учитываются и другие двухвершинные сечения.
ЛИТЕРАТУРА
1. Жуковский М. Е., Райгородский А. М. Случайные графы: модели и предельные характеристики // Успехи математических наук. 2015. Т. 70. №1(421). С. 35-88.
2. Colbourn Ch. J. The Combinatorics of Network Reliability. N.Y.: Oxford Univ. Press, 1987. 160 p.
3. Valiant L. The complexity of enumeration and reliability problems // SIAM J. Comput. 1979. V.8. No. 3. P. 410-421.
4. Page L. B. and Perry J. E. A practical implementation of the factoring theorem for network reliability // IEEE Trans. Reliability. 1988. V.37. No. 3. P. 259-267.
5. Рябинин И. А. Логико-вероятностное исчисление как аппарат исследования надежности и безопасности структурно-сложных систем // Автомат. и телемех. 2003. Т. 7. С. 178-186.
6. Satyanarayana A. and Wood R. K. A linear-time algorithm for computing K-terminal reliability in series-parallel networks // SIAM J. Comput. 1985. V. 18. P. 818-883.
7. Shooman A. M. and Kershenbaum A. Methods for communication-network reliability analysis: probabilistic graph reduction // IEEE Proc. Reliability and Maintainability Symp. 1992, Las Vegas, USA. N.Y.: IEEE Press, 1992. P. 441-448.
8. Wood R. K. A factoring algorithm using polygon-to-chain reductions for computing K-terminal network reliability // Networks. 1985. V. 15. No. 2. P. 173-190.
9. Мочалов В. А. Метод синтеза отказоустойчивой струкутры сенсорной сети при наличии ограничений по размещению узлов сети в разнородном пространстве // T-Comm: Телекоммуникации и транспорт. 2012. Т. 6. № 10. С. 71-75.
10. Rodionov A. S. and Rodionova O. K. Random hypernets in reliability analysis of multilayer networks // Lecture Notes in Electrical Engineering. 2015. V. 343. P. 307-315.
11. Мелентьев В. А. Функция структурной отказоустойчивости и d-ограниченная компонента связности графа вычислительной системы // Прикладная дискретная математика. 2008. Т. 2. №2. С. 102-106.
12. Levendovszky J., Jereb L., Elek Zs., and Vesztergombi Gy. Adaptive statistical algorithms in network reliability analysis // Performance Evaluation. 2002. V. 48. No. 1-4. P. 225-236.
13. Цициашвили Г. Ш., Осипова МА., Лосев А. С. Вывод асимптотических констант для вероятности несвязности планарного взвешенного графа // Прикладная дискретная математика. 2014. №2(24). С. 97-100.
14. Лотоцкий А. Д. Исследование точных методов вычисления структурной надёжности компьютерных сетей // Инновации на основе информационных и коммуникационных технологий. 2014. Т. 1. С. 233-235.
15. Родионов А. С., Родионова О. К. Некоторые методы ускорения расчета надёжности информационных сетей // Тр. 30-й Междунар. конф. «Информационные технологии в на-
уке, образовании, телекоммуникации и бизнесе» (IT+SF'2003), Гурзуф, Украина, 2003. Запорожье: Изд-во Запорож. ун-та, 2003. С. 215-217.
16. Мигов Д. А. Формулы для быстрого расчета вероятности связности подмножества вершин в графах небольшой размерности // Проблемы информатики. 2010. Т. 6. С. 10-17.
17. Chen Y., Li J., and Chen J. A new algorithm for network probabilistic connectivity // Proc. IEEE Military Communications Conf. V.2. N.Y.: IEEE Press, 1999. P. 920-923.
18. Tittmann P. Partitions and network reliability // Discr. Appl. Math. 1999. V. 95. No. 1-3. P. 445-453.
19. Won J.-M. and Karray F. Cumulative update of all-terminal reliability for faster feasibility decision // IEEE Trans. Reliability. 2010. V. 59. No.3. P. 551-562.
20. Rodionov A., Migov D., and Rodionov O. Improvements in the efficiency of cumulative updating of all terminal network reliability // IEEE Trans. Reliability. 2012. V. 61. No. 2. P. 460-465.
21. Martinez S. P., Calvino B. O., and Rocco S. C. M. All-terminal reliability evaluation through a Monte Carlo simulation based on an MPI implementation // European Safety and Reliability Conference: Advances in Safety, Reliability and Risk Management (PSAM 2011/ESREL 2012). Helsinki, 2012. P. 1-6.
22. Родионов А. С., СакеринА.В., Мигов Д. А. Некоторые вопросы параллельной реализации алгоритма полного перебора (на примере задач надёжности сетей) // Вестник Сиб-ГУТИ. 2014. Т. 4. С. 79-84.
23. Hebert P.-R. Sixty years of network reliability // Mathematics in Computer Science. 2018. V. 12. P. 275-293.
24. Попков В. К. Математические модели связности. Ч. 1-3. Новосибирск: Изд-во ИВМиМГ СО РАН, 2000-2002.
25. Wood R. K. Triconnected decomposition for computing K-terminal network reliability // Networks. 1989. V. 19. P. 203-220.
26. Hopcroft J. and Tarjan R. Dividing a graph into triconnected components // SIAM J. Comput. 1973. V.2. P. 135-158.
27. Мигов Д. А. Использование разрезов случайного графа для вычисления вероятности его связности // Труды конф. молодых ученых ИВМиМГ СО РАН, 2004. Новосибирск: ИВМиМГ СО РАН, 2004. С. 133-130.
28. Мигов Д. А. Расчет вероятности связности сети с применением вершинных разрезов специального вида // Тез. докл. V Всерос. конф. молодых ученых по мат. моделированию и инф. технологиям, 2004. Новосибирск: ИВТ СО РАН, 2004. С. 24-25.
29. Мигов Д. А. Расчет вероятности связности сети с применением продольных разрезов // Труды конф. молодых ученых ИВМиМГ СО РАН, 2006. Новосибирск: ИВМиМГ СО РАН, 2006. С. 144-151.
30. Migov D.A., Rodionova O. K, Rodionov A. S., and Choo H. Network probabilistic connectivity: using node cuts // LNCS. 2006. V. 4097. P. 702-709.
31. Мигов Д. А. Расчёт вероятности связности случайного графа с применением сечений: дис. ... канд. физ.-мат. наук. Новосибирск: Институт вычислительной математики и математической геофизики, 2008. 96 с.
32. Мигов Д. А. Методы расчета надежности сетей, основанные на использовании сечений // Вычислительные технологии. 2008. Т. 13. С. 425-431.
33. Мигов Д. А. Расчёт надёжности сети с ограничением на диаметр с применением точек сочленения // Автоматика и телемеханика. 2011. Т. 7. С. 69-74.
34. Burgos J. M. and Amoza F. R. Factorization of network reliability with perfect nodes I: Introduction and statements // Discr. Appl. Math. 2016. V. 198. P. 82-90.
35. Burgos J. M. Factorization of network reliability with perfect nodes II: Connectivity matrix // Discr. Appl. Math. 2016. V. 198. P. 91-100.
36. Gutwenger C. and Mutzel P. A. A linear time implementation of SPQR-trees // LNCS. 2001. V.1984. P. 77-90.
37. Tsin Y.H. Decomposing a multigraph into split components // Proc. CATS'12, Melbourne, Australia. 2012. V. 128. P. 3-12.
38. Карпов Д. В. Дерево разрезов и минимальный k-связный граф // Записки научных семинаров ПОМИ. 2014. T.427. С. 22-40.
39. Halin R. S-functions for graphs // J. Geometry. 1976. V.8. No. 2. P. 171-186.
REFERENCES
1. Zhukovskiy М. Е. and Raygorodskiy А. М. Sluchaynyye grafy: modeli i predelnyye kharakteristiki [Random graphs: models and asymptotic characteristics]. Uspekhi Matematicheskikh Nauk, 2015, vol.70, no. 1(421), pp.35-88. (in Russian)
2. Colbourn Ch. J. The combinatorics of network reliability. N.Y., Oxford Univ. Press, 1987. 160 p.
3. Valiant L. The complexity of enumeration and reliability problems. SIAM J. Comput., 1979, vol.8, no. 3, pp. 410-421.
4. Page L. B. and Perry J. E. A practical implementation of the factoring theorem for network reliability. IEEE Trans. Reliability, 1988, vol. 37, no. 3, pp. 259-267.
5. Ryabinin I. A. Logical-probabilistic calculus: A tool for studying the reliability and safety of structurally complex systems. Automation and Remote Control, 2003, vol. 64, no. 7, pp.178-186.
6. Satyanarayana A. and Wood R. K. A linear-time algorithm for computing K-terminal reliability in series-parallel networks. SIAM. J. Comput., 1985, vol. 18, pp. 818-883.
7. Shooman A. M. and Kershenbaum A. Methods for communication-network reliability analysis: probabilistic graph reduction. IEEE Proc. Reliability and Maintainability Symp., 1992, Las Vegas, USA. N.Y.: IEEE Press, 1992, pp. 441-448.
8. Wood R. K. A factoring algorithm using polygon-to-chain reductions for computing K-terminal network reliability. Networks, 1985, vol. 15, no. 2, pp. 173-190.
9. Mochalov V. A. Metod sinteza otkazoustoychivoy strukutry sensornoy seti pri nalichii ogranicheniy po razmeshcheniyu uzlov seti v raznorodnom prostranstve [The method of synthesis of fault-tolerant structure of the sensor network in restrictions on the placement of network nodes in a heterogeneous space]. T-Comm: Telekommunikatsii i Transport, 2012, vol. 6, no. 10, pp. 71-75. (in Russian)
10. Rodionov A. S. and Rodionova O. K. Random hypernets in reliability analysis of multilayer networks. Lecture Notes in Electrical Engineering, 2015, vol.343, pp.307-315.
11. Melentyev V.A. Funktsiya strukturnoy otkazoustoychivosti i d-ogranichennaya komponenta svyaznosti grafa vychislitelnoy sistemy [Function of structural fault tolerance and d-limited connected component of graph of a computational system]. Prikladnaya Diskretnaya Matematika, 2008, vol. 2, no. 2, pp. 102-106. (in Russian)
12. Levendovszky J., Jereb L., Elek Zs., and Vesztergombi Gy. Adaptive statistical algorithms in network reliability analysis. Performance Evaluation, 2002, vol.48, no. 1-4, pp.225-236.
13. Tsitsiashvili G. Sh., Osipova MA., and LosevA.S. Vyvod asimptoticheskikh konstant dlya veroyatnosti nesvyaznosti planarnogo vzveshennogo grafa [Derivation of asymptotic constants for the probabilistic connectivity of a planar weighted graph]. Prikladnaya Diskretnaya Matematika, 2014, no. 2(24), pp. 97-100. (in Russian)
14. LototskyA.D. Issledovaniye tochnykh metodov vychisleniya strukturnoy nadyozhnosti kompyuternykh setey [Study of accurate methods for calculating the structural reliability of computer networks]. Innovatsii na Osnove Informatsionnykh i Kommunikatsionnykh Tekhnologiy, 2014, vol.1, pp. 233-235. (in Russian)
15. Rodionov A. S. and Rodionova O. K. Nekotoryye metody uskoreniya rascheta nadyozhnosti informatsionnykh setey [Some methods for speeding up the calculation of the reliability of information networks]. Proc. IT+SF 2003, Gurzuf, Ukraine, 2003. Zaporozhye: Zaporozhye State University Publ., 2003, pp. 215-217. (in Russian)
16. Migov D. S. Formuly dlya bystrogo rascheta veroyatnosti svyaznosti podmnozhestva vershin v grafakh nebolshoy razmernosti [Formulas for quickly calculating the probabilistic connectivity of a subset of vertices in graphs of small dimension]. Problemy Informatiki, 2010, vol.6, pp. 10-17. (in Russian)
17. Chen Y., Li J., and Chen J. A new algorithm for network probabilistic connectivity. Proc. IEEE Military Communications Conf., N.Y., IEEE Press, 1999, vol.2, pp. 920-923.
18. Tittmann P. Partitions and network reliability. Discr. Appl. Math., 1999, vol.95, no. 1-3, pp.445-453.
19. Won J.-M. and Karray F. Cumulative update of all-terminal reliability for faster feasibility decision. IEEE Trans. Reliability, 2010, vol. 59, no. 3. pp. 551-562.
20. Rodionov A., Migov D., and Rodionov O. Improvements in the efficiency of cumulative updating of all terminal network reliability. IEEE Trans. Reliability, 2012, vol.61, no.2, pp.460-465.
21. Martinez S. P., Calvino B. O., and Rocco S. C. M. All-terminal reliability evaluation through a Monte Carlo simulation based on an MPI implementation. European Safety and Reliability Conference: Advances in Safety, Reliability and Risk Management (PSAM 2011/ESREL 2012), Helsinki, 2012, pp. 1-6.
22. Rodionov A., Sakerin A., and Migov D. Nekotoryye voprosy parallelnoy realizatsii algoritma polnogo perebora (na primere zadach nadyozhnosti setey) [Some issues of parallel implementation of the exhaustive search algorithm (by the example of network reliability problems)]. Vestnik SibGUTI, 2014, vol.4, pp. 79-84. (in Russian)
23. Hebert P.-R. Sixty years of network reliability. Mathematics in Computer Science, 2018, vol. 12, pp. 275-293.
24. Popkov V. K. Matematicheskiye modeli svyaznosti [Mathematical Models of Connectivity]. Vol. 1-3. Novosibirsk, ICMMG Publ., 2000-2002. (in Russian)
25. Wood R. K. Triconnected decomposition for computing K-terminal network reliability. Networks, 1989, vol. 19, pp. 203-220.
26. Hopcroft J. and Tarjan R. Dividing a graph into triconnected components. SIAM J. Comput., 1973, vol.2, pp. 135-158.
27. Migov D. A. Ispolzovaniye razrezov sluchaynogo grafa dlya vychisleniya veroyatnosti yego svyaznosti [Using vertex cuts of a random graph to calculate the probability of its connectivity]. Proc. Young Scientists Conf. ICMMG of SB RAS, 2004, Novosibirsk, ICMMG Publ., pp. 133-130. (in Russian)
28. Migov D. A. Raschet veroyatnosti svyaznosti seti s primeneniyem vershinnykh razrezov spetsialnogo vida [Calculation of the probability of network connectivity using vertex cuts of a special kind]. Proc. All-Russian Young Scientists Conf. Math. Modeling and Inf. Technology, 2004, Novosibirsk, ICT of SB RAS, pp. 24-25. (in Russian)
29. Migov D. A. Raschet veroyatnosti svyaznosti seti s primeneniyem prodolnykh razrezov [Calculation of the probability of network connectivity using longitudinal cuts]. Proc. Young Scientists Conf. ICMMG SB RAS, 2006, Novosibirsk, ICMMG Publ., pp. 144-151. (in Russian)
30. MigovD.A., Rodionova O. K, Rodionov A . S ., and Choo H. Network probabilistic connectivity: using node cuts. LNCS, 2006 vol.4097, pp. 702-709.
31. MigovD.A. Raschyot veroyatnosti svyaznosti sluchaynogo grafa s primeneniyem secheny [Calculation of the Connectivity Probability of a Random Graph Using Cuts]. PhD Thesis, Novosibirsk, ICMMG, 2008. 96 p. (in Russian)
32. MigovD.A. Metody rascheta nadezhnosti setey, osnovannyye na ispolzovanii secheny [Methods for calculating the reliability of networks based on the use of sections]. Vychislitelnyye Tekhnologii, 2008, vol.13, pp. 425-431. (in Russian)
33. Migov D. A. Computing diameter constrained reliability of a network with junction points. Automation and Remote Control, 2011, vol.72, no.7, pp. 1415-1419.
34. Burgos J. M. and Amoza F. R. Factorization of network reliability with perfect nodes I: Introduction and statements. Discr. Appl. Math., 2016, vol.198, pp. 82-90.
35. Burgos J. M. Factorization of network reliability with perfect nodes II: Connectivity matrix. Discr. Appl. Math., 2016, vol. 198, pp. 91-100.
36. Gutwenger C. and Mutzel P. A. A linear time implementation of SPQR-trees. LNCS, 2001, vol. 1984, pp. 77-90.
37. Tsin Y.H. Decomposing a multigraph into split components. Proc. CATS'12, Melbourne, Australia, 2012, vol.128, pp. 3-12.
38. Karpov D. V. Derevo razrezov i minimalny k-svyazny graf [Section tree and minimally k-connected graph]. Zapiski Nauchnykh Seminarov POMI, 2014, vol. 427, pp. 22-40. (in Russian)
39. Halin R. S-functions for graphs. J. Geometry, 1976, vol.8, no. 2, pp. 171-186.