We consider the problem of estimating the number of triangles in a graph. This problem has been extensively studied in two models: Exact counting algorithms, which require reading the entire graph, and streaming algorithms, where the edges are given in a stream and the memory is limited. In this work we design a {\em sublinear-time\/} algorithm for approximating the number of triangles in a graph, where the algorithm is given query access to the graph. The allowed queries are degree queries, vertex-pair queries and neighbor queries.
We show that for any given approximation parameter $0<\epsilon<1$, the algorithm provides an estimate $\widehat{\Delta}$ such that with high constant probability, $(1-\epsilon)\Delta(G)< \widehat{\Delta}<(1+\epsilon)\Delta(G)$, where $\Delta(G)$ is the number of triangles in the graph $G$. The expected query complexity of the algorithm is $O\left(\frac{n}{\Delta(G)^{1/3}} + \min\left\{m, \frac{m^{3/2}}{\Delta(G)}\right\}\right)\cdot {\rm poly}(\log n, 1/\epsilon)$, where $n$ is the number of vertices in the graph and $m$ is the number of edges,
and the expected running time is
$O\left(\frac{n}{\Delta(G)^{1/3}} + \frac{m^{3/2}}{\Delta(G)}\right)\cdot {\rm poly}(\log n, 1/\epsilon)$. We also prove that
$\Omega\left(\frac{n}{\Delta(G)^{1/3}} + \min\left\{m, \frac{m^{3/2}}{\Delta(G)}\right\}\right)$ queries are necessary,
thus establishing that the query complexity of this algorithm is optimal up to polylogarithmic factors in $n$ (and the dependence on $1/\epsilon$).
http://arxiv.org/abs/1504.00954