Например, Бобцов

ПАРАЛЛЕЛЬНЫЕ АЛГОРИТМЫ МОДЕЛИРОВАНИЯ ДИНАМИЧЕСКИХ ПРОЦЕССОВ НА КОМПЛЕКСНЫХ СЕТЯХ

72
УДК 004.021, 004.492
Е. В. БОЛГОВА, С. В. ИВАНОВ, Е. А. ГРИНИНА, П. М. А. СЛООТ, А. В. БУХАНОВСКИЙ
ПАРАЛЛЕЛЬНЫЕ АЛГОРИТМЫ МОДЕЛИРОВАНИЯ ДИНАМИЧЕСКИХ ПРОЦЕССОВ НА КОМПЛЕКСНЫХ СЕТЯХ
Предложен способ формального описания динамики комплексных сетей. Рассмотрены схемы распараллеливания алгоритмов при моделировании динамических процессов в комплексных сетях. Ключевые слова: комплексная сеть, динамический процесс, случайный граф, схема распараллеливания.
Комплексная сеть представляет собой граф с динамически эволюционирующей во времени структурой, при этом число состояний графа предполагается достаточно большим, чтобы интерпретировать закономерности процессов на нем средствами статистической механики [1]. Примерами комплексных сетей служат социальные сети (знакомств,
ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2011. Т. 54, № 10

Параллельные алгоритмы моделирования динамических процессов на комплексных сетях 73

соавторства ученых [2]), информационные (цитирования в научных статьях [3], интернетссылок [4]), технологические (Интернет как сеть компьютеров, транспортные и электрические сети) и биологические (сети нейронов мозга, взаимодействующих протеинов, генетические сети). Развитие методов прямого моделирования процессов на комплексных сетях во многом обусловлено возможностями их реализации на параллельных вычислительных архитектурах, как для ускорения вычислительных операций, так и для работы со структурами данных большого объема.
В настоящей работе, продолжающей исследования авторов [5], предлагается формальный математический аппарат, позволяющий описывать динамические системы на основе моделей комплексных сетей в различных предметных областях, и рассматриваются аспекты параллельной реализации таких сетей.
Микромасштабная вероятностная модель динамики комплексной сети. Комплексная сеть представляется взвешенным неориентированным графом G , который определяется как совокупность (V , E) конечного множества вершин V , dim(V ) = N , и множества ребер
E , состоящего из неупорядоченных пар (u, v) , где u, v ∈V и u ≠ v . Каждая вершина характе-
ризуется своей степенью, т.е. числом инцидентных ей ребер. Микромасштабная модель описывает динамику комплексной сети на основе знаний о состоянии каждой из вершин (и соответствующих им ребер) сети.
Комплексные сети от других графовых структур отличает возможность их вероятностного описания. Она не ограничивается частотным определением вероятности, пригодным для сетей с очень большим количеством узлов, но формально позволяет ввести вероятностное
пространство (Ω, ΒΩ, ΡΩ ) , включающее в себя следующие элементы.
1. Ω — пространство элементарных событий. Пусть Vi — множество всех вершин веса
i (возможно, бесконечное), а Ei,k — множество всевозможных графов-звеньев, инцидентных
паре вершин, одна из которых имеет вес i , а другая — k : Ei,k = {e = {u, v} : u ∈Vi , v ∈Vk } , то-
гда Ω = {v ∈Vi , i = 1, ..., N1; e ∈ Ei,k , i, k = 1, ...., N1} .
2. BΩ — сигма-алгебра подмножеств Ω . Любой граф, содержащий вершины весов
i = 1, ..., N1 может быть составлен из элементов множества Ω и соответственно рассмотрен как подмножество множества Ω .
3. PΩ — сигма-аддитивная мера на множестве Ω (вероятностная мера), отражающая
вероятностные закономерности формирования топологии комплексной сети. PΩ (G) = pG —
вероятность того, что из всех возможных графов (элементов BΩ ) комплексная сеть представляется графом G.
Использование формального представления вероятностного пространства позволяет описывать динамические процессы на сетях даже в тех случаях, когда число узлов графа ограничено. В целом эволюция комплексной сети может быть описана посредством оператора Γ сети, действующего на множестве BΩ :

(V , E, f )t+1 = Γ(V , E, f )t ,

(V , E, f )t=0 = (V0 , E0, f0 ) .

(1)

Оператор Γ может быть представлен как совокупность нескольких различных операторов

M
Γ = m⊗=1Γm ,

(2)

ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2011. Т. 54, № 10

74 Е. В. Болгова, С. В. Иванов, Е. А. Гринина и др.

каждый из которых соответствует определенному динамическому компоненту эволюции сети, в общем случае это добавление новых вершин ( Γ1), удаление из сети вершин ( Γ2 ), добав-
ление новых связей ( Γ3 ), разрушение существующих связей, удаление ребер ( Γ4 ). В общем случае эти операторы некоммутативны. Например, при эволюции комплексной сети по типу случайного графа

Γ = Γ3 ⊗ Γ1 ⊗ Γ2 ⊗ Γ4 .

(3)

Будем предполагать, что из сети на каждом шаге (в каждый момент времени) могут быть удалены только те вершины, которые не имеют инцидентных им ребер. При этом всякая вершина, не имеющая инцидентных ребер, может быть удалена из сети с вероятностью qV , а любое ребро может быть удалено из сети с вероятностью qE . Далее, пусть
pV — вероятность появления одной новой вершины в сети, а pE — вероятность появле-
ния ребра, инцидентного двум произвольным вершинам. Компоненты эволюционного оператора (3) можно представить, используя описание комплексной сети как вероятностного пространства.
Пусть Be — множество ребер, удаляемых из графа G в момент времени t ( Gt ), Be ⊂ BΩ .
Тогда для оператора Γ4 , учитывая P(Gt ∩ Be ) = qE# Be , получаем

Γ4 = Gt / (Gt ∩ Be ), Be ⊂ Et P( Gt ∩ Be ) = Gt (Gt ∩ Be ) , Be ⊂ Et qE # Be .

(4)

Здесь индекс # означает мощность множества. Обозначим через Bν множество вершин, удаляемых из графа Gt , Bν ⊂ BΩ . Тогда для
оператора Γ2 , учитывая P(Gt ∩ Bv ) = qv# Bv , получаем

Γ2 = Gt / (Gt ∩ Bv ), Bv ⊂ Vt P( Gt ∩ Bv ) = Gt / (Gt ∩ Bv ) , Bv ⊂ Vt qv # Bv ,

(5)

пусть теперь Bν — множество новых вершин, добавляемых в граф Gt , Bν ⊂ BΩ , тогда оператор Γ1, с учетом P(Bv ) = pv#Bv , имеет вид

Γ1 = Gt ∪ Bv , Bv ⊂ Vt P( Bv ) = Gt ∪ Bv , Bv ⊂ Vt pv # Bv ,

(6)

Be — множество новых ребер, добавляемых в граф Gt , Be ⊂ BΩ , оператор Γ3 , с учетом Ρ(Be ) = pE# Be , имеет вид

Γ3 = Gt ∪ Be , Be ⊂ Et P( Be ) = Gt ∪ Be , Be ⊂ Et pE# Be .

(7)

Дополнительно в (3) могут участвовать дополнительные операторы Θ, отвечающие за эволюцию отдельных узлов сети (переход из состояния в состояние); могут использоваться операторы Г2 и Г4.
В качестве примера на рис. 1 приведены три формы развития процессов в контактной
сети носителей ВИЧ l ∈ N1 ( — „здоровый“, — „инфицированный“, — „боль-
ной/умерший“, — новый узел, которого не было) [6]. Каждый узел может быть „инфицирован“; по истечении инкубационного периода он выбывает из сети; при этом соответствующие связи удаляются из сети. На рис. 1, а представлен процесс в „замороженной“ сети со статическими связями и постоянным количеством узлов. На рис. 1, б количество узлов сети постоянно, но связи между ними могут изменяться в течение времени вне зависимости от

ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2011. Т. 54, № 10

Параллельные алгоритмы моделирования динамических процессов на комплексных сетях 75
действия оператора Θ. На рис. 1, в сеть имеет переменное количество узлов и изменяемые связи между ними, т.е. задействованы все составляющие (3).
Модель (3)—(7) описывает эволюцию сети как случайного графа. Однако в ряде случаев такое приближение не является удовлетворительным. Это требует перейти от описания событий, определяемых (4)—(7) в форме модели Бернулли, к более сложным вероятностным схемам, например, с использованием условных распределений добавления (удаления) связи у вершины, которая уже имеет k связей (preferential attachment [7]).
а)

Γ4⊗Θ

Γ4⊗Θ

б)

Γ3⊗Γ4⊗Θ

Γ3⊗Γ4⊗Θ

в)

Γ3⊗Γ1⊗Γ2⊗Γ1⊗Θ

Γ3⊗Γ1⊗Γ2⊗Γ1⊗Θ

Рис. 1
Макромасштабная вероятностная модель динамики комплексной сети. Макроскопическая модель описывает динамику процесса в терминах вероятностных характеристик сети (общее количество вершин, общее количество ребер, количество вершин каждого конкретного веса), которые, в свою очередь, могут быть получены усреднением значений величин, характеризующих микроскопические свойства сети. Эти величины являются интегральными количественными характеристиками воздействия эволюционного оператора (2) на сеть.
ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2011. Т. 54, № 10

76 Е. В. Болгова, С. В. Иванов, Е. А. Гринина и др.

Применяя к (1) оператор определения числа вершин заданного веса ρl = ρl (t) — количество вершин веса l, l ∈ N1 , можно получить систему дифференциальных уравнений

( )dρl (t) dt

=

F

ρ1(t), ρ2 (t), ..., ρN1 (t), λ1, λ2 , ..., λ p

,

(8)

где λi — макропараметры, характеризующие процессы в конкретной сети, определяемые, например, через вероятности в соотношениях (4)—(7). Следует отметить, что сама по себе такая модель является детерминированной и не отражает стохастического характера процессов в комплексной сети.
Для приведенного выше примера эволюции сети (3)—(7) в форме случайного графа система (8) вырождается в единственное дифференциальное уравнение, описывающее зависимость ρ(t) , которая определяется балансом между количеством удаленных из сети вершин и
количеством новых в каждый момент времени t. Всякая вершина сети, имеющая степень k , в
результате действия оператора Γ2 ⊗ Γ4 удаляется из сети с вероятностью qEk qV , тогда как под
действием оператора Γ3 ⊗ Γ1 с вероятностью pEk pV появляется новая, имеющая степень k :

∑dρ(t) dt

=

K
ρ(t) ( pEk
k =0

pV

− qEk qV

) pk (t) ,

(9)

где K — максимальная степень вершины в сети, а pk = pk (t) — закон распределения сте-
пеней. В общем случае вид уравнений (8) зависит от характеристик распределения связей в
структуре сети. Например, для эпидемиологической сети ВИЧ система (8) приобретает вид:

∑dsk (t)
dt

=

−sk

k
(t )
l =1

f

(l, λ)L(k,l,

p),

⎫ ⎪ ⎪

∑dρk (t)
dt

=

−µρk

(t )

+

sk

k
(t )
l =1

f

(l, λ)L(k, l,

p),⎬⎪⎪ ⎪

dr (t ) dt

=

∑ µρk
k

(t ).

⎪ ⎪ ⎭⎪

(10)

Здесь s обозначает число индивидов, r — число изолированных от контактов (заболевших или умерших), ρk — количество инфицированных узлов, у которых есть ровно k связей. При этом L(k, l, p) = Сkl pl (1− p)k−l задает биномиальное распределение контактов, где k — общее
число узлов в группе, а l — доля узлов, подверженных заражению. Функция
f (l,λ) = 1− (1− λ)l определяет вероятность изоляции узла (переход в группу r). Здесь λ — ве-
роятность изоляции, а µ — вероятность заражения, интерпретируемые как макропараметры сети.
Модели в форме (8)—(10) являются более простыми с вычислительной точки зрения, однако менее гибкими, чем модель (1)—(7). Однако они позволяют анализировать основные характеристики процессов на сетях в терминах, присущих классическим динамическим системам. Например, на рис. 2 приведены результаты моделирования (кривая) развития эпидемии ВИЧ в США посредством модели (10), точки — результат измерений. На рис. 2, а, б представлено количество заболевших (r) и фазовый портрет эпидемии в среде гомосексуального населения (dr), а на рис. 2, в, г — в среде гетеросексуального населения. Из рисунка

ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2011. Т. 54, № 10

Параллельные алгоритмы моделирования динамических процессов на комплексных сетях 77

видно, что фазовые портреты для различных популяций имеют принципиально разную фор-

му, это является, в первую очередь, следствием различия структуры контактной сети.

а) r

б) r

30 000 20 000 10 000

10 000 5 000

1980

1990

2000

год

1980

1990

2000

год

в) dr
1000

г) dr 400

0 200

–1000

0

–2000 0

10 000

30 000 r

–200 0

5000

10 000

r

Рис. 2
Параллельные алгоритмы моделирования процессов на комплексных сетях. В последовательном алгоритме моделирования динамики комплексной сети по модели (1)—(7) условно можно выделить следующие этапы: формирование сети в начальный момент времени, эволюция сети, сбор и анализ необходимых данных (расчет макропараметров). Параллельные алгоритмы формирования сети заданной структуры подробно рассмотрены в работе [5]. Для моделирования эволюционной динамики сети можно рассмотреть следующие схемы распараллеливания для p вычислителей.
Островная схема. На каждом из вычислителей независимо формируется сеть размером
Ni = N p , после чего к ней применяется оператор (2). Результаты расчета макропараметров
усредняются по всем p вычислителям. Такая схема отличается простотой реализации, однако имеет ограниченную эффективность, поскольку скорость сходимости статистических оценок

(как следствие — параллельное ускорение) в данном случае будет пропорциональна p . Од-

нако ее применение может быть оправдано в том случае, когда макропараметры расчета варьируются от вычислителя к вычислителю (т.е. моделируется неэргодический процесс).
Блочная схема. Для применения оператора эволюции (2) необходимо сеть разделить на
блоки (количество блоков 2p) с одинаковым числом узлов сети Ni = N p в каждом, при этом
любой из полученных блоков будет связан со всеми остальными. Применение оператора (2) осуществляется за одну итерацию для пары блоков на одном вычислителе, после чего происходит пересылка блоков между процессорами, этот процесс повторяется до тех пор, пока блоки не провзаимодействуют во всех возможных сочетаниях в соответствии с заранее построенной „турнирной“ таблицей. Реализация блочной схемы требует существенных накладных расходов на передачу данных между вычислителями на каждом шаге моделирования.
Для сопоставления производительности параллельных алгоритмов в рамках островной и блочной схем рассмотрим кривую изоэффективности, определяемую через равенство параллельных ускорений для обоих алгоритмов:

ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2011. Т. 54, № 10

78 Е. В. Болгова, С. В. Иванов, Е. А. Гринина и др.

p(nm(1 + ϕ) − 2Ndnϕ) = Nd + 24N + nm .

(11)

Здесь N — количество вершин в сети, d — средняя степень вершины, n — число шагов эволюционного алгоритма, m — количество макропараметров сети, подлежащих исследованию, ϕ = V0λ , где λ — безразмерный коэффициент, определяющий отношение времени, затрачи-
ваемого на пересылку единицы одного объема данных V0 между вычислителями, ко времени, затрачиваемому на одну арифметическую операцию. При этом оптимальное количество вычислителей, приводящих к наибольшему ускорению, вычисляется как

pmб.aсx =

δ + nτ , 2nϕ

pmо.aсx

=

24N

+

Nd (1+ δ + nτ) nm(1+ φ)

+

nm

,

(12)

δ — безразмерный параметр, характеризующий отношение времени, затрачиваемого на соз-
дание ребра, к времени на одну вычислительную операцию, τ — безразмерный коэффициент, характеризующий отношение числа перестраиваемых вершин сети к общему количеству узлов N в сети. Из сопоставления (11) и (12) видно, что во всех случаях до достижения пика ускорения производительность островной схемы будет выше, чем у блочной. Однако этот приоритет является условным, поскольку при использовании островной модели не учитываются связи между отдельными подсетями, которые моделируются независимо друг от друга на
различных вычислителях, число таких связей может быть N d p . Поэтому выбор схемы рас-
параллеливания должен целиком определяться целями исследования и учитывать не только формальное ускорение, но и соответствие целей расчета предметной постановке задачи (например, моделирования связной сети не менее определенного размера).
Заключение. Динамически изменяющиеся комплексные сети являются эффективным инструментом описания сложных физических и социальных явлений. Для описания динамических моделей на базе комплексных сетей в работе предложен формальный математический аппарат, учитывающий основные аспекты сетевых моделей (стохастический характер сети, иерархию уровней моделирования и т.п.). Для проведения эффективных исследований сетевых моделей проанализированы основные подходы к распараллеливанию алгоритмов построения и эволюции комплексных сетей. В качестве примера для демонстрации удобства описания моделей на базе предложенного формализма и подтверждения эффективности параллельных алгоритмов была использована сетевая модель распространения инфекции ВИЧ.
Работа выполнена в рамках реализации Постановлений № 218 и 220 Правительства Российской Федерации при частичной поддержке ФЦП „Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2007—2012 гг.“.

СПИСОК ЛИТЕРАТУРЫ
1. Newman M. E. J. The Structure and Function of Complex Networks // SIAM Rev. 2003. Vol. 45, N 2. P. 167—256.
2. Redner S. How popular is your paper? An empirical study of the citation distribution // Europ. Phys. J. B. 1998. Vol. 4. P. 131—134.
3. Price D. J. de S. A general theory of bibliometric and other cumulative advantage processes // J. of the American Soc. for Information Sci. 1976. Vol. 27. P. 292—306.
4. Broder A., Kumar R., Maghoul F. et al. Graph structure in the web // Computer Networks. 2000. Vol. 33. P. 309—320.
5. Иванов С. В., Колыхматов И. И., Бухановский А. В. Параллельные алгоритмы моделирования комплексных сетей // Изв. вузов. Приборостроение. 2008. Т. 51, №10. C. 5—12.
6. Sloot P. M. A., Ivanov S. V. et al. Stochastic simulation of HIV population dynamics through complex network modeling // Intern. J. of Computer Mathematics. 2008. P. 1175—1187.

ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2011. Т. 54, № 10

Параллельные алгоритмы моделирования динамических процессов на комплексных сетях 79

7. Barabási A.-L., Albert R. Emergence of scaling in random networks // Science. 1999. Vol. 286 (5439). P. 509—512.

Екатерина Владимировна Болгова
Сергей Владимирович Иванов
Екатерина Александровна Гринина Петрус Мария Арнольдус Слоот Александр Валерьевич Бухановский

Сведения об авторах — НИИ Наукоемких компьютерных технологий Санкт-Петербург-
ского государственного университета информационных технологий, механики и оптики; младший научный сотрудник; E-mail: katerina.bolgova@gmail.com — канд. техн. наук; НИИ Наукоемких компьютерных технологий Санкт-Петербургского государственного университета информационных технологий, механики и оптики; старший научный сотрудник; E-mail: Sergey.v.ivanov@rambler.ru — канд. физ.-мат. наук; Санкт-Петербургский государственный университет информационных технологий, механики и оптики; E-mail: grinina@tprs.ru — доктор философии в области компьютерных наук, профессор; Университет города Амстердам; E-mail: p.m.a.sloot@uva.nl — д-р техн. наук, профессор; НИИ Наукоемких компьютерных технологий Санкт-Петербургского государственного университета информационных технологий, механики и оптики; директор; E-mail: avb_mail@mail.ru

Рекомендована НИИ НКТ

Поступила в редакцию 15.05.11 г.

ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2011. Т. 54, № 10