## Abstract

We consider the problem of estimating the number of triangles in a graph. This problem has been extensively studied in both theory and practice, but all existing algorithms read the entire graph. In this work we design a 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 < ϵ < 1, the algorithm provides an estimate t such that, with high constant probability, (1 - ϵ)· t <t < (1 + ϵ)·t, where t is the number of triangles in the graph G. The expected query complexity of the algorithm is (n/t^{1/3} + min{m, m^{3/2}/t})· poly(logn, 1/ϵ), where n is the number of vertices in the graph and m is the number of edges. The expected running time of the algorithm is (m is the number of edges. The expected running time of the algorithm is (n/t^{1/3} + m^{3/2}/t)·poly (log n, 1/ϵ). We also prove that Ω(n/t^{1/3} + min{m, m^{3/2}/t) queries are necessary, thus establishing that the query complexity of this algorithm is optimal up to the dependence on poly(logn, 1/ϵ).

Original language | English |
---|---|

Pages (from-to) | 1603-1646 |

Number of pages | 44 |

Journal | SIAM Journal on Computing |

Volume | 46 |

Issue number | 5 |

DOIs | |

State | Published - 2017 |