Given a graph G and a positive integer k, the Graphlet Sampling problem asks to sample a connected induced k-vertex subgraph of G uniformly at random. Graphlet sampling enhances machine learning applications by transforming graph structures into feature vectors for tasks such as graph classification and subgraph identification, boosting neural network performance, and supporting clustered federated learning by capturing local structures and relationships. A recent work has shown that the problem admits an algorithm that preprocesses G in time O(nk2 log k + m), and draws one sample in expected time k O(k) log n, where n = |V (G)| and m = |E(G)|. Such an algorithm relies on the assumption that the input graph fits into main memory and it does not seem to be straightforward to adapt it to very large graphs. We consider Graphlet Sampling in the semi-streaming setting, where we have a memory of M = Ω(n log n) words, and G can be only read through sequential passes over the edge list. We develop a semi-streaming algorithm that preprocesses G in p = O(log n) passes and samples Θ(M k−O(k) ) independent uniform k-graphlets in O(k) passes. For constant k, both phases run in time O((n + m) log n). We also show that the tradeoff between memory and number of passes of our algorithms is near-optimal. Our extensive evaluation on very large graphs shows the effectiveness of our algorithms.
Efficient Streaming Algorithms for Graphlet Sampling / Bourreau, Yann; Bressan, Marco; Hubert Chan, T. (-)H.; Kuang, Qipeng; Sozio, Mauro. - Efficient Streaming Algorithms for Graphlet Sampling, (2024), pp. 1-30. (NeurIPS 2024 - Advances in Neural Information Processing Systems 38: Annual Conference on Neural Information Processing Systems, Vancouver, 10-15 dicembre 2024).
Efficient Streaming Algorithms for Graphlet Sampling
Mauro Sozio
2024
Abstract
Given a graph G and a positive integer k, the Graphlet Sampling problem asks to sample a connected induced k-vertex subgraph of G uniformly at random. Graphlet sampling enhances machine learning applications by transforming graph structures into feature vectors for tasks such as graph classification and subgraph identification, boosting neural network performance, and supporting clustered federated learning by capturing local structures and relationships. A recent work has shown that the problem admits an algorithm that preprocesses G in time O(nk2 log k + m), and draws one sample in expected time k O(k) log n, where n = |V (G)| and m = |E(G)|. Such an algorithm relies on the assumption that the input graph fits into main memory and it does not seem to be straightforward to adapt it to very large graphs. We consider Graphlet Sampling in the semi-streaming setting, where we have a memory of M = Ω(n log n) words, and G can be only read through sequential passes over the edge list. We develop a semi-streaming algorithm that preprocesses G in p = O(log n) passes and samples Θ(M k−O(k) ) independent uniform k-graphlets in O(k) passes. For constant k, both phases run in time O((n + m) log n). We also show that the tradeoff between memory and number of passes of our algorithms is near-optimal. Our extensive evaluation on very large graphs shows the effectiveness of our algorithms.File | Dimensione | Formato | |
---|---|---|---|
8386_Efficient_Streaming_Algor.pdf
Open Access
Tipologia:
Versione dell'editore
Licenza:
Tutti i diritti riservati
Dimensione
536.51 kB
Formato
Adobe PDF
|
536.51 kB | Adobe PDF | Visualizza/Apri |
Pubblicazioni consigliate
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.