Incremental maintenance of maximal cliques in a dynamic graph

  • Apurba DasEmail author
  • Michael Svendsen
  • Srikanta Tirthapura
Regular Paper


We consider the maintenance of the set of all maximal cliques in a dynamic graph that is changing through the addition or deletion of edges. We present nearly tight bounds on the magnitude of change in the set of maximal cliques when edges are added to the graph, as well as the first change-sensitive algorithm for incremental clique maintenance under edge additions, whose runtime is proportional to the magnitude of the change in the set of maximal cliques, when the number of edges added is small. Our algorithm can also be applied to the decremental case, when edges are deleted from the graph. We present experimental results showing these algorithms are efficient in practice and are faster than prior work by two to three orders of magnitude.


Graph mining Maximal clique Incremental algorithm Dynamic graph 



AD and ST were supported in part by NSF Grants 1527541, 1725702, and 1632116.


  1. 1.
    Angel, A., Koudas, N., Sarkas, N., Srivastava, D., Svendsen, M., Tirthapura, S.: Dense subgraph maintenance under streaming edge weight updates for real-time story identification. VLDB J. 23, 1–25 (2013)Google Scholar
  2. 2.
    Avis, D., Fukuda, K.: Reverse search for enumeration. Discrete Appl. Math. 65, 21–46 (1993)MathSciNetzbMATHGoogle Scholar
  3. 3.
    Bahmani, B., Kumar, R., Vassilvitskii, S.: Densest subgraph in streaming and mapreduce. VLDB 5(5), 454–465 (2012)Google Scholar
  4. 4.
    Bron, C., Kerbosch, J.: Algorithm 457: finding all cliques of an undirected graph. Commun. ACM 16(9), 575–577 (1973)zbMATHGoogle Scholar
  5. 5.
    Chakrabarti, D., Zhan, Y., Faloutsos, C.: R-mat: a recursive model for graph mining. In: Proceedings of the 2004 SIAM International Conference on Data Mining, pp. 442–446. SIAM (2004)Google Scholar
  6. 6.
    Chateau, A., Riou, P., Rivals, E.: Approximate common intervals in multiple genome comparison. In: 2011 IEEE International Conference on Bioinformatics and Biomedicine (BIBM), pp. 131–134. IEEE (2011)Google Scholar
  7. 7.
    Cheng, J., Ke, Y., Fu, A.W.-C., Yu, J.X., Zhu, L.: Finding maximal cliques in massive networks. TODS 36(4), 21 (2011)Google Scholar
  8. 8.
    Chiba, N., Nishizeki, T.: Arboricity and subgraph listing algorithms. SIAM J. Comput. 14, 210–223 (1985)MathSciNetzbMATHGoogle Scholar
  9. 9.
    Das, A., Sanei-Mehri, S.-V., Tirthapura, S.: Shared-memory parallel maximal clique enumeration. ArXiv preprint arXiv:1807.09417 (2018)
  10. 10.
    Das, A., Tirthapura, S.: A change-sensitive algorithm for maintaining maximal bicliques in a dynamic bipartite graph. CoRR. arXiv:abs/1707.08272 (2017)
  11. 11.
    Driskell, A.C., Ané, C., Burleigh, J.G., McMahon, M.M., O’Meara, B.C., Sanderson, M.J.: Prospects for building the tree of life from large sequence databases. Science 306(5699), 1172–1174 (2004)Google Scholar
  12. 12.
    Duan, D., Li, Y., Li, R., Lu, Z.: Incremental k-clique clustering in dynamic social networks. Artif. Intell. Rev. 38, 1–19 (2012)Google Scholar
  13. 13.
    Eppstein, D., Löffler, M., Strash, D.: Listing all maximal cliques in sparse graphs in near-optimal time. In: ISAAC, pp. 403–414 (2010)Google Scholar
  14. 14.
    Eppstein, D., Strash, D.: Listing all maximal cliques in large sparse real-world graphs. In: Pardalos, P., Rebennack, S. (eds.) Experimental Algorithms, LNCS, vol. 6630, pp. 364–375. Springer, Berlin (2011)Google Scholar
  15. 15.
    Erds, P., Rényi, A.: On the evolution of random graphs. Publ. Math. Inst. Hung. Acad. Sci 5, 17–61 (1960)MathSciNetGoogle Scholar
  16. 16.
    Fan, W., Hu, C., Tian, C.: Incremental graph computations: doable and undoable. In: Proceedings of the 2017 ACM International Conference on Management of Data, pp. 155–169. ACM (2017)Google Scholar
  17. 17.
    Galbrun, E., Gionis, A., Tatti, N.: Overlapping community detection in labeled graphs. Data Min. Knowl. Discov. 28(5–6), 1586–1610 (2014)MathSciNetGoogle Scholar
  18. 18.
    Gibson, D., Kumar, R., Tomkins, A.: Discovering large dense subgraphs in massive graphs. In: VLDB, pp. 721–732 (2005)Google Scholar
  19. 19.
    Hanneman, R.A., Riddle, M.: Introduction to Social Network Methods. Textbook on the web
  20. 20.
    Huang, X., Cheng, H., Qin, L., Tian, W., Yu. J.X.: Querying k-truss community in large and dynamic graphs. In: SIGMOD, pp. 1311–1322 (2014)Google Scholar
  21. 21.
    Hung, S.-C., Araujo, M., Faloutsos, C.: Distributed community detection on edge-labeled graphs using spark. In: 12th International Workshop on Mining and Learning with Graphs (MLG), vol. 113 (2016)Google Scholar
  22. 22.
    Hussain, M.M.-U., Wang, A., Trajcevski, G.: Co-maxrs: continuous maximizing range-sum query. Sciences 305, 110–129 (2015)Google Scholar
  23. 23.
    Java, A., Song, X., Finin, T., Tseng, B.L.: Why we twitter: an analysis of a microblogging community. In: WebKDD/SNA-KDD, pp. 118–138 (2007)Google Scholar
  24. 24.
    Johnson, D.S., Yannakakis, M., Papadimitriou, C.H.: On generating all maximal independent sets. Inf. Process. Lett. 27(3), 119–123 (1988)MathSciNetzbMATHGoogle Scholar
  25. 25.
    Koch, I.: Enumerating all connected maximal common subgraphs in two graphs. Theor. Comput. Sci. 250(1), 1–30 (2001)MathSciNetzbMATHGoogle Scholar
  26. 26.
    Kose, F., Weckwerth, W., Linke, T., Fiehn, O.: Visualizing plant metabolomic correlation networks using clique-metabolite matrices. Bioinformatics 17(12), 1198–1208 (2001)Google Scholar
  27. 27.
    Kumar, R., Raghavan, P., Rajagopalan, S., Tomkins, A.: Trawling the web for emerging cyber-communities. Comput. Netw. 31(11), 1481–1493 (1999)Google Scholar
  28. 28.
    Lehmann, S., Schwartz, M., Hansen, L.K.: Biclique communities. Phys. Rev. E 78, 016108 (2008)MathSciNetGoogle Scholar
  29. 29.
    Leskovec, J., Krevl, A.: SNAP datasets: stanford large network dataset collection. (2014)
  30. 30.
    Li, R., Yu, J.X., Mao, R.: Efficient core maintenance in large dynamic graphs. TKDE 26(10), 2453–2465 (2014)Google Scholar
  31. 31.
    Lo, D., Surian, D., Zhang, K., Lim, E.-P.: Mining direct antagonistic communities in explicit trust networks. In: CIKM, pp. 1013–1018 (2011)Google Scholar
  32. 32.
    Makino, K., Uno, T.: New algorithms for enumerating all maximal cliques. In: SWAT, pp. 260–272 (2004)Google Scholar
  33. 33.
    McGregor, A., Tench, D., Vorotnikova, S., Vu, H.T.: Densest subgraph in dynamic graph streams. In: MFCS, pp. 472–482 (2015)Google Scholar
  34. 34.
    Moon, J.W., Moser, L.: On cliques in graphs. Isr. J. Math. 3(1), 23–28 (1965)MathSciNetzbMATHGoogle Scholar
  35. 35.
    Mukherjee, A.P., Tirthapura, S.: Enumerating maximal bicliques from a large graph using mapreduce. IEEE Trans. Serv. Comput. 10(5), 771–784 (2017)Google Scholar
  36. 36.
    Mukherjee, A.P., Xu, P., Tirthapura, S.: Enumeration of maximal cliques from an uncertain graph. IEEE Trans. Knowl. Data Eng. 29(3), 543–555 (2017)Google Scholar
  37. 37.
    Ottosen, T.J., Vomlel, J.: Honour thy neighbour: clique maintenance in dynamic graphs. In: PGM, pp. 201–208 (2010)Google Scholar
  38. 38.
    Rome, J.E., Haralick, R.M.: Towards a formal concept analysis approach to exploring communities on the world wide web. In: Ganter, B., Wille, R. (eds.) Formal Concept Analysis, LNCS, vol. 3403, pp. 33–48. Springer, Berlin (2005)Google Scholar
  39. 39.
    Sanderson, M.J., Driskell, A.C., Ree, R.H., Eulenstein, O., Langley, S.: Obtaining maximal concatenated phylogenetic data sets from large sequence databases. Mol. Biol. Evol. 20(7), 1036–1042 (2003)Google Scholar
  40. 40.
    Sariyüce, A.E., Gedik, B., Jacques-Silva, G., Wu, K., Çatalyürek, Ü.V.: Streaming algorithms for k-core decomposition. PVLDB 6(6), 433–444 (2013)Google Scholar
  41. 41.
    Simsiri, N., Tangwongsan, K., Tirthapura, S., Wu, K.-L.: Work-efficient parallel union-find with applications to incremental graph connectivity. In: European Conference on Parallel Processing, pp. 561–573. Springer (2016)Google Scholar
  42. 42.
    Stix, V.: Finding all maximal cliques in dynamic graphs. Comput. Optim. Appl. 27(2), 173–186 (2004)MathSciNetzbMATHGoogle Scholar
  43. 43.
    Sun, S., Wang, Y., Liao, W., Wang, W.: Mining maximal cliques on dynamic graphs efficiently by local strategies. In: 2017 IEEE 33rd International Conference on Data Engineering (ICDE), pp. 115–118. IEEE (2017)Google Scholar
  44. 44.
    Svendsen, M., Mukherjee, A.P., Tirthapura, S.: Mining maximal cliques from a large graph using mapreduce: tackling highly uneven subproblem sizes. J. Parallel Distrib. Comput. 79–80, 104–114 (2015)Google Scholar
  45. 45.
    Thorup, M.: Decremental dynamic connectivity. J. Algorithms 33(2), 229–243 (1999)MathSciNetzbMATHGoogle Scholar
  46. 46.
    Tomita, E., Kameda, T.: An efficient branch-and-bound algorithm for finding a maximum clique with computational experiments. J. Glob. Optim. 44(2), 311 (2009)zbMATHGoogle Scholar
  47. 47.
    Tomita, E., Sutani, Y., Higashi, T., Takahashi, S., Wakatsuki, M.: A simple and faster branch-and-bound algorithm for finding a maximum clique. In: Proceedings of the WALCOM: Algorithms and Computation, 4th International Workshop, WALCOM 2010, Dhaka, Bangladesh, February 10–12, 2010, pp. 191–203 (2010)Google Scholar
  48. 48.
    Tomita, E., Tanaka, A., Takahashi, H.: The worst-case time complexity for generating all maximal cliques and computational experiments. Theor. Comput. Sci. 363(1), 28–42 (2006)MathSciNetzbMATHGoogle Scholar
  49. 49.
    Tomita, E., Yoshida, K., Hatta, T., Nagao, A., Ito, H., Wakatsuki, M.: A much faster branch-and-bound algorithm for finding a maximum clique. In: Proceedings of the Frontiers in Algorithmics, 10th International Workshop, FAW 2016, Qingdao, China, June 30–July 2, 2016, pp. 215–226 (2016)Google Scholar
  50. 50.
    Tsukiyama, S., Ide, M., Ariyoshi, H., Shirakawa, I.: A new algorithm for generating all the maximal independent sets. SIAM J. Comput. 6(3), 505–517 (1977)MathSciNetzbMATHGoogle Scholar
  51. 51.
    Wulff-Nilsen, C.: Faster deterministic fully-dynamic graph connectivity. In: Proceedings of the Twenty-Fourth Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 1757–1769. SIAM (2013)Google Scholar
  52. 52.
    Yan, C., Burleigh, J.G., Eulenstein, O.: Identifying optimal incomplete phylogenetic data sets from sequence databases. Mol. phylogenetics Evol. 35(3), 528–535 (2005)Google Scholar

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature 2019

Authors and Affiliations

  1. 1.Iowa State UniversityAmesUSA

Personalised recommendations