Комбинированный алгоритм выделения сообществ в графах взаимодействующих объектов

Комбинированный алгоритм выделения сообществ в графах взаимодействующих объектов1

С.Ю. Лобанова

студент бакалавриата

Московский институт электроники и математики им. А.Н. Тихонова Национальный исследовательский университет «Высшая школа экономики» Адрес: 101000, г. Москва, ул. Мясницкая, д. 20 E-mail: s.lobanova@usabilitylab.net

А.А. Чеповский

кандидат физико-математических наук, доцент департамента прикладной математики Московский институт электроники и математики им. А.Н. Тихонова Национальный исследовательский университет «Высшая школа экономики» Адрес: 101000, г. Москва, ул. Мясницкая, д. 20 E-mail: aachepovsky@hse.ru

Аннотация

В статье предложен и реализован алгоритм выделения пересекающихся и вложенных сообществ в графах взаимодействующих объектов различной природы. Для этого рассмотрены два классических алгоритма: иерархический агломеративный и основанный на поиске &-клик. Представленный комбинированный алгоритм основан на последовательном их применении. Кроме того, разработаны параметрические опции, отвечающие за действия с сообществами, размеры которых меньше заданного к, а также с единичными вершинами. Варьирование этих параметров позволяет учитывать различия в топологии исходного графа и корректировать тем самым алгоритм.

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

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

Ключевые слова: граф, анализ графа, выделение сообществ, структура графа, анализ социальной сети, большие данные.

Цитирование: Лобанова С.Ю., Чеповский А.А. Комбинированный алгоритм выделения сообществ в графах взаимодействующих объектов // Бизнес-информатика. 2017. № 4 (42). С. 64—73. DOI: 10.17323/1998-0663.2017.4.64.73.

1 Работа выполнена при поддержке Российского фонда фундаментальных исследований

Введение

Многие системы в различных областях могут быть описаны как сложные сети, то есть наборы вершин и ребер с нетривиальными топологическими свойствами. Примеры варьируются довольно широко, к ним относятся технологические [1], биологические [2] и социальные [3] системы.

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

Типичными примерами анализируемых сетей являются популярные сервисы социальных сетей. Тогда в качестве узлов выступают аккаунты пользователей, а связи между ними определяются формальными для конкретного сервиса понятиями «дружбы», «подписки» и т.д. В результате получается граф взаимодействующих объектов. Подобные сети обладают структурой неявных сообществ — групп людей, объединенных по какому-либо дополнительному признаку, например, однокурсники, подписчики ряда публичных персон или тематических пабликов, криминальные элементы.

Выделение сообществ может помочь при анализе графов взаимодействующих объектов. В общем случае эта задача является NP-полной, но, поскольку в этом контексте рассматриваются различные области [5, 6], предлагается использовать алгоритм с корректирующими опциями, значения которых можно выбирать в зависимости от топологии графа, а значит — от исходной предметной области, из которой получен граф взаимодействующих объектов.

1. Методы разбиения на сообщества

В 2002 году М. Гирван и М. Ньюман [7, 8] представили алгоритм, ставший одним из первых диви-зивных методов выделения сообществ. Изначально все вершины ассоциированы с единственным сообществом. Каждый шаг алгоритма Гирван—Ньюмана начинается с вычисления значения характеристики центральности по посредничеству [9] для каждого ребра в графе [8], а затем ребро с наибольшим значением этой характеристики удаляется. Так сеть

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

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

Модулярность Q определена для существующей структуры сообществ графа следующим образом:

А,-

2т

<5 (с,, с,),

где т — количество ребер, А — элемент матрицы смежности; к. — степень вершины /;

с. — номер класса, к которому принадлежит вершина;

[1, .

Центральность по посредничеству для заданного ребра — это доля кратчайших путей, проходящих это ребро, среди всех кратчайших путей:

где е — заданное ребро;

V — множество вершин графа;

а — количество кратчайших путей между вершинами 5 и

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

Расчет св{е) является вычислительно затратным [1, 8]. Поэтому в случае крупных сетей целесообразно использовать другие алгоритмы [1].

Быстрый алгоритм иерархического разбиения для общего случая взвешенных графов был предложен Блонделем и другими авторами в 2008 году [11]. Алгоритм агломеративный, на каждом шаге он объединяет текущие вершины графа в супервершины (сообщества) так, чтобы при этом прирост модулярности этого объединения был максимальным. В результате каждой итерации получается иерархическое разбиение следующего уровня. Если достичь

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

Так как этот алгоритм выделяет сообщества, основываясь на непосредственных окрестностях вершин, на практике полученное разбиение может не соответствовать реальному. Поэтому не всегда очевидно, соответствует ли очередное промежуточное разбиение какому-либо релевантному иерархическому уровню графа. Кроме того, результаты алгоритма зависят от порядка рассмотрения вершин на первом шаге [12].

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

Далее под СРМ будем иметь в виду один из известных алгоритмов, представленный коллективом авторов в работах [14, 15] и позволяющий получать в результате пересекающиеся сообщества. В данном методе нахождение пересекающейся структуры сообществ связано с задачей нахождения Ажлик (полных подграфов размера к) в графе. Для фиксированного к алгоритм сперва находит все ¿-клики сети. Затем, если две ¿-клики имеют к — 1 общую вершину, то они считаются смежными друг с другом (рисунок 1). Тогда сообщество определяется максимальным набором смежных ¿-клик [15].

Для оценки качества подобных разбиений существует множество модификаций классической модулярности. В данной статье будет рассмотрен вариант, предложенный в работе [13]:

Рис. 1. Выделение пересекающихся сообществ алгоритмом СРМ для 4-клик

а-^Ц

сеС |,/ес

к^ 2т

О л

где С= {ср с2,..., с^} — множество пересекающихся сообществ;

(}. — количество сообществ, которым принадлежит вершина /.

2. Описание комбинированного алгоритма

В статье рассматривается объединение иерархического алгоритма Блонделя и метода разбиения сети на пересекающиеся сообщества СРМ. Комбинирование заключается в их последовательном применении. Идея состоит в том, что сначала сеть разделяется на крупные непересекающиеся сообщества, а затем в каждом из них находятся пересекающиеся сообщества меньшего размера. Далее будем называть данный алгоритм «комбинированным алгоритмом» (КА).

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

</}(ис),а(у) =

свЬ')> св{у)>а

О, св(у)<а

где и — количество вершин в сообществе с;

св(у) — центральность по посредничеству вершины у;

а и /3(пс) — параметры алгоритма, 0<а<1;0</?<1.

Относительно большое значение центральности по посредничеству характеризует вершину как возможно связывающую разные сообщества, то есть если ее убрать, граф может разделиться на несколько компонент связности. Схожее соображение используется в алгоритме Гирван—Ньюмана [1, 8]. Наличие достаточного количества таких вершин в сообществе может говорить о том, что оно оформлено не окончательно, и требуется дальнейшее дробление алгоритмом Блонделя. Поэтому условие перехода к СРМ зависит как от самого значения центральности по посредничеству, так и от доли вершин, у которых оно выше некоторого порогового а. Пороговые значения для св(У) и доли вершин определяются вход-

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

В результате применения СРМ отсекаются вершины, не входящие в клики, поэтому встает вопрос определения их в сообщества. В качестве решения выступает система из двух новых параметров / и тор1 комбинированного алгоритма. В зависимости от их значений перераспределяются не только отсеченные вершины, но и маленькие сообщества. Это позволяет частично влиять на результирующую структуру, а также, в отдельных случаях, - избежать объединения листов графа или маленьких сообществ в большие бессмысленные сообщества. Такая особенность разбиения, которую можно назвать «сбором мусора», свойственна многим методам оптимизации модулярности, в том числе алгоритму Блонделя [11, 16, 17].

Для более точного определения и наглядной иллюстрации принципов работы параметров / и т рассмотрим Ск ={Сц,Сл1.....С^} множество сообществ, выделенных алгоритмом Блонделя, где гс их количество. Для удобства записи будем считать, что если отдельное сообщество Ск вСл не удовлетворяет условию запуска СРМ, то его потом дублирует множество Ссрм = Ск. В противном случае Ссрлг определяется как множество сообществ, полученных в результате работы СРМ внутри Ск:

С Г С

^СРМ^СРМ.' СРМ,

}

'met J

где же. количество выделенных методом СРМ сообществ в Ся е Сл.

Зафиксируем полученное после применения СРМ разбиение как Сг и обозначим структуру сообществ после перераспределения в соответствии с параметром / как С'г Параметры 1вЫ и тт1 являются

opt

opt

обязательными при запуске алгоритма наряду с размером клики к и ограничениями а и /?. Структура сообществ Сг преобразуется сначала в соответствии со значением параметра / , а затем — со значением параметра торГ

Первый параметр / отвечает за распределение отсеченных на этапе применения СРМ вершин и может иметь следующие значения (таблица 1).

Второй параметр тор/ работает с маленькими сообществами. Сообщество считается маленьким, если число вершин в нем не превышает размера клики к, также являющегося входным параметром алгоритма. Такое ограничение выбрано по причине того, что к — тот минимальный размер сообщества, который может быть выделен с помощью метода СРМ. Параметр т может иметь следующие значения (таблица 2).

Таблица 1.

Описание принципа работы параметра i

opt

None Отсеченные вершины не принадлежат ни одному сообществу

i2c Каждая отсеченная вершина выделяется в индивидуальное (единичное) сообщество внутри того сообщества, в котором оно находилось до применения СРМ

i2r Каждая отсеченная вершина выделяется в индивидуальное (единичное) сообщество, не имеющее пересечений с другими

ia2c Группа из всех отсеченных вершин, ранее находящихся в одном сообществе до применения СРМ, образует внутри него сообщество

ia2r Все отсеченные вершины образуют единое сообщество, не имеющее пересечений с другими

Таблица 2. Описание принципа работы параметра mopt

None Структура сообществ не изменяется

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

m2c Все маленькие сообщества, находящиеся в общем для них сообществе (т.е. вложенные в него), объединяются в нем в одно общее сообщество, не имеющее вложенных сообществ

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

Каждое из преобразований производится однократно, поэтому в случае появления новых маленьких сообществ (возможно для mr2), они не будут объединены с новым общим сообществом. Итоговая структура сообществ Cf сети формируется из Cf в соответствии с принципами, продемонстрированными в таблицах 1 и 2.

Отдельно следует рассмотреть комбинацию параметров со значениями «i2c/None». В этом случае при выделении небольшого сообщества часто выходит так, что все его члены также выделяются и в собственные индивидуальные сообщества, а большие сообщества разделяются на одну большую часть и несколько индивидуальных. Во избежание нагромождения сообществ в итоговой структуре авторами применялась модификация: в описанном для маленьких сообществ случае индивидуальные сообщества расформировываются и, таким образом, остается только само маленькое сообщество. Для большого сообщества остается оно само и выделенные внутри него индивидуальные сообщества (то есть убирается та часть внутреннего разбиения, в которой находят-

ся все вершины исходного сообщества, за исключением выделенных в единичные сообщества). На рисунке 2 приведена возможная картина результата работы КА внутри одного из сообществ, полученных на первом шаге. Подобный результат не дают примененные по отдельности алгоритмы Блонделя и СРМ. Между тем, в ряде случаев при анализе графов такое разбиение будет крайне информативно.

Рис. 2. Возможное итоговое разбиение на сообщества внутри одного из полученных на первом этапе работы КА

3. Тестирование

В ходе тестирования были оценены результаты работы КА на разных типах графов и произведены сравнения с результатами алгоритмов Блонде-ля и CPM по отдельности. Также сравнение было произведено с результатами некоторых классических алгоритмов: GN, быстрой жадной оптимизации модулярности FG [18] и дающего сообщества с пересечениями алгоритма CONGA (Cluster Overlap Newman-Girvan Optimized Algorithm) [19]. Рассмотрена зависимость результатов КА от параметров к, a, ¡i, i , mopt. Размер клики к рассматривался в диапазоне к е [3, 10]. Для каждого разбиения вычислено значение Qov, а для разбиений, полученных КА, рассчитана их мера подобия со другим разбиениям.

В работах [20, 21] предложен индекс со (Omega Index) для оценки подобия двух разбиений, исходя из количества пар вершин, согласованных в одном и том же количестве сообществ. Пусть Ci и C2 различные разбиения, Kp K2 соответствующие им количества сообществ. Пусть t. (С) — множество пар вершин, встречающихся вместе в разбиении С ровно j раз. Тогда со определяется следующим образом:

a(C',C") =

сои{С',С")-сое{С',С")

1 -С0е

где с»и ( СС" ) — наблюдаемый показатель, а й)е (С',С") — ожидаемый:

* min

т

]=О

n(Jf„Jf2¡

СО.

т

1=0

Значение ю(С",С) = 1 в случае абсолютного совпадения двух разбиений.

Авторами были изучены результаты применения КА и выбранных классических алгоритмов на более чем 70 графах взаимодействующих объектов различной природы, таких как социальные сети, сети цитирования ученых, белок-белковые взаимодействия, сети инфраструктуры. В ряде случаев для графов из одной группы и со схожими топологическими параметрами выявлены наиболее оптимальные значения корректирующих параметров для КА. Программная реализация выполнена на Python 3.5, а для работы с графами были использованы средства стандартных и открытых библиотек, содержащих, в том числе, и классические алгоритмы. Реализованы полуавтоматические блоки тестирования для поиска лучших по Qov значений параметров. Визуализация полученных разбиений на графах обеспечивается сторонним программным обеспечением.

Более подробно покажем результаты на эго-гра-фах, полученных из социальной сети ВКонтакте (таблица 3). Эго-графами в данном случае были графы, сформированные поиском в ширину от одной вершины с глубиной 1 и добавлением всех ребер между полученными таким образом вершинами. При этом в качестве стартовой брались вершины со степенью в диапазоне примерно от 100 до 500. Это позволило получить не только графы с разными топологическими свойствами, но и удобных для качественного анализа размеров. Именно изучение содержательной стороны в получаемых разбиениях и выявление наиболее подходящих значений параметров КА было одной из основных целей данного исследования.

На данных графах КА в большинстве случаев ожидаемо выделял большее число сообществ (таблица 4). Для данной группы графов, представляющих эго-графы одной и той же социальной сети, наиболее эффективным по содержанию разбиений показал себя вариант параметров i2c/m2r и k = 4. Качественный экспертный анализ состава выделенных рассмотренными алгоритмами групп, особенно маленьких сообществ из нескольких вершин, показал

Таблица 3.

Графы социальной сети для тестирования

n c avk dst avntr avclu maxcl bet clo

G 105 792 15,1 0,1451 38,04 0,712 15 44,5 0,5434

G2 120 1226 20,4 0,1717 52,39 0,668 14 49,3 0,5507

G3 158 1352 17,1 0,1090 44,41 0,767 17 69,9 0,5309

G4 158 1596 20,2 0,1287 63,80 0,638 21 68,4 0,5374

G5 187 1873 20,0 0,1077 51,11 0,674 16 83,0 0,5308

G6 229 1726 15,1 0,0661 26,67 0,633 14 106,5 0,5184

G7 439 4143 18,9 0,0431 41,47 0,602 16 209,6 0,5117

G8 461 4299 18,7 0,0405 49,36 0,665 17 220,7 0,5110

Обозначения: n - число вершин; n - число ребер; avk - средняя степень вершин; dst - плотность связей; avntr - среднее число треугольников; avclu - средний кластерный коэффициент; maxcl - размер максимальной клики; bet - усредненная центральность по посредничеству; clo - усредненная центральность по близости.

Таблица 4.

Результаты тестов

s(KA) Q KA s(BL) o? s(CP) a of s(GN) Q GN ^ov s(FG) o? s(CN) Q CN ^ov

G1 38 0,213 4 0,320 4 0,167 17 0,250 3 0,315 3 0,245

g2 21 0,367 4 0,385 4 - 0,013 20 0,329 4 0,371 4 0,136

G3 28 0,650 4 0,614 5 0,390 15 0,581 5 0,581 5 0,494

g4 39 0,327 4 0,342 3 0,016 47 0,175 3 0,313 4 0,100

g5 36 0,048 5 0,369 3 - 0,008 27 0,250 5 0,325 110 0,011

G6 51 0,224 5 0,465 4 - 0,029 22 0,408 6 0,393 4 0,273

G7 90 0,501 7 0,572 8 - 0,149 54 0,536 8 0,509 5 0,304

G8 99 0,349 7 0,569 11 -0,272 53 0,514 6 0,552 8 0,195

Обозначения: s(KA ) - число выделенных КА сообществ; s(BL) - число выделенных алгоритмом Блонделя сообществ; s(CP) - число выделенных CPM сообществ; s(GN) - число выделенных GN сообществ; s(FG ) - число выделенных FG сообществ; s(CN)- число выделенных CONGA сообществ; каждое из QA значение Qm для разбиения, полученного алгоритмом A.

Таблица 5. Значения т между результатами разбиения графов КА и другими алгоритмами

rn

G1 0,0811 -0,0478 0,0209 0,0729 0,0226

G2 -0,0125 0,0139 0,0152 -0,0087 0,0655

G3 0,0160 -0,0166 -0,0017 0,0043 0,0149

G4 0,0459 -0,0077 -0,0098 0,0047 -0,0147

G5 0,0651 -0,0058 0,0232 0,0133 -0,0055

G6 0,0915 0,0003 0,0004 0,0159 0,0088

G7 0,0452 0,0009 0,0061 0,0020 0,0066

G8 0,0152 0,0137 -0,0070 0,0096 0,0079

Обозначения:

ío(BL) - для разбиения графа с помощью КА и алгоритма Блонделя; ai(CPM) - для разбиения графа с помощью КА и алгоритма CPM; ío(GN) - для разбиения графа с помощью КА и алгоритма GN; m(FG) - для разбиения графа с помощью КА и алгоритма FG; (o(CONGA) - для разбиения графа с помощью КА и алгоритма CONGA.

наибольшую эффективность именно КА. Так, например, алгоритмы Блонделя, СРМ и FG ожидаемо не оставляли большие сообщества, а среди выделяемых алгоритмом GN наиболее маленьких сообществ (в том числе из 1 элемента) для каждого из графов не все были содержательно обоснованы и в ряде случаев с учетом имеющихся в графе ребер должны были бы быть объединены с другими.

При этом необходимо отметить, что значение не всегда было больше аналогичного для иных алгоритмов в силу нахождения КА иного локального экстремума данной меры качества, что частично подтверждается рассчитанными значениями меры подобия со данных разбиений (таблица 5). Как видно из таблиц, сильно различается не только число полученных КА и остальными алгоритмами сообществ, но и сами наборы объединенных в группы вершин, ведь в силу особенностей рассмотренных классических алгоритмов, некоторые виды разбиений не

могут быть получены по результатам их применения даже теоретически (например, ситуация из рисунка 2 для СРМ нереализуема). Все это совокупности показывает, что полученное при КА разбиение, как правило, существенно отличалось от остальных.

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

На первом шаге КА выделяет в графе G3 четыре сообщества: СЯ^СЙ2,СЯЗ,С^ размеров 44, 41, 37, 36 соответственно (рисунок 3). Данный граф является очень показательным, поскольку выделенные алгоритмом Блонделя сообщества близки по размерам. Тут С^ является типичным «мусорным» сообществом, содержащим исходную вершину эго-графа, листовые вершины и мелкие сообщества. Остальные три выделенных сообщества содержательно более обоснованные, они представляют из себя группы пользователей, большинство из которых не имеют связей с представителями других двух сообществ.

Далее после применения следующих шагов КА на графе G3 эти четыре сообщества преобразуются в 28 следующим образом. Внутри трех содержательных плотных сообществ происходят минимальные изменения. Так, внутри Сяалгоритм нашел одну вершину, менее связанную с остальными, для которой согласно опциям йе/Шт было выделено отдельное сообщество внутри исходного, остальные 40 вершин попали во второе внутреннее сообщество

Рис. 3. Выделенные алгоритмом Блонделя в графе 03 четыре сообщества

Рис. 4. Выделенные КА сообщества

для Ся. Сообщество С^ осталось совсем без изменений, а для были найдены свои три вершины, которые выделились в свои индивидуальные внутренние сообщества, аналогично ситуации с Ся, создав при этом еще и большой остаток - сообщество из 33 вершин.

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

В другом эго-графе G4 с тем же числом вершин, но с иной структурой (таблица 3) после применения к нему КА было выявлено 39 сообществ. При этом изначально на первом шаге так же были выделены 4 больших группы (здесь | | = 50, |СЛ | = 44, | Ся^ = 44, \СЛ | = 20),внутри которых уже на втором шаге произведен поиск пересекающихся вложенных сообществ. При этом СЙ2 и Ся не претерпели изменений, но внутри Ся^ и Ся выделено 28 и 7 вложенных сообществ с пересечениями различных размеров соответственно.

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

хотя в ряде случаев показатель Qgvl был выше, чем для КА (таблица 4). В том числе, менее информативными были признаны результаты алгоритмов, взятых за составляющие КА, а, например, для GN разбиение оказалось частично излишним.

Заключение

Таким образом, разработан и представлен новый алгоритм поиска эффективного выделения неявных сообществ в графах взаимодействующих объектов различной природы, названный авторами «комбинированным алгоритмом» (КА). На наборе графов из разных отраслей, взятых из открытых источников, применены КА и широко известные классические алгоритмы. Изучены полученные разбиения графов на сообщества. Сравнение значения модулярности Qgv на результирующих разбиениях и меры подобия со между результатом КА и остальных алгоритмов показали, что в большинстве случаев имеются значительные различия в получаемых наборах сообществ. Помимо этого, для набора графов из социальной сети проведен содержательный анализ полученных разбиений, который показал, что результат КА при выбранных на данном наборе опциях более точно отражает группы близких связей между аккаунтами.

Предложенный алгоритм запускался на графах при разных параметрах. В ходе тестирования было обнаружено, что использование параметров ограничений а и Р на данных графах не повышает качества результирующего разбиения, так как результат, отличный от результатов применения алгоритма Блонделя и КА (при отсутствии ограничений) достигался лишь в случае а > 0 и р = 0. Дальнейшее исследование проводилось при значениях параметров а = 0 и Р = 1. Таким образом, метод CPM запускался на всех полученных алгоритмом Блонделя сообществах.

Проведенное исследование показало, что наиболее подходящие значения дополнительных параметров для социальных сетей — это i2c/None (в рамках обозначений КА). Вместе с тем нельзя утверждать, что для графов взаимодействующих объектов иной природы эта комбинация будет эффективнее остальных. Поэтому авторы считают целесообразными дальнейшие исследования на тему конструирования и реализации параметрических алгоритмов выделения сообществ, а также возможного использования автоматизированных средств по подбору подходящих опций и значений параметров, исходя из топологических особенностей и исходной природы графов.

Литература

1. Guo Y., Xu K. An improved algorithm for finding community structure in networks with an application to IPv6 backbone network // Frontiers of Computer Science in China. 2007. Vol. 1. P. 459-467.

2. Wu F., Chen L., Wang J., Alhajj R. Biomolecular networks and human diseases // BioMed Research International. 2014. Vol. 2014. Р. 1-2.

3. White H.C., Boorman S.A., Breiger R.L. Social structure from multiple networks. I. Blockmodels of roles and positions // American Journal of Sociology. 1976. Vol. 81. No. 4. Р. 730-780.

4. Graph structure in the Web / A.Z. Broder [et al.] // Computer Networks. 2000. Vol. 33. No. 1-6. P. 309-320.

5. Ahuja M.S., Singh J., Neha. Practical applications of community detection // International Journal of Advanced Research in Computer Science and Software Engineering. 2016. Vol. 6. No. 4. P. 412-415.

6. Pennacchioli D., Coscia M., Pedreschi D. Overlap versus partition: Marketing classification and customer profiling in complex networks of products // Proceedings of 2014 IEEE 30th International Conference on Data Engineering Workshops (ICDEW 2014). Chicago,

31 March - 4 April 2014. P. 103-110.

7. Newman M., Girvan M. Finding and evaluating community structure in networks // Physical Review E. 2004. Vol. 69. No. 2. P. 1-15.

8. Girvan M., Newman M. Community structure in social and biological networks // Proceedings of the National Academy of Sciences. 2002. Vol. 99. No. 12. P. 7821-7826.

9. Newman M. Networks: An introduction. Oxford: Oxford University Press, 2010.

10. Newman M. Modularity and community structure in networks // Proceedings of the National Academy of Sciences. 2006. Vol. 103. No. 23. P. 8577-8582.

11. Blondel V.D., Guillaume J.L., Lambiotte R., Lefebvre E. Fast unfolding of communities in large networks // Journal of Statistical Mechanics: Theory and Experiment. 2008. No. 10. P10008.

12. Fortunato S. Community detection in graphs // Physics Reports. 2010. Vol. 486. No. 3-5. P. 75-174.

13. Shen H.W., Cheng X.Q., Cai K., Hu M.B. Detect overlapping and hierarchical community structure in networks // Physica A: Statistical Mechanics and its Applications. 2009. Vol. 388. No. 8. P. 1706-1712.

14. Palla G., De^nyi I., Farkas I., Vicsek T. Uncovering the overlapping community structure of complex networks in nature and society // Nature. 2005. Vol. 435. No. 7043. P. 814-818.

15. Palla G., Abel D., Farkas I.J., Pollner P, Derenyi I., Vicsek T. (2009) fc-clique percolation and clustering / G. Palla [et al.] // Handbook of Large-scale Random Networks. Springer. 2009. Ch. 9. P. 369-408.

16. Fortunato S., Barthelemy M. Resolution limit in community detection // Proceedings of the National Academy of Sciences. 2006. Vol. 104. No. 1. P. 36-41.

17. Орлов А.О., Чеповский А.А. Особенности алгоритма Блонделя при выявлении сообществ в графе социальной сети / Труды Международной научной конференции Московского физико-технического института (государственного университета) и Института физико-технической информатики (SCVRT1516). М., Протвино: Институт физико-технической информатики. 2016. C. 124-129.

18. Clauset A., Newman M., Moore C. Finding community structure in very large networks // Physical Review. 2004. E 70. 066111.

19. Gregory S. An algorithm to find overlapping community structure in networks // Proceedings of Knowledge Discovery in Databases: PKDD 2007: 11th European Conference on Principles and Practice of Knowledge Discovery in Databases, Warsaw, Poland, 17-21 September 2007. Berlin, Heidelberg: Springer, 2007, Vol. 4702. P. 91-102.

20. Collins L.M., Dent C.W. Omega: A general formulation of the Rand index of cluster recovery suitable for non-disjoint solutions // Multivariate Behavioral Research. 1988. Vol. 23. No. 2. P. 231-242.

21. Gregory S. Fuzzy overlapping communities in networks // Journal of Statistical Mechanics: Theory and Experiment. 2011. Vol. 2011. No. 02. P. 1-18.

Combined method to detect communities in graphs of interacting objects1

Sofiya Y. Lobanova

BSc Program Student

Tikhonov Moscow Institute of Electronics and Mathematics National Research University Higher School of Economics Address: 20, Myasnitskaya Street, Moscow, 101000, Russian Federation E-mail: s.lobanova@usabilitylab.net

Alexander A. Chepovskiy

Associate Professor, School of Applied Mathematics Tikhonov Moscow Institute of Electronics and Mathematics National Research University Higher School of Economics Address: 20, Myasnitskaya Street, Moscow, 101000, Russian Federation E-mail: aachepovsky@hse.ru

Abstract

In this paper, we propose and implement a method for detecting intersecting and nested communities in graphs of interacting objects of different natures. For this, two classical algorithms are taken: a hierarchical agglomerate and one based on the search for ¿-cliques. The combined algorithm presented is based on their consistent application. In addition, parametric options are developed that are responsible for actions with communities whose sizes are smaller than the given k, and also with single vertices. Varying these parameters allows us to take into account differences in the topology of the original graph and thus to correct the algorithm.

The testing was carried out on real data, including on a group of graphs of a social network, and the qualitative content of the resulting partition was investigated. To assess the differences between the integrated method and the classical algorithms of community detections, a common measure of similarity was used. As a result, it is clearly shown that the resulting partitions are significantly different. We found that for the approach proposed in the article the index of the numerical characteristic of the partitioning accuracy, modularity, can be lower than the corresponding value for other approaches. At the same time, the result of an integrated method is often more informative due to intersections and nested community structure.

A visualization of the partition obtained for one of the examples by an integrated method at the first and last steps is presented. Along with the successfully found set of parameters of the integrated method for small communities and cut off vertices in the case of social networks, some shortcomings of the proposed model are noted. Proposals are made to develop this approach by using a set of parametric algorithms.

1 This work was supported by the Russian Foundation for Basic Research

Key words: graph, graph analysis, community detection, graph structure, social network analysis, big data.

Citation: Lobanova S.Y., Chepovskiy A.A. (2017) Combined method to detect communities in graphs of interacting objects. Business Informatics, no. 4 (42), pp. 64-73. DOI: 10.17323/1998-0663.2017.4.64.73.

References

1. Guo Y., Xu K. (2007) An improved algorithm for finding community structure in networks with an application to IPv6 backbone network. Frontiers of Computer Science in China, vol. 1, pp. 459—467.

2. Wu F, Chen L., Wang J., Alhajj R. (2014) Biomolecular networks and human diseases. BioMedResearch International, vol. 2014, pp. 1—2.

3. White H.C., Boorman S.A., Breiger R.L. (1976) Social structure from multiple networks. I. Blockmodels of roles and positions. American Journal of Sociology, vol. 81, no. 4, pp. 730-780.

4. Broder A.Z., Kumar S.R., Maghoul F., Raghavan P., Rajagopalan S., Stata R., Tomkins A., Wiener J. (2000) Graph structure in the Web. Computer Networks, vol. 33, no. 1-6, pp. 309-320.

5. Ahuja M.S., Singh J., Neha (2016) Practical applications of community detection. International Journal of Advanced Research in Computer Science and Software Engineering, vol. 6, no. 4, pp. 412-415.

6. Pennacchioli D., Coscia M., Pedreschi D. (2014) Overlap versus partition: Marketing classification and customer profiling in complex networks of products. Proceedings of 2014IEEE 30th International Conference on Data Engineering Workshops (ICDEW2014). Chicago, 31 March — 4April 2014, pp. 103-110.

7. Newman M., Girvan M. (2004) Finding and evaluating community structure in networks. Physical Review E, vol. 69, no. 2, pp. 1-15.

8. Girvan M., Newman M. (2002) Community structure in social and biological networks. Proceedings of the National Academy of Sciences, vol. 99, no. 12, pp. 7821-7826.

9. Newman M. (2010) Networks: An introduction. Oxford: Oxford University Press.

10. Newman M. (2006) Modularity and community structure in networks. Proceedings of the National Academy of Sciences, vol. 103, no. 23, pp. 8577-8582.

11. Blondel V.D., Guillaume J.L., Lambiotte R., Lefebvre E. (2008) Fast unfolding of communities in large networks. Journal of Statistical Mechanics: Theory and Experiment, no. 10, P10008.

12. Fortunato S. (2010) Community detection in graphs. Physics Reports, vol. 486, no. 3-5, pp. 75-174.

13. Shen H.W., Cheng X.Q., Cai K., Hu M.B. (2009) Detect overlapping and hierarchical community structure in networks. Physica A: Statistical Mechanics and its Applications, vol. 388, no. 8, pp. 1706-1712.

14. Palla G., Derényi I., Farkas I., Vicsek T. (2005) Uncovering the overlapping community structure of complex networks in nature and society Nature, vol. 435, no. 7043, pp. 814-818.

15. Palla G., Ábel D., Farkas I.J., Pollner P., Derényi I., Vicsek T. (2009) k-clique percolation and clustering. Handbook oflarge-scale Random Networks, Springer, ch. 9, pp. 369-408.

16. Fortunato S., Barthelemy M. (2006) Resolution limit in community detection // Proceedings of the National Academy of Sciences, vol. 104, no. 1, pp. 36-41.

17. Orlov AO., Chepovskiy A.A. (2016) Osobennosti algoritma Blondelya pri vyyavlenii soobshchestv v grafe sotsial'noy seti [Features of Blondel algorithm to reveal communities in social networks]. Proceedings of International Scientific Conference of Moscow Institute of Physics and Techniques and Institute of Physical and Technical Information (SCVRT1516). Moscow, Protvino: Institute of Physical and Technical Information, pp. 124-129 (in Russian).

18. Clauset A., Newman M., Moore C. (2004) Finding community structure in very large networks. Physical Review, E 70. 066111.

19. Gregory S. (2007) An algorithm to find overlapping community structure in networks. Proceedings of Knowledge Discovery in Databases: PKDD 2007: 11th European Conference on Principles and Practice of Knowledge Discovery in Databases, Warsaw, Poland, 17—21 September 2007. Berlin, Heidelberg: Springer, 2007, Vol. 4702. P. 91-102.

20. Collins L.M., Dent C.W. (1988) Omega: A general formulation of the Rand index of cluster recovery suitable for non-disjoint solutions. Multivariate Behavioral Research, vol. 23, no. 2, pp. 231-242.

21. Gregory S. (2011) Fuzzy overlapping communities in networks. Journal of Statistical Mechanics: Theory and Experiment, vol. 2011, no. 02, pp. 1-18.

BUSINESS INFORMATICS No. 4(42) - 2017