2016-11-20 74 views
0

我在帶有幾個自循環的加權定向網絡的python上使用igraph。我用igraph計算了節點的pagerank,考慮它們各自的權重,並指示= True。 在文獻中,我發現PageRank的計算考慮了其「隨機遊走」(http://www.math.ryerson.ca/~abonato/webgraph.html)的節點outdegree,但是它沒有明確說明使用自循環做了什麼。PageRank的igraph(python)實現是否包含自循環?

我在假設igraph在PageRank的計算中考慮自循環嗎?

+1

您可以創建2個相同的圖形,但一個帶有循環,另一個沒有。然後你可以比較結果。原始的Page Rank算法不允許自行循環。然而,有些變化要麼顯式地增加自我循環,要麼考慮鏈接結構中存在的那些變化。 – sera

回答

1

測試此:

edges1 = [(0,1),(1,2),(2,3),(1,1)] 
edges2 = [(0,1),(1,2),(2,3)] 

test1 = Graph(directed = True) 
test2 = Graph(directed = True) 
for i in xrange(4): 
    test1.add_vertex(i) 
    test2.add_vertex(i) 

test1.add_edges(edges1) 
test2.add_edges(edges2)  

print(test1.pagerank()) 
#[0.10419852083404119, 0.33524741485734993, 0.24667867214841493, 0.3138753921601939] 
print(test2.pagerank()) 
#[0.11615582303660361, 0.2148882726177167, 0.29881085476166275, 0.37014504958401695] 

是。

編輯爲代碼簡潔。