Степень вершины

advertisement
Распределённый расчёт графовых статистик на
реальных и синтетических социальных графах
Кирилл Чихрадзе
2 апреля 2013
План доклада:
1. Что есть граф? Типы графов и сетей.
2. Основные статистики графа: определения и
примеры.
3. Параллелизация алгоритмов по подсчётам
статистик.
Граф – это упорядоченная пара G=(V, E), где V – непустое
множество вершин (или узлов), а E – множество пар
вершин, называемых рёбрами
Граф – это упорядоченная пара G=(V, E), где V – непустое
множество вершин (или узлов), а E – множество пар
вершин, называемых рёбрами
Типы графов
Граф – это упорядоченная пара G=(V, E), где V – непустое
множество вершин (или узлов), а E – множество пар
вершин, называемых рёбрами
Типы графов
Неориентированные
1
4
2
3
5
Граф – это упорядоченная пара G=(V, E), где V – непустое
множество вершин (или узлов), а E – множество пар
вершин, называемых рёбрами
Типы графов
Неориентированные
1
4
Ориентированные
1
4
2
2
3
3
5
5
Типы сетей
Нейронные сети: вершины – нейроны, рёбра – соединения между ними.
Типы сетей
Нейронные сети: вершины – нейроны, рёбра – соединения между ними.
Белковые сети: вершины – белки, рёбра – физическое взаимодействие между ними.
Типы сетей
Нейронные сети: вершины – нейроны, рёбра – соединения между ними.
Белковые сети: вершины – белки, рёбра – физическое взаимодействие между ними.
Дорожные сети: вершины – пересечения дорог, рёбра – собственно дороги.
Типы сетей
Нейронные сети: вершины – нейроны, рёбра – соединения между ними.
Белковые сети: вершины – белки, рёбра – физическое взаимодействие между ними.
Дорожные сети: вершины – пересечения дорог, рёбра – собственно дороги.
Коммуникационные сети моделируют E-mail связи с рёбрами, представляющими
собственно связи.
father@gmail.com
LenO4ka_99@mail.ru
mother@gmail.com
Alex_21@yandex.ru
Типы сетей
Нейронные сети: вершины – нейроны, рёбра – соединения между ними.
Белковые сети: вершины – белки,
рёбра – физическое взаимодействие
между ними.
Дорожные сети: вершины – пересечения
дорог, рёбра – собственно дороги.
Коммуникационные сети моделируют
E-mail связи с рёбрами,
представляющими собственно связи.
Сети цитирования: вершины – статьи,
рёбра – цитирования этих статей
Типы сетей
Нейронные сети: вершины – нейроны, рёбра – соединения между ними.
Белковые сети: вершины – белки, рёбра – физическое взаимодействие между ними.
Дорожные сети: вершины – пересечения дорог, рёбра – собственно дороги.
Коммуникационные сети моделируют E-mail связи с рёбрами, представляющими
собственно связи.
Сети цитирования: вершины – статьи, рёбра – цитирования этих статей.
Вэб-графы: вершины – страницы, рёбра – гиперссылки
между ними.
Типы сетей
Нейронные сети: вершины – нейроны, рёбра – соединения между ними.
Белковые сети: вершины – белки, рёбра – физическое взаимодействие между ними.
Дорожные сети: вершины – пересечения дорог, рёбра – собственно дороги.
Коммуникационные сети моделируют E-mail связи с рёбрами, представляющими
собственно связи.
Сети цитирования: вершины – статьи, рёбра – цитирования этих статей.
Вэб-графы: вершины – страницы, рёбра – гиперссылки между ними.
Социальные сети.
Социальный граф — это граф, узлы
которого представлены социальными
объектами, такими как пользовательские
профили с различными атрибутами
(например: имя, день рождения, родной
город и т. д.), сообщества, медиаконтент и т. д., а ребра — социальными
связями между ними.
План доклада:
1. Что есть граф? Типы графов и сетей.
2. Основные статистики графа: определения и
примеры.
3. Параллелизация алгоритмов по подсчётам
статистик.
Степень вершины — количество рёбер графа, инцидентных данной вершине.
1
3
1
4
0
2
2
Расстояние между вершинами — наименьшее число рёбер пути, соединяющего две
вершины.
Диаметр графа — это максимальное из расстояний между парами его вершин.
1
2
d=1
3
1
1
2
3
5
3
2
d=2
4
d=4
Компонента связности неориентированного графа — некоторое множество
вершин графа такое, что для любых двух вершин из этого множества существует путь
из одной в другую, и не существует пути из вершины этого множества в вершину не
из этого множества.
4
3
7
5
2
1
6
Компонента связности неориентированного графа — некоторое множество
вершин графа такое, что для любых двух вершин из этого множества существует путь
из одной в другую, и не существует пути из вершины этого множества в вершину не
из этого множества.
4
3
7
5
2
1
6
Ориентированный граф называется сильно связным, если любые две его вершины
сильно связаны.
Две вершины s и t графа сильно связаны, если существует ориентированный путь из
s в t и ориентированный путь из t в s.
Компонентами сильной связности ориентированного графа называются его
максимальные по включению сильно связные подграфы.
Коэффициент кластеризации измеряет плотность подграфа, состоящего из вершин,
находящегося на расстоянии единицы от центрального актора.
2| 𝑒𝑗𝑘 : 𝑣𝑗 , 𝑣𝑘 ∈ 𝑁𝑖 , 𝑒𝑗𝑘 ∈ 𝐸 |
𝑐𝑖 =
𝑘𝑖 (𝑘𝑖 − 1)
| 𝑒𝑗𝑘 : 𝑣𝑗 , 𝑣𝑘 ∈ 𝑁𝑖 , 𝑒𝑗𝑘 ∈ 𝐸 |
𝑐𝑖 =
𝑘𝑖 (𝑘𝑖 − 1)
Глобальный коэффициент кластеризации:
с=
𝟑∗число треугольников в сети
𝟔∗число треугольников в сети
=
число "вилок"
число путей длины 𝟐
1 треугольник и 8 «вилок»
с=
𝟑
𝟖
Зачем нужны эти статистики:
- сравнение сгенерированных и сэмплированных графов;
- классификация графов;
- сравнение моделей генерации случайных графов;
- контроль качества техник сэмплирования;
Безмасштабная сеть
Безмасштабная сеть − сеть, в которой распределение
степеней подчиняется 𝑝𝑜𝑤𝑒𝑟 𝑙𝑎𝑤:
𝑷 𝒌 ~ 𝒌−𝜷
Свойства:
- «малый мир» (эффективный диаметр мал);
- наличие т.н. хабов – вершин, степени которых очень велики по сравнению
со степенями остальных узлов;
- малочувствительность к поврежедениям/иерархичность (большие хабы
окружены меньшими, а те, в свою очередь, ещё меньшими, что позволяет
сохранять почти все связи при потере одного из хабов);
Безмасштабная сеть
Примеры:
- социальные сети;
- семантические сети;
- различные компьютерные сети, включая WWW;
- белковые сети;
- схемы авиационных линий;
Распределение степеней вершин
Классическое Power law
доля от всех вершин
𝒑 𝒙 = 𝑪𝒙−𝜶
Распределение степеней
вершин в Facebook
(средняя степень = 280)
степень
степень
Распределение степеней вершин
количество вершин
Распределение степеней вершин в сэмпле Twitter
(средняя степень = 15, V=11,316,811)
степень (входящая)
степень (исходящая)
Распределение степеней вершин
Распределение степеней вершин в сэмпле Amazon
(средняя степень = 17, V=403,394)
количество вершин
Граф Amazon: вершины –
товары, рёбра между
вершинами – если два
товара часто покупают
вместе.
степень
Распределение степеней вершин
количество вершин
Распределение степеней вершин в Web-Google
(средняя степень = 12, V=875,713)
вершины – страницы, рёбра – гиперссылки
степень (входящая)
степень (исходящая)
Распределение степеней вершин
количество вершин
Распределение степеней вершин в Google+
(средняя степень = 265, V=102,100)
степень (входящая)
степень (исходящая)
Диаметр
Доля пар вершин на указанном расстоянии
N(h) показывает процент пар вершин, достижимых за h шагов.
Facebook
𝑵(𝒉)
Расстояние (h)
Диаметр
Доля пар вершин на указанном расстоянии
N(h) показывает процент пар вершин, достижимых за h шагов.
Facebook
𝒉𝒎𝒂𝒙
𝑵(𝒉)
𝒅𝒆𝒇𝒇 =
𝒉=𝟏
Расстояние (h)
𝑵 𝒉 −𝑵 𝒉−𝟏
𝒉∗
𝑵 𝒉𝒎𝒂𝒙 − 𝑵(𝟎)
Диаметр
Доля пар вершин на указанном расстоянии
N(h) показывает процент пар вершин, достижимых за h шагов.
Facebook
𝒉𝒎𝒂𝒙
𝑵(𝒉)
𝒅𝒆𝒇𝒇 =
𝒉=𝟏
𝑵 𝒉 −𝑵 𝒉−𝟏
𝒉∗
𝑵 𝒉𝒎𝒂𝒙 − 𝑵(𝟎)
𝒅𝑼.𝑺. = 𝟒. 𝟑
𝒅𝑮𝒍𝒐𝒃𝒂𝒍 = 𝟒. 𝟕
Расстояние (h)
Количетво пар вершин на указанном расстоянии
Диаметр
N(h) показывает количество пар вершин, достижимых за h шагов.
Twitter
𝒅𝒆𝒇𝒇 = 𝟒. 𝟗𝟐
Расстояние (h)
Количетво пар вершин на указанном расстоянии
Диаметр
N(h) показывает количество пар вершин, достижимых за h шагов.
Amazon
𝒅𝒆𝒇𝒇 = 𝟖. 𝟖𝟖
Расстояние (h)
Количетво пар вершин на указанном расстоянии
Диаметр
N(h) показывает количество пар вершин, достижимых за h шагов.
Web-Google
𝒅𝒆𝒇𝒇 = 𝟗. 𝟏𝟐
Расстояние (h)
Количетво пар вершин на указанном расстоянии
Диаметр
N(h) показывает количество пар вершин, достижимых за h шагов.
Google+
𝒅𝒆𝒇𝒇 = 𝟒. 𝟒𝟐
Расстояние (h)
количество компонент
Компоненты связности
размер компоненты
Наибольшая компонента связности графа Facebook – 99,91%
средний коэффициент кластеризации
Коэффициент кластеризации
Для пользователя Facebook со
степенью 100 средний
коэффициент кластеризации
0.14, т.е. 14% его друзей состоят
в друзьях друг у друга.
степень
средний коэффициент кластеризации
Коэффициент кластеризации Twitter 𝒄𝒄𝒂𝒗𝒆𝒓𝒂𝒈𝒆 = 𝟎. 𝟎𝟗
степень
средний коэффициент кластеризации
Коэффициент кластеризации
Amazon
𝒄𝒄𝒂𝒗𝒆𝒓𝒂𝒈𝒆 = 𝟎. 𝟒𝟏
степень
средний коэффициент кластеризации
Коэффициент кластеризации
Web-Google
𝒄𝒄𝒂𝒗𝒆𝒓𝒂𝒈𝒆 = 𝟎. 𝟓𝟏
степень
средний коэффициент кластеризации
Коэффициент кластеризации
Google+
𝒄𝒄𝒂𝒗𝒆𝒓𝒂𝒈𝒆 = 𝟎. 𝟒𝟑
степень
Сравнения с помощью статистик
Сгенерированный граф
Facebook
𝒅𝒆𝒇𝒇 = 𝟒. 𝟓𝟓
𝒅𝒆𝒇𝒇 = 𝟒. 𝟒𝟐
Наибольшая компонента – 99,97%
Наибольшая компонента – 99,91%
План доклада:
1. Что есть граф? Типы графов и сетей.
2. Основные статистики графа: определения и
примеры.
3. Параллелизация алгоритмов по подсчётам
статистик.
Распределённый алгоритм подсчёта диаметра
Распределённый алгоритм подсчёта диаметра
Распределённый алгоритм подсчёта диаметра
Распределённый алгоритм подсчёта диаметра
𝒅 𝒏+𝒎
𝑻𝒊𝒎𝒆 𝒄𝒐𝒎𝒑𝒍𝒆𝒙𝒊𝒕𝒚 𝒐𝒇 𝑯𝑨𝑫𝑰 − 𝑶(
)
𝑴
𝑺𝒑𝒂𝒄𝒆 𝒄𝒐𝒎𝒑𝒍𝒆𝒙𝒊𝒕𝒚 𝒐𝒇 𝑯𝑨𝑫𝑰 − 𝑶( 𝒏 + 𝒎 𝐥𝐨𝐠 𝒏)
𝒏 − количество вершин; 𝒎 − количество рёбер;
d – количество итераций; M – количество машин
Определяет эффективный диаметр – расстояние, за
которое 90% связанных пар вершин достигнут друг друга.
Распределённый алгоритм подсчёта распределения степеней
Mapper
Reducer
Download