Онлайн-доступ к журналу: http: / / mathizv.isu.ru
Серия «Математика»
2018. Т. 25. С. 63-78
УДК 519.176:519.178 MSG 05С70
DOI https://doi.org/10.26516/1997-7670.2018.25.63
Кластеризация графов на основе оценок изменения модулярности *
Н. Н. Мартынов
Бурятский государственный университет, Улан-Удэ, Российская Федерация
О. В. Хандарова
Институт монголоведения, буддологии и тибетологии СО РАН, Улан-Удэ, Российская Федерация
Ф. В. Хандаров
Бурятский государственный университет, Улан-Удэ, Российская Федерация
Аннотация. Кластеризация графов является одной из постоянно актуальных задач анализа данных. Существуют различные постановки данной задачи. Рассматривается задача поиска разбиения множества вершин на непересекающиеся подмножества таким образом, чтобы плотность связей между вершинами одного подмножества была выше, чем между вершинами различных подмножеств. Для решения данной задачи применяются различные подходы, многие из которых используют такую апостериорную оценку качества кластеризации, как модулярность. Функционал модулярности, принимая значение из [-1, 1], позволяет в формальном виде оценить качество кластеризации (разбиения на подмножества).
Предложен подход, позволяющий вместо расчета модулярности пользоваться менее вычислительно сложной оценкой ее изменения при операции объединения кластеров. Для разных видов графов сформулирован ряд теорем, показывающих возможность применения предлагаемой оценки вместо прямого вычисления модулярности.
Описана жадная алгоритмическая схема кластеризации, а также AMVE (Algorithm based on Modularity Variation Estimation) — простейший жадный алгоритм на ее основе. На тестовом проблемсете произведен сравнительный анализ AMVE с эвристическими алгоритмами кластеризации, реализованными в современных пакетах анализа графов: демонстрируется сравнительное преимущество AMVE как по скорости, так и по качеству кластеризации.
Также приводятся сведения об использовании разработанного программного обеспечения для анализа данных в социологии и литературоведении. В этих исследованиях рассматривались графы, построенные на данных социальных сетей (в качестве ребер использовалось отношение «дружбы» в социальной сети между
пользователями). Продемонстрировано небольшое превосходство АМУЕ по качеству кластеризации по сравнению с известными алгоритмами Ьоиуат и \Valktrap.
Ключевые слова: кластеризация графов, модулярность, выделение сообществ, анализ социальных сетей.
1. Введение
Экстремальные задачи теории графов, допускающие численное решение, возникают повсеместно в социологии, маркетинге, информационном поиске, логистике и иных областях. Одной из наиболее востребованных задач анализа графов является кластеризация множества вершин — выделение таких непересекающихся подмножеств, в каждом из которых вершины связаны между собой более чем с вершинами вне данного подмножества.
Кластеризация графов (выделение сообществ в графах) зачастую основывается на вычислении тех или иных критериев оптимальности разбиения графа на подмножества. Одной из таких наиболее широко используемых оценок качества кластеризации является модулярность [5; 11]. Нахождение оптимального значения функционала модулярности является КР-полной задачей и получение точного ее решения перебором на рабочей станции достаточно затратно. Так, например, в инструкции к процедуре с1и81ег_ор1лта1 для поиска точного решения в пакете 1Сгар]1 для среды И отмечается, что графы до 50 вершин будут обрабатываться уверенно, до пары сотен вершин — также могут быть посильны [3]. Для практики такие размерности явно недостаточны, что влечет создание большого числа эвристических алгоритмов, использующих модулярность лишь в качестве промежуточной или итоговой оценки качества полученного разбиения. Такие алгоритмы могут как реализовывать общие комбинаторные эвристики (например, эволюционные алгоритмы [10; 12]), так и основываться на более специфических характеристиках и процедурах обработки графов (например, механизмы поиска потоков в сетях [4] или анализ дендрограмм [14] и др. [5;8;9]). Вместе с тем, как очевидно, повысить эффективность с сохранением точности возможно при организации расчета альтернативных функционалу модулярности оценок, например, совпадающих с ним по знаку, или рассчитывающих лишь изменение функционала при перемещении вершин между кластерами. В настоящей работе описывается общая жадная алгоритмическая схема, эксплуатирующая гипотетические оценки изменения некоторого функционала качества; приводятся теоретически обоснованные оценки для функционала модулярности, пригодные
* Работа выполнена при финансовой поддержке РФФИ, гранты 17-06-00340 А, 18-312-00186 мол_а
для использования в описанной схеме; проводится эмпирический анализ производительности данного алгоритма в сравнении с рядом иных известных средств.
2. Постановка задачи кластеризации
Рассмотрим граф G = (V,E), где V — множество вершин, Е— множество ребер. Пусть С — множество всех непустых подмножеств множества V. Разбиением на кластеры множества V вершин графа G будем называть такое отображение <р : V —> С, для которого выполняется
Е Ы = {Cj}j=Tk С С, Vi,j (1 < i,j < k) : Сг П С3 = 0, V = U Сг.
г=1
Элементы множества значений Е (ip) отображения ip будем называть кластерами. Множество всех (р, возможных для графа G, будем обозначать, как Ф = Фд. Пусть задана некоторая оценка разбиения Q (<р) € [R, тогда задача кластеризации множества вершин V графа G может быть записана, как экстремальная:
<р* = arg max Q {ф) (2.1)
ip£ Ф
Для построения жадной алгоритмической схемы решения задачи 2.1, определяющей правила получения из текущего разбиения <рь нового разбиения (pk+i такого, что Q ((pk) < Q (tpk+i)-, будем в некотором порядке Р = (uo,U\, ...,u\v\) перебирать вершины множества V. Для очередной вершины v,i € Р. станем поочередно рассматривать все кластеры Cj € Е (tpk), кроме того, которому принадлежит в настоящий момент. Выберем тот из них, чтобы при перемещении в него получить новое разбиение , при котором AQ (<£>&, <£>fc+i) = Q (<fk+i) ~ Q (<Pk) было бы максимальным. Поскольку <p>k+i получено перемещением вершины в кластер , будем обозначать AQ (ip^, (pk+i) далее, как AQ(u,Cj), и можем записать локальную задачу поиска кластера для перемещения в виде:
Ciocai = arg max AQ (и, Cj) (2.2)
CjSE^fc)
Алгоритмическая схема решения задачи 2.1, таким образом, принимает следующий вид:
1) Для V определяем начальное разбиение <ро = START (V).
2) Определяем порядок Р = Р (V), г = 0, к = 0.
3) Пытаемся переместить щ G Р в кластер С к, определяемый решением задачи 2.2 относительно если попытка перемещения удалась, то получаем новое разбиение tpk+i и увеличиваем к = к + 1.
4) г = г + 1, если г < \У\ — шаг 3, иначе — шаг 5.
5) Если к > 0, то — шаг 2, иначе — шаг 6.
6) Выход.
В качестве оценки С,) будем рассматривать модулярность, которая в текущих обозначениях может быть записана в виде 2.3 для невзвешен-ного графа, и в виде 2.4 для взвешенного.
д а)=2Щ ^ О4*" аШ\) уз)' (2,з)
<2™ (С,<р,а) = ± Е - аШ) (2-4)
v
В случае, если граф ориентированный, формулы 2.3, 2.4 видоизменяются, соответственно, в виде 2.5, 2.6
1 ^ ( . d°utdf ij
Q (G, <p, a) = щ ( ¿ij ~ аЛ\щ- ) a vJ')' M
1 _ / gOUtgin\
(G,<p,a) = — £ [A™ - a^^J (2.6)
В формулах 2.3, 2.4, 2.5, 2.6 используются следующие обозначения: Afj — вес ребра от вершины i к вершине j (суммарный вес в случае кратных ребер), Aij — количество ребер от вершины i к вершине j, \Е\ — мощность множества всех ребер графа, W — суммарный вес всех ребер графа, d°ut и df1 — полустепени исхода и захода вершины i соответственно, s°ut и sf1 — суммарный вес всех исходящих и вхо-
й • / A /li^C^) = f{vj)
дящих реоер вершины i соответственно, cr(Vi,Vj) = < г, ) ( / ) (•
Параметр а в формуле вводится для регулирования количества кластеров в получаемом разбиении и обычно берется из интервала [0, 2] [5; 7; 11]. Далее в описании алгоритма AMVE описан один из возможных способов обращения с данным параметром.
При такой оценке Q очевидно, что целевой кластер Ск на шаге 3 алгоритмической схемы имеет смысл искать лишь среди тех Cj € Е (ipk), в которых есть вершины, смежные щ. Обозначим множество таких кластеров, как N(ui,ipk) Q Е (ipk), и станем называть его множеством кластеров, соседних вершине щ.
Способы определения начального разбиения ipo = START (V) и порядка перебора перемещаемых вершин Р = Р (V), как очевидно, могут быть определены различными способами. В настоящей работе мы брали
сро таким, чтобы каждая вершина попадала в отдельное подмножество, а в качестве Р = Р (V) брали случайную перестановку множества V.
Наиболее вычислительно сложным этапом описанной алгоритмической схемы является пересчет оценки <5, необходимый для вычисления АС,), на шаге 3 при переборе возможных кластеров. Далее в настоящей работе описан способ расчета альтернативных оценок Д(5, позволяющий значительно сократить эти вычисления.
3. Описание оценки АСЦ
Опишем в данном разделе вводимую оценку АСЦ, сформулировав ряд теорем для ориентированного и неориентированного, взвешенного и невзвешенного графов. Для этого уточним некоторые обозначения:
Е ) = | С? С® } - множество кла-
стеров для текущего разбиения ,
Е (^1)) = С?+1), • • •, ..., } множество, по-
лученное из Е объединением пары кластеров = С^
Иг = ^2 с^- — количество всех ребер, инцедентных вершине г,
= Е <Щ"'г — количество всех ребер, исходящих из вершины г, Щп = Е ^Т — количество всех ребер, входящих в вершину г, Si = ^2 — сумма весов всех ребер, инцедентных вершине г,
= Е 8Т'г ~ сумма весов всех ребер, исходящих из вершины г, п = Е «Г - сумма весов ребер, входящих в вершину г, е(Сд,Сь) = Е — количество ребер между Сд и Сь,
г&Сд
еа (Сд, Си) = Е {Ац + А^) — количество ребер из Сд в Сн,
г&Сд
IV (Сд, Си) = Е суммарный вес ребер между Сд и Сь,
г&Сд
и]о (Сд, Сь) = Е + А^ — суммарный вес всех ребер из Сд в С^.
г&Сд
Далее приводится полное доказательство теоремы 1, остальные теоремы доказываются похожим образом, поэтому их доказательства изложены менее подробно.
Теорема 1. Пусть оценка С} разбиения невзвешенного неориентированного графа задана в виде 2.3, тогда при
__Ol
АQ (Cg, Сн, а) = 2е(Сд, Ch) - r^DgDh > О
\Е\
выполняется <5 (С, ,а) < <5 (С, , а).
Доказательство. Благодаря функции а в 2.3 в суммировании участвуют только те пары вершин, которые лежат в одном кластере, потому можно просуммировать С,) по каждому кластеру отдельно:
1 ^ ( . ¿г^
^ = Е Е К--«
2\Е\ ^ ^ V J 2\Е\ 1 1 h=n,jech 4 1 1
2\Е\^\ ^ "13 2 \Е\ S '
1 1 h=1 \i,jech 1 1 i,jech J
где k — количество кластеров. Обозначив Lh = An ~ суммарное
iech
количество петель у вершин в кластере Ch, получим
(k к к \ ¡¡Еим-Е^-щЕ £ •
/1=1 /1=1 1 1 h=li,j&Ch J
Отметим, что учетом петель в графе можно пренебречь, поскольку наличие петель у некоторой вершины не влияет на ее принадлежность
к тому или иному кластеру. Обозначая didj = Е di \ dj =
i,jech iech \jech J
( E di] = Dh2, получим Q = ф^ (2 £ \Ег\ - Z U - ^ £ A2 VieC^ J \ i=l г=1 i=l
Поскольку множитель является константой для одного и того же графа, то Q = 2 \Е\ Q и arg maxQ = argmaxQ.
Пусть Cg = C^,Ch = сЦ\сдн = C(at+1) = Cg\JCh, тогда имея \Egh\ = \Eg\ + \Eh\ + e(Cg,Ch), Dgh2 = Dg2 + Dh_2_+ 2 DgDh И Lgh = Lg + Lh, и выполняя AQ (Cg, Ch, a) = Q (G, ф,а) —Q (G, Lp, а), получим: AQ (Cg,Ch, a) = 2e(Cg,Ch) - jt\DäDh.
Таким образом, при AQ(Cg,Ch,a) > 0 получаем Q (С, t£>(i+1), а) и, соответственно, Q [С, ,а) < Q [С, , а). Теорема доказана.
□
Теорема 2. Пусть оценка <3м> разбиения взвешенного неориентированного графа задается в виде 2-4, тогда при
__(У
Д<ЭШ (С9, Сн, а) = 2V) (Сд,Сн) - — ЗД > О
выполняется С^и, (С, (р^, а) < С^и, (С, , а).
Доказательство. Просуммируем С^ы по каждому кластеру отдельно
/1=1 г,]еСн
/1=1 уьз&Си г,]еСн
= Т. «л.
у /1=1 /1=1 /1=1 адес^
где^= Е Е Щ.
г&Сн ¿¿еУг
Выражая Е SiSj = Е ^ Е ^ = Е ^ = ¿>/Л получим
г^&Сн г€С\ \jGCh ) \геС\ )
Яа, = (2 Е ^ - Е Ч ~ Ш Е и = 2 Е ^ - Е Ч ~
\ г=1 г=1 г=1 / г=1 г=1
к
^ Е с учетом ШдН = УТд+УГн+ырд, Сн), Бди2 = ЬаН = Ьа + получим
__(У
Д<ЭШ (Сд,Сн, а) = 2V, (Сд, Сн) -
Таким образом, при АС^ы (Сд,Сь,а) > 0 получаем (С,<р^\а) < (Зг,, (С, , а) и, соответственно, (С, (р^ ,а) < (¿и, (С, , а). Теорема доказана. □
Теорема 3. Пусть оценка С}0 разбиения невзвешенного ориентированного графа задана в виде 2.5, тогда при
Лдо (Сд,Сн, а) = еа (Сд, Сн) - щ (^Г^Г + > О
выполняется С}0 (С, <р^ ,а) < С}0 (С, , а).
Доказательство. Просуммируем Qa по каждому кластеру отдельно
1 А ^ / d?utdf\
1 lh=li,j€Ch\ 1 1 /
= щЕ Е^-рЕ
1 1 h= 1 \i,jech 1 1 i,jech
= щ(Е^|-ЩЕ Е
1 1 \h= 1 1 '/^lijec,,
Выражая Е d?atdf = ( Е dfat ) ( Е С ) = D<htDh > получим
Qo = щ (^Е 1^1 " щ Z D°hutDг) п Q0 = 1^1 " щ t ГС учетом = + ^^ = D™ + Щ*D™ + {DhatDt + D7t]jih) получим
AQ0 (Сд, Ch, а) = eQ (Сд, Ch) - щ [D^D™ + D°gutD^) .
Таким образом, при AQ0(Cg,Ch,a) > 0 получаем
и, соответственно, Qa (G, , а) < Qo (С, tp(t+l">, а). □
Теорема 4. Пусть оценка Qow разбиения взвешенного ориентированного графа задана в виде 2.6, тогда при
AQow (Cg, Ch, а) = w0 (Cg,Ch) - ^ {S^Sp + S^Sf?) > 0
выполняется Qow (G, <p^, a) < Qow (G, t£>(i+1), a).
Доказательство. Просуммируем Qow по каждому кластеру отдельно
-I k / o-ui „m \
h=li,j&Ch \ J
w ^ \ ^ ' 13 w
h=i \t,jech
k
a
E^-wE E
out in
^ "i -ь
h=li,j£Ch
Выражая £ з^з*? = ( £ ] ( Е «Г ) = получим
г,з&ск \гес\ ) \ieCh )
/к к \ _ к к
Яаш = Е ^/Г^Г ) И = Е ^ - # Е ^Г^Г-
С учетом И^ = + иъ + ги0(Ся, Сл) и Б^Б^ = Б™1 Б™ + ¿^¿Г +
(3оЫ3гп + получим
^Яош (Са, Си, а) = Ыо (Сд, Си) - — (Б™*Б™ + Б°иЬБ™) . Таким образом, при АСаои> (Сд,Сь,а) > 0 получаем
и, соответственно, (¡>0уо [О, , а) < (¡>0уо [О, , а). □
4. Конкретизация алгоритма
Зададим некоторую процедуру получения нового графа С как «сжатие» графа С согласно некоторому разбиению (р:
С = СОЬЬАРБЕ (С, ф).
Будем считать, что в данной процедуре каждому кластеру разметки <р графа О соответствует единственная вершина в графе С. Ребрам внутри кластеров графа С, соответствуют кратные петли в графе С, а ребрам между вершинами из разных кластеров графа О соответствуют кратные ребра между вершинами графа С. замечание.
Замечание 1. Кратные ребра между каждой парой вершин С (с учетом ориентации ребер в ориентированных графах) можно заменить на единственное ребро, вес которого равен сумме весов этих кратных ребер.
Константу а из формулы вычисления модулярности, можно оставить фиксированной или предложить какой-либо способ её адаптации. В настоящей работе для а запущен простой перебор по сетке значений [0.8,1.2] с шагом 0.2. _
Зададим некоторую метрику q1 упрощающую работу с АС}, как:
П (-,! Г пЛ = / , если щ^С,
^ А<2(щ,С,\щ,а) , если щ € С, '
Конкретизируем алгоритмическую схему с учетом вышесказанного.
1) Задаем граф = t = 0.
2) Строим граф на основе графа С^
а) Задаем начальное разбиение ip^ = START (V№) и к = 0
б) Задаем а = ао.
в) Определяем порядок обхода вершин Р^ = Р (V^), г = 0.
г) Пытаемся переместить и^ € Р^:
- Перебором находим С^ = arg max а [и^\Сп,а].
c^WW) У J
- Если q ф 0, строим новое разбиение
— Если q > 0, перемещаем uf^ в существующий кластер С^, и к = к + 1;
— Если q o^J < 0, создаём новый кластер С^
и перемещаем в него uf\ и к = к + 1.
- г = г + 1, если г < | — шаг 2.4.1, иначе — шаг 2.5.
д) Если к > 0 (перемещения на шаге 2.4 были), то — шаг 2.3, иначе — шаг 2.6.
е) а = а + stepa, если а > атах, то шаг 2.7, иначе - шаг 2.2. ж) «Сжимаем» граф G®: G^ = COLLAPSE (Ь^,^)-
3) Если |F(i+1) | = | — шаг 4, иначе — t = t + 1 и — шаг 2.
4) Выход.
Описанный алгоритм, использующий AQ, позволяет повысить эффективность определения целевого кластера для перемещения в него вершины по сравнению с полным расчетом модулярности Q с О (dn2) до О (dlogd), где d — степень перемещаемой вершины, п — число вершин в графе. Далее в статье будем обозначать разработанный алгоритм, как AMVE (Algorithm based on Modularity Variation Estimation).
5. Сравнительный анализ
AMVE сравнивался с широко употребляемыми алгоритмами Louvain [2], Walktrap [13] и Label Propagation [15], для которых использовалась реализация из библиотеки iGraph пакета R [3]. AMVE реализован в виде программного комплекса на С++.
Тестирование производилось на наборе из 100 неориентированных невзвешенных графов, сгенерированных так, как описано далее. После задания случайного числа вершин 200 < п < 1000 графа и случайного разбиения множества вершин на подмножества размерности 3 < с < |_п/4_|, генерировались ребра с вероятностью р € [0.7,0.9] — между каждой парой вершин внутри одного кластера и р € [0.1,0.3] — между каждой парой вершин из разных кластеров. Таким образом, для каждого графа была известна «базовая» структура кластеров (в общем случае — неоптимальная, но, в силу способа генерации, уже достаточно приемлемая) и соответствующее «базовое» значение модулярности.
В таблице 1 показаны результаты кластеризации тестовых примеров. Видно, что AMVE по достигаемому значению Q (качеству кластеризации) немного превосходит Walktrap и Louvain, тогда как Label Propagation показывает результаты значительно хуже. Измерений точного времени работы не проводилось, т.к. алгоритмы реализованы в составе пакетных библиотек, но, можно утверждать, что AMVE и Louvain требуется примерно одинаковое время на кластеризацию, немного медленнее работает Walktrap, и с еще большим отставанием Label Propagation.
Таблица 1
Результаты сравнительного тестирования алгоритмов кластеризации
Алгоритмы кластеризации AMVE LP Louvain Walktrap
Количество примеров, на которых показан результат лучше конкурентов 41 0 38 20
Количество примеров, на которых достигнутое значение больше или равно «базового» 70 1 54 42
Дальнейшие улучшения алгоритма могут касаться способов генерации начального разбиения, порядка обхода вершин, способа адаптации параметра а. Как очевидно, алгоритм может быть достаточно эффективно распараллелен (в частности параллельная реализация напрашивается на шаге 2.4.1 — при независимом переборе целевых кластеров для перемещения вершины). Определенный интерес представляет также использование предложенных оценок в эволюционных схемах решения экстремальных задач (например, в операторах скрещивания и/или мутации в генетическом алгоритме). В любом случае перспективность подхода кажется достаточно явной в свете результатов тестирования описанной простейшей реализации АМУЕ.
6. Решение прикладных задач
Разработанное программное обеспечение использовалось для анализа данных в социологии и литературоведении. Исследовались графы, построенные на данных социальных сетей (в качестве ребер использовалось отношение «дружбы» в социальной сети между пользователями).
В таблице 2 приведены значение модулярности / количество кластеров при кластеризации с помощью алгоритмов АМУЕ, \Valktrap и Ьоиуат.
Таблица 2
Результаты работы алгоритмов кластеризации
Граф AMVE Walktrap Louvain
Писатели Бурятии в сети РасеЬоок \V\ = 49, \Е\ = 196 0.2/15 0.119/22 0.189/16
Редакторы российских литературных журналов И =71, \Е\ = 604 0.223/5 0.146/8 0.218/4
Буддисты соцсети VK \V\ = 84927, \Е\ = 370875 0.746/ 4570 0.664/ 12190 0.738/ 4572
Подписчики паблика соцсети VK «Хамбо-лама Д. Д. Итигэлов» [1] \V\ = 24190 \Е\ = 85539 0.721/ 296 0.632/ 1492 0.709 293
На графе писателей Бурятии в РасеЬоок АМУЕ достигает глобального максимума модулярности, что улучшает результаты работы [6], в которой используется версия алгоритма с фиксированным а = 1.
АМУЕ и Ьоиуат демонстрируют похожую производительность с небольшим преимуществом АМУЕ: значения модулярности различаются на сотые или тысячные доли, количества выявленных кластеров отличается на несколько единиц даже на графе порядка 8* 105 вершин.
7. Заключение
В работе описана жадная алгоритмическая схема кластеризации графов, основанная на использовании модулярности — известного апостериорного критерия качества кластеризации. Предложен и теоретически обоснован эффективный способ расчета оценок изменения модулярности при объединении кластеров. Описан АМУЕ (Algorithm based on Modularity Variation Estimation) — простейший алгоритм на основе предложенных алгоритмической схемы и способа расчета оценок. Проведен сравнительный анализ АМУЕ с рядом используемых на практике алгоритмов кластеризации, показано преимущество АМУЕ, как при
тестировании, так и при решении прикладных задач. Намечены также пути дальнейшего развития подхода.
Список литературы
1. Бадмацыренов Т. В., Скворцов М. В., Хандаров Ф. В. Буддийские цифровые практики трансцендентности: VK-сообщество "Хамбо Лама Даши-Доржо Итигэлов"// Мониторинг общественного мнения: экономические и социальные перемены. 2018. № 2. С. 309-332. https://doi.Org/10.14515/monitoring.2018.2.18
2. Писатели Бурятии в сети Facebook: литературные репутации в виртуальном пространстве / О. В. Хандарова, Ф. В. Хандаров, Н. Н. Мартынов, М. В. Скворцов // Медиафилософия. 2017. Т. 13. С. 212-226.
3. Fast unfolding ol communities in large networks / V. D. Blondel [et al.] //Journal ol statistical mechanics: theory and experiment. 2008. Vol. 2008, N 10. P. 10008. https://doi.org/10.1088/1742-5468/2008/10/P10008
4. Csardi G., Nepusz T. The igraph software package for complex network research //InterJournal, Complex Systems. 2006. Vol. 1695, N 5. P. 1-9.
5. Flake G. W., Lawrence S., Giles C. L. Efficient identification ol web communities //Proceedings ol the sixth ACM SIGKDD international conference on Knowledge discovery and data mining. ACM, 2000. P. 150-160. https://doi.org/10.1145/347090.347121
6. Fortunato S. Community detection in graphs //Physics reports. 2010. Vol. 486, N. 3-5. P. 75-174. https://doi.Org/10.1016/j.physrep.2009.ll.002
7. Le Martelot E., Hankin C. Fast multi-scale detection of relevant communities in large-scale networks //The Computer Journal. 2013. Vol. 56, N 9. P. 1136-1150. https://doi.org/10.1093/comjnl/bxt002
8. Community structure in large networks: Natural cluster sizes and the absence of large well-defined clusters / J. Leskovec, K. J. Lang, A. Dasgupta, M. W. Mahoney //Internet Mathematics. 2009. Vol. 6. N 1. P. 29-123. https://doi.org/10.1080/15427951.2009.10129177
9. Leskovec J., Lang K. J., Mahoney M. Empirical comparison of algorithms for network community detection //Proceedings of the 19th international conference on World wide web. ACM, 2010. P. 631-640. https://doi.org/10.1145/1772690.1772755
10. Maulik U., Bandyopadhyay S. Genetic algorithm-based clustering technique //Pattern recognition. 2000. Vol. 33, N 9. P. 1455-1465. https://doi. org/10.1016/S0031-3203(99) 00137-5
11. Newman M. E. J. Detecting community structure in networks //The European Physical Journal B. 2004. Vol. 38, N 2. P. 321-330. https://doi.org/10.1140/epjb/e2004-00124-y
12. Pizzuti C. A multiobjective genetic algorithm to find communities in complex networks // IEEE Transactions on Evolutionary Computation, 2012. Vol. 16, N 3. P. 418-430. https://doi.org/10.1109/TEVC.2011.2161090
13. Pons P., Latapy M. Computing communities in large networks using random walks // Journal of Graph Algorithms and Applications, 2006. Vol. 10, N 2. P. 191-218. https://doi.org/10.1007/11569596_31
14. Defining and identifying communities in networks / F. Radicchi, C. Castellano, F. Cecconi, V. Loreto, D. Parisi //Proceedings of the National Academy of Sciences. 2004. Vol. 101, N 9. P. 2658-2663. https://doi.org/10.1073/pnas.0400054101
15. Raghavan U. N., Albert R., Kumara S. Near linear time algorithm to detect community structures in large-scale networks //Physical review E. 2007. Vol. 76. N 3. P. 036106. https://doi.org/10.1103/PhysRevE.76.036106
16. Reichardt J., Bornholdt S. Statistical mechanics of community détection //Physical Review E. 2006. Vol. 74, N 1. P. 016110. https://doi.org/10.1103/PhysRevE.74.016110
Никита Николаевич Мартынов, магистрант, Институт математики и информатики, Бурятский государственный университет, Российская Федерация, 670000, Республика Бурятия, г. Улан-Удэ, ул. Смолина, 24а, тел.: (+7914)6368355 (e-mail: [email protected])
Ольга Владимировна Хандарова, кандидат филологических наук, младший научный сотрудник, Институт монголоведения, буддоло-гии и тибетологии СО РАН, Российская Федерация, 670047, Республика Бурятия, Улан-Удэ, ул. Сахьяновой, 6, тел.: (+7924)7731409 (e-mail: olga. khandarova@gmail. сот)
Фёдор Владимирович Хандаров, кандидат технических наук, старший преподаватель,Институт математики и информатики, Бурятский государственный университет, Российская Федерация, 670000, Республика Бурятия, г. Улан-Удэ, ул. Смолина, 24а, тел.: (+7924)4563112 (e-mail: f edor .khandarov@gmail. сот)
Поступила в редакцию 08.08.18
Graph Clustering Based on Modularity Variation Estimations
N. N. Martynov
Buryat State University, Ulan-Ude, Russian Federation О. V. Khandarova
Institute for Mongolian, Buddhist and Tibetan Studies SB RAS, Ulan-Ude, Russian Federation
F. V. Khandarov
Buryat State University, Ulan-Ude, Russian Federation
Abstract. Graph clustering is one of the constantly actual data analysis problems. There are various statements of this problem. In this paper we consider the statement of search for a partition of a graph vertices set into disjoint subsets. In such a way, that the density of connections between the vertices of one subset was higher than that between the vertices of different subsets.
There is a lot of various approaches, and many of them use such clS с1П cl posteriori estimate of clustering quality, as modularity. The modularity functional, taking the value from [-1, 1], allows us to formally evaluate the quality of partitioning into subsets. This paper deals with an approach, instead of calculating the modularity, using a less
computationally complex estimate of modularity change in the operation of clusters union.
Four theorems for different graph types are formulated, presenting the possibility of application of suggested estimate, instead of direct modularity calculations. A greedy algorithmic scheme and also AMVE (Algorithm based on Modularity Variation Estimation) — simple greedy algorithm based on the scheme are proposed.
An attempt of comparative analysis on the test problemet of AMVE with heuristic clustering algorithms implemented in actual data analysis software is described. It is shown the comparative advantage of AMVE, both in terms of speed and quality of clustering.
Also, the cases on the use of developed algorithm and its implementation for data analysis in sociology and history and criticism of literature are mentioned. In these cases, investigated graphs based on social networks data (the ratio of "friendship" in the social network between users used as the graph edges). It is demonstrated a slight superiority of AMVE in clustering quality compared to the known algorithms Louvain and Walktrap.
Keywords: graph clustering, modularity, community detection, social network analysis.
References
1. Badmatsyrenov T.B., Skvortsov M.V., Khandarov F.V. Buddhist digital practices of transcendence: VK-community "Hambo Lama Dashi-Dorzho Itigilov". Monitoring of Public Opinion: Economic and Social Changes, 2018, no. 2, pp. 309-332. (in Russian) https://doi.org/10.14515/monitoring.2018.2.18.
2. Blondel V. D. et al. Fast unfolding of communities in large networks. Journal of statistical mechanics: theory and experiment, 2008, vol. 2008, no. 10, pp. 10008. https://doi.org/10.1088/1742-5468/2008/10/P10008
3. Csardi G., Nepusz T. The igraph software package for complex network research. InterJournal, Complex Systems, 2006, vol. 1695, no. 5, pp. 1-9.
4. Flake G. W., Lawrence S., Giles C. L. Efficient identification of web communities. Proceedings of the sixth ACM SIGKDD international conference on Knowledge discovery and data mining. ACM, 2000, pp. 150-160. https://doi.org/10.1145/347090.347121
5. Fortunato S. Community detection in graphs. Physics reports, 2010, vol. 486. N. 3-5, pp. 75-174. https://doi.org/10.1016/j.physrep.2009.11.002
6. Khandarova O.V., Khandarov F.V., Martynov N.N., Skvortsov M.V. Writers of Buryatia on Facebook: literary reputations in the virtual space Mediafilosofiya, 2017, vol. 13, pp. 212-226. (in Russian)
7. Le Martelot E., Hankin C. Fast multi-scale detection of relevant communities in large-scale networks. The Computer Journal, 2013, vol. 56, no. 9, pp. 1136-1150. https://doi.org/10.1093/comjnl/bxt002
8. Leskovec J., Lang K. J., Dasgupta A., Mahoney M. W. Community structure in large networks: Natural cluster sizes and the absence of large well-defined clusters. Internet Mathematics, 2009, vol. 6, no. 1, pp. 29-123. https://doi.org/10.1080/15427951.2009.10129177
9. Leskovec J., Lang K. J., Mahoney M. Empirical comparison of algorithms for network community detection. Proceedings of the 19th international conference on World wide web. ACM, 2010, pp. 631-640. https://doi.org/10.1145/1772690.1772755
10. Maulik U., Bandyopadhyay S. Genetic algorithm-based clustering technique. Pattern recognition, 2000, vol. 33, no. 9, pp. 1455-1465.
https://doi. org/10.1016/S0031-3203(99) 00137-5
11. Newman M. E. J. Detecting community structure in networks. The European Physical Journal B, 2004, vol. 38, no. 2, pp. 321-330. https://doi.org/10.1140/epjb/e2004-00124-y
12. Pizzuti C. A multiobjective genetic algorithm to find communities in complex networks. IEEE Transactions on Evolutionary Computation, 2012, vol. 16, no. 3, pp. 418-430. https://doi.org/10.1109/TEVC.2011.2161090
13. Pons P., Latapy M. Computing communities in large networks using random walks. Journal of Graph Algorithms and Applications, 2006, vol. 10, no. 2, pp. 191-218. https://doi.org/10.1007/11569596_31
14. Radicchi F., Castellano C., Cecconi F., Loreto V., Parisi D. Defining and identifying communities in networks. Proceedings of the National Academy of Sciences, 2004, vol. 101, no. 9, pp. 2658-2663. https://doi.org/10.1073/pnas.0400054101
15. Raghavan U. N., Albert R., Kumara S. Near linear time algorithm to detect community structures in large-scale networks. Physical review E, 2007, vol. 76, no. 3, pp. 036106. https://doi.org/10.1103/PhysRevE.76.036106
16. Reichardt J., Bornholdt S. Statistical mechanics of community detection. Physical Review E, 2006, vol. 74, no. 1, pp. 016110. https://doi.org/10.1103/PhysRevE.74.016110
Nikita Martynov, Undergraduate, Buryat State University, 24a, Smolin st., Ulan-Ude, Republic of Buryati, 670000, Russian Federation, tel.: (+7914)6368355 (e-mail: [email protected])
Olga Khandarova, Candidate of Sciences (Philology), Junior Research Scientist, Institute for Mongolian, Buddhist and Tibetan Studies SB RAS, 6, Sakhyanova st., Ulan-Ude, Republic of Buryatia, 670000, Russian Federation, tel.: (+7924)7731409 (e-mail: olga.khandarovaSgmail.com)
Fedor Khandarov, Candidate of Sciences (Technical), Senior Lecturer, Buryat State University, 24a, Smolin st., Ulan-Ude, Republic of Buryatia, 670000, Russian Federation, tel.: (+7924)4563112 (e-mail: fedor.khandarovOgmail. com)
Received 08.08.18