Научная статья на тему 'Генерация случайных графов предпочтительного связывания'

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

CC BY
2790
137
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АЛГОРИТМ / БОЛЬШИЕ СЕТИ / ПРЕДПОЧТИТЕЛЬНОЕ СВЯЗЫВАНИЕ

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

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

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

Текст научной работы на тему «Генерация случайных графов предпочтительного связывания»

*

УДК 681.3.06

Е. Б. ЮДИН

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

ГЕНЕРАЦИЯ СЛУЧАЙНЫХ ГРАФОВ ПРЕДПОЧТИТЕЛЬНОГО СВЯЗЫВАНИЯ

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

Ключевые слова: алгоритм, большие сети, предпочтительное связывание.

1. Введение

В качестве моделей для разнообразных биологических, информационных, социогехнических сетей в последние годы все чаще применяются разно* образные случайные графы, такие как случайный граф, предложенный в 1999году А. Барабаши и Р. Альберт в статье [ 1 ] (будем называ ть его графом БА). Из множества посвященных графу БА публикаций только на работу 111 на данный момент в известной системе цитирования статей SCOPUS |2) зафиксировано более 5 тыс. ссылок.

Граф БА генерируется по принципу предпочтительною связывания |1| путем неограниченно повторяемых шагов добавления к графу новой вершины с т ребрами. Свободные концы ребер каждой новой вершины присоединяются преимущественно к вершинам, богатым связями: вероятностьр,соединения ребра с i-й вершиной графа пропорциональна локальной степени связности it,этой вершины:

р, =k,/Zjkj, j = \....ЛГ.

(1)

где N — текущее число вершин в графе.

В результате генерации графа путем многократного применения правила (1) выращивается граф, характеризуемый асимптотически степенным законом распределения вероятностей степени вершин, т.е. вероятность Ок вершины со степенью к пропорциональна к : ()к сс к~а, где а > 0 — константа.

На рис. 1 сравниваются распределения степени

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

— сеть маршрутизаторов Интернет, которая получена в результате реализации проекта Lumeta, 2006 г. (предоставлена Владимиром Багатели (3|);

— сеть автономных систем Интернет, полученная в результате реализации проекта Oregon RouteViews, 2006 г. (предоставлена Марком Ньюменом (4|);

— се ть максимальною связною компонента пользователей программы PGP для безопасною обмена информацией (предоставлена Алексом Ареной (5]);

— сеть связанных веб-страниц по данным GOOGLE 2002 г. (данные предоставлены Юрием Лесковцом [6]); узлами сети являются веб-страницы, причем всякие две веб-страницы связаны, если хотя бы одна из них ссылается на другую;

— сеть товаров электронною магазина Amazon (данные предоставлены Юрием Лесковцом |6|); узами являются товары, причем связь между двумя товарами возникает, если при покупке одною из них пользователи, как правило, приобретают и другой;

— сеть электронных адресов (данные предоставлены Юрием Лесковцом [6]); узлами являются электронные адреса, между узлами устанавливается связь, если фиксируется пересылка электронной почты с одного адреса на другой.

а) т-2

к б) m = 3

в) т » 2

Рис. 1. Распределения степени связности узлов в реальных сетях (кружки) и степени связности вершин в моделирующих сети графах БД (сплошная линия). Представлены: а) сеть маршрутизатором; б) сеть пользователей программы PGP: в) сеть автономных систем; И сеть адресов электронной почты; л) сеть ссылок веб-страниц; с) сеть товаров интернет-магазина Amazon

КС)

Рис. 2. Схема алгоритма выращивания графа БА на основе датчика дискретной случайной величины (к, - степень связности 1-й вершны; Ш - список нумерованных вершин, выбранных для связывания)

Все представленные сети характеризуются асимптотически степенным законом распределения сте-пени вершин. Действительно, на рис. 1 эти распреде-ления на логарифмически-логарифмической шкале хорошо аппроксимируются прямой, что свидетельс-твует о близком к степенному законе распределения. Для степеїшогораспределеігия характерен «тяжелый хвост». Например, на графике для сети веб-страниц, про-индексировашшх GOOGLE (рис. I г), все еще существует вероятность Ок (одна миллионная), что страница будет связана сразу с 10000 других страниц, хотя у большинства страниц число связей гораздо меньше.

2. Ускоренный генератор графов БА

Рассмотрим варианты программной реализации генератора графов БА. Базовый вариант предст авляет собой процедуру БА1 (от, N), использующую типовой метод генерации дискретной случайной величины (ДСВ) для определения номера вершины, которая будет связываться с очередным новым ребром. В процедуру БА1 (от, N] передается параметр от, определяющий число ребер, добавляемых на каждом шаге, и число вершин N в генерируемом графе. На рис. 2 представлена схема, используемая в БА 1 (от, N). В типовом методе генерации ДСВ х используется разбиение интервала [0,1J на отрезки 6, длины Р(х(), где Р(лсг) — вероятность значения xt случайной величины х

500

250

, Генератор , AnvLosic 6

/ Генератор

/ JUNG

БЛ2(ет, N)

N

0 10000 20000 30000

Рис. 3. Зависимость времени I генерации графа БАот числа вершин /V' (ш = 2) на ПК с тактовой частотой 1.7 ГГц)

100 1000

-----С сп. маршрутизаторов

Интернет

Граф, сгенерированный процедурой ПС (f,distOut. N)

0.01

0 00001

Рис. 4. Распределение степени связности вершин в графе предпочтительного связывания и моделируемой им сети маршрутизаторов Интернет

(/ = 1, 2,...). С помощью да тчика равномерного случайного числа (сл.ч.) генерируется значение г е [0, 1J и определяется отрезок в который попадает это значение. Соответствующее отрезку значение ху принимается в качестве значения ДСВ х.

Скорость работы представленного на рис. 2 генератора графа БА характеризуется средним числом л проверок, которые необходимы для определения вершины, выбранной для присоединения нового ребра. Число л проверок при условии, что степени вершин при их переборе распределены случайно, близко к N/ 2, где /V—число вершин в графе (этот вывод подтверждается экспериментально для структуры данных, использующейся для хранения графов в популярной библиотеке работы с графами — JUNG |7)).

Скорость генерации графов БА можно существенно увеличить за счет использования списков для хранения узлов одинаковой степени — слоев (8). Программную процедуру, использующую предложенный подход на основе использования слоев назовем БА2 (m. N). В процедуре БА2 (от, N) выбор вершины новым ребром в соответствии с вероятностью (1), выполняется в два этапа. Вначале по установленной в |8| вероятности Рд = (от + \)/[к+\)[к + 2) разыгрывается номер к слоя вершины для присоединения при выращивании графа БА, а затем выбирается любая вершина этого слоя равновероятно. При этом число переборов л при выборе слоя (определяющее скорость работы процедуры, поскольку временем выбора случайной вершины в слое можно пренебречь) зависит от числа N вершин при N -+оо следующим образом:

"= Р* “I (* + 1Х* + 2)*'П K(N)*'nN',J *N <2>

Заметим, что при использовании процедуры БА2 объем требуемой памяти увеличивается только на число слоев К (N), которое можно оценить аналитически как K(W)ac N 1/2 (9). Время работы I процедуры БА2 от числа N узлов в графе выражается логарифмической зависимостью I (л) ос In N, вместо линейной зависимости /(л]. ос N в типовой реализации

>

ОМСКИЙ НАУЧНЫЙ ВЕСТНИК * 2 (90) 2010 ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

20000

10000

N

0

3 4 5 6 7 8 9

а)

Рис. 5. Гистограммы распределения степени вершин о графах предпочтительного связывания: а) равномерное; б) треугольное; в) экспоненциальное распределения

ггттт-т-тт

генератора графа — БА1 . Ускорение генерации графов БА имеет важное практическое значение, поскольку моделируемые этими графами сети, как правило, содержат от сотен тысяч до десятков миллионов узлов и ребер. Эксперименты с генерацией графов БА показывают (рис. 3), что программный генератор БА2 (я?, N) работает существенно быстрее встроенного генератора популярной системы имитационного моделирования AnyLogic 6 (10), а также встроенного генератора библиотеки для работы с графами JUNG.

3. Обобщенный генератор графа предпочтительного связывания

Как видно на рис. 1, графы БА по распределению степени вершин только приблизительно соответствуют реальным сетям. Соответствие по распределению степени связности можно улучши ть, используя процедуру генерации графов предпочтительного связывания ПС (/, distOut, N).

В процедуре ПС (/ distOut, N] на каждом шаге генерации к графу добавляется не фиксированное число т ребер, а случайное их число / (t = g, ..., Л) с заданными вероятностями г., передаваемыми в параметре distOut в виде списка пар значений </, г >, и определяющими распределение вероятностей числа ребер, добавляемых с новой вершиной, среднее значение которого равно т. Параметр /задает используемую в правиле предпочтительного связывания функцию предпочтения. В обобщенном правиле предпочтения вероятность р. связывания с вершиной зависит от ее степени к( следующим образом [8]:

а =/(*,)/£,/(*>>•

(2)

Разные f позволяют получать разные (не только степенные) распределения степени вершин. У исследователя существует возможность выдвигать 1ипотезы относительно динамики развития сети, увеличивать «предпочтение» с ростом степени связности или уменьшать в соответствии слоткой развития сети. Например, логарифмическая функция предпочтения соответствует шкале силы сигналов на информационном выходе органов чувств человека [8), и исследователь может проверять, будет ли функция Дк) = log (к) точнее задавать структурные свойства графа.

На рис. 4 изображено распределение степени вершин графа, полученпого с процедурой ПС (/*, distOut, N] путем калибровки в соответствии с сетью маршрутизаторов по методике, предлагаемой в (11). Используемая функция предпочтения имеет видf '[k) = ук + |3, где у = 1.493, у= 0.548.

Вообще говоря, процедура ПС [f, distOut, N) путем определения подходящей функции предпочтения /позволяет генерировать графы с практически

любым заданным законом распределения степени вершин. На рис. 5 изображены распределения степени вершин для графов из 100 тыс. вершин, сгенерированных с соответствующими параметрами процедурой ПС (/■, distOut, /V): реализуются равномерное, треугольное и экспоненциальное распределения степени связности.

Для иредставлениых на рис. 5 графов в (11) при N = 100 тыс. и

= 1. і = 3.

0, 3.

distOut

С

Причем когда/(/с) = 6, 5. 4,3,2,1 при к = 3. 4,5, б, 7, 8, 9 генерируется равномерное распределение с вероятностями степеней 03 = ... = Oq = 1/7 (рис. 5а). При/(*)= 15,13/2,10/3,3/2, 1,1/2для к = 3,4,5, б, 7,8,9 реализуется граф с треугольным законом распределения: О,...Oq = 1 /16,2/16,3/16,4/16,3/16,2/

16, 1/16 (рис. 56). Экспоненциальный закон распределения степени вершин реализуется бесконечным рядом постоянных значений/^ = 1, !....(рис. 5в) Использование процедуры ПС позволяет калибровать также ориентированные графы предпочтительного связывания (рис. 6). Например, рассмотрим сеть товаров-комплементов электронного магазина Amazon. Связи между товарами будем считать направленными (при анализе распределения степопи связности па рис. 1 е сеть товаров-комплементов рассматривалась как ненаправленный граф). Направленная связь, ведущая от одного товара к другому, означает, что при покупке первого пользователи часто покупают второй (обратное может быть и неверно). При генерации такого графа на каждом шаге будем считать, что новая вершина добавляет не ребра, а дуги, заходявдие в выбранные вершины г рафа. Калибровка генера тора по распределению степени вершин может быть выполнена следующим образом. Распределение цолусгепени исхода определяется распределением {гл} исходящих связей, задается распределение исходящих связей в реальной сети, а распределение полустепени захода автоматически реализуется при калибровке графа по распределению степени связности (степень связности равна сумме полусге-пеней исхода и полустепеней захода). По формулам, предложенным для неориентированного графа в [11), находим распределения полустепеней захода: у ^ distOut(g) j

Л

&

Ош

distOut (к)

а

(*=g+l...М),

Л/.і = о,(/)=т •

где Qk — эмпирическая оценка вероятности

Вхо;іящие дуги и графе предпочтительного связывания Исход ящие дуги в графе предпочтительного связывания

----Входящие дулі в сети

товаров Amazon

—. ИСХОДЯЩНС ДУЛІ В CCIT1 товаров Amazon

Рис. 6. Распределение степени связности портим о графе предпочтительного связывания и моделируемой сети товаров-комплементов

появления вершин со степенью к. g — минимальная степень (в сети товаров комплементов). М — максимальная степень до появления первой нулевой оценки .

Как можно видеть из рис. 6, предлагаемый процедура ПС (/*, distOut, N) очень точно позволила откалибровать по распределению степени вершин ориентированный граф предпочтительного связывания для моделирования сети товаров комплементов электронного магазина Amazon.

4. Сепарабельная калибровка по коэффициенту кластеризации графа

Кроме распределения степени вершин, случайные графы характеризуются также рядом других структурных свойсгв, одно из которых характеризуется коэффициентом кластеризации. Коэффициент кластеризации С = 3лл/яг определяется отношением среднего числа пА «треугольников» в графе к среднему числу пу «вилок». Таким образом, коэффициент кластеризации характеризует вероятность быть «соседями» д\я вершин, имеющих общего «соседа». Это характеристика важна, например, при исследовании социальной динамики [12].

В реальных сетях коэффициент кластеризации оказывается, как правило, больше, чем в графах предпочтения, поэтому для построения более адекватных моделей требуется модификация процедуры ПС, позволяющая увеличивать коэффициент кластеризации в графах предпочтительного связывания, не изменяя при этом распределения степени вершин. Такую модификацию зададим в процедуре ПС_К (/, distOut, N, \), где параметр X—параметр, роллирующий коэффициент кластеризации в графе.

Процесс регулирования коэффициен та кластеризации в генерируемом процедурой ПС_К графе предпочтительного связывания основывается на изменении количества, образуемых в процессе генерации «треугольников». Среднее число «вилок» в графе не может быть изменено без изменения распределения степеней вершин, поскольку число путей длины 2 (т.е. «вилок»), центром которых является каждая вершина, зависит от степени связности к как число сочетаний из к по 2: С* • Число же треугольников можно увеличить, если после выбора слоев вершин, в соответствии с ускоренным алгоритмом генерации, выбирать вершины не случайно, а так, чтобы между ними находилось ребро (тогда треугольник индуцируется автоматически).

Для случая с постоянным числом добавляемых вершин т = 2 схема алгоритма описана в (9J, назовем ее подпроцедурой 1.

Подпроцедура 1: Вначале каждое из двух новых ребер выбирает себе слой в соответствии с ускоренным алгоритмом генерации графа предпочтитель-

ного связывания. Затем с вероятностью 1 — А. для выбранных слоев А, и Ак выполняется процедура случайного (равновероятного) выбора пары I, у не смежных вершин I е А, и ) е Ак (если таковые имеются), с которой и соединяются новые ребра (если такой пары несмежных вершин нет, то выбирается равновероятно любая пара / е А,,} е А^). Нос вероятностью л выбирается случайно пара смежных вершин / € Ар] 6 Ак, и новые ребра связываются с ними, образуя треугольник (если пары смежных вершин нет, то выбирается случайная пара). Конец поднроцедуры 1.

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

В процедуре ПС_К (/, йМОШ, /V, X) распределение числа добавляемых с новой вершиной ребер определяется параметром disЮut, задающим распределение вероятностей г( добавления с новой вершиной I ребер. Соответственно реализация под-процедуры I в процедуре ПС_К осуществляется только для первых двух из добавляемых ребер. Для остальных ребер (а также в случае, когда на очередном шаге добавляется только одно ребро) вершины для присоединения ребром с новой вершиной после выбора слоя Л, в соответствии с ускоренным алгоритмом генерации, выбираются из слоя А1 равновероятно.

Предложенная процедура ПС_К в соответствии с (9) для случая с

,=2'

1 г< = 0, 1*2.

позволяет увеличить коэффициент кластеризации для графа БА как

С’ос .с |з)

МЛ')1 »

где С' ~ это коэффициент кластеризации калиброванного графа (л= 1), С ~ коэффициент кластеризации некалибровашшго графа, определяемый как

С =

(InJV)

8 V

0.5

In N

N

(4)

Так, для сети маршрутизаторов |3| Интернет (#= 124649) по формулам (3) — (4) можно вычислить пределы варьирования коэффициента кластеризации С с |0.00019, 0.10714J. Очевидно, что коэффициент кластеризации данной сети С = 0.079, может быть получен путем наст ройки коэффициента Для се_ тиавтономных систем (4) Интернет (N = 22963) коэффициент кластеризации графа БА может изменяться в интервале С с [0.00077,0.13055], в то время как коэффициент кластеризации реальной сети автономных систем Интернет С = 0.01.

Выводы

1. Описан алг оритм генерации графа Барабаши — Альберт, основанный на типовом методе генерации дискретной случайной величины. Рассмотрены аспекты его ускорения путем использования дополнительной структуры, хранящей списки ссылок на вершины заданной степени — слои.

2. Описан ускоренный алгоритм генерации графов предпочтительного связывания, обобщающих граф Барабаши-Альберт. Приводятся примеры калибровки генерируемых фафов для моделирования сетей с Заданными законами распределения степени узлов.

3. Обобщен метод предложенный в [ 11 ] для использования при генерации ориентированных графов. Предложен метод калибровки по распределению полустепени исхода и иолу степени захода. На примере сети товаров-комплементов электронного магазина Amazon демонстрируется возможность калибровки ориентированного графа предпочтительного связывания.

(ИЙ НАУЧНЫЙ UCTHHK М* 7 (90) ЗОЮ ИНФОРМАЦИОННЫЕ

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ ОМСКИЙ НАУЧНЫЙ КСТНИК М 2 (V0) 2010

4. Предложена процедура сепарабельной калиб-ровки графов по коэффициенту кластеризации, ш позволяющая калибровать фафы предпочтительного связывания со случайным приращением. Аналитически оценивается диапазон варьирования коэффициента кластеризации при калибровке графов БА. моделирующих сети маршрутизаторов Интернет и сети автономных систем Интернет.

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

I Barab&sl. Albert— L&szl6 and Albert Rika. "Emergence of scaling In random networks" / A. Barab&si, R. Albert // Science. — October 15. 1999 - V. 286. - 509 -5l2p.

2. Scopus |Электронный ресурс): Библиотечная и реферативная база данных издательства Elsevier. - Электронный текст н данные. — Режим доступа: http://www~scopus.com/results/ citedbyresults.url?edit.scft— 1

3. Структура сети маршрутизаторов Интернет. 2006 г., URL : http://www.clse.ufl.edu/research/sparse/mat/PaJek/lntemet.mat. -Дата обращения: 01.09.2009.

4. Структура автономных систем сети Интернет, воссозданная на основе BGP таблиц. 2006 г. — URL : http://www-personal.umlch.edu/-mejn/netdata/as-22july06.zip — Дата обращения: 01.09.2009.

5. Структура сети пользователей программой для безопасного обмена информацией PGP. — URL . http:// deim.urv.cat/-aarenas/data/xarxes/PGP.zip. - Дата обращения: 02.02.2010.

6. Структуры данных, моделирующих большие сети (Электронный ресурс): Структуры данных, моделирующих большие сети / Ю. Лесковой, Стенфордский университет. — Электронный текст и данные. — Режим доступа : http:// snap.stanford.edu/data/index.html

7. Программная библиотека для работы с графами JUNG

[Электронный ресурс): открытое программное обеспечение. — Электронный текст и данные. — Режим доступа : http:// jung.soureeforge.net

8. Задорожный, В. И. Статистически однородные случайіпае графы:определение, генерация, применение/ В. Н. Задорожный. ЕГБ. Юдин //Омский научный вестник. — 2009.— Nn3(83). — С. 7-13.

9. Задорожный, П. 11. Структурные свойства scale-free графа Барабашн — Альберт [Электронный ресурс): Препринт материалов, переданных мя публикации в журнал «Автоматика и телемеханика», © 2009 / В. II. Задорожный, Е. Б. Юдин. — Электронный текст и данные. — Режим доступа : http:// zadorozhnyl.acouy ru/articles/ZadorozhnylYudlnLastVerslon.pdf

10. Официальный сайт ООО «Экс Джей Текнолоджис» (Электронный ресурс): Сайт разработчика системы моделирования AnyLoglc. — Электронный гипертекст. — Режим доступа: hltpV/xjlek.ru

11. Задорожный, В.Н. Случайные графы с обобщенным правилом предпочтительного связывания (Элсктропный ресурс): Препринт материалов, переданных для публикации в журнал «Проблемы управления» О 2010/ В.Н. Задорожный. — Электронный текст н данные. — Режим доступа : http:// zadorozhnyl.acouy.ru/artlcles/ZadorozhnyiGraphCalibr.pdf

12. Watts. D. J. & SI года tz, S. H. Collective dynamics of 'small-world’ networks / D. J. Watts. S. H. Strogatz // Nature. - 1998. — V,393. - P. 440

ЮДИН Евгений Борисович, старший преподаватель кафедры «Автоматизиронанныесистемы обработки информации и управления».

Адрес дл>« переписки: e-mail: fon-ts@maiI.ru

Статья поступила в редакцию 12.04.2010 г.

@ Е. Б. Юдин

Книжная полка

УДК 004

Грушо, А* А. Теоретические основы компьютерной безопасности [Текст]: учеб. пособие для вузов по специальности 090100 «Информационная безопасность» / А. А. Грушо, Э. А- Применко, Е. Е. Тнмонина. -М.: Академия, 2009. -267, (1 ] с. :рнс., табл. - (Высшее профессиональное образование). - Библиогр.: с. 261-263. - ISBN 978-5-7695-4242-8.

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

УДК 004.2

Горнец, Н. Н. Организация ЭВМ и систем [Текст]: учеб. пособие для вузов по направлению 230100 «Информатика и вычислительная техника» / Н. Н. Горнец, А. Г. Рощнн, В. В. Соломенцев. - 2-е изд., стер. -М.: Академия, 2008. - 315, [1].: рис., табл. - (Высшее профессиональное образование). - Библиогр.: с. 312-313. - №ВЫ 978-5-7695-5247-2.

Рассмотрены основы теории построения вычислительных машин, принципы организации микропроцессоров, персональных компьютеров и многопроцессорных вычислительных систем. Приведены показатели их быстродействия и производительности. Изложены тенденции разви тия архитектур как персональных, так и многопроцессорных ЭВМ. Даны схемы наиболее распространенных периферийных устройств и методы сопряжения их с центральной частью машины.

Имеются экземпляры в отделах: ОНА

УДК 004

Кобенко, В. Ю. Компьютерные технологии в науке и производстве [Текст]: / В. Ю. Кобенко, Ю. Н. Кликушнн; ОмГТУ. - Омск: Изд-во ОмГГУ, 2010. - 103 с.: рис., табл. - Библиогр.: с. 103. - ISBN 978-5-8149-0838-4.

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

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