Computer Science > Data Structures and Algorithms
[Submitted on 9 Apr 2015 (v1), revised 10 Apr 2015 (this version, v2), latest version 22 Sep 2015 (v3)]
Title:Space- and Time-Efficient Algorithm for Maintaining Dense Subgraphs on One-Pass Dynamic Streams
View PDFAbstract:While in many graph mining applications it is crucial to handle a stream of updates efficiently in terms of {\em both} time and space, not much was known about achieving such type of algorithm. In this paper we study this issue for a problem which lies at the core of many graph mining applications called {\em densest subgraph problem}. We develop an algorithm that achieves time- and space-efficiency for this problem simultaneously. It is one of the first of its kind for graph problems to the best of our knowledge.
Given an input graph, the densest subgraph is the subgraph that maximizes the ratio between the number of edges and the number of nodes. For any $\epsilon>0$, our algorithm can, with high probability, maintain a $(4+\epsilon)$-approximate solution under edge insertions and deletions using $\tilde O(n)$ space and $\tilde O(1)$ amortized time per update; here, $n$ is the number of nodes in the graph and $\tilde O$ hides the $O(\poly\log_{1+\epsilon} n)$ term. The approximation ratio can be improved to $(2+\epsilon)$ with more time. It can be extended to a $(2+\epsilon)$-approximation sublinear-time algorithm and a distributed-streaming algorithm. Our algorithm is the first streaming algorithm that can maintain the densest subgraph in {\em one pass}. Prior to this, no algorithm could do so even in the special case of incremental stream and even when there is no time restriction. The previously best algorithm in this setting required $O(\log n)$ passes [Bahmani, Kumar and Vassilvitskii, VLDB'12]. The space required by our algorithm is tight up to a polylogarithmic factor.
Submission history
From: Sayan Bhattacharya [view email][v1] Thu, 9 Apr 2015 11:43:52 UTC (52 KB)
[v2] Fri, 10 Apr 2015 08:20:42 UTC (52 KB)
[v3] Tue, 22 Sep 2015 10:22:13 UTC (59 KB)
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
Connected Papers (What is Connected Papers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.