Научная статья на тему 'Алгоритм Флажоле-Мартена как эффективный инструмент анализа социальных графов'

Алгоритм Флажоле-Мартена как эффективный инструмент анализа социальных графов Текст научной статьи по специальности «Математика»

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

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

Объектом исследования является модель значимости (центральности) участника социальной сети. Предметом исследования является расчет метрик центральности, основанных на длинах кратчайших путей между вершинами, для социального графа на основе итеративного выполнения алгоритма Флажоле-Мартена. Автор рассматривает возможность аппроксимированной оценки близости для вершин социального графа на простом примере, по результатам расчета которого сравнивает полученные значения аппроксимированной близости с реальными значениями близости, полученными путем поиска в ширину (BFS-алгоритм). Методологию исследования составляют элементы теории графов, а также аппарат анализа социальных сетей, связанный с расчетом метрик центральности вершин для социального графа. Основным выводом проведенного исследования является заключение о том, что алгоритм Флажоле-Мартена легко адаптируется для аппроксимированной оценки значений центральности вершин графа, связанных с кратчайшими путями, таких как близость или центральность распада, предложенная в работе М. Джексона. В свою очередь это открывает новые возможности для моделирования процессов распространения информации в социальных сетях.

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

Похожие темы научных работ по математике , автор научной работы — Торопов Борис Андреевич

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

Текст научной работы на тему «Алгоритм Флажоле-Мартена как эффективный инструмент анализа социальных графов»

Алгоритм Флажоле-Мартена как эффективный инструмент анализа социальных графов

Торопов Борис Андреевич

кандидат технических наук доцент, Академия управления МВД России 125171, Россия, г. Москва, уп. 3. и А Космодемьянских, 8 Toropov Boris Andreevich PhD in Technical Science

Associate Professor at the IT Department of the Academy of Management of the Mnistry of Internal Affairs of

the Russian Federation

125171, Russia, Moscow, ul. Zi A Kosmodem'yanskikh, 8

El torbor@mail.ru

Статья из рубрики "Математическое моделирование и вычислительный эксперимент"

Аннотация. Объектом исследования является модель значимости (центральности) участника социальной сети. Предметом исследования является расчет метрик центральности, основанных на длинах кратчайших путей между вершинами, для социального графа на основе итеративного выполнения алгоритма Флажоле-Мартена. Автор рассматривает возможность аппроксимированной оценки близости для вершин социального графа на простом примере, по результатам расчета которого сравнивает полученные значения аппроксимированной близости с реальными значениями близости, полученными путем поиска в ширину (BFS-алгоритм). Методологию исследования составляют элементы теории графов, а также аппарат анализа социальных сетей, связанный с расчетом метрик центральности вершин для социального графа. Основным в ыв о до м про в е де нного исс ле до в а ния я в ля е тс я з а кл юч е ние о то м, ч то а лгоритм Флажоле-Мартена легко адаптируется для аппроксимированной оценки значений центральности вершин графа, связанных с кратчайшими путями, таких как близость или центральность распада, предложенная в работе М. Джексона. В свою очередь это открывает новые возможности для моделирования процессов распространения информации в социальных сетях.

Ключевые слова: социальная сеть, социальный граф, центральность, близость, кратчайший путь, алгоритм Флажоле-Мартена, кодовая последовательность,

аппроксимация, вычислительная сложность, анализ социальных сетей

DOI: 10.7256/2306-4196.2017.2.22308

Дата направления в редакцию: 16-03-2017

Дата публикации: 09-05-2017

Abstract. The study is devoted to the influence (centrality) model of a social network participant. The object of studies involves calculations for the centrality metrics, which are based upon the shortest path lengths between the graph vertices for the social graph based upon the iterative performance of the Flajolet-Martin algorithm. The author evaluates the possibility of approximateе evaluation of closeness-centrality based on a simple example. Then, having the calculation results, teh author compares the computed values with the real

closeness values, as computed by breadth-first search algorithm (BFS-Algorithm). The methodology of the study involves graph theory elements, as well as the social network analysis apparatus, which allows to compute different centrality metrics of a graph vertex. The key conclusion provides that the Flajolet-Martin algorithm is an easily adaptable tool for the approximate social graph vertex centrality evaluation related with the shortest paths, such as closeness or centrality of the disintegration, as provided for in the work so M. Jackson. In turn, it provides for the new possibilities for the process modeling for the spread of information in the social networks.

Keywords: approximation, code sequence, Flajolet-Martin algorithm, shortest path, closeness, centrality, social graph, social network, computational complexity, social network analysis

Введение

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

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

связи, то такая метрика называется степенью cdeg. О том, сколько вершин находятся от данной вершины на удалении не более k шагов, говорит метрика центральности, называемая k-степенью ck-deg. Эти метрики наиболее очевидны, они самые простые с точки зрения вычислительной сложности и скорости работы алгоритмов на больших сетях. Однако их ключевым недостатком является то, что они не учитывают, где именно находится анализируемая вершина - в центре социального графа или же на его периферии, важна ли она для данной сети как связующий элемент или без нее в структуре сети ничего существенно не изменится.

Центральность по близости и вычислительная сложность алгоритмов ее расчета

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

Близость ccl - основная метрика, представляющая данный класс. Она рассчитывается как величина обратно пропорциональная сумме длин кратчайших путей от анализируемой вершины до каждой другой вершины графа. Обычно близость масштабируется по числу кратчайших путей N-1 между i и j, где N - общее число вершин в графе:

/ hi

где ljj - длина кратчайшего пути от i к j.

В больших сетях минус единицей в числителе можно пренебречь и масштабировать близость по N:

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

С точки зрения практического применения близости в форме (1) или (1а) к большим сетям, основной ее недостаток - это время работы алгоритмов. Поиск кратчайшего пути между одной парой вершин при помощи BFS-алгоритма (англ. breadth-first search, поиск в ширину) в худшем случае имеет временную сложность O = (INI + IMI), причем, M - число ребер графа (связей между его вершинами), в зависимости от связности графа будет

варьироваться от 1 до N2. Для поиска кратчайших путей между всеми возможными парами вершин графа алгоритм необходимо применить N(N-1)/2 раз. Таким образом,

общая его сложность будет предположительно пропорциональна N3, а худший случай графа с большим числом ребер в наихудшем случае BFS-перебора сделает сложность

пропорциональной N4.

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

эффективной близости -Ш вершин.

Пусть N(r, v) - число вершин графа, удаленных от вершины v на расстояние не более r. Примем Nv(r)за число вершин, находящихся от v точно на расстоянии r. Тогда Nv(r) = N(r, v) - N(r - 1, v). В этом случае стандартная близость (1) определяется следующим образом:

, (2)

где б - диаметр графа, т.е. длина самого длинного из всех кратчайших путей.

Теперь предположим, что имеется ^^у^ ~ оценочное значение Л/^г, V), тогда ^ ^^ -оценочное значение Му(г).Соответственно, аппроксимированное значение близости, или эффективная близость сс|-е(^, определяется как:

г \

10.7256/2306-4196.2017.2.22308 -/У-1___

ЛГ-1

(3)

"Г:

г = 1

: 1

Вопросом остается то, каким образом определить так, чтобы не использовать

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

Алгоритм Флажоле-Мартена для расчета эффективной близости вершин социального графа

Одним из решений проблемы является алгоритм, предложенный Флажоле и Мартеном в

для аппроксимированного определения числа уникальных объектов во множестве. Данный алгоритм может быть легко адаптирован к определению ^^у^ в социальных

графах. Алгоритм выполняется за О = операций для всех вершин, входящих в

граф.

На этапе инициализации согласно алгоритму Флажоле-Мартена каждому объекту во множестве (вершине социального графа в нашем случае) присваивается кодовая последовательность М(0^).

Кодовые последовательности М(0^) формируются следующим образом. Для каждой вершины с вероятностью р = 1/2 нулевому биту кодовой последовательности присваивается значение единица, с вероятностью р = 1/4 - единичное значение присваивается первому биту, р = 1/8 - второму, и т.д. Таким образом /-му биту кода

каждого узла с вероятностью р = 2-(/+1) присваивается единичное значение, а с вероятностью q = 1-p - присваивается нулевое.

1,р ::: 0, д=1-р

1,р=0,0625 1,р=0,125 1,р=0,25 1,р=0,5 0, (¡=0,9375 0, д=0,875 0, д=0,75 0, су=0.5

бит1 - битЗ бит 2 бит! битО

( 1

Рис.1. Вероятности появления нулевых и единичных значений разрядов кодовой строки,

формируемой по алгоритму Флажоле-Мартена

Как видно, эти кодовые последовательности неуникальны. Их длина задается не менее log2N целых бит, что впоследствии позволит зафиксировать случай нахождения

предельно возможного числа вершин на одинаковом удалении от V. Действительно, бинарная строка длины log2N позволяет закодировать ровно N-1 десятичных чисел.

Далее алгоритм выполняется итеративно следующим образом:

1) Счетчик г увеличивается на 1 (начальное значение 0).

2) Кодовая строка каждой вершины М(г, V) задается равной логическому ИЛИ (ф ) между самой собой и кодовыми строками вершин - непосредственных соседей.

3) Для каждой вершины определяется значение Ь - порядок первого разряда в М(г, V), значение которого равно нулю.

Логика нахождения позиции первого нулевого разряда следующая: для того, чтобы получить в кодовой комбинации Ь единичных разрядов перед первым нулевым, необходимо при помощи логического ИЛИ «обойти» такое количество вершин графа,

которое пропорционально 2Ь. Это позволяет дать оценку тому количеству вершин графа, которое находится на расстоянии кратчайшего пути не более г от заданной вершины V.

4) Для каждой вершины определяется ^^у^ оценочное количество вершин находящихся от нее на длине кратчайшего пути не более г, где г - это номер текущей итерации алгоритма. Как уже отмечалось, ^^у^ пропорционально 2Ь и рассчитывается как:

где 0,77359 - поправочный коэффициент, согласно

5) Для каждой вершины определяется число вершин, удаленных от нее на расстояние г как:

6) На основе выражения (3) рассчитывается г-е слагаемое близости.

7) Если кодовые строки всех вершин графа равны, то расчет завершен, если хотя бы одна строка отличается от других, то выполняется следующая итерация алгоритма.

Формальное описание алгоритма приводится, например, в ^З^.

Пример расчета эффективной близости по Флажоле-Мартену

Расчет эффективной близости по Флажоле-Мартену рассмотрим на примере следующей сети, представленной графом из шести вершин и шести ребер.

Рис.2. Пример графа

Число вершин графа N = 6, то log2N ~2,6 и длина кодовой комбинации принимается

равной 3. Поскольку граф невелик, для большей точности будем использовать для каждой вершины не одну, а четыре кодовых комбинации из трех разрядов каждая и при выполнении алгоритма опираться не на Ь, а на ^ - среднее положение первого разряда с нулевым значением.

Рисунок 3. показывает итеративное изменение кодовых последовательностей, соответствующих вершинам графа. Так на первой итерации алгоритма для вершины У4 кодовая последовательность формируется как М(1,4) - М(0,4)ф М(0,3)ф М(0,5) - (010 001 ООО 011) ф ( ООО ООО 001 ООО) ф (ООО ООО 101 ООО) = 010 001 101 011.

011 001 111011 011001 111011 011001 111011 М(2, v), итерация 2 М(3, v), итерация 3

Рис.3. Расчет близости по Флажоле-Мартену, алгоритм завершен за три итерации

Значения ^ для вершин графа на всех итерациях работы алгоритма приведены в таблице 2. Например, для вершины V4 рассчитанная выше кодовая последовательность на первой итерации работы алгоритма следующая: 010 001 101 011, значит ^ _ 0+1+1+2 _ ^

Таблица 1. Кодовые строки Флажоле-Мартена M(r, v), соответствующие каждой вершине

графа на каждой итерации работы алгоритма

V M(0, v) M(1, v) M(2, v) M(3, v)

1 0 0 1 0 0 1 000 000 001 001 001 000 011 001 111 011 011 001 111 011

2 0 0 1 0 0 0 010 000 001 000 011 000 011 001 111 011 011 001 111 011

3 0 0 0 0 0 0 001 000 011 001 111 011 011 001 111 011 011 001 111 011

4 0 1 0 0 0 1 000 011 010 001 101 011 011 001 111 011 011 001 111 011

5 0 0 0 0 0 0 101 000 011 001 101 011 011 001 111 011 011 001 111 011

6 0 0 1 0 0 1 000 001 001 001 101 001 011 001 101 011 011 001 111 011

Таблица 2. ^ - среднее положение первого нулевого разряда из четырех кодовых комбинаций. - оценка числа соседей на расстоянии не более г, рассчитывается по (4)

итерация 1 итерация 2 итерация 3

V ь Щ1,у) b ь Щ 3,v)

1 0,75 2,17 2 5,17 2 5,17

2 0,75 2,17 2 5,17 2 5,17

3 2 5,17 2 5,17 2 5,17

4 1 2,59 2 5,17 2 5,17

5 1,5 3,66 2 5,17 2 5,17

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

6 1 2 59 1 5 3 66 2 5 1 7

10.7256/2306-4196.2017.2.22308 6 I 1

Таблица 3. (у) - оценка числа соседей на расстоянии ровно г, рассчитанная по (5), эффективная близость по Флажоле-Мартену сс1_е^, рассчитанная по (3) и стандартная

близость сс1, рассчитанная по (1)

v frt/l) ^(2) nv(3) ccl_eff ccl

1 2,17 3,00 0,00 0,61 0,5

2 2,17 3,00 0,00 0,61 0,5

3 5,17 0,00 0,00 0,97 0,83

4 2,59 2,59 0,00 0,64 0,63

5 3,66 1,51 0,00 0,75 0,71

6 2,59 1,07 1,51 0,54 0,45

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

разброса сс| по сс|-е^.

Рис.4. Диаграмма разброса ccl по ccl_eff

Как видно, между двумя рядами наблюдается существенная и значимая взаимозависимость. Таким образом, полученная по алгоритму Флажоле-Мартена эффективная близость является достаточно качественной аппроксимацией реальной близости, вычисляемой согласно (1).

Направление дальнейшего исследования

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

В развитие рассмотренной идеи приведем пример другой метрики центральности, которая также может быть рассчитана по Флажоле-Мартену. В своем труде-^4 М. Джексон вводит метрику, называемую decay centrality cd. На русский можно попытаться перевести это наименование как центральность распада или центральность затухания, возможно, также подошло бы - градиентная центральность. Рассчитывается данная метрика как:

где 5 - коэффициент распада (затухания), (0;1),

-Ач)

знаменатель дробинормирует полученное значение ^ по его наибольшему

зф*

возможному значению в графе из п вершин (п-1)5 - тот случай, когда данная вершина напрямую связана со всеми остальными вершинами графа.

Метрика cd будет прямо коррелировать с центральностью по степени cdeg вершины при значении коэффициента 5 стремящемся к нулю, и с рассмотренной выше центральностью

по близости ccl при значении коэффициента 5 стремящемся к единице.

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

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

Библиография

1. U. Kang, Spiros Papadimitriou, Jimeng Sun, Hanghang Tong. Centralities in Large Networks: Algorithms and Observations. Proceedings of the 2011 SIAM International Conference on Data Mining, 2011, pp. 119-130.

2. P. Flajolet and G. N. Martin. Probabilistic counting algorithms for data base applications. Journal of Computer and System Sciences, 31, 1985, pp. 182-209.

3. Christopher R. Palmer, Phillip B. Gibbons, Christos Faloutsos. ANF: A Fast and Scalable Tool for Data Mining in Massive Graphs. Proceedings of the Eighth ACM SIGKDD international Conference on Knowledge Discovery and Data Mining. 2002, pp. 81-90.

4. Matthew O. Jackson. Social and Economic Networks. Princeton University Press. 2008. 520 p.

References (transliterated)

1. U. Kang, Spiros Papadimitriou, Jimeng Sun, Hanghang Tong. Centralities in Large Networks: Algorithms and Observations. Proceedings of the 2011 SIAM International Conference on Data Mining, 2011, pp. 119-130.

2. P. Flajolet and G. N. Martin. Probabilistic counting algorithms for data base applications. Journal of Computer and System Sciences, 31, 1985, pp. 182-209.

3. Christopher R. Palmer, Phillip B. Gibbons, Christos Faloutsos. ANF: A Fast and Scalable

Tool for Data Mining in Massive Graphs. Proceedings of the Eighth ACM SIGKDD international Conference on Knowledge Discovery and Data Mining. 2002, pp. 81-90. 4. Matthew O. Jackson. Social and Economic Networks. Princeton University Press. 2008. 520 p.

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