🤖 AI Summary
This paper addresses the inefficiency of *k*-graphlet enumeration in large-scale graphs. We propose the first algorithm whose amortized time complexity depends solely on *k*, independent of graph size |*V*| and maximum degree Δ. Methodologically, we design an isomorphism-aware recursive enumeration framework integrating structural pruning, adjacency compression, and dynamic edge-induced subgraph generation. Theoretically, our algorithm achieves amortized *O*(*k*²) time per *k*-graphlet and *O*(*k*) time per edge-*k*-graphlet; on bounded-degree graphs, it further attains *O*(*k*) amortized time—effectively constant output delay for practical *k* = *O*(1). We rigorously prove its theoretical optimality, substantially improving upon prior algorithms whose complexities scale with |*V*| or Δ. To our knowledge, this is the first *k*-graphlet enumeration algorithm offering guaranteed constant-time-per-solution performance for fixed *k*.
📝 Abstract
Graphlets of order k in a graph G are connected subgraphs induced by k nodes (called k-graphlets) or by k edges (called edge k-graphlets). They are among the interesting subgraphs in network analysis to get insights on both the local and global structure of a network. While several algorithms exist for discovering and enumerating graphlets, the amortized time complexity of such algorithms typically depends on the size of the graph G, or its maximum degree. In real networks, even the latter can be in the order of millions, whereas k is typically required to be a small value. In this paper we provide the first algorithm to list all graphlets of order k in a graph
$$G=(V,E)$$
G
=
(
V
,
E
)
with an amortized time complexity depending solely on the order k, contrarily to previous approaches where the cost depends also on the size of G or its maximum degree. Specifically, we show that it is possible to list k-graphlets in
$$O(k^2)$$
O
(
k
2
)
time per solution, and to list edge k-graphlets in O(k) time per solution. Furthermore we show that, if the input graph has bounded degree, then the amortized time for listing k-graphlets is reduced to O(k). Whenever
$$k = O(1)$$
k
=
O
(
1
)
, as it is often the case in practical settings, these algorithms are the first to achieve constant time per solution.