2013-11-02 42 views
0

我無法理解JUNG圖形如何處理邊權。我使用PageRankWithPriors,並且當我使用沒有邊權重的構造函數時,我會得到確定的結果,但是當我使用邊權重構造PageRankWithPriors時,我得不到任何結果。 PageRankWithPriors .getVertexScore()返回「南」JUNG圖形庫(PageRankWithPriors)如何處理邊權

這裏的構造函數:

PageRankWithPriors<customVertex, customEdge> ranker = new PageRankWithPriors<customVertex, customEdge>(graph.getGraph(), 
     new Transformer<customEdge, Double>() { 
     @Override 
     public Double transform(customEdge edge) { 

      return edge.getnormalizedWeight(); 
     } 
    }, 
    new Transformer<customVertex, Double>() { 
     @Override 
     public Double transform(customVertex vertex) { 
     //return getSourceNodes().contains(vertex) ? 1.0 : 0; 
      if (priorityVertexList !=null){ 
       if (priorityVertexList.contains(vertex)) return new Double((0.85/priorityVertexList.size())).doubleValue(); 
       else return new Double((0.15/(graph.getGraph().getVertexCount()-priorityVertexList.size()))).doubleValue(); 
      } 
      else{ 
       return new Double((0.15/(graph.getGraph().getVertexCount()))).doubleValue(); 
      } 
     } 
    }, alpha); 

所以我的問題是如何edgeweights解釋......我可以給的5邊權重或是否有介於0和1之間? (propability)

回答

0

邊權重表示轉換概率,因此給定頂點的輸出邊上的權重總和必須爲1.

+0

感謝您的信息。我最終明白了這一點,並讓系統現在可以正常工作。好答案。 – cm4l