список литературы
1. КлейнрокЛ. Вычислительные системы с очередями / Пер. с англ.; под ред. Б. С. Цыбакова. М.: Мир, 1979. 597 с.
2. Вишневский В. М. Теоретические основы проектирования компьютерных сетей. М.: Техносфера, 2003. 512 с.
3. Гнеденко Б.В. и др. Математические методы в теории надежности. М.: Наука, 1965. 524 с.
4. Кругликов В. К., Тарасов В. Н. Анализ и расчет сетей массового обслуживания с использованием двумерной диффузионной аппроксимации // Автоматика и телемеханика. 1983. № 8. С. 74—83.
5. Бахарева Н. Ф., Тарасов В. Н. Организация интерактивной системы вероятностного моделирования стохастических систем // Изв. Самарского научного центра РАН. 2003. № 1. С. 119—126.
6. Овчаров Л. А. Прикладные задачи теории массового обслуживания. М.: Машиностроение, 1969. 324 с.
Сведения об авторе
Надежда Федоровна Бахарева — канд. техн. наук, доцент; Поволжский государственный университет
телекоммуникаций и информатики, кафедра программного обеспечения и управления в технических системах, Самара; E-mail: [email protected]
Рекомендована кафедрой Поступила в редакцию
программного обеспечения и 20.01.10 г.
управления в технических системах
УДК 519.1
В. Т. Тозик
МАТЕМАТИЧЕСКИЙ АППАРАТ ДЛЯ АНАЛИЗА СТРУКТУРНЫХ СВОЙСТВ СЕТЕЙ
Предложен математический аппарат для анализа свойств сетевых структур. В основу положена модель сети, базирующаяся на алгебре кубических комплексов. Это позволяет предложить эффективную с точки зрения трудоемкости процедуру определения полного множества простых цепей в двухполюсных структурно сложных сетях.
Ключевые слова: двухполюсная сеть, простая цепь, структурная функция, алгебра кубических комплексов.
Введение. Задачи структурного анализа сетей возникают во многих приложениях теории графов: это и поиск наикратчайших путей, и построение маршрутов сетевых перевозок с минимальной стоимостью, и анализ надежности информационно-вычислительных сетей, и распределение информационных потоков для последующей многопроцессорной обработки в вычислительных сетях. В основе решения многих вышеперечисленных задач лежат процедуры поиска полного множества простых цепей (и/или разрезов) в двухполюсных сетях. Эти задачи имеют экспоненциально возрастающую трудоемкость решения при использовании методов перебора.
В основу предлагаемого математического аппарата положена алгебраическая модель графа, использующая введенную Ротом алгебру кубических комплексов [1], что позволяет предложить достаточно эффективные с точки зрения трудоемкости процедуры определения простых цепей и разрезов. Представление структуры графа в виде множества кубов позволяет формализовать и автоматизировать процесс поиска простых цепей и разрезов с помощью соответствующих компьютерно-ориентированных алгоритмов, поскольку аппарат кубов эффективно отображается на структуру памяти и систему команд современных компьютеров.
В настоящей работе предлагается конструктивный (алгебраический) метод определения полного множества простых цепей с оценкой трудоемкости лучше квадратичной. Алгебра простых цепей
Определение 1. Сетью G(V,Е) называется связный граф без петель и кратных ребер [2].
Множество узлов V сети G имеет мощность ^ узлов, а множество ребер Е сети — мощность г ребер. Множество всех элементов сети G имеет мощность п = ^ + г . В сети G выделяется пара узлов (а, в), называемых в дальнейшем полюсами.
Определение 2. Цепь К = (а = ^Уз, •••, ег-1,уг = в), связывающая полюсы (а,в) сети G, называется простой, если в последовательности узлов и ребер, по которым проходит цепь, все узлы различны [2]. Здесь у — обозначение 1-го узла, е5 = (, ) — обозначение
5-го ребра сети.
Определение 3. Простым разрезом Б сети G называется минимальное по включению множество элементов (узлов и ребер), удаление которых из сети делает несвязной пару полюсов (а, в) сети [2].
Введем алгебру простых цепей сети G. Пусть задано множество простых цепей Ап = {(,е2,у3, ..., ег-1,уг)} сети G размерности п. Дадим на множестве простых цепей Ап
определение двух операций. Первая является обычным теоретико-множественным объединением простых цепей и обознается символом „ и ", она обладает следующими свойствами:
1) К, и К5 = К5 и К,- (коммутативность);
2) К, и (( и К) = (К, и К ) и К (ассоциативность);
3) существует элемент О (пустое множество) такой, что К, и О = О и К, = К,;
4) если К,, К5 е Ап, то (( и К5 ) е Ап (замкнутость).
Вторую операцию — умножение простых цепей, обозначенную символом „А", — определим на множестве простых цепей Ап следующим образом. Пусть К, =(,е2,Уз, ..., уг ),
К5 = (,еу+1,..., ) — простые цепи (К,,К5 е Ап ) . Если уг = Уу, V,( ^ причем
I = 1, г -1, д = У +1, g, то по определению 2:
К1 =(е2, ••■, Уг ) А(, еу+1, ^ ) = (е2, ••■, Уг = Уу, еу+1, ••■, ^ ) .
В противном случае К{ = 0 .
Можно легко показать, что вновь получаемая цепь К{ = К, А К5 удовлетворяет определению 2, т.е. является простой цепью (Kt е Ап ), а операция А-умножения — замкнутой операцией. Данная операция, позволяющая из двух простых цепей образовывать третью, обладает следующими свойствами:
1) К, А К5 ^ К5 А К, (некоммутативность);
2) К, А(( А К) = (( А К5 )А К (ассоциативность);
3) К, А(( и К) = К, Аи К, АКх (дистрибутивность);
4) существует единичный элемент 1 (цепь нулевой длины) такой, что К, А1 = К,.
5) если Ку, К3 е ,4и , то (( АК5 ) е Аи (замкнутость).
Разобьем множество простых цепей Аи на классы простых цепей с фиксированными полюсами:
An ={,. ^ ег-Ь vr )} = - U " h U( ^ v3, . ^ er-1, р) > = < U апр
п,ре!/ _ i=1 _ п,ре!/
где ап
An, a__— подмножество всех простых цепей, начинающихся в узле п и заканчи-
пр — ' ПР
вающихся в узле р, к — число простых цепей в а^ .
Операция Д-умножения простых цепей с фиксированными полюсами удовлетворяет всем свойствам, сформулированным выше для произвольных простых цепей. Существенным для дальнейшего рассмотрения является то, что аауАаур е аар . Левая часть данного выражения определяется в соответствии со свойством дистрибутивности операции Д-умножения, это позволяет любые две простые цепи из заданных классов переводить в один класс.
Теперь покажем, что исходное множество простых цепей с фиксированными полюсами (п, р), заданное множеством ребер графа G с помощью (ж х ж )-матрицы смежности
Aw =
a.
пр
может быть преобразовано посредством применения введенного математического аппарата в полный класс простых цепей с фиксированными полюсами а и р.
Утверждение 1. Если простые цепи из трех классов с фиксированными полюсами ацр,
ащ, аур проходят через одни и те же внутренние узлы, а указанные классы полны (т.е. содержат все множество простых цепей с фиксированными полюсами п и р, проходящих через одинаковые внутренние узлы), то {а^ U а^Л аур} — полный класс простых цепей с фиксированными полюсами п и р, проходящих через то же множество внутренних узлов, а также через узел у.
Справедливость данного утверждения следует из свойств введенных операций. Пусть
а.
пр
— множество простых цепей, соединяющих пару полюсов (п, р), проходящих не более
чем через к внутренних узлов сети. При к = 0 (исходная матрица смежности) а^ состоит из
одного элемента — ребра между п и р. Тогда в алгебре простых цепей может быть составлена следующая система уравнений при условии у ^ а, в :
о
YP,
1) апр=апрU ащЛ а
2) а1р = апр U аЩЛ а}о
п, р = 1, w -1;
п, р = 1, w - 2;
к) апр= ап-1 U а^-1Л а.
пр
пу
ур
п, р = 1, w - к;
w - 2) а^-2 = а:-2 = а:-3 U а^Г Л а
Yw-2
Yw-3
w-3 ,
w-3
VP ,
(1)
п = а, р = в.
Неизвестными в данной системе уравнений являются множества простых цепей аПр, к = 1, ж - 2 . Таким образом, проблема нахождения всех простых цепей между парой узлов (а, в) в сети G сводится к проблеме решения системы уравнений (1). Для ее решения
предлагается использовать метод последовательного удаления у-узлов из сети G (у ^ а, в),
аналогичный методу Гаусса, заключающемуся в последовательном исключении неизвестных из системы линейных уравнений.
Утверждение 2. В результате последовательного решения системы уравнений (1) получим полный класс простых цепей между парой узлов (а, в) графа G.
Справедливость этого утверждения доказывается с помощью индуктивного вывода для предложенного метода последовательного удаления внутренних узлов, начиная с k = 0 (исходная матрица смежности) и заканчивая k = ^ - 2 внутренних узлов, относительно к полюсов а, р.
Можно видеть, что разработанный математический аппарат позволяет решить задачу определения полного множества простых цепей между выделенной парой узлов (а, в). Теперь необходимо подобрать такую форму представления простых цепей, чтобы введенные операции („ и " и „А") легко отображались на структуру памяти и систему команд современных компьютеров для повышения эффективности процесса поиска простых цепей в графе.
Булевы функции и алгебра кубов. Структура двухполюсной сети может быть описана с помощью аппарата булевых функций следующим образом [3]. Предположим, что двухполюсная сеть может находиться только в двух состояниях: связности (существует по крайней мере одна простая цепь К, между парой (а, в) полюсов сети) или разреза (не существует ни
одной простой цепи К, между парой (а, в) полюсов сети). Состояние сети, таким образом, может быть представлено булевой функцией
/ав = У ( хЬ х2 , хп ) , (2)
принимающей значение 1, если сеть находится в состоянии связности, и 0 — если несвязности (разреза). Здесь х{ — булева переменная, обозначающая состояние /-го элемента сети, причем X/ = 1, если /-й элемент находится в состоянии связности (работоспособности); X/ = 0, если /-й элемент несвязности (отказа).
В терминах теории потоков понятия „связности" и „несвязности" соответствуют понятиям „способен пропускать поток" и „не способен пропускать поток".
Каждой простой цепи ставится в соответствие конъюнктивный терм ранга г
г
К, = Л X*; V/ ( = 1), (3)
который принимает значение 1, если все элементы цепи находятся в состоянии связности (работоспособности), и 0 — во всех остальных случаях. При этом в соотношение (3) все переменные ха входят в прямой (не инверсной) форме (а г- = 1) .
Булева функция (2), в дальнейшем называемая структурной функцией (СФ) сети, может быть записана в дизъюнктивной нормальной форме (ДНФ) с помощью простых цепей (3):
= v к, = v
j=1 - ]=1
Л х/
/=1 1
(4)
где т — число простых цепей сети. Число векторов состояний сети
I = (хьх2,хп ), (5)
на которых определена булева функция (2), равно 2п. Множество векторов состояний (5), обозначаемое Ь, разбивается на два непересекающихся подмножества: ¿1 — подмножество
состояний связности сети (/ав = 1) и Ьо — подмножество состояний несвязности сети (( = 0) .
Чрезвычайно эффективным математическим аппаратом для представления и преобразования булевых СФ является алгебра кубов [1]. Множеству наборов значений аргументов функции /ав (множеству векторов состояний) ставится в соответствие множество Ь вершин
п-мерного куба такое, что вершинам, относящимся к подмножеству ¿1, соответствуют наборы аргументов, на которых (/ав = 1) , а вершинам, относящимся к подмножеству ¿0 , соответствуют наборы аргументов, на которых (/ав = 0) .
Определение 4. Куб С = (( о^, ..., ап ) размерности п есть п-мерный вектор, каждая координата которого а{ принимает значения из множества {0,1, x}. Координаты а{ е {0,1} называются связанными, а1 = x — свободными.
Любая дизъюнктивная нормальная форма булевой СФ может быть представлена некоторым множеством кубов размерности п, причем каждая конъюнкция соответствует некоторому кубу. Если /-я переменная конъюнкции входит с инверсией (а^ = 0), то /-я координата
куба имеет значение 0, если без инверсии (а/ = 1) — 1, а в случае, если /-я переменная отсутствует в конъюнкции, то /-я координата куба является свободной (равна x).
В дальнейшем множество всех кубов (комплекс кубов) размерности п будем обозначать
8п, подмножества комплекса кубов — буквой П с различными индексами, а кубы — буквой С с различными индексами.
Так как булева СФ является полностью определенной, то для ее задания достаточно одного множества кубов: либо множества единичных кубов П(¿1), являющегося покрытием
единичных наборов Ц, либо множества кубов П(¿0 ), покрывающего нулевые наборы ¿0 .
Процедура поиска простых цепей. ДНФ булевой СФ может быть поставлено в соответствие множество кубов П(-Ъ1), покрывающих исходное множество единичных наборов
¿1. Так как каждой простой цепи, соединяющей полюсы (а, в), поставлена в соответствие некоторая конъюнкция ДНФ булевой СФ /ав , то и каждый куб С- еП(тЪ) соответствует не
только этой конъюнкции, но и простой цепи. Данное соответствие проиллюстрировано на рис. 1. Таким образом, задача нахождения всех простых цепей между парой узлов (а, в) в
Простая _^ Конъюнктивный графе С может быть сведена к задаче нахождения
це?ь терм множества кубов П ) = {С!, С2,..., Ст } посред-
ством отображения множества простых цепей А"
на //-мерный кубический комплекс Л'" . Усганавли-Рис- 1 ваемое отображение является гоморфизмом алгебры
простых цепей на п-мерный кубический комплекс относительно введенных операций, так как для
VK (( — С] ), К] е Ап, С] е 8п, выполняются и (К1, К2,..., Кт ) — и (С 1, С2,..., Ст) и
А (К, К2, •.., Кт ) — А (С1, С 2, •. •, Ст ). Это означает, что операции объединения простых цепей графа соответствует операция объединения кубов, которая также понимается в теоре-
а=6
тико-множественном смысле, а операции Д-умножения простых цепей графа соответствует операция Д-умножения кубов кубического комплекса.
Каждой простой цепи графа О с п элементами поставлен в соответствие некоторый куб
комплекса 8п размерности п по следующему правилу. Элементам простой цепи (узлам и ребрам) поставлены в соответствие единичные компоненты куба в позициях, номера которых соответствуют номерам элементов простой цепи. Остальные компоненты куба остаются свободными. Так, например, простой цепи (6, 1, 7, 2, 9) графа О с 9 элементами (рис. 2) соответствует куб (11ххх11х1), а простой цепи единичной длины, состоящей из ребер 5, соответствует куб (хххх1хххх).
Определение 5. Результат операции Д-умножения двух кубов Су = («1, о^,..., ап) и С3 = (1\, ¿2,. ., Ьп) определяется как
в=9
8
Рис. 2
Су Д С =
0, если 3/ (а, = 0 V Ь = 0 V а, = Ь = 1); (а1 Д ¿1, а2 Д ¿2,. ., ап Д Ьп ) — в противном случае, причем а, Д Ь = 1, если одна из координат имеет значение 1, а, Д к = х, если а, = Ь = х.
Можно видеть, что в результате попарного сравнения 1-х компонентов кубов выявление непростых цепей происходит мгновенно (а, = Ь1 = 1).
Операции над кубами (объединение и Д-умножение) обладают теми же свойствами, что и операции над простыми цепями. Так как при поиске простых цепей предполагается, что они представлены в виде кубов, дадим определение исходного задания структуры сети — матрицы смежности в кубическом виде.
а
ПР
сети
О (V, Е)
Определение 6. Кубической матрицей смежности Аи = называется ( и х и )-матрица, элементами которой являются кубы ( = х,..., а,-1 = х, а, = 1, а,+1 = х,..., ап = х),
если п^Р и между парой узлов (п, р) существует /-е ребро; ( = 0, а2 = 0,..., ап = 0) — в противном случае.
с н узлами
апр=<
Предполагается, что /-ориентированное ребро направлено от п к р. Если ребро ориентировано от р к п, то апр = (а1 = 0, а2 = 0,..., ап = 0) .
Теперь на основании утверждения 2 можно привести алгоритм нахождения множества кубов П(4 ), соответствующих простым цепям между выделенной парой узлов (а, в) . Алгоритм
1) Представить сеть О (V, Е) исходной кубической (и х и )-матрицей смежности
Аи =
а
пр
. Положить к = 1.
2) Сформировать кубическую (и - к) х (и - к) -матрицу Аи-к =
а
пр
посредством уда-
ления у-строки и у-столбца из матрицы Аи-к+1. Элементы новой матрицы Аи-к вычисляются следующим образом: если п = р, то а^ =0, в противном случае
ак = ак-1 N ак -1А ак-1А С
"пр "пр Щ Ур У'
(6)
где у^а, в; Су = (а1 = x, а2 = x,..., ау-1 = x, ау = 1, ау+1 = x,..., ап = x), у — удаляемый узел.
3) Если к = w - 2, т.е. Ам,_к — (2 х 2 )-матрица, то перейти к п. 4, иначе — положить к = к +1 и перейти к п. 2.
4) П( Ц) = аОТр 2 А СаД Ср, где Са и Ср — кубы, в которых соответственно координаты а
и р равны единице, остальные координаты — свободные.
5) Конец.
В случае неориентированных сетей G для любой матрицы Ам/-к элементы а^ и а{
рп
о к "
равны, поэтому на шаге 2 достаточно вычислять только один из них, например а^, а второй
аР = ак "рп пр'
Оценка трудоемкости алгоритма. Под оценкой трудоемкости будем понимать верхнюю оценку числа „стандартных" операций алгоритма, асимптотическую относительно размерности задачи. Размерность задачи определяется числом простых цепей в исходном двухполюсном графе G (см. выражение (6)), т.е. числом Д-операций, необходимых для нахождения всех простых цепей между выделенной парой узлов в полном графе. (Полным называется граф, в котором любая пара узлов соединена ребром.)
Определим общее число простых цепей между любой парой полюсов полного графа, для которого это число является функцией числа узлов ж Все множество простых цепей разобьем на классы цепей, проходящих через одинаковое число внутренних узлов. Рассмотрим некоторый подграф полного графа, включающий к внутренних узлов. Для данного подграфа
число простых цепей, проходящих через 0 узлов, равно У0, проходящих через 1 узел — у1,
проходящих через ' узлов — Ук, где У' — число размещений к по ': Ук =
к!
(к-')!
. Так
как каждый куб, принадлежащий множеству ап р (6), соответствует простой цепи, проходящей не более чем через к внутренних узлов, то число таких кубов (цепей)
к!
ёк =
а,
пр
к
=5 (к
Общее число простых цепей полного графа между любой парой полюсов
™-2 (w - 2)!
ё Sw-2 2 '/ _ \ . • '=0 ( - 2-')!
(7)
На каждой к -й итерации алгоритма число Д-операций (см. выражение (6)) может быть определено как
1к =
к -1 к-1 2
апу аур = ёк -1
Общее число Д-операций алгоритма
w_2 / г- -, \ w_2
I =£{ ( - к)2 -( - к) 1к [=2
к-1 1 ' к=1
( - к)2 - (w - к)
v (к -1)! ¿0 (к -1 -')!
(8)
Численные значения параметров, определяемых выражениями (7) и (8), сведены в таблицу.
н g I
3 2 2
4 5 14
5 16 86
да е(н - 2)! 2[е(н - 3)!]2
Рассмотрим асимптотическое поведение функций (7), (8) при н ^го:
ч2
Нш g — е (н -
(н - 2)!, а Нш I — 2Ге (н -3)|]2 = 2
у ' н^» 1 у 'J ^ н - 2
<< g2.
Можно видеть, что асимптотическая оценка трудоемкости алгоритма ниже квадратичной по отношению к размерности задачи. Таким образом, разработанный математический аппарат позволяет эффективно осуществлять поиск простых цепей путем определения множества кубов П(4 ), соответствующих покрытию ДНФ булевой СФ.
Пример. Задана двухполюсная сеть О (рис. 2). Требуется определить полное множество кубов П(4 ), соответствующих простым цепям между парой узлов (6, 9). Элементы исход-
ной кубической матрицы смежности Л4 —
а
ПР
равны:
(66 II 77 — а8\ * — а99 - 0 0 0 0 0 0 0
(67 II 76 — 1 x x x x x x x x;
(68 6 — — x x 1 x x x x x x;
(69 — а96 — 0 0 0 0 0 0 0 0 0;
78 II 87 — x x x x 1 x x x x;
79 II а — x 1 x x x x x x x;
89 — а98 — x x x 1 x x x x x.
ПР
а
Сформируем матрицу Л3 = соответствии с выражением (6):
а66 = а76 = а^9 = {0 0 0 0 0 0 0 0 0},
путем удаления узла у — 8. Элементы Л3 образуются в
а
79
— а97 — а79 и а78 Д а89 Д С8 —
x
79
78 89'
x x x x x x x
x 1 x 1 x x 1
x 1 1 x x x 1
1 x x x x x x
x x 1 1 x x 1
1 x}
79 1
79 2
Сформируем матрицу Л2 —
а
ПР
путем удаления узла у — 7 :
а66 — а
99
— {0 0000000 0}
a
69
2 111 = a96 = a69 U a67 A a79 A C7 =
69
67
79
x x 1 1 x x x 1
1 1 x x x x 1 x
1 x x 1 1 x 1 1
x 1 1 x 1 x 1 1
x x x x
69 C1
69 C2
69 C3
69 C4
причем в число этих кубов не входит куб, полученный в результате операции а67 А а^^ А С7
для С|7 и С29, поскольку пятый и восьмой компоненты этих кубов совпадают и равны 1, т.е.
С267 А С279 = 0.
Окончательно получаем
П = П(Ц ) = а629 А С6 А С9 =
x x 1 1 x 1 x 1 1
1 1 x x x 1 1 x 1
1 x x 1 1 1 1 1 1
x 1 1 x 1 1 1 1 1
список литературы
1. Миллер Р. Теория переключательных схем. Т. 1. М.: Наука, 1970. 416 с.
2. Харари Ф. Теория графов: Пер. с англ. М.: „Либроком", 2009. 296 с.
3. Тозик В. Т. Расчет вероятности связности сети ЭВМ методом ортогонализации // Изв. вузов СССР. Приборостроение. 1977. № 1. С. 70—75.
Вячеслав Трофимович Тозик
Сведения об авторе канд. техн. наук, доцент; Санкт-Петербургский государственный университет информационных технологий, механики и оптики, кафедра инженерной и компьютерной графики; E-mail: [email protected]
Рекомендована кафедрой инженерной и компьютерной графики
Поступила в редакцию 11.02.10 г.