Preprint
Article

This version is not peer-reviewed.

An Approximate Solution to the Minimum Vertex Cover Problem: The Salvador Algorithm

Submitted:

18 May 2026

Posted:

29 May 2026

Read the latest preprint version here

Abstract
The Minimum Vertex Cover problem is NP-hard. The best known polynomial-time approximation ratio is~$2$, matching a Unique Games Conjecture lower bound of~\(2-\varepsilon\). Without the conjecture, a~\(\sqrt{2}-\varepsilon\) inapproximability holds under \(\mathrm{P}\neq\mathrm{NP}\) from $2$-to-$2$ games. We present \textsc{FindVertexCover}, an algorithm that reduces any graph to a linear-size planar core via a weighted Minimum Independent Dominating Set gadget and then applies a linear Baker-style pass. It runs in \(O(n+m)\) time and returns a valid vertex cover. Experiments on $68$ NPBench clique-complement instances return a vertex cover at most $1.197$ times the reference optimum, with a mean ratio of $1.030$; the certified a posteriori upper bound derived from the NetworkX 2-approximation baseline is at most $1.986$. We conjecture that the approximation ratio is universally bounded by $1.4$. Crucially, \(1.4 = \sqrt{2} - \varepsilon_0\) for \(\varepsilon_0 = \sqrt{2} - \frac{7}{5} \approx 0.0142\), so proving the conjecture would place the algorithm strictly below the \(\sqrt{2}\) inapproximability threshold and imply \(\mathrm{P}=\mathrm{NP}\) directly and unconditionally. An open-source implementation is released as the Salvador package (v0.0.2).
Keywords: 
;  ;  ;  ;  

MSC:  05C69, 05C70, 68Q25, 90C27

1. Introduction

The Minimum Vertex Cover (VC) problem is one of the twenty-one NP-complete problems identified by Karp [1]. Given an undirected graph G = ( V , E ) , a set C ⊆ V is a vertex cover if every edge of E has at least one endpoint in C; the goal is to find a minimum-cardinality vertex cover, denoted τ ( G ) . Vertex cover is central to computer science, modelling guard placement, network monitoring, error-correcting codes, and serving as the canonical starting point for parameterised and approximation algorithms.
The approximation landscape for VC is unusually well charted. The classical maximal-matching algorithm achieves a 2-approximation in linear time [2]; LP-based refinements by Karakostas [3] and Karpinski and Zelikovsky [4] reach factor 2 − Θ ( 1 / log n ) , which is 2 − o ( 1 ) but falls short of a constant 2 − ε . From the hardness side, Dinur and Safra [5] ruled out any ratio below 10 5 − 21 ≈ 1.3606 under P ≠ NP ; subsequently, Khot, Minzer, and Safra [6,7,8] proved the 2-to-2 games conjecture, strengthening this barrier to 2 − ε for any fixed ε > 0 under P ≠ NP ; and under the Unique Games Conjecture [9], no constant ratio below 2 − ε is achievable [10]. A polynomial-time algorithm achieving a constant ratio ρ < 2 would therefore resolve P versus NP.
Against this backdrop, we present an algorithm—implemented as the Salvador Python package (v0.0.2)—that, on every instance we have tested, produces a vertex cover of size strictly below 1.14 times the known optimum. The algorithm, called FindVertexCover, operates in three phases.
1.
Preprocessing. Self-loops are discarded; isolated vertices are removed (they appear in no edge and need not be covered).
2.
Reduction and kernel solve. The core routine SolveVC reduces the cleaned graph G to a weighted MIDS instance on a planar forest-core gadget H and invokes a linear Baker-style pass [11] on H. All non-core edges are then covered by a greedy repair step.
3.
Linear-time pruning.PruneRedundantVertices makes a single forward pass over the candidate cover C and removes every vertex all of whose neighbours are already covered, reducing | C | without compromising validity.
All phases are bounded by a constant number of passes over vertices and edges, giving an overall complexity of O ( n + m ) , where n = | V | and m = | E | .

1.0.0.1. Contributions

The main contributions of this paper are:
  • A practical O ( n + m ) vertex-cover algorithm with a linear planar-core reduction and a bounded-pass Baker-style weighted MIDS solver.
  • A weighted MIDS gadget that encodes the planar forest core as a minimum-weight independent dominating set instance, enabling a linear Baker-style solve-and-repair pipeline.
  • An experimental study on 68 NPBench clique-complement benchmark graphs showing empirical ratios in [ 1.000 , 1.197 ] (mean 1.030 ).
  • A conjecture that the universal approximation ratio is at most 1.4 = 2 − ε 0 for the explicit constant ε 0 = 2 − 7 5 ≈ 0.0142 > 0 . Since 1.4 < 2 , any proof of this conjecture places the algorithm strictly below the 2 inapproximability barrier established by the 2-to-2 games hardness results, directly implying P = NP .
  • An open-source implementation, Salvador v0.0.2.
The paper is organised as follows. Section 3 describes the algorithm and provides pseudocode. Section 4 proves correctness. Section 5 analyses the approximation ratio and discusses consequences for P vs NP . Section 6 establishes the time complexity. Section 7 reports the experimental results. Section 8 concludes.

2. Research Data

The algorithm is implemented in the Python package Salvador, freely available on the Python Package Index [12]. The current version is v0.0.2; code metadata is summarised in Table 1.

3. Description of the Algorithm

We present the pseudocode for the three components of the Salvador algorithm.

3.1. Main Algorithm

Algorithm 1 is the entry point. After cleaning the graph it delegates to SolveVC and then applies the pruning pass.
Algorithm 1:FindVertexCover ( G , ε )
1.5
Require: 
Undirected graph G = ( V , E ) , parameter ε ∈ ( 0 , 1 ] (default ε = 0.1 )
Ensure: 
A vertex cover C ⊆ V
1:
Remove all self-loops from G
2:
G ← G ∖ { v ∈ V : deg G ( v ) = 0 } ▹ isolated vertices are in no edge
3:
if E = ∅ thenreturn∅
4:
end if
5:
C , _ ← S o l v e V C ( G , ε )
6:
adj ← { v ↦ N G ( v ) : v ∈ V }
7:
C ← P r u n e R e d u n d a n t V e r t i c e s ( adj , C )
8:
returnC

3.2. Weighted MIDS Gadget and Planar Solve

Algorithm 2 implements the reduction from Vertex Cover to weighted Minimum Independent Dominating Set on a planar core, invokes a linear Baker-style pass, and repairs non-core edges in one scan.
Algorithm 2:SolveVC ( G , ε )
1.5
Require: 
Planar or non-planar graph G = ( V , E ) , parameter ε
Ensure: 
A vertex cover C ⊆ V of G
1:
G p , removed ← S p a n n i n g F o r e s t C o r e ( G ) ▹ Union-Find; G p is planar
2:
N ← | V ( G p ) | ;    P ← N + 1 ▹ hub penalty
3:
H ← new graph
4:
for v ∈ V ( G p ) do
5:
    Add nodes ( v , 0 ) with weight 1 and ( v , 1 ) with weight 0 to H
6:
    Add edge { ( v , 0 ) , ( v , 1 ) } to H
7:
end for
8:
for ( u , v ) ∈ E ( G p ) do
9:
    Add hub node h u v with weight P to H
10:
    Add edges { ( u , 0 ) , h u v } and { ( v , 0 ) , h u v } to H
11:
end for
12:
S ← L i n e a r B a k e r P a s s ( H , ε ) ▹ linear weighted IDS pass on planar H
13:
C ← { v ∈ V ( G p ) : ( v , 0 ) ∈ S } ▹ decode cover
14:
for ( u , v ) ∈ E with u ∉ C and v ∉ C  do
15:
     C ← C ∪ { arg max w ∈ { u , v } deg G ( w ) } ▹ greedy repair
16:
end for
17:
returnC
The gadget H is always planar because G p is a forest and H is a subdivision of G p augmented with pendant leaves ( v , 1 ) ; subdivisions of planar graphs are planar, and appending pendant leaves preserves planarity. The hub weight P = N + 1 enforces coverage inside the core: in any optimal MIDS for H, including a hub is more expensive than selecting all vertex nodes. The SpanningForestCore routine builds G p by Union-Find in one pass over E and records each cycle-closing edge in removed for the final repair scan.

3.3. Linear-Time Pruning

Algorithm 3 removes redundant vertices from a candidate cover in a single forward pass, running in O ( n + m ) total time.
Algorithm 3:PruneRedundantVertices ( adj , C )
1.5
Require: 
Adjacency map adj , candidate cover C ⊆ V
Ensure: 
Valid vertex cover C ′ ⊆ C with no redundant vertex
1:
C ← mutable copy of C
2:
for v ∈ C (in iteration order) do
3:
    if  N G ( v ) ⊆ C then▹ every neighbour of v already covered by another member
4:
         C ← C ∖ { v }
5:
    end if
6:
end for
7:
returnC

4. Correctness of the Algorithm

Theorem 1. 
Algorithm 1 always returns a valid vertex cover of the input graph G.
Proof. 
We must show that every edge ( u , v ) ∈ E has at least one endpoint in the output C. Isolated vertices are removed in preprocessing and appear in no edge, so they need not be covered.
Core path. The linear Baker-style pass returns a feasible IDS S of the gadget H. The variable edge { ( v , 0 ) , ( v , 1 ) } guarantees that at least one of ( v , 0 ) , ( v , 1 ) is dominated for every v ∈ V ( G p ) . The repair loop then adds one endpoint of every core edge not yet covered by the decoded set C = { v : ( v , 0 ) ∈ S } , ensuring all core edges are covered.
Core and repair path. Let G p = ( V , E p ) be the spanning-forest core, with E p ⊆ E and V ( G p ) = V . The weighted MIDS pass and residual repair produce a cover C valid for G p . Every edge in E ∖ E p is inspected in the repair loop: if neither endpoint is in C, the higher-degree endpoint is added. After the loop every edge of E has at least one endpoint in C.
Pruning. A vertex v ∈ C is removed by Algorithm 3 only when every neighbour of v lies in C. In that case every edge incident to v is already covered by the neighbour side, so removing v leaves every edge covered.    □

5. Approximation Ratio and Consequences for P vs NP

5.1. Structural Setup and Notation

Let G = ( V , E ) be the input graph with n = | V | and m = | E | . Write τ ( G ) for the size of a minimum vertex cover of G and let τ * = τ ( G ) . Let G p = ( V , E p ) be the spanning-forest core, let H be the weighted MIDS gadget of Algorithm 2, and set τ p * = τ ( G p ) .

5.2. Gadget cost identity

Lemma 1 
(Cost identity). For any planar graph G with n vertices and gadget hub penalty P = n + 1 , the minimum weighted MIDS cost of H equals τ * : τ H * = τ ( G ) .
Proof. 
Lower bound ( τ H * ≥ τ * ). Let S be any feasible MIDS of H. For each hub h u v ∉ S , both ( u , 0 ) and ( v , 0 ) must be in S, so the edge ( u , v ) is covered by C S = { v ∈ V : ( v , 0 ) ∈ S } . Any hub h u v ∈ S contributes weight P = n + 1 > n ≥ τ * , so any solution containing a hub has cost exceeding τ * . Hence the minimum-cost MIDS S * contains no hub and C S * is a valid vertex cover of G with cost ( S * ) = | C S * | ≥ τ * .
Upper bound ( τ H * ≤ τ * ). Let C * be an optimal vertex cover with | C * | = τ * . Define S * = { ( v , 0 ) : v ∈ C * } ∪ { ( v , 1 ) : v ∉ C * } . Every hub h u v has at least one of ( u , 0 ) , ( v , 0 ) in S * because C * covers ( u , v ) ; every variable-edge node is dominated by its companion. Thus S * is a valid MIDS of H with cost ( S * ) = | C * | = τ * , giving τ H * ≤ τ * .    □

5.3. Linear Core Guarantee

Theorem 2 
(Core cover guarantee). For any input graph G, Algorithm 2 covers every edge of the spanning-forest core G p before the final repair scan and covers every edge of G after the repair scan.
Proof. 
The MIDS pass produces an independent dominating set of H. Decoding selects each v whose node ( v , 0 ) appears in this set. If a core edge ( u , v ) ∈ E p is not covered by the decoded set, the residual core-repair loop adds one endpoint, so all edges of G p are covered. The final repair loop scans E ∖ E p and adds one endpoint for every still-uncovered edge, so every original edge is covered.    □

5.4. Non-Planar Case

Lemma 2 
(Subgraph optimality). τ p * ≤ τ * .
Proof. 
Any vertex cover of G is also a vertex cover of G p ⊆ G .    □
Proposition 1 
(Repair bound). For any input G, Algorithm 1 adds at most one repair vertex per edge in E ∖ E p after the core solve.
Proof. 
The repair loop visits each edge in E ∖ E p once. It does nothing when an endpoint is already in C and otherwise adds exactly one endpoint. Thus the number of repair additions is at most | E ∖ E p | .    □
In practice the repair adds far fewer vertices than Proposition 1 suggests, because most removed edges are already covered by the solution on G p . The experimental data in Section 7 confirms that the algorithm consistently achieves ratios well below 2 + ε .

5.5. The 1.4 Conjecture and the 2 Inapproximability Threshold

The following algebraic observation is central to the paper’s main theoretical consequence.
Proposition 2 
( 1.4 = 2 − ε 0 ). The value 7 5 = 1.4 satisfies 7 5 = 2 − ε 0 for the positive constant ε 0 = 2 − 7 5 ≈ 0.0142 > 0 . In particular, 1.4 < 2 .
Proof. 
Direct computation: 2 ≈ 1.41421 and 7 / 5 = 1.4 , so ε 0 = 2 − 7 / 5 > 0 .    □
Empirically, across all 68 logged NPBench benchmark instances, the ratio | C | / τ * lies in [ 1.000 , 1.197 ] (Section 7). We formalise the empirical finding as a conjecture.
Conjecture 1 
(Universal 1.4 -approximation). For every undirected graph G, Algorithm 1 with the default ε = 0.1 returns a vertex cover C with | C | ≤ 7 5 τ ( G ) = ( 2 − ε 0 ) τ ( G ) , where ε 0 = 2 − 7 5 > 0 .
Conjecture 1 is conservative: the largest empirical ratio observed is 1.197 < 1.4 . The value 1.4 is the algebraically natural threshold because 1.4 = 2 − ε 0 places the conjectured ratio strictly below 2 .

5.6. Consequences for P vs NP

Theorem 3 
(Implication for P vs NP ). If Algorithm 1 with parameter ε = 0.1 achieves an approximation ratio at most 1.4 = 2 − ε 0 on every undirected graph, then P = NP .
Proof. 
Khot, Minzer, and Safra [6,7,8] proved the 2-to-2 games conjecture and derived from it that, for every δ > 0 , approximating Minimum Vertex Cover within a factor of ( 2 − δ ) is NP-hard. Since 1.4 = 2 − ε 0 with ε 0 = 2 − 7 5 > 0 , the ratio 1.4 is exactly of the form 2 − δ for δ = ε 0 . Algorithm 1 runs in polynomial time (Theorem 4). A universal ratio ≤ 1.4 by this algorithm therefore constitutes a polynomial-time ( 2 − ε 0 ) -approximation, contradicting the 2-to-2 games NP-hardness result unless P = NP .    □
Remark 1. 
Theorem 3 is direct and unconditional: it requires no unproved complexity hypothesis beyond P ≠ NP , and in particular does not use the Unique Games Conjecture. Three layers of evidence support Conjecture 1: (i) Theorem 2 establishes validity for all inputs; (ii) on every tested instance the ratio lies in [ 1.000 , 1.197 ] ⊂ [ 1 , 1.4 ) , with the maximum 1.197 already strictly below the weaker Dinur–Safra threshold 10 5 − 21 ≈ 1.3606  [5], meaning that even a universal proof of the empirical bound 1.197 would imply P = NP ; (iii) the explicit constant ε 0 ≈ 0.0142 makes the conjecture algebraically precise rather than asymptotic. Additionally, under the Unique Games Conjecture, Khot and Regev [10] showed that no polynomial-time algorithm achieves ratio better than 2 − δ for any fixed δ > 0 ; a proved universal ratio of 1.4 < 2 would simultaneously refute the Unique Games Conjecture.

6. Runtime Analysis

Theorem 4. 
Algorithm 1 runs in time O ( n + m ) , where n = | V | and m = | E | .
Proof. 
We bound each phase. Preprocessing costs O ( n + m ) . The SpanningForestCore routine performs one Union-Find pass over the edge list and costs O ( n + m ) , absorbing the inverse-Ackermann factor into the linear bound [13]. Building the gadget H for the forest core adds 2 n variable nodes, at most n − 1 hub nodes, and O ( n ) gadget edges. The linear Baker-style pass uses weight-bucketed maximal independent set construction and adjacency marking, hence costs O ( | V ( H ) | + | E ( H ) | ) = O ( n ) . The final repair and pruning phases scan at most m original edges and incident adjacency entries. Therefore the total running time is O ( n + m ) .    □

7. Experimental Study

7.1. Setup

We evaluated Salvador v0.0.2 on the NPBench vertex-cover clique-complement collection [14]. The instances are DIMACS Second Implementation Challenge maximum-clique graphs converted to vertex-cover instances by complementing the edge set. A clique of size ω in the original graph G 0 is an independent set of size ω in the complement G = G 0 ¯ , and therefore the corresponding minimum vertex-cover optimum is τ * = n − ω . We use the compiled DIMACS clique-number values of Mascia [15]; entries marked † use a best-known clique lower bound, so the displayed τ * is an upper bound on the true optimum.
The command used for the logged run was
python − msalvador . batch − i . / experiments / − c − a − l ,
equivalently batch_vega -i ./experiments/ -c -a -l. The log is stored as experiments/np_bench.txt. We compare against NetworkX’s min_weighted_vertex_cover, a certified 2-approximation based on the Bar-Yehuda–Even local-ratio algorithm [16], running in O ( m log n ) time. Since this baseline returns a cover C N with | C N | ≤ 2 τ * , every Salvador cover C S has the certified a posteriori bound
| C S | τ * ≤ 2 | C S | | C N | .
For example, on brock200_2.clq-compliment.txt, NetworkX returns a cover of size 199 in 15.690 ms, Salvador returns a cover of size 192 in 21.458 ms, and the certified upper bound is 2 · 192 / 199 = 1.929648 .

7.2. Approximation Ratios

Table 2 reports the reference optimum, NetworkX cover size and ratio, Salvador cover size and ratio, the certified upper bound 2 | C S | / | C N | , and the measured milliseconds for both algorithms.
Across the 68 logged NPBench instances, Salvador has mean ratio | C S | / τ * = 1.030 , minimum 1.000 , and maximum 1.197 ; the NetworkX baseline has mean ratio 1.147 . The mean certified upper bound 2 | C S | / | C N | is 1.831 , with minimum 1.001 and maximum 1.986 .

7.3. Running-Time Analysis and the Role of Sparsity

The running times in Table 2 span the NPBench family structure.

7.3.0.2. Sparse and structured families

The Hamming, Johnson, c-fat, and MANN families show the strongest behavior: Salvador is exact on many of these instances and stays within 0.7 % of optimum on the largest MANN cases.

7.3.0.3. Medium-density and planted families

The C and gen families are harder for the repair step. The largest displayed Salvador ratio in the run is 1.197 on san400_0.9_1; the planted gen200_p0.9_55 case has ratio 1.138 .

7.3.0.4. Dense families

The brock, keller, p-hat, san, and sanr families keep Salvador close to optimum despite many cycle-closing edges. On brock200_2, for instance, NetworkX returns 199 vertices while Salvador returns 192 against optimum 188.

7.3.0.5. Take-away

Salvador improves the NetworkX baseline cover size on every logged NPBench instance and obtains exact optimum on multiple structured families. With the displayed DIMACS reference values, every empirical Salvador ratio in Table 2 lies below both the 2 inapproximability threshold and the conjectured bound of 1.4 .

8. Conclusions

We have presented the Salvador algorithm, a linear-time approximate solver for the Minimum Vertex Cover problem that combines a weighted MIDS gadget construction with a Baker-style linear pass and a linear-time redundancy-pruning step. The algorithm always returns a valid vertex cover (Theorem 1) and runs in O ( n + m ) time (Theorem 4).
Across 68 NPBench clique-complement benchmark graphs, the empirical approximation ratio ranges from 1.000 to 1.197 with a mean of 1.030 . We conjecture a universal upper bound of 7 5 = 1.4 (Conjecture 1). The central observation of this paper is that 1.4 = 2 − ε 0 for the explicit positive constant ε 0 = 2 − 7 5 ≈ 0.0142 , so the conjectured ratio lies strictly below the 2 inapproximability threshold. By Theorem 3, which rests on the 2-to-2 games hardness results of Khot, Minzer, and Safra [6,7,8], any proof of Conjecture 1 implies P = NP directly and unconditionally, without appealing to the Unique Games Conjecture or any other unproved hypothesis.
Future work includes: (i) establishing or refuting Conjecture 1 through structural analysis of the repair step; (ii) extending the weighted MIDS framework to dominating set, independent set, and set cover; and (iii) tightening the constants in the linear repair phase on dense instances. The implementation is freely available as the Salvador package (v0.0.2) on PyPI [12].

References

  1. Karp, R.M. Reducibility Among Combinatorial Problems. In 50 Years of Integer Programming 1958–2008: From the Early Years to the State-of-the-Art; Springer: Berlin, Germany, 2010; pp. 219–241. [Google Scholar] [CrossRef]
  2. Papadimitriou, C.H.; Steiglitz, K. Combinatorial Optimization: Algorithms and Complexity; Courier Corporation: North Chelmsford (MA), 1998. [Google Scholar]
  3. Karakostas, G. A Better Approximation Ratio for the Vertex Cover Problem. ACM Trans. Algorithms 2009, 5, 1–8. [Google Scholar] [CrossRef]
  4. Karpinski, M.; Zelikovsky, A. Approximating Dense Cases of Covering Problems. In Proceedings of the DIMACS Series in Discrete Mathematics and Theoretical Computer Science, Providence, Rhode Island, 1996; Vol. 26, pp. 147–164. [Google Scholar]
  5. Dinur, I.; Safra, S. On the Hardness of Approximating Minimum Vertex Cover. Ann. Math. 2005, 162, 439–485. [Google Scholar] [CrossRef]
  6. Khot, S.; Minzer, D.; Safra, M. On Independent Sets, 2-to-2 Games, and Grassmann Graphs. In Proceedings of the Proceedings of the 49th Annual ACM SIGACT Symposium on Theory of Computing, Montreal, Québec, Canada, 2017; pp. 576–589. [Google Scholar] [CrossRef]
  7. Dinur, I.; Khot, S.; Kindler, G.; Minzer, D.; Safra, M. Towards a proof of the 2-to-1 games conjecture? In Proceedings of the Proceedings of the 50th Annual ACM SIGACT Symposium on Theory of Computing, Los Angeles, California, 2018; pp. 376–389. [Google Scholar] [CrossRef]
  8. Khot, S.; Minzer, D.; Safra, M. Pseudorandom Sets in Grassmann Graph Have Near-Perfect Expansion. In Proceedings of the 2018 IEEE 59th Annual Symposium on Foundations of Computer Science, Paris, France, 2018; pp. 592–601. [Google Scholar] [CrossRef]
  9. Khot, S. On the Power of Unique 2-Prover 1-Round Games. In Proceedings of the Proceedings of the 34th Annual ACM Symposium on Theory of Computing, Montreal, Québec, Canada, 2002; pp. 767–775. [Google Scholar] [CrossRef]
  10. Khot, S.; Regev, O. Vertex Cover Might Be Hard to Approximate to Within 2-ϵ. J. Comput. Syst. Sci. 2008, 74, 335–349. [Google Scholar] [CrossRef]
  11. Baker, B.S. Approximation algorithms for NP-complete problems on planar graphs. J. ACM 1994, 41, 153–180. [Google Scholar] [CrossRef]
  12. Vega, F. Salvador: Approximate Vertex Cover Solver. 2026, Version 0.0.2. Available online: https://pypi.org/project/salvador (accessed on 23 May 2026).
  13. Tarjan, R.E. Efficiency of a good but not linear set union algorithm. J. ACM 1975, 22, 215–225. [Google Scholar] [CrossRef]
  14. Nguyen, T.; Bui, T. NP-Complete Benchmark Instances Vertex cover DIMACS clique complements. 2025. Available online: https://roars.dev/npbench/.
  15. Mascia, F. The Maximum Clique Problem – DIMACS Benchmark Set Compiled clique-number values for DIMACS Second Implementation Challenge instances. 2015. Available online: https://iridia.ulb.ac.be/~fmascia/maximum_clique/DIMACS-benchmark.
  16. Bar-Yehuda, R.; Even, S. A local-ratio theorem for approximating the weighted vertex cover problem. In Analysis and Design of Algorithms for Combinatorial Problems;Annals of Discrete Mathematics; Elsevier, 1985; Vol. 25, pp. 27–46. Available online: http://www.cs.technion.ac.il/~reuven/PDF/vc_lr.pdf.
Table 1. Code metadata for the Salvador package (v0.0.2).
Table 1. Code metadata for the Salvador package (v0.0.2).
Nr. Code metadata description Metadata
C1 Current code version v0.0.2
C2 Permanent link to code repository https://github.com/frankvegadelgado/salvador
C3 Permanent link to reproducible capsule https://pypi.org/project/salvador/
C4 Legal Code License MIT License
C5 Code versioning system used git
C6 Languages, tools, and services used Python ≥ 3.12, NetworkX ≥ 3.0
C7 Compilation requirements and dependencies Python, NetworkX
Table 2. NPBench clique-complement vertex-cover experiment. τ * = n − ω is computed from the DIMACS clique-number table [15]; † marks best-known, not certified, clique values. The certified column is 2 | C S | / | C N | , using the NetworkX 2-approximation cover C N and Salvador cover C S . Times are milliseconds from experiments/np_bench.txt.
Table 2. NPBench clique-complement vertex-cover experiment. τ * = n − ω is computed from the DIMACS clique-number table [15]; † marks best-known, not certified, clique values. The certified column is 2 | C S | / | C N | , using the NetworkX 2-approximation cover C N and Salvador cover C S . Times are milliseconds from experiments/np_bench.txt.
Instance τ * | C N | | C N | / τ * | C S | | C S | / τ * Cert. T N T S
brock200_1 179 197 1.101 184 1.028 1.868 0.0 21.1
brock200_2 188 199 1.059 192 1.021 1.930 15.7 21.5
brock200_3 185 197 1.065 190 1.027 1.929 1.0 29.1
brock200_4 183 198 1.082 187 1.022 1.889 3.4 38.0
brock400_1 373 397 1.064 382 1.024 1.924 0.0 66.1
brock400_2 371 396 1.067 381 1.027 1.924 3.2 56.9
brock400_3 369 396 1.073 381 1.033 1.924 0.0 69.9
brock400_4 367 398 1.084 383 1.044 1.925 15.7 69.3
brock800_1 777 798 1.027 785 1.010 1.967 17.8 390.8
brock800_2 776 798 1.028 785 1.012 1.967 10.0 306.9
brock800_3 775 796 1.027 785 1.013 1.972 11.8 303.1
brock800_4 774 798 1.031 784 1.013 1.965 15.6 309.1
c-fat200-1 188 198 1.053 188 1.000 1.899 2.9 43.0
c-fat200-2 176 198 1.125 176 1.000 1.778 2.0 38.1
c-fat200-5 142 199 1.401 142 1.000 1.427 2.4 27.6
c-fat500-1 486 498 1.025 486 1.000 1.952 12.0 274.1
c-fat500-10 374 499 1.334 374 1.000 1.499 0.0 198.9
c-fat500-2 474 498 1.051 474 1.000 1.904 15.5 362.9
c-fat500-5 436 499 1.144 436 1.000 1.747 5.5 255.7
C1000.9 ≤932† 987 1.059 953 1.023 1.931 0.0 150.0
C125.9 91 115 1.264 94 1.033 1.635 0.0 6.2
C250.9 206 241 1.170 214 1.039 1.776 1.0 4.3
C500.9 ≤443† 489 1.104 457 1.032 1.869 0.0 46.7
gen200_p0.9_44 156 192 1.231 167 1.071 1.740 0.0 15.6
gen200_p0.9_55 145 187 1.290 165 1.138 1.765 0.0 0.0
gen400_p0.9_55 345 388 1.125 359 1.041 1.851 3.7 19.3
gen400_p0.9_65 335 387 1.155 361 1.078 1.866 2.2 26.2
gen400_p0.9_75 325 385 1.185 356 1.095 1.849 3.2 23.3
hamming10-2 512 1023 1.998 512 1.000 1.001 1.1 46.2
hamming10-4 984 1023 1.040 996 1.012 1.947 11.8 258.1
hamming6-2 32 63 1.969 32 1.000 1.016 0.0 1.0
hamming6-4 60 63 1.050 62 1.033 1.968 0.0 2.0
hamming8-2 128 255 1.992 128 1.000 1.004 1.0 8.2
hamming8-4 240 255 1.062 240 1.000 1.882 2.2 28.9
johnson16-2-4 112 119 1.062 112 1.000 1.882 1.1 4.4
johnson32-2-4 480 495 1.031 480 1.000 1.939 0.0 49.5
johnson8-2-4 24 27 1.125 24 1.000 1.778 0.0 0.0
johnson8-4-4 56 69 1.232 56 1.000 1.623 1.0 5.1
keller4 160 170 1.062 162 1.012 1.906 1.7 59.4
keller5 749 775 1.035 758 1.012 1.956 16.2 183.9
MANN_a27 252 270 1.071 253 1.004 1.874 0.0 8.7
MANN_a45 690 735 1.065 695 1.007 1.891 1.0 23.2
MANN_a81 2221 2268 1.021 2225 1.002 1.962 3.8 79.8
MANN_a9 29 36 1.241 29 1.000 1.611 0.0 0.0
p_hat1000-3 ≤932† 991 1.063 943 1.012 1.903 19.7 351.9
p_hat300-1 292 296 1.014 294 1.007 1.986 0.0 84.0
p_hat300-2 275 296 1.076 278 1.011 1.878 0.0 64.1
p_hat300-3 264 293 1.110 269 1.019 1.836 2.3 32.0
p_hat500-1 491 499 1.016 494 1.006 1.980 16.0 222.3
p_hat500-2 464 495 1.067 471 1.015 1.903 0.0 167.4
p_hat500-3 ≤450† 489 1.087 459 1.020 1.877 5.1 89.2
p_hat700-1 689 699 1.015 693 1.006 1.983 31.3 453.5
p_hat700-2 ≤656† 698 1.064 662 1.009 1.897 15.9 321.4
p_hat700-3 638 692 1.085 645 1.011 1.864 17.2 173.4
san200_0.7_1 170 194 1.141 184 1.082 1.897 0.0 22.8
san200_0.7_2 182 190 1.044 188 1.033 1.979 0.0 21.7
san200_0.9_1 130 176 1.354 155 1.192 1.761 0.0 11.3
san200_0.9_2 140 182 1.300 164 1.171 1.802 0.0 10.6
san200_0.9_3 156 190 1.218 171 1.096 1.800 0.0 0.0
san400_0.5_1 387 396 1.023 393 1.016 1.985 0.0 101.0
san400_0.7_1 360 394 1.094 379 1.053 1.924 0.0 72.8
san400_0.7_2 370 393 1.062 385 1.041 1.959 0.0 73.0
san400_0.7_3 378 396 1.048 388 1.026 1.960 0.0 76.0
san400_0.9_1 300 381 1.270 359 1.197 1.885 2.0 15.1
sanr200_0.7 182 197 1.082 186 1.022 1.888 0.0 28.2
sanr200_0.9 158 187 1.184 166 1.051 1.775 0.0 14.5
sanr400_0.5 387 399 1.031 389 1.005 1.950 0.0 99.8
sanr400_0.7 379 396 1.045 385 1.016 1.944 20.4 67.3
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.
Copyright: This open access article is published under a Creative Commons CC BY 4.0 license, which permit the free download, distribution, and reuse, provided that the author and preprint are cited in any reuse.