Skip to search boxSkip to navigationSkip to main content

Subgraph Enumeration in Massive Graphs

  • Francesco Silvestri
Research Output:
Contribution to conference - NOT published in proceeding or journal
Paper
Peer-review

Open access

Publication Information

Output type

Research Output:
Contribution to conference - NOT published in proceeding or journal
Paper
Peer-review

Original language

English

Publication milestones

  • Published - 11/09/2014

Publication status

Published - 11/09/2014

Abstract

We consider the problem of enumerating all instances of a given sample graph in a large data graph. Our focus is on determining the input/output (I/O) complexity of this problem. Let $E$ be the number of edges in the data graph, $k=\BO{1}$ be the number of vertexes in the sample graph, $B$ be the block length, and $M$ be the main memory size. The main result of the paper is a randomized algorithm that enumerates all instances of the sample graph in $\BO{E^{k/2}/\left(BM^{k/2-1}\right)}$ expected I/Os if the maximum vertex degree of the data graph is $\sqrt{EM}$. Under some assumptions, the same bound also applies with high probability.
Our algorithm is I/O optimal, in the worst-case, when the sample graph belongs to the Alon class, which includes cliques, cycles and every graph with a perfect matching: indeed, we show that any algorithm enumerating $T$ instances must always use $\BOM{T/\left(BM^{k/2-1}\right)}$ I/Os and there are graphs for which $T=\BOM{E^{k/2}}$. Finally, we propose a parallelization of the randomized algorithm in the MapReduce framework.

Access to documents

Related Event

Title

The 6th Workshop on Massive Data Algorithmics

Description

Part of ALGO 2014

Event type

Workshop

Date

11/09/2014 - 11/09/2014

Location

University of WroclawWroclowPoland