Научная статья на тему 'Расчет числа сетевых мотивов методом случайной выборки каркасов'

Расчет числа сетевых мотивов методом случайной выборки каркасов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
219
86
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СЕТЕВЫЕ МОТИВЫ / ПОДСЧЕТ ПОДГРАФОВ / СИСТЕМНЫЙ АНАЛИЗ / NETWORK MOTIFS / ALGORITHM ANALYSIS / SUBGRAPH COUNTING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Юдин Евгений Борисович, Задорожный Владимир Николаевич

Разработка эффективных алгоритмов анализа сетевых мотивов является таким направлением в Network Science, которое имеет большое значение при исследовании сетей связи, социальных, биологических и других сетей. Формально обнаружение мотивов и расчет их числа представляет собой обнаружение и подсчет типовых изоморфных подграфов в больших графах. В статье для ускорения этой процедуры разрабатывается метод случайной выборки каркасов ( МВК), основанный на методе Монте-Карло. Приводятся примеры подсчета в неориентированном графе типовых подграфов на трех и на четырех вершинах. Предлагаемый подход может также быть расширен и для анализа больших ориентированных графов.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Юдин Евгений Борисович, Задорожный Владимир Николаевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The calculation of the number of network motifs by carcasses random sampling

The development of efficient algorithms for the analysis of network motifs is a direction in Network Science, which is of great importance in the study of communication networks, social, biological and other networks. Detection and calculation of number of network motifs are closely related to the counting of typical isomorphic subgraphs in large graphs. In the article the method of random carcasses sampling is developed based on the Monte Carlo method. The method is used for the acceleration of the calculation. Examples of counting of typical subgraphs with 3 and 4 vertices in the undirected graph are given. The proposed approach can also be extended to analysis of directed graphs.

Текст научной работы на тему «Расчет числа сетевых мотивов методом случайной выборки каркасов»

УДК 004.7385.5

Е. Б. ЮДИН В. Н. ЗАДОРОЖНЫЙ

Омский государственный технический университет

РАСЧЕТ ЧИСЛА СЕТЕВЫХ МОТИВОВ МЕТОДОМ СЛУЧАЙНОЙ ВЫБОРКИ КАРКАСОВ

Разработка эффективных алгоритмов анализа сетевых мотивов является таким направлением в Network Science, которое имеет большое значение при исследовании сетей связи, социальных, биологических и других сетей. Формально обнаружение мотивов и расчет их числа представляет собой обнаружение и подсчет типовых изоморфных подграфов в больших графах. В статье для ускорения этой процедуры разрабатывается метод случайной выборки каркасов (МВК), основанный на методе Монте-Карло. Приводятся примеры подсчета в неориентированном графе типовых подграфов на трех и на четырех вершинах. Предлагаемый подход может также быть расширен и для анализа больших ориентированных графов.

Ключевые слова: сетевые мотивы, подсчет подграфов, системный анализ. Работа выполнена при поддержке гранта РФФИ 14-01-31551-мол_а.

Введение. Последние десятилетия характеризуются появлением баз данных о существующих сетевых системах, а также постоянно растущей производительностью компьютеров и быстрым развитием мощных программных инструментов анализа больших сетей. Это позволяет изучать влияние структурных характеристик реальных сетей, содержащих сотни тысяч узлов, на качество функционирования этих сетей. Такие исследования охватывают сети передачи данных, социальные, биологические и другие сети [1—3].

Одной из задач анализа структурных характеристик больших сетей является задача распознавания сетевых мотивов и их подсчета. Сетевые мотивы представляют собой типовые связные подграфы на заданном числе вершин, причем, как правило, имеются в виду подграфы, которые встречаются в исследуемой реальной сети чаще, чем в рандомизированном графе с тем же распределением степени связности [4]. Частота встречаемости различных сетевых мотивов — это важная многомерная числовая характеристика структуры большой сети [5, 6].

Задача обнаружения и подсчета сетевых мотивов представляет собой задачу высокой вычислительной стоимости. Эта задача подразумевает подсчет подграфов в исходном графе и в его рандомизированной версии. В последние годы в числе программных инструментов, разработанных для анализа больших сетей, появилось много алгоритмов обнаружения и подсчета мотивов [7—11].

Среди разработанных алгоритмов подсчета мотивов можно выделить МР1ИБЕЯ [7], который был разработан в 2003 году, а также РАИМОБЕ (2006) [8] и КАУОБИ (2009) [9], которые по производительности превзошли своих предшественников. Такие программы как 1дгарИ (Я-пакет) и Ие1МОБЕ используют в качестве базиса именно эти алгоритмы. Алгоритм МР1ИБЕЯ используется в качестве базиса в проекте шБга"^

Подсчет в пакетах mDraw и 1дгарИ мотивов на трех и четырех вершинах (3- и 4-мотивов), содержащихся в сети автономных систем Интернет [12]

(22963 вершин и 48436 ребер), характеризуется высокой вычислительной стоимостью. Пакет mDraw на современном персональном компьютере затрачивает на поиск 3-мотивов 11,67 минут, 4-мотивов — более двух суток. Пакет R выполняет поиск 3-моти-вов за 49 секунд, 4-мотивов — за 2 часа 13 минут.

В ряде случаев алгоритмы, используемые в популярных пакетах, могут быть улучшены за счет оптимизации проверки изоморфизма подграфов [10—11]. Сложность получаемых алгоритмов оценивается как O(|E|) и O(|E|2) для 3- и 4-мотивов соответственно, где |E| — число ребер в графе. В данной работе для ускорения подсчета мотивов разрабатывается метод случайной выборки каркасов (МВК), основанный на применении метода Монте-Карло.

1. Постановка задачи. Рассмотрим задачу определения для заданного графа G числа 3- и 4-мотивов, представленных на рис. 1.

2. Решение. Для ускорения процедуры подсчета мотивов будем использовать метод Монте-Карло — численный метод, основанный на получении большого числа N реализаций случайного процесса, который формируется таким образом, чтобы его вероятностные характеристики совпадали с искомыми величинами решаемой задачи. Для расчета числа мотивов типа Motif 3_2 нашим методом многократно реализуется случайный (равновероятный) выбор одной из вилок ( путей длины 2) графа G и определяется вероятность P3 2 того, что на вершинах выбранной вилки лежит подграф Motif 3_2 ( треугольник). После этого число вилок, содержащих Motif 3_2, определяется произведением P3 2Nv, где Nv — число вилок в графе G. И, поскольку любой один и тот же треугольник содержат три вилки, искомое число треугольников Nd определяется формулой:

N л = • N v / 3.

(1)

Для реализации описанного подхода требуется а) найти используемое в (1) число N всех вилок в графе С и Ь) обеспечить случайный равновероятный выбор вилок. Оба требования выполняются за

Motif 3 1

Motif 4 1

Motif 4 3

Motif 3 2

Motif 4_2

О Q

О О-О О

Motif 4 4 Motif 4 5 Motif 4 6

О-^Q О

О-О

Рис. 1. Возможные 3- и 4-мотивы

Input: Graph (V, E), N Output: motif3_1, motif3_2

1. A1< 0, A2 < 0,...; count_1 < 0, count _2< 0, sum < 0

2. foreach v e V do

k < |Adj(v)|, sum < sum + kx(k - 1)/2, Add v to Ak end i. foreach Ak do Pk < |Ak|x kx(k - 1) /2 /sum end

4. for i = 1, N do

Generate r~{Pk}

v < get from Ar random

vl, v2 < get from Adj(v) random (v2 Ф vl)

if vl e adj (v2) then count _2 < count _2 + 1

else count _1 < count _1 + 1

end

5. motif3_1< count__1/N xsum motif3_2< count 2 / N xsum /3

return motifi_1, motfi_2

Рис. 2. Алгоритм подсчета 3-мотивов

Таблица 1

Расчеты числа подграфов типа MOTIF 3_2

Исследуемые сети Расчет числа подграфов

Полный перебор МВК

N= 1 000 N= 100 000

Internet 140 538 1.7-105 1,400-105

Gnutella 6 069 6.4-103 5,9*103

Email-Enron 2 181 111 2,14106 2,18-106

PGP network 164 362 1,69105 1,643-105

Таблица 2

Расчеты вероятности P3_2 с относительной погрешностью 1 %

Исследуемые сети МВК

Число опытов N Оценка вероятности P3 2

Internet 2 000 0,012

Gnutella 5 200 0,0040

Email-Enron 1 500 0,088

PGP network 1 300 0,38

счет однократного просмотра всех вершин графа и распределения их по подмножествам (слоям) Ак, содержащим вершины с одинаковой степенью связности к (к = 1, 2, ...). В результате такого расслоения число вилок в графе вычисляется по формуле

N v =21 А*

.к (к-1) 2 1

(2)

Равновероятный выбор вилок осуществляется следующей последовательностью выборов:

1) случайно выбирается слой вершин; при этом вероятность Рк выбора слоя Ак пропорциональна числу вилок, серединами которых являются вершины этого слоя:

Pk =1 А*

к( к-1) 1

(3)

где |Ак| — число вершин в слое Ак. Формула (2) учитывает, что каждая вершина слоя Ак однозначно идентифицирует к(к— 1)/2 вилок, серединой которых она является.

2 N „ '

2) случайно равновероятно, с вероятностью |Ак|-1, выбирается вершина этого слоя;

3) случайно равновероятно выбирается одна из набора вилок, идентифицируемого этой вершиной

к

Таблица 3

Время расчета 3-мотивов разными методами

Исследуемые сети Время расчета 3-мотивов, с

Полный перебор МВК, V) = 0,01

Internet 26,3 1,3

Gnutella 1,9 3,7

Email-Enron 135,3 2,1

PGP network 0,9 0,1

(выбор вилки осуществляется случайным выбором двух инцидентных вершине ребер).

Три шага выбора, ведущие к любой фиксированной вилке графа, имеют вероятности, произведение которых равно 1/Nv.

Алгоритм расчета числа 3-мотивов, реализующий этот метод, представлен на рис. 2. Через Adj(vf) обозначено множество вершин-соседей вершины v..

В табл. 1 и 2 приводятся результаты расчета мотивов, полученные описанным методом. Результаты тестирования показывают, что при числе случайно выбранных вилок N=1 000 предложенный метод, обеспечивая значительный выигрыш в скорости расчетов, позволяет оценивать число мотивов с точностью до одной-трех значащих цифр. При проведении 100 тыс. опытов погрешность оценок уменьшается на порядок, а выигрыш в скорости по-прежнему остается существенным. Рассматривались следующие сети: 1 ) сеть автономных систем Интернет [12] (22 963 вершин, 48 436 ребер); 2) сеть пользователей р2р-сети Gnutella [13] (62586 вершин, 147 892 ребер); 3) сеть адресов электронной почты [ 13] (36692 вершин, 183 831 ребер); сеть пользователей программы PGP [14] (10 680 вершин, 24 340 ребер).

В качестве критерия точности в табл. 2 используется надежное достижение условия v < 0,01, где v — эмпирический коэффициент вариации оценки вероятности P3 2. Из таблицы видно, что для достижения приемлемой точности обычно достаточно 25 000 опытов.

В табл. 3 сравнивается время решения задачи предложенным методом и методом полного перебора.

Алгоритм PROC1 подсчета 4-мотивов типа Motif 4_1 ( см. рис. 1), представленный на рис. 3, аналогичен алгоритму подсчета 3-мотивов ( рис. 2). Вероятности Pk выбора слоев Ak пропорциональны числу различных « трилистников» ( троек ребер), исходящих из вершин слоев. Через subgraph{v1, v2, v3, v4} обозначен подграф, лежащий на вершинах v1, v2, v3, v4.

Для расчета числа 4-мотивов типа Motif 4_2, ..., Motif 4_6 (рис. 4), выполняется расслоение множества ребер на слои Bs (s = 0, 1, ...), состоящие из ребер, которые идентифицируют набор s проходящих через них путей длины 3. Всяким ребром однозначно идентифицируется набор ( возможно, пустой) всех таких путей длины 3 ( включая замкнутые в треугольник), в середине которых лежит это ребро. Число s путей, в середине которых лежит ребро (v1, v2), равно произведению уменьшенных на единицу степеней вершин v 1, v2:

s = (|adj(v1(e))|-1)x(|adj(v1(e))|-1).

(4)

Input: Graph (V, E), N Output: motif4_1

1.A1 < 0, A2 < 0,... count< 0, sum < 0

2. foreach v e V do

k < |Adj(v)|

sum < sum + kx(k - 1)x(k - 2)/6 Add v to Ak

end

3. foreach Ak do Pk < Ak| xk x(k - 1) x(k - 2) /6 /sum end

4. for i = 1, N do

Generate r ~ {Pk} v < get from Ar random

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

v1,v2 v3< get from Adj(v) random (v2 Ф v1 Ф v3^ v2) if subgraph{v1,v2,v3,v4} is motif4_1

then count _1 < count _1 + 1 end

5. motif4_1< count 1/Nxsum return motif4_1

Рис. 3. .Алгоритм PROC1 подсчета 4-мотивов типа Motif 4 1

Input: Graph (V, E), N

Output: motf4_2, motif4_3, motif4_4, motif4_5, motif4_6

1. B1 < 0, B2 <

0, count< 0, sum < 0

0,

count_2 < 0, count_3 < count_5 < 0, count_6 <

2. foreach e e E do

5 = (|adj(v1(e))| - 1) x (|adj(v1(e))| - 1) sum < s + sum Add e to Bs end

3. foreach Bs do

Ps< |Bs| x s / sum

end

4. for i = 1, N Generate r ~ {Ps}

e < get from Bs random

v3< get from Adj (v1(e)) random, v3 ^ v2

v4< get from Adj (v2(e)), random v4 ^ v1

if v3 = v4 then i = i + 1, goto 4 end

GG< subgraph{v1,v2,v3,v4}

if GG is motif6 then count__6 < count_6 + 1

else if GG is motif5 then count_5 < count__5 + 1 else if GG is motif4 then count_4 < count__4 + 1 else if GG is motif3 then count _3 < count_3 + 1 else count__2 < count__2 + 1

end

count__2 /N x sum / 1 , count_3 /N x sum / 2, count_4 /N x sum / 4, count__5 /N x sum / 6 count__5 /N x sum / 12 , motif4 3, motif4 4, motif4 5, motif4 6

5. motif4_2 < motif4_3 < motif4_4 < motif4_5 < motif4_6 < return motif4 2.

Алгоритм РЯОС2, представленный на рис. 4, обеспечивает равновероятный выбор любого пути из трех

Рис. 4. Алгоритм подсчета 4-мотивов типа Motif 4 2..... Motif 4 6

Таблица 4

Результаты расчета числа 4-мотивов в сети Интернет [12]

Мотивы Метод расчета

igraph МВК, N= 10 000 МВК, N= 10 000 000

Motif 4_1 596 096 955 5,95-10® 5,96099-10®

Motif 4_2 246 344 022 2,47-10" 2,4629-10®

Motif 4_3 46 609 744 4,59-107 4,663-107

Motif 4_4 395 305 3,1-105 3,92-105

Motif 4_5 2 350 151 2 ,4-106 2,353-10е

Motif 4_6 114 716 1,3-105 1,15-105

ребер за счет последовательного выбора слоя ребер Bs, ребра из этого слоя и пути длины три из набора путей, идентифицируемого этим ребром.

В пункте 5 алгоритма PROC2 число мотивов, «подсчитанное» путями длины 3, делится на коэффициент, равный числу вхождений разных путей длины 3 в соответствующий мотив (см. рис. 1). Этим компенсируется соответствующая кратность «подсчетов» каждого мотива.

В табл. 4 приводится сравнение результатов подсчета мотивов с помощью МВК и с помощью метода FANMODE [8], реализованного в пакете igraph.

Алгоритмы, использующие МВК, запрограммированы на языке Java c использованием библиотеки JUNG [15]. Граф G= (V, E) хранится в виде списка смежных вершин. Сложность предложенных алгоритмов может быть оценена как 0(|V|) при расчете числа 3-мотивов и как 0(|E|) при расчете числа 4-мо-тивов. Получаемые оценки — несмещенные, их точность контролируется и может регулироваться числом выполняемых опытов. Метод можно использовать для быстрого и достаточно точного подсчета мотивов в графах, размеры которых не позволяют применять точные методы. Этот метод разработан для применения к неориентированным графам, но его можно адаптировать и для подсчета мотивов в ориентированных графах.

Заключение. В больших графах перебор всех подграфов является вычислительно сложной задачей и по причине их большого размера не всегда может быть выполнен точными методами упорядоченного перебора. В данной статье предложен метод случайной выборки каркасов и соответствующие алгоритмы для ускоренного подсчета числа мотивов, основанные на применении метода Монте-Карло.

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

Частоту встречаемости определенных конфигураций узлов и связей (мотивов) в реальных сверхбольших сетях необходимо учитывать для построения их адекватных графовых моделей [16, 17].

Библиографический список

1. Pastor-Satorras R., Vespignani A., Evolution and Structure of the Internet: A Statistical Physics Approach Cambridge University Press, Cambridge. - 2004. - Pp. 284.

2. Watts D.J., Strogatz S.H., Collective dynamics of 'small-world' networks // Nature. - 1998. - V. 393. - P. 440.

3. Jeong H., Tombor B., Albert R., Oltvai Z.N., Barabasi A.-L., The large-scale organization of metabolic networks // Nature. — 2000. - V. 407. - P. 651.

4. Milo R., Shen-Orr S., Itzkovitz S., Kashtan N., Chklovskii D., Alon U., Network motifs: simple building blocks of complex networks // Science. - Oct 2002. - V. 298 (5594). - P. 824-827.

5. Kalir S., McClure J., Pabbaraju K., Southward C., Ronen M., Leibler S., Surette M. G., Alon U., Ordering genes in a flagella pathway by analysis of expression kinetics from living bacteria // Science. - Jun 2001. - V. 292(5524). - P. 2080-2083.

6. Mangan S., Zaslaver A., Alon U., The coherent feedforward loop serves as a sign-sensitive delay element in transcription networks // J. Mol. Biol. - Nov 2003. - V. 334(2). - P. 197-204.

7. Kashtan N., Itzkovitz S., Milo R., Alon U., Efficient sampling algorithm for estimating subgraph concentrations and detecting network motifs // Bioinformatics. - Jul. 2004. - V. 20. - № 11. -P. 1746-1758.

8. Wernicke S., Rasche F., Fanmod: a tool for fast network motif detection // Bioinformatics. - 2006. - V. 22. - №. 9. -P. 1152-1153.

9. Kashani Z., Ahrabian H., Elahi E., Nowzari-Dalini A., Ansari E., Asadi S., Mohammadi S., Schreiber F., Masoudi-Nejad A., Kavosh: A new algorithm for finding network motifs // BMC bio-informatics. - 2009. - V. 10. - № 1. - P. 318.

10. Marcus D., Shavitt Y., Efficient counting of network motifs // Proceedings of the 2010 IEEE 30th International Conference on Distributed Computing Systems Workshops, ser. ICDCSW '10. Washington, DC, USA: IEEE Computer Society. - 2010. - P.92-98.

11. Luis A. Meira A., Vinicius R. Maximo, Alvaro L. Fazenda, Arlindo Flavio da Concei^ao: acc-Motif: Accelerated Network Motif Detection // IEEE / ACM Trans. Comput. Biology Bioinform. -2014. - V. 11 (5). - P. 853-862.

12. Newman М., Network data [Электронный ресурс]. -Режим доступа : http://www-personal.umich.edu/~mejn/netdata/ (дата обращения: 15.03.2015).

13. Lescovec Yu., Stanford Large Network Dataset Collection [Электронный ресурс]. - Режим доступа : http://snap.stanford. edu/data/index.html (дата обращения: 15.03.2015).

14. Arenas A., Alex Arenas Website, Network data sets [Электронный ресурс]. - Режим доступа : http://deim.urv.cat/ alexandre.arenas/data/welcome.htm (дата обращения: 15.03.2015).

15. JUNG - Java Universal Network / Graph Framework. -[ Электронный ресурс]. - Режим доступа : http://jung.sour ceforge.net (дата обращения: 15.03.2015).

16. Задорожный, В. Н. Статистически однородные случайные графы: определение, генерация, применение / В. Н. Задорожный, Е. Б. Юдин // Омский научный вестник. Сер. Приборы, машины и технологии. - 2009. - № 3 (83). -С. 7-13.

17. Задорожный, В. Н. Точная теория графа Барабаши-Альберт / В. Н. Задорожный, Е. Б. Юдин // Омский научный

i Надоели баннеры? Вы всегда можете отключить рекламу.