Об одном показателе надежности для сетей с отказами узлов

ОБ ОДНОМ ПОКАЗАТЕЛЕ НАДЕЖНОСТИ ДЛЯ СЕТЕЙ С ОТКАЗАМИ УЗЛОВ

Д. А. Мигов

Институт вычислительной математики и математической геофизики СО РАН,

630090, Новосибирск, Россия

УДК 22.174+22.171

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

Ключевые слова: надежность сети, случайный граф, беспроводные сенсорные сети.

New reliability parameter for network with nodes failures is proposed. This reliability parameter may be used for wireless sensor networks. The problem of calculation of the new parameter is NP-hard, just like problems of other parameters computing. The method for new reliability parameter calculating is obtained. It is shown that method may be used for sink nodes placement in networks.

Key words: network reliability, random graph, wireless sensor networks.

Введение. В настоящее время проблема надежности сетей является достаточно хорошо изученной. Как правило, в качестве модели сети, элементы которой подвержены случайным отказам, используется случайный граф [1]. Для элементов графа (вершин и ребер) задаются вероятности присутствия, что соответствует надежности элементов сети (узлов и каналов связи). Рассматриваются различные уточнения этой модели: подверженность отказам каналов связи или (и) узлов; наличие выделенных узлов сети, для которых необходимо обеспечить возможность устанавливать соединение друг с другом; ограничение на диаметр сети [2, 3] и др.

В качестве основного показателя надежности сети обычно используется вероятность связности соответствующего случайного графа, однако изучаются и другие показатели, например средняя вероятность связности пар вершин [4], математическое ожидание числа связных вершин [5]. Независимо от того, какой показатель используется, задача точного расчета надежности является NP-трудной [1].

В значительной части публикаций на тему надежности сетей рассматривается случай ненадежных ребер и абсолютно надежных узлов [1-13]. Для этого случая разработано достаточное количество точных и приближенных алгоритмов. В [14] предложен подход, позволяющий последовательно уточнять значения верхней и нижней границ надежности до достижения заданного порога. В [15] этот подход был развит с применением структурной

Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований (код проекта 11-07-00183).

декомпозиции сети. С использованием данного метода необязательно точно вычислять значения надежности различных вариантов сети в процессе оптимизации ее структуры.

Случай ненадежных узлов, когда ребра также могут быть подвержены отказам или являться абсолютно надежными, изучался в [16, 17]. При наличии ненадежных узлов рассматриваются две интерпретации связности: в одном случае сеть предполагается работоспособной, если заданное множество узлов (терминалов) остается связным [16], в другом — если все оставшиеся узлы образуют связное множество [17]. Данные подходы могут иметь различные сферы применения, однако следует отметить, что во втором случае сеть формально будет работоспособной, если откажут все узлы, кроме двух связных. Таким образом, первый подход представляется более приемлемым, для второго же требуется ряд ограничений, в первую очередь на количество оставшихся в сети узлов.

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

В п. 1 вводятся необходимые обозначения и определения, на основе которых дается формальное определение предлагаемого показателя надежности. Далее описывается метод его расчета и проводятся численные эксперименты на примере оптимального размещения стоков в сетях.

1. Основные определения и обозначения. Пусть структура сети с ненадежными узлами представлена в виде неориентированного графа О = (V, Е), ¡V\ = N, \Е\ = М. Для каждой вершины задана вероятность ее присутствия в графе, что соответствует надежности узла сети, К — выделенное множество вершин, которые соответствуют стокам сети. Вершины из этого множества будем называть полюсами, или стоками. Предполагается, что множество К содержит хотя бы один элемент. Задано также натуральное число Т, такое что 1 < Т < N—|K \. Этот параметр имеет следующий смысл: Т — необходимое для успешного функционирования сети количество работоспособных узлов, имеющих связь с каким-либо стоком.

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

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

Элементарное событие Е будем называть успешным, если в нем:

— вершины К образуют связное множество;

— количество вершин из VE, связанных с К, не меньше Т.

Произвольное событие (т. е. объединение некоторых элементарных событий) будем называть успешным, если оно состоит только из успешных элементарных событий. Событие будем называть неуспешным, если оно состоит только из элементарных событий, которые не являются успешными.

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

2. Метод ветвления для расчета надежности. Показатель Як,т(С) предлагается вычислять с помощью модифицированного для этой цели метода ветвления [1-5]. Суть метода ветвления заключается в следующем: необходимо выбрать еще не рассмотренный элемент графа и перейти к рассмотрению двух подграфов, в одном из которых элемент присутствует с вероятностью 1 (ветвь стягивания), в другом — с вероятностью 0 (ветвь удаления). Вероятность первого из этих случаев будет равна вероятности присутствия элемента, вероятность второго — вероятности отсутствия элемента. Выбранный для ветвления элемент графа называется разрешающим. К полученным подграфам рекурсивно применяется та же процедура. При этом формула полной вероятности представляет собой искомое выражение для надежности на каждом шаге ветвления. Например, для Як (О) — вероятности связности подмножества вершин К в графе с ненадежными ребрами — эта формула принимает вид

Як (С) = теЯк(¿(в)) + (1 - те)Як(С\{е}),

где те — надежность ребра е; С (в) — граф, стянутый по ребру е; С\{е} — граф, получаемый из О удалением ребра е. Рекурсии продолжаются до получения либо несвязного графа, либо графа, для которого вероятность связности можно вычислить непосредственно, т. е. графа специального вида или графа малой размерности [11].

Расчет Як,т(С) выполняется по тому же принципу, но является более сложным, в первую очередь вследствие необходимости выполнения условий связности полюсов и наличия достаточного количества присоединенных к ним других вершин. В качестве разрешающего элемента целесообразно выбрать одну из смежных с каким-либо полюсом вершин либо вершину, смежную с какой-либо из уже пройденных вершин с надежностью 1. Таким образом, выбрав в качестве основы один из полюсов, можно накапливать количество присоединенных к нему вершин. Сохраним названия "ветвь стягивания" и "ветвь удаления", несмотря на то что процесс стягивания в графе, так же как и удаление, осуществлять необязательно. Рассмотрим отдельно ветви стягивания и удаления такого процесса.

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

2.2. Ветвь удаления. По данной ветви уменьшается количество вершин, которые в процессе дальнейшего ветвления могли бы стать абсолютно надежными. Таким образом, событие, соответствующее графу, полученному по этой ветви, может являться заведомо неуспешным вследствие несвязности полюсов или невозможности достижения нужного количества присоединенных к полюсам вершин. Целесообразно проверить сначала первое условие, т. е. установить, связаны ли полюсы посредством вершин с ненулевой надежностью. Если ответ положительный, то проверяется второе условие: количество нерассмотренных вершин (с надежностью от 0 до 1) должно быть достаточным для достижения нужного количества присоединенных к полюсам вершин, т. е. числа Т. Если нерассмотренных вершин ровно столько,

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

3. Алгоритм. Для описания алгоритма используются следующие обозначения. Все графы, возникающие при ветвлении, представляются массивом вероятностей P, P[г] — вероятность того, что узел г находится в исправном состоянии. Надежность такого графа будем обозначать R(P). Исходному графу G соответствует массив надежностей его вершин. Обозначим этот граф через P0. Для каждого графа введем в рассмотрение величину x — количество рассмотренных узлов и величину y — количество узлов, абсолютно надежно соединенных с множеством K (т. е. узлы, абсолютно надежно соединенные с каким-либо полюсом). Также потребуется функция Rk (P) — функция вычисления вероятности связности узлов K (метод ее расчета приведен в [16]) — и функция Connectгvгty(P) проверки связности графа, в котором учитываются вершины с ненулевой вероятностью присутствия. Пусть S = \V/K |.

Будем предполагать, что полюсы абсолютно надежны. В противном случае на предварительном этапе полюсы становятся абсолютно надежными, а полученное в итоге значение надежности сети нужно будет умножить на исходные значения надежности полюсов.

Рекурсивная процедура Еа^отгпд^^^) представляет собой алгоритм ветвления для расчета надежности графа, соответствующего массиву P. Значения x и y являются зависимыми от P, однако для того, чтобы не восстанавливать их каждый раз по массиву P, они были вынесены как отдельные параметры (Rel, Result — переменные, используемые для хранения промежуточных и окончательного результатов процедуры).

Алгоритм Еа^отгпд^х^):

1. Выбираем узел v, такой что P [v] > 0, смежный с узлом j, таким что P [j] = 1, p = P [v].

2. Ветвь стягивания: полагаем P[v] = 1, х = х + 1, y = y + 1;

если y = T, то Rel = p * RK(P), иначе: Rel = p * Factomng(P, x, y).

3. Ветвь удаления: полагаем P[v] = 0, y = y — 1; если Connectгvгty(P), то

если S — x + y = T, то Rel = Rel + (1 — p) * ПPP[г], иначе: Rel = Rel + (1 — p) * Factomng(P, x, y).

4. Result = Rel.

Таким образом, RK,T(G) = Factorгng(P0, 0, 0).

4. Результаты численных экспериментов. Покажем работу предложенного алгоритма на примере решения оптимизационной задачи по размещению стоков в сети. Пусть граф, соответствующий структуре сети, представляет собой решетку размером 5 х 5 (рис. 1). Требуется разместить в узлах этой решетки три стока с целью максимизировать вероятность доступа стоков как минимум для T других узлов сети с условием связности стоков между собой. Рассмотрены три значения показателя T: 10, 15, 20. Для каждого из этих значений оптимум искался для трех случаев, надежность каждого узла сети составляла 0,1, 0,5, 0,9.

При T = 15 получены различные оптимальные размещения при различных значениях надежности узла (рис. 2).

В случаях T = 10, 20 при различных значениях надежностей узлов сети оптимальные размещения не различались (рис. 3).

Рис. 1. Решетка размером 5 х 5

Рис. 2. Оптимальное размещение стоков для Т = 15 при р = 0,1; 0, 5 (а) и р = 0,9 (б) а б

Рис. 3. Оптимальное размещение стоков для Т = 20

Естественно, во всех рассмотренных случаях оптимумами будут также все варианты расстановки стоков, изоморфные представленным.

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

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

а

надежности при подобных изменениях не будет принципиально отличаться от метода, предложенного в настоящей работе. Для всех этих показателей задача их точного расчета будет также NP-трудной, однако, используя прием, предложенный в [14], можно за приемлемое время получить нижнюю и верхнюю границы надежности и сделать вывод о надежности (или ненадежности) сети по отношению к заданному порогу. Это позволяет решать некоторые оптимизационные задачи, например задачи расположения стоков в сетях.

Список литературы

1. COLBOURN Ch. J. The combinatorics of network reliability. N. Y.: Oxford Univ. Press, 1987.

2. Canoela H., Petingi L. Reliability of communication networks with delay constraints: computational complexity and comlete topologies // Intern. J. Math. and Math. Sci. 2004. V. 29. P. 1551-1562.

3. Мигов Д. А. Расчет надежности сети с ограничением на диаметр с применением точек сочленения // Автоматика и телемеханика. 2011. № 7. С. 69-74.

4. RODIONOV A. S., RODIONOVA O. K. Exact bounds for average pairwise network reliability // Proc. of the 6th Intern. conf. on ubiquitous information management and communication (ACM ICUIMC 2013), Kota Kinabalu (Malaysia), 2013. N. Y.: ACM, 2013. Paper 13-5.

5. Gadyatskaya O., Rodionov A., RODIONOVA O. Using EDP-polynomials for network structure optimization // Lecture Notes Comput. Sci. 2008. V. 5073. P. 1061-1077.

6. Moore E. F., Shannon C. E. Reliable circuits using less reliable relays // J. Franclin Inst. 1956. V. 262, N 4b. P. 191-208.

7. Carlier J., Luoet C. A decomposition algorithm for network reliability evaluation // Discrete Appl. Math. 1996. V. 65, N 3. P. 141-156.

8. Page L. B., Perry J. E. A practical implementation of the factoring theorem for network reliability // IEEE Trans. Reliability. 1988. V. 37, N 3. P. 259-267.

9. WOOD R. K. Triconnected decomposition for computing K-terminal network reliability//Networks. 1989. V. 19. P. 203-220.

10. MigovD. A., RodionovaO. K., RodionovA. S., ChooH. Network probabilistic connectivity: Using node cuts // Lecture. Notes Comput. Sci. 2006. V. 4097. P. 702-709.

11. Мигов Д. А. Формулы для быстрого расчета вероятности связности подмножества вершин в графах небольшой размерности // Пробл. информатики. 2010. № 2. С. 10-17.

12. Tsitsiashvili G. Sh. Complete calculation of disconnection probability on planar graphs // Reliability: Theory Appl. 2012. V. 1, N 1. P. 154-159.

13. Цицилшвили Г. Ш., ОсиповА М. А., Лосев А. С. Асимптотика вероятности связности графа с низконадежными ребрами // Прикл. дискрет. математика. 2013. № 1. С. 93-98.

14. Won J.-M., Karray F. Cumulative update of all-terminal reliability for faster feasibility decision // IEEE Trans. Reliability. 2010. V. 59, N 3. P. 551-562.

15. Rodionov A. S., Migov D. A., Rodionova O. K. Improvements in the efficiency of cumulative updating of all-terminal network reliability // IEEE Trans. Reliability. 2012. V. 61, N 2. P. 460-465.

16. Shooman A. M. Algorithms for network reliability and connection availability analysis // Electro/95 Intern. Prof. Program Proc. Hynes Convention Center, Boston, MA, June 21-23, 1995. S.l.: IEEE, 1995. P. 309-333.

17. Liu Sh., Cheng K., Liu X. Network reliability with node failures // Networks. 2000. V. 35. P. 109-117.

Мигов Денис Александрович — канд. физ.-мат. наук, науч. сотр. Института вычислительной математики и математической геофизики СО РАН;

e-mail: mdinka@rav.sscc.ru

Дата поступления — 19.03.13