posted on 2014-03-01, 00:00authored byMihail N. Kolountzakis, Gary L. Miller, Richard Peng, Charalampos E. Tsourakakis
<p>In this paper we present an efficient triangle counting algorithm which can be adapted to the semistreaming model [12]. The key idea of our algorithm is to combine the sampling algorithm of [31,32] and the partitioning of the set of vertices into a high degree and a low degree subset respectively as in [1], treating each set appropriately. We obtain a running time O(m+m3/2Δlogntϵ2) and an <em>ε</em> approximation (multiplicative error), where <em>n</em> is the number of vertices, <em>m</em> the number of edges and Δ the maximum number of triangles an edge is contained. Furthermore, we show how this algorithm can be adapted to the semistreaming model with space usage O(m1/2logn+m3/2Δlogntϵ2) and a constant number of passes (three) over the graph stream. We apply our methods in various networks with several millions of edges and we obtain excellent results. Finally, we propose a random projection based method for triangle counting and provide a sufficient condition to obtain an estimate with low variance.</p>