我是布卢明顿印第安纳大学计算机科学专业的研究生。对于我的一个研究项目,我正在为一个非常稀疏且死链接比例很高的有向图计算页面排名。
死链接是指出度为零的节点。有时,在有很多死链接的图中,可能会出现蜘蛛陷阱。无论如何,我感兴趣的问题是在这种情况下找出页面排名。
我正在使用 JUNG(Java 通用图网络)来计算页面排名。
当我使用正常程序时,
Graph<String, String> jungGraph = new DirectedSparseGraph<String, String>();
PageRank<String, String> pagerank = new PageRank<String,String>(jungGraph, 0.2);
pagerank.setMaxIterations(20);
pagerank.setTolerance(0.000001);
pagerank.evaluate();
当我清楚地知道不应该是这种情况时,我为所有节点获得或多或少相同的 pagerank 值。由于图中的一些节点有大量的出节点并且是强互连的。
在这种情况下建议的方法是什么。我知道有这个类 PageRankWithPriors。我是否应该首先提取没有死链接的网络,为它们计算页面排名,然后将它们的排名传播到死链接,直到它们收敛。在后一种情况下,缩减网络中的所有节点(outdegree != 0)都将设置其先验,而死链接则不会。
我在这里错过了什么吗?