Skip to main content
QUICK REVIEW

[论文解读] Approximate Personalized PageRank on Dynamic Graphs

Hongyang Zhang, Peter Lofgren|arXiv (Cornell University)|Mar 25, 2016
Complex Network Analysis Techniques参考文献 17被引用 6
一句话总结

该论文提出了两种动态算法——前向推送(Forward Push)与反向推送(Reverse Push),以在边插入和删除的图上高效维护近似个性化PageRank(PPR)向量。通过在两个向量之间维持不变量,并在边变更后应用局部更新,两种算法均实现了每次更新的摊销工作量为 O(1),外加一次静态PPR计算的代价,且在随机边更新顺序下,对误差和运行时间均有严格的理论界。

ABSTRACT

We propose and analyze two algorithms for maintaining approximate Personalized PageRank (PPR) vectors on a dynamic graph, where edges are added or deleted. Our algorithms are natural dynamic versions of two known local variations of power iteration. One, Forward Push, propagates probability mass forwards along edges from a source node, while the other, Reverse Push, propagates local changes backwards along edges from a target. In both variations, we maintain an invariant between two vectors, and when an edge is updated, our algorithm first modifies the vectors to restore the invariant, then performs any needed local push operations to restore accuracy. For Reverse Push, we prove that for an arbitrary directed graph in a random edge model, or for an arbitrary undirected graph, given a uniformly random target node $t$, the cost to maintain a PPR vector to $t$ of additive error $\varepsilon$ as $k$ edges are updated is $O(k + \bar{d} / \varepsilon)$, where $\bar{d}$ is the average degree of the graph. This is $O(1)$ work per update, plus the cost of computing a reverse vector once on a static graph. For Forward Push, we show that on an arbitrary undirected graph, given a uniformly random start node $s$, the cost to maintain a PPR vector from $s$ of degree-normalized error $\varepsilon$ as $k$ edges are updated is $O(k + 1 / \varepsilon)$, which is again $O(1)$ per update plus the cost of computing a PPR vector once on a static graph.

研究动机与目标

  • 解决在频繁添加或删除边的动态图中,维护准确、预计算PPR向量的挑战。
  • 为前向推送与反向推送算法的动态PPR维护提供首个严谨的理论分析。
  • 设计在控制加法误差或度归一化误差的前提下,实现低摊销更新成本的算法。
  • 在实践中优于先前方法,特别是在存储效率和更新速度方面,相较于蒙特卡洛方法与静态重新计算方法。

提出的方法

  • 算法在两个向量之间维持不变量:一个PPR估计向量和一个残差向量,后者用于追踪尚未处理的概率质量。
  • 当边被更新时,算法首先通过局部且高效的更新步骤修改向量,以恢复不变量。
  • 在恢复不变量后,仅对残差超过阈值的节点执行局部推送操作,从而确保误差控制。
  • 对于反向推送,算法从目标节点向后传播变化;对于前向推送,算法从源节点向前传播变化。
  • 理论分析采用摊销分析,以在随机边到达顺序的假设下,限制由边更新引发的推送级联。
  • 算法设计简洁高效,仅需极少的数据结构修改和低存储开销。

实验结果

研究问题

  • RQ1我们能否在动态图上维护近似PPR向量,且每次边变更的更新成本可证明地很低?
  • RQ2在误差有界的无向图上,动态前向推送的理论运行时间是多少?
  • RQ3在有界加法误差下,动态反向推送在有向和无向图上的理论运行时间是多少?
  • RQ4在实践中,动态PPR算法的性能与静态重新计算和蒙特卡洛方法相比如何?
  • RQ5该分析能否扩展至组合PPR向量或分布式环境?

主要发现

  • 对于任意有向图或具有均匀随机目标节点的无向图,反向推送在保持加法误差ε下的期望代价为 O(k + d̄/ε),其中k为更新次数,d̄为平均度数。
  • 对于具有均匀随机源节点的无向图,前向推送在保持度归一化误差ε下的代价为 O(k + 1/ε),实现每次更新的摊销工作量为 O(1)。
  • 在LiveJournal图上,动态反向推送算法在每次边插入后重新计算的效率高出100倍,且在更新次数上呈线性扩展。
  • 在Top-K PPR检索任务中,前向推送相比Bahmani等人提出的蒙特卡洛方法,存储空间减少4.5至12倍,边更新速度提升1.5至2.5倍。
  • 所提出的动态前向推送更新规则相比Ohsaka等人先前的方法,速度提升1.5至3.5倍,且未牺牲准确性。
  • 理论界在随机边更新顺序下成立;对于无向图,分析进一步强化至最坏情况边到达顺序,扩展了先前结果。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。