Triangle counting in networks using a multi-level branching technique

Counting triangles in networks is a fundamental problem in network science. In addition, because we are forced to manage very large real-world networks, current triangle counting algorithms naturally require a distributed computing system. In this paper, we propose a distributed triangle counting algorithm based on both the vertex-centric and node-iterator models and using the multi-level branching technique. Multi-level branching is a method that constructs an ordered graph structure based on levels. This method not only facilitates an efficient triangle counting process, but also guarantees the computational integrity of each split in the distributed triangle counting process. First, we describe a level-based triangle counting algorithm based on both the vertex-centric model and the node-iterator algorithm. Then, we develop a distributed implementation of the proposed algorithm using GraphChi. The main advantages of the proposed algorithm are that the execution is simple yet effective, and thus its parallelization is efficient. Experiments on real-world networks verify its performance, particularly, its near-linear parallelization scalability.

[1]  Jae-Gil Lee,et al.  On Finding Fine-Granularity User Communities by Profile Decomposition , 2012, 2012 IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining.

[2]  Guy E. Blelloch,et al.  GraphChi: Large-Scale Graph Computation on Just a PC , 2012, OSDI.

[3]  Duncan J. Watts,et al.  Collective dynamics of ‘small-world’ networks , 1998, Nature.

[4]  Kyomin Jung,et al.  LinkSCAN*: Overlapping community detection using the link-space transformation , 2014, 2014 IEEE 30th International Conference on Data Engineering.

[5]  Richard M. Karp,et al.  An efficient approximation scheme for the one-dimensional bin-packing problem , 1982, 23rd Annual Symposium on Foundations of Computer Science (sfcs 1982).

[6]  Jae-Gil Lee,et al.  Scalable community detection from networks by computing edge betweenness on MapReduce , 2014, 2014 International Conference on Big Data and Smart Computing (BIGCOMP).

[7]  Yufei Tao,et al.  Massive graph triangulation , 2013, SIGMOD '13.