Approximately Counting Triangles in Sublinear Time
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 \!(nt1/3 + \m, m3/2t\)· poly( n, 1/ε), where n is the number of vertices in the graph and m is the number of edges, and the expected running time is \!(nt1/3 + m3/2t)· poly( n, 1/ε). We also prove that \!(nt1/3 + \m, m3/2t\) 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/ε).
Turn this paper into a lesson
ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.