具有加权边的图的Pagerank公式(顺序或BSP)

时间:2013-02-16 02:54:21

标签: parallel-processing graph-algorithm bigdata pagerank

Pagerank算法(我知道)假设边缘没有权重。所以标准公式是:

PR(A) = (1 - d)/N + d*\sigma PR(E)/L(E)

其中L(E)是页面E的外向链接数,其中E是指向页面A的每个页面。

正如您在此处所见,公式中未考虑进入A的边的权重。

两个问题:

a)如果我们考虑每个边缘的权重进入A,那么调整后的公式是什么,假设权重越高越好(python中的networkx包确实考虑加权边缘,但代码比上面更复杂)公式,我更愿意检查是否有更简单的解决方案)

b)我实际上想要这个BSP Pregel之类的框架。有BSP Pregel style implementation,但正如您所看到的,它不考虑边缘的权重。如果你能推荐一个,那就太棒了

2 个答案:

答案 0 :(得分:0)

我建议你首先将所有边缘权重加到邻居中,然后向邻居发出一定比例的节点等级。

例如: 一个节点的等级为10.他有2个邻居,他们的边缘权重为70和30。 总而言之,这将是100.对于具有边权重70的第一个节点,您发出等级7,而另一个节点发出3。

答案 1 :(得分:0)

有一个WeightedPageRank here的Java实现。我没有尝试过,但在快速阅读了这些来源后,它似乎符合您的要求。

相关问题