Abstract
When information is (implicitly or explicitly) linked in its own nature, and is modeled as a network, retrieving patterns can benefit from this linked structure. In networks, “graphlets” (connected induced subgraphs of a given size k) are the counterparts of textual n-grams, as their frequency and shape can give powerful insights in the structure of a network and the role of its nodes. Differently from n-grams, the number of graphlets increases dramatically with their size k. We aim to push the exact enumeration of graphlets as far as possible, as enumeration (contrary to counting or approximation) gives the end-user the flexibility of arbitrary queries and restrictions on the graphlets found. For this, we exploit combinatorial and cache-efficient design strategies to cut the computational cost. The resulting algorithm CAGE (Cache-Aware Graphlet Enumeration) outperforms existing enumeration strategies by at least an order of magnitude, exhibiting a low number of L1-L2-L3 cache misses in the CPU. It is also competitive with the fastest known counting algorithms, without having their limitations on k.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Here \(G \setminus \{u\}\) is G without u and its incident edges.
- 2.
We are not directly controlling the cache, but rather allowing the algorithm to run cache-friendly by making standard assumptions on the associative cache [8].
- 3.
This idea can be generalized to \(k-4\), \(k-5\), and so on, but there is no payoff going further than \(k-3\) in practice as there are too many cases to handle.
- 4.
- 5.
This timeout is due to the size of the data gathered by VTune, which grows quickly over time.
- 6.
i.e. the runtime raised a bad_alloc exception or a segmentation fault while reading the input graph.
References
Ahmed, N.K., Neville, J., Rossi, R.A., Duffield, N.: Efficient graphlet counting for large networks. In: 2015 IEEE International Conference on Data Mining, pp. 1–10. Atlantic City, NJ, USA, IEEE (2015)
Aparício, D., Ribeiro, P., Silva, F.: Graphlet-orbit transitions (GoT): a fingerprint for temporal network comparison. PLoS ONE 13(10), e0205497 (2018)
Aparício, D., Ribeiro, P., Silva, F., Silva, J.: Finding dominant nodes using graphlets. In: Cherifi, H., Gaito, S., Mendes, J.F., Moro, E., Rocha, L.M. (eds.) COMPLEX NETWORKS 2019. SCI, vol. 881, pp. 77–89. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-36687-2_7
Bhuiyan, M.A., Rahman, M., Rahman, M., Al Hasan, M.: Guise: uniform sampling of graphlets for large graph analysis. In: 2012 IEEE 12th International Conference on Data Mining, pp. 91–100. IEEE (2012)
Bressan, M., Chierichetti, F., Kumar, R., Leucci, S., Panconesi, A.: Motif counting beyond five nodes. ACM TKDD 12(4), 1–25 (2018)
Dutta, A., Riba, P., Lladós, J., Fornés, A.: Hierarchical stochastic graphlet embedding for graph-based pattern recognition. Neural Comput. Appl. 32(15), 11579–11596 (2020)
Elenberg, E.R., Shanmugam, K., Borokhovich, M., Dimakis, A.G.: Beyond triangles: a distributed framework for estimating 3-profiles of large graphs. In: ACM SIGKDD, pp. 229–238 (2015)
Frigo, M., Leiserson, C.E., Prokop, H., Ramachandran, S.: Cache-oblivious algorithms. ACM Trans. Algorithms 8(1), 4:1–4:22 (2012)
Harris, S.L., Harris, D.: 8 - memory systems. In: Harris, S.L., Harris, D. (eds.) Digital Design and Computer Architecture, pp. 498–541. Morgan Kaufmann, Burlington (2022)
Jazayeri, A., Yang, C.C.: Motif discovery algorithms in static and temporal networks: a survey. J. Complex Netw. 8(4), cnaa031 (2020)
Kashani, Z.R.M., et al.: Kavosh: a new algorithm for finding network motifs. BMC Bioinform. 10(1), 318 (2009)
Komusiewicz, C., Sommer, F.: Enumerating connected induced subgraphs: improved delay and experimental comparison. Discret. Appl. Math. 303, 262–282 (2021)
Leskovec, J., Krevl, A.: SNAP Datasets: Stanford large network dataset collection (2014). http://snap.stanford.edu/data
Marino, A. , Crescenzi, P.: LASAGNE Networks: Laboratory of Algorithms, modelS, and Analysis of Graphs and NEtworks (2015). http://www.pilucrescenzi.it/lasagne/content/networks.html
Melckenbeeck, I., Audenaert, P., Colle, D., Pickavet, M.: Efficiently counting all orbits of graphlets of any order in a graph using autogenerated equations. Bioinformatics 34(8), 1372–1380 (2017)
Melckenbeeck, I., Audenaert, P., Van Parys, T., Van De Peer, Y., Colle, D., Pickavet, M.: Optimising orbit counting of arbitrary order by equation selection. BMC Bioinform. 20(1), 1–13 (2019)
Milo, R., Shen-Orr, S., Itzkovitz, S., Kashtan, N., Chklovskii, D., Alon, U.: Network motifs: simple building blocks of complex networks. Science 298(5594), 824–827 (2002)
Pagh, R., Rodler, F.F.: Cuckoo hashing. J. Algorithms 51(2), 122–144 (2004)
Paredes, P., Ribeiro, P.: Towards a faster network-centric subgraph census. In: IEEE/ACM ASONAM, pp. 264–271, New York, NY, USA, ACM (2013)
Pinar, A., Seshadhri, C., Vishal, V.: Escape: efficiently counting all 5-vertex subgraphs. In: The Web Conference (WWW), pp. 1431–1440 (2017)
Pržulj, N.: Biological network comparison using graphlet degree distribution. Bioinformatics 23(2), e177–e183 (2007)
Ribeiro, P., Paredes, P., Silva, M.E., Aparicio, D., Silva, F.: A survey on subgraph counting: concepts, algorithms, and applications to network motifs and graphlets. ACM Comput. Surv. 54(2), 1–36 (2021)
Rossi, R., Ahmed, N.: The network data repository with interactive graph analytics and visualization. In: AAAI (2015)
Ruskey, F.: Combinatorial generation. Preliminary Working Draft, vol. 11, pp. 20. University of Victoria, Victoria, BC, Canada (2003)
Shannon, C.E.: A mathematical theory of communication. Bell Syst. Tech. J. 27(3), 379–423 (1948)
Shervashidze, N., Vishwanathan, S.V.N., Petri, T., Mehlhorn, K., Borgwardt, K.: Efficient graphlet kernels for large graph comparison. In: van Dyk, D., Welling, M. (eds.) AISTATS, vol. 5, pp. 488–495 (2009). PMLR 16–18
Shioura, A., Tamura, A., Uno, T.: An optimal algorithm for scanning all spanning trees of undirected graphs. SIAM J. Comput. 26(3), 678–692 (1997)
Tomita, E., Tanaka, A., Takahashi, H.: The worst-case time complexity for generating all maximal cliques and computational experiments. Theoret. Comput. Sci. 363(1), 28–42 (2006)
Wang, P., Lui, J.C., Ribeiro, B., Towsley, D., Zhao, J., Guan, X.: Efficiently estimating motif statistics of large networks. ACM TKDD 9(2), 1–27 (2014)
Wang, P., et al.: Moss-5: a fast method of approximating counts of 5-node graphlets in large graphs. IEEE TKDE 30(1), 73–86 (2017)
Wernicke, S.: Efficient detection of network motifs. IEEE/ACM Trans. Comput. Biol. Bioinf. 3(4), 347–359 (2006)
Windels, S.F., Malod-Dognin, N., Pržulj, N.: Graphlet eigencentralities capture novel central roles of genes in pathways. PLoS ONE 17(1), e0261676 (2022)
Acknowledgements
Work partially supported by MIUR project n. 20174LF3T8 Algorithms for Harnessing networked Data (AHeAD).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Conte, A., Grossi, R., Rucci, D. (2023). CAGE: Cache-Aware Graphlet Enumeration. In: Nardini, F.M., Pisanti, N., Venturini, R. (eds) String Processing and Information Retrieval. SPIRE 2023. Lecture Notes in Computer Science, vol 14240. Springer, Cham. https://doi.org/10.1007/978-3-031-43980-3_11
Download citation
DOI: https://doi.org/10.1007/978-3-031-43980-3_11
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-43979-7
Online ISBN: 978-3-031-43980-3
eBook Packages: Computer ScienceComputer Science (R0)