Dynamical SimRank Search on Time-Varying Networks

10/31/2017
by   Weiren Yu, et al.
0

In this article, we study the efficient dynamical computation of all-pairs SimRanks on time-varying graphs. Li et al.'s approach requires O(r^4 n^2) time and O(r^2 n^2) memory in a graph with n nodes, where r is the target rank of the low-rank SVD. (1) We first consider edge update that does not accompany new node insertions. We show that the SimRank update Δ S in response to every link update is expressible as a rank-one Sylvester matrix equation. This provides an incremental method requiring O(Kn^2) time and O(n^2) memory in the worst case to update all pairs of similarities for K iterations. (2) To speed up the computation further, we propose a lossless pruning strategy that captures the "affected areas" of Δ S to eliminate unnecessary retrieval. This reduces the time of the incremental SimRank to O(K(m+|AFF|)), where m is the number of edges in the old graph, and |AFF| (< n^2) is the size of "affected areas" in Δ S, and in practice, |AFF| ≪ n^2. (3) We also consider edge updates that accompany node insertions, and categorize them into three cases, according to which end of the inserted edge is a new node. For each case, we devise an efficient incremental algorithm that can support new node insertions. (4) We next design an efficient batch incremental method that handles "similar sink edges" simultaneously and eliminates redundant edge updates. (5) To achieve linear memory, we devise a memory-efficient strategy that dynamically updates all pairs of SimRanks column by column in just O(Kn+m) memory, without the need to store all (n^2) pairs of old SimRank scores. Experimental studies on various datasets demonstrate that our solution substantially outperforms the existing incremental SimRank methods, and is faster and more memory-efficient than its competitors on million-scale graphs.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/28/2019

Streaming and Batch Algorithms for Truss Decomposition

Truss decomposition is a method used to analyze large sparse graphs in o...
research
06/29/2020

Efficient Enumerations for Minimal Multicuts and Multiway Cuts

Let G = (V, E) be an undirected graph and let B ⊆ V × V be a set of term...
research
04/05/2018

Simple dynamic algorithms for Maximal Independent Set and other problems

We study three fundamental graph problems in the dynamic setting, namely...
research
02/26/2018

Dynamic Effective Resistances and Approximate Schur Complement on Separable Graphs

We consider the problem of dynamically maintaining (approximate) all-pai...
research
07/21/2013

On GROUSE and Incremental SVD

GROUSE (Grassmannian Rank-One Update Subspace Estimation) is an incremen...
research
10/08/2018

An Improved Algorithm for Incremental Cycle Detection and Topological Ordering in Sparse Graphs

We consider the problem of incremental cycle detection and topological o...
research
04/09/2023

CILIATE: Towards Fairer Class-based Incremental Learning by Dataset and Training Refinement

Due to the model aging problem, Deep Neural Networks (DNNs) need updates...

Please sign up or login with your details

Forgot password? Click here to reset