Computer Science > Data Structures and Algorithms
[Submitted on 9 Apr 2015 (v1), last revised 22 Sep 2015 (this version, 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.
In a graph $G = (V, E)$, the "density" of a subgraph induced by a subset of nodes $S \subseteq V$ is defined as $|E(S)|/|S|$, where $E(S)$ is the set of edges in $E$ with both endpoints in $S$. In the densest subgraph problem, the goal is to find a subset of nodes that maximizes the density of the corresponding induced subgraph. For any $\epsilon>0$, we present a dynamic algorithm that, with high probability, maintains a $(4+\epsilon)$-approximation to the densest subgraph problem under a sequence of edge insertions and deletions in a graph with $n$ nodes. It uses $\tilde O(n)$ space, and has an amortized update time of $\tilde O(1)$ and a query time of $\tilde O(1)$. Here, $\tilde O$ hides a $O(\poly\log_{1+\epsilon} n)$ term. The approximation ratio can be improved to $(2+\epsilon)$ at the cost of increasing the query time to $\tilde O(n)$. 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}. 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.