图网络基本属性 - 知乎

如何描述一个网络

Degree Distribution

P(k): 随机选择的节点, 度为k的的几率分布, 使用直方图来描述node

其中 N_k 表示度为k的节点数, 好比上图中,度为1的节点数有6, 全部节点数为10, 因此 P(6)=0.6 网络

Path Length

Path: path是指每一个节点链接下一个节点的序列,其中,一个path可以重复屡次相同的边, 以下图: ACBDCDEG app

Distance: 链接节点对最少数量的边,称为两个节点间的distance,以下图,其中 h_{B,D}=2, h_{A,X}=\infty , 若图中两节点无链接,或中间链接断开,则distance为无穷,在有向图中,distance的计算应该考虑两个节点间的方向,以下图 h_{B,C}=1, h{C,B}=2 ,不是对称的: dom

Diameter在graph中,全部节点对当中最长distance; Average path length针对graph来讲, average path length计算公式以下: spa

h_{average}=\frac{\sum_{i,j!=i h_{ij}}}{2E_{max}}

其中 h_{ij} 是node i到node j的distance, E_{max} 是指图最多可存在的边数: \frac{n(n-1)}{2} 3d

Cluster coefficient

cluster coefficient 对于无向图,用来描述节点i与他的邻居的连接状况, 其中节点i的度为k_{i} ,clustering coefficient计算公式以下: component

C_{i}=\frac{2e_{i}}{k_{i}(k_{i}-1)}

以下图, 图的node i的cluster coefficient计算以下: C_{i}=\frac{26}{4(4-1)}=1, C_{i}=\frac{(23)}{4(4-1)}=0.5, C_{i}=\frac{20}{4(4-1)}=0 递归

Average clustering coefficient: C=\frac{1}/{N}\sum_{i}^{N}C_{i} ci

K_{A}=1, e_{A}=0, C_{A}=0

k_{B}=2, e_{B}=1, C_{B}=1

k_{C}=4, e_{C}=2, C_{C}=1/3

k_{D}=4, e_{D}=2, C_{D}=1/3

k_{E}=3, e_{E}=0, C_{E}=0

k_{F}=1, e_{F}=0, C_{F}=0

k_{G}=1, e_{G}=0, C_{G}=0

k_{H}=2, e_{H}=1, C_{H}=1

avg. clustering: C= (1+1/3+1/3+1)/8=1/3同步

Connected components

Connectivity 图当中最大的可链接的component:可以经过path连接的任意两个几点的最大的集合; 如何找到图当中的connect components,从图中随机节点开始,按广度优先策略遍历,标记遍历过的节点,若是,全部的节点均被遍历,那么这个未connected component, 不然从未遍历的节点中随机开始,重复广度优先策略遍历;

描述实际中的图:MSN Messenger

msn一个月的相关的数据,以下:

Degree Distribution

x坐标log以后:

可见大部分的节点degress在个位数。

Clustering

将全部的节点的k与c绘制在以下图中,整个graph的avg culstering coefficient约为0.1140

Connected Components

Diameter

msn的graph中平均path length为6.6, 90% 的节点可以触及在8个连接后触及到另外一节点;

图的核心属性如何使用?

这些graph的属性是意外的仍是在咱们自己预料之中?

PPI Network

Random Graph Model

Simplest Model of Graph

ER Random Graphs 两个变种:

1. G_{np} : n个节点的无向图,其中每一条边是几率为p的独立同分布;

2. G_{mn} : n个节点的无向图,其中m个边均匀随机生成;

须要说明的是,n, p 没法惟一地的决定graph,以下图,相同的n,p下, 咱们有不一样的图:

Degree Distribution of G_{np}

假定P{(k)} 表示度为k在全部节点中的占比, 则

\alpha P_{(k)}= C_{n-1}^{k} p^{k}(1-p)^{n-1-k}

很明显的binomial distribution, 因此均值、方差为:

k_mean = p(n-1)

\sigma^2 = p(1-p)(n-1)

标准差率为: \frac{\sigma}{k_mean} \approx \frac{1}{(n-1)^{0.5}} ,当图无限大的时候,则标准差为0, 全部的节点都为 k_{mean}

Clustering Coefficient of G_{np}

已知 C_{i}=\frac{2e_{i}}{k_{i}(k_{i}-1)}, G_{np} 边为几率为p的独立同步分, 其中 E[e_{i}] = p\frac{k_{i}(k_{i}-1)}{2} , 故E[C_i] = \frac{pk_i(k_i - 1)}{k_i(k_i -1)} = p = \frac{k_{avg}}{n-1} \approx \frac{k_{avg}}{n}

Expansion

定义\alpha : 若是一个graph的任意的子集S,子集中边的条数大于alpha乘以子集或者graph去除子集以后的节点数量, Expansion一般用来衡量图的鲁棒性:

\alpha = \mathop{\min}_{S \subseteqq}{\frac{\# edges\  leaving\ S} {min(|s|, |V \ S|)}}

这张ppt没理解清楚,

G_{np} 中,n*p为常数,因此avg deg k也为常数:

Connected Components

G_{np},n = 100000, k=p(n-1)=0.5...3 ,Largest CC中节点占图中全部节点的比例

Random Graph Model vs. MSN

在Random Graph Model 和实际的MNS的4个核心属性对比:

真实网络和Random Graph相似吗 ?

  • Giant Connected component: yes
  • Average path length: yes
  • Clustering Coefficient: No
  • Degree Distribution: No

The Small-World Model--能同时保证high clustering且短path的图吗?

回顾下前面MSN network,clustering coef为0.11, 而G_{np} 的clustering coef为 8*10^{-8} 。 另一个例子, IMDB数据集、Electrical power grid, Network of nerons中:

其中h:average shortest path length, C: avg clustering coefficient, random,是保证相同avg degree,相同节点下的图的状况。

下图左边:高clustering coefficient: 朋友的朋友是个人朋友;

Small-World同时保证high cluster and low diameter; 以下图,从high clustering/high diameter, 到low clustering/low diameter, 增长随机性(p变大): 即随机的将一条边的另外一个端点链接到任意较远的节点上,这样能够保持high clustering,low diameter;

下图中的p区域保证保证high clustering 和low path length:

Kronecker Graph Model: Generating large realistic graphs

递归的graph的生成: Self-similarity

Kronecker Produce是一种生成self-similar矩阵的方法:

Kronecker Product 定义以下:

举个例子:

  • 构建一个 N_1 * N_1 的初始几率矩阵;
  • 计算k阶Kronecker 矩阵;
  • 遍历k阶矩阵,按p_{uv} 构建edge(u, v)连接

如上图最后, 须要模拟n^2 次,耗时过高, 是否有更高效方法(利用其递归结构)?

真实网络与Kronecker网络很类似, 右上角为其初始矩阵: