На правах рукописи Мигов Денис Александрович РАСЧЕТ ВЕРОЯТНОСТИ СВЯЗНОСТИ СЛУЧАЙНОГО ГРАФА С ПРИМЕНЕНИЕМ СЕЧЕНИЙ 05.13.18 - математическое моделирование, численные методы и комплексы программ Автореферат диссертации на соискание ученой степени кандидата физико-математических наук Новосибирск — 2008 Работа выполнена в Институте вычислительной математики и математической геофизики СО РАН. Научный руководитель: Официальные оппоненты: доктор технических наук, доцент Родионов Алексей Сергеевич доктор физико-математических наук, профессор Ерзин Адиль Ильясович кандидат физико-математических наук, доцент Рогазинский Сергей Валентинович Ведущая организация: Сибирский государственный университет телекоммуникаций и информатики (г. Новосибирск) Защита состоится 11 ноября 2008 г. в 15 часов на заседании диссертационного совета Д 003.061.02 при Институте вычислительной математики и математической геофизики СО РАН по адресу: 630090, Новосибирск, проспект Лаврентьева, 6. С диссертацией можно ознакомиться библиотеке Института вычислительной математики и математической геофизики СО РАН. Автореферат разослан 10 октября 2008 г. Ученый секретарь диссертационного совета д.ф.-м.н. С.Б. Сорокин ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ Актуальность работы. В работе рассматривается задача расчета вероятности связности случайного графа с ненадежными ребрами и абсолютно надежными вершинами. Эта характеристика является одним из основных показателей структурной надежности сетей связи, в которых надежность узлов на порядки превосходит надежность каналов связи. Задача расчета надежности возникает при проектировании и структурной оптимизации таких сетей. В зависимости от сложности вычислений (размерности задачи) для этого могут быть использованы как точные, так и приближенные методы. Так как задача точного расчета NP-трудна, ранее на практике использовали различные приближенные методы, тогда как точные методы представляли в большей степени академический интерес. Однако развитие вычислительной техники привело к возрождению интереса к использованию этих методов на практике, потому что появилась возможность за разумное время рассчитывать надежность сетей малой и средней размерности (десятки и сотни узлов). С другой стороны, проверка приближенных методов на точность их работы также вызывает необходимость дальнейшего исследования точных методов. Цель работы — разработка методов для повышения эффективности работы точных алгоритмов расчета вероятности связности случайного графа. Методы исследования базируются на теории графов и методах теории вероятностей. Научная новизна работы состоит в следующем: • Установлено, что вероятность связности графа может быть выражена через вероятности связности производных от подграфов, на которые граф разделяется сечением. Получены формулы для вероятности связности графов с сечениями из двух, трех и четырех вершин. • Разработана методика получения формул с небольшим числом операций (по сравнению с известными формулами) для 1 вероятности связности подмножества вершин в графах малой размерности, что существенно ускоряет процесс расчета на графах произвольной размерности методом ветвления. Практическая значимость работы. Предложенные методы могут быть использованы на практике для проектирования, анализа и структурной оптимизации сетей различного назначения. Апробация работы. Основные научные результаты диссертации докладывались и обсуждались на следующих конференциях и семинарах: • 9-я, 10-я, 11-я Конференции молодых ученых ИВМиМГ СО РАН. Новосибирск, 2004, 2005, 2006. Два доклада (2004, 2006) отмечены премиями. • МНПК “Связь–2004”. Международный семинар “Вычислительные методы и решение оптимизационных задач”. Озеро Иссык-Куль, Кыргызская респ., 2004. • 5-я и 6-я Всероссийские конференции молодых ученых по математическому моделированию и информационным технологиям (с участием иностранных ученых). Новосибирск и Кемерово, 2004 и 2005. За доклад в 2004 награжден почетной грамотой. • Всероссийская конференция по математической безопасности информационных технологий МаБИТ–04. Москва, 2004. • 1-я, 2-я, 3-я, 4-я Азиатские международные школы-семинары по проблемам оптимизации сложных систем. Новосибирск, 2005 ,2006; озеро Иссык-Куль, 2007; респ. Алтай, 2008. • 8-я Всероссийская конференция с участием иностранных ученых “Современные методы математического моделирования природных и антропогенных катастроф”. Кемерово, 2005. • The 2006 IFIP International Conference on Embedded And Ubiquitous Computing. Korea, 2006. 2 • 9-я и 10-я Международные конференции “Проблемы функционирования информационных сетей”. Новосибирск, 2006, 2008. • Международная конференция “Вычислительные и информационные технологии в науке, технике и образовании”. Павлодар, Казахстан, 2006. • Семинар “Моделирование инфо-коммуникационных систем” под руководством д.ф.-м.н. В.К. Попкова, ИВМиМГ СО РАН. • Семинар “Дискретный анализ” под руководством к.ф.-м.н. А. А. Евдокимова и д.ф.-м.н. А. Д. Коршунова, ИМ СО РАН. Публикации. По материалам данной работы опубликовано 15 печатных работ, список которых приведен в конце автореферата. Структура и объем работы. Диссертация состоит из введения, четырех глав, заключения и списка литературы. Диссертация изложена на 97 страницах, включает библиографический список из 61 наименования работ, 23 рисунка, 8 таблиц. 3 СОДЕРЖАНИЕ РАБОТЫ Во введении обсуждается актуальность темы диссертации, а также сделан обзор всех разделов диссертационной работы. Глава 1 содержит формальное описание задачи и обзор известных методов ее решения. Кроме этого, в данной главе предложена методика вывода формул для вероятности связности графов малой размерности, основанная на переборе несвязных частных реализаций графа, причем за основу перебора берутся случаи полного отсечения каждой из вершин. С ее помощью получены формулы для вероятности связности 4-х и 5-и вершинных графов. Для 4-х вершинного графа (рис. 1) формула имеет вид: 1 − R(G) =6a0 b0 c0 d0 e0 f 0 + a0 b0 e0 + a0 d0 f 0 + b0 c0 f 0 + c0 d0 e0 − 2(b0 d0 e0 f 0 (a0 + c0 − 0, 5) + a0 c0 e0 f 0 (b0 + d0 − 0, 5)+ 0 0 0 0 0 (1) 0 a b c d (e + f − 0, 5)). Данная формула содержит 20 операций сложения–вычитания и 27 операций умножения, что существенно меньше чем 38 и 110 операций соответственно, которые содержатся в ранее известной формуле. Формула для 5-и вершинного графа содержит 55 операций сложения-вычитания и 96 операций умножения, поэтому здесь не приводится. Также получены формулы для вероятности связности двух и трех вершин в 4-х вершинном графе. 1 f e b d 4 2 a ñ 3 Рис. 1: 4–х вершинный граф В Главе 2 изложены результаты автора для задачи расчета вероятности связности всех вершин случайного графа. 4 x G1 G2 y Рис. 2: Граф с двухвершинным сечением Подробно описывается случай, когда граф содержит двухвершинное сечение (рис. 2). Для этого случая доказана формула: ¡ ¢ R(G) =R(G1 ) · R(G02 ) − R(G2 ) + ¡ ¢ (2) R(G2 ) · R(G01 ) − R(G1 ) + R(G1 ) · R(G2 ). Через G0i обозначен граф, полученный из Gi слиянием вершин сечения. Использование формулы (2) снижает вычислительную сложность расчета вероятности связности графа с величины порядка O(2M ) = O(2M1 +M2 ) до O(2M1 +1 ) + O(2M2 +1 ), где M1 и M2 — количество ребер в двух подграфах G1 и G2 на которые граф разделяется двухвершинным сечением. Также получена формула на случай, если граф разделяется двухвершинным сечением на произвольное количество подграфов. Сделано замечание, что формула (2) будет верна также для недвусвязных графов, то есть графов, связность которых равна 0 или 1. Далее рассматриваются так называемые циклические (рис. 3) и продольные графы (рис. 4). Эти графы являются двусвязными и содержат сразу группу двухвершинных сечений. Непосредственное рекурсивное применение формулы (2) к такому графу приведет к многократному пересчитыванию вероятности связности каждого подграфа, а также вероятности связности каждого подграфа, склееного по разрезающим вершинам. Предлагаемые формулы позволяют избежать этого. Формула для вероятности связности циклического графа имеет вид: R(G) =(p01 − p1 )p2 . . . pk + p1 (p02 − p2 )p3 . . . pk + . . . + p1 . . . pk−1 (p0k − pk ) + p1 p2 . . . pk , 5 (3) x1 x2 G1 G5 G2 x5 x3 G3 G4 x4 Рис. 3: Пример циклического графа x2 x1 xk-2 xk-1 ... G1 Gk-1 G2 y1 y2 ... yk-2 Gk yk-1 Рис. 4: Продольный граф где pi — вероятность связности подграфа Gi , p0i — вероятность связности G0i , т.е. графа, полученного из Gi слиянием двух вершин из рассматриваемого сечения (каждая компонента содержит ровно две такие вершины). Вероятность связности продольного графа не удалось выразить при помощи одной формулы. Вместо этого предлагается предварительно вычислить вероятности связности всех компонент (подграфов Gi ) продольного графа, а также вероятности связности компонент, стянутых специальным образом по вершинам сечения. Всего для каждой компоненты придется обсчитать 4 подграфа, за исключением крайних компонент — для них нужно обсчитать по 2 подграфа. Затем вероятность связности продольного графа определяется через полученные значения по рекурсивным формулам. Также приводится описание процедуры нахождения максимального продольного сечения. Метод с использованием двухвершинных сечений развивает6 ся на сечения произвольной мощности. В этом случае не удалось получить универсальную формулу (верную для сечения любой мощности), выражающую вероятность связности графа через вероятности связности производных от подграфов, на которые граф разделяется сечением, подобно формуле для двухвершинного сечения. Вместо этого получена более общая формула, выражающая вероятность связности графа через вероятности распада на компоненты связности подграфов, на которые граф разделяется сечением. Вероятности распада этих подграфов в свою очередь выражаются через вероятности связности этих же подграфов, стянутых всевозможными способами по разрезающим вершинам. Эта связь выражается системой линейных уравнений. Следовательно, вычислив вероятности связности подграфов, стянутых всевозможными способами по разрезающим вершинам, решив систему и подставив полученные значения в формулу, мы получим значение вероятности связности исходного графа. Таким способом получены формулы в явном виде для вероятности связности графов с трехвершинным и четырехвершинным сечениями. Ниже приведена формула для трехвершинного сечения: 1 1|23 12|3 13|2 1|23 R(G) = [R(G1 )(R(G2 ) + R(G2 ) − R(G2 ))+ 2 12|3 1|23 13|2 12|3 R(G1 )(R(G2 ) + R(G2 ) − R(G2 ))+ 13|2 R(G1 12|3 )(R(G2 12|3 R(G1 )(R(G2 ) 12|3 R(G2 )(R(G1 ) 1|23 ) + R(G2 + + 13|2 R(G2 ) 13|2 R(G1 ) 13|2 ) − R(G2 + + ))− 1|23 R(G2 ))− 1|23 R(G1 ))+ (4) R(G1 )R(G2 )]+ 123 R(G1 )R(G123 2 ) + R(G1 )R(G2 ). 12|3 В данной формуле принято следующие обозначение: через Gi обозначается подграф Gi , стянутый по разрезающим вершинам 1 и 2; соответственно G123 — подграф Gi , стянутый по всем разреi зающим вершинам 1, 2, 3. 7 Формула для четырехвершинного сечения содержит 101 операцию сложения–вычитания и 16 операций умножения, поэтому здесь не приводится. При этом в случае двухвершинного сечения вероятность связности исходного графа выражается через вероятности связности 4 стянутых подграфов, в случае трехвершинного сечения эта цифра равна 10, а в случае четырехвершинного сечения — 30. В Главе 3 изложены результаты автора для задачи расчета вероятности связности выделенного подмножества вершин случайного графа. Как и в предыдущей главе, рассматривается ситуация, когда граф содержит двухвершинное сечение. Отдельно рассматривается случай двухвершинной связности, т.е. случай, когда выделенное подмножество вершин состоит из двух элементов (рис. 5). Для этого случая получены формулы (в зависимости от взаиморасположения выделенных вершин), связывающие вероятность связности двух вершин графа с вероятностями связности определенных вершин в подграфах, на которые граф разделяется сечением: а)Rst (G) = Rsx (G1 )Rxt (G2 )+Rsy (G1 )Ryt (G2 )−Rsxy (G1 )Rxyt (G2 ), б)Rst (G) = Rst (G2 ) + Rsy (G1 )Ryt (G2 ) − Rsy (G1 )Rsyt (G2 ), в)Rst (G) = Rst (G1 ) + Rst (G2 ) − Rst (G1 )Rst (G2 ), ¡ ¢ г)Rst (G) = Rxy (G1 ) Rst (G02 ) − Rst (G2 ) + Rst (G2 ). Также получена формула на случай, если граф разделяется двухвершинным сечением на произвольное количество подграфов. Далее рассматривается случай, когда множество выделенных вершин состоит из более чем двух элементов. Существуют два варианта расположения целевых вершин в подграфах как показано на рисунке 6. В первом множество целевых вершин, попавших в G1 , будем обозначать S, а множество вершин, попавших в G2 — T . Во втором варианте все множество целевых вершин K находится в G1 . Кроме этого, отдельно выделен вариант, когда |S| = 1; обозначим его как вариант в). 8 s x G1 s G2 G1 t t G2 y y à) á) x s s G1 G1 G2 G2 t y t ã) â) Рис. 5: Варианты взаиморасположения вершин x, y, s, t x G1 x T S G2 K G1 y y à) á) G2 Рис. 6: Варианты расположения целевых вершин в графе Доказаны формулы а)RK (G) = RS∪{x} (G1 ) · RT ∪{x} (G2 ) + RS∪{y} (G1 ) · RT ∪{y} (G2 )+ RS∪{z} (G01 ) · RT ∪{x,y} (G2 ) + RS∪{x,y} (G1 ) · RT ∪{z} (G02 )− RS∪{x} (G1 ) · RT ∪{x,y} (G2 ) − RS∪{x,y} (G1 ) · RT ∪{x} (G2 )− RS∪{y} (G1 ) · RT ∪{x,y} (G2 ) − RS∪{x,y} (G1 ) · RT ∪{y} (G2 )+ RS∪{x,y} (G1 ) · RT ∪{x,y} (G2 ); 9 ¡ ¢ б)RK (G) = Rxy (G1 ) · RK (G02 ) − RK (G2 ) + RK (G2 ); в)RK (G) = RS∪{x} (G1 ) · RT ∪{x} (G2 ) + RS∪{y} (G1 ) · RT ∪{y} (G2 )+ RS∪{x,y} (G1 ) · RT ∪{z} (G02 )− 2 · RS∪{x,y} (G1 ) · RT ∪{x,y} (G2 ). Глава 4 содержит описание алгоритмов, основанных на полученных в предыдущих главах результатах, а также анализ результатов численных экспериментов. Наряду со временем расчета отслеживалось также количество рекурсий для каждого метода. Расчеты проводились на ПЭВМ с процессором AMD Athlon 3500+, 2,2GHz, RAM: 3Gb. Экспериментально показано, что для некоторых классов графов использование полученных в диссертационной работе формул даёт существенное сокращение времени вычислений. В таблице 1 приведены результаты экспериментов для проверки эффекта, который дает применение полученных в первой главе формул для графов малой размерности. Эксперименты проводились на полных графах KL размерности 10, 11, 12. В первом столбце — показатели работы метода ветвления с продолжением рекурсий до четырехвершинных графов (алгоритм Factoring4Old ), во втором столбце — показатели работы метода ветвления с продолжением рекурсий до четырехвершинных графов (алгоритм Factoring4 ) с использованием формулы (1), в третьем столбце — показатели работы метода ветвления с продолжением рекурсий до пятивершинных графов (алгоритм Factoring5 ) с использованием полученной формулы. Все алгоритмы усилены последовательно– параллельным преобразованием на каждом шаге и предварительным удалением “прикрепленных деревьев”. Из полученных данных видно, что новая формула для вероятности связности 4-х вершинного графа хоть и содержит значительно меньшее количество операций, но ее использование практически не дает приемущества перед ранее известной формулой. При этом использование данных формул практически в два раза ускоряет процесс расчета по сравнению с ветвлением до двухвершинных графов, а использование формулы для 5-и вершинного 10 Таблица 1: Результаты расчетов для полных графов KL L 10 11 12 Factoring4Old Время Рекурсии 0,23 c 40319 2,03 c 362879 20,4 c 3628799 Factoring4 Время Рекурсии 0,2 с 40319 2с 362879 20,2 с 36228799 Factoring5 Время Рекурсии 0,09 c 1349 0,76 c 120959 7,6 c 1257599 графа ускоряет процесс расчета почти в три раза. Для метода с использованием формулы (2) были проведены эксперименты на графах, полученных объединением двух полных графов одной размерности с двумя общими вершинами. Из этих графов выкидывается ребро между общими вершинами, для того, чтобы их можно было быстрей обсчитать методом ветвления. Будем обозначать такие графы KL0 , на рисунке 7 представлены графы K40 и K50 . Результаты эксперимента приведены в таблице 2. В первом столбце — показатели работы метода ветвления (алгоритм Factoring), во втором столбце — показатели работы метода ветвления с предварительной проверкой каждого блока графа на наличие двухвершинного сечения и рекурсивной декомпозицией по формуле (2) в случае, если сечение есть (Алгоритмы 2Cuts). Все алгоритмы усилены последовательно–параллельным преобразованием на каждом шаге, предварительным удалением “прикрепленных деревьев” и разложением на блоки. Рис. 7: Графы K40 и K50 Для алгоритмов с использованием формулы в случае четырехвершинного сечения были проведены эксперименты решетках ширины 4, с длиной менялась от 7 до 11. Обозначать такие графы будем как Grid4 × L. Алгоритм с использованием формулы для четырехвершинного сечения обозначен как Factoring. Также рас11 Таблица 2: Результаты расчетов для графов KL0 L 8 9 10 11 12 Factoring Время Рекурсии 2с 305487 2 мин 27 с 13394427 7 часов 1, 7 · 1011 — — — — 2Cuts Время Рекурсии <0,01 c 477 0,01 с 3357 0,17 c 26877 1,5 c 241917 15,5 c 2419197 Таблица 3: Результаты расчетов для решеток Grid4 × L L 7 9 10 11 Factoring Время Рекурсии 0,39 с 39605 22 с 2473799 2 мин 50 с 19527443 22 мин 30 с 154117959 FactoringFor2Cut’ Время Рекурсии 0,36 с 35189 17 с 1916021 2 мни 14 с 15125909 18 мин 14 с 95175949 Время 0,06 с 0,37 с 0,65 с 1,5 с 4Cuts Рекурсии 961 7351 9271 57661 сматривается алгоритм FactoringFor2Cut’, суть которого заключается в нахождении четырехвершинного сечения и направленного ветвления до получения дувхвершинного сечения, для которого можно использовать формулу (2). Результаты приведены в таблице 3. Полученные результаты показывают, что применение полученных формул для некоторых классов графов на порядки снижает время вычислений. Были также проведены эксперименты на графах, которые заведомо не содержат подходящих сечений. Для таких графов время расчета предложенным методом практически не отличается от времени расчета методом ветвления. В заключении сформулированы результаты, выносимые автором на защиту: 1. Сформулированы и доказаны теоремы, выражающие вероятность связности случайного графа через вероятности связности графов, получающихся при его разделении по произвольному сечению и графов, производных от них. 2. Предложены методы расчета вероятности связности выделенного подмножества вершин случайного графа (для двухвершинных сечений) и вероятности связности всех его вер12 шин, основанные на рассмотрении сечений мощности до 4 включительно, а также методы расчета вероятности связности всех вершин с использованием множества сечений для некоторых классов графов. 3. Разработан комплекс программ, реализующих предложенные алгоритмы и экспериментально показывающий их преимущество по отношению к существующим. Публикации в журналах списка ВАК 1. Migov D.A., Rodionova O.K., Rodionov A.S., Choo H. Network Probabilistic Connectivity: Using Node Cuts // EUC Workshops, Springer–Verlag LNCS, Vol. 4097, 2006. — P. 702–709. Публикации в прочих рецензируемых журналах 2. Родионов А.С., Родионова О.К., Мигов Д.А., Мурзин М.Ю. Использование метода ветвления для точного расчёта вероятности связности случайного графа// Математика и безопасность информационных технологий. — М.: МГУ– МЦНМО, 2005. С. — 333–341. 3. Мигов Д.А. Расчет вероятности связности двухполюсной сети с применением двухвершинных разрезов// Труды ИВМиМГ СО РАН, Серия Информатика, 5. Мат. 1–ой Азиатской межд. школы–семинара “Проблемы оптимизации сложных систем”. — Новосибирск: ИВМиМГ СО РАН, 2005. — С. 32–38. 4. Мигов Д.А. Вычисление вероятности связности подмножества узлов сети с использованием двухвершинных разрезов// Труды ИВМиМГ СО РАН, Серия Информатика, 6. Мат. 2–ой Азиатской межд. школы–семинара “Проблемы оптимизации сложных систем”. — Новосибирск: ИВМиМГ СО РАН, 2006. — С. 134–138. 5. Мигов Д.А. Расчет вероятности связности случайного графа с применением сечений// Труды ИВМиМГ СО РАН, Се13 рия Информатика, 7. Мат. 3–ой Азиатской межд. школы– семинара “Проблемы оптимизации сложных систем” (Кыргызская респ., оз. Иссык–Куль). — Новосибирск: ИВМиМГ СО РАН, 2007. — С. 81–86. Публикации в трудах конференций 6. Мигов Д.А. Использование разрезов случайного графа для вычисления вероятности его связности// Труды конф. молодых ученых ИВМиМГ СО РАН. — Новосибирск: ИВМиМГ СО РАН, 2004. — С. 133–140. 7. Мигов Д.А. Вероятность связности 5–и вершинного графа// Мат. Межд. семинара "Выч. методы и решение оптимизационных задач"(Кыргызская респ., Бишкек). — Новосибирск, 2004. — С. 113–116. 8. Мигов Д.А. Расчет вероятности связности сети с применением вершинных разрезов специального вида// Тезисы докладов V Всерос. конф. молодых ученых по мат. моделированию и инф. технологиям. — Новосибирск: ИВТ СО РАН, 2004. — С. 24–25. (Полный текст доклада на http://www.ict. nsc.ru/ws/YM2004). 9. Мигов Д.А. Расчет вероятности связности K–полюсной сети с применением двухвершинных разрезов// Труды конф. молодых ученых ИВМиМГ СО РАН. — Новосибирск: ИВМиМГ СО РАН, 2005. — С. 95–101. 10. Мигов Д.А. Формулы вероятности связности k вершин для графов небольшой размерности// Тезисы Тез. докл. VI Всер. конф. молодых ученых по мат. моделированию и инф. технологиям. — Кемерово: КГУ, 2005. — С. 42. (Полный текст доклада на http://www.ict.nsc.ru/ws/YM2005). 11. Мигов Д.А. Расчет вероятности связности сети с применением продольных разрезов// Труды конф. молодых ученых ИВМиМГ СО РАН. — Новосибирск: ИВМиМГ СО РАН, 2006. — С. 144-151. 14 12. Мигов Д.А. Методы ускорения расчета надежности K– полюсной сети, основанные на рассмотрении вершинных разрезов// Мат. IX межд. конф. "Проблемы функционирования информационных сетей". — Новосибирск: ИВМиМГ СО РАН, 2006. — С. 205–209. 13. Мигов Д.А. Использование вершинных разрезов для точного вычисления вероятности связности сети// Труды межд. конф. "Вычислительные и информационные технологии в науке, технике и образовании". — Казахстан, Павлодар: ПГУ, 2006. — С. 51–56. 14. Мигов Д.А. Стратегия выбора разрешающего ребра в методе ветвления и применение сечений при вычислении вероятности связности графа// Мат. 4–ой Азиатской межд. школы–семинара “Проблемы оптимизации сложных систем” (респ. Алтай), 2008. В печати. 15. Мигов Д.А. Выбор разрешающего ребра в методе ветвления и применение сечений для расчета надежности сетей// Мат. X межд. конф. "Проблемы функционирования информационных сетей". — Новосибирск: ИВМиМГ СО РАН, 2008. — С. 73–75. Подписано в печать 08.10.2008г. Формат 60 × 841 /16 . Уч.-изд. л. 1 Тираж 80 экз. Заказ № 193 ООО “Омега Принт” Новосибирск-90, пр. Лаврентьева, 6 15