圖網絡基本屬性 - 知乎

如何描述一個網絡

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網絡很類似, 右上角爲其初始矩陣:

相關文章
相關標籤/搜索