|
|
|
|
# 5. ПРЕДСТАВЛЕНИЕ СОЦИАЛЬНОЙ СЕТИ ГРАФОМ БОЛЬШОЙ РАЗМЕРНОСТИ, АНАЛИЗ СВЯЗЕЙ
|
|
|
|
|
|
|
|
|
|
[назад](README.md)
|
|
|
|
|
|
|
|
|
|
Как уже было отмечено выше социальные сети, их сегменты, а также связи в них принято представлять в виде графа. Рассмотрим основные понятия теории, необходимые для введения в анализ социальной сети, представленной графом.
|
|
|
|
|
|
|
|
|
|
Граф – это упорядоченная пара $G = (V, E)$, где $V (vertices)$ – множество вершин (узлов) графа, а $E (edges)$ – множество ребер. Граф может быть как ориентированным, так и неориентированным (рис. 17).
|
|
|
|
|
|
|
|
|
|
![Рис. 17. Ориентированный и неориентированный графы](images/2021-09-05_00-07-34.png)
|
|
|
|
|
Рис. 17. Ориентированный и неориентированный графы
|
|
|
|
|
|
|
|
|
|
C точки зрения социальных сетей ребра в неориентированном графе могут описывать такую связь как «дружба», а в ориентированном – «подписку». Граф, представляющий социальную сеть, также может быть и смешанным – имеющим как ориентированные ребра, так и неориентированные.
|
|
|
|
|
|
|
|
|
|
Граф $G = (V, E)$ , с $|V| = n$ вершинами может быть представлен в виде симметричной бинарной матрицы размерности $n \times n$:
|
|
|
|
|
|
|
|
|
|
```math
|
|
|
|
|
A(i,j) = \begin{cases}
|
|
|
|
|
1, &\text{если $v_i$ связана ребром с $v_j$},\\
|
|
|
|
|
0, &\text{в иных случаях}.
|
|
|
|
|
\end{cases}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Если граф ориентированный матрица $A$ не будет симметричной.
|
|
|
|
|
|
|
|
|
|
Если граф взвешенный (ребру которого поставлено в соответствие некое число – вес) матрица $A$ имеет вид
|
|
|
|
|
|
|
|
|
|
```math
|
|
|
|
|
A(i,j) = \begin{cases}
|
|
|
|
|
w_{ij}, &\text{если $v_i$ связана ребром с $v_j$},\\
|
|
|
|
|
0, &\text{в иных случаях}.
|
|
|
|
|
\end{cases}
|
|
|
|
|
```
|
|
|
|
|
где $w_{ij}$ – вес ребра, соединяющего вершины $v_i$ и $v_j$.
|
|
|
|
|
|
|
|
|
|
Опираясь на матричное представление графа множество наборов данных, социальных сетей и не только можно представить в виде графа.
|
|
|
|
|
|
|
|
|
|
Пусть $D = \{x_i\}_{i=1}^n$ – исходный набор данных. Определим взвешенный граф $G = (V, E)$ с весом ребер
|
|
|
|
|
|
|
|
|
|
```math
|
|
|
|
|
w_{ij} = sim(x_i, x_j),
|
|
|
|
|
```
|
|
|
|
|
где $sim(x_i, x_j)$, описывает зависимость между $x_i$ и $x_j$.
|
|
|
|
|
|
|
|
|
|
Таким образом, исходный набор данных $D = \{x_i\}_{i=1}^n$ будет представлен взвешенным графом. В случае с социальной сетью, отыскание зависимостей является тривиальной задачей.
|
|
|
|
|
|
|
|
|
|
Граф $H = (V_H, E_H)$ называется подграфом графа $G = (V, E)$, если $V_H \subseteq V$ и $E_H \subseteq E$. Такой граф может использоваться для выделения сообщества в социальной сети.
|
|
|
|
|
|
|
|
|
|
Наиболее распространёнными задачами в рамках анализа
|
|
|
|
|
социальных сетей, решаемых с помощью теории графов, являются:
|
|
|
|
|
1. Подсчёт пользователей и связей при помощи определения количества вершин и рёбер.
|
|
|
|
|
2. Поиск зависимостей и связей через нахождение компонент связности в графе.
|
|
|
|
|
3. Наличие сообществ в социальной сети, как правило, при помощи кластерного анализа графа.
|
|
|
|
|
4. Принадлежность профиля (вершины графа) к тому или иному сообществу (кластеру или подграфу).
|
|
|
|
|
5. Роль и влияние конкретных пользователей друг на друга и на сообщества (роль и значимость каждой вершины в графе).
|
|
|
|
|
6. Моделирование социальных сетей, в том числе посредством определения средней плотности графа.
|
|
|
|
|
|
|
|
|
|
Вершины и рёбра графа называются также элементами графа, число вершин в графе $|V|$ – порядком, число рёбер $|E|$ – размером графа.
|
|
|
|
|
|
|
|
|
|
*Маршрутом* в графе называют конечную последовательность вершин, в которой каждая вершина (кроме последней) соединена со следующей в последовательности вершиной ребром.
|
|
|
|
|
|
|
|
|
|
*Цепью* принято называть маршрут, ребра которого различны. В ориентированном графе цепь является путём. Длина цепи – это количество входящих в неё рёбер.
|
|
|
|
|
|
|
|
|
|
*Циклом* называют цепь, первая и последняя вершины которой совпадают. Длиной пути (цикла) называют число составляющих его рёбер.
|
|
|
|
|
|
|
|
|
|
Граф называется *связным*, если любые две его вершины связаны маршрутом.
|
|
|
|
|
|
|
|
|
|
*Компонента связности* графа $G = (V, E)$ – его подграф $H = (V_h, E_H)$, образованный на подмножестве всех вершин $V_H$, которые можно соединить произвольным маршрутом.
|
|
|
|
|
|
|
|
|
|
Связный граф состоит из единственной компоненты связности. На компоненте связности можно ввести понятие расстояния между вершинами как минимальную длину пути, соединяющего эти вершины. Ребро графа называется *мостом*, если его удаление увеличивает число компонент.
|
|
|
|
|
|
|
|
|
|
*Расстояние* между вершинами графа – длина кратчайшей цепи, соединяющей эти вершины.
|
|
|
|
|
|
|
|
|
|
*Эксцентриситет вершины графа* − это максимальное расстояние от неё до других вершин (по количеству ребер или их весу).
|
|
|
|
|
|
|
|
|
|
*Диаметром* графа $d(G)$ является максимальное расстояние между всеми парами вершин в графе $x_i$ и $x_j$: $d(G) = maxd(x_i, x_j)$. Таким образом, диаметр графа − это максимальный из эксцентриситетов вершин.
|
|
|
|
|
|
|
|
|
|
*Радиусом графа* называется минимальный эксцентриситет среди всех вершин графа.
|
|
|
|
|
|
|
|
|
|
*Центральной вершиной* графа является вершина, чей эксцентриситет равен радиусу графа.
|
|
|
|
|
|
|
|
|
|
*Периферийной вершиной* графа является вершина, чей эксцентриситет равен диаметру графа.
|
|
|
|
|
|
|
|
|
|
При выделении сообщества принято сравнивать среднюю плотность связей внутри кластера и между кластерами, т.е. сообщество – это та часть графа, в которой средняя плотность между узлами превышает плотность связей между сообществами. Другими словами, внутри сообщества связей должно быть больше, чем между сообществами. Алгоритмы, описывающие выделение сообществ приводятся в соответствующем разделе данного учебного пособия.
|
|
|
|
|
|
|
|
|
|
*Степенью вершины* графа называется количество инцидентных ей рёбер. Последовательностью степеней вершин неориентированного графа является список степеней вершин, отсортированный по убыванию.
|
|
|
|
|
|
|
|
|
|
Пусть $N_k$ – количество вершин графа со степенью $k$. Распределение частот степеней графа при этом $(N_0, N_1, \ldots, N_t)$ , где $t$ – максимальная степень вершины в графе.
|
|
|
|
|
|
|
|
|
|
Пусть $X$ – случайная величина, обозначающая степень вершины. Распределение степеней в графе – есть функция вероятности $f$ случайной величины $X$, обозначенная как
|
|
|
|
|
|
|
|
|
|
```math
|
|
|
|
|
(f(0), f(1), \ldots, f(t)),
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
где $f(k) = P(X = k) = \dfrac{N_k}{n}$ – вероятность вершины графа со
|
|
|
|
|
степенью $k$.
|
|
|
|
|
|
|
|
|
|
В качестве примера рассмотрим граф, изображенный на рис.18. Последовательность степеней вершин этого графа: $(4, 4, 4, 3, 2, 2, 2, 1)$.
|
|
|
|
|
|
|
|
|
|
![Рис. 18. Граф с восемью вершинами ](images/2021-09-05_00-57-15.png)
|
|
|
|
|
Рис. 18. Граф с восемью вершинами
|
|
|
|
|
|
|
|
|
|
Распределение частот степеней графа
|
|
|
|
|
|
|
|
|
|
```math
|
|
|
|
|
(N_0, N_1, N_2, N_3, N_4) = (0, 1, 3, 1, 3).
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Распределение степеней в графе при этом
|
|
|
|
|
|
|
|
|
|
```math
|
|
|
|
|
(f(0), f(1), f(2), f(3), f(4) ) = (0, 0.125, 0.375, 0.125, 0.375).
|
|
|
|
|
```
|
|
|
|
|
Распределение степеней в графе может использоваться в моделировании социальной сети, представленной данным графом.
|
|
|
|
|
|
|
|
|
|
[назад](README.md)
|