1. 程式人生 > >圖:centrality

圖:centrality

sha algo 重要 相對 central 計算 所有 由器 最短

【定義】Centrality:圖中每個節點v的相對重要度c(v),重要度是什麽可根據具體應用定義。

【估計方法】

Degree centrality

Betweenness centrality

Closeness centrality

Eigenvector centrality

PageRank及其他

通常,Centrality的估計有幾種方法:

1. Degree centrality

計算公式:C(v)=degree(v)

備註:節點v處的邊數直接作為centrality,若邊是有向的,則可以有兩個c(v)的定義:入度數和出度數

此定義也可視為到v距離為1的所有路徑長度。

2. Betweenness centrality(Freeman Linton, 1977)

計算公式:C(v)=圖中所有除節點v外的節點對之間經過v的最短路徑數/圖中所有除節點v外的節點對之間所有的最短路徑數;

備註:衡量v作為路由器的功率。

計算復雜度:

1)Floyd-Warshall algorithm(也稱Floyd’s algorithm, Roy-Warshall algorithm, Roy-Floyd algorithm, WFI algorithm,基於動態規劃的計算任意兩點間最短路徑的算法,也可用於計算有向圖的傳遞閉包),平均復雜度為theta(|V|^3),|V|為圖中節點總數。

2)Johnson’s algorithm,也是計算最短路徑的算法,在稀疏圖中(有向、有邊權),最壞情況下,O(|V|^2*Log|V|+|V|*|E|)

3)Brandes‘ algorithm (a faster algorithm for betweenness centrality, 2001), 在無權重(同權重)的圖上,最壞情況下O(|V|*|E|)

3. Closeness centrality(Freeman, 1978; Opsahl et al., 2010; Wasserman and Faust, 1994)

計算公式:從v到所有其他節點的最短距離和的倒數。

備註1:這個centrality只能用於連通圖,非聯通圖上會出現無窮大,然後所有節點的centrality都是0;

備註2:這個centrality可用於衡量一個節點將信息傳播到其他節點的時間或者花費,能用來尋找圖中的community leader。

修正1:Dangalchev(2006)對上述定義做了修正,將v到其他節點t的最短距離d(v,t)修正為2^(-d(v,t)),然後對除v之外的所有節點t的該值求和,作為centrality,使之能夠用到非聯通圖上。

修正2:Opsahl(2010)和Boldi and Vigna(2013)做了另外一個修正,使得其能用到非聯通圖上,原來的定義中先對最短距離求和,然後求倒數,該修正中反過來,先對到每個節點的距離求倒數,在對倒數求和,作為cnetrality。

4. Eigenvector centrality

5. PageRank及其他

圖:centrality