Skip to main content
Log in

Sublinear-Space and Bounded-Delay Algorithms for Maximal Clique Enumeration in Graphs

  • Published:
Algorithmica Aims and scope Submit manuscript

Abstract

Due to the sheer size of real-world networks, delay and space have become quite relevant measures of the cost of enumerating patterns for network analytics. This paper presents efficient algorithms for listing maximal cliques in undirected graphs, providing the first sublinear-space bounds with guaranteed delay per solution.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

Notes

  1. We remark that the main purpose of this paper is to emphasize that small footprint enumeration algorithms have more chances to reduce memory contention, cache coherence, and memory bandwidth issues when run on modern processors. Explicitly addressing cache-efficient or cache-oblivious algorithms in the parallel or distributed setting might be the inspiration for future work in this direction.

  2. Note that \(\Delta \) is not always sublinear in the graph size as real-world networks are sparse and could have \(\Delta = \Theta (n)\), as shown in Table 2 (see also [15]).

  3. The work actually exploits the arboricity, but we use d for simplicity as the arboricity is \(\Theta (d)\).

  4. The check in \(\textsc {spawn}\) corresponds to conditions (c) and (d) of Lemma 2 in [24].

  5. The moments where nested recursion and backtracking are simulated are signalled by increment and decrement of the \(depth \) variable. Note that its implementation requires just a single bit for keeping the parity of the current depth, which is flipped when going from parent to child or vice versa.

  6. The amortized costs for all queries of the current node contribute to its worst-case time for the delay.

  7. The borderline case \(s=e\) is handled like the other cases, as it means that no heads are met so far and thus the empty sliding window shifts one position back.

  8. Also known as a Turán graph with parameters (3kk), where there are k groups of vertices, and each group is an independent set of 3 vertices. An edge connects two vertices if and only if they belong to different groups, so vertex degree is \(3k-3\). This graph has \(3^k\) cliques of size k each.

References

  1. Ahmed, N.K., Neville, J., Rossi, R.A., Duffield, N.G.: Efficient graphlet counting for large networks. In: 2015 IEEE International Conference on Data Mining, ICDM 2015, pp. 1–10. IEEE (2015)

  2. Akkoyunlu, E.A.: The enumeration of maximal cliques of large graphs. SIAM J. Comput. 2(1), 1–6 (1973)

    Article  MathSciNet  Google Scholar 

  3. Alon, N., Yuster, R., Zwick, U.: Color-coding. J. ACM 42(4), 844–856 (1995)

    Article  MathSciNet  Google Scholar 

  4. Avis, D., Fukuda, K.: Reverse search for enumeration. Discrete Appl. Math. 65(1–3), 21–46 (1996)

    Article  MathSciNet  Google Scholar 

  5. Bierstone, E.: Cliques and generalized cliques in a finite linear graph. Unpublished report (1960)

  6. Björklund, A., Pagh, R., Williams, V.V., Zwick, U.: Listing triangles. In: Automata, Languages, and Programming—41st International Colloquium, ICALP 2014, Proceedings, Part I, pp. 223–234 (2014)

  7. Bron, C., Kerbosch, J.: Finding all cliques of an undirected graph (algorithm 457). Commun. ACM 16(9), 575–576 (1973)

    Article  Google Scholar 

  8. Cazals, F., Karande, C.: A note on the problem of reporting maximal cliques. Theor. Comput. Sci. 407(1–3), 564–568 (2008)

    Article  MathSciNet  Google Scholar 

  9. Chang, L., Yu, J.X., Qin, L.: Fast maximal cliques enumeration in sparse graphs. Algorithmica 66(1), 173–186 (2013)

    Article  MathSciNet  Google Scholar 

  10. Cheng, J., Zhu, L., Ke, Y., Chu, S.: Fast algorithms for maximal clique enumeration with limited memory. In: Proceedings of the 18th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD, pp. 1240–1248 (2012)

  11. Chiba, N., Nishizeki, T.: Arboricity and subgraph listing algorithms. SIAM J. Comput. 14(1), 210–223 (1985)

    Article  MathSciNet  Google Scholar 

  12. Cohen, S., Kimelfeld, B., Sagiv, Y.: Generating all maximal induced subgraphs for hereditary and connected-hereditary graph properties. J. Comput. Syst. Sci. 74(7), 1147–1159 (2008)

    Article  MathSciNet  Google Scholar 

  13. Comin, C., Rizzi, R.: An improved upper bound on maximal clique listing via rectangular fast matrix multiplication. CoRR (2015). arXiv:1506.01082

  14. Conte, A., Grossi, R., Marino, A., Versari, L.: Sublinear-space bounded-delay enumeration for massive network analytics: maximal cliques. In: 43rd International Colloquium on Automata, Languages, and Programming, ICALP 2016, Proceedings, July 11–15, 2016, Rome, Italy, p. 148 (2016)

  15. Conte, A., De Virgilio, R., Maccioni, A., Patrignani, M., Torlone, R.: Finding all maximal cliques in very large social networks. In: Proceedings of the 19th International Conference on Extending Database Technology, EDBT 2016, pp. 173–184 (2016)

  16. Conte, A., Grossi, R., Marino, A., Uno, T., Versari, L.: Listing maximal independent sets with minimal space and bounded delay. In: Fici, G., Sciortino, M., Venturini, R. (eds.) String Processing and Information Retrieval, pp. 144–160. Springer, Cham (2017)

  17. Conte, A., Grossi, R., Marino, A., Versari, L.: Listing maximal subgraphs satisfying strongly accessible properties. SIAM J. Discrete Math. 33(2), 587–613 (2019)

    Article  MathSciNet  Google Scholar 

  18. Eppstein, D., Löffler, M., Strash, D.: Listing all maximal cliques in sparse graphs in near-optimal time. ISAAC 1, 403–414 (2010)

    MathSciNet  MATH  Google Scholar 

  19. Eppstein, D., Löffler, M., Strash, D.: Listing all maximal cliques in large sparse real-world graphs. ACM J. Exp. Algorithmics. (2013). https://doi.org/10.1145/2543629

    Article  MATH  Google Scholar 

  20. Fukuda, K.: Note on new complexity classes ENP, EP and CEP. https://www.inf.ethz.ch/personal/fukudak/old/ENP_home/ENP_note.html (1996). Accessed 17 Feb 2016

  21. Gilbert, E.N.: Enumeration of labelled graphs. Can. J. Math 8(1), 05–411 (1956)

    MathSciNet  MATH  Google Scholar 

  22. Gély, A., Nourine, L., Sadi, B.: Enumeration aspects of maximal cliques and bicliques. Discrete Appl. Math. 157(7), 1447–1459 (2009)

    Article  MathSciNet  Google Scholar 

  23. Johnson, D.S., Yannakakis, M., Papadimitriou, C.H.: On generating all maximal independent sets. Inf. Process. Lett. 27(3), 119–123 (1988)

    Article  MathSciNet  Google Scholar 

  24. Makino, K., Uno, T.: New algorithms for enumerating all maximal cliques. In: Hagerup, T., Katajainen, J. (eds.) Algorithm theory-SWAT 2004, Proceedings, pp. 260–272. Springer, Berlin, Heidelberg (2004)

    Chapter  Google Scholar 

  25. Milo, R., Shen-Orr, S., Itzkovitz, S., Kashtan, N., Chklovskii, D., Alon, U.: Network motifs: simple building blocks of complex networks. Science 298, 824–827 (2002)

    Article  Google Scholar 

  26. Moon, J.W., Moser, L.: On cliques in graphs. Israel J. Math. 3(1), 23–28 (1965)

    Article  MathSciNet  Google Scholar 

  27. Mulligan, G.D., Corneil, D.G.: Corrections to Bierstone’s algorithm for generating cliques. J. ACM 19(2), 244–247 (1972)

    Article  Google Scholar 

  28. Ruskey, F.: Combinatorial generation. Preliminary working draft, vol. 11, p. 20. University of Victoria, Victoria, BC, Canada (2003)

  29. Schmidt, M.C., Samatova, N.F., Thomas, K., Park, B.-H.: A scalable, parallel algorithm for maximal clique enumeration. J. Parallel Distrib. Comput. 69(4), 417–428 (2009)

    Article  Google Scholar 

  30. Shervashidze, N., Vishwanathan, S.V.N., Petri, T., Mehlhorn, K., Borgwardt, K.M.: Efficient graphlet kernels for large graph comparison. In: Proceedings of the Twelfth International Conference on Artificial Intelligence and Statistics, AISTATS 2009, Volume 5 of JMLR Proceedings, pp. 488–495 (2009)

  31. 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)

    Article  MathSciNet  Google Scholar 

  32. Trent, H.M.: A note on the enumeration and listing of all possible trees in a connected linear graph. Proc. Natl. Acad. Sci. 40(10), 1004–1007 (1954)

    Article  MathSciNet  Google Scholar 

  33. Tsien, J.Z.: The memory code. Sci. Am. 297(1), 52–59 (2007)

    Article  Google Scholar 

  34. 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)

    Article  MathSciNet  Google Scholar 

  35. Uno, T.: Two general methods to reduce delay and change of enumeration algorithms. Natl. Inst. Inform. (in Japan) Tech. Rep. E 4, 2003 (2003)

    Google Scholar 

  36. Uno, T.: An efficient algorithm for solving pseudo clique enumeration problem. Algorithmica 56(1), 3–16 (2008)

    Article  MathSciNet  Google Scholar 

  37. Valiant, L.G.: The complexity of computing the permanent. Theor. Comput. Sci. 8(2), 189–201 (1979)

    Article  MathSciNet  Google Scholar 

  38. Wasa, K., Arimura, H., Uno, T.: Efficient enumeration of induced subtrees in a \(k\)-degenerate graph. In: Ahn, H.-K., Shin, C.-S. (eds.) Algorithms and Computation: 25th International Symposium, ISAAC 2014, Proceedings, pp. 94–102. Springer, Cham (2014)

  39. Xu, Y., Cheng, J., Fu, A.W.-C., Bu, Y.: Distributed maximal clique computation. In: 2014 IEEE International Congress on Big Data (BigData Congress), pp. 160–167. IEEE (2014)

Download references

Acknowledgements

We thank David Eppstein, Maarten Löffler, and Darren Strash for providing us with the source code of the algorithm in [19].

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alessio Conte.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

A preliminary version of this paper has been presented in ICALP 2016 [14]. Work partially supported by MIUR, the Italian Ministry of Education, University and Research, under Grant 20174LF3T8 AHeAD: efficient Algorithms for HArnessing networked Data.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Conte, A., Grossi, R., Marino, A. et al. Sublinear-Space and Bounded-Delay Algorithms for Maximal Clique Enumeration in Graphs. Algorithmica 82, 1547–1573 (2020). https://doi.org/10.1007/s00453-019-00656-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00453-019-00656-8

Keywords

Navigation