Preprint
Article

This version is not peer-reviewed.

Salvador: An Approximate Solution to the Minimum Vertex Cover Problem

Submitted:

09 October 2026

Posted:

12 October 2026

Read the latest preprint version here

Abstract
Minimum Vertex Cover has a classical polynomial-time ratio of 2, and a manuscript released by the OpenAI Math Team in October 2026, not yet peer reviewed, reports a proof of the Unique Games Conjecture in the form that, by the theorem of Khot and Regev, makes every fixed ratio below 2 NP-hard. We present SALVADOR (v0.1.1), a worst-case O(n + m) ensemble of eleven candidate covers plus a swap-maximize refinement; it contains the Hvala ensemble, so it is valid and has ratio at most 2 on every graph. We analyse each strategy c1, . . . , c12 separately and prove what it guarantees: c4 is exact on forests, cycles and complete graphs, and c4 and c8 are exact on every bipartite graph whose components are regular or degree-separated, which includes all regular bipartite graphs of every degree; c8 meets the Caro–Wei bound on every graph; c1, c5 have ratio 2ν/τ; c2 has ratio 11/6 on subcubic graphs; c3 beats 2 on hub-dominated graphs; c10 solves a labelled, weighted edge-dominating-set gadget whose optimum is a minimum vertex cover with the fewest doubly covered edges, by a dynamic program whose bags never exceed six nodes; c11 is exact when its elimination core is empty; and c9, c12 never worsen the best cover. Combining these certificates, SALVADOR has ratio at most 1.999999999 on every graph outside a residue R of nearly K˝onig–Egerváry graphs. We then explain why the ensemble succeeds on R: every cover satisfies the exact identity |C| = |y| + y(E(C)) + defy(C) for every fractional matching y, so on R the excess of a cover is its violation of complementary slackness, and the a-posteriori certificate |C|/νf equals the true ratio up to a factor 1 + 5 · 10−10; the strategies keep this violation small, and on regular graphs it is exactly the number of doubly covered edges, the quantity that c10 minimises. Experimentally, on 1,744 benchmark graphs, 152 bipartite graphs, 117 Khot–Regev YES instances, 120 mechanism instances and 267 regular graphs of degree up to 64, every instance carries a per-instance certificate of ratio at most 1.237, the ratio never exceeds 1.0455 on bipartite graphs and 1.0425 on YES instances with known optimum, all 117 regular bipartite graphs are solved exactly, and the bags of c10 never exceed six nodes. If the reported hardness holds, a proof that SALVADOR achieves 2 − ε0 on all of R would imply P = NP; we state this as a conditional theorem, not as a result.
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 . Under the Unique Games Conjecture [6], Khot and Regev [7] showed that no polynomial-time algorithm can approximate Minimum Vertex Cover within factor 2 − ε for any fixed ε > 0 unless P = NP , and Austrin, Khot and Safra [8] refined this to graphs of maximum degree d, where the UGC-hardness threshold is 2 − ( 2 + o d ( 1 ) ) log log d / log d , matching the algorithm of Halperin [9]. In October 2026 the OpenAI Math Team released a manuscript, The Unique Games Theorem, with accompanying Lean artifacts [10], which reports a deterministic polynomial-time reduction from 3SAT to unique games with completeness 1 − ε and soundness δ , that is, a proof of UGC in the NP-hardness form that Khot–Regev requires. At the time of writing this manuscript has not been peer reviewed. If it holds, the theorem of Khot and Regev makes every fixed ratio below 2 NP-hard, and the factor 2 is the exact polynomial-time barrier for Vertex Cover: a proved constant ratio 2 − ε 0 with ε 0 > 0 for a polynomial-time algorithm on every graph would imply P = NP , however small ε 0 is, and no intermediate threshold such as 2 needs to be crossed.
Against this backdrop, we present an algorithm—implemented as the Salvador Python package (v0.1.1)—that produces a vertex cover whose size is provably never more than twice the optimum and, on every instance we have tested under the default call ε = 1 , far closer to it. The algorithm, called FindVertexCover, is an ensemble: it computes eleven valid candidate covers, refines each by a swap-maximize pass, and returns the smallest refined cover. Four of the candidates and the pruning pass adapt the ensemble published as the Hvala algorithm [11,12], which proves an unconditional O ( n + m ) time and space bound and worst-case approximation ratio at most 2; Salvador therefore contains Hvala. Salvador adds seven candidates of its own and the final refinement, described below. The algorithm operates in five phases.
1.
Preprocessing. Self-loops are discarded; isolated vertices are removed (they appear in no edge and need not be covered).
2.
Ensemble of linear-time candidates. Seven independent heuristics are run on the cleaned graph G: maximal matching, bucket-queue maximum-degree greedy, and a degree-1 weighted-reduction ("Hallelujah") heuristic (all three adapted from Hvala [11]; the Hallelujah resolution is made selection-aware in this version); a Min-to-Min bucket heuristic and a primal-dual/local-ratio 2-approximation; SolveVC, which reduces G to a weighted MIDS instance on a planar forest-core gadget and solves it with a Baker-style pass [13] of layering width k = ⌈ 1 / ε ⌉ (at the default ε = 1 , k = 1 and the pass is its linear-time greedy baseline); and BipartitePlanarCover, the oriented-incidence reduction to a bipartite planar auxiliary graph, solved exactly by a linear-time cycle dynamic program.
3.
Linear-time pruning.PruneRedundantVertices (Hvala’s fourth strategy) removes from each candidate every vertex all of whose neighbours are already in the cover; it is applied to every candidate and to their union.
4.
Budgeted local search.LocalSearchCover takes the smallest pruned candidate and improves its complementary independent set by ( 1 , 2 ) -swaps and perturbations, stopping after O ( n + m ) adjacency scans; it never returns a larger cover than its input.
5.
Exact structured solvers and final refinement.EDSTreewidthCover ( c 10 ) reduces every bipartite component of G to a labelled, weighted edge dominating set problem on a gadget in which every vertex becomes a path through its edges, whose minimum-weight solutions are exactly the minimum vertex covers with the fewest doubly covered edges, solves it by a dynamic program whose bags never exceed six nodes, and reads the cover from the labels; TreewidthDPCover ( c 11 ) solves vertex cover exactly by dynamic programming on a bounded-width elimination of G, fixing any un-eliminated core as in the best other candidate; and RefineCover ( c 12 ) applies a budgeted swap-maximize pass to every candidate and returns the smallest refined cover.
At the default ε = 1 every one of the twelve strategies runs in worst-case O ( n + m ) time, where n = | V | and m = | E | , so the whole algorithm is O ( n + m ) . This holds in particular for the Min-to-Min heuristic, whose bucket-queue argument pops and processes one minimum-degree vertex per step, for the bipartite planar reduction, whose auxiliary graph is solved exactly by a linear-time dynamic program (Lemma 1), and for the local search, the treewidth dynamic program and the final refinement, whose work is capped by explicit O ( n + m ) budgets.

Contributions 

The main contributions of this paper are:
  • A linear-time ensemble vertex-cover algorithm with eleven candidates and a final refinement, four of which adapt the published Hvala ensemble [11], so that Salvador contains Hvala and inherits its guarantees.
  • A structural lemma (Lemma 1) showing that the oriented-incidence auxiliary graph of the bipartite planar reduction is a disjoint union of even cycles and single edges, so its exact minimum-weight vertex cover takes O ( n + m ) time; and a residual, minimum-degree-ordered variant of the reduction that improves its covers further.
  • A selection-aware resolution rule for the Hallelujah heuristic that removes its redundancy on graphs whose vertices share one degree, and a budgeted ( 1 , 2 ) -swap iterated local search that never worsens the ensemble’s best cover.
  • Three structured strategies: a labelled, weighted edge-dominating-set reduction c 10 , whose minimum-weight solutions are exactly the minimum vertex covers with the fewest doubly covered edges, solved on the bipartite components by a linear-time dynamic program whose bags never exceed six nodes (Proposition 4); a linear-time bounded-treewidth dynamic program that returns a minimum vertex cover whenever its elimination core is empty and never a larger cover than the best other candidate (Theorem 11); and a budgeted swap-maximize refinement of every candidate (Proposition 5).
  • An unconditional worst-case approximation ratio of at most 2 for every graph (Theorem 2).
  • A reproducible suite of 1 , 744 graphs on which the exact or certified ratio never exceeds 1.17 , using certified lower bounds (exact bipartite matching, Karp–Sipser matching, clique packing and a Laplacian Hoffman bound) that are much sharper than a maximal-matching bound, together with a per-family report of which candidate wins.
  • Per-class theorems at the target ratio 1.999999999 : the Min-to-Min candidate c 4 is exact on forests, on graphs of maximum degree 2, on complete graphs and on complete bipartite graphs (Theorem 4); c 4 and the residual bipartite planar candidate c 8 are exact on every bipartite graph whose components are regular or degree-separated, including every regular bipartite graph of every degree (Theorem 6); c 8 meets the Caro–Wei bound | c 8 | ≤ n − ∑ v 1 / ( deg v + 1 ) on every graph (Lemma 6), hence has ratio at most 2 Δ / ( d ¯ + 1 ) (Corollary 1) and at most 2 − 2 / ( d + 1 ) on every d-regular graph (Theorem 5); every candidate is a minimal cover and the matching candidates c 1 , c 5 beat 1.999999999 on every graph with τ ≥ 2 ν / 1.999999999 , including dense graphs and spectrally non-bipartite regular graphs of every degree (Theorems 7 and 8, Corollary 3); the max-degree greedy c 2 achieves 11 / 6 on all subcubic graphs (Theorem 9); and the selection-aware Hallelujah candidate c 3 satisfies | c 3 | 2 ≤ 2 m W ( G ) and so beats 1.999999999 on hub-dominated graphs (Theorem 10); together with a table of which strategy wins on each graph class and an explanation, through the bounded-degree hardness of Austrin, Khot and Safra, of why these class-by-class guarantees are consistent with UGC (Section 5.9).
  • A conjecture with a conditional consequence: a universal ratio of at most 2 − ε 0 with ε 0 = 10 − 9 would imply P = NP if the Unique Games Theorem reported in [10] holds (Theorem 14).
  • A strategy-by-strategy analysis of c 1 , … , c 12 (Section 5.14): a combined certificate theorem bounding the returned cover by the best per-strategy guarantee on every graph (Theorem 12), and an explanation of why the ensemble succeeds on the residue R (Section 5.15): an exact slack identity for every cover and every fractional matching (Lemma 7), which on regular graphs says that a cover is minimum exactly when it has the fewest doubly covered edges (Corollary 4), and the fact that on R the a-posteriori certificate | C | / ν f equals the true ratio up to a factor 1 + 5 · 10 − 10 (Theorem 13), so that every tested instance of R carries a proof of its ratio.
  • Five experiments on the residue and on the new strategy: 152 bipartite graphs, solved optimally on 135 and within 4.6 % otherwise without any matching computation (Section 7.4); 117 sampled YES-type instances of the Khot–Regev reduction, within 4.3 % of the optimum where it is known and within 23.7 % of a certified lower bound everywhere (Section 7.5); a mechanism experiment on 120 instances that measures which proved certificate applies, how far the greedy candidates are from the optimum, and how much the local search recovers (Section 7.6); 267 general and bipartite regular graphs of degree 3 to 64, on which every bipartite instance is solved exactly, as Theorem 6 predicts, and the certified ratio of the general instances never exceeds 1.174 and decreases for large degree (Section 7.7); and a bag study of c 10 on 108 bipartite graphs and 285 small graphs checked by brute force, in which no bag exceeds six nodes and every exact run returns a minimum cover with the fewest doubly covered edges (Section 7.8).
  • A head-to-head comparison with Hvala on the 68 DIMACS clique-complement instances of NPBench (Section 7.3), on which Salvador never returns a larger cover and returns a strictly smaller one on 49 instances.
  • An open-source implementation, Salvador v0.1.1.
The paper is organised as follows. Section 3 describes the algorithm and provides pseudocode. Section 4 proves correctness. Section 5 analyses the approximation ratio, proves per-class guarantees at the target ratio 1.999999999 , explains which strategy wins on each graph class, and discusses the conditional consequence for P versus NP . Section 6 establishes the time complexity. Section 7 reports empirical results on a reproducible test suite. Section 8 concludes.

2. Research Data

The algorithm is implemented in the Python package Salvador, freely available on the Python Package Index [14]. The current version is v0.1.1; the accuracy parameter ε drives only the Baker-PTAS candidate’s layering (Remark 2), not the ensemble’s linear-time guarantee, which holds at the default ε = 1 regardless. Code metadata is summarised in Table 1, the local reduction gadget of the SolveVC candidate is depicted in Figure 1, and the oriented-incidence gadget of the bipartite planar reduction in Figure 2.

3. Description of the Algorithm

Salvador’s entry point, FindVertexCover (Algorithm 1), is an ensemble. It computes seven independently valid candidate covers by seven different linear-time heuristics ( c 1 , … , c 6 and c 8 ), prunes each with PruneRedundantVertices, prunes their union to form c 7 , improves the smallest of these eight with a budgeted local search to form c 9 , adds the edge-dominating-set cover c 10 , computed by a treewidth dynamic program on a labelled, weighted gadget of the bipartite components, and the bounded-treewidth dynamic program c 11 , refines every one of c 1 , … , c 11 with a budgeted swap-maximize pass, and returns the smallest refined cover c 12 . Four of the candidate heuristics—maximal matching ( c 1 ), bucket-queue maximum-degree greedy ( c 2 ), the degree-1 weighted-reduction heuristic ( c 3 ), and the pruning pass itself—adapt the ensemble published as the Hvala algorithm [11,12], which proves that they run in O ( n + m ) time and space and that the best of them already achieves worst-case approximation ratio at most 2. Salvador adds the Min-to-Min heuristic ( c 4 ), a primal-dual/local-ratio 2-approximation ( c 5 ), the planar forest-core MIDS reduction SolveVC ( c 6 ), the bipartite planar oriented-incidence reduction BipartitePlanarCover ( c 8 ), the local search LocalSearchCover ( c 9 ), EDSTreewidthCover ( c 10 ), TreewidthDPCover ( c 11 ) and the refinement RefineCover ( c 12 ). We present pseudocode for the main ensemble, the candidates, and the pruning pass.
Algorithm 1  FindVertexCover ( G , ε )
Require: 
Undirected graph G = ( V , E ) , accuracy parameter ε ∈ ( 0 , 1 ] (default ε = 1 ; only c 6 depends on ε , and at ε = 1 every candidate runs in O ( n + m ) time, see Remark 2)
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 = ∅   then return∅
4:
end if
5:
adj ← { v ↦ N G ( v ) : v ∈ V }
6:
c 1 ← M a x i m a l M a t c h i n g C o v e r ( G )       ▹ Hvala strategy 1
7:
c 2 ← B u c k e t D e g r e e G r e e d y ( adj )    ▹ Hvala strategy 2
8:
c 3 ← R e d u c t i o n M a x D e g r e e O n e ( G )    ▹ Hvala strategy 3, "Hallelujah", selection-aware
9:
c 4 ← M i n T o M i n C o v e r ( adj )    ▹ Salvador-specific
10:
c 5 ← L i n e a r W e i g h t e d C o v e r ( G )    ▹ Salvador-specific, primal-dual
11:
c 6 ← S o l v e V C ( G , ε )    ▹ Salvador-specific, planar MIDS reduction
12:
for  i ∈ { 1 , … , 6 }   do
13:
     c i ← P r u n e R e d u n d a n t V e r t i c e s ( adj , c i )    ▹ Hvala strategy 4, applied to every candidate
14:
end for
15:
c 8 ← B i p a r t i t e P l a n a r C o v e r ( adj )    ▹ Salvador-specific, Alg. 7; already pruned
16:
c 7 ← P r u n e R e d u n d a n t V e r t i c e s ( adj , c 1 ∪ … ∪ c 6 ∪ c 8 )
17:
c ★ ← arg min i ∈ { 1 , … , 8 } | c i |
18:
c 9 ← L o c a l S e a r c h C o v e r ( adj , c ★ )    ▹ Salvador-specific, Alg. 9; | c 9 | ≤ | c ★ |
19:
c ★ ★ ← arg min i ∈ { 1 , … , 9 } | c i |
20:
c 10 ← P r u n e R e d u n d a n t V e r t i c e s ( adj , E D S T r e e w i d t h C o v e r ( adj , c ★ ★ ) ) ; if | c 10 | > | c ★ ★ | then c 10 ← c ★ ★    ▹ Section 3.7
21:
c r e f ← arg min i ∈ { 1 , … , 10 } | c i |
22:
c 11 ← P r u n e R e d u n d a n t V e r t i c e s ( adj , T r e e w i d t h D P C o v e r ( adj , c r e f ) )    ▹Section 3.8
23:
v max ← a vertex of maximum degree
24:
for  i ∈ { 1 , … , 11 }   do
25:
     r i ← R e f i n e C o v e r ( G , c i , v max )    ▹ Section 3.9; | r i | ≤ | c i |
26:
end for
27:
c 12 ← arg min i ∈ { 1 , … , 11 } | r i |
28:
return  c 12

3.1. The Hvala-Adapted Candidates

Candidates c 1 , c 2 , and c 3 , and the pruning pass shared by the candidates, adapt the ensemble of Vega’s Hvala algorithm [11], which proves an unconditional O ( n + m ) time and space bound and worst-case approximation ratio at most 2 for every graph. M a x i m a l M a t c h i n g C o v e r ( G ) (Hvala strategy 1) computes a maximal matching in O ( n + m ) time and returns both endpoints of every matched edge; this is the classical linear-time 2-approximation [2]. B u c k e t D e g r e e G r e e d y ( adj ) (Hvala strategy 2, given as Algorithm 2) repeatedly removes a maximum-degree active vertex using a bucket queue indexed by degree, in O ( n + m ) amortized time; its worst-case approximation ratio is Θ ( log Δ ) by Johnson’s classical bound [2], where Δ is the maximum degree. R e d u c t i o n M a x D e g r e e O n e ( G ) (Hvala strategy 3, the "Hallelujah heuristic" [15]) replaces every vertex u of degree d by d auxiliary copies of weight 1 / d , one per incident edge, so that the auxiliary instance is a perfect matching with one auxiliary edge per original edge; it chooses one endpoint of each auxiliary edge and maps the choice back to G, in O ( n + m ) time. In the published Hallelujah algorithm [15] every auxiliary edge is resolved independently, taking the endpoint of smaller weight with a lexicographic tie-break; Theorem 4.7 of [15] shows, through a Cauchy–Schwarz argument, that the projected cover S R satisfies | S R | 2 ≤ 2 | E | · τ ( G ) and | S R | < 2 τ ( G ) on every finite graph with at least one edge.

Selection-aware resolution of the Hallelujah heuristic.

The published rule resolves each auxiliary edge independently, by weight and then by a label tie-break. When all vertices share one degree, every weight 1 / d ties, so the cover is decided by labels alone and can contain almost every vertex ( n − 1 vertices on the n-cycle, 255 of 256 on the 8-cube). In Salvador the heuristic scans the original vertices in ascending order of degree (bucket sort) and resolves the auxiliary edges at u by three rules in priority order: (1) if either endpoint’s original vertex is already selected, the edge is covered and nothing is added; (2) otherwise the endpoint of strictly smaller weight (the higher-degree vertex) is selected, and if that is u the scan of u stops; (3) on a tie, the neighbour of u is selected. The three rules change the heuristic in three ways. Rule (1) stops the heuristic from paying twice for one original vertex: in the published rule, a vertex that wins one auxiliary edge can be chosen again, or its neighbour chosen instead, on its other edges, whereas here an already selected vertex covers all its edges for free. Rule (2) keeps the weighted choice of [15], so every selected vertex is still a minimum-weight endpoint of the edge that selected it, which preserves the Cauchy–Schwarz bound (Theorem 10). Rule (3), combined with the ascending-degree scan, replaces the label tie-break by a structural one: a scanned vertex that is still unselected keeps itself out of the cover and puts its tied neighbours in, so on every component in which all degrees are equal the candidate is the complement of a maximal independent set (Proposition 3). Every auxiliary edge is inspected at most twice, so the running time stays O ( n + m ) . Before pruning, the candidate has 50 vertices on C 100 and 200 on the 20 × 20 torus, both optimal.
Algorithm 2 BucketDegreeGreedy ( adj ) — Hvala strategy 2
Require: 
Adjacency map adj of a graph with maximum degree Δ
Ensure: 
A vertex cover C ⊆ V
1:
deg ( v ) ← | adj ( v ) | for every v; place every v in bucket queue B deg ( v )
2:
C ← ∅ ; removed ← ∅
3:
for  d ← Δ downto 1 do
4:
    while  B d is non-empty do
5:
         v ← pop from B d
6:
        if  v ∈ removed or current deg ( v ) ≠ d or  deg ( v ) = 0  then continue
7:
        end if
8:
         C ← C ∪ { v } ; removed ← removed ∪ { v }
9:
        for  u ∈ adj ( v ) with u ∉ removed  do
10:
            deg ( u ) ← deg ( u ) − 1 ; push u onto B deg ( u )    ▹ stale copies are skipped on pop, above
11:
        end for
12:
    end while
13:
end for
14:
return C

3.2. The Salvador-Specific Candidates

L i n e a r W e i g h t e d C o v e r ( G ) ( c 5 ) is a single O ( n + m ) pass implementing the primal-dual/local-ratio method [16]: it scans every edge once, raises a dual variable at each endpoint up to the remaining slack, and adds an endpoint to the cover whenever its budget saturates; this is a standard 2-approximation.
M i n T o M i n C o v e r ( adj ) ( c 4 ), given as Algorithm 3, repeatedly pops a single currently-minimum-degree active vertex v from a bucket queue and adds an arbitrary current neighbor of v to the cover, then updates degree buckets exactly as in Algorithm 2.
Remark 1
(Why the bucket-queue argument stays linear). Algorithm 3 pops and processes exactly one minimum-degree vertex per outer-loop iteration and selects its covering neighbor in O ( 1 ) (an arbitrary, not degree-minimal, neighbor), with no rescan of a bucket at any step. Consequently the total number of bucket pushes and pops is O ( n + m ) by the same amortized argument as Algorithm 2 (Theorem 15), and the time per processed vertex stays within a constant factor regardless of graph regularity.
Algorithm 3 MinToMinCover ( adj ) — linear-time-corrected
Require: 
Adjacency map adj
Ensure: 
A vertex cover C ⊆ V
1:
deg ( v ) ← | adj ( v ) | for every v; place every v with deg ( v ) > 0 in bucket queue B deg ( v )
2:
C ← ∅ ; min _ d ← 1
3:
while  min _ d ≤ Δ do
4:
    advance min _ d to the smallest index with a non-empty bucket; if none, break
5:
     v ← pop from B min _ d
6:
    if current deg ( v ) ≠ min _ d or  deg ( v ) = 0 thencontinue   ▹ stale entry, O(1) skip
7:
    end if
8:
     target ← an arbitrary element of adj ( v )    ▹ O ( 1 ) : no rescan of the bucket
9:
     C ← C ∪ { target }
10:
    for  u ∈ adj ( target ) do   ▹ standard degree-bucket removal, as in Alg. 2
11:
         deg ( u ) ← deg ( u ) − 1 ; push u onto B deg ( u ) if deg ( u ) > 0
12:
    end for
13:
    remove target from the active graph
14:
    if  deg ( v ) > 0 then push v onto B deg ( v )    ▹v lost its edge to target
15:
    end if
16:
    if  min _ d > 1 and  B min _ d − 1 non-empty then  min _ d ← min _ d − 1
17:
    end if
18:
end while
19:
return C

3.3. Weighted MIDS Gadget and Planar Solve

Algorithm 4 ( c 6 ) implements the reduction from Vertex Cover to weighted Minimum Independent Dominating Set on a planar core, invokes the ε -controlled Baker PTAS pass, and repairs non-core edges in one scan.
Algorithm 4  SolveVC ( G , ε )
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 ← B a k e r P t a s W e i g h t e d I D S ( H , ε )    ▹ ε -controlled PTAS on the forest gadget H
13:
C ← { v ∈ V ( G p ) : ( v , 0 ) ∈ S }    ▹ decode cover (near-minimum core cover)
14:
for  ( u , v ) ∈ E ( G p ) with u ∉ C and v ∉ C do   ▹ repair core edges
15:
     C ← C ∪ { arg max w ∈ { u , v } deg G ( w ) }
16:
end for
17:
for  ( u , v ) ∈ removed with u ∉ C and v ∉ C do   ▹ repair non-core edges
18:
     C ← C ∪ { arg max w ∈ { u , v } deg G ( w ) }
19:
end for
20:
return C
The pass BakerPtasWeightedIDS (Algorithm 5) is the accuracy-controlled weighted-IDS solver invoked by Salvador. It layers the gadget by BFS distance, removes each residue class modulo k = ⌈ 1 / ε ⌉ in turn, solves the remaining components exactly by tree-decomposition dynamic programming, greedily repairs the removed slab, and keeps the lightest independent dominating set found over the k shifts; the greedy maximal independent set of Algorithm 6 is the k = 1 baseline and a safe fallback. Because the gadget H built from a forest core is itself a forest (Section 3), each component is a tree and the per-component solve ExactWeightedIDS is an exact linear-time tree dynamic program; which shifts the PTAS explores, however, depends on ε , so the decoded cover is parameter-sensitive and need not be monotone in ε .
Remark 2
(On the accuracy parameter ε ). The public entry pointfind_vertex_coverfixes the default ε = 1 , which is the configuration analysed throughout this paper. The parameter controls only candidate c 6 ’s Baker layering width k = ⌈ 1 / ε ⌉ ; at the default ε = 1 , k = 1 and c 6 reduces to the greedy maximal-independent-set baseline of Algorithm 6, which is what keeps c 6 —and hence the whole ensemble—strictly O ( n + m ) (Theorem 15). The gadget construction is itself ε-independent; ε enters only the IDS pass. Passing ε < 1 makes only c 6 more thorough (and costs c 6 an extra O ( 1 / ε ) factor); it is intended for offline quality experiments on c 6 in isolation, not the default production call. c 6 ’s returned candidate depends on ε through the layer choices, and on the vertex ordering through the spanning-forest construction; the ensemble as a whole is comparatively insensitive to both, since c 1 , … , c 5 provide independent coverage (Section 5.7). All claims below refer to the default call ε = 1 unless otherwise noted.
Algorithm 5  BakerPtasWeightedIDS ( H , ε )
Require: 
Weighted gadget H, accuracy ε ∈ ( 0 , 1 ]
Ensure: 
An independent dominating set S ⊆ V ( H )
1:
k ← max { 1 , ⌈ 1 / ε ⌉ }
2:
if  k = 1 thenreturnGreedyWeightedMIS ( H )
3:
end if   ▹ cheap baseline
4:
ℓ ← BFS-distance layering of H
5:
S ★ ← G r e e d y W e i g h t e d M I S ( H ) ;    best ← w ( S ★ )
6:
for  i ← 0 to  k − 1 do
7:
     R ← { v : ℓ ( v ) ≡ i ( mod k ) }    ▹ removed slab
8:
     S i ← ∅
9:
    for each connected component K of H [ V ( H ) ∖ R ]  do
10:
         S i ← S i ∪ E x a c t W e i g h t e d I D S ( K )    ▹ tree-decomposition DP
11:
    end for
12:
    greedily add the cheapest still-undominated vertices of R to S i
13:
    if  S i is a valid IDS and  w ( S i ) < best  then
14:
         S ★ ← S i ;    best ← w ( S i )
15:
    end if
16:
end for
17:
return  S ★
Algorithm 6 GreedyWeightedMIS ( H ) — k = 1 baseline
Require: 
Weighted gadget H with vertex weights w ( · ) ∈ { 0 , 1 , P }
Ensure: 
A maximal (hence independent dominating) set S ⊆ V ( H )
1:
Partition V ( H ) into buckets B 0 , B 1 , B ≥ 2 by weight 0, 1, and P
2:
Let the processing order be B 0 , then B 1 , then B ≥ 2
3:
S ← ∅ ;    X ← ∅    ▹X is the excluded set
4:
for v in processing order do
5:
    if  v ∉ X  then
6:
         S ← S ∪ { v } ;    X ← X ∪ { v } ∪ N H ( v )
7:
    end if
8:
end for
9:
return S
Figure 1 shows the local gadget introduced for each core edge ( u , v ) ∈ E ( G p ) in Algorithm 4. The nodes ( u , 0 ) and ( v , 0 ) are the weight-one cover-choice nodes, ( u , 1 ) and ( v , 1 ) are zero-weight pendant nodes, and the hub h u v has penalty weight P = N + 1 .
As illustrated in Figure 1, 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.4. Bipartite Planar Oriented-Incidence Reduction

In candidate c 8 every connected component is mapped to a weighted bipartite planar auxiliary graph B whose minimum-weight vertex cover is decoded into a cover of G. Vertices are processed in a fixed order; when u is processed, every edge { u , v j } ( j = 1 , … , d ) to a not-yet-processed neighbour creates two oriented-incidence nodes x u v j and x v j u , of weights 1 / deg G ( u ) and 1 / deg G ( v j ) , joined by a forcing edge; consecutive incidences are joined by local edges  { x u v j , x v j − 1 u } , closed by { x u v 1 , x v d u } when d ≥ 2 . A cover S of B is decoded to { u : x u v ∈ S } . Figure 2 shows the gadget of one vertex.
Lemma 1
(Structure of the auxiliary graph). For every graph G and every processing order, B is a vertex-disjoint union of even cycles C 2 d (one for each processed vertex u with d ≥ 2 unprocessed neighbours at its turn) and single edges K 2 (for d = 1 ). In particular B is bipartite and planar, and | V ( B ) | = 2 m .
Proof. 
Each original edge { u , v } is handled exactly once, when the first of its endpoints, say u, is processed: afterwards u is processed, so the edge is never handled again from v. Hence the two nodes x u v , x v u created for it are distinct from all others and occur only in the gadget of u, which gives | V ( B ) | = 2 m and makes the gadgets of different vertices vertex-disjoint. Inside the gadget of u the edges are the forcing edges { x u v j , x v j u } , the local edges { x v j − 1 u , x u v j } for j = 2 , … , d , and the closing edge { x v d u , x u v 1 } , which together form the closed walk x u v 1 , x v 1 u , x u v 2 , x v 2 u , … , x u v d , x v d u , x u v 1 through 2 d distinct nodes: a cycle C 2 d for d ≥ 2 and a single forcing edge for d = 1 . Even cycles and single edges are bipartite and planar, and so is their disjoint union.    □
Lemma 1 shows that the auxiliary graph is always bipartite and planar, and, more importantly, that the minimum-weight vertex cover of B needs no flow computation: on a path, a dynamic program over “node included / excluded” states computes an optimum in time linear in its length, and a cycle reduces to two paths by fixing whether its first node is in the cover. Summed over all gadgets this is O ( | V ( B ) | ) = O ( m ) , and it returns an optimal minimum-weight vertex cover of B. We verified this equality against an integer-programming solver on 150 random graphs and three processing orders.

Residual variant.

Because B is solved exactly gadget by gadget, the processing order and the weights are free design choices. The residual variant always gives the next gadget to a vertex of minimum residual degree (degree in the subgraph of still-uncovered edges), weights the gadget by residual degrees, and deletes decoded vertices from the residual graph. Since u has minimum residual degree d, every neighbour has residual degree at least d, so the neighbour side of the cycle weighs ∑ j 1 / d res ( v j ) ≤ d · ( 1 / d ) = 1 , which is the weight of the u side; with ties broken toward the neighbours, the exact cycle solve selects the neighbour side. The decoded cover is therefore the complement of a greedy minimum-degree maximal independent set, computed in O ( n + m ) with a degree-indexed bucket queue in which every residual edge deletion lowers the bucket pointer by at most one. Candidate c 8 evaluates the input-order and residual variants, prunes both, and keeps the smaller (Algorithm 7). On the 43 DIMACS clique complements the mean ratio is 1.042 for the input order and 1.027 for the residual variant.
Algorithm 7  BipartitePlanarCover ( adj )
Require: 
Adjacency map adj of G
Ensure: 
A vertex cover c 8 ⊆ V
1:
P ← ∅ ;    C a ← ∅    ▹ processed vertices; input-order cover
2:
for  u ∈ V in input order do
3:
     P ← P ∪ { u } ;    ( v 1 , … , v d ) ← neighbours of u not in P
4:
    if  d = 0  then continue
5:
    end if
6:
     w ← ( 1 / deg u , 1 / deg v 1 , 1 / deg u , 1 / deg v 2 , … , 1 / deg u , 1 / deg v d )    ▹ weights of x u v 1 , x v 1 u , …
7:
     S ← M i n W e i g h t C y c l e C o v e r ( w )    ▹ exact, O ( d ) ; a single edge when d = 1
8:
    add u to C a if some x u v j ∈ S ; add every v j with x v j u ∈ S
9:
end for
10:
C b ← residual variant (minimum residual degree order, residual weights, bucket queue)
11:
return the smaller of P r u n e R e d u n d a n t V e r t i c e s ( adj , C a ) and P r u n e R e d u n d a n t V e r t i c e s ( adj , C b )

3.5. Linear-Time Pruning

Algorithm 8 removes redundant vertices from a candidate cover in a single forward pass, running in O ( n + m ) total time.
Algorithm 8  PruneRedundantVertices ( adj , C )
Require: 
Adjacency map adj , candidate cover C ⊆ V
Ensure: 
Valid vertex cover C ′ ⊆ C after one forward redundancy-removal pass
1:
C ′ ← mutable copy of C
2:
L ← fixed snapshot of the elements of C ′    ▹ Python iterates list(cover)
3:
for  v ∈ L (in snapshot order) do
4:
    if  N G ( v ) ⊆ C ′ then   ▹ test against the current (shrinking) set C ′
5:
         C ′ ← C ′ ∖ { v }
6:
    end if
7:
end for
8:
return  C ′

3.6. Budgeted Local Search

A vertex cover C is the complement of an independent set S = V ∖ C , so every vertex added to S is a vertex removed from C. Candidate c 9 improves the best of c 1 , … , c 8 through its complementary independent set with the ( 1 , 2 ) -swap neighbourhood of Andrade, Resende, and Werneck [17]. For v ∉ S let tight ( v ) = | N ( v ) ∩ S | . A ( 1 , 2 ) -swap removes a vertex x ∈ S and inserts two non-adjacent neighbours v , w of x with tight ( v ) = tight ( w ) = 1 , enlarging S by one; vertices left with tight = 0 are inserted as well. An iterated local search step forces a non-solution vertex into S, evicts its solution neighbours, re-inserts freed vertices, and runs swaps around the change; the step is kept if | S | does not decrease and is undone through an undo log otherwise.
Algorithm 9 LocalSearchCover ( adj , C )
Require: 
Adjacency map adj , a vertex cover C, budget constant b (default b = 100 )
Ensure: 
A vertex cover C ′ with | C ′ | ≤ | C |
1:
S ← V ∖ C ; insert every vertex with tight = 0    ▹S maximal
2:
limit ← (work so far) + b ( n + m )    ▹ work counter charges every adjacency scan
3:
apply ( 1 , 2 ) -swaps at every x ∈ S , re-queueing inserted vertices, while work ≤ limit
4:
while work ≤ limit  do
5:
    pick a pseudo-random u ∉ S (fixed seed); evict N ( u ) ∩ S ; insert u and freed vertices
6:
    apply ( 1 , 2 ) -swaps around the change
7:
    if  | S | decreased then undo the step via the undo log
8:
    end if
9:
end while
10:
return  V ∖ S
The swap test at x costs O ( deg x + ∑ v deg v ) over its 1-tight neighbours v: when looking for a partner w of v, the scan of the 1-tight list stops at the first non-neighbour of v, so it never costs more than deg v + 1 . Every primitive is charged its exact scan cost, and the search stops once the work exceeds b ( n + m ) , so Algorithm 9 runs in O ( n + m ) time for the fixed constant b. The live set S is always the best seen, since worsening steps are undone, so | c 9 | ≤ | c ★ | .

3.7. Labelled, weighted edge-dominating-set gadget solved by a treewidth dynamic program

Candidate c 10 reduces vertex cover to a labelled, weighted edge dominating set problem on a gadget D and solves the latter by dynamic programming over a bounded-width elimination order. Recall that a set F of edges is an edge dominating set (EDS) if every edge shares an endpoint with an edge of F. Every vertex carries a cover label and the gadget edges carry weights, so that the minimum-weight solutions are exactly the minimum vertex covers of G with the fewest doubly covered edges (Proposition 4), and every bag of the dynamic program has at most six nodes.

The gadget.

Every edge { u , v } of G becomes an edge-node  ( u , v ) . If n 0 , n 1 , … , n d − 1 are the neighbours of a vertex u of degree d ≥ 2 , in adjacency order, u receives incidence nodes  ( u , 0 ) , … , ( u , d − 2 ) and the gadget edges
{ ( u , k ) , ( u , n k ) } and { ( u , k ) , ( u , n k + 1 ) } , k = 0 , … , d − 2 ,
so that the edge-nodes of u lie on the path ( u , n 0 ) − ( u , 0 ) − ( u , n 1 ) − ( u , 1 ) − … − ( u , n d − 1 ) . For example, a vertex u with neighbours v , w , z contributes the gadget edges { ( u , 0 ) , ( u , v ) } , { ( u , 0 ) , ( u , w ) } , { ( u , 1 ) , ( u , w ) } and { ( u , 1 ) , ( u , z ) } . A vertex of degree 1 receives a single incidence node ( u , 0 ) joined to its only edge-node. The edge-node ( u , v ) is shared by the paths of u and of v; for instance it is also joined to ( v , 0 ) when u is the first neighbour of v. Incidence nodes and edge-nodes are different objects, identified by their own indices, so an index k never coincides with a neighbour. Every gadget edge joins an incidence node to an edge-node, so D is bipartite; incidence nodes have degree at most 2 and edge-nodes at most 4. The gadget edges { ( u , k ) , ( u , n k ) } and { ( u , k ) , ( u , n k + 1 ) } are the path edges of u; there are p u = 2 ( deg u − 1 ) of them when deg u ≥ 2 and p u = 1 when deg u = 1 . A chosen gadget edge { ( u , k ) , ( u , x ) } is decoded as the vertex u: if { ( u , 0 ) , ( u , v ) } is chosen, u enters the cover; if { ( v , 0 ) , ( u , v ) } is chosen, v enters; if both are chosen, both enter.

Labels and weights.

Every vertex u of a bipartite component carries a cover label  s u ∈ { 0 , 1 } , held by each incidence node of u and, together with s v , by each edge-node ( u , v ) ; a gadget edge forces its two endpoints to agree on the label of its vertex. Let m K be the number of edges of the component K, K ★ = max { max u p u , m K } + 1 , and give the first path edge of u the weight K ★ − p u + 1 and every other path edge of u the weight 1, so that the path edges of every vertex weigh K ★ in total, whatever its degree. The cost of a pair ( F , s ) , with F an edge dominating set of D, has three parts:
  • all or none: a path edge of u costs its weight when it is chosen and s u = 1 ; choosing it with s u = 0 , or leaving it out with s u = 1 , costs a penalty P larger than all other costs together, so an optimal solution chooses either every occurrence of a vertex or none of them;
  • one unit per vertex: the path edges of a vertex in the cover cost K ★ in total, which removes any bias towards low-degree vertices;
  • overlap: every edge-node ( u , v ) with s u = s v = 1 costs 1, since its edge is covered twice where one endpoint suffices; the total overlap is at most m K < K ★ , so it only breaks ties between covers of equal size.
A penalty-free solution is therefore determined by the set C = { u : s u = 1 } , it chooses exactly the path edges of the vertices of C, and its cost is K ★ | C | + e ( C ) , where e ( C ) is the number of edges of G with both endpoints in C.
Figure 3 shows the gadget of a small graph and a minimum edge dominating set of it.

The dynamic program.

c 10 builds D for every bipartite connected component of G (tested by a breadth-first 2-colouring) and computes a minimum-weight labelled edge dominating set of it by bucket elimination along a greedy minimum-degree elimination order of D. A node state is an EDS state t ∈ { 0 , 1 , 2 } —0: the node is not incident to F; 1: it is incident to F and the chosen edge is supplied by another factor; 2: it is incident to F through a chosen edge of the current factor, its witness—together with the labels of the node: one label on an incidence node, two on an edge-node. Because an optimal solution pays no penalty, only penalty-free states are kept: an incidence node of u is untouched exactly when s u = 0 , which leaves the three states ( 0 , 0 ) , ( 1 , 1 ) , ( 2 , 1 ) , and an edge-node is touched and has at least one endpoint labelled 1, which leaves six states. Factors are joined with the rule “same membership, same labels, witness if either factor is a witness”, a node is eliminated only in an untouched or witnessed state, the overlap of an edge-node is charged once as a unary factor, and back-pointers recover an optimal pair ( F , s ) ; the cover is read from the labels.

Bags of at most six nodes.

A node is eliminated only while its fill degree is at most w eds = 5 and the table of its bag, the product of the state counts of the bag, has at most 50 , 000 entries; otherwise the node is skipped and the elimination goes on with the others. Every joined table is checked against the cap, so no bag of the dynamic program has more than six nodes, and a bag has at most 6 6 = 46 , 656 entries. All the tables together must also fit in b eds ( N + M ) entries, where N and M are the numbers of nodes and edges of the gadget and b eds = 1024 . The nodes that the elimination does not reach form the core; they are fixed as in the solution “all path edges of c ★ ★ , labels s u = [ u ∈ c ★ ★ ] ” induced by the reference cover c ★ ★ , the smallest of c 1 , … , c 9 , and the rest of the gadget is solved exactly given that choice; a core node of u fixes the label of u. With an empty core the result is a minimum vertex cover of the component with the fewest doubly covered edges. Non-bipartite components take c ★ ★ . Finally the decoded cover is pruned by Algorithm 8, and c ★ ★ is kept instead when it is smaller.
Minimum edge dominating set is NP-hard in general, even on bipartite graphs of maximum degree 3 [18]; the dynamic program is exact only on the part of D that the bounded elimination can remove, which is why the limits are needed to keep c 10 linear. When G is a forest, D is a forest (the paths of the vertices are glued along the edges of G), and when G is a cycle, D is a cycle, so on these classes the core is empty. The cap of six nodes per bag is a design choice, not a property of the gadget: when the treewidth of D exceeds five, as on grids, expanders and dense bipartite graphs, part of D stays in the core, and Part H of Section 7 measures both the bags and the cores.

3.8. Bounded-Treewidth Dynamic Program

Vertex cover can be solved in time O ( 2 w w n ) on graphs of treewidth w, hence in linear time when w is bounded. Candidate c 11 applies this fact as far as the input allows, under two explicit limits. It computes a greedy minimum-degree elimination order on the fill graph, eliminating a vertex only while its current degree is at most w max (default w max = 10 ), and it stops as soon as the total size ∑ 2 | bag | of the dynamic-programming tables would exceed b t w ( n + m ) (default b t w = 256 ); this is the condition under which the treewidth is small enough in relation to the size of the instance. The vertices that remain form the coreR. Bucket (variable) elimination along the order then solves maximum independent set exactly on the eliminated part, with every core vertex r fixed as in the reference cover c r e f , the smallest of c 1 , … , c 10 : r is in the cover if and only if r ∈ c r e f . The result is the complement of the optimal independent set on the eliminated part, together with R ∩ c r e f .

3.9. Swap-Maximize Refinement

The final strategy refines every candidate c 1 , … , c 11 . For a cover C with complementary independent set I = V ∖ C , and for every u ∈ C ∪ { v max } , RefineCover moves u into the independent set and evicts its neighbours, I u = ( I ∖ N ( u ) ) ∪ { u } , then grows I u into a maximal independent set by scanning the remaining vertices in ascending order of degree, and keeps the complement when it is strictly smaller than the best cover found so far. Every move is evaluated from the original C. Because every candidate is a minimal cover (Theorem 7), only cover vertices adjacent to an evicted vertex can enter the independent set, so each move is evaluated locally, in time proportional to the degrees around u, and gives exactly the set that a global maximal-independent-set pass would give. Every adjacency scan and the sorting of each local candidate list are charged to a work counter, and the moves stop once the next one would exceed b r ( n + m ) per distinct candidate (default b r = 100 ); when the budget is not exhausted the result equals the unbounded pass.

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. It suffices to show (a) each of c 1 , … , c 6 and c 8 is individually a valid vertex cover of the cleaned graph, (b) pruning a valid cover with Algorithm 8 leaves it valid, (c) the union of valid covers is a valid cover, (d) c 9 is valid, and (e) c 10 , c 11 and every refinement r i are valid, since the output c 12 is then one of eleven refined sets each shown valid, and validity does not depend on which has minimum size.
(a) Each raw candidate is valid.  c 1 takes both endpoints of every matched edge of a maximal matching M; every edge either belongs to M (both endpoints in c 1 ) or is not in M, in which case maximality of M forces at least one endpoint to already be matched by some edge of M (otherwise that edge could extend M), hence in c 1 . c 2 (Algorithm 2) processes vertices from highest to lowest current degree and never terminates while an active vertex has positive degree, so every edge is incident to some vertex added to c 2 before both endpoints could reach degree 0 un-covered. c 3 represents every original edge { u , w } by one auxiliary edge; when the endpoint processed first, say u, is scanned, the edge is either already covered (rule 1), or one of u , w is selected (rules 2–3), or the scan of u stopped because u itself was selected, so every original edge is covered once all vertices are scanned. c 4 (Algorithm 3) adds, for every vertex v ever popped as the current minimum-degree active vertex, one of its active neighbors to the cover, which by the same maximal-matching-style argument as c 1 covers every edge incident to a processed vertex, and the loop runs until no active vertex remains. c 5 ’s primal-dual scan adds an endpoint of every edge whose slack is exhausted on both sides, which the local-ratio argument [16] guarantees for every edge. c 6 = S o l v e V C ( G , ε ) is shown valid below. For c 8 , every original edge { u , v } is a forcing edge { x u v , x v u } of B (Lemma 1); the exact cycle solve returns a vertex cover of each gadget, so x u v or x v u is selected and u or v is decoded. In the residual variant every edge at the processed vertex u is covered either by u or by its decoded neighbours before u is deleted, and the loop runs until no residual edge remains.
c 6 validity (core path). The Baker PTAS 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 { v : ( v , 0 ) ∈ S } , ensuring all core edges are covered.
c 6 validity (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 valid for G p . Every edge in E ∖ E p is inspected in the repair loop: if neither endpoint is in the running cover, the higher-degree endpoint is added. After the loop every edge of E has at least one endpoint in c 6 .
(b) Pruning preserves validity. A vertex v ∈ C is removed by Algorithm 8 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.
(c) Unions of valid covers are valid. If C 1 and C 2 each cover every edge, then for every edge ( u , v ) at least one of u , v lies in C 1 ⊆ C 1 ∪ C 2 (or in C 2 ), so C 1 ∪ C 2 covers ( u , v ) as well; hence c 7 ’s starting union c 1 ∪ … ∪ c 6 ∪ c 8 is valid before it, too, is pruned by (b).
(d) c 9 is valid. Algorithm 9 maintains an independent set S: a vertex is inserted only when it has no neighbour in S (it is free, or its solution neighbours were just evicted), and a ( 1 , 2 ) -swap inserts two non-adjacent vertices whose only solution neighbour was removed. The complement of an independent set is a vertex cover, so c 9 = V ∖ S is valid.
(e) c 10 , c 11 and the refinements are valid. For c 10 , take an edge { u , v } of G. On a non-bipartite component it is covered by c ★ ★ . On a bipartite component, the dynamic program keeps only penalty-free states, and the core is fixed as the penalty-free solution induced by c ★ ★ , so the returned pair ( F , s ) is penalty-free: F consists of the path edges of the vertices labelled 1, and it is an edge dominating set of D, because every factor requires each gadget edge to have an endpoint incident to F. By Proposition 4(i) the decoded set, which is the set of vertices labelled 1, is a vertex cover; in particular u or v is labelled 1. Pruning preserves validity by (b). For c 11 , an edge between two eliminated vertices is constrained when its earlier endpoint is eliminated (that endpoint can be independent only if the other is not), an edge between an eliminated vertex v and a core vertex r ∉ c r e f forces v into the cover, and an edge inside the core is covered by c r e f . Each refinement is the complement of an independent set, hence a cover.    □

5. Approximation Ratio and Conditional Consequences

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 built by candidate c 6 (SolveVC), let H be its weighted MIDS gadget of Algorithm 4, and set τ p * = τ ( G p ) .

5.2. An Unconditional Ratio-2 Guarantee for the Ensemble

Unlike the case-by-case bounds on the individual candidates below, the ensemble as a whole admits an immediate, unconditional worst-case guarantee.
Theorem 2
(Unconditional ratio 2). For every undirected graph G, Algorithm 1 returns a vertex cover C with | C | ≤ 2 τ ( G ) .
Proof. 
Candidate c 1 = M a x i m a l M a t c h i n g C o v e r ( G ) takes both endpoints of every edge of a maximal matching M of G, so | c 1 | = 2 | M | . Because M is a matching, any vertex cover must contain at least one endpoint of each of its | M | disjoint edges, so τ ( G ) ≥ | M | , giving | c 1 | ≤ 2 τ ( G ) ; this is the classical linear-time 2-approximation [2], and it is exactly the bound Hvala proves for its own ensemble [11]. Algorithm 1 prunes c 1 (Theorem 1 shows pruning preserves validity and cannot increase size) and then returns a cover no larger than any of the valid candidates, including the pruned c 1 , so | C | ≤ | pruned c 1 | ≤ | c 1 | ≤ 2 τ ( G ) . The improvers cannot break this: | c 9 | ≤ min i ≤ 8 | c i | , | c 11 | ≤ | c r e f | , and the final cover satisfies | c 12 | ≤ min i ≤ 11 | c i | (Proposition 5).    □
Theorem 2 holds unconditionally, for every ε and every graph; it does not depend on the planar forest-core machinery, the bipartite planar reduction or the local search. It is the guarantee Salvador inherits by containing the Hvala ensemble: because the output is the minimum over a family of candidates that includes Hvala’s maximal-matching candidate, no other candidate can make it worse. The role of the remaining candidates—and of the structural analysis in this section—is to explain why the ensemble is expected to do far better than this worst-case guarantee in practice (Section 5.7).

5.3. Gadget Cost Identity for the SolveVC Candidate

Lemma 2
(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 * ≤ τ * .    □
In Algorithm 4 the gadget is built from the spanning-forest core G p , so Lemma 2 applies with the core G p in the role of G, yielding τ H * = τ ( G p ) . Because H is a forest, the per-component tree dynamic program is exact; the Baker PTAS, however, only explores the k = ⌈ 1 / ε ⌉ layer shifts, so at a fixed ε the decoded set is a near-minimum—not necessarily minimum—cover of the core. The total approximation loss is this layering slack plus the greedy repair of the non-core edges E ∖ E p .

5.4. Elementary Bounds on the SolveVC candidate

The next two results are stated for c 6 in isolation (they are properties of the candidate SolveVC produces before the ensemble compares it against c 1 , … , c 5 , c 7 ); they are superseded, as guarantees on the algorithm’s output, by Theorem 2, but they explain why  c 6 is a useful candidate to include rather than redundant with the others.
Proposition 1
(Elementary bounds on c 6 ). For every graph G with n vertices and m edges, the candidate cover c 6 produced by Algorithm 4 satisfies | c 6 | ≤ min { n , m } and is a valid vertex cover of G.
Proof. 
Validity is Theorem 1 restricted to the c 6 path. The decoded core cover has size at most | V ( G p ) | = n , each repair step adds at most one vertex and is triggered at most once per edge, so | c 6 | ≤ n and | c 6 | ≤ | core cover | + m ; pruning only removes vertices.    □

5.5. Linear Core Guarantee for SolveVC

Theorem 3
(Core cover guarantee). For any input graph G, Algorithm 4 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.6. Non-Planar Case

Lemma 3
(Subgraph optimality). τ p * ≤ τ * .
Proof. 
Any vertex cover of G is also a vertex cover of G p ⊆ G .    □
Proposition 2
(Repair bound). For any input G, the c 6 path of Algorithm 4 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 the candidate cover and otherwise adds exactly one endpoint. Thus the number of repair additions is at most | E ∖ E p | .    □
In practice the c 6 repair adds far fewer vertices than Proposition 2 suggests, because most removed edges are already covered by the near-optimal core solution on G p ; and even where c 6 overshoots, the ensemble as a whole is protected by Theorem 2 and by the other candidates.

5.7. The Empirical Conjecture for the Ensemble

Because the candidates draw on structurally different techniques—maximal matching, degree-greedy, degree-1 reduction, Min-to-Min, primal-dual, the planar forest-core MIDS reduction, the bipartite planar reduction, and local search—and the ensemble takes the smallest of all of them, we expect the ensemble’s worst case to sit strictly below the unconditional bound of Theorem 2, which is attained only when every candidate simultaneously realises its own worst case on the same instance.
Conjecture 1
(Universal ensemble approximation ratio). There is a constant R ★ < 2 such that, for every undirected graph G, Algorithm 1 with the default parameter ε = 1 returns a vertex cover C with
| C | ≤ R ★ τ ( G ) .
Conjecture 1 is not a theorem; Theorem 2 is the only unconditional bound proved in this paper. Section 7 reports empirical support for the conjecture: on a reproducible suite of 1 , 744 test graphs, the exact or certified ratio never exceeds 1.17 , on 152 bipartite graphs it never exceeds 1.0455 , on 117 Khot–Regev YES-type instances it never exceeds 1.0425 where the optimum is known, and on 267 regular graphs of degree up to 64 the certified ratio never exceeds 1.174 . Since the barrier discussed in Section 5.16 is the factor 2 itself, the conjecture only needs a constant strictly below 2; we fix the explicit target used throughout the rest of this section.
Conjecture 2
(Universal ( 2 − ε 0 ) -approximation). For every undirected graph G, Algorithm 1 with the default parameter ε = 1 returns a vertex cover C with
| C | ≤ 1.999999999 τ ( G ) = ( 2 − ε 0 ) τ ( G ) , ε 0 = 2 − 1.999999999 = 10 − 9 > 0 .
Conjecture 2 is the special case R ★ = 2 − 10 − 9 of Conjecture 1. The constant matters only through its being a fixed number strictly below 2, independent of G: a bound of the form 2 − ε ( G ) with ε ( G ) → 0 along some sequence of graphs, such as the classical 2 − Θ ( 1 / log n ) , contradicts no hardness result.

5.8. Why the Ratio Stays Low Across Graph Classes

The ensemble’s low observed ratio rests on running several structurally different heuristics and taking the best. Four candidates are the Hvala ensemble (Section 3.1), whose worst case is Θ ( log Δ ) for c 2 but 2 for c 1 alone; two are Salvador-specific 2-approximations ( c 4 , c 5 ); and c 6 additionally exploits planar/forest structure via the weighted MIDS gadget (Section 5.2 onward). Because the gadget H built from the c 6 forest core is itself a forest, its per-component tree dynamic program is exact, so on graphs close to forests c 6 alone is already near-optimal (Lemma 2); on graphs where c 6 ’s non-core repair overshoots, one of c 1 , … , c 5 typically does not, and the final redundancy-pruning pass removes any vertex all of whose incident edges are already covered from every candidate.

Classes solved optimally by c 6 alone.

On stars  K 1 , k the c 6 core is the whole star, whose minimum cover is the centre alone; the decode returns it. On a matching the core is the matching itself and the decode returns one endpoint per edge. Forests and trees (paths, caterpillars, spiders, brooms) and cycles are solved exactly because the gadget reproduces the tree optimum, and the ensemble inherits this exactly.

Dense and degree-heterogeneous classes.

Complete graphs  K n have τ = n − 1 ; the c 6 spanning-tree core is solved and the dense non-core edges are absorbed, returning the optimal ( n − 1 ) -cover, and c 1 (maximal matching) independently gets within a factor 2. Wheels  W n , barbell and lollipop graphs concentrate their optima on hub or clique vertices, captured by either c 2 (max-degree greedy) or the c 6 core.

Bipartite and planar classes.

For bipartite graphs Konig’s theorem makes τ equal to the maximum matching; on this class c 1 , … , c 5 each provide independent coverage, so the ensemble does not depend solely on c 6 ’s core solve. Grids and other bounded-treewidth planar families remain mild for c 6 alone, since the forest core captures n − 1 of the at most 3 n − 6 edges and only O ( n ) non-core edges reach the repair.

Large adversarial graphs.

Complete bipartite graphs, crown graphs ( K h , h minus a perfect matching), double stars joined by a bridge, a hierarchical greedy-tie-break stress construction, random regular graphs, Barabasi–Albert scale-free graphs, sparse Erdos–Renyi graphs, and Watts–Strogatz small-world graphs are designed to stress individual candidates (dense structure, high or irregular degree, small-world shortcuts); the ensemble’s minimum-over-candidates guarantee (Theorem 2) still applies unconditionally to every one of them. Section 7.9 reports which candidate wins on each family.

5.9. Provable Per-Class Guarantees at Ratio 1.999999999

Throughout this subsection ε 0 = 10 − 9 and R 0 = 2 − ε 0 = 1.999999999 . Because Algorithm 1 returns the smallest of its candidates, a guarantee proved for a single candidate on a graph class is a guarantee for Salvador on that class. Two candidates carry the proofs below, the Min-to-Min heuristic c 4 and the bipartite planar reduction c 8 ; they are also the two candidates with the highest win rates in the experiments ( 0.964 and 0.967 , Table 15), and on the large non-bipartite families the winner among c 1 , … , c 8 is almost always one of them.
Lemma 4
(Safe vertices). For every graph G and vertex w, τ ( G − w ) ≥ τ ( G ) − 1 , with equality if and only if w belongs to some minimum vertex cover of G. If v has degree 1 and w is its neighbour, then w belongs to some minimum vertex cover of G.
Proof. 
If C covers G − w then C ∪ { w } covers G, so τ ( G ) ≤ τ ( G − w ) + 1 . If C * is a minimum cover of G containing w, then C * ∖ { w } covers G − w , so τ ( G − w ) ≤ τ ( G ) − 1 ; conversely, if τ ( G − w ) = τ ( G ) − 1 , a minimum cover of G − w together with w is a minimum cover of G containing w. For the second claim, a minimum cover C * contains v or w because it covers the edge v w ; if v ∈ C * , then ( C * ∖ { v } ) ∪ { w } is a cover of the same size, since v w is the only edge at v.    □
Lemma 5
(Exactness criterion for Min-to-Min). Every vertex target added by Algorithm 3 is a neighbour of a vertex v of minimum positive degree in the current active graph, and is then removed from the active graph. Consequently, if every such target belongs to some minimum vertex cover of the current active graph, then | c 4 | = τ ( G ) .
Proof. 
Every vertex of positive current degree k has an entry in the bucket B k , since an entry is pushed whenever a degree changes; entries whose degree no longer matches are skipped. Removing target lowers the degree of each of its neighbours by exactly one, so all positive degrees stay at least min _ d − 1 , and the conditional decrement of min _ d at the end of each iteration together with the advance step at its start keeps min _ d equal to the smallest index of a non-empty bucket. Hence a non-stale popped v has minimum positive degree. Let w 1 , … , w k be the targets in order, G 0 = G and G i = G i − 1 − w i ; the last graph G k has no edges, because the loop stops only when every bucket is empty. If each w i lies in some minimum cover of G i − 1 , Lemma 4 gives τ ( G i ) = τ ( G i − 1 ) − 1 for every i, so | c 4 | = k = τ ( G ) − τ ( G k ) = τ ( G ) .    □
Theorem 4
(Classes solved exactly by c 4 ). Let G be a graph each of whose connected components is a tree, a path, a cycle, a complete graph K n or a complete bipartite graph K a , b . Then | c 4 | = τ ( G ) , so Algorithm 1 returns a minimum vertex cover of G and its ratio on G is 1 ≤ R 0 .
Proof. 
The minimum covers of a disjoint union are the unions of minimum covers of the components, so it suffices to show that each target is safe in the component K that contains the popped vertex v, and that K − target is again a disjoint union of graphs of the listed types. Since v has minimum positive degree in the whole active graph, it has minimum degree in K. If K is a tree with an edge, or a path, its minimum degree is 1, so v is a leaf and target is safe by Lemma 4; deleting a vertex of a tree or a path leaves a forest of trees or paths. If K is a cycle C k , a complete graph K n or a balanced complete bipartite graph K a , a , then K is vertex-transitive: applying automorphisms to a minimum cover shows that every vertex lies in some minimum cover, so target is safe, and C k − w = P k − 1 , K n − w = K n − 1 , K a , a − w = K a − 1 , a . If K = K a , b with 1 ≤ a < b , the vertices of minimum degree a are those of the side of size b, so target lies on the side of size a, which is a minimum cover by Konig’s theorem [19], and K − target = K a − 1 , b . Isolated vertices produced by the deletions carry no edges and are ignored. Lemma 5 now gives | c 4 | = τ ( G ) , and the ensemble returns a cover of size at most | c 4 | .    □
Lemma 6
(Caro–Wei bound for the residual candidate). For every graph G without isolated vertices, the residual variant of c 8 (Section 3.4) returns, before pruning, a cover C b with
| C b | ≤ n − ∑ v ∈ V 1 deg ( v ) + 1 .
Consequently the cover C returned by Algorithm 1 satisfies | C | ≤ n − ⌈ ∑ v 1 / ( deg v + 1 ) ⌉ , and its ratio on G is at most
ρ CW ( G ) = n − ∑ v ∈ V 1 / ( deg v + 1 ) τ ( G ) .
Proof. 
Step 1: every gadget is decoded on the neighbour side. Let u be the vertex processed at some step, of minimum residual degree k ≥ 1 , with residual neighbours v 1 , … , v k . Its gadget is the even cycle a 1 b 1 a 2 b 2 … a k b k of Lemma 1, where a j = x u v j has weight 1 / k (the u side) and b j = x v j u has weight w j = 1 / d res ( v j ) ≤ 1 / k , because d res ( v j ) ≥ k ; for k = 1 the cycle degenerates to the single forcing edge a 1 b 1 . The forcing edges { a j , b j } are a perfect matching of the cycle, so every vertex cover K of the gadget contains an endpoint of each of them, and its weight is at least ∑ j min { 1 / k , w j } = ∑ j w j , the weight of the neighbour side { b 1 , … , b k } . The neighbour side is therefore a minimum-weight cover, and it has no vertex on the u side; since the exact cycle solve breaks weight ties toward fewer u-side vertices, it returns a cover with no u-side vertex, which must be the neighbour side. Hence every step places v 1 , … , v k in C b , and u in the independent set S = V ∖ C b , and deletes u , v 1 , … , v k from the residual graph.
Step 2: the potential. Let Φ = ∑ x 1 / ( d res ( x ) + 1 ) over the vertices x not yet deleted. At each step the k + 1 deleted vertices all have residual degree at least k, so they contribute at most ( k + 1 ) · 1 / ( k + 1 ) = 1 to Φ ; every surviving vertex can only lose residual degree, so its term can only grow. Hence each step lowers Φ by at most 1. When no residual edge remains, the surviving vertices have residual degree 0, contribute 1 each to Φ , are never placed in C b , and belong to S. If t steps were made and r vertices survive, then | S | = t + r and Φ end = r ≥ Φ 0 − t , so | S | ≥ Φ 0 = ∑ v 1 / ( deg v + 1 ) . This is the greedy form of the Caro–Wei bound [20,21]. Therefore | C b | = n − | S | ≤ n − ∑ v 1 / ( deg v + 1 ) .
Pruning never enlarges a cover, c 8 is at most the pruned C b , and the returned cover is at most c 8 (Proposition 5); since cover sizes are integers, | C | ≤ n − ⌈ ∑ v 1 / ( deg v + 1 ) ⌉ .    □
Lemma 6 holds for every graph, but it is a per-instance bound: ρ CW ( G ) ≤ R 0 is a certificate that can be checked from the degree sequence and any lower bound on τ ( G ) , and it is weak on very irregular graphs (on the star K 1 , k it gives about k / 2 , although Theorem 4 shows that the algorithm is exact there). On regular graphs it gives a uniform bound.
Theorem 5
(Regular graphs). Let G be a d-regular graph with d ≥ 1 . Then Algorithm 1 returns a vertex cover C with
| C | ≤ 2 d d + 1 τ ( G ) = 2 − 2 d + 1 τ ( G ) .
Proof. 
By Lemma 6, | C | ≤ n − n / ( d + 1 ) = n d / ( d + 1 ) . On the other hand m = n d / 2 and each vertex covers at most d edges, so τ ( G ) ≥ m / d = n / 2 . Hence | C | ≤ n d / ( d + 1 ) ≤ 2 d d + 1 τ ( G ) .    □
Corollary 1
(Degree-heterogeneous graphs). Let d ¯ be the average degree of G and δ its minimum degree. Then ∑ v 1 / ( deg v + 1 ) ≥ n / ( d ¯ + 1 ) by convexity, and τ ( G ) ≥ m / Δ = n d ¯ / ( 2 Δ ) , so
| C | τ ( G ) ≤ 2 Δ d ¯ + 1 .
In particular the ratio is at most R 0 whenever Δ ≤ R 0 ( d ¯ + 1 ) / 2 , which includes every regular graph of degree d < 2 · 10 9 (Corollary 2) and every graph whose maximum degree is at most about the average degree plus one.
Proof. 
The function x ↦ 1 / ( x + 1 ) is convex, so by Jensen’s inequality ∑ v 1 / ( deg v + 1 ) ≥ n / ( d ¯ + 1 ) , and Lemma 6 gives | C | ≤ n d ¯ / ( d ¯ + 1 ) . Every vertex covers at most Δ edges, so τ ≥ m / Δ = n d ¯ / ( 2 Δ ) . Dividing gives 2 Δ / ( d ¯ + 1 ) .    □
Corollary 2
(Ratio 1.999999999 on regular graphs). If G is d-regular with d ≤ 1 , 999 , 999 , 999 , then Algorithm 1 returns a cover with | C | ≤ 1.999999999 τ ( G ) . In particular this holds for every regular graph with at most 2 · 10 9 vertices, and for every crown graph on at most 4 · 10 9 vertices; cubic graphs get ratio at most 3 / 2 , 4-regular graphs at most 8 / 5 and 12-regular graphs at most 24 / 13 ≈ 1.846 .
Proof. 
2 − 2 / ( d + 1 ) ≤ 2 − 10 − 9 is equivalent to d + 1 ≤ 2 · 10 9 . A d-regular graph on n vertices has d ≤ n − 1 , and the crown graph on 2 h vertices is ( h − 1 ) -regular. The remaining values are 2 d / ( d + 1 ) at d = 3 , 4 , 12 .    □
All four statements were checked numerically against the released package: c 4 returned the exact optimum on 3 , 000 randomly relabelled trees, forests, cycles, complete graphs and complete bipartite graphs, and on 400 random d-regular graphs with 1 ≤ d ≤ 12 and up to 300 vertices the residual cover never exceeded n d / ( d + 1 ) . Lemma 6 was checked on 599 further graphs (Erdos–Rényi, Barabási–Albert, random regular and Watts–Strogatz, 10 to 200 vertices): neither the residual cover nor the returned cover ever exceeded n − ∑ v 1 / ( deg v + 1 ) .
Theorem 5 bounds c 8 on every regular graph, but on regular bipartite graphs both c 4 and c 8 do much better: they are exact, whatever the degree. The reason is that on these graphs the minimum-degree rule never leaves the side on which it starts.
Theorem 6
(Degree-ordered bipartite graphs: c 4 and c 8 are exact). Let G be a graph without isolated vertices, each of whose components K is bipartite with a bipartition ( L K , R K ) such that either
(a)
K is d K -regular for some d K ≥ 1 , or
(b)
K isdegree-separated: deg r > deg l for every r ∈ R K and every l ∈ L K .
Then | c 4 | = | c 8 | = τ ( G ) , and Algorithm 1 returns a minimum vertex cover of G. More precisely, in case (b) both candidates are contained in ⋃ K R K , and in case (a) both contain exactly one colour class of every component.
Proof. 
The optimum. In case (a), | L K | = | R K | = | V ( K ) | / 2 , since both sides carry the d K | L K | = d K | R K | edges of K, and τ ( K ) ≥ | E ( K ) | / d K = | V ( K ) | / 2 ; so each side is a minimum cover of K. In case (b), let a = max l ∈ L K deg l and b = min r ∈ R K deg r > a . For S ⊆ R K , counting the edges between S and N ( S ) gives b | S | ≤ | E ( S , N ( S ) ) | ≤ a | N ( S ) | , so | N ( S ) | > | S | whenever S ≠ ∅ ; by Hall’s theorem [22]K has a matching that saturates R K , so τ ( K ) ≥ | R K | , and R K , a cover of K, is a minimum cover. In both cases it suffices to show that the candidate contains at most one side of each component, and that this side is R K in case (b).
Candidate c 4 . In case (a) call L K the side of the first vertex of K popped by Algorithm 3; in case (b) keep the given sides. We show by induction that every vertex popped in K lies in L K , so that every target chosen in K, a neighbour of the popped vertex, lies in R K . As long as this holds, no vertex of L K is ever removed, so every remaining vertex of R K keeps its original degree, while vertices of L K can only lose degree. By Lemma 5 a popped vertex has minimum positive degree δ in the whole active graph. Suppose that a remaining r ∈ R K were popped. In case (b), any neighbour l of r is active with positive degree at most deg l < deg r = δ , a contradiction. In case (a), δ = d K , so no vertex of L K has positive degree below d K : every vertex of L K has degree 0 or d K . A vertex of L K adjacent to the remaining r has positive degree, hence degree d K , so all its neighbours remain; and every remaining vertex of R K keeps all its neighbours. Starting from r and alternating between the two sides, every vertex of the connected graph K is reached through remaining vertices, so no vertex of R K has been removed. But the first vertex of K popped is in L K , and its target , a vertex of R K , was removed; this contradiction shows that r is not popped. Hence c 4 ∩ V ( K ) ⊆ R K , before and after pruning, and | c 4 | ≤ ∑ K | R K | = τ ( G ) .
Candidate c 8 . By Step 1 of the proof of Lemma 6, the residual variant processes a vertex u of minimum positive residual degree, puts all its residual neighbours into C b and u into the independent set, and deletes u and its residual neighbours. With L K defined as before, by the side of the first processed vertex of K in case (a), suppose that every vertex processed so far in K lies in L K . A vertex of L K is then deleted only when it is processed, together with all its remaining neighbours, so a remaining vertex of R K is adjacent to no deleted vertex and keeps its original degree. The argument used for c 4 , with residual degrees in place of current degrees, shows that the next vertex processed in K is in L K . Hence every vertex placed in C b by K lies in R K , and every vertex of R K , which has positive residual degree as long as it remains, is eventually placed there: C b ∩ V ( K ) = R K . Pruning keeps a minimum cover, so | c 8 | ≤ | C b | = τ ( G ) .
Finally | c 4 | , | c 8 | ≥ τ ( G ) trivially, and the returned cover is at most both (Proposition 5).    □
Case (a) contains every regular bipartite graph of every degree: even cycles, hypercubes, crown graphs, balanced complete bipartite graphs, bipartite double covers H × K 2 of regular graphs H, and random regular bipartite graphs, which are expanders of treewidth linear in n. Case (b) contains every unbalanced complete bipartite graph K a , b and, more generally, every bipartite graph in which each vertex of one side has larger degree than each vertex of the other; on such a graph the larger side is a maximum independent set made of the low-degree vertices. Theorem 6 needs no bound on the degree and no condition on the treewidth, and it does not depend on how ties are broken or on the labels of the vertices. It was checked against the released package on 117 random d-regular bipartite graphs with 3 ≤ d ≤ 64 and up to 5 , 000 vertices (Part G of Section 7): c 4 and c 8 returned a minimum cover on every one of them.

5.10. Guarantees Carried by the Other Candidates

The theorems above use c 4 and c 8 . The remaining candidates c 1 , c 2 , c 3 , c 5 , c 6 , c 7 and the local search c 9 give guarantees of their own, on classes where neither c 4 nor c 8 is known to reach R 0 : irregular graphs, graphs of arbitrarily large degree, and graphs with no leaves. Write ν ( G ) for the matching number, α ( G ) for the independence number, and i ( G ) for the independent domination number, the smallest size of a maximal independent set.
Theorem 7
(Every candidate is a minimal cover). Each of c 1 , … , c 9 , and therefore the cover C returned by Algorithm 1, is a minimal vertex cover of G. Consequently | C | ≤ n − i ( G ) , and | C | ≤ n − 1 whenever G has an edge.
Proof. 
PruneRedundantVertices removes v only when all its neighbours are in the current set, so the set stays a cover. A vertex v that survives its test has a neighbour outside the set at that moment, and later removals only enlarge the outside, so after the pass every remaining vertex has a neighbour outside the cover; that is, the cover is minimal. Candidates c 1 , … , c 6 and c 7 are outputs of this pass, and c 8 is the smaller of two such outputs. Algorithm 9 returns V ∖ S where S is kept maximal, since every vertex with no neighbour in S is inserted, and the complement of a maximal independent set is a minimal cover. The complement of a minimal cover is a maximal independent set, which has at least i ( G ) vertices, so | C | ≤ n − i ( G ) , and i ( G ) ≥ 1 when V ≠ ∅ .    □
Theorem 8
(Matching certificate: c 1 and c 5 ). For every graph G with an edge, Algorithm 1 returns a cover with
| C | τ ( G ) ≤ 2 ν ( G ) τ ( G ) .
Hence the ratio is at most R 0 whenever τ ( G ) ≥ 2 ν ( G ) / R 0 , that is, whenever τ ( G ) / ν ( G ) ≥ 2 / ( 2 − ε 0 ) = 1 + ε 0 / ( 2 − ε 0 ) ≈ 1 + 5 · 10 − 10 .
Proof. 
Before pruning, c 1 consists of both endpoints of a maximal matching M, so | c 1 | = 2 | M | ≤ 2 ν ( G ) . In the unweighted case Algorithm LinearWeightedCover behaves in the same way: the first time it meets an edge with both endpoints uncovered, both endpoints have unspent budget 1, so the dual increase is 1 and both endpoints are saturated and added; edges with a covered endpoint are skipped. Thus c 5 is the cover by both endpoints of a second maximal matching, built in the scan order, and | c 5 | ≤ 2 ν ( G ) as well. Pruning only shrinks covers and the ensemble returns the smallest candidate.    □
Since τ ≤ 2 ν always holds, Theorem 8 leaves out exactly the graphs that are nearly Konig–Egerváry, with ν ≤ τ < 2 ν / R 0 . On every other graph, the two matching candidates alone, without c 4 , c 8 or c 9 , already beat R 0 . Two families of examples follow, both in a form that applies to every candidate individually.
Corollary 3
(Low independence ratio: every candidate wins). If α ( G ) ≤ ( 1 − 1 / R 0 ) n = 999 , 999 , 999 1 , 999 , 999 , 999 n , then every candidate c 1 , … , c 9 has ratio at most R 0 . In particular:
(a)
if V can be partitioned into cliques of size at least k ≥ 3 , as in K n , complete multipartite graphs with parts of size at most n / 3 and graphs with a triangle factor, every candidate has ratio at most k / ( k − 1 ) ≤ 3 / 2 ;
(b)
if G is d-regular with smallest adjacency eigenvalue λ min ≥ − ( 1 − ε 0 ) d , every candidate has ratio at most 1 + | λ min | / d ≤ R 0 , for every degree d, including d ≥ 2 · 10 9 , where Corollary 2 does not apply;
(c)
if every independent set of G has at most δ n vertices with δ ≤ 1 − 1 / R 0 , every candidate has ratio at most 1 / ( 1 − δ ) .
Proof. 
Every candidate has at most n vertices, and τ ( G ) = n − α ( G ) ≥ n / R 0 , so its ratio is at most n / τ ( G ) ≤ R 0 . For (a), a clique partition into t ≤ n / k cliques gives α ≤ t ≤ n / k , hence n / τ ≤ k / ( k − 1 ) ; a complete multipartite graph with parts of size at most n / 3 has α ≤ n / 3 . For (b), Hoffman’s ratio bound [23] gives α ( G ) ≤ n | λ min | / ( d + | λ min | ) , so n / τ ≤ ( d + | λ min | ) / d , which is at most R 0 exactly when | λ min | ≤ ( 1 − ε 0 ) d . For (c), τ ≥ ( 1 − δ ) n .    □
Theorem 9
(Max-degree greedy on subcubic graphs: c 2 ). Let H ( k ) = ∑ j = 1 k 1 / j . For every graph of maximum degree Δ, the candidate c 2 satisfies | c 2 | ≤ H ( Δ ) τ ( G ) . In particular every graph of maximum degree at most 3, regular or not, bipartite or not, gets ratio at most H ( 3 ) = 11 / 6 < R 0 .
Proof. 
Vertex cover is the set cover instance whose elements are the edges and whose sets are the stars δ ( v ) , of size deg ( v ) ≤ Δ . Algorithm 2 processes the buckets from the highest degree down; degrees only decrease, so when bucket d is processed no active vertex has degree above d, and every selected vertex has maximum current degree. Thus c 2 is the greedy set cover algorithm, whose ratio is at most H ( Δ ) by Johnson’s theorem [24]. Pruning only shrinks c 2 . The values H ( 1 ) = 1 , H ( 2 ) = 3 / 2 , H ( 3 ) = 11 / 6 are below R 0 , while H ( 4 ) = 25 / 12 > 2 .    □
Theorem 9 covers irregular and bipartite subcubic graphs, a class on which Vertex Cover is APX-hard [25] and which Theorem 5 reaches only in its 3-regular members. The statements above were checked numerically against the released package: on 1 , 488 random graphs with exact optima ( n ≤ 18 , about a third of them of maximum degree at most 3 and irregular), every candidate was a minimal cover, c 2 before pruning never exceeded 11 / 6 on the subcubic graphs (worst observed 3 / 2 ), and on 300 random d-regular graphs with 2 ≤ d ≤ 8 every candidate stayed within 1 + | λ min | / d .
Theorem 10
(Hallelujah bound: c 3 ). Let W ( G ) = ∑ { u , v } ∈ E 1 / max { deg u , deg v } , and let S be the set produced by the weighted pass of the selection-aware Hallelujah resolution of Section 3.1. For every graph G with an edge, the candidate c 3 , before and after pruning, satisfies
| c 3 | 2 ≤ | S | 2 ≤ W ( G ) ∑ v ∈ S deg v ≤ 2 m W ( G ) ≤ 2 m τ ( G ) .
Consequently Algorithm 1 has ratio at most R 0 on every graph with 2 m W ( G ) ≤ R 0 2 τ ( G ) 2 , and in particular on every graph with m ≤ R 0 2 2 τ ( G ) .
Proof. 
The candidate c 3 is the smaller of S and the unweighted pass of the selection-aware resolution of Section 3.1, so | c 3 | ≤ | S | , and it suffices to bound S. Each vertex enters S exactly once, while an edge { u , w } is being inspected with neither endpoint selected, and it is always an endpoint of minimum weight 1 / max { deg u , deg w } of that edge: rule (2) selects the strictly lighter endpoint, and rule (3) selects the neighbour on a tie. After the selection the edge is covered, so it is skipped by rule (1) if it is inspected again, and distinct vertices of S are charged to distinct edges. Hence
∑ v ∈ S 1 deg v ≤ ∑ { u , w } ∈ E 1 max { deg u , deg w } = W ( G ) .
This is the minimum weight of a cover of the auxiliary perfect matching, and it is at most τ ( G ) , because the deg v copies of each vertex v of an optimal cover have total weight 1 and cover every auxiliary edge. By the Cauchy–Schwarz inequality,
| S | 2 = ∑ v ∈ S deg ( v ) − 1 / 2 deg ( v ) 1 / 2 2 ≤ ∑ v ∈ S 1 deg v ∑ v ∈ S deg v ≤ W ( G ) · 2 m ≤ 2 m τ ( G ) .
Pruning only shrinks c 3 , and the ensemble returns at most | c 3 | ; the ratio is at most 2 m W ( G ) / τ ( G ) , which is at most R 0 under the stated condition.    □
Theorem 10 adapts Step 2 of the proof of Theorem 4.7 in [15], the Cauchy–Schwarz step, to the selection-aware rule used here. The only property it needs is that every selected vertex is a minimum-weight endpoint of a distinct edge, which both rules satisfy. The modified rule also makes the step sharper: in [15] a vertex v of the cover may own f v ≥ 1 selected copies and pays f v / deg v , while here each selected vertex is charged to one edge only and pays 1 / deg v , and the comparison is with W ( G ) rather than with the weight of all selected copies. The bound is small when W ( G ) is small, that is, when most edges are attached to a high-degree endpoint: hub-dominated and degree-heterogeneous graphs. On d-regular graphs it only gives 2 d and is useless, which is exactly where Theorem 5 takes over. On random bipartite graphs of maximum degree at least 4 that are neither forests nor regular—graphs on which none of the previous theorems applies, since τ = ν —the a-posteriori certificate W ( G ) ∑ v ∈ S deg v / τ ( G ) , which the algorithm can compute, was at most R 0 on 485 of 3 , 552 , and the a-priori condition 2 m W ( G ) ≤ R 0 2 τ ( G ) 2 held on 75 of a further 3 , 532 , with m / τ up to 2.47 . On 1 , 984 random graphs with exact optima, | c 3 | 2 ≤ 2 m W ( G ) ≤ 2 m τ ( G ) was never violated, and on 800 more the full chain | c 3 | ≤ | S | , | S | 2 ≤ W ( G ) ∑ v ∈ S deg v , W ( G ) ≤ τ ( G ) held.
The selection-aware rule is also what turns the per-graph guarantee of [15] into a uniform one on regular graphs. Theorem 4.7 of [15] bounds the published rule strictly below 2 on every finite graph, but not by a constant below 2: its own canonical example, the even cycle C 2 k , gives | S R | = 2 k − 1 and ratio ( 2 k − 1 ) / k = 2 − 1 / k , and on the hypercube Q d the released hallelujah package (v0.0.4) returns 2 d − 1 vertices, ratio 2 − 2 1 − d ; we reproduced both for 2 k ≤ 1000 and d ≤ 8 . These ratios exceed R 0 once 2 k > 2 · 10 9 or d ≥ 31 , so a bound that is strict on each finite graph but approaches 2 along a sequence of graphs yields no constant ε 0 , for the same reason as in Section 5.13. The modified rule removes this defect on every graph whose components are regular, with no dependence on n, before any pruning.
Proposition 3
(Selection-aware Hallelujah on regular components). Let G be a graph each of whose components G 1 , … , G r is regular, of degrees d 1 , … , d r ≥ 1 and orders n 1 , … , n r . Then, before pruning, both passes of c 3 return the complement of a maximal independent set of G, and
| c 3 | ≤ ∑ j = 1 r d j d j + 1 n j ≤ 2 − 2 max j d j + 1 τ ( G ) .
Proof. 
Adjacent vertices lie in the same component and so have equal degree, hence every auxiliary weight comparison is a tie, in the weighted and in the unweighted pass alike, and rule (2) never applies. Let I be the set of vertices that are unselected when they are scanned. When such a vertex u is scanned, rule (3) selects every still-unselected neighbour of u, so after this step all neighbours of u are selected. A vertex is selected only as a neighbour of a vertex of I at the moment that vertex is scanned, so no vertex of I is ever selected: a later scanned vertex adjacent to u is already selected and is skipped by rule (1). Hence I is independent, every selected vertex has a neighbour in I, so I is maximal, and c 3 = V ∖ I . In the d j -regular component G j every vertex is dominated by I ∩ V ( G j ) and each vertex of I dominates at most d j + 1 vertices, so | I ∩ V ( G j ) | ≥ n j / ( d j + 1 ) and | c 3 ∩ V ( G j ) | ≤ n j d j / ( d j + 1 ) . Finally τ ( G j ) ≥ | E ( G j ) | / d j = n j / 2 , so n j d j / ( d j + 1 ) ≤ 2 d j d j + 1 τ ( G j ) , and summing over the components gives the claim.    □
Proposition 3 gives the Hallelujah candidate on its own the guarantee of Theorem 5: ratio at most 4 / 3 on every even or odd cycle and at most 2 − 2 / ( d + 1 ) on every d-regular graph, where the published rule reaches 2 − 1 / k and 2 − 2 1 − d . Before pruning, the modified candidate returns 50 vertices on C 100 (published rule: 99), 500 on C 1000 (999), 128 on Q 8 (255) and 200 on the 20 × 20 torus (399), all optimal, and on 600 random graphs made of one to three random regular components of degree 1 to 10 and up to 200 vertices each, the unselected set was always a maximal independent set and the bound of Proposition 3 always held. Theorem 10 and Proposition 3 cover complementary regimes: the Cauchy–Schwarz bound is strong when degrees are heterogeneous, and the maximal-independent-set bound when they are equal.
The planar forest-core reduction c 6 and the union re-prune c 7 have no class guarantee below 2 of their own beyond Theorem 7; since they are minimal covers, they share the guarantees of Corollary 3.

5.11. Guarantees of the Structured Strategies

Proposition 4
(Labelled, weighted edge-dominating-set gadget: c 10 ). Let D be the gadget of Section 3.7 of a graph G without isolated vertices, and for a set F of gadget edges let dec ( F ) be the set of vertices it decodes to.
(i)
For every edge dominating set F of D, dec ( F ) is a vertex cover of G and | dec ( F ) | ≤ | F | .
(ii)
For every vertex cover C of G, the set F C of all gadget edges on the paths of the vertices of C is an edge dominating set of D with dec ( F C ) = C ; and if C is not a vertex cover, F C is not an edge dominating set.
(iii)
On a bipartite component K, the minimum cost of a labelled edge dominating set is K ★ τ ( K ) + min { e ( C ) : C a minimum vertex cover of K } , and the labels of every minimum-cost solution form a minimum vertex cover of K with the fewest doubly covered edges among the minimum covers.
(iv)
On a bipartite component whose elimination leaves an empty core, c 10 computes a minimum-cost solution exactly, so its cover of that component is a minimum vertex cover with the fewest doubly covered edges; no bag of the dynamic program has more than six nodes.
(v)
c 10 is a valid vertex cover of G with | c 10 | ≤ min i ≤ 9 | c i | .
Proof. (i) Let { u , v } ∈ E . Since u has a neighbour, the edge-node ( u , v ) lies on the path of u and is joined to an incidence node ( u , k ) . The gadget edge { ( u , k ) , ( u , v ) } is dominated by some f ∈ F touching ( u , k ) or ( u , v ) . Every gadget edge at ( u , k ) belongs to the path of u and decodes to u; every gadget edge at ( u , v ) belongs to the path of u or of v and decodes to u or v. So dec ( F ) contains u or v. Each chosen edge decodes to one vertex, so | dec ( F ) | ≤ | F | .
(ii) Let { ( u , k ) , ( u , x ) } be a gadget edge. If u ∈ C it belongs to F C . Otherwise x ∈ C , because C covers { u , x } ; the edge-node ( u , x ) also lies on the path of x and is an endpoint of a gadget edge of that path, which belongs to F C and dominates { ( u , k ) , ( u , x ) } . Every gadget edge of F C decodes to a vertex of C, and every vertex of C has at least one gadget edge on its path, so dec ( F C ) = C . If an edge { u , v } has no endpoint in C, the node ( u , k ) is touched only by path edges of u and the node ( u , v ) only by path edges of u or v, none of which is in F C , so the gadget edge { ( u , k ) , ( u , v ) } is not dominated.
(iii) A solution that pays a penalty costs more than P, which exceeds the cost K ★ | V ( K ) | + | E ( K ) | of the penalty-free solution F V ( K ) , so every minimum-cost solution is penalty-free. A penalty-free solution chooses exactly the path edges of the set C of vertices labelled 1, that is, F = F C ; by (ii) it is an edge dominating set exactly when C is a vertex cover, and its cost is K ★ | C | + e ( C ) , because the path edges of each vertex weigh K ★ in total and every edge with both endpoints in C costs one unit of overlap. Since 0 ≤ e ( C ) ≤ | E ( K ) | < K ★ , a cover C has smaller cost than a cover C ′ whenever | C | < | C ′ | , and among covers of equal size the cost is ordered by e ( C ) . This gives the stated minimum and the stated minimisers.
(iv) The elimination order and the bags { x } ∪ S x form a tree decomposition of D. A pair ( F , s ) is a feasible labelled edge dominating set if and only if every gadget edge has an endpoint incident to F, every node declared incident to F has a chosen edge, its witness, at it, and the labels are consistent along every gadget edge. The states encode exactly these conditions, with the witness assigned to one factor and the overlap charged once per edge-node; restricting to penalty-free states loses no optimal solution by (iii). Joining and eliminating in the bucket order therefore computes the minimum cost, as in the proof of Theorem 11, and the back-pointers return an optimal solution. The bag bound holds because a node is eliminated only while its fill degree is at most 5 and every joined table is checked against the cap.
(v) Validity is part (e) of the proof of Theorem 1; the last step of Section 3.7 keeps c ★ ★ whenever it is smaller.    □
Remark 3
(What the objective of c 10 optimises). Without labels and weights, a minimum edge dominating set of D minimises the number | F | of chosen edges; a vertex of degree d needs about 2 ( d − 1 ) / 3 edges to dominate its own path, so that objective favours low-degree vertices, and its optimum need not decode to a minimum cover. The labels and weights remove this mismatch: by Proposition 4(iii) the optimum of the gadgetisa minimum vertex cover, so on every component with an empty core c 10 is exact. The overlap term selects, among the minimum covers, one with the fewest doubly covered edges; Corollary 4 below shows that on regular graphs this second objective is equivalent to the first.
Theorem 11
(Bounded-treewidth dynamic program: c 11 ). Let R be the core left by the elimination of Section 3.8. Then c 11 is a valid vertex cover with | c 11 | ≤ | c r e f | = min i ≤ 10 | c i | , and c 11 is a minimum vertex cover of G whenever R = ∅ . In particular c 11 is a minimum vertex cover of every graph whose greedy minimum-degree elimination has width at most w max within the table budget, which includes all forests, cycles, series-parallel and outerplanar graphs, and every graph of treewidth at most w max on which the greedy order is optimal.
Proof. 
The elimination order and the bags { v } ∪ S v , where S v is the set of later neighbours of v in the fill graph, form a tree decomposition of the subgraph induced by the eliminated vertices, together with their edges to R. Bucket elimination along this order computes, for each assignment of S v , the best value of the subproblem below v; with the core fixed as in c r e f , this is the exact maximum, over all independent sets I of G that agree with V ∖ c r e f on R, of the number of eliminated vertices in I. The set c r e f itself agrees with c r e f on R, so the optimum is at least the number of eliminated vertices outside c r e f , and | c 11 | ≤ | c r e f | ; pruning only shrinks c 11 . When R = ∅ there is no fixed part, the dynamic program optimises over all independent sets of G, and the complement of a maximum independent set is a minimum vertex cover. Validity is part (e) of the proof of Theorem 1.    □
Proposition 5
(Swap-maximize refinement: c 12 ). For every candidate c i , the refinement r i of Section 3.9 is a valid vertex cover with | r i | ≤ | c i | . Hence | c 12 | ≤ min i ≤ 11 | c i | , and every guarantee proved for any of c 1 , … , c 11 holds for the returned cover. When c i is a minimal cover, the local evaluation of each move returns exactly the set obtained by the global maximal-independent-set pass.
Proof. 
A move produces the complement of an independent set, so r i is a cover, and a move is kept only when strictly smaller, so | r i | ≤ | c i | . If c i is minimal, every vertex of c i has a neighbour in I = V ∖ c i . After u enters and the vertices of N ( u ) ∩ I are evicted, a vertex w ∈ c i that is not adjacent to an evicted vertex still has a neighbour in I ∖ N ( u ) and cannot enter, the evicted vertices are blocked by u, and so only cover vertices adjacent to an evicted vertex can enter; scanning these in the global ascending-degree order reproduces the global pass.    □
Remark 4
(What c 11 does and does not cover). Because c 11 starts from c r e f , the best of c 1 , … , c 10 , and can only improve it, it attains the minimum among the base strategies on every instance by construction. Its frequent wins in Table 15 therefore carry no evidence about the open region of Section 5.13. What c 11 adds is exactness: a minimum vertex cover on every graph whose elimination core is empty. Bounded treewidth is not, however, where the factor-2 barrier is decided. The instances produced by the hardness reductions, like random regular graphs and other expanders, have treewidth linear in n, so their core is a constant fraction of the vertices, and on them c 11 only completes c r e f outside the core. In the experiments of Section 7.9 the core contained between 32 % and 100 % of the vertices on every large adversarial family, and c 11 was strictly smaller than c r e f on only 2 of 1 , 659 instances, by 1 and 2 vertices. In particular c 11 gives no constant ε 0 > 0 with ratio 2 − ε 0 on all graphs, and the nearly Konig–Egerváry residue R of Section 5.13 is unchanged.

5.12. Which Strategy Wins on Each Class

Table 2 combines the theorems above with the experiments of Section 7. The column “proved” gives the best ratio that is a theorem for Salvador on the class; the column “observed” gives the largest exact or certified ratio measured on the class.

How the winning strategies behave.

The Min-to-Min candidate c 4 always serves a vertex of minimum degree. When that degree is 1 its move is the leaf rule of Lemma 4, the first reduction rule of every exact vertex cover solver, and it can never err; this is why c 4 is exact on forests, paths and stars, and why it is so strong on sparse graphs such as Barabási–Albert and sparse Erdos–Rényi graphs, whose many low-degree vertices keep generating leaves as the cover grows. When the minimum degree is larger, c 4 chooses an arbitrary neighbour, which is safe when the graph is symmetric enough (cycles, K n ) or when it is bipartite and degree-ordered (Theorem 6): there the minimum-degree vertex always lies on the side of a maximum independent set, so every one of its neighbours is on the side of a minimum cover, whichever is chosen. On irregular, non-bipartite dense graphs this arbitrary choice is where c 4 can lose. The residual candidate c 8 behaves in the opposite way: it puts the minimum-degree vertex itself into the independent set and every one of its neighbours into the cover, and Theorem 5 shows that this greedy independent set is large exactly when degrees are homogeneous; on regular and near-regular graphs, where c 4 finds no leaves, c 8 takes over. The local search c 9 only acts after both and repairs the local slack they leave on random regular, Erdos–Rényi, Watts–Strogatz and Barabási–Albert graphs (Table 18). The remaining candidates have no sole win over the 1 , 659 instances of Table 15, but they are not redundant: they hold the guarantees that c 4 , c 8 and c 9 do not. The matching candidates c 1 and c 5 are the safety net on every graph that is not nearly Konig–Egerváry (Theorem 8): wherever the optimum exceeds the matching number by any fixed relative margin, as in dense graphs, graphs with many triangles and spectrally non-bipartite regular graphs of any degree, they beat R 0 even if every other candidate fails. The max-degree greedy c 2 is the safety net on irregular subcubic graphs, where c 4 may face no leaf and c 8 has no regularity to exploit (Theorem 9); it is also the natural winner on hub-dominated graphs. The Hallelujah reduction c 3 is the safety net on degree-heterogeneous, hub-dominated graphs: its weights 1 / deg push the cover onto high-degree endpoints, and its Cauchy–Schwarz bound (Theorem 10) is below R 0 exactly when most edges hang from hubs, which is the opposite regime to the one c 8 handles; and, because of the selection-aware rule, it also matches c 8 on graphs with regular components (Proposition 3), where the published Hallelujah rule could return almost every vertex. The planar forest-core reduction c 6 and the union re-prune c 7 have no proved class of their own beyond Theorem 7; empirically they matter on near-forests ( c 6 ) and as a tie-breaking pool ( c 7 ). Finally, Theorem 7 gives every candidate the low-independence guarantee of Corollary 3, so on dense graphs every one of c 1 , … , c 9 wins on its own.

5.13. Why the Per-Class Guarantees Do Not Give a Uniform Constant Below 2

The theorems of Section 5.9 and Section 5.10 prove the ratio R 0 = 1.999999999 on infinitely many graphs, but not on all graphs, and the gap between the two is not a technicality. Five observations make this precise.
First, a uniform guarantee needs one constant ε 0 > 0 for every graph, and a union of infinitely many classes, each with its own gap, proves Conjecture 2 only if the gaps are bounded away from 0 and the classes exhaust all graphs. Regular graphs show how the classes fit together: those of degree d < 2 · 10 9 are covered by Theorem 5, the bipartite ones of every degree by Theorem 6, with ratio 1, and the spectrally non-bipartite ones of every degree by Corollary 3(b), so the only regular graphs left are the non-bipartite ones of degree at least 2 · 10 9 whose smallest eigenvalue is below − ( 1 − ε 0 ) d . For general graphs the matching certificate of Theorem 8 gives the gap 2 − 2 ν / τ , which is positive exactly when τ > ν ; the graphs on which this gap is smaller than ε 0 are the nearly Konig–Egerváry graphs, and they are where the remaining classes must take over.
Second, the per-class results are consistent with UGC, and with the theorem reported in [10], whether or not these hold. Austrin, Khot and Safra [8] showed that on graphs of maximum degree d Vertex Cover is UGC-hard to approximate within 2 − ( 2 + o d ( 1 ) ) log log d / log d , and Halperin’s algorithm [9] achieves this threshold. Since 2 / ( d + 1 ) is much smaller than 2 log log d / log d for large d, the ratio of Theorem 5 lies above the hardness threshold for degree-d graphs, never below it. For instance, at d = 2 · 10 9 one has log log d / log d ≈ 3.06 / 21.4 ≈ 0.14 in natural logarithms, so, ignoring the o d ( 1 ) term, the known hardness on such graphs does not even exclude ratios near 1.7 , while Corollary 2 gives 1.999999999 . The bound 11 / 6 of Theorem 9 on subcubic graphs is likewise consistent with the APX-hardness of that class [25], which excludes an approximation scheme but not a fixed ratio such as 11 / 6 . Theorem 8 and Corollary 3 apply only where the graph itself forces τ well above ν , and no hardness result concerns such graphs, because on them every minimal cover is already good. The forests, cycles, complete graphs and complete bipartite graphs of Theorem 4 are solvable exactly in polynomial time by other means, so no hardness result constrains them at all.
Third, taken together, the candidates locate the hard instances precisely. Let R be the class of graphs with τ ( G ) < 2 ν ( G ) / R 0 , the nearly Konig–Egerváry graphs, that are covered neither by Theorem 4, nor by Theorem 6, nor by Corollary 2, nor by Corollary 1 (so Δ > R 0 ( d ¯ + 1 ) / 2 ), nor by Theorem 9, nor by the empty-core cases of Proposition 4 and Theorem 11, and that violate the Hallelujah condition 2 m W ( G ) ≤ R 0 2 τ ( G ) 2 of Theorem 10. By these results and Theorem 8, Salvador has ratio at most R 0 on every graph outside R . Hence, if the factor R 0 is NP-hard and P ≠ NP , Salvador exceeds R 0 on infinitely many graphs, all of them in R , since a polynomial-time algorithm that failed on only finitely many graphs could be patched by a lookup table. The structure of the Khot–Regev reduction [7] explains where in R these graphs are. Its NO instances have no independent set of weight δ , so by Corollary 3(c) every candidate is within 1 / ( 1 − δ ) on them, and they lie outside R . Its YES instances contain an independent set of weight close to 1 / 2 , so τ is close to half the vertices, and there the only general bound on a minimal cover is n − i ( G ) , which can approach 2 τ ; the crown graph on 2 h vertices, for example, has τ = h and a minimal cover of size 2 h − 2 , although on it Salvador returns h vertices (Theorem 6). The factor-2 barrier is therefore decided entirely on YES-type instances, on which Salvador must actually find an independent set of almost half the vertices, and not merely avoid redundant vertices. Since W ( G ) ≥ m / Δ and τ ≤ n , the Hallelujah condition forces average degree at most R 0 2 Δ , so it certifies only degree-heterogeneous graphs; YES-type graphs whose degrees are large and nearly uniform lie outside it, and on them c 3 , like c 8 , has no proved ratio below 2. Moreover, unless P = NP , the hard instances cannot have maximum degree 3 (Theorem 9), nor any maximum degree small enough that Halperin’s guarantee 2 − Θ ( log log d / log d ) is at most R 0 , which for ε 0 = 10 − 9 forces an astronomically large degree. Finally, R also contains every bipartite graph of maximum degree at least 4 that is neither a forest, nor regular, nor degree-separated (Theorem 6), nor hub-dominated in the sense of Theorem 10, and whose elimination core is not empty: on bipartite graphs τ = ν , so the a-priori matching certificate gives exactly 2, even though bipartite Vertex Cover is solvable exactly in polynomial time by Konig’s theorem and a maximum matching [19,26]. On these graphs the a-posteriori certificate of Theorem 13 is exact, so the ratio of every returned cover can be proved instance by instance. An exact bipartite candidate, which would cost O ( m n ) rather than O ( n + m ) , would remove this part of R , but not the YES-type instances; Salvador does not include one, and the bipartite components it solves exactly are the degree-ordered ones (Theorem 6) and those whose elimination core is empty ( c 10 , c 11 ).
Fourth, the high win rates of c 4 and c 8 , and the fact that the other candidates rarely win alone, are measured on the families of Section 7. They explain why the observed ratio stays below 1.17 , but a win rate is not a worst-case bound, and Table 2 lists the classes on which only the ratio 2 is proved.
Fifth, the residue R was tested directly. Part D of Section 7 runs the ensemble on 152 bipartite graphs of 15 families, up to 50 , 653 vertices, where τ = ν is known exactly: it is optimal on 135 of them and never more than 4.6 % above the optimum, the largest gaps occurring on graphs with 100 vertices (Table 8). Part E builds YES-type instances of the Khot–Regev reduction itself, with a planted dictator independent set of almost half the vertices, and compares the returned cover with the exact optimum where an integer program finds it and with certified lower bounds otherwise (Section 7.5). Part G runs 117 random regular bipartite graphs of degree 3 to 64, all solved exactly, as Theorem 6 predicts, and 150 general random regular graphs of the same degrees (Section 7.7). On every instance tested, the ratio stays far below R 0 , and every instance carries a per-instance certificate of its ratio, at most 1.237 . Section 5.15 explains why: on R the excess of a cover equals its violation of complementary slackness against a maximum fractional matching, which the strategies keep small, and the a-posteriori certificate is exact up to a factor 1 + 5 · 10 − 10 . The reductions of [7,10] are built so that YES and NO instances cannot be told apart in polynomial time unless P = NP , and small sampled instances may be easier than the asymptotic ones, so these measurements are evidence for Conjecture 2 on R , not a proof of it.
In short, using the twelve strategies, the analysis shows that Salvador is exact or below R 0 on every graph outside the nearly Konig–Egerváry residue R : on forests, graphs of maximum degree at most 3, complete graphs, every regular or degree-separated bipartite graph, regular graphs of degree below 2 · 10 9 and, more generally, graphs with Δ ≤ R 0 ( d ¯ + 1 ) / 2 (Corollary 1), spectrally non-bipartite regular graphs of every degree, dense graphs, hub-dominated graphs with 2 m W ( G ) ≤ R 0 2 τ 2 , graphs whose elimination core is empty, and every graph whose optimum exceeds its matching number by the relative margin ε 0 / ( 2 − ε 0 ) . It also identifies where a proof of Conjecture 2 would have to go: YES-type graphs inside R , with an independent set of almost half the vertices, τ close to ν , large treewidth, and degrees that are neither ordered across a bipartition nor heterogeneous enough for the Hallelujah bound. It does not establish that Salvador beats the factor 2 on all graphs.

5.14. Strategy-by-Strategy Analysis of the Residue

This section collects, strategy by strategy, what is proved about c 1 , … , c 12 , combines the guarantees into one per-instance certificate, and shows where the certificate stops. Throughout, C is the cover returned by Algorithm 1, ν the matching number, d ¯ the average degree, Δ the maximum degree and W ( G ) = ∑ u v ∈ E 1 / max { deg u , deg v } .
Theorem 12
(Combined certificate). For every graph G with at least one edge, | C | ≤ min 1 ≤ i ≤ 12 | c i | , and
| C | τ ( G ) ≤ β ( G ) : = min 2 , 2 ν τ , n − ∑ v 1 deg v + 1 τ , 2 m W ( G ) τ , β cls ( G ) ,
where β cls ( G ) = 1 if every component of G is a tree, a path, a cycle, a complete graph, a complete bipartite graph, a regular bipartite graph or a degree-separated bipartite graph, or if the elimination core of c 11 is empty, or if G is bipartite and the elimination core of c 10 is empty; β cls ( G ) = 11 / 6 if Δ ≤ 3 ; and β cls ( G ) = 2 otherwise.
Proof. 
Every candidate is refined by a pass that never enlarges it, and the smallest refined cover is returned (Proposition 5), so | C | ≤ | c i | for every i. The terms of β are then the bounds on single candidates: 2 from Theorem 2; 2 ν / τ from c 1 and c 5 (Theorem 8); the Caro–Wei term from c 8 (Lemma 6); 2 m W / τ from c 3 (Theorem 10); 1 on the listed classes from c 4 and c 8 (Theorems 4 and 6); 11 / 6 on subcubic graphs from c 2 (Theorem 9); and 1 when the core is empty from c 11 (Theorem 11) and, on bipartite graphs, from c 10 (Proposition 4(iv)).    □
The quantity β ( G ) can be computed for any graph from its degree sequence, a maximum matching and a lower bound on τ , so Theorem 12 gives a checkable proof of the ratio on each instance where β ( G ) ≤ R 0 . The residue of Section 5.13 is exactly where it fails: R = { G : β ( G ) > R 0 } . Table 3 lists, for each strategy, what it proves and where its guarantee stops.

Why the strategies cover each other.

The rows of Table 3 fail on different graphs. The matching bound fails only when τ is close to ν ; the Caro–Wei bound fails only when the degrees are large or very uneven; the Hallelujah bound fails only when the degrees are large and nearly uniform; the exact strategies c 10 and c 11 fail only when the treewidth is large; c 2 fails only above degree 3; and the degree-ordered rule of Theorem 6 fails only when the graph is not bipartite or its degrees are not ordered across the bipartition. A graph lies in R only if all of these happen at once: τ ≈ ν , large treewidth, large degrees, too uniform for c 3 , too uneven, or too large, for c 8 , and not ordered across a bipartition. This is why the residue is small in the experiments of Section 7: in Part F, 119 of 120 instances are certified below R 0 by the Caro–Wei term alone, and the remaining one lies in R and is certified optimal by the a-posteriori certificate of Theorem 13 (Section 7.6).

5.15. Why the ensemble succeeds on the residue

The certificates of Theorem 12 are a priori: they depend on the graph only, not on the cover that the algorithm returns. On R the right tool is an a-posteriori certificate, which reads the returned cover. It rests on an exact identity, valid for every cover of every graph.
Lemma 7
(Slack identity). Let y : E → [ 0 , 1 ] be a fractional matching of G, that is, ∑ e ∋ v y e ≤ 1 for every vertex v; write | y | = ∑ e y e , def y ( v ) = 1 − ∑ e ∋ v y e ≥ 0 , and, for a set C of vertices, E ( C ) for the set of edges with both endpoints in C, y ( E ( C ) ) = ∑ e ∈ E ( C ) y e and def y ( C ) = ∑ v ∈ C def y ( v ) . Then every vertex cover C of G satisfies
| C | = | y | + σ y ( C ) , σ y ( C ) : = y ( E ( C ) ) + def y ( C ) ≥ 0 .
Consequently τ ( G ) = | y | + min C σ y ( C ) , and for every minimum cover C * the excess of C is | C | − τ ( G ) = σ y ( C ) − σ y ( C * ) .
Proof. 
For every vertex, 1 = ∑ e ∋ v y e + def y ( v ) . Summing over v ∈ C gives | C | = ∑ e y e | e ∩ C | + def y ( C ) . Since C is a cover, | e ∩ C | = 1 for the edges with one endpoint in C and | e ∩ C | = 2 for those in E ( C ) , so ∑ e y e | e ∩ C | = | y | + y ( E ( C ) ) . The other two statements follow by applying the identity to a minimum cover.    □
The quantity σ y ( C ) is the violation of complementary slackness of the integral solution C against the dual solution y of the linear relaxation: it charges the dual weight of every edge covered twice and the slack of every cover vertex that the dual does not saturate. For a matching M, σ M ( C ) = | E ( C ) ∩ M | + | C ∖ V ( M ) | : the number of matching edges whose two endpoints are both in the cover, plus the number of unmatched cover vertices. Two cases make the identity especially transparent.
Corollary 4
(Overlap on regular graphs). Let G be d-regular with n vertices and m = n d / 2 edges, and let e ( C ) = | E ( C ) | be the number of doubly covered edges of a cover C. Then
| C | = n 2 + e ( C ) d and | C | τ ( G ) ≤ 1 + e ( C ) m .
Hence a cover of a regular graph is minimum if and only if it has the fewest doubly covered edges, and two covers differ in size by exactly 1 / d times the difference of their overlaps. If moreover G is bipartite, then τ ( G ) = n / 2 , | C | / τ ( G ) = 1 + e ( C ) / m exactly, and C is minimum if and only if e ( C ) = 0 , that is, if and only if C is one colour class of every component.
Proof. 
The constant function y ≡ 1 / d is a fractional matching with | y | = m / d = n / 2 and no deficiency, so Lemma 7 gives | C | = n / 2 + e ( C ) / d . Since e ( C ) ≥ 0 , τ ≥ n / 2 and | C | / τ ≤ 1 + 2 e ( C ) / ( d n ) = 1 + e ( C ) / m . On a regular bipartite graph each colour class is a cover with e = 0 , so τ = n / 2 ; a cover with e ( C ) = 0 is independent, so its complement is an independent cover too, and on a connected bipartite graph the only partition into two independent sets is the colouring.    □
Corollary 4 is the reason for the overlap term of c 10 : on regular components, the second objective of the gadget, the number of doubly covered edges, is equivalent to the first, and on regular bipartite components a cover is optimal exactly when it has no overlap. Theorem 6 shows that c 4 and c 8 always return such a cover; c 10 returns one whenever its core is empty.
Theorem 13
(The a-posteriori certificate is exact on R ). Let ν f ( G ) be the optimum of the linear relaxation of vertex cover, the maximum size of a fractional matching, and let y be a maximum fractional matching. For every graph G and every vertex cover C,
| C | τ ( G ) ≤ | C | ν f ( G ) = 1 + σ y ( C ) ν f ( G ) ≤ | C | ν ( G ) ,
and the three quantities can be computed in polynomial time. If G is nearly Konig–Egerváry, τ ( G ) < 2 ν ( G ) / R 0 , in particular if G ∈ R , then
| C | τ ( G ) ≤ | C | ν ( G ) < 2 R 0 · | C | τ ( G ) , 2 R 0 = 1 + ε 0 2 − ε 0 < 1 + 5.1 · 10 − 10 .
If G is Konig–Egerváry, τ ( G ) = ν ( G ) , as every bipartite graph is, then | C | / ν ( G ) = | C | / τ ( G ) and | C | − τ ( G ) = σ M ( C ) for every maximum matching M.
Proof. 
Weak duality gives ν ≤ ν f ≤ τ , and Lemma 7 with | y | = ν f gives the equality. The fractional optimum is half the size of a maximum matching of the bipartite double cover G × K 2 , and ν is the size of a maximum matching, both computable in polynomial time. If τ < 2 ν / R 0 , then | C | / ν < ( 2 / R 0 ) | C | / τ . If τ = ν , Lemma 7 with y = M gives σ M ( C * ) = 0 for every minimum cover, hence | C | − τ = σ M ( C ) .    □
Theorem 13 makes the ratio of any given cover checkable on the residue: on R , and on every Konig–Egerváry graph, the a-posteriori certificate differs from the true ratio by a factor less than 1 + 5.1 · 10 − 10 , and on bipartite graphs it is the true ratio. It does not give a uniform bound, because it depends on C; but it says precisely what a uniform bound on R would have to control. By Lemma 7, Conjecture 2 holds on R if and only if the returned cover always satisfies σ y ( C ) ≤ R 0 τ − ν f , a bound on its violation of complementary slackness, and on Konig–Egerváry graphs if and only if σ M ( C ) ≤ ( 1 − ε 0 ) τ : the cover may take both endpoints of at most a fraction 1 − ε 0 of the edges of a maximum matching, counting unmatched cover vertices as well.

How the strategies keep the slack small.

Each strategy that wins on R in the experiments attacks σ in its own way, and three of the mechanisms are theorems.
  • The minimum-degree rule of c 4 and c 8 puts a vertex of minimum degree into the independent set and only its neighbours into the cover. When degrees are ordered across a bipartition, Theorem 6 shows that this rule never puts both endpoints of an edge into the cover, so σ M ( C ) = 0 and the cover is optimal; when a vertex has degree 1, the rule is the leaf rule of Lemma 4, which never errs. Part F measures how close an instance is to the degree-ordered case by the probability that a vertex of a maximum independent set has smaller degree than a vertex outside it (1 means perfectly ordered); the observed excess falls as this probability grows (Section 7.6).
  • The overlap term of c 10 minimises the number of doubly covered edges among the minimum covers that its dynamic program can reach, which by Corollary 4 is the same as minimising the cover on regular components, and it is exact on every bipartite component with an empty core (Proposition 4).
  • The local search  c 9 and the refinement c 12 remove the slack that the greedy candidates leave: a ( 1 , 2 ) -swap removes one vertex from the cover, so by Lemma 7 it lowers σ y ( C ) by exactly 1 for every fractional matching y, and no returned cover in the experiments admits such a swap.
What is not proved is that these mechanisms together keep σ y ( C ) below R 0 τ − ν f on every graph of R ; the experiments measure it. On the instances of Part F the a-posteriori certificate | C | / ν f is, family by family, almost exactly the integrality gap τ / ν f of the linear relaxation (Table 11): the certified bounds are loose because the relaxation is, not because the covers are. On every bipartite instance of Part D, where the certificate is exact, the total slack ∑ σ M ( C ) of the returned covers is 221 vertices out of 571 , 654 .

5.16. Conditional Consequence for P Versus NP

Theorem 14
( P = NP consequence of Conjecture 2). Assume the Unique Games Theorem reported in [10]: unique games with completeness 1 − ε and soundness δ are NP-hard to distinguish, by a deterministic polynomial-time reduction from 3SAT. If Conjecture 2 is proved, then P = NP . The same holds if Conjecture 1 is proved for any constant R ★ < 2 .
Proof. 
At the default ε = 1 Algorithm 1 runs in O ( n + m ) time (Theorem 15). A proof of Conjecture 2 makes it a polynomial-time α -approximation with α = 1.999999999 < 2 , and a proof of Conjecture 1 does the same with α = R ★ < 2 . The theorem of Khot and Regev [7] turns the assumed Unique Games Theorem into NP-hardness of approximating Minimum Vertex Cover within 2 − ε 0 for every fixed ε 0 > 0 : composed with their reduction, a polynomial-time α -approximation with α < 2 decides 3SAT in polynomial time. Since 3SAT is NP-complete [1], P = NP .    □
Remark 5.
Theorem 14 is a conditional implication, not a proof of P = NP , and it has two hypotheses. The first, the Unique Games Theorem of [10], was released in October 2026 with Lean artifacts and had not been peer reviewed at the time of writing; we cite it as reported and have not independently checked the formalization. Should it not hold, Theorem 14 reverts to the classical statement that a proof of Conjecture 1 would refute UGC unless P = NP  [7]. The second hypothesis, Conjecture 2, is a worst-case statement overeverygraph. The theorems of Section 5.9 and Section 5.10 prove it on every graph outside the nearly Konig–Egerváry residue R , and Section 5.13 explains why R contains the instances that decide the factor-2 barrier. The experiments of Section 7 are evidence, not a proof. The only ratio proved here for all graphs is 2 (Theorem 2).

6. Runtime Analysis

Theorem 15.
For the default accuracy ε = 1 and the default budgets b = 100 , w eds = 5 (bags of at most six nodes), b eds = 1024 , w max = 10 , b t w = 256 and b r = 100 , Algorithm 1 runs in worst-case time O ( n + m ) , where n = | V | and m = | E | . For a fixed ε ∈ ( 0 , 1 ] in general, candidate c 6 alone costs O ( n + m ) α ( n ) + 1 / ε , where α is the inverse Ackermann function, so the whole ensemble costs O ( n + m ) α ( n ) + 1 / ε for general ε and strictly O ( n + m ) at the default ε = 1 .
Proof. 
We bound each of the twelve strategies and the shared preprocessing and pruning; the total cost is the sum of a constant number of O ( n + m ) -or-better terms.
Preprocessing. Removing self-loops and isolated vertices is one scan of the edge list and one scan of the vertex list, costing O ( n + m ) .
c 1 , maximal matching. A greedy maximal matching is computed in one scan of the edge list, O ( n + m )  [2].
c 2 , bucket-queue max-degree greedy (Algorithm 2). Standard bucket-queue argument: every push corresponds to an initial vertex or a degree decrement, and there are at most 2 m decrements in total, so there are O ( n + m ) pushes and pops, each O ( 1 ) ; total O ( n + m ) .
c 3 , degree-1 weighted reduction. The auxiliary instance has 2 m vertices and m edges (one auxiliary vertex per original edge occurrence). The selection-aware resolution bucket-sorts the original vertices by degree in O ( n + m ) and inspects each auxiliary edge at most twice, once from each endpoint, with O ( 1 ) work per inspection; it is run twice (unweighted and weighted), a constant factor. Total O ( n + m ) .
c 4 , Min-to-Min (Algorithm 3). By the same bucket-queue argument as c 2 : total pushes are n initial pushes plus at most 2 m degree-decrement pushes plus, for each real (non-stale) pop of a vertex v, at most one requeue of v itself (its degree strictly decreases by 1 whenever it is processed, since its chosen neighbor target is removed), giving O ( n + m ) pushes and pops overall; each pop does O ( 1 ) work (a stale check, or an O ( 1 ) arbitrary-neighbor selection followed by the standard O ( 1 ) -amortized degree-bucket update). Total O ( n + m ) (see also Remark 1).
c 5 , primal-dual weighted cover. One pass over the edge list with O ( 1 ) work per edge, O ( n + m ) .
c 6 ,SolveVC(Algorithm 4).SpanningForestCore initialises the disjoint-set forest in O ( n ) and performs mUnion/Find pairs, one per edge; with union by rank and path halving this costs O ( n + m ) α ( n ) in the worst case, tight for path-compression heuristics [27]. For a forest core G p with | E p | ≤ n − 1 edges, the gadget H has | V ( H ) | = 2 n + | E p | ≤ 3 n − 1 vertices and | E ( H ) | = n + 2 | E p | ≤ 3 n − 2 edges, so H is built in O ( n ) ; crucially H is itself a forest, hence of treewidth 1. BakerPtasWeightedIDS uses k = ⌈ 1 / ε ⌉ shifts; each shift removes one BFS residue class, splits the rest into components, and solves each by the tree dynamic program ExactWeightedIDS, which runs in time linear in component size since H is a forest, so one shift costs O ( | V ( H ) | + | E ( H ) | ) = O ( n ) , and the pass costs O ( k n ) = O ( n / ε ) over k shifts. At the default ε = 1 , k = 1 and BakerPtasWeightedIDS returns the O ( n ) greedy baseline GreedyWeightedMIS directly (Algorithm 5, line 2), skipping the layering loop entirely, so this phase is O ( n ) rather than O ( n / ε ) . The repair loops inspect each edge of E p and of removed = E ∖ E p once with O ( 1 ) degree look-ups, O ( n + m ) . Total for c 6 : O ( n + m ) ( α ( n ) + 1 ) = O ( n + m ) α ( n ) at ε = 1 , and O ( n + m ) ( α ( n ) + 1 / ε ) for general ε .
c 8 , bipartite planar reduction (Algorithm 7). By Lemma 1 the auxiliary graph has 2 m nodes and at most 2 m edges, arranged in vertex-disjoint cycles and single edges; the gadget of u is built and solved by the cycle dynamic program in O ( d u ) time, where d u is the number of edges handled at u, and ∑ u d u = m . The processing order is either the input order or, for the residual variant, maintained by a degree-indexed bucket queue: each residual edge deletion is O ( 1 ) and lowers the minimum-bucket pointer by at most one, so pointer movements total O ( n + m ) . Both variants and their pruning cost O ( n + m ) .
c 9 , local search (Algorithm 9). Initialisation (indexing, tightness counters, maximality) is O ( n + m ) . Every later operation is charged its exact adjacency-scan cost to a work counter, and the search stops as soon as the counter exceeds b ( n + m ) for the fixed constant b (default 100); the swap test never scans more than the charged degrees (Section 3.6). Total O ( n + m ) .
c 10 , labelled, weighted edge-dominating-set gadget and treewidth dynamic program. The bipartiteness test is one breadth-first search, O ( n + m ) . The gadget of a component has one edge-node per edge, ∑ u max { 1 , deg u − 1 } ≤ 2 m incidence nodes and at most 4 m gadget edges, and is built, with its weights, in O ( n + m ) . The elimination of D is the minimum-degree elimination of c 11 with fill-degree cap w eds = 5 , so it costs O ( ( n + m ) w eds 2 ) . Every bag has at most six nodes, each node has at most six penalty-free states, so every table has at most 6 6 entries, and every join and elimination of the dynamic program is charged its actual work; the elimination stops before the total exceeds b eds ( N + M ) = O ( n + m ) , the remaining nodes form the core, and a component whose work would exceed the budget falls back to c ★ ★ . Decoding the labels and pruning are linear. With w eds and b eds fixed, c 10 is O ( n + m ) .
c 11 , bounded-treewidth dynamic program. The elimination uses a degree-indexed bucket queue over degrees 0 , … , w max ; eliminating a vertex creates at most w max 2 / 2 fill edges, so the elimination costs O ( n w max 2 + m ) . The dynamic program costs O ( w max ) per table entry and per incoming message, and the total table size is at most b t w ( n + m ) by construction. With w max and b t w fixed, c 11 is O ( n + m ) .
c 12 , refinement. The minimality test and adjacency map cost O ( n + m ) per candidate; every move is charged its adjacency scans and the sorting of its local candidate list, and the moves stop at b r ( n + m ) work, so each of the at most eleven distinct candidates costs O ( n + m ) .
Pruning.PruneRedundantVertices (Algorithm 8) builds the adjacency map in O ( n + m ) and makes one pass of total work ∑ v ∈ C deg G ( v ) = O ( n + m ) ; it is applied to each of c 1 , … , c 6 , to the two variants of c 8 , and once more to the union, a constant number of O ( n + m ) passes.
Summing over a constant number (12) of strategies plus preprocessing and pruning, every term is O ( n + m ) except c 6 ’s union-find pass, which contributes the extra O ( n + m ) α ( n ) factor common to all disjoint-set algorithms with path compression. Since α ( n ) = O ( 1 ) for all n of practical relevance (indeed for all n up to far beyond the number of atoms in the observable universe), the ensemble is O ( n + m ) for every fixed ε in the sense that matters computationally, and strictly O ( n + m ) (no 1 / ε factor at all) at the default ε = 1 , since the layering loop is skipped.    □
Remark 6.
Because the gadget H built by c 6 is a forest, the minimum-weight independent dominating set of H can in fact be computed exactly in O ( n ) time by a single tree dynamic program, making the Baker layering unnecessary in principle; the layered PTAS is retained because the implementation reuses the general bounded-treewidth solver, and at the default ε = 1 it is bypassed anyway (Algorithm 5, line 2). The α ( n ) union-find factor in c 6 can likewise be removed by building the spanning-forest core with a depth-first traversal, yielding a strictly O ( n + m ) c 6 candidate (matching c 1 – c 5 ) if desired.

7. Reproducible Experiment

To assess Conjectures 1 and 2, we ran the Salvador package (v0.1.1, default ε = 1 and default budgets) on a reproducible suite of test graphs with a fixed random seed (20260627), with Python 3.12.3 and NetworkX 3.6.1 on Windows 11. The suite is distributed with the package as seven scripts: car/car_ratio.py (approximation ratio, Parts A and B), car/car_bipartite.py (bipartite graphs, Part D), car/car_yes_instances.py (YES-type instances of the Khot–Regev reduction, Part E), car/car_mechanism.py (certificates and mechanism, Part F), car/car_regular.py (regular graphs of increasing degree, Part G), car/car_c10_bags.py (bags and exactness of c 10 , Part H) and car/car_strategies.py (which strategy wins, Section 7.9). Part C compares Salvador with Hvala on the DIMACS clique complements of NPBench, using the log of a separate run (Section 7.3). Parts D and E use the seed 20261009, Parts F and H the seed 20261010, and Part G the seed 20260627. Except for the small graphs of Part A, every instance is built and solved in a worker process with a time limit (120 seconds by default, 300 seconds in Parts E and F), and an instance that exceeds it is skipped and reported; these instances are generated from the seed and their name alone, so that skipping one instance does not change the others.

7.1. Part A: Small Graphs with a Known Optimum

Part A collects 1 , 718 small graphs for which τ ( G ) is known exactly, either via Konig’s theorem on bipartite instances or by exact branch-and-bound search otherwise: graphs of order at most 7 drawn exhaustively from the graph atlas, bipartite hill-climbing and obstruction instances, bipartite grids, random bipartite and general graphs, and relabeling/vertex-order stress instances. Table 4 reports, for every family, the ratio | C | / τ ( G ) of the returned cover to the exact optimum.

7.2. Part B: large and adversarial graphs with certified bounds

Exact optima are out of reach at the scale of Part B, so for each instance we compute a certified lower bound L ≤ τ ( G ) and report | C | / L , which is an upper bound on the true ratio | C | / τ ( G ) . A greedy maximal matching alone is a weak choice for L: every matching satisfies | M | ≤ n / 2 , while on random d-regular or locally dense graphs τ ( G ) is much larger than n / 2 , so that bound alone cannot certify ratios below roughly 1.4 – 1.6 on these families however good the cover is. We take for L the largest of the following bounds, each valid for every graph:
  • Exact bipartite matching. On bipartite graphs a Hopcroft–Karp maximum matching [26] gives L = τ ( G ) by Konig’s theorem [19], so the reported ratio is exact.
  • Matchings. Any matching M gives τ ( G ) ≥ | M | . We use a greedy maximal matching and a Karp–Sipser matching [28], which matches degree-1 vertices first and is near-maximum on sparse graphs.
  • Clique packing. A cover contains all but at most one vertex of every clique, and vertex-disjoint cliques need disjoint cover vertices, so for vertex-disjoint cliques K 1 , … , K t we have τ ( G ) ≥ ∑ i ( | K i | − 1 ) ; a matching is the case | K i | = 2 . We pack cliques greedily.
  • Spectral bound. For an independent set S with | S | = s , the vector x = 1 S − s n 1 satisfies x ⊤ L x = e ( S , V ∖ S ) ≥ s δ and x ⊤ x = s ( n − s ) / n , where L is the Laplacian and δ the minimum degree (isolated vertices removed). Hence α ( G ) ≤ n ( 1 − δ / μ max ) and τ ( G ) ≥ n − ⌊ n ( 1 − δ / μ max ) ⌋ ; on d-regular graphs this is Hoffman’s ratio bound [23]. The largest Laplacian eigenvalue μ max is computed by Lanczos iteration, inflated by its residual norm, and capped by the rigorous Anderson–Morley bound μ max ≤ max u v ∈ E ( deg u + deg v ) ; this bound is therefore certified up to the numerical eigenvalue computation.
Table 5 reports, for the ten families, the largest instance size, the certified ratio bound with the method that attained it, the bound that the greedy maximal matching alone would give, and the wall-clock time.
A sparse Erdos–Renyi instance with n = 200 , 000 is not built, because generating it dominates the running time of the suite, and the random 12-regular graph with n = 200 , 000 and 1 , 200 , 000 edges exceeded the time limit of 120 seconds and was skipped. Across the 26 Part B instances the certified ratio bound never exceeds 1.1683 , attained on the random 12-regular graph with n = 50 , 000 vertices and m = 300 , 000 edges, where the cover has 37 , 629 vertices and the spectral bound certifies τ ( G ) ≥ 32 , 208 . With the matching bound alone the largest value would have been 1.574 ; the difference comes from the sharper lower bounds, not from the covers, and the true ratios may be smaller still. The bipartite families are the slowest, because c 10 runs its dynamic program on them: about 100 seconds on the dense complete bipartite and crown graphs with 1 , 600 vertices and 640 , 000 edges, whose gadgets have about 2.5 million edges and cores that hold most of the gadget, and 56 seconds on the double stars with 200 , 002 vertices, where the gadget is a forest and c 10 is exact. The whole part took 989 seconds. Combined with Part A, the exact or certified ratio across all 1 , 744 test graphs never exceeds 1.17 , far below the target 1.999999999 of Conjecture 2 and the unconditional bound of 2 (Theorem 2). These numbers are evidence on the families tested; they do not bound the ratio on graphs outside the suite.

7.3. Part C: DIMACS Clique Complements, Compared with Hvala

Because Salvador contains the Hvala ensemble [11], a natural question is how much its additional candidates improve on Hvala alone. We answer it on the 68 DIMACS clique-complement instances of the NPBench collection [29]. The minimum vertex cover of the complement of a graph G on n vertices has size n − ω ( G ) , where ω ( G ) is the clique number; we use the clique numbers compiled by Mascia [30]. For 66 of the 68 instances ω ( G ) is certified, so the reported ratio is a certified approximation ratio; for C500.9 and C1000.9 only best-known lower bounds on ω ( G ) are available, so these two instances are marked with † and their ratios are ratios to a best-known reference value. The Hvala columns of Table 6 and Table 7 are the figures reported for Hvala in [11]; the Salvador columns come from the raw log of one run of the Salvador package (v0.1.1, default ε = 1 ) on the same 68 instances.
Salvador is never worse than Hvala on any of the 68 instances: it returns a strictly smaller vertex cover on 49 instances and the same cover size on the remaining 19. The mean ratio to the known optimum is 1.014 for Salvador against 1.025 for Hvala, and the maximum ratio is 1.162 against 1.192 , both attained on san200_0.9_1. Salvador attains the known optimum on 29 instances, whereas Hvala does so on 18, and the total cover size summed over the 68 instances is 26 , 375 for Salvador against 26 , 603 for Hvala. None of the 68 clique complements is bipartite, so on them c 10 coincides with the best of c 1 , … , c 9 .
The largest improvements occur on san400_0.9_1, where Salvador returns the optimum (300) against 348 for Hvala, and on gen400_p0.9_75 (347 against 358); an improvement of 8 vertices is obtained on each of C250.9, C500.9, C1000.9, gen400_p0.9_65 and keller5, and of 7 on p_hat1000-3. Salvador wins on every instance of the brock, gen, C, keller, san and sanr families, on nine of the ten p_hat instances and on two of the four MANN instances, whereas the two algorithms tie on the c-fat and johnson families and on most hamming instances, where both are already at or very near the optimum. Because Salvador returns the smallest of its candidates and Hvala’s candidates are among them, it cannot be worse than Hvala by construction (Theorem 2); the experiment measures by how much the additional candidates help, and the answer is that they help on most instances and on every family where Hvala is not already optimal.
The cumulative algorithm time is 113.5 seconds for Salvador against 121.4 seconds for Hvala, and Salvador is faster on 29 of the 68 instances; the extra work over Hvala’s four strategies is spent mainly in c 9 , c 11 and c 12 on these dense graphs, while on non-bipartite graphs c 10 costs only one breadth-first search. This timing comparison is indicative only, since the two sets of times come from separate single-run logs. The maximum ratio 1.162 is consistent with the bound of 1.17 observed on the suite of Parts A and B; the 68 instances of Part C are external benchmark instances and are not included in the count of 1 , 744 test graphs.

7.4. Part D: Bipartite Graphs Without an Exact Bipartite Strategy

Salvador contains no exact bipartite candidate: a maximum matching would cost O ( m n ) , and the algorithm is meant to stay linear. On bipartite graphs τ = ν , so the a-priori matching certificate of Theorem 8 gives only the ratio 2, and the bipartite graphs of maximum degree at least 4 that no other theorem covers belong to the residue R of Section 5.13; by Theorem 13, on all of them the ratio measured below is also the a-posteriori certificate, so each instance carries a proof of its ratio. Part D measures how far the linear-time ensemble is from the optimum on such graphs. For every instance, τ ( G ) = ν ( G ) is computed by a Hopcroft–Karp maximum matching for measurement only, so every reported ratio is exact. The 152 instances, with up to 50 , 653 vertices, cover 15 families: random bipartite graphs with average degree 3, 6 and 20 (balanced and with sides in ratio 1 : 2 ), random d-regular bipartite graphs ( d = 3 , 4 , 8 ), power-law bipartite graphs, bipartite double covers G × K 2 of random 3- and 5-regular graphs, a perfect matching hidden among random edges, random trees, full 2D grids and grids with 30 % of the edges removed, 3D grids, even cycles, complete bipartite and crown graphs, and hypercubes, full and with half of the edges removed. Vertex labels are shuffled.
Table 8. Part D: the final cover c 12 on 152 bipartite graphs, against the exact optimum τ = ν . “Optimal” counts the instances with | c 12 | = τ ; “Excess” is ∑ ( | c 12 | − τ ) over the family; the last two columns count the instances on which c 10 (labelled, weighted gadget) and c 11 had an empty core, so that each returned a minimum vertex cover by itself.
Table 8. Part D: the final cover c 12 on 152 bipartite graphs, against the exact optimum τ = ν . “Optimal” counts the instances with | c 12 | = τ ; “Excess” is ∑ ( | c 12 | − τ ) over the family; the last two columns count the instances on which c 10 (labelled, weighted gadget) and c 11 had an empty core, so that each returned a minimum vertex cover by itself.
Family Inst. Max n Optimal Max ratio Excess c 10 exact c 11 exact
Random bipartite (balanced) 24 50,000 15 1.0455 26 0 0
Random bipartite (1:2) 24 50,000 24 1.0000 0 0 0
Random d-regular bipartite 24 50,000 24 1.0000 0 0 0
Power-law bipartite 8 50,000 8 1.0000 0 0 3
Double cover G × K 2 16 50,000 16 1.0000 0 0 0
Hidden perfect matching 16 50,000 15 1.0000 1 0 3
Random tree 8 50,000 8 1.0000 0 8 8
2D grid 4 49,729 4 1.0000 0 0 0
2D grid, 70 % of edges 8 49,729 3 1.0064 191 2 3
3D grid 4 50,653 4 1.0000 0 0 0
Even cycle 4 50,000 4 1.0000 0 4 4
Complete bipartite 2 1,000 2 1.0000 0 0 0
Crown graph 2 1,000 2 1.0000 0 0 0
Hypercube 4 16,384 4 1.0000 0 0 0
Hypercube, 50 % of edges 4 16,384 2 1.0159 3 0 0
All 152 50,653 135 1.0455 221 14 21
The ensemble returned a minimum vertex cover on 135 of the 152 bipartite graphs, and the total excess over the optimum is 221 vertices out of 571 , 654 . The worst ratio is 1.0455 , on a random balanced bipartite graph with 100 vertices and average degree 3 (46 against 44); the other misses are within 2.2 % on graphs with 100 vertices and within 1.6 % on larger ones. The 17 misses are nine random balanced bipartite graphs (average degree 3 and 6), five thinned grids, one hidden-matching graph and two half hypercubes. Every random regular bipartite graph, double cover, tree, full grid, cycle, complete bipartite graph, crown graph and full hypercube was solved exactly. On the families covered by Theorem 6—double covers, crown graphs, complete bipartite graphs, even cycles and full hypercubes, 28 instances—this is a theorem: c 4 and c 8 are exact on every one of them. The random d-regular bipartite graphs of this part are unions of d random perfect matchings, in which coinciding edges merge, so they are regular only when no edges coincide; c 4 and c 8 are exact on 23 of the 24, and the ensemble on all 24. The candidates that reach the optimum most often are c 9 (134 instances), c 8 (108) and c 4 (107); the decoded cover of c 10 , before the comparison with its reference, is optimal on 135 instances, and the exact dynamic programs c 10 and c 11 have an empty core on the tree-like families (14 and 21 instances). The whole part took 931 seconds. By Theorem 13 the excess of each returned cover equals its slack σ M ( C ) against a maximum matching, so these numbers measure exactly how far the covers are from complementary slackness; they do not give a proved ratio below 2 on all bipartite graphs, which would require an argument for every bipartite graph rather than a test of some of them.

7.5. Part E: YES-Type Instances of the Khot–Regev Reduction

Section 5.13 locates the instances that decide the factor-2 barrier: the YES instances of the Khot–Regev reduction [7], which have an independent set of almost half the vertices. Part E builds such instances and runs the ensemble on them. A Unique Games instance with label set [ k ] is generated on a random d-regular graph H with N vertices, together with a planted labeling L: every edge ( v , w ) receives a permutation π v w of [ k ] with π v w ( L ( w ) ) = L ( v ) , either a random permutation or, in the linear variant (Max-2-Lin over Z k ), a shift i ↦ i + c mod k ; a fraction η of the edges then receive a fresh random constraint. The reduction replaces every vertex v of H by a long-code block, one vertex ( v , x ) for each subset x ⊆ [ k ] weighted by the p-biased measure μ p ( x ) = p | x | ( 1 − p ) k − | x | with p < 1 / 2 , and joins ( v , x ) and ( w , y ) when x and π v w ( y ) are disjoint. Because Salvador is unweighted, each block keeps s subsets drawn from μ p (a sampled long code). The dictator set I = { ( v , x ) : L ( v ) ∈ x } contains about a fraction p of the vertices and spans edges only on violated constraints, since on a satisfied edge L ( v ) lies in both x and π v w ( y ) ; removing one endpoint of each such edge leaves an independent set I ′ , so the non-isolated vertices outside I ′ form a planted cover of size about ( 1 − p ) n . The base family has k = 4 , p = 0.45 , η = 0 , d = 4 and s = 16 , and the other nine families change one parameter: k ∈ { 3 , 6 } , p ∈ { 0.35 , 0.49 } , η ∈ { 0.02 , 0.1 } , d = 8 , s = 32 or linear constraints. With N ∈ { 40 , 80 , 160 , 320 } and three seeds this gives 117 instances with 640 to 5 , 120 vertices and up to 138 , 340 edges; vertex labels are shuffled.
For every instance we compute a certified lower bound on τ : the optimum of the linear relaxation, obtained as half the maximum matching of the bipartite double cover, and, for the 57 instances with at most 1 , 280 vertices, the bound of an integer program solved by HiGHS through SciPy with a limit of 90 seconds, which proved τ on 39 of them. Table 9 reports, by family, how often the final cover c 12 is no larger than the planted cover, how often it is optimal where τ is known, the largest exact ratio, and the largest certified ratio bound | c 12 | / L over all instances.
The ensemble returned a cover no larger than the planted one on 92 of the 117 instances, and strictly smaller on 79; the planted dictator set is therefore often not a maximum independent set of the sampled graph. Where τ is known, the cover is optimal on 27 of 39 instances, the mean ratio is 1.0055 and the largest is 1.0425 , on a linear-constraint instance with N = 80 (711 against τ = 682 , with a planted cover of 726). Over all 117 instances the certified ratio bound never exceeds 1.237 ; the largest values come from the family p = 0.35 , where the linear relaxation, the only bound available above 1 , 280 vertices, is about n / 2 while the covers have about 0.61 n vertices, so these bounds are loose and the true ratios are likely much closer to 1. In the terms of Theorem 13, the certified bound is | C | / L with L ≥ ν f , so it is at most the a-posteriori certificate, and it is a proof of the ratio of each returned cover. The local search c 9 attains the final size on 104 instances, and the refinement c 12 improves on it by 1 to 16 vertices on the other 13. The whole part took 174 seconds.
These instances are small and sampled, far from the asymptotic regime in which the Khot–Regev reduction separates YES from NO instances, and small instances need not be as hard as the asymptotic ones; the measurements show only that, on the instances built here, Salvador stays within 4.3 % of the optimum where it is known and within 23.7 % of a certified lower bound everywhere. They do not prove a ratio below 2 on YES-type instances in general.

7.6. Part F: which certificate applies, and why the quality is good

Part F tests the analysis of Section 5.14 directly. It runs the ensemble on 120 instances of ten families, at four sizes N ∈ { 10 , 20 , 40 , 80 } with three seeds each, from 140 to 1 , 280 vertices: sampled and fixed-weight Khot–Regev YES instances (the fixed-weight variant keeps only subsets of one size t, with ( k , t ) ∈ { ( 4 , 2 ) , ( 5 , 2 ) , ( 6 , 3 ) } ; the ( 4 , 2 ) family is bipartite), d-regular graphs with a planted independent set of a fraction α of the vertices, random regular graphs and thinned grids. On every instance it computes the optimum by an integer program (HiGHS, 90 seconds, at most 1 , 300 vertices), the linear relaxation and the Nemhauser–Trotter decomposition [31], the matching number, every term of β ( G ) in Theorem 12, the degree bias of a maximum independent set, the best greedy candidate min { | c 1 | , … , | c 8 | } , and whether the returned cover admits a ( 1 , 2 ) -swap. Table 10 gives the results by family.

Certificates.

The proved a-priori bound β ( G ) of Theorem 12 is below R 0 on 119 of the 120 instances, always through the Caro–Wei term of c 8 , with mean 1.65 ; the matching, Hallelujah, subcubic and class terms are never the best. The remaining instance, in the bipartite family KR fixed k = 4 , t = 2 at N = 10 (160 vertices), lies in R : there τ = ν = 67 , the matching term is exactly 2 and the Caro–Wei term is 2.15 . Salvador returns a cover of 67 vertices, and the a-posteriori certificate of Theorem 13, | C | / ν = 67 / 67 , proves that it is optimal.

Mechanism.

The mechanisms of Section 5.15 appear on every family. Maximum independent sets favour low-degree vertices (mean degree bias 0.658 , up to 0.919 on sampled Khot–Regev graphs; exactly 0.5 on regular graphs), which is the choice made by c 4 and c 8 , and the relative excess of the result falls as the bias grows (correlation − 0.26 ); a bias of 1 across a bipartition is the hypothesis of Theorem 6(b), under which the excess is 0. The best greedy candidate is 2.27 % above the optimum on average and is already optimal on 27 of the 93 instances with known τ ; the local search and the refinement remove one or more vertices on 64 of them and bring the mean excess to 0.38 % . No returned cover admits a ( 1 , 2 ) -swap. The Nemhauser–Trotter kernel [31], the part of the graph on which the linear relaxation is half-integral, covers 74 % of the vertices on average and all of them on the regular, planted and fixed-weight k = 5 families, so the linear relaxation fixes nothing there and does not by itself explain the quality; its correlation with the excess is − 0.08 . Its persistency (vertices fixed to 1 are in the cover, those fixed to 0 are not) is respected on 108 instances; the twelve exceptions are all bipartite, where the half-integral optimum is not unique and other optimal covers exist.

Integrality gap and slack.

Table 11 compares the a-posteriori certificate | C | / ν f of Theorem 13 with the integrality gap τ / ν f where τ is known. On every family the two are almost equal: by Lemma 7, | C | / ν f − τ / ν f = ( σ y ( C ) − σ y ( C * ) ) / ν f , so the difference is the excess of the cover, and it is small. The certificates are loose on random regular graphs because the relaxation is, not because the covers are: on the random 6-regular graphs both quantities are about 1.31 . On the three bipartite families τ / ν f = 1 , and | C | / ν f is exactly the ratio.
Table 11. Part F: the a-posteriori certificate | C | / ν f of Theorem 13, where ν f is the optimum of the linear relaxation, against the integrality gap τ / ν f on the instances with known τ . The certificate is always an upper bound on the ratio; the two columns differ by the mean relative excess of the returned cover.
Table 11. Part F: the a-posteriori certificate | C | / ν f of Theorem 13, where ν f is the optimum of the linear relaxation, against the integrality gap τ / ν f on the instances with known τ . The certificate is always an upper bound on the ratio; the two columns differ by the mean relative excess of the returned cover.
Family Mean | C | / ν f Max | C | / ν f Mean τ / ν f ( τ known)
KR sampled k = 4 1.0805 1.1625 1.0766
KR sampled k = 6 1.0096 1.0418 1.0096
KR fixed k = 4 , t = 2 (bip.) 1.0115 1.0779 1.0000
KR fixed k = 5 , t = 2 1.2025 1.3125 1.1750
KR fixed k = 6 , t = 3 (bip.) 1.0005 1.0038 1.0000
Planted regular α = 0.45 , d = 6 1.0930 1.1000 1.0931
Planted regular α = 0.48 , d = 10 1.0437 1.0500 1.0440
Random regular d = 3 1.1137 1.1250 1.1094
Random regular d = 6 1.3135 1.3250 1.3125
Thinned grid ( 70 % , bip.) 1.0025 1.0099 1.0000

Growth with size.

Table 12 gives the mean exact ratio, or the mean certified bound where τ is unknown, at each size. On seven families it stays below 1.05 up to 1 , 280 vertices. On random regular graphs with d = 3 and d = 6 and on KR fixed k = 5 , t = 2 the certified bound grows with size, to 1.069 , 1.210 and 1.125 ; at those sizes the integer program no longer proves τ , and the bound is the linear relaxation n / 2 , which on these families is far below τ where τ is known (Table 11: the integrality gap of the random 6-regular graphs is about 1.31 , while their exact ratio is at most 1.0095 ). The growth of the certified bound is therefore consistent with a weak relaxation rather than with worse covers, although this experiment cannot measure τ at the largest sizes.
The ensemble itself took 33 seconds on the 120 instances; the rest of the running time of the part is spent in the integer programs. Part F confirms the picture of Section 5.15: a proved a-priori certificate below R 0 exists on 119 of the 120 instances, the a-posteriori certificate proves the ratio of the remaining one, and the quality comes from the degree bias of optimal independent sets, from the local search, and from covers whose slack against the linear relaxation is close to the minimum possible. It is evidence about these instances, not a proof for all graphs.

7.7. Part G: Regular Graphs of Increasing Degree

Regular graphs are where the a-priori bound of Theorem 5 is weakest, and regular bipartite graphs are where Theorem 6 claims exactness at every degree. Part G tests both. For every degree d ∈ { 3 , 4 , 5 , 6 , 8 , 10 , 12 , 16 , 20 , 24 , 32 , 48 , 64 } , every size n ∈ { 200 , 1 , 000 , 5 , 000 } and three seeds, it builds a random d-regular graph (networkx.random_regular_graph, almost surely not bipartite) and a random d-regular bipartite graph, the union of d edge-disjoint random perfect matchings (for 2 d > n / 2 , the bipartite complement of a random ( n / 2 − d ) -regular bipartite graph); general graphs with n = 40 and d < 40 are added and solved exactly by branch and bound. This gives 150 general and 117 bipartite instances, with up to 160 , 000 edges. For the bipartite graphs τ = n / 2 is computed by a maximum matching; for the general graphs with n ≥ 200 the lower bound is the best certified bound of Part B, which is always the spectral bound here. Table 13 reports the general graphs; for comparison it also lists the value 1 + 2 d − 1 / d of the a-priori bound 1 + | λ min | / d of Corollary 3(b) for a graph with | λ min | = 2 d − 1 , which random d-regular graphs attain asymptotically, up to o ( 1 ) , with high probability [32].

Bipartite graphs.

All 117 regular bipartite instances, of degree 3 to 64 and up to 5 , 000 vertices and 160 , 000 edges, were solved exactly, and c 4 and c 8 alone were exact on every one of them, as Theorem 6 requires. In this generator the two colour classes are numbered consecutively, which helps the order-dependent passes of the other candidates (the pruned maximal matching c 1 is also exact on 116 of them); Theorem 6 does not depend on the labels, and the shuffled-label regular bipartite graphs of Part D confirm it. The decoded cover of c 10 is the reference, since its core is never empty on these expanders.

General graphs.

The 33 instances with n = 40 are all solved exactly. For n ≥ 200 the certified ratio never exceeds 1.1734 ( d = 12 , n = 1 , 000 ), it is nearly independent of n for each d, and it does not grow with the degree: it rises to about 1.17 at d = 10 –24 and falls to 1.14 at d = 64 . The covers approach the estimate of τ as d grows: their ratio to it falls from 1.10 at d = 32 to 1.05 at d = 64 ; for d ≤ 8 the estimate is below n / 2 ≤ τ and is not meaningful. The certified ratio is also well below the a-priori spectral bound, since the latter applies to every minimal cover while the certificate reads the returned one. The local search c 9 attains the best size before the refinement on 148 of the 150 general instances, and the refinement c 12 removes a further vertex on 15. The whole part took 499 seconds.

7.8. Part H: the bags and the exactness of c 10

Part H checks the two claims of Proposition 4 about the dynamic program of c 10 , run on its own with the cover of a maximal matching, pruned, as reference. Part H1 runs it on the 108 bipartite instances of the families of Part D with n ≤ 1 , 000 and records the largest bag, the core, the cover and the time; the program stops with an error if a joined table ever has more than six nodes. Part H2 runs it on 300 random bipartite graphs with at most 14 vertices, of which 285 have an edge, and, whenever its core is empty, compares its cover by brute force with every minimum cover. Part H3 computes the minor-min-width lower bound on the treewidth of the gadget, which shows when a core is unavoidable under the cap: an exact decomposition of a gadget of treewidth w needs a bag of w + 1 nodes. Table 14 reports Parts H1 and H3 by family.
No bag exceeded six nodes on any instance, and every cover was valid. Bags of exactly six nodes occur only on the thinned grids, whose gadgets have treewidth close to five. On the other families the largest bag has three to five nodes: the nodes whose fill degree stays at most five are eliminated early, with small bags, and every remaining node has more than five neighbours in the fill graph and joins the core. The core is empty on the 10 instances whose gadget has small treewidth—trees, even cycles and two thinned 10 × 10 grids—and on them the cover is optimal. On 84 of the other 98 the lower bound on the treewidth of the gadget is at least 6, and up to 69, so an exact decomposition would need a bag of seven nodes or more and, with bags of six nodes, the core cannot be empty whatever elimination order is used; on the remaining 14 the bound is 4 or 5, and it is weak (it is 5 on the complete bipartite and crown graphs, whose gadgets have much larger treewidth). Where the core is not empty, c 10 completes its reference outside the core: its cover is on average 3 % to 50 % smaller than the reference on every family except the complete bipartite, crown and full hypercube graphs, where the core holds almost the whole gadget and the cover equals the reference. In Part H2, c 10 had an empty core on 270 of the 285 small graphs, and on all 270 its cover was a minimum vertex cover with the fewest doubly covered edges among all minimum covers, as Proposition 4(iii) states; there was no exception. The whole of Part H1 took 95 seconds, 71 of them on the four dense complete bipartite and crown graphs.

7.9. Which Strategy Wins

Table 15 reports, over 1 , 659 instances (the non-adaptive Part A families and the Part B families up to n = 50 , 000 ), how often each base strategy c 1 , … , c 8 , c 10 , c 11 attains the smallest cover among them (ties credit every tied strategy) and how often it is the sole winner. Since c 10 falls back to the best of c 1 , … , c 9 when its decoded cover is larger, its win count says little by itself; we report its decoded cover separately below. The improvers are reported separately: c 9 by the instances on which it strictly improved the best of c 1 , … , c 8 , and c 12 by the instances on which it strictly improved the best of c 1 , … , c 11 .
Table 15. Wins among the base strategies over 1 , 659 instances (v0.1.1). c 10 and c 11 win almost every instance by construction, since they are never larger than the best of c 1 , … , c 9 and of c 1 , … , c 10 , respectively (Proposition 4, Theorem 11); the two sole wins of c 11 are the instances on which it improved its reference.
Table 15. Wins among the base strategies over 1 , 659 instances (v0.1.1). c 10 and c 11 win almost every instance by construction, since they are never larger than the best of c 1 , … , c 9 and of c 1 , … , c 10 , respectively (Proposition 4, Theorem 11); the two sole wins of c 11 are the instances on which it improved its reference.
Strategy Heuristic Wins Sole wins Win rate
c 1 maximal matching 1359 0 0.819
c 2 max-degree greedy 1531 0 0.923
c 3 Hallelujah reduction 1500 0 0.904
c 4 Min-to-Min 1599 0 0.964
c 5 primal-dual 1359 0 0.819
c 6 MIDS Baker reduction 1466 0 0.884
c 7 union re-prune 1438 0 0.867
c 8 bipartite planar reduction 1604 0 0.967
c 10 EDS gadget + treewidth DP 1657 0 0.999
c 11 bounded-treewidth exact DP 1659 2 1.000
The win rate of c 11 is a property of its definition, not evidence about hard instances (Remark 4). Table 16 shows what c 11 actually achieves. It is exact (empty core) on 1 , 640 of the 1 , 659 instances: on every small graph of Part A except one 9 × 9 grid, and on the tree-like double-star and hierarchical-star families. On the dense bipartite families (complete bipartite and crown graphs) and on every large random family, the elimination stops with 32 % to 100 % of the vertices in the core, and c 11 is strictly smaller than its reference on only two instances: the random 3-regular and Watts–Strogatz graphs with n = 50 , 000 , by one and two vertices.
Table 16. Exactness of c 11 ( w max = 10 , b t w = 256 ). “Exact” means an empty core, in which case c 11 is a minimum vertex cover; the core fraction is the share of vertices left un-eliminated, averaged over the instances of the family; “–” marks families on which no vertex could be eliminated.
Table 16. Exactness of c 11 ( w max = 10 , b t w = 256 ). “Exact” means an empty core, in which case c 11 is a minimum vertex cover; the core fraction is the share of vertices left un-eliminated, averaged over the instances of the family; “–” marks families on which no vertex could be eliminated.
Family Inst. c 11 exact Mean core Max width
Small graphs (Part A, all families) 1638 1637 0.000 10
Double star, hierarchical star trap 3 3 0.000 1
Complete bipartite, crown graph 6 0 1.000 –
Random 3-regular 2 0 0.331 10
Random 6-regular 2 0 0.634 10
Random 12-regular 2 0 1.000 –
Erdos–Renyi, Barabasi–Albert, W.–S. 6 0 0.330 10
Table 17 shows what the labelled, weighted edge-dominating-set strategy c 10 achieves on its own. Among the 1 , 659 instances, 389 are bipartite, so c 10 runs its dynamic program on them; on the other 1 , 270 it returns the best of c 1 , … , c 9 . The core was empty on 352 instances, among them every tree, double star and hierarchical star trap, 94 of the 99 random bipartite graphs and 38 of the 64 grids; on each of them c 10 is a minimum vertex cover by Proposition 4(iv). It was never exact on an instance where c 11 was not, in line with its smaller cap of six nodes per bag, against eleven for c 11 (Section 3.7). The decoded and pruned cover, before the comparison with the reference, is never larger than the best of c 1 , … , c 9 on any of the 389 bipartite instances. On these instances c 10 never improved strictly on the best of c 1 , … , c 9 , which is already optimal on all of them.
The local search c 9 strictly improved the best of c 1 , … , c 8 on 12 of the 1 , 659 instances: every large random regular, Erdos–Renyi, Barabasi–Albert and Watts–Strogatz instance in the run, and none of the small or bipartite instances, where c 1 , … , c 8 are already optimal or exact. Table 18 lists the gains.
Table 18. Strict improvements of c 9 on the n = 50 , 000 instances; the n = 5 , 000 instances of the same families improve by 2–71 vertices.
Table 18. Strict improvements of c 9 on the n = 50 , 000 instances; the n = 5 , 000 instances of the same families improve by 2–71 vertices.
Instance Best of c 1 . . c 8 c 9 Gain
Random 3-regular, n = 50 , 000 28,346 27,750 596
Random 6-regular, n = 50 , 000 33,509 32,808 701
Random 12-regular, n = 50 , 000 38,339 37,630 709
Sparse Erdos–Renyi, n = 50 , 000 26,441 26,096 345
Watts–Strogatz, n = 50 , 000 35,970 35,441 529
Barabasi–Albert, n = 50 , 000 24,561 24,554 7
The final refinement c 12 strictly improved the best of c 1 , … , c 11 on 7 of the 1 , 659 instances, always by one vertex (Table 19): the random regular graphs with n = 5 , 000 ( d = 3 , 12 ) and n = 50 , 000 ( d = 3 , 6 , 12 ), and the Erdos–Renyi and Watts–Strogatz graphs with n = 50 , 000 . In every case the improved cover came from refining c 11 , and in five of them refining c 9 , or c 10 , which equals c 9 on these non-bipartite graphs, gave the same size.

8. Conclusion

Salvador (v0.1.1) is a worst-case O ( n + m ) ensemble for Minimum Vertex Cover: eleven valid candidate covers, a swap-maximize refinement, and the smallest result. It always returns a valid cover (Theorem 1) and has ratio at most 2 on every graph (Theorem 2). The edge-dominating-set strategy c 10 uses a gadget that carries a cover label per vertex and weights whose minimum-weight solutions are exactly the minimum vertex covers with the fewest doubly covered edges, and its dynamic program never builds a bag of more than six nodes (Proposition 4).
The strategy-by-strategy analysis proves a per-instance ratio β ( G ) on every graph (Theorem 12). The matching strategies cover graphs whose optimum exceeds the matching number, the Caro–Wei bound of c 8 covers graphs of moderate and homogeneous degree, the Hallelujah bound covers hub-dominated graphs, c 2 covers subcubic graphs, c 4 is exact on its classes, c 4 and c 8 are exact on every regular or degree-separated bipartite graph (Theorem 6), and the dynamic programs c 10 and c 11 are exact on graphs of small treewidth. Together they prove ratio at most 1.999999999 outside a residue R of nearly Konig–Egerváry graphs that contains the YES-type instances of the hardness reductions.
On R the analysis explains the quality of the covers. Every cover satisfies the slack identity | C | = | y | + σ y ( C ) for every fractional matching y (Lemma 7); on regular graphs it says that a cover is minimum exactly when it has the fewest doubly covered edges (Corollary 4), which is the second objective of c 10 ; and on R the a-posteriori certificate | C | / ν f equals the true ratio up to a factor 1 + 5.1 · 10 − 10 (Theorem 13). The ensemble succeeds on R because its strategies keep the slack small: the minimum-degree rule of c 4 and c 8 removes it entirely when degrees are ordered across a bipartition, c 10 minimises the doubly covered edges, and the local search removes one unit of slack with each swap.
The experiments agree. The ratio is 1 on all 1 , 718 small graphs with known optima and at most 1.17 on the large adversarial graphs; on 152 bipartite graphs it is at most 1.0455 , with total excess 221 over 571 , 654 ; on 117 Khot–Regev YES instances it is at most 1.0425 where τ is known; on the 120 instances of Part F it is at most 1.094 where τ is known, an a-priori certificate below R 0 exists on 119 of them and the a-posteriori certificate proves the last one optimal; on 267 regular graphs of degree up to 64 the certified ratio is at most 1.174 and every bipartite instance is solved exactly; and no bag of c 10 exceeds six nodes. Every instance tested carries a per-instance certificate of its ratio, at most 1.237 . On DIMACS, Salvador never returns a larger cover than Hvala and is strictly better on 49 of 68 instances.
These results are a proof on every graph outside R , and on R a proof instance by instance together with an explanation of why the slack stays small, not a uniform bound. Consequently we do not claim P = NP . What we prove is the conditional statement of Theorem 14: if the Unique Games Theorem reported by the OpenAI Math Team [10] holds, and that manuscript had not been peer reviewed at the time of writing, then a proof that Salvador achieves ratio 2 − ε 0 on every graph in R , for any fixed ε 0 > 0 , would imply P = NP ; by Lemma 7, such a proof amounts to a uniform bound on the slack of the returned cover.
Future work includes a uniform bound on the slack σ y ( C ) of the returned cover on classes of R beyond the degree-ordered bipartite graphs, larger Khot–Regev instances closer to the asymptotic regime of the reduction, sharper lower bounds on the large regular families where the certified bound is loosest, and an extension of the ensemble method to dominating set, independent set and set cover. The implementation is freely available as the Salvador package (v0.1.1) on PyPI [14].

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 DIMACS Series in Discrete Mathematics and Theoretical Computer Science; 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. On the Power of Unique 2-Prover 1-Round Games. In Proceedings of the 34th Annual ACM Symposium on Theory of Computing; Association for Computing Machinery: Montreal, Québec, Canada, 2002; pp. 767–775. [Google Scholar] [CrossRef]
  7. 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]
  8. Austrin, P.; Khot, S.; Safra, M. Inapproximability of Vertex Cover and Independent Set in Bounded Degree Graphs. Theory Comput. 2011, 7, 27–43. [Google Scholar] [CrossRef]
  9. Halperin, E. Improved Approximation Algorithms for the Vertex Cover Problem in Graphs and Hypergraphs. SIAM J. Comput. 2002, 31, 1608–1623. [Google Scholar] [CrossRef]
  10. OpenAI Math Team. The Unique Games Conjecture and Optimal Approximation Thresholds (Result Family 102) Manuscripts and Lean artifacts available at. GitHub Repository. 2026. Available online: https://github.com/openai/math/blob/main/lean/docs/102.md.
  11. Vega, F. An Approximate Solution to the Minimum Vertex Cover Problem: The Hvala Algorithm. Gauge Freedom J. 2026, 1. [Google Scholar] [CrossRef]
  12. Vega, F. Hvala: Approximate Vertex Cover Solver. 2026. Available online: https://pypi.org/project/hvala.
  13. Baker, B.S. Approximation algorithms for NP-complete problems on planar graphs. J. ACM 1994, 41, 153–180. [Google Scholar] [CrossRef]
  14. Vega, F. Salvador: Approximate Vertex Cover Solver. 2026. Available online: https://pypi.org/project/salvador.
  15. Vega, F. An approximate solution to the minimum vertex cover problem: the Hallelujah algorithm. Int. J. Parallel Emergent Distrib. Syst. 2026 Published online. 2026. [Google Scholar] [CrossRef]
  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.
  17. Andrade, D.V.; Resende, M.G.C.; Werneck, R.F. Fast local search for the maximum independent set problem. J. Heuristics 2012, 18, 525–547. [Google Scholar] [CrossRef]
  18. Yannakakis, M.; Gavril, F. Edge Dominating Sets in Graphs. SIAM J. Appl. Math. 1980, 38, 364–372. [Google Scholar] [CrossRef]
  19. Konig, D. Graphen und Matrizen. Mat. Es Fiz. Lapok 1931, 38, 116–119. [Google Scholar]
  20. Caro, Y. New Results on the Independence Number; Technical report; Tel Aviv University, 1979. [Google Scholar]
  21. Wei, V.K. Technical Memorandum 81-11217-9; A Lower Bound on the Stability Number of a Simple Graph. Bell Laboratories, 1981.
  22. Hall, P. On Representatives of Subsets. J. Lond. Math. Soc. 1935, s1-10, 26–30. [Google Scholar] [CrossRef]
  23. Hoffman, A.J. On eigenvalues and colorings of graphs. In Graph Theory and its Applications; Harris, B., Ed.; Academic Press: New York, 1970; pp. 79–91. [Google Scholar]
  24. Johnson, D.S. Approximation Algorithms for Combinatorial Problems. J. Comput. Syst. Sci. 1974, 9, 256–278. [Google Scholar] [CrossRef]
  25. Alimonti, P.; Kann, V. Some APX-completeness Results for Cubic Graphs. Theor. Comput. Sci. 2000, 237, 123–134. [Google Scholar] [CrossRef]
  26. Hopcroft, J.E.; Karp, R.M. An n5/2 Algorithm for Maximum Matchings in Bipartite Graphs. SIAM J. Comput. 1973, 2, 225–231. [Google Scholar] [CrossRef]
  27. Tarjan, R.E. Efficiency of a good but not linear set union algorithm. J. ACM 1975, 22, 215–225. [Google Scholar] [CrossRef]
  28. Karp, R.M.; Sipser, M. Maximum matchings in sparse random graphs. In Proceedings of the 22nd Annual Symposium on Foundations of Computer Science, 1981; pp. 364–375. [Google Scholar] [CrossRef]
  29. Nguyen, T.; Bui, T. NP-Complete Benchmark Instances. Vertex cover DIMACS clique complements. 2025. Available online: https://roars.dev/npbench/.
  30. 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.
  31. Nemhauser, G.L.; Trotter, L.E. Vertex Packings: Structural Properties and Algorithms. Math. Program. 1975, 8, 232–248. [Google Scholar] [CrossRef]
  32. Friedman, J. A Proof of Alon’s Second Eigenvalue Conjecture and Related Problems; Memoirs of the American Mathematical Society; American Mathematical Society: Providence, RI, 2008; Vol. 195. [Google Scholar] [CrossRef]
  33. Frieze, A.M.; uczak, T. On the Independence and Chromatic Numbers of Random Regular Graphs. J. Comb. Theory Ser. B 1992, 54, 123–132. [Google Scholar] [CrossRef]
Figure 1. Local weighted-MIDS gadget for a core edge ( u , v ) . Selecting ( u , 0 ) or ( v , 0 ) corresponds to paying for a vertex-cover endpoint, while selecting the heavy hub h u v incurs penalty P = N + 1 .
Figure 1. Local weighted-MIDS gadget for a core edge ( u , v ) . Selecting ( u , 0 ) or ( v , 0 ) corresponds to paying for a vertex-cover endpoint, while selecting the heavy hub h u v incurs penalty P = N + 1 .
Preprints 237561 g001
Figure 2. Oriented-incidence gadget of a vertex u with d = 3 unprocessed neighbours: an even cycle C 6 . Solid forcing edges { x u v j , x v j u } encode the original edges { u , v j } ; dashed local edges close the cycle. Blue nodes (weight 1 / deg u ) decode to u, orange nodes (weight 1 / deg v j ) to v j .
Figure 2. Oriented-incidence gadget of a vertex u with d = 3 unprocessed neighbours: an even cycle C 6 . Solid forcing edges { x u v j , x v j u } encode the original edges { u , v j } ; dashed local edges close the cycle. Blue nodes (weight 1 / deg u ) decode to u, orange nodes (weight 1 / deg v j ) to v j .
Preprints 237561 g002
Figure 3. The edge-dominating-set gadget of c 10 . Left: a graph G in which u has neighbours v , w , z (adjacency order) and w , z are adjacent. Right: its gadget D. Every edge of G is an edge-node (grey box); every vertex receives incidence nodes (circles) that thread its edge-nodes into a path, e.g. ( u , v ) − ( u , 0 ) − ( u , w ) − ( u , 1 ) − ( u , z ) for u, while v, of degree 1, has the single node ( v , 0 ) . The incidence index k in ( u , k ) is a position on the path of u, never a neighbour. The thick red edges are all the path edges of the vertices labelled 1, u and z (shaded): they form an edge dominating set of D, since every gadget edge shares an endpoint with one of them, and they decode to the cover { u , z } . Its weight is 2 K ★ + 1 : one unit K ★ per vertex, and an overlap of 1 because the edge u z has both endpoints in the cover. Every minimum cover of G ( { u , z } or { u , w } ) has this weight, and no other labelling is lighter.
Figure 3. The edge-dominating-set gadget of c 10 . Left: a graph G in which u has neighbours v , w , z (adjacency order) and w , z are adjacent. Right: its gadget D. Every edge of G is an edge-node (grey box); every vertex receives incidence nodes (circles) that thread its edge-nodes into a path, e.g. ( u , v ) − ( u , 0 ) − ( u , w ) − ( u , 1 ) − ( u , z ) for u, while v, of degree 1, has the single node ( v , 0 ) . The incidence index k in ( u , k ) is a position on the path of u, never a neighbour. The thick red edges are all the path edges of the vertices labelled 1, u and z (shaded): they form an edge dominating set of D, since every gadget edge shares an endpoint with one of them, and they decode to the cover { u , z } . Its weight is 2 K ★ + 1 : one unit K ★ per vertex, and an overlap of 1 because the edge u z has both endpoints in the cover. Every minimum cover of G ( { u , z } or { u , w } ) has this weight, and no other labelling is lighter.
Preprints 237561 g003
Table 1. Code metadata for the Salvador package (v0.1.1).
Table 1. Code metadata for the Salvador package (v0.1.1).
Nr. Code metadata description Metadata
C1 Current code version v0.1.1
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.4 . 2 , NumPy ≥ 2.2 . 1 , SciPy ≥ 1.15 . 0
C7 Compilation requirements and dependencies Python, NetworkX, NumPy, SciPy
Table 2. Winning strategy, proved ratio and observed ratio by graph class, at the target ratio R 0 = 1.999999999 . Rows marked “no” and “open” contain graphs of the nearly Konig–Egerváry residue R of Section 5.13; rows marked “per instance” are covered by Theorem 8 on their instances with τ ≥ 2 ν / R 0 , and on every instance by the a-posteriori certificate of Theorem 13, which proves the ratio of the returned cover from a maximum fractional matching. Observed values are the largest measured on families of that kind.
Table 2. Winning strategy, proved ratio and observed ratio by graph class, at the target ratio R 0 = 1.999999999 . Rows marked “no” and “open” contain graphs of the nearly Konig–Egerváry residue R of Section 5.13; rows marked “per instance” are covered by Theorem 8 on their instances with τ ≥ 2 ν / R 0 , and on every instance by the a-posteriori certificate of Theorem 13, which proves the ratio of the returned cover from a maximum fractional matching. Observed values are the largest measured on families of that kind.
Graph class Winner Proved ratio ≤ R 0 ? Observed
Trees, forests, stars c 4 (leaf rule), c 6 1 (Thm. 4) yes 1.000
Paths, cycles (max. deg. 2) c 4 1 (Thm. 4) yes 1.000
Complete graphs K n c 4 1 (Thm. 4) yes 1.000
Complete bipartite K a , b c 4 , c 8 1 (Thms. 4, 6) yes 1.000
Regular bipartite, every degree c 4 , c 8 1 (Thm. 6) yes 1.000 (Parts D, G)
Degree-separated bipartite c 4 , c 8 1 (Thm. 6) yes 1.000
d-regular, d < 2 · 10 9 c 8 , c 3 , then c 9 2 − 2 d + 1 (Thm. 5) yes 1.174 ( d = 12 )
Δ ≤ R 0 ( d ¯ + 1 ) / 2 (near-regular) c 8 , then c 9 2 Δ d ¯ + 1 (Cor. 1) yes ≤ 1.17
Any graph c 8 (residual) ρ CW ( G ) (Lem. 6) per instance ≤ 1.17
Crown graphs, every h c 4 , c 8 1 (Thm. 6) yes 1.000
d-reg., | λ min | ≤ ( 1 − ε 0 ) d every candidate 1 + | λ min | d (Cor. 3) yes ≤ 1.174
d-reg., d ≥ 2 · 10 9 , non-bip., | λ min | > ( 1 − ε 0 ) d c 8 , then c 9 2 − 2 d + 1 no not tested
τ ≥ 2 ν / R 0 (any degree) c 1 , c 5 2 ν / τ (Thm. 8) yes ≤ 1.17
α ≤ ( 1 − 1 / R 0 ) n , clique factors every candidate n / τ (Cor. 3) yes 1.000
Max. degree ≤ 3 , irregular c 2 11 / 6 (Thm. 9) yes 1.000
Hub-dominated, Thm. 10 c 3 2 m W / τ yes 1.000
Bipartite, Δ ≥ 4 , other c 9 , c 8 , c 4 2 a priori; | C | / ν a posteriori (Thm. 13) per instance 1.0455 (Part D)
Bipartite, empty core c 10 , c 11 1 (Prop. 4, Thm. 11) yes 1.000
Khot–Regev YES-type c 9 , then c 12 2 a priori; | C | / ν f a posteriori per instance 1.043 (Part E)
Planar grids c 4 , c 6 , c 8 2 no 1.000
Sparse Erdos–Rényi c 4 or c 8 , then c 9 min ( 2 , 2 ν / τ ) per instance 1.066
Barabási–Albert c 4 or c 8 , then c 9 min ( 2 , 2 ν / τ ) per instance 1.011
Watts–Strogatz c 4 or c 8 , then c 9 min ( 2 , 2 ν / τ ) per instance 1.055
DIMACS clique complements best of c 1 , … , c 9 min ( 2 , 2 ν / τ ) per instance 1.162
All graphs c 12 (refined c 1 . . c 11 ) 2 (Thm. 2) open (Conj. 2) ≤ 1.17
Table 3. Guarantees and limitations of the individual strategies. The combined algorithm satisfies the best applicable bound among the strategies (Thm. 12).
Table 3. Guarantees and limitations of the individual strategies. The combined algorithm satisfies the best applicable bound among the strategies (Thm. 12).
Strategy Guarantee and limitation
c 1 matching | c 1 | ≤ 2 ν , ratio 2 ν / τ (Thm. 8). The a-priori bound is 2 when τ = ν ; there the a-posteriori bound | C | / ν is exact (Thm. 13).
c 2 max-degree Ratio at most 11 / 6 for Δ ≤ 3 (Thm. 9); minimal (Thm. 7). For Δ ≥ 4 , no bound strictly below 2 is proved.
c 3 Hallelujah | c 3 | 2 ≤ 2 m W ( G ) (Thm. 10); ratio at most 2 − 2 / ( d + 1 ) on regular components (Prop. 3). On d-regular graphs, 2 m W ( G ) / τ ≥ d / 2 .
c 4 Min-to-Min Exact on forests, graphs with Δ ≤ 2 , K n , K a , b (Thm. 4), and regular or degree-separated bipartite graphs (Thm. 6). Outside these classes, arbitrary neighbour choices are possible when δ ≥ 2 .
c 5 primal-dual Same guarantee as c 1 on unweighted graphs; inherits its limitations.
c 6 MIDS forest core Minimal (Thm. 7); ratio 2. No stronger guarantee for a separate graph class is established.
c 7 union re-prune Minimal; no larger than any of c 1 , … , c 6 . No independent guarantee beyond those inherited from preceding strategies.
c 8 bipartite planar Caro–Wei bound | c 8 | ≤ n − ∑ v 1 / ( deg ( v ) + 1 ) (Lemma 6); ratio at most 2 Δ / ( d ¯ + 1 ) (Cor. 1); exact on regular and degree-separated bipartite graphs (Thm. 6).
c 9 ( 1 , 2 ) -swap ILS Never worse than c 1 , … , c 8 . No independent approximation ratio is proved; depends on budgeted local search.
c 10 EDS + DP Minimum vertex cover with fewest doubly covered edges on bipartite components with empty core (Prop. 4); never worse than c 1 , … , c 9 ; bags of at most six nodes, so the core is non-empty when the gadget has treewidth above 5.
c 11 treewidth DP Exact when the core is empty (Thm. 11); treewidth cap 10.
c 12 swap-maximize Never worse than its input (Prop. 5); inherits the guarantee of its input.
Table 4. Part A: ratio of the returned cover to the exact optimum, by family. Every one of the 1 , 718 instances was solved exactly ( | C | = τ ( G ) ) and every returned cover was valid.
Table 4. Part A: ratio of the returned cover to the exact optimum, by family. Every one of the 1 , 718 instances was solved exactly ( | C | = τ ( G ) ) and every returned cover was valid.
Family Instances Mean ratio Max ratio
Graph atlas ( n ≤ 7 ) 1245 1.000 1.000
Bipartite hill-climb (exact) 80 1.000 1.000
Random general (exact, n ≤ 12 ) 173 1.000 1.000
Random bipartite (exact) 99 1.000 1.000
Grids, bipartite (exact) 64 1.000 1.000
Relabel / order stress (exact) 56 1.000 1.000
Bipartite obstruction (exact) 1 1.000 1.000
Overall 1718 1.000 1.000
Table 5. Part B (v0.1.1): certified ratio upper bound | C | / L on the 26 instances of the ten large/adversarial families (up to n = 200 , 002 vertices and m = 640 , 000 edges), the lower-bound method that attained it, the bound the greedy maximal matching alone would give, and the wall-clock time of the largest instance solved. Every returned cover was valid.
Table 5. Part B (v0.1.1): certified ratio upper bound | C | / L on the 26 instances of the ten large/adversarial families (up to n = 200 , 002 vertices and m = 640 , 000 edges), the lower-bound method that attained it, the bound the greedy maximal matching alone would give, and the wall-clock time of the largest instance solved. Every returned cover was valid.
Family Max n Max ratio u.b. Bound Matching-only Max time (s)
Random 12-regular 50,000 1.168 spectral 1.574 26.22
Random 6-regular 200,000 1.145 spectral 1.416 85.87
Random 3-regular 200,000 1.079 spectral 1.248 45.56
Sparse Erdos–Renyi (deg. 4) 50,000 1.066 Karp–Sipser 1.257 10.96
Watts–Strogatz small-world 50,000 1.055 clique packing 1.418 10.21
Barabasi–Albert scale-free 200,000 1.011 Karp–Sipser 1.353 78.94
Complete bipartite 1,600 1.000 exact 1.000 105.92
Crown graph 1,600 1.000 exact 1.000 101.93
Double star + bridge 200,002 1.000 exact 1.000 55.69
Hierarchical star trap 152,917 1.000 exact 1.000 43.11
Table 6. Salvador (v0.1.1) and Hvala on the 68 DIMACS clique-complement instances of NPBench [29] — Part 1 of 2 (brock, c-fat, C, gen, hamming). Hvala figures are those reported in [11]; Salvador figures come from the raw log of a single run. Ratio is the cover size divided by the known optimum (OPT). †: best-known upper bound on OPT (maximum clique not confirmed optimal [30]); the ratio is then a lower bound.
Table 6. Salvador (v0.1.1) and Hvala on the 68 DIMACS clique-complement instances of NPBench [29] — Part 1 of 2 (brock, c-fat, C, gen, hamming). Hvala figures are those reported in [11]; Salvador figures come from the raw log of a single run. Ratio is the cover size divided by the known optimum (OPT). †: best-known upper bound on OPT (maximum clique not confirmed optimal [30]); the ratio is then a lower bound.
Cover size Time Ratio
Instance OPT Hvala Salvador Hvala Salvador Hvala Salvador
brock200_1 179 183 180 65.5ms 188.2ms 1.022 1.006
brock200_2 188 192 190 233.3ms 347.0ms 1.021 1.011
brock200_3 185 189 187 291.4ms 279.4ms 1.022 1.011
brock200_4 183 187 184 92.0ms 242.2ms 1.022 1.005
brock400_1 373 381 376 450.0ms 764.0ms 1.021 1.008
brock400_2 371 379 377 500.5ms 685.0ms 1.022 1.016
brock400_3 369 381 377 441.7ms 750.2ms 1.033 1.022
brock400_4 367 378 376 507.7ms 656.7ms 1.030 1.025
brock800_1 777 785 781 3.96s 3.91s 1.010 1.005
brock800_2 776 783 780 4.13s 3.97s 1.009 1.005
brock800_3 775 784 781 4.20s 3.94s 1.012 1.008
brock800_4 774 785 781 4.53s 4.33s 1.014 1.009
c-fat200-1 188 188 188 383.7ms 495.9ms 1.000 1.000
c-fat200-2 176 176 176 790.0ms 383.3ms 1.000 1.000
c-fat200-5 142 142 142 251.1ms 426.0ms 1.000 1.000
c-fat500-1 486 486 486 3.87s 4.55s 1.000 1.000
c-fat500-10 374 374 374 2.74s 3.43s 1.000 1.000
c-fat500-2 474 474 474 3.75s 5.83s 1.000 1.000
c-fat500-5 436 436 436 3.68s 4.49s 1.000 1.000
C1000.9 932† 945 937 1.87s 1.88s 1.014 1.005
C125.9 91 92 91 174.7ms 47.5ms 1.011 1.000
C250.9 206 214 206 60.8ms 146.4ms 1.039 1.000
C500.9 443 † 454 446 336.5ms 495.0ms 1.025 1.007
gen200_p0.9_44 156 167 160 32.9ms 108.0ms 1.071 1.026
gen200_p0.9_55 145 163 159 82.6ms 89.9ms 1.124 1.097
gen400_p0.9_55 345 356 349 192.7ms 395.9ms 1.032 1.012
gen400_p0.9_65 335 359 351 183.1ms 475.1ms 1.072 1.048
gen400_p0.9_75 325 358 347 166.9ms 767.1ms 1.102 1.068
hamming10-2 512 512 512 72.1ms 1.41s 1.000 1.000
hamming10-4 984 992 986 6.43s 5.62s 1.008 1.002
hamming6-2 32 32 32 11.7ms 63.5ms 1.000 1.000
hamming6-4 60 60 60 50.5ms 63.9ms 1.000 1.000
hamming8-2 128 128 128 442.0ms 240.0ms 1.000 1.000
hamming8-4 240 240 240 599.7ms 514.4ms 1.000 1.000
Table 7. Salvador (v0.1.1) and Hvala on the 68 DIMACS clique-complement instances of NPBench [29] — Part 2 of 2 (johnson, keller, MANN, p_hat, san, sanr). Hvala figures are those reported in [11]; Salvador figures come from the raw log of a single run. Ratio is the cover size divided by the known optimum (OPT).
Table 7. Salvador (v0.1.1) and Hvala on the 68 DIMACS clique-complement instances of NPBench [29] — Part 2 of 2 (johnson, keller, MANN, p_hat, san, sanr). Hvala figures are those reported in [11]; Salvador figures come from the raw log of a single run. Ratio is the cover size divided by the known optimum (OPT).
Cover size Time Ratio
Instance OPT Hvala Salvador Hvala Salvador Hvala Salvador
johnson16-2-4 112 112 112 83.3ms 128.5ms 1.000 1.000
johnson32-2-4 480 480 480 827.6ms 1.02s 1.000 1.000
johnson8-2-4 24 24 24 2.9ms 0.0ms 1.000 1.000
johnson8-4-4 56 56 56 32.3ms 21.1ms 1.000 1.000
keller4 160 162 160 348.8ms 497.8ms 1.012 1.000
keller5 749 759 751 4.96s 4.93s 1.013 1.003
MANN_a27 252 253 253 35.7ms 50.7ms 1.004 1.004
MANN_a45 690 695 693 145.5ms 148.1ms 1.007 1.004
MANN_a81 2221 2225 2224 769.8ms 575.3ms 1.002 1.001
MANN_a9 29 29 29 6.6ms 17.0ms 1.000 1.000
p_hat1000-3 932 942 935 9.60s 7.53s 1.011 1.003
p_hat300-1 292 292 292 2.43s 1.16s 1.000 1.000
p_hat300-2 275 277 275 1.38s 814.4ms 1.007 1.000
p_hat300-3 264 268 266 735.5ms 409.8ms 1.015 1.008
p_hat500-1 491 492 491 6.29s 6.00s 1.002 1.000
p_hat500-2 464 469 464 4.45s 3.91s 1.011 1.000
p_hat500-3 450 454 451 2.30s 1.82s 1.009 1.002
p_hat700-1 689 693 691 14.28s 10.38s 1.006 1.003
p_hat700-2 656 658 656 9.51s 6.48s 1.003 1.000
p_hat700-3 638 642 638 4.71s 3.07s 1.006 1.000
san200_0.7_1 170 184 183 296.9ms 277.7ms 1.082 1.076
san200_0.7_2 182 188 185 313.7ms 343.1ms 1.033 1.016
san200_0.9_1 130 155 151 89.4ms 143.6ms 1.192 1.162
san200_0.9_2 140 162 159 100.6ms 152.7ms 1.157 1.136
san200_0.9_3 156 169 165 451.1ms 170.3ms 1.083 1.058
san400_0.5_1 387 393 391 2.36s 2.16s 1.016 1.010
san400_0.7_1 360 379 378 1.47s 1.63s 1.053 1.050
san400_0.7_2 370 385 382 1.40s 1.47s 1.041 1.032
san400_0.7_3 378 388 382 1.43s 1.45s 1.026 1.011
san400_0.9_1 300 348 300 507.9ms 614.2ms 1.160 1.000
sanr200_0.7 182 184 182 330.7ms 348.7ms 1.011 1.000
sanr200_0.9 158 160 159 83.0ms 196.3ms 1.013 1.006
sanr400_0.5 387 388 387 2.51s 2.30s 1.003 1.000
sanr400_0.7 379 383 380 1.56s 1.26s 1.011 1.003
Table 9. Part E: the final cover c 12 on 117 sampled Khot–Regev YES instances (640 to 5 , 120 vertices). “≤ planted” counts the instances on which | c 12 | is at most the planted cover; “ τ known” those on which an integer program proved the optimum within 90 seconds; the base family has k = 4 , p = 0.45 , η = 0 , d = 4 , s = 16 ; “Max exact” is the largest ratio | c 12 | / τ where τ is known; “Max cert.” is the largest value of | c 12 | / L , where L is the best certified lower bound (integer-program bound or linear relaxation), an upper bound on the true ratio.
Table 9. Part E: the final cover c 12 on 117 sampled Khot–Regev YES instances (640 to 5 , 120 vertices). “≤ planted” counts the instances on which | c 12 | is at most the planted cover; “ τ known” those on which an integer program proved the optimum within 90 seconds; the base family has k = 4 , p = 0.45 , η = 0 , d = 4 , s = 16 ; “Max exact” is the largest ratio | c 12 | / τ where τ is known; “Max cert.” is the largest value of | c 12 | / L , where L is the best certified lower bound (integer-program bound or linear relaxation), an upper bound on the true ratio.
Family Inst. ≤ planted τ known Optimal Max exact Max cert.
Base family 12 8 3 1 1.0056 1.115
Label size k = 3 12 5 4 4 1.0000 1.141
Label size k = 6 12 12 6 6 1.0000 1.024
Bias p = 0.35 12 12 2 1 1.0391 1.237
Bias p = 0.49 12 11 6 4 1.0160 1.018
Noise η = 0.02 12 11 3 2 1.0089 1.105
Noise η = 0.1 12 12 3 2 1.0057 1.110
Constraint degree d = 8 12 8 6 4 1.0356 1.149
Samples per block s = 32 9 3 2 1 1.0232 1.175
Linear UG, Max-2-Lin ( Z k ) 12 10 4 2 1.0425 1.106
All 117 92 39 27 1.0425 1.237
Table 10. Part F: 120 instances, 140 to 1 , 280 vertices. “Max exact” is the largest | C | / τ where τ is proved; “Max cert.” the largest | C | / L with L the best certified lower bound; “Max β ” the largest proved per-instance bound of Theorem 12; “Bias” the mean probability that a vertex of a maximum independent set (or of the planted or returned one, where τ is unknown) has smaller degree than a vertex outside it; “Greedy exc.” the mean relative excess of min { | c 1 | , … , | c 8 | } over τ . No returned cover admits a ( 1 , 2 ) -swap.
Table 10. Part F: 120 instances, 140 to 1 , 280 vertices. “Max exact” is the largest | C | / τ where τ is proved; “Max cert.” the largest | C | / L with L the best certified lower bound; “Max β ” the largest proved per-instance bound of Theorem 12; “Bias” the mean probability that a vertex of a maximum independent set (or of the planted or returned one, where τ is unknown) has smaller degree than a vertex outside it; “Greedy exc.” the mean relative excess of min { | c 1 | , … , | c 8 | } over τ . No returned cover admits a ( 1 , 2 ) -swap.
Family τ known Opt. Max exact Max cert. Max β Bias Greedy exc.
KR sampled k = 4 10/12 6 1.0058 1.0498 1.840 0.852 2.02%
KR sampled k = 6 12/12 12 1.0000 1.0000 1.920 0.919 1.17%
KR fixed k = 4 , t = 2 (bip.) 12/12 7 1.0779 1.0779 2.000 0.616 4.54%
KR fixed k = 5 , t = 2 6/12 4 1.0938 1.1376 1.776 0.517 6.09%
KR fixed k = 6 , t = 3 (bip.) 12/12 10 1.0038 1.0038 1.797 0.795 1.65%
Planted regular α = 0.45 , d = 6 9/12 9 1.0000 1.0495 1.651 0.600 0.13%
Planted regular α = 0.48 , d = 10 11/12 11 1.0000 1.0045 1.760 0.641 0.00%
Random regular d = 3 6/12 3 1.0169 1.0804 1.457 0.500 3.10%
Random regular d = 6 3/12 1 1.0095 1.2313 1.606 0.500 3.49%
Thinned grid ( 70 % , bip.) 12/12 7 1.0099 1.0099 1.460 0.641 2.97%
All 93/120 70 1.0938 1.2313 2.000 0.658 2.27%
Table 12. Part F: mean ratio by size ( 16 N vertices for the Khot–Regev and regular families). Each entry averages the exact ratio where τ is proved and the certified bound | C | / L elsewhere, so entries for large N on the regular families are upper bounds.
Table 12. Part F: mean ratio by size ( 16 N vertices for the Khot–Regev and regular families). Each entry averages the exact ratio where τ is proved and the certified bound | C | / L elsewhere, so entries for large N on the regular families are upper bounds.
Family N = 10 N = 20 N = 40 N = 80
KR sampled k = 4 1.0000 1.0018 1.0039 1.0315
KR sampled k = 6 1.0000 1.0000 1.0000 1.0000
KR fixed k = 4 , t = 2 1.0084 1.0281 1.0095 1.0000
KR fixed k = 5 , t = 2 1.0313 1.0052 1.0731 1.1251
KR fixed k = 6 , t = 3 1.0000 1.0000 1.0013 1.0006
Planted regular α = 0.45 , d = 6 1.0000 1.0000 1.0000 1.0361
Planted regular α = 0.48 , d = 10 1.0000 1.0000 1.0000 1.0015
Random regular d = 3 1.0000 1.0113 1.0461 1.0686
Random regular d = 6 1.0063 1.1056 1.1520 1.2103
Thinned grid ( 70 % ) 1.0000 1.0000 1.0055 1.0045
Table 13. Part G: random d-regular graphs. The columns n = 40 to n = 5 , 000 give the largest ratio over three seeds, exact for n = 40 and certified ( | C | / L , spectral lower bound L) otherwise; | C | / n and L / n are means at n = 5 , 000 ; “vs. estimate” is the mean of | C | divided by the estimate n ( 1 − 2 ln d / d ) of τ of random d-regular graphs [33], which is asymptotic in d and not a bound; the last column is the spectral a-priori bound for | λ min | = 2 d − 1 . On the 117 random regular bipartite graphs of the same degrees and sizes every returned cover is optimal.
Table 13. Part G: random d-regular graphs. The columns n = 40 to n = 5 , 000 give the largest ratio over three seeds, exact for n = 40 and certified ( | C | / L , spectral lower bound L) otherwise; | C | / n and L / n are means at n = 5 , 000 ; “vs. estimate” is the mean of | C | divided by the estimate n ( 1 − 2 ln d / d ) of τ of random d-regular graphs [33], which is asymptotic in d and not a bound; the last column is the spectral a-priori bound for | λ min | = 2 d − 1 . On the 117 random regular bipartite graphs of the same degrees and sizes every returned cover is optimal.
d n = 40 (exact) n = 200 n = 1 , 000 n = 5 , 000 | C | / n L / n vs. estimate 1 + 2 d − 1 d
3 1.0000 1.0769 1.0833 1.0812 0.556 0.515 2.077 1.943
4 1.0000 1.1204 1.1134 1.1115 0.596 0.536 1.941 1.866
5 1.0000 1.1339 1.1367 1.1331 0.630 0.556 1.768 1.800
6 1.0000 1.1466 1.1429 1.1441 0.655 0.574 1.627 1.745
8 1.0000 1.1653 1.1609 1.1594 0.698 0.602 1.453 1.661
10 1.0000 1.1587 1.1712 1.1676 0.730 0.626 1.352 1.600
12 1.0000 1.1603 1.1734 1.1694 0.753 0.645 1.285 1.553
16 1.0000 1.1606 1.1733 1.1705 0.789 0.675 1.207 1.484
20 1.0000 1.1549 1.1679 1.1715 0.815 0.697 1.164 1.436
24 1.0000 1.1507 1.1690 1.1692 0.835 0.715 1.136 1.400
32 1.0000 1.1589 1.1667 1.1605 0.861 0.743 1.099 1.348
48 – 1.1250 1.1443 1.1504 0.896 0.779 1.068 1.286
64 – 1.1145 1.1363 1.1403 0.915 0.803 1.051 1.248
Table 14. Part H1: c 10 on its own, with the pruned cover of a maximal matching as reference, on 108 bipartite graphs with up to 1 , 000 vertices. “Max bag” is the largest bag built; “Exact” counts the instances with an empty core; | c 10 | / τ and “Ref. / τ ” are the means of the cover and of the reference over τ ; “Max tw LB” is the largest minor-min-width lower bound on the treewidth of the gadget. In the ensemble the reference is the best of c 1 , … , c 9 instead, and c 10 is never worse than it.
Table 14. Part H1: c 10 on its own, with the pruned cover of a maximal matching as reference, on 108 bipartite graphs with up to 1 , 000 vertices. “Max bag” is the largest bag built; “Exact” counts the instances with an empty core; | c 10 | / τ and “Ref. / τ ” are the means of the cover and of the reference over τ ; “Max tw LB” is the largest minor-min-width lower bound on the treewidth of the gadget. In the ensemble the reference is the best of c 1 , … , c 9 instead, and c 10 is never worse than it.
Family Inst. Max bag Exact | c 10 | / τ Ref. / τ Max tw LB Time (s)
Random bipartite (balanced) 18 3 0 1.656 1.821 69 6.23
Random bipartite (1:2) 18 4 0 1.798 1.984 46 5.99
Random d-regular bipartite 18 4 0 1.660 1.795 41 3.61
Power-law bipartite 6 3 0 1.068 1.837 17 0.67
Double cover G × K 2 12 3 0 1.612 1.775 30 2.09
Hidden perfect matching 12 4 0 1.452 1.776 30 2.06
Random tree 6 2 6 1.000 1.783 1 0.48
2D grid, 70 % of edges 6 6 2 1.110 1.905 5 1.98
2D grid 2 4 0 1.697 1.978 7 0.40
3D grid 2 3 0 1.939 1.994 15 0.42
Even cycle 2 3 2 1.000 2.000 2 0.30
Complete bipartite 2 4 0 2.000 2.000 5 29.27
Crown graph 2 5 0 2.000 2.000 6 41.40
Hypercube 1 3 0 1.953 1.953 19 0.11
Hypercube, 50 % of edges 1 3 0 1.609 1.859 12 0.06
All 108 6 10 95.07
Table 17. The labelled, weighted edge-dominating-set strategy c 10 (bags of at most six nodes, b eds = 1024 ) on the 1 , 659 instances of Table 15. “Empty core” means that the gadget was solved exactly, so that c 10 is a minimum vertex cover; “Decoded ≤ best” counts the instances on which the pruned decoded cover, before the fallback to the reference, is no larger than the best of c 1 , … , c 9 . On non-bipartite graphs the decoded cover is the reference itself.
Table 17. The labelled, weighted edge-dominating-set strategy c 10 (bags of at most six nodes, b eds = 1024 ) on the 1 , 659 instances of Table 15. “Empty core” means that the gadget was solved exactly, so that c 10 is a minimum vertex cover; “Decoded ≤ best” counts the instances on which the pruned decoded cover, before the fallback to the reference, is no larger than the best of c 1 , … , c 9 . On non-bipartite graphs the decoded cover is the reference itself.
Family Inst. Bipartite Empty core Decoded ≤ best
Graph atlas ( n ≤ 7 ) 1245 142 142 1245
Random general (exact, n ≤ 12 ) 173 18 18 173
Random bipartite (exact) 99 99 94 99
Grids, bipartite (exact) 64 64 38 64
Relabel / order stress (exact) 56 56 56 56
Double star, hierarchical star trap, obstruction 4 4 4 4
Complete bipartite, crown graph 6 6 0 6
Large non-bipartite families 12 0 0 12
Table 19. Strict improvements of the final refinement c 12 over the best of c 1 , … , c 11 .
Table 19. Strict improvements of the final refinement c 12 over the best of c 1 , … , c 11 .
Instance Best of c 1 . . c 11 c 12 Refined from
Random 3-regular, n = 5 , 000 2,779 2,778 c 9 , c 10 , c 11
Random 12-regular, n = 5 , 000 3,758 3,757 c 9 , c 10 , c 11
Random 3-regular, n = 50 , 000 27,749 27,748 c 11
Random 6-regular, n = 50 , 000 32,808 32,807 c 9 , c 10 , c 11
Random 12-regular, n = 50 , 000 37,630 37,629 c 9 , c 10 , c 11
Sparse Erdos–Renyi, n = 50 , 000 26,096 26,095 c 9 , c 10 , c 11
Watts–Strogatz, n = 50 , 000 35,439 35,438 c 11
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.