TR09-083 Authors: Dana Ron, Mira Gonen, Yuval Shavitt

Publication: 24th September 2009 17:39

Downloads: 3746

Keywords:

Detecting and counting the number of copies of certain subgraphs (also known as {\em network motifs\/} or {\em graphlets\/}), is motivated by applications in a variety of areas ranging from Biology to the study of the World-Wide-Web. Several polynomial-time algorithms have been suggested for counting or detecting the number of occurrences of certain network motifs. However, a need for more efficient algorithms arises when the input graph is very large, as is indeed the case in many applications of motif counting.

In this paper we design {\em sublinear-time\/} algorithms for approximating the number of copies of certain constant-size subgraphs

in a graph $G$. That is, our algorithms do not read the whole graph, but rather query parts of the graph. Specifically, we consider

algorithms that may query the degree of any vertex of their choice and may ask for any neighbor of any vertex of their choice.

The main focus of this work is on the basic problem of counting the number of length-$2$ paths and more generally on counting the number of stars of a certain size. Specifically, we design an algorithm that,

given an approximation parameter $0 < \epsilon < 1$ and query access to a graph $G$, outputs an estimate $\hat{\tau}_s$ such that with high constant probability,

$(1-\epsilon)\tau_s(G) \leq \hat{\tau}_s \leq (1+\epsilon)\tau_s(G)$, where $\tau_s(G)$ denotes the number of stars of size $s+1$ in the graph. The expected query complexity and running time of the algorithm are $O\left(\frac{n}{(\stars(G))^{\frac{1}{s+1}}}

+ \min\left\{n^{1-\frac{1}{s}},\frac{n^{s-\frac{1}{s}}}

{(\stars(G))^{1-\frac{1}{s}}}\right\}\right)

\cdot{\rm\poly}(\log n,1/\epsilon)\;$.

We also prove lower bounds showing

that this algorithm is tight up to polylogarithmic factors in $n$ and the dependence on $\epsilon$.

Our work extends the work of Feige ({\em SIAM Journal on Computing, 2006\/})

and Goldreich and Ron ({\em Random Structures and Algorithms, 2008 \/}) on approximating the number of edges (or average degree) in a graph. Combined with these results, our result can be used to obtain an estimate on the variance of the degrees in the graph and corresponding higher moments.

In addition, we give some (negative) results on approximating the number of triangles and on approximating the number of length-$3$-paths in sublinear time.