Submitted:
04 July 2026
Posted:
09 July 2026
You are already at the latest version
Abstract
Keywords:
MSC: 05C69; 68Q25; 90C27
1. Introduction
2. Research Data
3. The Esperanza Algorithm
| Algorithm 1 FindIndependentSet |
|
| Algorithm 2 MaxCutBipartite — double-cover Max-Cut seed |
|
| Algorithm 3 MaxCutMinSide — exact bipartite Max-Cut minimizing side s |
|
| Algorithm 4 MaximizeSolution — repair and grow |
|
4. Correctness of the Algorithm
5. A Provable Ratio of 2 on Bipartite Graphs
6. Runtime Analysis
7. Empirical Study of the Approximation Ratio
7.1. Results
7.2. Reading the Numbers
7.3. A Constant Approximation Ratio Conjecture
7.4. Family Behavior Against the Conjectured Constant, and How to Overcome it
8. Conclusion
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 Numer. Math. 1992, 32, 180–196. [Google Scholar] [CrossRef]
- Karger, D.R.; Motwani, R.; Sudan, M. Approximate graph coloring by semidefinite programming. J. ACM 1998, 45, 246–265. [Google Scholar] [CrossRef]
- Håstad, J. Clique is hard to approximate within n1-ϵ. Acta Math. 1999, 182, 105–142. [Google Scholar] [CrossRef]
- Vega, F. Esperanza: Approximate Independent Set Solver. Version 0.0.4, Available online: https://pypi.org/project/esperanza. (accessed on 4 July 2026).
- Fortnow, L. Fifty years of P vs. NP and the possibility of the impossible. Commun. ACM 2022, 65, 76–85. [Google Scholar] [CrossRef]

| Nr. | Code metadata description | Metadata |
|---|---|---|
| C1 | Current code version | v0.0.4 |
| C2 | Permanent link to code/repository | https://github.com/frankvegadelgado/esperanza |
| C3 | Permanent link to Reproducible Capsule | https://pypi.org/project/esperanza/ |
| 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.4.2, NumPy ≥ 2.2.1, SciPy ≥ 1.15.0 |
| Family / instance | n | m | ALG | OPT | |
|---|---|---|---|---|---|
| 9-vertex adversary | 9 | 20 | 2 | 5 | |
| 2 disjoint adversary copies | 18 | 40 | 4 | 10 | |
| 4 disjoint adversary copies | 36 | 80 | 8 | 20 | |
| 8 disjoint adversary copies | 72 | 160 | 16 | 40 | |
| independent blow-up, | 18 | 80 | 4 | 10 | |
| independent blow-up, | 45 | 500 | 10 | 25 | |
| independent blow-up, | 90 | 2000 | 20 | 50 | |
| star | 100 | 99 | 99 | 99 | |
| complete graph | 60 | 1770 | 1 | 1 | |
| complete bipartite | 100 | 1600 | 80 | 80 | |
| random , , , worst of 300 | 10 | 17 | 3 | 5 | |
| random , , , worst of 300 | 12 | 28 | 3 | 5 | |
| random , , , worst of 200 | 14 | 60 | 2 | 4 | |
| random bipartite, , , worst of 100 | 30 | 50 | 15 | 17 | |
| random bipartite, , , worst of 50 | 60 | 80 | 31 | 34 |
| Family | Instances | Worst | Mean |
|---|---|---|---|
| random | 15,000 | ||
| random bipartite | 6,000 | ||
| random regular | 3,000 | ||
| star | 2,000 | ||
| amplified (in-run) | 2,000 | ||
| complete | 1,000 | ||
| complete bipartite | 1,000 | ||
| overall | 30,000 |
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 authors. 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 (http://creativecommons.org/licenses/by/4.0/).