BC/NW 2015 № 2 (27):12.3

ОПРЕДЕЛЕНИЕ СООБЩЕСТВ В СОЦИАЛЬНОМ ГРАФЕ

Мизинов С.В., Русинов С.Г., Добряков П.С., Нефедов Е.Ю.

Сообщества - это локальные плотно соединенные подграфы в социальной сети (соц. графе). Это утверждение основывается на двух гипотезах: связности и плотности [1].

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

Рис1.jpg

Рис. 1.  Выделение сообществ на основе связности

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

Рис2.jpg

Рис. 2. Выделение сообщества на основе плотности

Хотя этих двух гипотез недостаточно для строгого определения  понятия “сообщество”, с учетом неких допущений большинство  сообществ будет им удовлетворять.

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

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

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

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

Рассмотрим сообщество как связный подграф C состоящий из Nc вершин сети G. Внутренней степенью diint вершины i является количество инцидентных ребер, соединяющих ее с вершинами C. Внешней степенью diext вершины i является количество инцидентных ребер, соединяющих ее с остальными вершинами сети, т.е. вершинами G. В случае  diext=0 все смежныевершины принадлежат C, это идеальный случай, чтобы вершину i включить в сообщество C. И наоборот, если diint =0 вершину i следует включить  в другой связный подграф сети G, т.е. в другое сообщество. Эти определения позволяют выделить два вида сообществ:

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

2) Слабо связное сообщество. Суммарная внутренняя степень вершин подграфа больше чем суммарная внешняя. В частности, подграф C является слабо связанным сообществом, если    (2).

Фактически, слабо связное сообщество расширяет сильно связное за счет включения вершин, нарушающих строгое неравенство 1. Каждая клика (полный граф) является сильно связным сообществом, а каждое сильно связанное сообщество является слабо связным. Но не в обратном порядке. Почему этот так, проиллюстрировано на рисунке 3.

Рис3.jpg
Рис. 3. Виды сообществ. Слева направо: клика, сильно связное сообщество, слабо связное сообщество.

 

Литература

1. Barabasi Albert-Laszlo.  Network science communities Cambridge University Press, 2015.  – 498 с.

2 Aaron Clauset, M. E. J. Newman, and Cristopher Moore Finding community structure in very large networks Журнал Phys. Rev. E 70, 066111 –  2004.