# Incremental *k*-core decomposition: algorithms and evaluation

- 900 Downloads
- 6 Citations

## Abstract

A *k*-core of a graph is a maximal connected subgraph in which every vertex is connected to at least *k* vertices in the subgraph. *k*-core decomposition is often used in large-scale network analysis, such as community detection, protein function prediction, visualization, and solving NP-hard problems on real networks efficiently, like maximal clique finding. In many real-world applications, networks change over time. As a result, it is essential to develop efficient incremental algorithms for dynamic graph data. In this paper, we propose a suite of incremental *k*-core decomposition algorithms for dynamic graph data. These algorithms locate a small subgraph that is guaranteed to contain the list of vertices whose maximum *k*-core values have changed and efficiently process this subgraph to update the *k*-core decomposition. We present incremental algorithms for both insertion and deletion operations, and propose auxiliary vertex state maintenance techniques that can further accelerate these operations. Our results show a significant reduction in runtime compared to non-incremental alternatives. We illustrate the efficiency of our algorithms on different types of real and synthetic graphs, at varying scales. For a graph of 16 million vertices, we observe relative throughputs reaching a million times, relative to the non-incremental algorithms.

## Keywords

*k*-Core Streaming graph algorithms Dense subgraph discovery Incremental graph algorithms

## Notes

### Acknowledgments

This work is partially sponsored by the US Defense Advanced Research Projects Agency (DARPA) under the Social Media in Strategic Communication (SMISC) program (Agreement No. W911NF-12-C-0028). The views and conclusions contained in this document are those of the author(s) and should not be interpreted as representing the official policies, either expressed or implied, of DARPA or the US Government.This work is also partially sponsored by The Scientific and Technological Research Council of Turkey (TÜBİTAK) under Grant EEEAG #112E271.

## References

- 1.Aksu, H., Canim, M., Chang, Y., Korpeoglu, I., Ulusoy, O.: Distributed-Core View Materialization and Maintenance for Large Dynamic Graphs. Knowl Data Eng. IEEE Trans.
**26**(10), 2439–2452 (2014)Google Scholar - 2.Alvarez-Hamelin, J.I., Dall’Asta, L., Barrat, A., Vespignani, A.:
*k*-Core decomposition: a tool for the visualization of large scale networks. In: The Computing Research Repository (CoRR), arXiv:abs/cs/0504107 (2005) - 3.Andersen, R., Chellapilla, K.: Finding dense subgraphs with size bounds. In: Workshop on Algorithms and Models for the Web Graph (WAW), pp. 25–37 (2009)Google Scholar
- 4.Bader, G.D., Hogue, C.W.V.: An automated method for finding molecular complexes in large protein interaction networks. BMC Bioinf.
**4**(1), 1–27 (2003). doi: 10.1186/1471-2105-4-2 - 5.Balasundaram, B., Butenko, S., Hicks, I.: Clique relaxations in social network analysis: the maximum \(k\)-plex problem. Oper. Res.
**59**, 133–142 (2011)MathSciNetCrossRefzbMATHGoogle Scholar - 6.Barabási, A.-L., Albert, R.: Emergence of scaling in random networks. Science
**286**(5439), 509–512 (1999)MathSciNetCrossRefzbMATHGoogle Scholar - 7.Batagelj, V., Zaversnik, M.: An O(m) algorithm for cores decomposition of networks. In: The Computing Research Repository (CoRR), arXiv:cs.DS/0310049 (2003)
- 8.Baur, M., Gaertler, M., Görke, R., Krug, M., Wagner, D.: Augmenting k-core generation with preferential attachment. Netw. Heterog. Media
**3**(2), 277–294 (2008)MathSciNetCrossRefzbMATHGoogle Scholar - 9.Chakrabarti, D., Zhan, Y., Faloutsos, C.: R-MAT: A recursive model for graph mining. In: SIAM International Conference on Data Mining (SDM) (2004)Google Scholar
- 10.Cheng, J., Ke, Y., Chu, S., Ozsu, M.T.: Efficient core decomposition in massive networks. In: IEEE International Conference on Data Engineering (ICDE), pp. 51–62 (2011)Google Scholar
- 11.DIMACS. 10th DIMACS Implementation Challenge. http://www.cc.gatech.edu/dimacs10
- 12.Dorogovtsev, S.N., Goltsev, A.V., Mendes, J.F.F.:
*k*-core organization of complex networks. Phys. Rev. Lett.**96**(4), 040601 (2006)Google Scholar - 13.Dourisboure, Y., Geraci, F., Pellegrini, M.: Extraction and classification of dense communities in the web. In: World Wide Web Conference (WWW), pp. 461–470 (2007)Google Scholar
- 14.Erdős, P., Hajnal, A.: On chromatic number of graphs and set-systems. Acta Math. Hung.
**17**, 61–99 (1966)MathSciNetCrossRefzbMATHGoogle Scholar - 15.Erdős, P., Rényi, A.: On the Evolution of Random Graphs, pp. 17–61. Institute of Mathematics, Hungarian Academy of Sciences, Budapest, Hungary (1960)Google Scholar
- 16.Fortunato, S.: Community detection in graphs. Phys. Rep.
**483**(3–5), 75–174 (2009)MathSciNetGoogle Scholar - 17.Gaertler, M.: Dynamic analysis of the autonomous system graph. In: International Workshop on Inter-domain Performance and Simulation (IPS), pp. 13–24 (2004)Google Scholar
- 18.Giatsidis, C., Thilikos, D.M., Vazirgiannis, M.: D-cores: Measuring collaboration of directed graphs based on degeneracy. In: IEEE International Conference on Data Mining (ICDM), pp. 201–210 (2011)Google Scholar
- 19.Giatsidis, C., Thilikos, D.M., Vazirgiannis, M.: Evaluating cooperation in communities with the \(k\)-core structure. In: International Conference on Advances in Social Network Analysis and Mining (ASONAM), pp. 87–93 (2011)Google Scholar
- 20.Healy, J., Janssen, J., Milios, E., Aiello, W.: Characterization of graphs using degree cores. In: Workshop on Algorithms and Models for the Web Graph (WAW), pp. 137–148 (2006)Google Scholar
- 21.Kortsarz, G., Peleg, D.: Generating sparse 2-spanners. J. Algorithms
**17**(2), 222–236 (1994)MathSciNetCrossRefzbMATHGoogle Scholar - 22.Li, R.-H., Yu, J.X.: Efficient Core Maintenance in Large Dynamic Graphs. CoRR, arXiv:1207.4567 (2012)
- 23.Luczak, T.: Size and connectivity of the
*k*-core of a random graph. Discrete Math.**91**(1), 61–68 (1991)MathSciNetCrossRefzbMATHGoogle Scholar - 24.Nanavati, A.A., Siva, G., Das, G., Chakraborty, D., Dasgupta, K., Mukherjea, S., Joshi, A.: On the structural properties of massive telecom call graphs: findings and implications. In: ACM International Conference on Information and Knowledge Management (CIKM), pp. 435–444 (2006)Google Scholar
- 25.Ozgul, F., Erdem, Z., Bowerman, C., Atzenbeck, C.: Comparison of feature-based criminal network detection models with k-core and n-clique. In: International Conference on Advances in Social Network Analysis and Mining (ASONAM), pp: 400–401 (2010)Google Scholar
- 26.Saito, H., Toyoda, M., Kitsuregawa, M., Aihara, K.: A large-scale study of link spam detection by graph algorithms. In: International Workshop on Adversarial Information Retrieval on the Web (AIRWeb), pp. 45–48 (2007)Google Scholar
- 27.Samudrala, R., Moult, J.: A graph-theoretic algorithm for comparative modeling of protein structure. J. Mol. Biol.
**279**(1), 287–302 (1998)CrossRefGoogle Scholar - 28.Sarıyüce, A.E., Gedik, B., Jacques-Silva, G., Wu, K.-L., Çatalyürek, Ü.V.: Streaming algorithms for
*k*-core decomposition. In: Proceedings of the Very Large Data Bases Conference (PVLDB), pp. 433–444 (2013)Google Scholar - 29.Seidman, S.B.: Network structure and minimum degree. Soc. Netw.
**5**(3), 269–287 (1983)MathSciNetCrossRefGoogle Scholar - 30.SNAP. Stanford network analysis package. http://snap.stanford.edu/snap
- 31.Turaga, D., Andrade, H., Gedik, B., Venkatramani, C., Verscheure, O., Harris, J.D., Cox, J., Szewczyk, W., Jones, P.: Design principles for developing stream processing applications. Softw. Pract. Exp.
**40**(12), 1073–1104 (2010)CrossRefGoogle Scholar - 32.Verma, A., Butenko, S.: Network clustering via clique relaxations: a community based approach. In: 10th DIMACS Implementation Challenge (2011)Google Scholar
- 33.Wuchty, S., Almaas, E.: Peeling the yeast protein network. Proteomics
**5**(2), 444–449 (2005)CrossRefGoogle Scholar - 34.Zhang, Y., Parthasarathy, S.: Extracting analyzing and visualizing triangle
*k*-core motifs within networks. In: IEEE International Conference on Data Engineering (ICDE), pp. 1049–1060 (2012)Google Scholar