JUNG图库(PageRankWithPriors)如何处理edgeweights

时间:2013-11-02 12:53:06

标签: java jung pagerank

我无法理解JUNG图表如何处理边缘权重。我正在使用PageRankWithPriors,当我使用没有边权重的构造函数时,我得到了OK结果,但是当我使用edgeweights构造PageRankWithPriors时,我得不到任何结果。 PageRankWithPriors .getVertexScore()返回“NaN”

这是构造函数:

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);

所以我的问题是如何解释边缘权重...我可以给出5的边权或者它必须在0和1之间吗? (概率法)

1 个答案:

答案 0 :(得分:0)

边缘权重表示转移概率,因此给定顶点的出局边缘上的权重之和必须为1.