2012-03-18 41 views
1

我使用JUNG作爲我的工具來可視化網絡圖和計算網絡屬性(例如:indegree,outdegree和pagerank)。如何在JUNG中使用PageRank算法?

我知道JUNG已經實現了PageRank算法,但是手冊中沒有關於使用pagerank算法的說明(http://jung.sourceforge.net/doc/index.html)。

有誰知道該怎麼做?

我也嘗試了下面的代碼,但是它出現了一個錯誤「Vertex CLP Holdings Ltd不是該圖中的一個元素」。

public void calcPageRank() 
{ 
    PageRank<MyNode, MyLink> alg = new PageRank<MyNode, MyLink>(g,0.1); 
    alg.initialize(); 
    System.out.println(alg.getVertexScore(new MyNode(53084,"CLP Holdings Ltd")));  
} 

代碼文件是here

THX!

+0

其實,如果你通過通過從http://code.google.com/p/jung/source採取M2E的Maven SVN SCM連接器檢查出建榮/ checkout,它具有'edu.uci.ics.jung.algorithms.scoring'包中的類的單元測試,其中包括[TestPageRank](http://code.google.com/p/jung/source/browse/trunk/ jung/jung-algorithms/src/test/java/edu/uci/ics/jung/algorithms/scoring/TestPageRank.java)單元測試類和[TestPageRankWithPriors](http://code.google.com/p/jung/源/瀏覽/中繼/戎/戎的算法/ SRC /test/java/edu/uci/ics/jung/algorithms/scoring/TestPageRankWithPriors.java)單元測試類 – ecle 2012-03-18 09:56:54

+0

嗨eee,我仍然對如何在JUNG中使用pagerank算法感到困惑。你可以根據我的代碼給出一些特定的解決方案嗎?我追溯了代碼(AbstractIterativeScorer.java)並懷疑我在我的程序(MyNode)中使用了不同的數據結構。它導致pagerank算法無法在圖中找到我的頂點並拋出IllegalArgumentException異常。謝謝〜 – DaveLee 2012-03-18 16:44:26

+0

你看過Javadoc嗎?或者教程?至於你得到的錯誤,最好的猜測是(a)頂點實際上不在你的圖中,或者(b)你沒有在你的MyNode類中以兼容的方式定義equals()和hashCode()。 (注意:「初始化()」?我假設你的意思是「評估()」 – 2012-03-18 19:16:15

回答