Submitted:
02 April 2026
Posted:
03 April 2026
You are already at the latest version
Abstract
Keywords:
MSC: 05C69; 68Q25; 90C27
1. Introduction
- Greedy Algorithms: A simple greedy algorithm achieves ratio , where is the maximum degree. A more sophisticated minimum-degree greedy achieves , as shown by Halldórsson and Radhakrishnan [2].
- Local Search and Randomized Algorithms: Boppana and Halldórsson [3] achieve via iterative local swaps. Randomized algorithms based on Lovász Local Lemma yield similar guarantees probabilistically.
- Semidefinite Programming (SDP): Karger, Motwani, and Sudan [4] achieve via SDP, with better ratios (e.g., ) for special classes such as 3-colorable graphs.
- Hardness of Approximation: Håstad [5] showed that, assuming , no polynomial-time algorithm can achieve an approximation ratio better than for any .
- Special Graph Classes: For bipartite graphs, the MIS can be computed exactly in polynomial time via maximum matching and König’s theorem. For bounded-degree and planar graphs, constant-factor approximations are achievable.
- Vertex-Cover Complement (VC Complement): Processes connected components iteratively. Bipartite components are solved exactly. Non-bipartite components receive a 2-approximate minimum vertex cover C computed by MinWeightedVertexCover. A gadget graph splits each cover vertex u into two copies and ; a second cover on the gadget is used to identify redundant cover vertices (those whose both copies appear in the gadget cover). Redundant vertices are removed from the accumulated cover, and the algorithm recurses on the remaining subgraph until no further refinement is possible. The complement of the accumulated cover is then extended greedily, producing .
- Greedy Minimum-Degree Selection: Sorts vertices by increasing degree and adds each vertex if it has no neighbors in the current set, producing .
- Greedy Maximum-Degree Selection: Sorts vertices by decreasing degree and adds each vertex if it has no neighbors in the current set, producing .
- Low-Degree Induced Subgraph: Applies minimum-degree greedy to the induced subgraph of vertices with degree strictly less than , producing .
2. Research Data
3. Correctness of the Algorithm
Pseudo-Code
| Algorithm 1:FindIndependentSet |
![]()
|
| Algorithm 2 CoverBipartite |
![]() |
| Algorithm 3 GreedyIS |
![]() |
Correctness Theorem
- If H is bipartite, CoverBipartite covers all edges in H (as argued in Case 3).
- If H is non-bipartite and : the full 2-approx cover is added. Since is a valid vertex cover of H (every edge has at least one endpoint in ), all edges of H are covered.
-
If H is non-bipartite and : . For each edge :
- –
- If or : the edge is covered by .
- –
- Otherwise, both , so where is the remaining subgraph. This subgraph is decomposed into components and added to the queue, so the edge will be covered at a later iteration.
4. Proof of the 2-Approximation Ratio
- MinWeightedVertexCover implements the standard 2-approx VC (match and take both endpoints of each edge in a maximal matching), giving .
- The gadget graph construction splits each into and , and non-cover vertices are represented by a single copy. This doubling preserves the VC structure: any VC of satisfies (by a similar argument: has doubled nodes contributing at most to any VC, but the actual bound comes from the original ).
- The solution added to C satisfies .
- The remaining subgraph has minimum cover restricted to (since covers edges incident to , and the optimal solution for satisfies ... formally, is a valid cover for , so ).
- Recursively, the total cover added for H and all its descendant subgraphs is .
5. Runtime Analysis
- Hopcroft-Karp matching: .
- König cover construction: .
- Bipartiteness check of H: .
- CoverBipartite (if bipartite): .
- MinWeightedVertexCover (standard maximal-matching 2-approx, scan edges): .
- GadgetGraph construction: for each edge of H, at most 4 gadget edges are added (when both endpoints are in ). Gadget graph size: nodes, edges. Construction: .
- MinWeightedVertexCover on the gadget: .
- Solution extraction and subgraph construction: .
- Sorting n vertices by degree: .
- Selection pass (check neighbors, amortized total by adjacency-list scan): .
6. Experimental Results
6.1. Experimental Setup
- Hardware: 11th Gen Intel® Core™ i7-1165G7 (2.80 GHz), 32 GB DDR4 RAM.
- Software: Windows 10 Home, Furones v0.1.3 [6].
- Methodology: Single run per instance; runtime measured for the algorithm phase only (graph loading excluded); times reported in milliseconds (ms) when below ms, and in seconds (s) otherwise.
6.2. Performance Metrics
- 1.
- Runtime: Algorithm-phase wall-clock time.
- 2.
- Approximation ratio: , where is the optimal IS size and is the found IS size. A ratio indicates optimality; confirms the 2-approximation guarantee.
6.3. Results and Analysis
6.3.0.1. Runtime observations.
- Sub-100 ms on small dense instances: MANN_a27 (15.83 ms), C125.9 (16.66 ms), keller4 (47.52 ms).
- Sub-second on medium instances: hamming8-4 (95.21 ms), brock200_2 (94.67 ms), MANN_a81 (267.92 ms), keller5 (760.47 ms), C1000.9 (542.25 ms).
- Multi-second on large or dense instances: brock800_2 (1.17 s), DSJC1000.5 (2.76 s), C2000.9 (3.94 s), keller6 (11.75 s), C4000.5 (73.00 s).
6.3.0.2. Solution quality.
- Optimal (): Hamming graphs (hamming8-4, hamming10-4).
- Near-optimal (): MANN graphs ().
- Good (): C-series (C125.9, C250.9, C500.9), hat graphs (p_hat300-2, p_hat700-3).
- Challenging but bounded (): brock graphs (max ), Keller graphs (max ). All remain strictly below 2.
6.4. Discussion and Implications
- Quality–efficiency trade-off: The algorithm achieves for structured graphs (Hamming) and near-optimal () for MANN graphs with fast runtimes. Cost grows for dense irregular graphs (keller6, DSJC1000.5), reflecting complexity.
- Structural dependencies: Regular-structure graphs (Hamming, MANN) consistently yield . Random dense graphs (C-series) achieve . Highly irregular graphs (Keller, brock) present the largest ratios but remain well within the 2-approximation bound.
- Comparison with v0.1.2: The new VC-complement approach (v0.1.3) replaces the spanning-tree iterative refinement (v0.1.2). The algorithm drops the overhead (Kruskal’s sorting) from to , achieving faster runtimes on large instances while maintaining equivalent or better solution quality.
- Practical applications: Demonstrated performance makes this approach suitable for circuit design (Hamming exactness), scheduling (MANN near-optimality), and any application accepting a provable 2-approximation guarantee.
6.5. Future Work
- Tighter ratio for dense graphs: Combining the VC complement with branch-and-bound on dense non-bipartite components to push the worst-case ratio below .
- Parallelization: GPU-accelerated vertex-cover computation for large instances (C4000.5, keller6).
- Domain-specific variants: Specialisations for perfect graphs, planar graphs, and geometric graphs.
- Extended benchmarks: Evaluation on real-world networks (social, biological) and massive sparse graphs from web analysis.
7. Conclusions
Acknowledgments
References
- Karp, R.M. Reducibility among Combinatorial Problems. In Complexity of Computer Computations; Miller, R.E., Thatcher, J.W., Bohlinger, J.D., Eds.; Plenum: New York, USA, 1972; pp. 85–103. [Google Scholar] [CrossRef]
- Halldórsson, M.M.; Radhakrishnan, J. Greed is good: Approximating independent sets in sparse and bounded-degree graphs. Algorithmica 1997, 18, 145–163. [Google Scholar] [CrossRef]
- Boppana, R.; Halldórsson, M.M. Approximating maximum independent sets by excluding subgraphs. BIT Numerical Mathematics 1992, 32, 180–196. [Google Scholar] [CrossRef]
- Karger, D.R.; Motwani, R.; Sudan, M. Approximate graph coloring by semidefinite programming. Journal of the ACM 1998, 45, 246–265. [Google Scholar] [CrossRef]
- Håstad, J. Clique is hard to approximate within n1-ϵ. Acta Mathematica 1999, 182, 105–142. [Google Scholar] [CrossRef]
- Vega, F. Furones: Approximate Independent Set Solver. Available online: https://pypi.org/project/furones. (accessed on 1 April 2026).
- Johnson, D.S.; Trick, M.A. (Eds.) Cliques, Coloring, and Satisfiability: Second DIMACS Implementation Challenge, October 11-13, 1993 . In DIMACS Series in Discrete Mathematics and Theoretical Computer Science; American Mathematical Society: Providence, Rhode Island, 1996; Vol. 26. [Google Scholar]
- Pullan, W.; Hoos, H.H. Dynamic Local Search for the Maximum Clique Problem. Journal of Artificial Intelligence Research 2006, 25, 159–185. [Google Scholar] [CrossRef]
- Batsyn, M.; Goldengorin, B.; Maslov, E.; Pardalos, P.M. Improvements to MCS algorithm for the maximum clique problem. Journal of Combinatorial Optimization 2014, 27, 397–416. [Google Scholar] [CrossRef]
- Fortnow, L. Fifty years of P vs. NP and the possibility of the impossible. Communications of the ACM 2022, 65, 76–85. [Google Scholar] [CrossRef]
| Nr. | Code metadata description | Metadata |
|---|---|---|
| C1 | Current code version | v0.1.3 |
| C2 | Permanent link to code/repository | https://github.com/frankvegadelgado/furones |
| C3 | Permanent link to Reproducible Capsule | https://pypi.org/project/furones/ |
| C4 | Legal Code License | MIT License |
| C5 | Code versioning system used | git |
| C6 | Languages, tools, and services used | Python |
| C7 | Compilation requirements and dependencies | Python ≥ 3.12, NetworkX ≥ 3.0 |
| Instance | Found | Optimal | Time | ||
|---|---|---|---|---|---|
| brock200_2 | 7 | 12 | 94.67 ms | 14.142 | 1.714 |
| brock200_4 | 13 | 17 | 67.26 ms | 14.142 | 1.308 |
| brock400_2 | 20 | 29 | 202.88 ms | 20.000 | 1.450 |
| brock400_4 | 18 | 33 | 211.45 ms | 20.000 | 1.833 |
| brock800_2 | 15 | 24 | 1.17 s | 28.284 | 1.600 |
| brock800_4 | 15 | 26 | 1.40 s | 28.284 | 1.733 |
| C1000.9 | 51 | 68 | 542.25 ms | 31.623 | 1.333 |
| C125.9 | 29 | 34 | 16.66 ms | 11.180 | 1.172 |
| C2000.5 | 14 | 16 | 11.63 s | 44.721 | 1.143 |
| C2000.9 | 55 | 77 | 3.94 s | 44.721 | 1.400 |
| C250.9 | 35 | 44 | 35.28 ms | 15.811 | 1.257 |
| C4000.5 | 12 | 18 | 73.00 s | 63.246 | 1.500 |
| C500.9 | 46 | 57 | 215.81 ms | 22.361 | 1.239 |
| DSJC1000.5 | 10 | 15 | 2.76 s | 31.623 | 1.500 |
| DSJC500.5 | 10 | 13 | 629.73 ms | 22.361 | 1.300 |
| gen200_p0.9_44 | 32 | ? | 24.95 ms | 14.142 | — |
| gen200_p0.9_55 | 36 | ? | 21.55 ms | 14.142 | — |
| gen400_p0.9_55 | 45 | ? | 86.33 ms | 20.000 | — |
| gen400_p0.9_65 | 41 | ? | 7.75 s | 20.000 | — |
| gen400_p0.9_75 | 47 | ? | 93.31 ms | 20.000 | — |
| hamming10-4 | 32 | 32 | 888.07 ms | 32.000 | 1.000 |
| hamming8-4 | 16 | 16 | 95.21 ms | 16.000 | 1.000 |
| keller4 | 8 | 11 | 47.52 ms | 13.077 | 1.375 |
| keller5 | 18 | 27 | 760.47 ms | 27.857 | 1.500 |
| keller6 | 37 | 59 | 11.75 s | 57.982 | 1.595 |
| MANN_a27 | 125 | 126 | 15.83 ms | 19.442 | 1.008 |
| MANN_a45 | 342 | 345 | 54.12 ms | 32.171 | 1.009 |
| MANN_a81 | 1096 | 1100 | 267.92 ms | 57.635 | 1.004 |
| p_hat1500-1 | 8 | 12 | 9.81 s | 38.730 | 1.500 |
| p_hat1500-2 | 54 | 65 | 9.93 s | 38.730 | 1.204 |
| p_hat1500-3 | 75 | 94 | 4.02 s | 38.730 | 1.253 |
| p_hat300-1 | 7 | 8 | 329.59 ms | 17.321 | 1.143 |
| p_hat300-2 | 23 | 25 | 224.83 ms | 17.321 | 1.087 |
| p_hat300-3 | 30 | 36 | 115.10 ms | 17.321 | 1.200 |
| p_hat700-1 | 7 | 11 | 1.91 s | 26.458 | 1.571 |
| p_hat700-2 | 38 | 44 | 1.93 s | 26.458 | 1.158 |
| p_hat700-3 | 55 | 62 | 656.66 ms | 26.458 | 1.127 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2026 by the author. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license.



