我怎样才能在python-igraph中重复使用以前的Pagerank计算结果

时间:2014-11-17 23:51:27

标签: python graph-theory igraph pagerank

我有一个不断变化的图表。随着时间的推移,会添加一些顶点并出现一些新边(节点不会被删除)。如果我有一个先前的pagerank计算结果,我如何重新使用它以提高速度?

python igraph模块看起来很漂亮,但我无法找到任何相关内容。 指定的改进应该是有用的,因为pr是随机算法。我有一个用python编写的原型,但我真的很想使用C库包装器。还有其他人经历过吗?

1 个答案:

答案 0 :(得分:1)

首先,PageRank 不是随机算法。 PageRank方程归结为计算稀疏矩阵的主要特征向量(嗯,不完全是稀疏矩阵,但是稀疏矩阵加上一些其他矩阵的总和,我们可以像稀疏那样快速地计算向量积),所以它是完全确定的。

其次,遗憾的是,没有办法告诉PageRank算法的内部实现,结果应该是" close"以前的PageRank向量,虽然理论上它可能是有用的,因为如果从已经接近真实特征向量的向量开始,特征向量计算可能会收敛得更快。

然而,igraph使用PRPACK来计算自0.7版以来的PageRank向量,并且PRPACK已经高度优化,因此即使你没有,它也可能会在你的图表上快速运行指定一个"特征向量提示"提前。我先试试看看它是怎么回事。