효율적인 (k, ℓ) 희박 서브그래프 찾기: 알고리즘의 최적화와 실제 성능 향상
📝 Abstract
A multigraph $G = (V, E)$ is $(k, \ell) $-sparse if every subset $X \subseteq V$ induces at most $\max\{k|X| - \ell, 0\}$ edges. Finding a maximum-size $(k, \ell) $-sparse subgraph is a classical problem in rigidity theory and combinatorial optimization, with known polynomial-time algorithms. This paper presents a highly efficient and flexible implementation of an augmenting path method, enhanced with a range of powerful practical heuristics that significantly reduce running time while preserving optimality. These heuristics $\unicode{x2013}$ including edge-ordering, node-ordering, two-phase strategies, and pseudoforest-based initialization $\unicode{x2013}$ steer the algorithm toward accepting more edges early in the execution and avoiding costly augmentations. A comprehensive experimental evaluation on both synthetic and real-world graphs demonstrates that our implementation outperforms existing tools by several orders of magnitude. We also propose an asymptotically faster algorithm for extracting an inclusion-wise maximal $(k,2k) $-sparse subgraph with the sparsity condition required only for node sets of size at least three, which is particularly relevant to 3D rigidity when $k = 3 $. We provide a carefully engineered implementation, which is publicly available online and is proposed for inclusion in the LEMON graph library.
💡 Analysis
A multigraph $G = (V, E)$ is $(k, \ell) $-sparse if every subset $X \subseteq V$ induces at most $\max\{k|X| - \ell, 0\}$ edges. Finding a maximum-size $(k, \ell) $-sparse subgraph is a classical problem in rigidity theory and combinatorial optimization, with known polynomial-time algorithms. This paper presents a highly efficient and flexible implementation of an augmenting path method, enhanced with a range of powerful practical heuristics that significantly reduce running time while preserving optimality. These heuristics $\unicode{x2013}$ including edge-ordering, node-ordering, two-phase strategies, and pseudoforest-based initialization $\unicode{x2013}$ steer the algorithm toward accepting more edges early in the execution and avoiding costly augmentations. A comprehensive experimental evaluation on both synthetic and real-world graphs demonstrates that our implementation outperforms existing tools by several orders of magnitude. We also propose an asymptotically faster algorithm for extracting an inclusion-wise maximal $(k,2k) $-sparse subgraph with the sparsity condition required only for node sets of size at least three, which is particularly relevant to 3D rigidity when $k = 3 $. We provide a carefully engineered implementation, which is publicly available online and is proposed for inclusion in the LEMON graph library.
📄 Content
Efficient Algorithms and Implementations for Extracting Maximum-Size (k, ℓ)-Sparse Subgraphs P´eter Madarasi∗ Abstract A multigraph G = (V, E) is (k, ℓ)-sparse if every subset X ⊆V induces at most max{k|X|−ℓ, 0} edges. Finding a maximum-size (k, ℓ)-sparse subgraph is a classical prob- lem in rigidity theory and combinatorial optimization, with known polynomial-time algo- rithms. This paper presents a highly efficient and flexible implementation of an augmenting path method, enhanced with a range of powerful practical heuristics that significantly re- duce running time while preserving optimality. These heuristics — including edge-ordering, node-ordering, two-phase strategies, and pseudoforest-based initialization — steer the al- gorithm toward accepting more edges early in the execution and avoiding costly augmenta- tions. A comprehensive experimental evaluation on both synthetic and real-world graphs demonstrates that our implementation outperforms existing tools by several orders of mag- nitude. We also propose an asymptotically faster algorithm for extracting an inclusion-wise maximal (k, 2k)-sparse subgraph with the sparsity condition required only for node sets of size at least three, which is particularly relevant to 3D rigidity when k = 3. We provide a carefully engineered implementation, which is publicly available online and is proposed for inclusion in the LEMON graph library. Keywords: (k, ℓ)-sparse graphs, pebble game algorithms, graph optimization, augmenting paths, heuristics 1 Introduction Throughout this paper, let k and ℓbe non-negative integers with ℓ≤2k, which we treat as constants. Let G = (V, E) be a multigraph with n = |V | nodes and m = |E| edges. For 0 ≤ℓ< 2k, the graph G = (V, E) is called (k, ℓ)-sparse if, for each subset X ⊆V , the number of edges induced by X is at most max{k|X| −ℓ, 0}. For ℓ= 2k, this condition is required only for node sets of size at least three. Furthermore, if G is (k, ℓ)-sparse and has exactly max{k|V | −ℓ, 0} edges, then we say that G is (k, ℓ)-tight. A graph is (k, ℓ)-spanning if it contains a (k, ℓ)-tight subgraph that spans the entire node set. A (k, ℓ)-block of a (k, ℓ)- sparse graph is a subset X ⊆V that induces a (k, ℓ)-tight subgraph. A (k, ℓ)-component is an inclusion-wise maximal (k, ℓ)-block. The notion of (k, ℓ)-sparsity plays a central role in rigidity theory, where it serves as a com- binatorial criterion for determining whether a graph is rigid or flexible in various geometric settings. Beyond rigidity, (k, ℓ)-sparsity also arises in combinatorial optimization — for exam- ple, a graph is (k, k)-sparse if and only if its edge set can be partitioned into k edge-disjoint forests. As such, the development of efficient algorithms for testing sparsity and extracting maximum-size (k, ℓ)-sparse subgraphs is of critical importance in both theoretical and applied contexts. ∗HUN-REN Alfr´ed R´enyi Institute of Mathematics, and Department of Operations Research, E¨otv¨os Lor´and University, Budapest, Hungary. E-mail: madarasip@staff.elte.hu 1 arXiv:2511.16877v1 [cs.DS] 21 Nov 2025 Historical overview The concept of (k, ℓ)-sparse graphs was first introduced in 1979 by Lorea [19] as part of his work on matroidal families. Since then, sparse graphs have been the focus of extensive research, with diverse applications emerging in areas such as rigidity theory, matroid theory, network design, and combinatorial optimization. For example, (k, k)- tight graphs appeared in the work of Nash-Williams [22] and Tutte [26] as a characterization of graphs that can be decomposed into k edge-disjoint spanning trees. A notable result in rigidity theory is due to Laman [16], who showed that (2, 3)-tight graphs are the generic minimally rigid graphs for bar–joint frameworks in the plane, while (2, 3)-spanning graphs are the rigid ones. The problem of testing rigidity in 3D frameworks, however, remains open. For further details on rigidity theory, see [10, 25]. Previous work The classical algorithm for finding (k, ℓ)-sparse subgraphs is based on aug- menting paths and Hakimi’s Orientation Lemma [8]. Using this approach, one can compute a maximum-weight (k, ℓ)-sparse subgraph in O(nm) time for all 0 ≤ℓ< 2k [1, 2, 9]. For the maximum-size case, this algorithm can be further optimized to run in O(n2 + m) time with only O(n) space [1, 2, 9]. A more advanced variant achieves the same running time for the weighted case, at the cost of using O(n2) space [4]. These algorithms, commonly known as pebble game algorithms [17, 18], are central to rigidity theory and underpin a broad class of combinatorial algorithms. Additional results have been established for special cases: when ℓ< 0, the maximum-size (k, ℓ)-sparse subgraph problem remains solvable in polynomial time [14]; for recognizing (2, 3)-sparse graphs, an O(n√n log n)-time algorithm is known [3]; and for recognizing planar (2, 3)-tight graphs, there exists an O(n log3 n)-time algorithm [24]. Despite these advances, no algorith
This content is AI-processed based on ArXiv data.