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/t1/3 + min{m, m3/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/t1/3 + m3/2/t)·poly (log n, 1/ϵ). We also prove that Ω(n/t1/3 + min{m, m3/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 |
Externally published | Yes |
Bibliographical note
Publisher Copyright:Copyright © by SIAM.