Теория графов - наука, которая, одна из немногих, может похвастаться точно известным местом и временем зарождения. Ее корни ведут в Кёнигсберг 1735 года, столицу Западной Пруссии, одного из богатейших торговых городов своего времени (современный Калининград, Россия). Активная торговля, обеспечиваемая целой флотилией кораблей, позволила властям города построить целых семь мостов через реку Преголю, окружающую город. Пять мостов соединяли основной город с небольшим островом Кнайпхофом, расположившийся между двумя устьями реки. Оставшиеся два моста соединяли между собой берега реки (см. изображение 2.1). Такая необычная композиция и послужила основной для головоломки: Можно ли посетить все семь мостов, не проходя ни один из них дважды. Несмотря на многочисленные попытки, ни одного решения так и не было найдено вплоть до 1735 года, когда Леонард Эйлер, математик швейцарского происхождения, предложил точное математическое доказательство того, что решения у задачи не существует в принципе [6, 7].
Эйлер представил каждую часть города, разделенного рекой, буквами A, B, C и D ( изображение 2.1 ). После этого он изобразил каждый мост прямой линией. Таким образом, он построить граф, чьи узлы представляли части города, а ребра - мосты. На следующем этапе Эйлер произвел простое наблюдение: если бы путь, позволяющий пройти по всем мостам всего один раз, существовал, любой узел с нечетным количеством ребер должен был бы быть или началом, или же концом такого путешествия. Действительно, если вы переходите в узел с нечетным количеством связей, в какой-то момент вы можете обнаружить, что неиспользованных путей выхода из этого узла уже не остается.

Любой маршрут, разумеется, имеет только одну точку старта, и только один финиш. Соответственно, для любого графа, имеющего более двух узлов с нечетным количеством исходящих ребер такой маршрут не возможен. На графе Кёнигсберга целых 4 узла с нечетным количеством ребер - A, B, C, и D, а значит, подходящего маршрута просто не существует.
Решение Эйлера было первым в истории решением математической проблемы с использованием графа. Для нас этот пример важен по двум причинам: во-первых, он показывает, что некоторые проблемы становятся проще и понятнее, если представлены в виде графа. Во-вторых, то что существование того или иного маршрута не зависит от нашего желания его найти; Существование такого маршрута - свойство графа. Действительно, имея граф, подобный графу Кёнигсберга, мы не сможем найти искомый маршрут, как бы мы не старались. Другими словами, свойства сетей определяются их структурой.
Чтобы понять все многообразие путей, которыми сети могут определять свойства системы, мы должны познакомиться поближе с теорией графов, — частью математики, выросшей из доказательства Эйлера. В этой главе мы узнаем, как представить сеть в виде графа, какие элементарные характеристики сетей бывают, — включая степени, распределение степеней, пути и дистанции, - научимся определять взвешенные, направленные и бимодальные сети. Таким образом, мы дадим определения основные понятиям, и терминам, который в дальнейшем будем использовать в этой книге.
Чтобы понять, как работает сложная система, следует для начала понять как взаимодействуют её элементы друг с другом по отдельности. Другими словами, нам нужна схема. Сеть представляет собой каталог элементов системы, обычно называемых узлами, и взаимодействий между ними, часто называемыми связями, или ребрами графа (Памятка 2.1). Такое представление сети позволяет иметь общий “язык” для изучения систем, которые могут различаться по своей природе, внешнему виду или масштабу. Действительно, как показано на изображении 2.2, три совершенно разные системы могут иметь идентичное представление в качестве графа.
Изображение 2.2 представляет два основных параметра графа:
Количество узлов, N, определяет количество элементов системы. Часто мы определяем N как размер графа. Чтобы различать графы между собой, мы определяем для каждого его индекс: i=1,2, …, N.
Количество связей, — L, — представляет общее количество связей между узлами. Связи обычно не имеют особых индексов, так как могут быть идентифицированы через соединяемые узлы. Например, ребро (2, 4) в этом случае соединяет узлы 2 и 4.
Граф на рисунке 2.2 имеет N = 4 и L = 4.

Связи сети могут быть направлены (ориентированы) или ненаправлены (не ориентированы). Некоторые системы имеют направленные связи, как, например, WWW, где ссылки (URL) переадресуют нас от одного документа к другому, или телефонные звонки, когда один человек звонит другому. Другие системы характеризуются ненаправленными связями, — например, романтическими отношениями: если я встречаюсь с Анной, то и Анна встречается со мной, или как провода в электроцепи, позволяющие току течь в обоих направлениях.
Сеть называется направленной, если направлены все ее связи. Аналогично, если все связи сети ненаправлены, то и сеть называют ненаправленной. Некоторые сети могут иметь как направленные, так и ненаправленные связи. Например, в метаболической сети некоторые реакции могут быть повернуты вспять (т.е, в терминологии сетей, ненаправлены), в то время как другие являются необратимыми, и, таким образом, могут быть представлены направленной связью.
Правильный выбор типа ребер при представлении системы как сети может определить успешность наших попыток решить задачу методами науки о сетях. Так, например, то, как мы определим связь между двумя людьми определит природу вопросов, на которые мы сможем отвечать:
Хотя многие связи в этих четырех сетях будут пересекаться (некоторые коллеги наверняка окажутся друзьями или даже любовниками), сети будут иметь разное значение и служить разным задачам.
Мы также можем представить себе сети, которые будут корректны с точки зрения требований теории, но нести мало практической пользы. Например, если мы объединим всех участников сети с одинаковыми именами, — Ивана с Иваном, а Марию с Марией, — мы тоже получим правильную сеть, свойства которой можно анализировать методами науки о сетях. Однако из такого анализа, скорее всего, никаких значимых результатов мы не получим. Другими словами, в ходе моделирования сети на основе любой системы стоит тщательно продумать выбор узлов и ребер, и удостоверится, что наш выбор соответствуют теме, которую вы хотите изучить.
На протяжении всей книги мы будем использовать 10 сетей для иллюстрации инструментария науки о сетях. Эти сети описаны в таблице 2.1 и покрывают диапазон тем от социальных сетей (графы мобильной сети и электронной почты), сотрудничества ( сети научного сотрудничества, Голливудских актеров) , информационные системы (WWW), технические и инфраструктурные системы (интернет, электросети), а также биологические системы (взаимодействие протеинов и метаболические сети), сети цитирования.
Все они отличаются по размеру, от N=1039 узлов в системе метаболизма палочки Коха, и почти до полумиллиона узлов в сети цитирования. Они служат иллюстрациями для нескольких предметных областей, где сети активно используются, представляя собой “канонические” наборы данных, часто используемые исследователями для иллюстрации ключевых особенностей сетей. Как мы указываем в таблице 2.1, некоторые из них являются направленными, в то время как другие - нет. В последующих частях мы детально обсудим природу и характеристики каждого из этих наборов данных, используя их в качестве “подопытных кроликов” для наглядного представления свойств сложных сетей.
| Сеть | Узлы | Связи | Направленная/Ненаправленная | N | L | ‹K› |
|---|---|---|---|---|---|---|
| Интернет | Роутеры | Интернет-соединения | Ненаправленная | 192,244 | 609,066 | 6.34 |
| WWW | Интернет-страницы | Ссылки | Направленная | 325,729 | 1,497,134 | 4.6 |
| Электросеть | Трансформаторы и Электростанции | Электрокабель | Ненаправленная | 4,941 | 6,594 | 2.67 |
| Сеть звонков на мобильные телефоны | Абоненты | Звонки | Направленная | 36,595 | 91,826 | 2.51 |
| Адреса Email | Электронные сообщения | Направленная | 57,194 | 103,731 | 1.81 | |
| Научное сотрудничество | Ученые | Соавторство | Ненаправленная | 23,133 | 93,437 | 8.08 |
| Сеть актеров | Актеры | Участие в фильмах | Ненаправленная | 702,388 | 29,397,908 | 83.71 |
| Сеть цитат | Статьи | Цитирование | Направленная | 449,673 | 4,689,479 | 10.43 |
| Метаболизм палочки Коха | Метаболиты | Химические реакции | Направленная | 1,039 | 5,802 | 5.58 |
| Взаимодействия протеинов | Протеины | Связующие взаимодействия | Ненаправленная | 2,018 | 2,930 | 2.9 |
Таблица 2.1
Канонические сети
Основные характеристики десяти сетей, используемых в этой книге для иллюстрации инструментария науки о сетях. Таблица описывает природу сетей, связей и ребер, указывает направленность сети, количество узлов (N), связей (L), и среднее значение степеней узлов для каждой сети. Для направленных сетей среднее количество связей равно среднему количеству входящих либо исходящих ребер (см. Выражение 2.5).
Ключевое свойство каждого узла сети — его степень, равная количеству связей между данным узлом и другими. Степень может соответствовать количеству контактов человека в случае сети мобильных телефонов (другими словами, количество людей, с которыми он говорил по телефону) или количество цитирований конкретной работы.
Определим ki как степень i-того узла сети. К примеру, для ненаправленной сети, показанной на изображении 2.2 k1=2, k2=3, k3=2, k4=1. В ненаправленных сетях общее количество связей, L, может быть представлено как сумма степеней всех узлов:
Деление на два в данном случае учитывает тот факт, что в сумме степеней (2.1) каждое ребро получается посчитанны два раза. Например, ребро, соединяющее узлы 2 и 4 на изображении 2.2 будет посчитано дважды - один раз для узла 2 и второй - для узла 4.
Важная характеристика сети - её средняя степень (Памятка 2.2), которая для ненаправленной сети равна
Для направленной сети мы разделяем степень входящих k_i_in, соответствующую количеству входящих в узел i ребер, и исходящих, k_i_out, соответствующую количеству ребер, ведущих из узла i к другим узлам. Наконец, общая степень узла равна сумме входящей и исходящей степеней.
К примеру, для WWW количество страниц, на которые ссылается документ, будет определять исходящую степень узла, а количество страниц, которые, в свою очередь, ссылаются на этот документ, определят его входящую степень. Сумма входящих и исходящих степеней узлов в таком случае будет одинаковой
Одна вторая, которую мы применили в (2.1), в этом случае не применяется, так как две суммы считают входящие и исходящие ребра отдельно. Средняя степень направленной сети определяется по формуле
Распределение степеней pk, определяется как вероятность того, что случайно выбранный узел сети i имеет степень k. Так как pk - это вероятность, она всегда нормализована.
Для сети с N узлами распределение степеней представляется нормализованной гистограммой (изображение 2.3), определяемой как
Где Nk - количество узлов со степенью k. Таким образом, количество узлов с определенной степенью могут быть получено из распределения как Nk = Npk.
Распределение Степеней - центральная концепция теории сетей, ставшая таковой после открытия безмасштабных (scale-free) сетей 8. Одной из причин является тот факт, что из распределения степеней можно получить большинство свойств сети. Например, средняя степень сети может быть определена как
Другая причина - то, что точная форма распределения определяет многие свойства сети, от устойчивости сети до распространения вирусов в ней.


Для полного описания сети необходимо хранить информацию обо всех ребрах. Простейшее решение этой проблемы - просто хранить список всех ребер. Так, сеть на изображении 2.2 может быть описана как список ребер: {(1, 2), (1, 3), (2, 3), (2, 4)}. Однако, для математических преобразований граф часто представляют в виде “Матрицы смежности”. Такая матрица для направленной сети с N узлами будет иметь N рядов и N колонок, а ее значения будут равны:
Aij = 1 если существует ребро между узлами j и i
Aij = 0 если узлы j и i не соединены прямым ребром
Матрица смежности ненаправленной сети строится аналогично, но, так как в этом случае связь считается в обе стороны, то матрица становится симметричной (Изображение 2.5b)
Из матрицы легко получить степень ki для любого узла i. Для ненаправленного графов степень будет равна сумме элементов соответствующей строки или столбца:
Для направленного графа сумма строки будет соответствовать входящую степень, а колонки - исходящую.
Зная, что в ненаправленной сети количество исходящих ребер всегда равно количеству входящих, получаем:
Количество ненулевых элементов матрицы равно 2L, то есть ровно в два раза больше чем количество ребер. Действительно, в таком случае мы опять считаем каждое ребро два раза: Aij = 1, как ребро из узла j в узел i, и Aji = 1, как ребро из i в j (Изображение 2.5b).

В реальной практике количество узлов (N) и ребер (L) может значительно меняться. Возьмем, к примеру, нейронную сеть круглого червя (C. elegans), единственную полностью определенную нервную систему живого организма. Она насчитывает N = 302 нейрона (узла). Для сравнения, человеческий мозг насчитывает, по примерным оценкам, примерно сто миллиардов (N ≈ 1011) нейронов. Сеть ДНК в человеческой клетке насчитывает 20,000 генов, или узлов; население земли насчитывают семь миллиардов человек(N ≈ 7×109), а всемирная паутина содержит более триллиона документов (N > 1012).
Разницы в масштабе сетей хорошо видны в таблице 2.1, где указаны N и L для нескольких графов. Некоторые графы точно описывают связи систем (как, например, сеть актеров или схема метаболизма палочки Коха), в то время как другие служат лишь примерами, представляющие часть реальной сети (как, например, WWW или сеть мобильной связи).
Таблица 2.1 так же показывает, что количество ребер также меняется. Для сети из N узлов, количество ребер L может быть любым в диапазоне от L = 0 до Lf , где
Lmax в данном случае - максимальное возможное количеств ребер в графе. Если число связей максимальное, или, другими словами, каждый узел соединен со всеми другими прямым ребром, граф называется Полным (Изображение 2.6).

Как правило, в реальных сетях L намного меньше его максимального значения Lmax , другими словами, большинство сетей являются разреженными. Мы называем сеть разреженной, если ее количество ребер значительно меньше максимального, L ‹‹ Lmax . К примеру, граф WWW в Table 2.1 имеет 1.5 миллиона ссылок. При этом если бы этот граф был бы полным, он бы имел Lmax ≈ 5x1010 ссылок, в соответствии (2.12). Другими словами, мы имеем лишь 3x10-5 доли от максимального количества ссылок. То же верно и для любой сети из таблицы 2.1: вы можете проверить, что для каждой количество существующих ссылок — лишь небольшая часть от количества ребер, которые бы потребовались для полноты графа.
Матрица смежности разреженной сети будет также разреженной. Если полная сеть соответствует Aij = 1, для каждой пары (i, j), то есть каждый матричный элемент равен единице, то для разреженной сети ненулевой будет только малая толика матричных элементов. Это проиллюстрировано на рисунке 2.7, представляющей матрицу смежности для графа взаимодействий протеин-протеин, отображенной в таблице 2.1 и показанной на картинке 2.4a. Как вы можете увидеть, матрица в этом случае практически пустая.
Разреженность сетей имеет важные последствия для их исследования и хранения. К примеру, при сохранении больших сетей в виде файла на компьютере, часто лучшим решением оказывается хранить лишь список существующих ребер (т.е. элементов, для которых Aij ≠ 0), не тратя памяти на отсутствующие. Матричное представление такой сети потребовало бы гораздо больше памяти на хранение по сути лишней, нулевой информации (Изображение 2.7).

До сих пор мы обсуждали лишь сети, для которых все ребра имеют равный вес, т.е, Aij = 1. Однако во многих случаях приходится работать с сетями с весом (взвешенными сетями), для которых каждая связь (i, j) имеет уникальны вес wij. В мобильных сетях вес может соответствовать суммарному количеству минут, в течении которых двое говорили по телефону; для электросетей вес может соответствовать величинам напряжения, протекающего по каждому кабелю.
Для сетей с весом элементы матрицы смежности равны величинам веса соответствующих ребер, т.е.
В большинстве своем сети, интересующие ученых, имеют веса, однако не всегда их можно измерить. Поэтому сети часто описываются примерным графом без веса. В этой книге мы делаем основной акцент на невзвешенных сетях, однако в нужных местах обсудим, как наличие весов может изменить свойства сети (Пометка 2.3).
Бимодальный граф (или биграф) - это сеть, чьи узлы могут быть выделены в два отдельных набора U и V, так, что каждая связь будет соединять узел U и узел V. Другими словами, если раскрасить все узлы U зеленым, а V — фиолетовым, то каждая связь будет соединять узлы разных цветов (Изображение 2.9).
Для каждого бимодального графа можно создать две проекции. Первая будет представлять каждую пару U-узлов как связанную, если они связаны с одним и тем же V-узлом в бимодальной репрезентации. Вторая проекция соединяет аналогичным образом все V-узлы, имеющие общие U-узлы как посредники. (Изображение 2.9).

Существует множество бимодальных сетей. Один из наиболее известных примеров - сеть актеров Голливуда, в котором часть узлов соответствует фильмам (U), а другая часть - актерам (V). Фильм связан с актером, если этот актер в нем играл. В таком случае одна проекция сети будет показывать всех актеров, связывая их по принципу работы над одними и теми же фильмами. Эта сеть представлена в таблице 2.1. Другим примером будет сеть фильмов, связанных, если хотя-бы один актер играл в обоих произведениях.
Медицина предлагает другой пример бимодальных сетей: Сеть заболеваний человека, соединяющую болезни и гены, чьи мутации влекут за собой эти болезни (Изображение 2.10).
Наконец, могут быть и мультимодальные сети, такие как трехчастная сеть рецепт-ингредиент-вещество, показанная на Изображении 2.11.


Физическое расстояние играет ключевую роль в степени взаимодействия между двумя компонентами физических систем. Например, расстояние между двумя атомами в кристалле или между двумя галактиками во вселенной определяет силу и тип их взаимодействия.
Дать однозначное определение дистанции в сетях сложно. Действительно, что означает “дистанция” между двумя страницами в интернете, или между двумя людьми, которые знают друг друга? В этом случае физическое расстояние ничего не значит: две страницы могут находиться на компьютерах в разных полушариях, и все же соединяться простой ссылкой. И в то же время, двое могут жить в одном здании, и все же совсем друг друга не знать.
Физическое расстояние в сетях замещается длиной пути. Путь - это маршрут, проходящий вдоль связей сети. Длина пути определяется количеством связей, через которые маршрут проходит (Изображение 2.12a). В некоторых версиях определение требует, чтобы узлы, через которые проходит путь, не повторялись.
В науке о сетях пути играют ключевую роль. Сейчас мы обсудим наиболее важные их свойства, а многие другие вкратце изложены на изображении 2.13.

Кратчайшим путем между узлами i и j называют путь через наименьшее количество связей (Изображение 2.12b). Длину кратчайшего пути между двумя узлами i и j часто называют расстоянием между узлами dij , или просто d. Между парой узлов могут быть и несколько кратчайших путей (Изображение 2.12b). Кратчайший путь не имеет самопересечений и колец.
В ненаправленной сети dij = dji , т.е. расстояние от узла i к узлу j равно расстоянию от узла j к узлу i. В направленной сети, как правило, d ij ≠d ji . Более того, в направленной сети существование пути из узла i в узел j в принципе не гарантирует существование обратного пути.
В реальной жизни нам часто требуется определить расстояние между двумя узлами. Для небольшой сети, такой как на изображении 2.12, это не сложно. Однако для графа с миллионами узлов поиск кратчайшего пути может быть довольно затратным по времени. Формально, длина кратчайшего пути и количество таких путей может быть получена на основе матрицы смежности (памятка 2.4). Однако на практике мы используем алгоритм “поиска в ширину” (Breadth first search , BFS), который описывается в памятке 2.5.

Свойства Пути
Диаметр сети, обозначаемый dmax, соответствует наибольшей длине кратчайшего пути в сети. Другими словами, это наибольшее возможное расстояние в графе. Так, диаметр графа на изображении 2.13 равен dmax = 3. Для больших сетей диаметр может быть определен с помощью алгоритма BFS , описанного в памятке 2.5.
Средняя длина пути, обозначаемая как〈d〉, равна среднему значению расстояния между всеми возможными парами узлов в сети. Для направленной сети с N узлами, 〈d〉 равен
Обратите внимание, что (2.14) определяется только пар, находящихся в одном компоненте (Часть 2.9). Для большой сети мы можем использовать алгоритм BFS для определения среднего пути. Для этого нам потребуется определить расстояние между первым узлом и всеми оставшихся. После этого мы определим расстояние между вторым узлом и всеми оставшимися, кроме первого (если сеть ненаправленная). Далее мы повторим эту процедуру для всех остальных узлов по очереди и подсчитаем среднее значение среди всех массивов.
Ценность телефона весьма условной, если по нему нельзя позвонить. Так же и польза от электронной почты весьма ограничена, если мы сможем писать лишь на несколько адресов. С точки зрения сетей это означает, что между любыми двумя узлами должен быть связный путь. По большему счету в этом и состоит основная задача любой сети - сети определяют связанность объектов. В этой главе мы дадим связанности формальное определение.
В ненаправленной сети узлы i и j связанны, если есть хотя бы один путь между ними. Если такого пути не существует, то они не связаны, а расстояние между ними dij = ∞. Пример тому можно найти на изображении 2.15a, демонстрирующем сеть из двух разделенных кластеров. Хотя внутри каждого кластера все узлы связаны, (например, узлы 4 и 6), между узлами из разных кластеров связей не существует (узлы 1 и 6).
Сеть называют связной, если любая пара узлов в сети имеет хотя бы один путь между ними. Если хотя бы для одной пары dij = ∞, сеть называют несвязной. Так, сеть на изображении 2.15a несвязная, и мы можем назвать две части компонентами или кластерами. Компонентой называется такая часть сети, что между любой парой узлов внутри компоненты есть путь, однако нельзя добавить ни одного дополнительного узла основной сети, сохранив при этом связность компоненты.
Если сеть состоит из двух компонент, всего одна связь может их соединить, таким образом делая всю сеть связной (изображение 2.15b). В этом случае эта связь будет называться мостом. Мост - любая связь в сети, такая что при её удалении сеть становится несвязанной.
Хотя для небольших сетей определить связность можно визуально, для сетей с несколькими миллионами узлов это становится проблематичным. В определения связности нам может помочь математика и алгоритмы. К примеру, матрицу смежности для любой несвязной сети можно отсортировать таким образом, что она примет форму диагональных блоков, такую что все ненулевые элементы матрицы хранятся в квадратах вдоль диагонали матрицы, а все другие элементы равны нулю (изображение 2.15a). Каждый блок в таком случае соответствует одной компоненте сети. В определения того, можно ли привести матрицу к форме диагональных блоков, нам может помочь линейная алгебра.
Однако, на практике для больших сетей более эффективным способом будет использовать алгоритм BFS (Памятка 2.6).

Коэффициент кластеризации определяет частоту, с которой соседние узлы выбранного узла соединены друг с другом. Для узла i со степенью ki локальный коэффициент кластеризации определяется как [12]
где Li соответствует количеству связей между ki соседей узла i. Коэффициент C i всегда находится на промежутке от 0 до 1 включительно. (Изображение 2.16a):
Таким образом C i измеряет локальную плотность связей сети: чем более плотно связаны между собой соседи узла, тем выше, локальный коэффициент кластеризации.

Степень кластеризации сети определяется как средний коэффициент кластеризации, 〈C〉, то есть среднее значение C i всех узлов i = 1, ..., N [12],
В соответствии с вероятностной интерпретацией коэффициента, 〈C〉 соответствует вероятности того, что два соседних узла для любого рассматриваемого узла соединены между собой.
Хотя (2.16) определен для ненаправленных сетей, коэффициент кластеризации может быть обобщен для направленных сетей и сетей с весом [13, 14, 15, 16]. В литературе вы можете также встретить понятие глобального коэффициента кластеризации, описанные в ДОПОЛНИТЕЛЬНЫХ МАТЕРИАЛАХ 2.A.
В этой главе мы прошли вводный курс по основным понятиям и инструментам науки о сетях. Набор основных характеристик, представленный на изображении 2.17, предоставляет формальный язык, посредством которого мы можем исследовать сети.
Многие из сетей, которые изучает наука о сетях, содержат тысячи и даже миллионы узлов и связей. Чтобы исследовать их, нам придется выйти за пределы простых вычислений, возможных для небольших графов (см. Изображение 2.17). Некоторое представление об уровне сложности дает сеть протеин-протеин взаимодействий в дрожжах (Изображение 2.4a). Сеть настолько сложна, что визуальный анализ не может разобраться в переплетениях и определить какие-то количественные показатели. Таким образом, для оценки характеристик её топологии придется использовать специальный инструментарий сетевого анализа.

Давайте теперь используем вышеописанные понятия для исследования основных характеристик сетей. Ненаправленная сеть, показанная на изображение 2.4a, имеет N = 2,018 протеинов в виде узлов и L=2,930 взаимодействий между ними в виде связей.
Соответственно, средняя степень сети, в соответствии с (2.2), равна 〈k〉 = 2.90, и означает что протеины в сети в среднем взаимодействют с 2-3 другими. В то же время это число может ввести нас в заблуждение: распределение степеней на изображении 2.4b, c, показывает что абсолютное большинство узлов имеют только 1-2 связи. Если быть точным, 69% узлов в сети имеют меньше чем 3 связи, то есть их степень меньше средней, k ‹ 〈k〉 . В то же время, существуют несколько протеинов с очень большим количеством связей, так называемых “центральных узлов (хабов)”, самый большой из которых имеет аж 92 связи. Такое широкое разнообразие в степенях - результат особого свойства сети, называемого безмасштабностью (scale-free), которую мы рассмотрим в ГЛАВЕ 4. Как мы увидим, форма распределения степеней определяет множество свойств сети, -от устойчивости сети и до распространения вирусов.
Алгоритм поиска в ширину (ПАМЯТКА 2.5) позволяет определить диаметр сети, dmax = 14. Хотя на первый взгляд расстояния между узлами должны сильно варьироваться, так как некоторые узлы близки друг к другу, а другие находятся далеко, распределение расстояний (Изображение 2.18a) говорит об обратном: pd имеет пик между 5 и 6, что означает что большинство расстояний достаточно малы и находятся в окрестности 〈d〉 =5.61. Также, вероятность pd больших расстояний быстро падает, означая что таких путей в графе практически нет. Вариативность распределения σd = 1.64, что означает что большинство расстояний практически равны〈d〉 . Это является признаком свойства “тесного мира”, которое мы обсудим в ГЛАВЕ 3.
Алгоритм поиска в ширину (BFS) также указывает, что сеть протеинов не является связной, и состоит из 185 компонент, показанных отдельно на изображении 2.4a. Самая большая, которую обычно называют гигантской компонентой, состоит из 1,647 узлов из 2,018 узлов сети; все остальные компоненты крошечные. Как мы увидим в дальнейшем, такое разделение тоже характерно для сетей в реальном мире.
Средний коэффициент кластеризации сети взаимодействия протеинов равен 〈C〉 =0.12, что, как мы увидим в дальнейшем, означает высокую степень локальной кластеризации. Такой вывод можно сделать, зная зависимость коэффициента кластеризации от степени узла, функции C(k) (Изображение 2.18b). Так как C(k) уменьшается для больших степеней k, то локальный коэффициент кластеризации для небольших узлов значительно выше, чем для хабов. Следовательно, узлы с небольшой степенью расположены в плотных областях сети, в то время как хабы расположены в рассеянных частях сети. Это следствие иерархии, еще одного свойства сети, которое описывается в ГЛАВЕ 9.
Наконец, мы можем заметить интересную закономерность: центральные узлы имеют тенденцию соединяться с небольшими узлами, создавая визуальный центр и определяя характер всей сети (Изображение 2.4a). Эта черта является результатом зависимости степеней, которую мы обсудим в ГЛАВЕ 7. Эта зависимость влияет на целый ряд сетевых процессов, такие как феномен распространения и определение ключевых узлов сети.
Изображения 2.4 и 2.18 иллюстрируют, как метрики, описанные в данной главе могут помочь с определением нескольких ключевых свойств настоящих сетей. На протяжении последующих частей мы изучим эти свойства сети и постараемся понять, что они могут сказать о свойствах конкретной сложной системы.




В литературе по сетям вы можете встретить определение глобального коэффициента кластеризации, измеряющего общее количество замкнутых треугольников в сети. Действительно, в (2.15) L iравен числу треугольников, в которых участвует узел i, так как каждая связь между его соседей и замыкает такой треугольник (Изображение 2.17). Следовательно, степень глобального коэффициента кластеризации сети может быть также определена как глобальный коэффициент кластеризации, т.е.
где соединенным триплетом называется набор из трех узлов ABC, такой что A соединяется с B а B соединяется с C. К примеру, треугольник A, B, C содержит три триплета, ABC, BCA и CAB. В то же время цепь из соединенных узлов A, B, C, где B соединен с A и C, но связь между A и C отсутствует, формируется лишь один триплет ABC. Мультипликатор 3 в начале формулы (2.17) следует из факта что каждый треугольник посчитан три раза в подсчете триплетов.
Корни глобального коэффициента кластеризации восходят к литературе по социальным сетям 1940-х [17, 18], где C Δ часто называют долей транзитивных триплетов (the ratio of transitive triplets).
Заметьте, что средний коэффициент кластеризации ‹C›, определенный в (2.16) не равен глобальному коэффициенту кластеризации (2.17). К примеру возьмем сеть в виде двойной звезды с N узлами, где узлы 1 и 2 соединены друг с другом и со всеми другими узлами, а больше связей нет. В таком случае локальный коэффициент кластеризации C i равен 1 для и для . Средний локальный коэффициент кластеризации следовательно равен ‹C› = 1−O(1), в то время как глобальный примерно равен CΔ \~ 1/N. В большинстве сетей два коэффициента различаются не так сильно, однако все же отличаются друг от друга [19]. К примеру, для сети на Изображении 2.16b ‹C› = 0.31 , в то время как CΔ = 0.375.
[1] K.-I. Goh, M. E. Cusick, D. Valle, B. Childs, M. Vidal, and A.-L. Barabási. The human disease network. PNAS, 104:8685–8690, 2007.
[2] H.U. Obrist. Mapping it out: An alternative atlas of contemporary cartographies. Thames and Hudson, London, 2014.
[3] I. Meirelles. Design for Information. Rockport, 2013.
[4] K. Börner. Atlas of Science: Visualizing What We Know. The MIT Press, 2010.
[5] L. B. Larsen. Networks: Documents of Contemporary Art. MIT Press. 2014.
[6] L. Euler, Solutio Problemat is ad Geometriam Situs Pertinentis. Commentarii Academiae Scientiarum Imperialis Petropolitanae 8:128-140, 1741.
[7] G. Alexanderson. Euler and Königsberg’s bridges: a historical view. Bulletin of the American Mathematical Society 43: 567, 2006.
[8] A.-L. Barabási and R. Albert. Emergence of scaling in random networks. Science, 286:509–512, 1999.
[9] G. Gilder. Metcalfe’s law and legacy. Forbes ASAP, 1993.
[10] B. Briscoe, A. Odlyzko, and B. Tilly. Metcalfe’s law is wrong. IEEE Spectrum, 43:34–39, 2006.
[11] Y.-Y. Ahn, S. E. Ahnert, J. P. Bagrow, A.-L. Barabási. Flavor network and the principles of food pairing, Scientific Reports, 196, 2011.
[12] D. J. Watts and S. H. Strogatz. Collective dynamics of ‘small-world’ networks. Nature, 393:440–442, 1998.
[13] A. Barrat, M. Barthélemy, R. Pastor-Satorras, and A. Vespignani. The architecture of complex weighted networks. PNAS, 101:3747–3752, 2004.
[14] J. P. Onnela, J. Saramäki, J. Kertész, and K. Kaski. Intensity and coherence of motifs in weighted complex networks. Physical Review E, 71:065103, 2005.
[15] B. Zhang and S. Horvath. A general framework for weighted gene coexpression network analysis. Statistical Applications in Genetics and Molecular Biology, 4:17, 2005.
[16] P. Holme, S. M. Park, J. B. Kim, and C. R. Edling. Korean university life in a network perspective: Dynamics of a large affiliation network. Physica A, 373:821–830, 2007.
[17] R. D. Luce and A. D. Perry. A method of matrix analysis of group structure. Psychometrika, 14:95–116, 1949.
[18] S. Wasserman and K Faust. Social Network Analysis: Methods and Applications. Cambridge University Press, 1994.
[19] B. Bollobás and O. M. Riordan. Mathematical results on scale-free random graphs, in Stefan Bornholdt, Hans Georg Schuster, Handbook of Graphs and Networks: From the Genome to the Internet(2003 Wiley-VCH Verlag GmbH & Co. KGaA).