We study the problem of approximating the number of k-cliques in a graph when given query access to the graph. We consider the standard query model for general graphs via (1) degree queries, (2) neighbor queries and (3) pair queries. Let n denote the number of vertices in the graph, m the number of edges, and C k the number of k-cliques. We design an algorithm that outputs a (1 + ϵ )-approximation (with high probability) for C k , whose expected query complexity and Hence, the complexity of the algorithm is sublinear in the size of the graph for C k = ω (m k /2−1 ). Furthermore, the query complexity of our algorithm is essentially optimal (up to the dependence on log n, 1/ϵ and k). The previous results in this vein are by Feige (SICOMP 06) and by Goldreich and Ron (RSA 08) for edge counting (k = 2) and by Eden et al. (FOCS 2015) for triangle counting (k = 3). Our result matches the complexities of these results. The previous result by Eden et al. hinges on a certain amortization technique that works for triangle counting, and does not generalize to all k. We obtain a general algorithm that works for any k ≥ 3 by designing a procedure that samples each k-clique incident to a given set S of vertices with approximately equal probability. The primary difficulty is in finding cliques incident to purely high-degree vertices, since random sampling within neighbors has a low success probability. This is achieved by an algorithm that samples uniform random high degree vertices and a careful tradeoff between estimating cliques incident purely to high-degree vertices and those that include a low-degree vertex.
Their results were generalized by Eden et al. in REF to approximating the number of k-cliques for any k ≥ 3.
On approximating the number of k-cliques in sublinear time
STOC 2018
Computer Science Mathematics