Introduction
An independent dominating set of an undirected graph G = ( V , E ) G=(V,E) G = ( V , E ) is a set D ⊆ V D \subseteq V D ⊆ V in which no two vertices are adjacent and every vertex of V ∖ D V \setminus D V ∖ D has a neighbour in D D D ; equivalently, D D D is a maximal independent set. The Minimum Independent Dominating Set problem (MIDS) asks for such a set of minimum size, denoted i ( G ) i(G) i ( G ) . We write n = ∣ V ∣ n=|V| n = ∣ V ∣ , m = ∣ E ∣ m=|E| m = ∣ E ∣ , N ( v ) N(v) N ( v ) and N [ v ] = N ( v ) ∪ { v } N[v]=N(v)\cup\{v\} N [ v ] = N ( v ) ∪ { v } for the open and closed neighbourhoods, deg ( v ) = ∣ N ( v ) ∣ \deg(v)=|N(v)| deg ( v ) = ∣ N ( v ) ∣ , Δ \Delta Δ for the maximum degree, τ ( G ) \tau(G) τ ( G ) for the minimum vertex cover size and α ( G ) \alpha(G) α ( G ) for the independence number. The ratio of a returned independent dominating set S S S is ρ = ∣ S ∣ / i ( G ) \rho=|S|/i(G) ρ = ∣ S ∣/ i ( G ) .
MIDS is among the hardest graph problems to approximate. Irving proved that, unless P = NP, no polynomial-time algorithm approximates it within any constant factor [1 ] , and Halldórsson proved that it cannot be approximated within n 1 − ε n^{1-\varepsilon} n 1 − ε for any ε > 0 \varepsilon> 0 ε > 0 unless P = NP [2 ] ; Damian-Iordache and Pă̆mă̆răju proved that it is NP-complete on circle graphs and, unless P = NP, not approximable within n ε n^\varepsilon n ε for any ε < 1 \varepsilon< 1 ε < 1 on circle graphs with n n n vertices [3 ] . The problem remains NP-hard on bipartite graphs: Løwerov and Orlovich proved that it is NP-complete already on cubic planar bipartite graphs [4 ] ; Manlove proved it NP-hard on cubic planar graphs [5 ] , and Bazgan, Brankovic, Casel and Fernau derived from Manlove’s reduction that it is APX-hard on cubic planar graphs [6 ] . On graphs of maximum degree at most a constant B B B , every maximal independent set approximates MIDS within B B B , and the problem is APX-complete [7 ] ; on cubic graphs, Alimonti and Calamoneri gave a polynomial-time algorithm with ratio 1.923, and the ratio 2 on graphs of maximum degree at most 3 [8 ] , while Alimonti and Kann proved APX-completeness on cubic graphs of vertex cover, independent set and dominating set [9 ] . It is also hard to approximate on graphs of bounded degree, including bipartite ones: Chlebík and Chlebíková proved that there are absolute constants δ > 0 \delta> 0 δ > 0 and B 0 B_0 B 0 such that for every B ≥ B 0 B \ge B_0 B ≥ B 0 MIDS is NP-hard to approximate within δ B \delta B δ B on graphs of maximum degree at most B B B , and that the same holds on bipartite graphs; for small degrees they obtained the NP-hard factors 1 + 1 680 1 + \frac{1}{680} 1 + 680 1 for Δ ≤ 3 \Delta\le3 Δ ≤ 3 , and 1 + 1 293 1 + \frac{1}{293} 1 + 293 1 and 1 + 1 151 1 + \frac{1}{151} 1 + 151 1 for bipartite graphs with Δ ≤ 4 \Delta\le4 Δ ≤ 4 and Δ ≤ 5 \Delta\le5 Δ ≤ 5 [10 ] . These results hold without any conjecture.
Under the Unique Games Conjecture (UGC) [11 ] , Khot and Regev proved that Minimum Vertex Cover is hard to approximate within 2 − ε 2 - \varepsilon 2 − ε for every ε > 0 \varepsilon> 0 ε > 0 [12 ] . In October 2026 the OpenAI Math Team released a manuscript with Lean artifacts reporting a proof of UGC in the NP-hardness form that the theorem of Khot and Regev requires [13 ] ; at the time of writing it has not been peer reviewed. If it holds, the hardness result of Khot and Regev holds unless P = NP. Through a reduction of Chlebík and Chlebíková (§ 7 ), every vertex cover instance becomes an MIDS instance whose optimum is τ \tau τ plus a known constant, so the instances of Khot and Regev give MIDS instances on which Siriaisa can be tested as a vertex cover algorithm.
This paper describes version 0.0.8 of Siriaisa [14 ] , a Python implementation of an ensemble of eighteen strategies. The ensemble adapts the seventeen strategies of the vertex cover algorithm Salvador [15 , 16 ] and the phases of the independent set algorithm Esperanza [17 ] to independent domination. Where Salvador builds a bipartite structure and solves vertex cover on it exactly by Kőnig’s theorem, Siriaisa builds a forest and solves MIDS on it exactly by a linear-time tree dynamic program; MIDS is NP-hard on bipartite graphs [4 ] , so the bipartite structures of Salvador carry no exact solver for MIDS. One base strategy splits every vertex of degree larger than ⌊ n ⌋ \lfloor\sqrt{n}\rfloor ⌊ n ⌋ into copies, so that the auxiliary graph has maximum degree at most ⌊ n ⌋ \lfloor\sqrt{n}\rfloor ⌊ n ⌋ .
Contributions. The contributions of this paper are:
The algorithm (§ 3 ): twelve base strategies, five improvers and a final refinement, an exact conditioned forest solver, induced-forest layers, a degree-splitting strategy at ⌊ n ⌋ \lfloor\sqrt{n}\rfloor ⌊ n ⌋ , and a weighted swap search, together with the proof that the output is an independent dominating set (Theorem 4.3 ).
Proved bounds (§ 6 ): the ratio is at most Δ \Delta Δ on every graph (Corollary 6.2); the output is optimal on every forest (Theorem 6.4 ); the ratio is at most n \sqrt{n} n on three classes (Theorem 6.5 ); and the degree-splitting strategy yields a dominating set of size at most ⌊ n ⌋ ( i ( G ) + s ( G ) ) \lfloor\sqrt{n}\rfloor(i(G) + s(G)) ⌊ n ⌋ ( i ( G ) + s ( G )) on every graph, for an explicit splitting excess s ( G ) s(G) s ( G ) , with the same bound for the output when the decoded set is independent (Theorem 6.8 ); the excess is largest on complete graphs, of order n 3 / 2 n^{3/2} n 3/2 , it vanishes for n ≥ D 2 n \ge D^2 n ≥ D 2 on every family of bounded degree D D D , among them the NP-hard and UG-hard bounded-degree families, it is O ( n ) O(\sqrt{n}) O ( n ) on planar graphs, and on complete multipartite, crown, wheel and double-star graphs the output is optimal (Propositions 6.9, 6.11 and 6.15 , Table 3 ).
Table 3. The splitting excess s ( G ) s(G) s ( G ) (k = ⌊ n ⌋ k=\lfloor\sqrt{n}\rfloor k = ⌊ n ⌋ ) and the output on graph families. “Hardness” cites the hardness of MIDS on the family, or of the vertex cover problem it encodes; “Output” is the guarantee proved for Algorithm 1.
The parametric bound n 1 − ε ( i ( G ) + s ε ( G ) ) n^{1-\varepsilon}(i(G) + s_{\varepsilon}(G)) n 1 − ε ( i ( G ) + s ε ( G )) for splitting at ⌊ n 1 − ε ⌋ \lfloor n^{1-\varepsilon}\rfloor ⌊ n 1 − ε ⌋ , ε ∈ ( 0 , 1 ] \varepsilon\in(0,1] ε ∈ ( 0 , 1 ] , with its consequences, among them the ratio n 3 / 4 n^{3/4} n 3/4 on every graph with Δ ≤ ⌊ n 3 / 4 ⌋ \Delta\le\lfloor n^{3/4}\rfloor Δ ≤ ⌊ n 3/4 ⌋ and s ε ( K n ) ≥ n s_{\varepsilon}(K_n) \ge n s ε ( K n ) ≥ n for every fixed ε \varepsilon ε and large n n n (Theorem 6.13 , Corollary 6.14).
The vertex cover reduction of Chlebík and Chlebíková with an explicit gadget and the identity i ( h ( H ) ) = τ ( H ) + 2 ∣ E ( H ) ∣ i(h(H)) = \tau(H) + 2|E(H)| i ( h ( H )) = τ ( H ) + 2∣ E ( H ) ∣ (Proposition 7.1 ), the decoding of every independent dominating set into a vertex cover (Lemma 7.2 ), and the conditional consequences for vertex cover approximation, on general graphs under the hardness of Khot and Regev and on bounded-degree graphs under that of Austrin, Khot and Safra (Theorem 7.3 , Corollary 7.4).
Reproducible experiments (§ 9 ): 10 000 structured and random graphs with an exact integer-program optimum; 112 bipartite graphs; 55 instances of the two reductions of Chlebík and Chlebíková, ten of them built from Khot–Regev YES instances; and the 68 complements of the DIMACS clique benchmark graphs.
The application to the SAT solver satypy 0.0.4 (§ 8 ): the structure of the SAT-IDS graph, with i = p i=p i = p on satisfiable and i ≥ β + p i \ge\beta+p i ≥ β + p on unsatisfiable formulas (Lemma 8.2 ), the least number of clause copies β \beta β with β + p > 2 p 2 \beta+p>2p^{2} β + p > 2 p 2 (Lemma 8.4 ) and with β + p > 2 n p \beta+p>2\sqrt{np} β + p > 2 n p (Lemma 8.3 ), the correctness of every answer except UNSATISFIABLE on a satisfiable formula, which requires a ratio larger than 2 p 2p 2 p , the correctness of every answer when the ratio on the graph is at most 2 p 2p 2 p (Theorem 8.7 ), the failure of the bound of Theorem 6.8 to separate satisfiable from unsatisfiable formulas for every number of copies (Proposition 8.8 ), the exact branching on the clause named by the output (Proposition 8.13 ), the gap p p p against more than p n 1 − 1 / t pn^{1-1/t} p n 1 − 1/ t with β t = p t ( 3 q ) t − 1 + 1 \beta_t=p^{t}(3q)^{t-1}+1 β t = p t ( 3 q ) t − 1 + 1 copies (Theorem 8.9 ), which gives a self-contained proof of Halldórsson’s theorem (Corollary 8.11 ) and the decision of every formula under Conjecture 6.20 (Corollary 8.12 ), the asymptotic s ( G ) ∼ 2 p L s(G)\sim2pL s ( G ) ∼ 2 p L of the splitting excess with β ∗ \beta^{*} β ∗ copies (Proposition 8.5 ), and the identity μ ( φ ) = ⌊ i ( G ) / β ⌋ \mu(\varphi)=\lfloor i(G)/\beta\rfloor μ ( φ ) = ⌊ i ( G ) / β ⌋ with the minimum number μ ( φ ) \mu(\varphi) μ ( φ ) of falsified clauses (Theorem 8.6 ); and, on every graph, the inequality ⌊ n ⌋ ( i ( G ) + s ( G ) ) ≥ n − i ( G ) \lfloor\sqrt{n}\rfloor(i(G)+s(G))\ge n-i(G) ⌊ n ⌋ ( i ( G ) + s ( G )) ≥ n − i ( G ) (Proposition 6.10).
§ 2 records the code metadata, § 3 describes the algorithm, § 4 proves correctness, § 5 the running time and § 6 the bounds. § 7 treats the reductions and the conditional consequences, § 8 the application to Boolean satisfiability, § 9 reports the experiments and § 10 concludes.
Research Data
The algorithm is implemented in the Python package siriaisa [14 ] . The version described in this paper is v0.0.8. Table 1 lists the code metadata.
Table 1. Code metadata of the siriaisa package. SciPy is used only by the experiment scripts, for the exact integer programs.
The Siriaisa Algorithm
The input graph is converted once into an index graph adj on the vertices 0 , … , n − 1 0,\ldots,n-1 0 , … , n − 1 , and self-loops are removed. Every strategy returns a set that is turned into an independent dominating set by the repair-and-complete routine of § 3.1 ; the strategies are computed in their numbering order, the base strategies c 1 c_{1} c 1 –c 13 c_{13} c 13 first and the improvers c 14 c_{14} c 14 –c 18 c_{18} c 18 last, and the output is c 18 c_{18} c 18 . Table 2 lists them, and Algorithm 1 gives the main loop.
Table 2. The eighteen strategies of Siriaisa 0.0.8. “Source” names the strategy of Salvador [15 ] or the phase of Esperanza [17 ] that it adapts.
Algorithm 1 FindIndependentDominatingSet(G G G )
Require: Undirected graph G = ( V , E ) G = (V, E) G = ( V , E )
Ensure: An independent dominating set of G G G
remove self-loops; build the index graph adj; n ← ∣ V ∣ n \gets|V| n ← ∣ V ∣ , m ← ∣ E ∣ m \gets|E| m ← ∣ E ∣
c 1 ← Complete ( SpanningTreePeeling ( adj ) ) c_1 \gets\operatorname{Complete}(\operatorname{SpanningTreePeeling}(\text{adj})) c 1 ← Complete ( SpanningTreePeeling ( adj )) ; c 2 ← Complete ( endpoints of min_maximal_matching ) c_2 \gets\operatorname{Complete}(\text{endpoints of min\_maximal\_matching}) c 2 ← Complete ( endpoints of min_maximal_matching ) ; c 3 ← Complete ( ∅ ) c_3 \gets\operatorname{Complete}(\varnothing) c 3 ← Complete ( ∅ )
c 4 , c 7 , c 8 ← c_4, c_7, c_8 \gets c 4 , c 7 , c 8 ← the star, BFS and DFS spanning forests solved by Algorithm 3 and completed
c 5 ← MinToMin c_5 \gets\operatorname{MinToMin} c 5 ← MinToMin ; c 6 ← PrimalDual c_6 \gets\operatorname{PrimalDual} c 6 ← PrimalDual
( c 9 , L ) ← ForestLayers ( adj ) (c_9, \mathcal{L}) \gets\operatorname{ForestLayers}(\text{adj}) ( c 9 , L ) ← ForestLayers ( adj ) ▷ Algorithm 4; L \mathcal{L} L the layers
c 10 ← ResolveLayer ( best of c 1 . . c 9 , L 0 ) c_{10} \gets\operatorname{ResolveLayer}(\text{best of }c_1..c_9, L_0) c 10 ← ResolveLayer ( best of c 1 .. c 9 , L 0 ) if not larger
c 11 ← FeedbackForest ( adj , best of c 1 . . c 10 ) c_{11} \gets\operatorname{FeedbackForest}(\text{adj}, \text{best of }c_1..c_{10}) c 11 ← FeedbackForest ( adj , best of c 1 .. c 10 ) ; c 12 ← CaroWei c_{12} \gets\operatorname{CaroWei} c 12 ← CaroWei ; c 13 ← DegreeSplit ( adj ) c_{13} \gets\operatorname{DegreeSplit}(\text{adj}) c 13 ← DegreeSplit ( adj ) ▷ Algorithm 5
L B ← ∑ components C ⌈ n C Δ C + 1 ⌉ LB \gets\sum_{\text{components }C} \left\lceil\frac{n_C}{\Delta_C + 1}\right\rceil L B ← ∑ components C ⌈ Δ C + 1 n C ⌉ ▷ Lemma 6.3
c 14 ← Complete ( c 2 ∪ ⋯ ∪ c 8 , priority = votes ) c_{14} \gets\operatorname{Complete}(c_2 \cup\cdots\cup c_8, \text{ priority} = \text{votes}) c 14 ← Complete ( c 2 ∪ ⋯ ∪ c 8 , priority = votes )
c 15 ← ImproveIDS ( best of c 1 . . c 14 ) c_{15} \gets\operatorname{ImproveIDS}(\text{best of }c_1..c_{14}) c 15 ← ImproveIDS ( best of c 1 .. c 14 ) ▷ Algorithm 6
c 16 ← c_{16} \gets c 16 ← three rounds of ImproveIDS \operatorname{ImproveIDS} ImproveIDS followed by ForestLNS ( L ) \operatorname{ForestLNS}(\mathcal{L}) ForestLNS ( L ) , from the best of c 1 . . c 15 c_1..c_{15} c 1 .. c 15 , each kept if not larger
c 17 ← ConsensusForce ( c 1 , … , c 16 ) c_{17} \gets\operatorname{ConsensusForce}(c_1, \ldots, c_{16}) c 17 ← ConsensusForce ( c 1 , … , c 16 )
R j ← ImproveIDS ( ForestLNS ( c j , L ) ) R_j \gets\operatorname{ImproveIDS}(\operatorname{ForestLNS}(c_j, \mathcal{L})) R j ← ImproveIDS ( ForestLNS ( c j , L )) for every distinct c j c_j c j , j ≤ 17 j \le17 j ≤ 17
c 18 ← Complete ( ForestLNS ( ImproveIDS ( min j R j ) , L ) ) c_{18} \gets\operatorname{Complete}(\operatorname{ForestLNS}(\operatorname{ImproveIDS}(\min_j R_j), \mathcal{L})) c 18 ← Complete ( ForestLNS ( ImproveIDS ( min j R j ) , L ))
verify every c j c_j c j ; return c 18 c_{18} c 18
Every search of lines 10, 11, 13 and 14 stops as soon as its best set has at most L B LB L B vertices.
Repair and completion
Algorithm 2 turns any seed into an independent dominating set; it is the counterpart of the pruning of Salvador and of the routine MaximizeSolution of Salvador and Esperanza. All sorts are stable counting sorts on integer keys.
Algorithm 2 Complete(adj, P P P , π \pi π )
Require: Index graph, seed P ⊂ V P \subset V P ⊂ V , optional integer priority π \pi π
Ensure: An independent dominating set S S S
S ← P S \leftarrow P S ← P ; conf ( v ) ← ∣ N ( v ) ∩ S ∣ \operatorname{conf}(v) \leftarrow|N(v) \cap S| conf ( v ) ← ∣ N ( v ) ∩ S ∣ for v ∈ S v \in S v ∈ S
for v ∈ S v \in S v ∈ S with conf ( v ) > 0 \operatorname{conf}(v) > 0 conf ( v ) > 0 , by decreasing conf, then increasing π \pi π , then increasing degree do
if v ∈ S v \in S v ∈ S and conf ( v ) > 0 \operatorname{conf}(v) > 0 conf ( v ) > 0 then remove v v v from S S S and decrement conf of its neighbours in S S S
end if
end for
U ← U \leftarrow U ← the vertices with no vertex of S S S in their closed neighbourhood; g ( v ) ← ∣ N [ v ] ∩ U ∣ g(v) \leftarrow|N[v] \cap U| g ( v ) ← ∣ N [ v ] ∩ U ∣ for v ∈ U v \in U v ∈ U
while U ≠ ∅ U \ne\varnothing U = ∅ do ▷ bucket queue on g g g
take v ∈ U v \in U v ∈ U of largest g ( v ) g(v) g ( v ) ; S ← S ∪ { v } S \leftarrow S \cup\{v\} S ← S ∪ { v } ; remove N [ v ] ∩ U N[v] \cap U N [ v ] ∩ U from U U U and update g g g on their neighbours
end while
return S S S
The conditioned forest solver
Let F F F be an induced forest of G G G and let the rest of G G G be fixed. Every vertex v v v of F F F carries three flags: in ( v ) \operatorname{in}(v) in ( v ) (v v v may be selected; false when v v v has a selected neighbour outside F F F ), pre ( v ) \operatorname{pre}(v) pre ( v ) (v v v is already dominated from outside F F F ) and force ( v ) \operatorname{force}(v) force ( v ) (v v v is the only possible dominator of some vertex outside F F F ). With a penalty P > ∣ F ∣ P > |F| P > ∣ F ∣ , Algorithm 3 minimises
Φ ( X ) = ∣ X ∣ + P ⋅ ∣ { v ∈ V ( F ) : v ∉ X ∪ N ( X ) , ¬ pre ( v ) } ∣ + P ⋅ ∣ { v : force ( v ) , v ∉ X } ∣ \Phi(X) = |X| + P \cdot|\{v \in V(F): v \notin X \cup N(X),\ \neg\operatorname{pre}(v)\}| + P \cdot|\{v: \operatorname{force}(v),\ v \notin X\}| Φ ( X ) = ∣ X ∣ + P ⋅ ∣ { v ∈ V ( F ) : v ∈ / X ∪ N ( X ) , ¬ pre ( v )} ∣ + P ⋅ ∣ { v : force ( v ) , v ∈ / X } ∣
over the sets X ⊆ V ( F ) X \subseteq V(F) X ⊆ V ( F ) that are independent and contain only vertices with in ( v ) \operatorname{in}(v) in ( v ) . Rooting every tree, the states of a vertex v v v are IN (v ∈ X v \in X v ∈ X ), DOM (v ∉ X v \notin X v ∈ / X , dominated by a child or from outside) and FREE (v ∉ X v \notin X v ∈ / X , not dominated by its children). With u ( c ) = 0 u(c) = 0 u ( c ) = 0 if pre ( c ) \operatorname{pre}(c) pre ( c ) and u ( c ) = P u(c) = P u ( c ) = P otherwise, and a ( c ) = min ( DOM ( c ) , FREE ( c ) + u ( c ) ) a(c) = \min(\operatorname{DOM}(c), \operatorname{FREE}(c) + u(c)) a ( c ) = min ( DOM ( c ) , FREE ( c ) + u ( c )) , the recurrences over the children c c c of v v v are
IN ( v ) = { 1 + ∑ c min ( DOM ( c ) , FREE ( c ) ) if in ( v ) , ∞ otherwise , FREE ( v ) = ∑ c a ( c ) + P ⋅ [ force ( v ) ] , DOM ( v ) = ∑ c min ( IN ( c ) , a ( c ) ) + δ ( v ) + P ⋅ [ force ( v ) ] . \begin{aligned}
\operatorname{IN}(v) &=
\begin{cases}
1 + \sum_c \min(\operatorname{DOM}(c),\operatorname{FREE}(c)) & \text{if }\operatorname{in}(v),\\
\infty& \text{otherwise},
\end{cases}\\
\operatorname{FREE}(v) &= \sum_c a(c) + P \cdot[\operatorname{force}(v)],\\
\operatorname{DOM}(v) &= \sum_c \min(\operatorname{IN}(c),a(c)) + \delta(v) + P \cdot[\operatorname{force}(v)].
\end{aligned} IN ( v ) FREE ( v ) DOM ( v ) = { 1 + ∑ c min ( DOM ( c ) , FREE ( c )) ∞ if in ( v ) , otherwise , = c ∑ a ( c ) + P ⋅ [ force ( v )] , = c ∑ min ( IN ( c ) , a ( c )) + δ ( v ) + P ⋅ [ force ( v )] .
where δ ( v ) = 0 \delta(v) = 0 δ ( v ) = 0 if pre ( v ) \operatorname{pre}(v) pre ( v ) or some child attains IN ( c ) ≤ a ( c ) \operatorname{IN}(c) \le a(c) IN ( c ) ≤ a ( c ) , δ ( v ) = min c ( IN ( c ) − a ( c ) ) \delta(v) = \min_c(\operatorname{IN}(c) - a(c)) δ ( v ) = min c ( IN ( c ) − a ( c )) otherwise (one child is forced into X X X ), and DOM ( v ) = ∞ \operatorname{DOM}(v) = \infty DOM ( v ) = ∞ when no such child exists and ¬ pre ( v ) \neg\operatorname{pre}(v) ¬ pre ( v ) . A root r r r takes min ( IN ( r ) , DOM ( r ) , FREE ( r ) + u ( r ) ) \min(\operatorname{IN}(r),\operatorname{DOM}(r),\operatorname{FREE}(r) + u(r)) min ( IN ( r ) , DOM ( r ) , FREE ( r ) + u ( r )) , and back-pointers recover X X X .
Algorithm 3 ConditionedForestIDS(F F F , in \operatorname{in} in , pre \operatorname{pre} pre , force \operatorname{force} force , P P P )
Require: An induced forest F F F , flags, penalty P > ∣ V ( F ) ∣ P > |V(F)| P > ∣ V ( F ) ∣
Ensure: A minimiser X X X of Φ \Phi Φ
for every tree of F F F do
root it; compute a BFS order and the children lists
for v v v in reverse BFS order do compute IN ( v ) \operatorname{IN}(v) IN ( v ) , DOM ( v ) \operatorname{DOM}(v) DOM ( v ) , FREE ( v ) \operatorname{FREE}(v) FREE ( v ) and the forced child
end for
choose the state of the root; assign the states top-down by the recorded choices; add the IN vertices to X X X
end for
return X X X
With neutral flags (in ≡ t r u e \operatorname{in} \equiv\mathrm{true} in ≡ true , pre ≡ force ≡ f a l s e \operatorname{pre} \equiv\operatorname{force} \equiv\mathrm{false} pre ≡ force ≡ false ) the algorithm returns a minimum independent dominating set of F F F (Lemma 4.2 ). ResolveLayer(S S S , L L L ) fixes every vertex outside the induced forest L L L from a set S S S , sets the flags accordingly (a vertex outside L L L , not in S S S , without a neighbour in S S S outside L L L and with exactly one selectable neighbour in L L L forces that neighbour), solves L L L by Algorithm 3 and completes the result by Algorithm 2. ForestLNS applies ResolveLayer to every layer of L \mathcal{L} L , keeping a new set when it is not larger, for at most two passes and a work budget of 40 ( n + m ) 40(n + m) 40 ( n + m ) .
Base strategies
c 1 c_1 c 1 : spanning-tree peeling. Round by round, on the residual graph R R R (initially G G G ), a maximum spanning forest of R R R with edge weights deg R ( u ) + deg R ( v ) \operatorname{deg}_{R}(u) + \operatorname{deg}_{R}(v) deg R ( u ) + deg R ( v ) is computed by Kruskal’s algorithm on the edges bucket-sorted by weight, with a union-find structure using union by size and path halving [18 ] ; the forest is solved exactly by Algorithm 3; a maximal G G G -independent subset of the forest optimum, larger residual degree first, is kept; the kept vertices and their neighbours are removed. The rounds stop at a work budget of 40 ( n + m ) 40(n + m) 40 ( n + m ) , and the vertices left are completed by Algorithm 2.
c 2 c_2 c 2 –c 8 c_8 c 8 . c 2 c_2 c 2 completes the endpoints of the NetworkX [19 ] minimum maximal matching; every unmatched vertex has all its neighbours matched, so the endpoints and the isolated vertices dominate G G G . c 3 c_3 c 3 is Algorithm 2 from the empty seed. c 4 c_4 c 4 solves the spanning forest in which every vertex points to the vertex of largest pair (degree, index) in its closed neighbourhood; these pairs strictly increase along the pointers, so they form a forest. c 5 c_5 c 5 (Min-to-Min) repeatedly takes the undominated vertex of smallest residual degree and selects the free vertex of its closed neighbourhood that dominates most undominated vertices. c 6 c_6 c 6 processes the undominated vertices by increasing degree, raises the dual variable of v v v in the linear program min ∑ u x u , ∑ u ∈ N [ v ] x u ≥ 1 \min\sum_{u} x_u,\ \sum_{u\in N[v]} x_u \ge1 min ∑ u x u , ∑ u ∈ N [ v ] x u ≥ 1 , until a free vertex of N [ v ] N[v] N [ v ] becomes tight, and selects the tight free vertex of largest degree. c 7 c_7 c 7 and c 8 c_8 c 8 solve a BFS and a DFS spanning forest, rooted by decreasing degree. The optimum of a spanning forest dominates G G G but need not be independent in G G G ; Algorithm 2 repairs it.
c 9 c_9 c 9 : induced-forest layers. Algorithm 4 splits every connected component into layers, each an induced forest, and solves the layers in several orders.
Algorithm 4 ForestLayers(adj)
Require: Index graph; layering budget 8(n + m); at most 6 orders per component
Ensure: An independent dominating set and the layers 𝓛
1: for every connected component C do
2: R ← V(C) sorted by increasing degree; t ← 0
3: while R ≠ ∅ and the budget allows do
4: L_t ← ∅
5: for v ∈ R do add v to L_t if its neighbours in L_t lie in pairwise different trees of L_t (union-find)
6: end for
7: R ← R \ L_t; t ← t + 1
8: end while
9: for every order σ of the layers (all of them if t! ≤ 6, otherwise the natural and the reverse order and their rotations, at most 6) do
10: X ← ∅
11: for L in the order σ do X ← X ∪ ConditionedForestIDS(L \ (X ∪ N(X))) with neutral flags
12: end for
13: complete X greedily on the vertices still undominated; keep the smallest X
14: end for
15: end for
c 10 c_{10} c 10 and c 11 c_{11} c 11 . c 10 c_{10} c 10 is ResolveLayer of the first layer of L \mathcal{L} L with the rest fixed from the best of c 1 c_1 c 1 –c 9 c_9 c 9 , kept when it is not larger. c 11 c_{11} c 11 peels a feedback vertex set (the core ) by the reductions of Salvador’s c 11 c_{11} c 11 on a multigraph: a vertex of residual degree at most 1 lies on no cycle and is removed; a vertex v v v of residual degree 2 with distinct neighbours a , b a,b a , b is bypassed, replaced by an edge a a a –b b b ; when both edges of a vertex of degree 2 go to the same b b b , the vertex b b b goes to the core; otherwise the vertex of largest residual degree goes to the core. The vertices outside the core induce a forest of G G G , which is solved by ResolveLayer for three choices on the core (the choice of the best of c 1 c_1 c 1 –c 10 c_{10} c 10 , no core vertex, and the greedy solution of the core); the smallest set is kept.
c 12 c_{12} c 12 . c 12 c_{12} c 12 is the dynamic minimum-degree greedy of Esperanza, which repeatedly selects a vertex of smallest residual degree and deletes its closed neighbourhood [20 , 21 ] .
c 13 c_{13} c 13 : degree splitting. Algorithm 5 replaces every vertex of degree larger than k = ⌊ n ⌋ k=\lfloor\sqrt{n}\rfloor k = ⌊ n ⌋ by unconnected copies, each joined to at most k k k of its neighbours, solves the copy graph and maps the solution back.
Algorithm 5 DegreeSplit(adj)
Require: Index graph on n vertices
Ensure: An independent dominating set of G
1: k ← max(1, ⌊√n⌋); H ← G; owner(v) ← v
2: for u ∈ V by decreasing degree (counting sort) do
3: if deg_H(u) > k then
4: let w₁, …, w_d be the neighbours of u in H; remove u from H
5: for j = 1, …, ⌈d/k⌉ do add a node u_j with owner(u_j) = u, joined to w_(j−1)k+1, …, w_min(jk,d)
6: end for
7: end if
8: end for
9: for each inner solver A ∈ {Complete(∅), MinToMin, ForestLayers} do
10: S_H ← A(H); cnt(v) ← |{x ∈ S_H : owner(x) = v}|; S₀ ← {v : cnt(v) > 0}
11: S_A ← Complete(adj, S₀, π = cnt) ▷ repair with pruning
12: end for
13: return the smallest S_A
Improvers and the weighted swap search
c 14 c_{14} c 14 completes the union of c 2 c_2 c 2 –c 8 c_8 c 8 , discarding first the vertices chosen by fewer of them. c 17 c_{17} c 17 (consensus forcing) runs three rounds: round k k k takes the vertices chosen by at least a fraction q k ∈ { 1 , 0.9 , 0.75 } q_k \in\{1, 0.9, 0.75\} q k ∈ { 1 , 0.9 , 0.75 } of the sets in the pool, keeps an independent subset of them (most votes first), removes them with their neighbours, solves the residual graph by the best of Algorithm 2, Min-to-Min and Algorithm 4, and adds the result to the pool.
Algorithm 6 is the local search used by c 15 c_{15} c 15 , c 16 c_{16} c 16 and c 18 c_{18} c 18 . Its first phase is a descent: a move at a vertex u ∉ S u \notin S u ∈ / S inserts u u u , removes the k = ∣ N ( u ) ∩ S ∣ k=|N(u)\cap S| k = ∣ N ( u ) ∩ S ∣ neighbours of u u u in S S S , and refills the vertices left undominated, which all lie in the neighbourhoods of the removed vertices, by the greedy of Algorithm 2 restricted to them; the move is kept when S S S shrinks, which requires k ≥ 2 k\geq2 k ≥ 2 . Its second phase is a weighted swap search on a set S S S of fixed size k k k that may leave vertices undominated and contain conflicting edges. With weights w ( v ) ≥ 1 w(v)\geq1 w ( v ) ≥ 1 on the vertices and w ( e ) ≥ 1 w(e)\geq1 w ( e ) ≥ 1 on the edges, it minimises
cost ( S ) = ∑ v : N [ v ] ∩ S = ∅ w ( v ) + ∑ e ⊆ S w ( e ) , \operatorname{cost}(S)=\sum_{v:N[v]\cap S=\varnothing}w(v)+\sum_{e\subseteq S}w(e), cost ( S ) = v : N [ v ] ∩ S = ∅ ∑ w ( v ) + e ⊆ S ∑ w ( e ) ,
so that every vertex, not only an undominated one, may enter S S S . When cost ( S ) = 0 \operatorname{cost}(S)=0 cost ( S ) = 0 , S S S is an independent dominating set of size k k k ; it is recorded and one vertex is removed to try k − 1 k-1 k − 1 .
Algorithm 6 ImproveIDS(adj, S 0 S_0 S 0 , B B B , σ \sigma σ )
Require: An independent dominating set S 0 S_0 S 0 ; work budget W = max ( B ( n + m ) , F ) W = \max(B(n + m), F) W = max ( B ( n + m ) , F ) ; seed σ \sigma σ ; lower bound L B LB L B
Ensure: An independent dominating set S ∗ S^* S ∗ with ∣ S ∗ ∣ ≤ ∣ S 0 ∣ |S^*| \le|S_0| ∣ S ∗ ∣ ≤ ∣ S 0 ∣
S ← S \gets S ← descent from S 0 S_0 S 0 (moves at vertices with k ≥ 2 k \ge2 k ≥ 2 , chained, within the budget); S ∗ ← S S^* \gets S S ∗ ← S
for segment i = 1 , … , 4 i = 1, \ldots, 4 i = 1 , … , 4 , each with a quarter of the remaining work and the weight cap θ i ∈ ( 10 , 100 , 30 , 300 ) \theta_i \in(10, 100, 30, 300) θ i ∈ ( 10 , 100 , 30 , 300 ) rotated by σ \sigma σ do
S ← S ∗ S \gets S^* S ← S ∗ minus the vertex whose removal increases the cost least; all weights ← 1 \gets1 ← 1
while work remains and ∣ S ∗ ∣ > L B |S^*| > LB ∣ S ∗ ∣ > L B do
remove the vertex of S S S of largest score among 50 sampled ones (never the vertex added last)
take a random undominated vertex v v v ; add the vertex of N [ v ] N[v] N [ v ] of largest score allowed by configuration checking
add 1 to the weight of every undominated vertex and of every conflicting edge; halve all weights when their mean exceeds θ i \theta_i θ i
if cost ( S ) = 0 \operatorname{cost}(S) = 0 cost ( S ) = 0 then S ∗ ← S S^* \gets S S ∗ ← S ; remove from S S S the vertex whose removal increases the cost least
end if
end while
end for
return S ∗ S^* S ∗ after a last descent
The score of a vertex is the decrease of the cost when it changes side; configuration checking forbids a removed vertex to re-enter before one of its neighbours has changed side. All scores, the domination counts and the sets of violations are updated incrementally in time proportional to the degrees of the two-hop neighbourhood of the changed vertex, and every operation is charged to a work counter. The default budgets are B = 10 B = 10 B = 10 for c 15 c_{15} c 15 , 5 per round for c 16 c_{16} c 16 , 3 per candidate and 30 for the final search of c 18 c_{18} c 18 , with the constant floors F = min ( 2 ⋅ 10 6 , 10 ( n + m ) 2 ) F = \min(2 \cdot10^6, 10(n + m)^2) F = min ( 2 ⋅ 1 0 6 , 10 ( n + m ) 2 ) and, for the final search, F = min ( 24 ⋅ 10 6 , 100 ( n + m ) 2 ) F = \min(24 \cdot10^6, 100(n + m)^2) F = min ( 24 ⋅ 1 0 6 , 100 ( n + m ) 2 ) ; the seed is 20261031.
Correctness of the Algorithm
Lemma 4.1 (Repair and completion). For every seed P P P , Algorithm 2 returns an independent dominating set of G G G , in O ( n + m + max π ) O(n + m + \max\pi) O ( n + m + max π ) time.
Proof. After the repair loop no vertex of S S S has a neighbour in S S S : a vertex is examined with its current conflict count and is removed whenever it is positive, and removals only decrease the counts of the others, so a vertex that keeps a positive count when examined is removed, and a vertex examined with count 0 keeps count 0 because no vertex is added during the loop. In the completion loop a vertex is added only when it lies in U U U , i.e. when no vertex of its closed neighbourhood is in S S S , so S S S stays independent, and the loop ends when U = ∅ U = \varnothing U = ∅ , i.e. when every vertex is dominated. The counting sorts cost O ( n + Δ + max π ) O(n + \Delta+ \max\pi) O ( n + Δ + max π ) and every vertex leaves U U U once, with one scan of its neighbourhood, so the bucket queue costs O ( n + m ) O(n + m) O ( n + m ) .
Lemma 4.2 (Exact conditioned forest solver). Algorithm 3 returns a minimiser of Φ \Phi Φ in O ( ∑ v ∈ V ( F ) deg G ( v ) ) O(\sum_{v \in V(F)} \deg_G(v)) O ( ∑ v ∈ V ( F ) deg G ( v )) time. With neutral flags and P > ∣ V ( F ) ∣ P > |V(F)| P > ∣ V ( F ) ∣ , the minimiser is a minimum independent dominating set of F F F .
Proof. For a rooted subtree T v T_v T v , IN ( v ) \operatorname{IN}(v) IN ( v ) , DOM ( v ) \operatorname{DOM}(v) DOM ( v ) and FREE ( v ) \operatorname{FREE}(v) FREE ( v ) are the minimum of the part of Φ \Phi Φ carried by T v T_v T v over independent sets X ∩ T v X \cap T_v X ∩ T v in which v v v is selected, dominated by a child or from outside, or not dominated by its children, respectively; the penalty of v v v itself in the state FREE is paid by its parent (u ( c ) u(c) u ( c ) ) unless the parent is selected, and the penalty of a forced unselected vertex is added in the states DOM and FREE. The recurrences enumerate exactly these cases: a selected vertex excludes selected children and dominates them; a dominated vertex needs one selected child unless it is pre-dominated, and the cheapest such child is forced when none is chosen freely; a vertex with an unselected parent pays u ( c ) u(c) u ( c ) in the state FREE. Induction over the reverse BFS order gives the minimum at the root, and the top-down reconstruction follows the recorded minimising choices. Each vertex scans its neighbourhood a constant number of times. With neutral flags, every independent dominating set X X X of F F F has Φ ( X ) = ∣ X ∣ ≤ ∣ V ( F ) ∣ < P \Phi(X) = |X| \le|V(F)| < P Φ ( X ) = ∣ X ∣ ≤ ∣ V ( F ) ∣ < P , so a minimiser has no penalty: it is an independent dominating set of F F F , of minimum size.
Theorem 4.3 (Correctness). For every finite undirected graph G G G , Algorithm 1 returns an independent dominating set of G G G , and every candidate c 1 , … , c 18 c_1,\ldots,c_{18} c 1 , … , c 18 is an independent dominating set of G G G .
Proof. Self-loops do not affect independence or domination of other vertices and are removed. c 1 c_1 c 1 –c 4 c_4 c 4 , c 7 c_7 c 7 , c 8 c_8 c 8 , c 13 c_{13} c 13 and c 14 c_{14} c 14 are outputs of Algorithm 2, hence independent dominating sets by Lemma 4.1 . c 5 c_5 c 5 , c 6 c_6 c 6 and c 12 c_{12} c 12 select only vertices with no selected vertex in their closed neighbourhood and stop when every vertex is dominated, so they are maximal independent sets. In Algorithm 4 the vertices of a layer that are not yet dominated have no neighbour in X X X , the layer is an induced forest, and the forest solution is independent in G G G (Lemma 4.2 ), so X X X stays independent; the final greedy completion adds only undominated vertices. ResolveLayer (c 10 c_{10} c 10 , c 11 c_{11} c 11 , ForestLNS) ends with Algorithm 2. c 17 c_{17} c 17 joins an independent set of forced vertices with an independent dominating set of the residual graph, which contains no neighbour of a forced vertex, and every vertex outside the residual graph is a forced vertex or one of its neighbours. In Algorithm 6 the descent inserts u u u after removing all its neighbours in S S S and refills only undominated vertices, so S S S stays a maximal independent set, and the swap search records a set only when it has no undominated vertex and no conflicting edge. Finally, the implementation verifies every candidate explicitly and raises an error otherwise.
Runtime Analysis
Hash-table operations are counted as O ( 1 ) O(1) O ( 1 ) expected time; they occur only in the relabelling of the input vertices, in the multigraph of c 11 c_{11} c 11 and in the copy graph of c 13 c_{13} c 13 .
Lemma 5.1 (Copy graph). In Algorithm 5 let B = { v : deg G ( v ) > k } B = \{v : \deg_G(v) > k\} B = { v : deg G ( v ) > k } . The copy graph H H H has maximum degree at most k k k , exactly m m m edges, every edge of H H H joins two nodes whose owners are adjacent in G G G , every edge of G G G corresponds to exactly one edge of H H H , two copies of the same vertex are never adjacent, and ∣ V ( H ) ∣ = n − ∣ B ∣ + ∑ v ∈ B ⌈ deg G ( v ) / k ⌉ ≤ n + 2 m / k |V(H)| = n - |B| + \sum_{v\in B}\lceil\deg_G(v)/k\rceil\le n + 2m/k ∣ V ( H ) ∣ = n − ∣ B ∣ + ∑ v ∈ B ⌈ deg G ( v ) / k ⌉ ≤ n + 2 m / k . It is built in O ( n + m ) O(n + m) O ( n + m ) expected time.
Proof. Splitting u u u replaces every edge u w uw u w of H H H by one edge u j w u_jw u j w and changes no other degree; hence when u u u is examined deg H ( u ) = deg G ( u ) \deg_H(u) = \deg_G(u) deg H ( u ) = deg G ( u ) , the copies of u u u get at most k k k neighbours each, and every vertex that is not split keeps its degree, at most k k k . Edges are moved one to one, so H H H has m m m edges, each between nodes with adjacent owners, and the copies of u u u are joined only to neighbours of u u u . Since ⌈ d / k ⌉ ≤ d / k + 1 \lceil d/k\rceil\le d/k + 1 ⌈ d / k ⌉ ≤ d / k + 1 , ∣ V ( H ) ∣ ≤ n + ∑ v ∈ B deg G ( v ) / k ≤ n + 2 m / k |V(H)| \le n + \sum_{v\in B}\deg_G(v)/k \le n + 2m/k ∣ V ( H ) ∣ ≤ n + ∑ v ∈ B deg G ( v ) / k ≤ n + 2 m / k . Every edge is moved at most twice, once for each endpoint.
Theorem 5.2 (Running time). For the default parameters, Algorithm 1 runs in O ( ( n + m ) α A ( n ) ) O((n + m)\alpha_A(n)) O (( n + m ) α A ( n )) expected time.
Proof. The conversion, the components, the lower bound L B LB L B and the verifications are linear. No step uses a comparison sort: every sort is a counting sort on integer keys at most n + m n + m n + m . c 2 c_2 c 2 uses the linear NetworkX matching; c 3 c_3 c 3 –c 8 c_8 c 8 and c 12 c_{12} c 12 are single passes with bucket queues, O ( n + m ) O(n + m) O ( n + m ) , using Lemmas 4.1 and 4.2 . c 1 c_1 c 1 and c 9 c_9 c 9 run Kruskal’s algorithm and the layering with union by size and path halving, O ( α A ( n ) ) O(\alpha_A(n)) O ( α A ( n )) amortized per operation [18 ] , within the work budgets 40 ( n + m ) 40(n + m) 40 ( n + m ) and 8 ( n + m ) 8(n + m) 8 ( n + m ) , and c 9 c_9 c 9 solves at most 6 orders per component, each O ( n + m ) O(n + m) O ( n + m ) . c 10 c_{10} c 10 and c 11 c_{11} c 11 are O ( n + m ) O(n + m) O ( n + m ) : every rule of the core peeling removes one vertex with O ( deg ) O(\deg) O ( deg ) expected dictionary operations, and the bypass does not change degrees. c 13 c_{13} c 13 is linear by Lemma 5.1 , since the inner solvers and the three repairs are linear in ∣ V ( H ) ∣ + m = O ( n + m ) |V(H)| + m = O(n + m) ∣ V ( H ) ∣ + m = O ( n + m ) . The improvers are bounded by work counters: every scan, update, insertion, removal and Algorithm 6 and ForestLNS is charged to a counter that stops the search at max ( B ( n + m ) , F ) \max(B(n + m),F) max ( B ( n + m ) , F ) units, with fixed B B B and constant F F F , and a single move exceeds the limit by at most O ( n + m ) O(n + m) O ( n + m ) . c 17 c_{17} c 17 runs three rounds of linear work. There are at most eighteen distinct candidates, so the total is O ( ( n + m ) α A ( n ) ) O((n + m)\alpha_A(n)) O (( n + m ) α A ( n )) .
Proved Bounds
Lemma 6.1 (Maximal-set bound). Every maximal independent set M M M of a graph G G G of maximum degree Δ ≥ 1 \Delta\ge1 Δ ≥ 1 satisfies n / ( Δ + 1 ) ≤ i ( G ) ≤ ∣ M ∣ ≤ Δ i ( G ) n/(\Delta+ 1) \le i(G) \le|M| \le\Delta i(G) n / ( Δ + 1 ) ≤ i ( G ) ≤ ∣ M ∣ ≤ Δ i ( G ) .
Proof. A minimum independent dominating set D D D satisfies V = ⋃ d ∈ D N [ d ] V = \bigcup_{d\in D}N[d] V = ⋃ d ∈ D N [ d ] , so n ≤ ( Δ + 1 ) ∣ D ∣ n \le(\Delta+ 1)|D| n ≤ ( Δ + 1 ) ∣ D ∣ . M M M is an independent dominating set, so i ( G ) ≤ ∣ M ∣ i(G) \le|M| i ( G ) ≤ ∣ M ∣ . For d ∈ D d \in D d ∈ D , ∣ M ∩ N [ d ] ∣ = 1 |M \cap N[d]| = 1 ∣ M ∩ N [ d ] ∣ = 1 if d ∈ M d \in M d ∈ M , and M ∩ N [ d ] ⊆ N ( d ) M \cap N[d] \subseteq N(d) M ∩ N [ d ] ⊆ N ( d ) has at most Δ \Delta Δ vertices otherwise; since M ⊆ ⋃ d ∈ D N [ d ] M \subseteq\bigcup_{d\in D}N[d] M ⊆ ⋃ d ∈ D N [ d ] , ∣ M ∣ ≤ Δ ∣ D ∣ |M| \le\Delta|D| ∣ M ∣ ≤ Δ∣ D ∣ .
Corollary 6.2 (Bounded degree). For every graph G G G , the output S S S of Algorithm 1 satisfies ∣ S ∣ ≤ max ( 1 , Δ ) i ( G ) |S| \le\max(1,\Delta)i(G) ∣ S ∣ ≤ max ( 1 , Δ ) i ( G ) ; in particular the ratio is at most Δ \Delta Δ on every graph with an edge.
Proof. Isolated vertices belong to S S S and to every independent dominating set, and on every other component S S S is a maximal independent set (Theorem 4.3 ), so Lemma 6.1 applies componentwise and the bounds add up.
Lemma 6.3 (Certified lower bound). For every graph G G G with components C C C , i ( G ) ≥ L B = ∑ C ⌈ n C / ( Δ C + 1 ) ⌉ i(G) \ge LB = \sum_C \lceil n_C/(\Delta_C+1)\rceil i ( G ) ≥ L B = ∑ C ⌈ n C / ( Δ C + 1 )⌉ . If the output has at most L B LB L B vertices, it is optimal.
Proof. An independent dominating set of G G G restricts to one of every component, and Lemma 6.1 gives i ( C ) ≥ n C / ( Δ C + 1 ) i(C) \ge n_C/(\Delta_C+1) i ( C ) ≥ n C / ( Δ C + 1 ) , an integer bound after rounding up.
Theorem 6.4 (Forests). If G G G is a forest, the output of Algorithm 1 is a minimum independent dominating set.
Proof. On a forest, the first round of c 1 c_1 c 1 fits in its budget, since its cost 4 ( n + 2 m ) 4(n+2m) 4 ( n + 2 m ) plus the initial n + m n+m n + m is at most 40 ( n + m ) 40(n+m) 40 ( n + m ) ; the maximum spanning forest is G G G itself, the forest optimum is independent in G G G and is kept entirely, and it dominates G G G , so the residual graph is empty and c 1 c_1 c 1 is the forest optimum of Lemma 4.2 . Every candidate after c 1 c_1 c 1 is either a strategy output or the result of a search that never returns a larger set, and c 18 c_{18} c 18 is no larger than any of them, so ∣ c 18 ∣ ≤ ∣ c 1 ∣ = i ( G ) |c_{18}| \le|c_1| = i(G) ∣ c 18 ∣ ≤ ∣ c 1 ∣ = i ( G ) .
The next theorem is the counterpart of the O ( n ) O(\sqrt{n}) O ( n ) theorem of Esperanza [17 ] , which gives the ratio 2 n 2\sqrt{n} 2 n for maximum independent set on graphs with Δ ≤ n \Delta\le\sqrt{n} Δ ≤ n ; for MIDS the bound is Δ \Delta Δ itself.
Theorem 6.5 (Ratio n \sqrt{n} n on three classes). Let S S S be the output of Algorithm 1 on a graph G G G with n n n vertices. If at least one of the following conditions holds, then ∣ S ∣ / i ( G ) ≤ n |S|/i(G) \le\sqrt{n} ∣ S ∣/ i ( G ) ≤ n :
(a) Δ ≤ n \Delta\le\sqrt{n} Δ ≤ n , and then ∣ S ∣ / i ( G ) ≤ max ( 1 , Δ ) |S|/i(G) \le\max(1,\Delta) ∣ S ∣/ i ( G ) ≤ max ( 1 , Δ ) ;
(b) i ( G ) ≥ n i(G) \ge\sqrt{n} i ( G ) ≥ n ;
(c) α ( G ) ≤ n i ( G ) \alpha(G) \le\sqrt{n}\,i(G) α ( G ) ≤ n i ( G ) .
Proof. (a) is Corollary 6.2. (b) ∣ S ∣ ≤ n |S| \le n ∣ S ∣ ≤ n , so ∣ S ∣ / i ( G ) ≤ n / n |S|/i(G) \le n/\sqrt{n} ∣ S ∣/ i ( G ) ≤ n / n . (c) S S S is independent, so ∣ S ∣ ≤ α ( G ) ≤ n i ( G ) |S| \le\alpha(G) \le\sqrt{n}i(G) ∣ S ∣ ≤ α ( G ) ≤ n i ( G ) .
The degree-splitting strategy c 13 c_{13} c 13 extends condition (a) to graphs with vertices of degree larger than n \sqrt{n} n . For k = max ( 1 , ⌊ n ⌋ ) k=\max(1,\lfloor\sqrt{n}\rfloor) k = max ( 1 , ⌊ n ⌋) and B = { v : deg G ( v ) > k } B=\{v:\deg_G(v)>k\} B = { v : deg G ( v ) > k } define the splitting excess
s ( G ) = ∑ v ∈ B ( ⌈ deg G ( v ) k ⌉ − 1 ) ≤ ∑ v ∈ B deg G ( v ) k ≤ 2 m k . s(G)=\sum_{v\in B}\left(\left\lceil\frac{\deg_G(v)}{k}\right\rceil-1\right)\le\sum_{v\in B}\frac{\deg_G(v)}{k}\le\frac{2m}{k}. s ( G ) = v ∈ B ∑ ( ⌈ k deg G ( v ) ⌉ − 1 ) ≤ v ∈ B ∑ k deg G ( v ) ≤ k 2 m .
Lemma 6.6 (Lifting). For the copy graph H H H of Algorithm 5, i ( H ) ≤ i ( G ) + s ( G ) i(H)\le i(G)+s(G) i ( H ) ≤ i ( G ) + s ( G ) .
Proof. Let D D D be a minimum independent dominating set of G G G , and let L L L be the set of nodes of H H H whose owner lies in D D D ; ∣ L ∣ = ∑ u ∈ D ⌈ deg G ( u ) / k ⌉ |L|=\sum_{u\in D}\lceil\deg_G(u)/k\rceil ∣ L ∣ = ∑ u ∈ D ⌈ deg G ( u ) / k ⌉ over split u u u , plus one per unsplit u u u . L L L is independent in H H H , since an edge of H H H joins nodes with adjacent owners (Lemma 5.1 ) and D D D is independent. Let z z z be a node of H H H with owner w ∉ D w\notin D w ∈ / D . The vertex w w w has a neighbour u ∈ D u\in D u ∈ D , and the edge u w uw u w of G G G corresponds to exactly one edge of H H H , between a node owned by u u u , which lies in L L L , and a node owned by w w w . If w w w is not split, that node is z z z , so z z z is dominated by L L L ; if w w w is split, at least one of its ⌈ deg G ( w ) / k ⌉ \lceil\deg_G(w)/k\rceil ⌈ deg G ( w ) / k ⌉ copies is dominated. Completing L L L greedily to a maximal independent set of H H H adds only undominated nodes, at most ⌈ deg G ( w ) / k ⌉ − 1 \lceil\deg_G(w)/k\rceil-1 ⌈ deg G ( w ) / k ⌉ − 1 for every split w ∉ D w\notin D w ∈ / D . Hence i ( H ) ≤ ∣ D ∣ + ∑ u ∈ D ∩ B ( ⌈ deg G ( u ) / k ⌉ − 1 ) + ∑ w ∈ B ∖ D ( ⌈ deg G ( w ) / k ⌉ − 1 ) = i ( G ) + s ( G ) i(H)\le|D|+\sum_{u\in D\cap B}(\lceil\deg_G(u)/k\rceil-1)+\sum_{w\in B\setminus D}(\lceil\deg_G(w)/k\rceil-1)=i(G)+s(G) i ( H ) ≤ ∣ D ∣ + ∑ u ∈ D ∩ B (⌈ deg G ( u ) / k ⌉ − 1 ) + ∑ w ∈ B ∖ D (⌈ deg G ( w ) / k ⌉ − 1 ) = i ( G ) + s ( G ) .
Lemma 6.7 (Decoding). For every independent dominating set S H S_H S H of H H H , the set S 0 = { owner ( x ) : x ∈ S H } S_0=\{\operatorname{owner}(x):x\in S_H\} S 0 = { owner ( x ) : x ∈ S H } is a dominating set of G G G with ∣ S 0 ∣ ≤ ∣ S H ∣ |S_0|\le|S_H| ∣ S 0 ∣ ≤ ∣ S H ∣ . If S 0 S_0 S 0 is independent in G G G , then COMPLETE( adj , S 0 , π ) = S 0 (\operatorname{adj},S_0,\pi)=S_0 ( adj , S 0 , π ) = S 0 .
Proof. ∣ S 0 ∣ ≤ ∣ S H ∣ |S_0|\le|S_H| ∣ S 0 ∣ ≤ ∣ S H ∣ because the owner map is a function. Let w ∈ V w\in V w ∈ V . If w w w is not split, the node w w w of H H H is in S H S_H S H , so w ∈ S 0 w\in S_0 w ∈ S 0 , or it has a neighbour x ∈ S H x\in S_H x ∈ S H , whose owner is a neighbour of w w w in G G G . If w w w is split, its first copy has at least one neighbour, and the same argument applies to that copy. If S 0 S_0 S 0 is independent, then the repair loop of Algorithm 2 removes nothing, and U = ∅ U=\varnothing U = ∅ because S 0 S_0 S 0 dominates G G G , so nothing is added.
Theorem 6.8 (Degree splitting). Let k = max ( 1 , ⌊ n ⌋ ) k = \max(1, \lfloor\sqrt{n}\rfloor) k = max ( 1 , ⌊ n ⌋) . For each inner solver of Algorithm 5, the decoded set S 0 S_0 S 0 is a dominating set of G G G with
∣ S 0 ∣ ≤ k ( i ( G ) + s ( G ) ) . |S_0| \le k\bigl(i(G) + s(G)\bigr). ∣ S 0 ∣ ≤ k ( i ( G ) + s ( G ) ) . If S 0 S_0 S 0 is independent in G G G for one of the inner solvers, then the output S S S of Algorithm 1 satisfies ∣ S ∣ ≤ k ( i ( G ) + s ( G ) ) |S| \le k\bigl(i(G) + s(G)\bigr) ∣ S ∣ ≤ k ( i ( G ) + s ( G ) ) , so ∣ S ∣ / i ( G ) ≤ ⌊ n ⌋ ( 1 + s ( G ) / i ( G ) ) |S|/i(G) \le\lfloor\sqrt{n}\rfloor\bigl(1 + s(G)/i(G)\bigr) ∣ S ∣/ i ( G ) ≤ ⌊ n ⌋ ( 1 + s ( G ) / i ( G ) ) ; in particular ∣ S ∣ / i ( G ) ≤ 2 n |S|/i(G) \le2\sqrt{n} ∣ S ∣/ i ( G ) ≤ 2 n when s ( G ) ≤ i ( G ) s(G) \le i(G) s ( G ) ≤ i ( G ) .
Proof. Every inner solver returns a maximal independent set S H S_H S H of H H H (Lemma 4.1 and Theorem 4.3 ). H H H has maximum degree at most k k k by Lemma 5.1 , so Lemma 6.1 , applied componentwise in H H H with max ( 1 , Δ ( H ) ) ≤ k \max(1,\Delta(H)) \le k max ( 1 , Δ ( H )) ≤ k , gives ∣ S H ∣ ≤ k i ( H ) |S_H| \le k\,i(H) ∣ S H ∣ ≤ k i ( H ) , and Lemma 6.6 gives i ( H ) ≤ i ( G ) + s ( G ) i(H) \le i(G) + s(G) i ( H ) ≤ i ( G ) + s ( G ) . Lemma 6.7 gives ∣ S 0 ∣ ≤ ∣ S H ∣ |S_0| \le|S_H| ∣ S 0 ∣ ≤ ∣ S H ∣ , domination, and c 13 ≤ ∣ S 0 ∣ c_{13} \le|S_0| c 13 ≤ ∣ S 0 ∣ when S 0 S_0 S 0 is independent; the output is no larger than c 13 c_{13} c 13 .
On a graph with Δ ≤ k \Delta\le k Δ ≤ k no vertex is split, s ( G ) = 0 s(G) = 0 s ( G ) = 0 , H = G H = G H = G , and Theorem 6.8 reduces to Theorem 6.5 (a). On a star K 1 , n − 1 K_{1,n-1} K 1 , n − 1 , s ( G ) = ⌈ ( n − 1 ) / k ⌉ − 1 s(G) = \lceil(n - 1)/k\rceil- 1 s ( G ) = ⌈( n − 1 ) / k ⌉ − 1 , the copy graph is a disjoint union of ⌈ ( n − 1 ) / k ⌉ \lceil(n - 1)/k\rceil ⌈( n − 1 ) / k ⌉ stars, and every maximal independent set of H H H that contains the copies of the centre decodes to the optimum { centre } \{\text{centre}\} { centre } . The bound of Theorem 6.8 on S 0 S_0 S 0 holds on every graph, whereas the bound on the output requires the independence of S 0 S_0 S 0 .
Worst cases of the splitting excess. The excess s ( G ) s(G) s ( G ) is largest on dense graphs; the next two propositions show that the graphs on which it is largest are graphs on which the output is optimal.
Proposition 6.9 (Splitting excess). Let G G G be a graph on n ≥ 3 n \ge3 n ≥ 3 vertices with m m m edges, k = ⌊ n ⌋ k = \lfloor\sqrt{n}\rfloor k = ⌊ n ⌋ and B = { v : deg ( v ) > k } B = \{v : \deg(v) > k\} B = { v : deg ( v ) > k } .
(i) s ( G ) = 0 s(G) = 0 s ( G ) = 0 if and only if Δ ≤ k \Delta\le k Δ ≤ k ; then no vertex is split, H = G H = G H = G , and the scan of Algorithm 5 ends at its first vertex.
(ii) s ( G ) ≤ ∑ v ∈ B deg ( v ) − 1 k ≤ min { 2 m − ∣ B ∣ k , ∣ B ∣ ( n − 2 ) k } ≤ ∣ B ∣ ( n + 1 ) ≤ n ( n + 1 ) s(G) \le\sum_{v\in B}\frac{\deg(v)-1}{k} \le\min\left\{\frac{2m-|B|}{k},\frac{|B|(n-2)}{k}\right\} \le|B|(\sqrt{n}+1) \le n(\sqrt{n}+1) s ( G ) ≤ ∑ v ∈ B k d e g ( v ) − 1 ≤ min { k 2 m − ∣ B ∣ , k ∣ B ∣ ( n − 2 ) } ≤ ∣ B ∣ ( n + 1 ) ≤ n ( n + 1 ) .
(iii) The complete graph maximises the excess: s ( G ) ≤ s ( K n ) = n ( ⌈ n − 1 k ⌉ − 1 ) s(G) \le s(K_n) = n\left(\left\lceil\frac{n-1}{k}\right\rceil- 1\right) s ( G ) ≤ s ( K n ) = n ( ⌈ k n − 1 ⌉ − 1 ) , and s ( K n ) ≥ n 3 / 2 − n − n s(K_n) \ge n^{3/2} - n - \sqrt{n} s ( K n ) ≥ n 3/2 − n − n .
(iv) For the complete bipartite graph K a , b K_{a,b} K a , b with a ≤ b a \le b a ≤ b and a + b = n a+b=n a + b = n , s ( K a , b ) = a ( ⌈ b k ⌉ − 1 ) + b ( ⌈ a k ⌉ − 1 ) s(K_{a,b}) = a\left(\left\lceil\frac{b}{k}\right\rceil- 1\right) + b\left(\left\lceil\frac{a}{k}\right\rceil- 1\right) s ( K a , b ) = a ( ⌈ k b ⌉ − 1 ) + b ( ⌈ k a ⌉ − 1 ) ; a term vanishes when its degree is at most k k k . In particular s ( K n / 2 , n / 2 ) = n ( ⌈ n 2 k ⌉ − 1 ) s(K_{n/2,n/2}) = n\left(\left\lceil\frac{n}{2k}\right\rceil- 1\right) s ( K n /2 , n /2 ) = n ( ⌈ 2 k n ⌉ − 1 ) for even n n n , and s ( K 1 , n − 1 ) = ⌈ n − 1 k ⌉ − 1 s(K_{1,n-1}) = \left\lceil\frac{n-1}{k}\right\rceil- 1 s ( K 1 , n − 1 ) = ⌈ k n − 1 ⌉ − 1 .
Proof. (i) ⌈ d / k ⌉ − 1 = 0 \lceil d/k\rceil- 1 = 0 ⌈ d / k ⌉ − 1 = 0 exactly when d ≤ k d \le k d ≤ k . The vertices are scanned by decreasing degree and splitting changes no other degree (Lemma 5.1 ), so when the first vertex has degree Δ ≤ k \Delta\le k Δ ≤ k no vertex is split. (ii) For every integer d ≥ 1 d \ge1 d ≥ 1 , ⌈ d / k ⌉ ≤ ( d − 1 ) / k + 1 \lceil d/k\rceil\le(d - 1)/k + 1 ⌈ d / k ⌉ ≤ ( d − 1 ) / k + 1 . Summing over B B B gives the first inequality, and ∑ v ∈ B deg ( v ) ≤ 2 m \sum_{v\in B}\deg(v) \le2m ∑ v ∈ B deg ( v ) ≤ 2 m and deg ( v ) ≤ n − 1 \deg(v) \le n - 1 deg ( v ) ≤ n − 1 give the second. Since k > n − 1 > 0 k > \sqrt{n} - 1 > 0 k > n − 1 > 0 and n − 2 < n − 1 = ( n − 1 ) ( n + 1 ) n - 2 < n - 1 = (\sqrt{n} - 1)(\sqrt{n} + 1) n − 2 < n − 1 = ( n − 1 ) ( n + 1 ) , ( n − 2 ) / k < n + 1 (n - 2)/k < \sqrt{n} + 1 ( n − 2 ) / k < n + 1 . Since s ( G ) s(G) s ( G ) is non-decreasing in d d d , every degree is at most n − 1 n - 1 n − 1 and ∣ B ∣ ≤ n |B| \le n ∣ B ∣ ≤ n ; in K n K_n K n every vertex has degree n − 1 > n ≥ k n - 1 > \sqrt{n} \ge k n − 1 > n ≥ k for n ≥ 3 n \ge3 n ≥ 3 , so every vertex lies in B B B and attains the maximum. Moreover ⌈ ( n − 1 ) / k ⌉ ≥ ( n − 1 ) / n = n − 1 / n \lceil(n - 1)/k\rceil\ge(n - 1)/\sqrt{n} = \sqrt{n} - 1/\sqrt{n} ⌈( n − 1 ) / k ⌉ ≥ ( n − 1 ) / n = n − 1/ n , which gives the lower bound. (iv) The a a a vertices of one side have degree b b b and the b b b vertices of the other side have degree a a a .
:::
Proposition 6.10 (Lower bound of the splitting bound). For every graph G G G on n n n vertices and k = max ( 1 , ⌊ n ⌋ ) k = \max(1,\lfloor\sqrt{n}\rfloor) k = max ( 1 , ⌊ n ⌋) , k ( i ( G ) + s ( G ) ) ≥ n − i ( G ) k\bigl(i(G) + s(G)\bigr) \ge n - i(G) k ( i ( G ) + s ( G ) ) ≥ n − i ( G ) . In particular the bound of Theorem 6.8 is at least n − i ( G ) n - i(G) n − i ( G ) on every graph.
Proof. Let D D D be a minimum independent dominating set. It dominates the other n − i ( G ) n-i(G) n − i ( G ) vertices, so ∑ d ∈ D deg ( d ) ≥ n − i ( G ) \sum_{d\in D}\deg(d) \ge n-i(G) ∑ d ∈ D deg ( d ) ≥ n − i ( G ) . A vertex d ∈ D ∩ B d \in D\cap B d ∈ D ∩ B contributes ⌈ deg ( d ) / k ⌉ − 1 ≥ deg ( d ) / k − 1 \lceil\deg(d)/k\rceil- 1 \ge\deg(d)/k - 1 ⌈ deg ( d ) / k ⌉ − 1 ≥ deg ( d ) / k − 1 to s ( G ) s(G) s ( G ) , and a vertex d ∈ D ∖ B d \in D\setminus B d ∈ D ∖ B satisfies deg ( d ) ≤ k \deg(d) \le k deg ( d ) ≤ k , so deg ( d ) / k − 1 ≤ 0 \deg(d)/k - 1 \le0 deg ( d ) / k − 1 ≤ 0 ; since every term of s ( G ) s(G) s ( G ) is non-negative, s ( G ) ≥ ∑ d ∈ D ( deg ( d ) / k − 1 ) ≥ ( n − i ( G ) ) / k − i ( G ) s(G) \ge\sum_{d\in D}(\deg(d)/k - 1) \ge(n-i(G))/k - i(G) s ( G ) ≥ ∑ d ∈ D ( deg ( d ) / k − 1 ) ≥ ( n − i ( G )) / k − i ( G ) . Multiplying by k k k gives k s ( G ) ≥ n − i ( G ) − k i ( G ) k\,s(G) \ge n-i(G)-k\,i(G) k s ( G ) ≥ n − i ( G ) − k i ( G ) .
:::
Proposition 6.11 (Rigid dense families). If every connected component of G G G is a complete multipartite graph (in particular a complete graph, a complete bipartite graph or a star), a crown graph with $t \ge 3 vertices on each side (the complete bipartite graph K t , t K_{t,t} K t , t minus a perfect matching), a wheel or a double star, the output of Algorithm 1 is a minimum independent dominating set.
Proof. Gains are local to the components, and whenever the greedy c 3 c_3 c 3 selects a vertex of a component C C C , that vertex has the largest gain ∣ N [ v ] ∩ U ∣ |N[v] \cap U| ∣ N [ v ] ∩ U ∣ among the undominated vertices of $C; we show that c 3 c_3 c 3 is optimal on every such component, and the output is no larger than c 3 c_3 c 3 (proof of Theorem 6.4 ). Complete multipartite C C C with parts P 1 , … , P r P_1,\ldots,P_r P 1 , … , P r : a vertex of P j P_j P j has gain ∣ C ∣ − ∣ P j ∣ + 1 |C|-|P_j|+1 ∣ C ∣ − ∣ P j ∣ + 1 , so the first vertex selected lies in a smallest part P P P ; it dominates every other part, the other vertices of P P P are undominated, have no undominated neighbour and are all selected, so c 3 ∩ C = P c_3 \cap C=P c 3 ∩ C = P . An independent dominating set that contains a vertex of a part contains no vertex of the other parts, hence all of that part to dominate it, so i ( C ) = min j ∣ P j ∣ i(C)=\min_j |P_j| i ( C ) = min j ∣ P j ∣ . Crown with sides { a 1 , … , a t } \{a_1,\ldots,a_t\} { a 1 , … , a t } , { b 1 , … , b t } \{b_1,\ldots,b_t\} { b 1 , … , b t } and a i b j ∈ E a_i b_j \in E a i b j ∈ E iff i ≠ j i\ne j i = j : all gains are t t t , so c 3 c_3 c 3 first selects, say, a 1 a_1 a 1 , which dominates every b j b_j b j with j ≠ 1 j\ne1 j = 1 ; then b 1 b_1 b 1 has gain t t t and every a i a_i a i , i ≥ 2 i\ge2 i ≥ 2 , has gain $2<t$, so b 1 b_1 b 1 is selected and dominates the rest; c 3 ∩ C = { a 1 , b 1 } c_3\cap C=\{a_1,b_1\} c 3 ∩ C = { a 1 , b 1 } , and no single vertex dominates C C C , so i ( C ) = 2 i(C)=2 i ( C ) = 2 . Wheel (a hub joined to a cycle): the hub has the largest gain ∣ C ∣ |C| ∣ C ∣ and dominates C C C , so c 3 ∩ C c_3\cap C c 3 ∩ C is the hub and i ( C ) = 1 i(C)=1 i ( C ) = 1 . Double star (adjacent hubs x , y x,y x , y with a ≥ b ≥ 1 a\ge b\ge1 a ≥ b ≥ 1 leaves): x x x has the largest gain a + 2 a+2 a + 2 ; selecting it dominates its leaves and y y y , and the b b b leaves of y y y are then selected, so ∣ c 3 ∩ C ∣ = 1 + b |c_3\cap C|=1+b ∣ c 3 ∩ C ∣ = 1 + b . An independent dominating set contains x x x (and then all leaves of y y y ), or y y y (and all leaves of x x x ), or neither (and all a + b a+b a + b leaves), so i ( C ) = 1 + min ( a , b ) = 1 + b i(C)=1+\min(a,b)=1+b i ( C ) = 1 + min ( a , b ) = 1 + b .
By Propositions 6.9 and 6.11, the bound ⌊ n ⌋ ( i ( G ) + s ( G ) ) \lfloor\sqrt{n}\rfloor(i(G)+s(G)) ⌊ n ⌋ ( i ( G ) + s ( G )) of Theorem 6.8 is weakest on complete graphs, where s ( G ) s(G) s ( G ) is of order n 3 / 2 n^{3/2} n 3/2 and i ( G ) = 1 i(G)=1 i ( G ) = 1 , and on balanced complete bipartite graphs, where s ( G ) s(G) s ( G ) is of order n 3 / 2 / 2 n^{3/2}/2 n 3/2 /2 ; on both, i ( G ) i(G) i ( G ) is attained by the greedy strategy c 3 c_3 c 3 and the output is optimal. The bound is useful when few vertices have degree larger than n \sqrt{n} n .
Corollary 6.12 (Few vertices of large degree). If ∣ B ∣ ≤ i ( G ) / ( n + 1 ) |B|\le i(G)/(\sqrt{n}+1) ∣ B ∣ ≤ i ( G ) / ( n + 1 ) , in particular if ∣ B ∣ ( n + 1 ) ( Δ + 1 ) ≤ n |B|(\sqrt{n}+1)(\Delta+1)\le n ∣ B ∣ ( n + 1 ) ( Δ + 1 ) ≤ n , then s ( G ) ≤ i ( G ) s(G)\le i(G) s ( G ) ≤ i ( G ) , and the decoded set S 0 S_0 S 0 of Theorem 6.8 has at most 2 ⌊ n ⌋ i ( G ) 2\lfloor\sqrt{n}\rfloor i(G) 2 ⌊ n ⌋ i ( G ) vertices; if S 0 S_0 S 0 is independent, the output has ratio at most 2 n 2\sqrt{n} 2 n .
Proof. By Proposition 6.9(ii), s ( G ) ≤ ∣ B ∣ ( n + 1 ) ≤ i ( G ) s(G)\le|B|(\sqrt{n}+1)\le i(G) s ( G ) ≤ ∣ B ∣ ( n + 1 ) ≤ i ( G ) , and i ( G ) ≥ n / ( Δ + 1 ) i(G)\ge n/(\Delta+1) i ( G ) ≥ n / ( Δ + 1 ) by Lemma 6.1 . Theorem 6.8 gives the rest.
Algorithm 5 is defined for every block size k ≥ 1 k\ge1 k ≥ 1 . For ε ∈ ( 0 , 1 ] \varepsilon\in(0,1] ε ∈ ( 0 , 1 ] , let DegreeSplitε _\varepsilon ε denote Algorithm 5 with k ε = max ( 1 , ⌊ n 1 − ε ⌋ ) k_\varepsilon=\max(1,\lfloor n^{1-\varepsilon}\rfloor) k ε = max ( 1 , ⌊ n 1 − ε ⌋) in place of max ( 1 , ⌊ n ⌋ ) \max(1,\lfloor\sqrt{n}\rfloor) max ( 1 , ⌊ n ⌋) , let B ε = { v : deg G ( v ) > k ε } B_\varepsilon=\{v:\deg_G(v)>k_\varepsilon\} B ε = { v : deg G ( v ) > k ε } , and define
s ε ( G ) = ∑ v ∈ B ε ( ⌈ deg G ( v ) k ε ⌉ − 1 ) . s_\varepsilon(G)=\sum_{v\in B_\varepsilon}\left(\left\lceil\frac{\deg_G(v)}{k_\varepsilon}\right\rceil-1\right). s ε ( G ) = v ∈ B ε ∑ ( ⌈ k ε deg G ( v ) ⌉ − 1 ) .
Strategy c 13 c_{13} c 13 is DegreeSplit1 / 2 _{1/2} 1/2 , with k 1 / 2 = k k_{1/2}=k k 1/2 = k and s 1 / 2 ( G ) = s ( G ) s_{1/2}(G)=s(G) s 1/2 ( G ) = s ( G ) .
Theorem 6.13 (Parametric degree splitting). Let ε ∈ ( 0 , 1 ] \varepsilon\in(0,1] ε ∈ ( 0 , 1 ] . For each inner solver of DegreeSplitε _\varepsilon ε , the decoded set S 0 S_0 S 0 is a dominating set of G G G with
∣ S 0 ∣ ≤ k ε ( i ( G ) + s ε ( G ) ) ≤ n 1 − ε ( i ( G ) + s ε ( G ) ) . |S_0|\le k_\varepsilon(i(G)+s_\varepsilon(G))\le n^{1-\varepsilon}(i(G)+s_\varepsilon(G)). ∣ S 0 ∣ ≤ k ε ( i ( G ) + s ε ( G )) ≤ n 1 − ε ( i ( G ) + s ε ( G )) . If S 0 S_0 S 0 is independent in G G G for one of the inner solvers, then the set S ε S_\varepsilon S ε returned by DegreeSplitε _\varepsilon ε is an independent dominating set of G G G with ∣ S ε ∣ ≤ k ε ( i ( G ) + s ε ( G ) ) |S_\varepsilon|\le k_\varepsilon(i(G)+s_\varepsilon(G)) ∣ S ε ∣ ≤ k ε ( i ( G ) + s ε ( G )) . For ε = 1 2 \varepsilon=\frac{1}{2} ε = 2 1 this is Theorem 6.8 .
Proof. The statements and proofs of Lemmas 5.1 , 6.6 and 6.7 use only that k k k is a positive integer, so they hold with k ε k_\varepsilon k ε , B ε B_\varepsilon B ε and s ε ( G ) s_\varepsilon(G) s ε ( G ) in place of k k k , B B B and s ( G ) s(G) s ( G ) : the copy graph H ε H_\varepsilon H ε has maximum degree at most k ε k_\varepsilon k ε , i ( H ε ) ≤ i ( G ) + s ε ( G ) i(H_\varepsilon)\le i(G)+s_\varepsilon(G) i ( H ε ) ≤ i ( G ) + s ε ( G ) , and decoding gives a dominating set S 0 S_0 S 0 with ∣ S 0 ∣ ≤ ∣ S H ∣ |S_0|\le|S_{H}| ∣ S 0 ∣ ≤ ∣ S H ∣ . Every inner solver returns a maximal independent set S H S_H S H of H ε H_\varepsilon H ε , and Lemma 6.1 , applied componentwise with max ( 1 , Δ ( H ε ) ) ≤ k ε \max(1,\Delta(H_\varepsilon))\le k_\varepsilon max ( 1 , Δ ( H ε )) ≤ k ε , gives ∣ S H ∣ ≤ k ε i ( H ε ) |S_H|\le k_\varepsilon i(H_\varepsilon) ∣ S H ∣ ≤ k ε i ( H ε ) . Finally k ε ≤ n 1 − ε k_\varepsilon\le n^{1-\varepsilon} k ε ≤ n 1 − ε , since n 1 − ε ≥ 1 n^{1-\varepsilon}\ge1 n 1 − ε ≥ 1 for n ≥ 1 n\ge1 n ≥ 1 . If S 0 S_0 S 0 is independent, Algorithm 2 returns S ε S_\varepsilon S ε (Lemma 6.7 ), and S ε S_\varepsilon S ε is the smallest of the repaired sets, each an independent dominating set by Lemma 4.1 .
Corollary 6.14 (Consequences of Theorem 6.13 ). Let G G G be a graph on n ≥ 1 n\ge1 n ≥ 1 vertices with m m m edges, and let ε ∈ ( 0 , 1 ] \varepsilon\in(0,1] ε ∈ ( 0 , 1 ] .
(i) Monotonicity. If 0 < ε ′ ≤ ε 0<\varepsilon'\le\varepsilon 0 < ε ′ ≤ ε , then k ε ′ ≥ k ε k_{\varepsilon'}\ge k_\varepsilon k ε ′ ≥ k ε , B ε ′ ⊆ B ε B_{\varepsilon'}\subseteq B_\varepsilon B ε ′ ⊆ B ε and s ε ′ ( G ) ≤ s ε ( G ) s_{\varepsilon'}(G)\le s_\varepsilon(G) s ε ′ ( G ) ≤ s ε ( G ) .
(ii) Weighted excess. ∑ v ∈ B ε ( deg ( v ) − k ε ) ≤ k ε s ε ( G ) ≤ ∑ v ∈ B ε ( deg ( v ) − 1 ) ≤ 2 m − ∣ B ε ∣ \sum_{v\in B_{\varepsilon}}(\deg(v)-k_\varepsilon)\le k_\varepsilon s_\varepsilon(G)\le\sum_{v\in B_{\varepsilon}}(\deg(v)-1)\le2m-|B_\varepsilon| ∑ v ∈ B ε ( deg ( v ) − k ε ) ≤ k ε s ε ( G ) ≤ ∑ v ∈ B ε ( deg ( v ) − 1 ) ≤ 2 m − ∣ B ε ∣ ; hence the bound of Theorem 6.13 satisfies k ε ( i ( G ) + s ε ( G ) ) ≤ k ε i ( G ) + 2 m − ∣ B ε ∣ k_\varepsilon(i(G)+s_\varepsilon(G))\le k_\varepsilon i(G)+2m-|B_\varepsilon| k ε ( i ( G ) + s ε ( G )) ≤ k ε i ( G ) + 2 m − ∣ B ε ∣ .
(iii) Lower bound. k ε i ( G ) + s ε ( G ) ≥ n − i ( G ) k_\varepsilon i(G)+s_\varepsilon(G)\ge n-i(G) k ε i ( G ) + s ε ( G ) ≥ n − i ( G ) .
(iv) Vanishing excess. s ε ( G ) = 0 s_{\varepsilon}(G)=0 s ε ( G ) = 0 if and only if Δ ≤ k ε \Delta\le k_{\varepsilon} Δ ≤ k ε , and then k ε ( i ( G ) + s ε ( G ) ) = k ε i ( G ) ≥ max ( 1 , Δ ) i ( G ) k_{\varepsilon}\left(i(G)+s_{\varepsilon}(G)\right)=k_{\varepsilon}i(G)\ge\max(1,\Delta)i(G) k ε ( i ( G ) + s ε ( G ) ) = k ε i ( G ) ≥ max ( 1 , Δ ) i ( G ) . If ε < 1 \varepsilon<1 ε < 1 and Δ ≤ D \Delta\le D Δ ≤ D for an integer D ≥ 1 D\ge1 D ≥ 1 , then s ε ( G ) = 0 s_{\varepsilon}(G)=0 s ε ( G ) = 0 for every n ≥ D 1 / ( 1 − ε ) n\ge D^{1/(1-\varepsilon)} n ≥ D 1/ ( 1 − ε ) ; in particular s 1 / 4 ( G ) = 0 s_{1/4}(G)=0 s 1/4 ( G ) = 0 for every n ≥ D 4 / 3 n\ge D^{4/3} n ≥ D 4/3 , and on every cubic graph with n ≥ 6 n\ge6 n ≥ 6 .
(vi) Bounded excess. If s ε ( G ) ≤ i ( G ) s_{\varepsilon}(G)\le i(G) s ε ( G ) ≤ i ( G ) , then ∣ S 0 ∣ ≤ 2 k ε i ( G ) ≤ 2 n 1 − ε i ( G ) |S_0|\le2k_{\varepsilon}i(G)\le2n^{1-\varepsilon}i(G) ∣ S 0 ∣ ≤ 2 k ε i ( G ) ≤ 2 n 1 − ε i ( G ) for every inner solver of DegreeSplitε _{\varepsilon} ε , and ∣ S ε ∣ ≤ 2 n 1 − ε i ( G ) |S_{\varepsilon}|\le2n^{1-\varepsilon}i(G) ∣ S ε ∣ ≤ 2 n 1 − ε i ( G ) when S 0 S_0 S 0 is independent.
(vii) Complete graphs. For n ≥ 2 n\ge2 n ≥ 2 , s ε ( K n ) = n ( ⌈ ( n − 1 ) / k ε ⌉ − 1 ) s_{\varepsilon}(K_n)=n\left(\left\lceil(n-1)/k_{\varepsilon}\right\rceil-1\right) s ε ( K n ) = n ( ⌈ ( n − 1 ) / k ε ⌉ − 1 ) , which is 0 0 0 if k ε ≥ n − 1 k_{\varepsilon}\ge n-1 k ε ≥ n − 1 and at least n n n otherwise; for every fixed ε ∈ ( 0 , 1 ] \varepsilon\in(0,1] ε ∈ ( 0 , 1 ] there is n 0 n_0 n 0 such that s ε ( K n ) ≥ n s_{\varepsilon}(K_n)\ge n s ε ( K n ) ≥ n for every n ≥ n 0 n\ge n_0 n ≥ n 0 . On K n K_n K n the output of Algorithm 1 is optimal.
Proof. (i) n 1 − ε ′ ≥ n 1 − ε n^{1-\varepsilon'}\ge n^{1-\varepsilon} n 1 − ε ′ ≥ n 1 − ε for n ≥ 1 n\ge1 n ≥ 1 , so k ε ′ ≥ k ε k_{\varepsilon'}\ge k_{\varepsilon} k ε ′ ≥ k ε ; a vertex of degree larger than k ε ′ k_{\varepsilon'} k ε ′ has degree larger than k ε k_{\varepsilon} k ε , and ⌈ d / k ⌉ \lceil d/k\rceil ⌈ d / k ⌉ is non-increasing in k k k , so every term of s ε ′ ( G ) s_{\varepsilon'}(G) s ε ′ ( G ) is at most the corresponding term of s ε ( G ) s_{\varepsilon}(G) s ε ( G ) , and the terms are non-negative. (ii) For integers d , k ≥ 1 d,k\ge1 d , k ≥ 1 , d / k ≤ ⌈ d / k ⌉ ≤ ( d − 1 ) / k + 1 d/k\le\lceil d/k\rceil\le(d-1)/k+1 d / k ≤ ⌈ d / k ⌉ ≤ ( d − 1 ) / k + 1 , so d − k ≤ k ( ⌈ d / k ⌉ − 1 ) ≤ d − 1 d-k\le k(\lceil d/k\rceil-1)\le d-1 d − k ≤ k (⌈ d / k ⌉ − 1 ) ≤ d − 1 ; summing over B ε B_{\varepsilon} B ε and using ∑ v ∈ B ε deg ( v ) ≤ 2 m \sum_{v\in B_{\varepsilon}}\deg(v)\le2m ∑ v ∈ B ε deg ( v ) ≤ 2 m gives the inequalities. (iii) The proof of Proposition 6.10 uses only that k k k is a positive integer, and applies with k ε k_{\varepsilon} k ε , B ε B_{\varepsilon} B ε and s ε ( G ) s_{\varepsilon}(G) s ε ( G ) . (iv) ⌈ d / k ε ⌉ − 1 = 0 \lceil d/k_{\varepsilon}\rceil-1=0 ⌈ d / k ε ⌉ − 1 = 0 exactly when d ≤ k ε d\le k_{\varepsilon} d ≤ k ε , so s ε ( G ) = 0 s_{\varepsilon}(G)=0 s ε ( G ) = 0 if and only if B ε = ∅ B_{\varepsilon}=\varnothing B ε = ∅ , that is Δ ≤ k ε \Delta\le k_{\varepsilon} Δ ≤ k ε ; then k ε ≥ max ( 1 , Δ ) k_{\varepsilon}\ge\max(1,\Delta) k ε ≥ max ( 1 , Δ ) . For an integer D ≥ 1 D\ge1 D ≥ 1 , ⌊ n 1 − ε ⌋ ≥ D \lfloor n^{1-\varepsilon}\rfloor\ge D ⌊ n 1 − ε ⌋ ≥ D if and only if n 1 − ε ≥ D n^{1-\varepsilon}\ge D n 1 − ε ≥ D , that is n ≥ D 1 / ( 1 − ε ) n\ge D^{1/(1-\varepsilon)} n ≥ D 1/ ( 1 − ε ) , and then k ε ≥ D ≥ Δ k_{\varepsilon}\ge D\ge\Delta k ε ≥ D ≥ Δ . For ε = 1 4 \varepsilon=\frac14 ε = 4 1 the exponent is 4 3 \frac43 3 4 ; a cubic graph has even n ≥ 4 n\ge4 n ≥ 4 , and ⌊ 6 3 / 4 ⌋ = 3 \lfloor6^{3/4}\rfloor=3 ⌊ 6 3/4 ⌋ = 3 , so k 1 / 4 ≥ 3 = Δ k_{1/4}\ge3=\Delta k 1/4 ≥ 3 = Δ for n ≥ 6 n\ge6 n ≥ 6 . (v) By (iv), max ( 1 , Δ ) ≤ k ε ≤ n 1 − ε \max(1,\Delta)\le k_{\varepsilon}\le n^{1-\varepsilon} max ( 1 , Δ ) ≤ k ε ≤ n 1 − ε , and Corollary 6.2 gives ∣ S ∣ ≤ max ( 1 , Δ ) i ( G ) |S|\le\max(1,\Delta)i(G) ∣ S ∣ ≤ max ( 1 , Δ ) i ( G ) . For ε = 1 4 \varepsilon=\frac14 ε = 4 1 , Δ ≤ ⌊ n 3 / 4 ⌋ \Delta\le\lfloor n^{3/4}\rfloor Δ ≤ ⌊ n 3/4 ⌋ gives max ( 1 , Δ ) ≤ n 3 / 4 \max(1,\Delta)\le n^{3/4} max ( 1 , Δ ) ≤ n 3/4 for n ≥ 1 n\ge1 n ≥ 1 . (vi) Theorem 6.13 with i ( G ) + s ε ( G ) ≤ 2 i ( G ) i(G)+s_{\varepsilon}(G)\le2i(G) i ( G ) + s ε ( G ) ≤ 2 i ( G ) . (vii) Every vertex of K n K_n K n has degree n − 1 n-1 n − 1 . If k ε ≥ n − 1 k_{\varepsilon}\ge n-1 k ε ≥ n − 1 , then B ε = ∅ B_{\varepsilon}=\varnothing B ε = ∅ ; otherwise every vertex lies in B ε B_{\varepsilon} B ε and ⌈ ( n − 1 ) / k ε ⌉ ≥ 2 \lceil(n-1)/k_{\varepsilon}\rceil\ge2 ⌈( n − 1 ) / k ε ⌉ ≥ 2 , so every vertex contributes at least 1. For fixed ε > 0 \varepsilon>0 ε > 0 , n 1 − ε / ( n − 1 ) → 0 n^{1-\varepsilon}/(n-1)\to0 n 1 − ε / ( n − 1 ) → 0 , so k ε ≤ n 1 − ε < n − 1 k_{\varepsilon}\le n^{1-\varepsilon}<n-1 k ε ≤ n 1 − ε < n − 1 for every n n n large enough. Optimality is Proposition 6.11.
The splitting excess on hard families. Proposition 6.15 and Table 3 give s ( G ) s(G) s ( G ) on the families on which MIDS is NP-hard, NP-hard to approximate, or on which, through the VC-IDS reduction of § 7 , it encodes a UG-hard vertex cover problem, and on further structured families.
Proposition 6.15 (Splitting excess on graph families). Let k = ⌊ n ⌋ k=\lfloor\sqrt{n}\rfloor k = ⌊ n ⌋ .
(a) Bounded degree. If Δ ≤ D \Delta\le D Δ ≤ D for a constant D D D , then s ( G ) = 0 s(G)=0 s ( G ) = 0 for every n ≥ D 2 n\ge D^2 n ≥ D 2 . This holds for cubic graphs with n ≥ 10 n\ge10 n ≥ 10 (Proposition 6.16 ); for graphs and bipartite graphs of maximum degree at most B B B with n ≥ B 2 n\ge B^2 n ≥ B 2 ; for the SC-IDS graphs of maximum degree B B B with n ≥ B 2 n\ge B^2 n ≥ B 2 ; for H H H with Δ ( H ) ≤ 2 D \Delta(H)\le2D Δ ( H ) ≤ 2 D and ∣ V ( H ) ∣ ≥ 2 D 2 |V(H)|\ge2D^2 ∣ V ( H ) ∣ ≥ 2 D 2 ; for graphs of maximum degree d d d with n ≥ d 2 n\ge d^2 n ≥ d 2 , the setting of [22 ] ; for grids with n ≥ 16 n\ge16 n ≥ 16 ; and for hypercubes Q q Q_q Q q with q ≥ 4 q\ge4 q ≥ 4 .
(b) Khot–Regev graphs. The YES graph with N N N blocks of s b s_b s b subsets on a d d d -regular constraint graph has n = N s b n=Ns_b n = N s b vertices and maximum degree at most d s b ds_b d s b , so s ( G ) ≤ n ( ⌈ d s b / k ⌉ − 1 ) s(G)\le n(\lceil ds_b/k\rceil-1) s ( G ) ≤ n (⌈ d s b / k ⌉ − 1 ) , and s ( G ) = 0 s(G)=0 s ( G ) = 0 when N ≥ d 2 s b N\ge d^2s_b N ≥ d 2 s b .
(c) Sparse graphs. s ( G ) ≤ 2 m / k s(G)\le2m/k s ( G ) ≤ 2 m / k ; for planar graphs s ( G ) ≤ ( 6 n − 12 ) / k s(G)\le(6n-12)/k s ( G ) ≤ ( 6 n − 12 ) / k , for bipartite planar graphs s ( G ) ≤ ( 4 n − 8 ) / k s(G)\le(4n-8)/k s ( G ) ≤ ( 4 n − 8 ) / k (sharper bounds in Proposition 6.18 ), and for graphs with m ≤ c n m\le cn m ≤ c n , s ( G ) ≤ 2 c n / k ≤ 2 c ( n + 2 ) s(G)\le2cn/k\le2c(\sqrt{n}+2) s ( G ) ≤ 2 c n / k ≤ 2 c ( n + 2 ) for n ≥ 4 n\ge4 n ≥ 4 .
(d) Sparse random graphs. For a constant c > 0 c>0 c > 0 , the random graph G ( n , c / n ) G(n,c/n) G ( n , c / n ) satisfies s ( G ) = 0 s(G)=0 s ( G ) = 0 with probability tending to 1 as n → ∞ n\to\infty n → ∞ .
(e) Few hubs. s ( K 1 , n − 1 ) = s ( W n ) = ⌈ ( n − 1 ) / k ⌉ − 1 s(K_{1,n-1})=s(W_n)=\lceil(n-1)/k\rceil-1 s ( K 1 , n − 1 ) = s ( W n ) = ⌈( n − 1 ) / k ⌉ − 1 for the star and the wheel, and the double star with a a a and b b b leaves has s = ( ⌈ ( a + 1 ) / k ⌉ − 1 ) + ( ⌈ ( b + 1 ) / k ⌉ − 1 ) s=(\lceil(a+1)/k\rceil-1)+(\lceil(b+1)/k\rceil-1) s = (⌈( a + 1 ) / k ⌉ − 1 ) + (⌈( b + 1 ) / k ⌉ − 1 ) .
(f) Dense graphs. If the minimum degree satisfies δ ( G ) > k \delta(G)>k δ ( G ) > k , then s ( G ) ≥ n ( ⌈ δ ( G ) / k ⌉ − 1 ) s(G)\ge n(\lceil\delta(G)/k\rceil-1) s ( G ) ≥ n (⌈ δ ( G ) / k ⌉ − 1 ) . The complete multipartite graph with parts of sizes n 1 , … , n r n_1,\ldots,n_r n 1 , … , n r has s = ∑ j n j ( ⌈ ( n − n j ) / k ⌉ − 1 ) s=\sum_j n_j(\lceil(n-n_j)/k\rceil-1) s = ∑ j n j (⌈( n − n j ) / k ⌉ − 1 ) , and the crown graph on n = 2 t n=2t n = 2 t vertices has s = n ( ⌈ ( t − 1 ) / k ⌉ − 1 ) s=n(\lceil(t-1)/k\rceil-1) s = n (⌈( t − 1 ) / k ⌉ − 1 ) .
Proof. (a) ⌊ n ⌋ ≥ D \lfloor\sqrt{n}\rfloor\ge D ⌊ n ⌋ ≥ D if and only if n ≥ D 2 n \ge D^2 n ≥ D 2 , and then Δ ≤ k \Delta\le k Δ ≤ k , so s ( G ) = 0 s(G)=0 s ( G ) = 0 by Proposition 6.9(i). The graph h ( H ) h(H) h ( H ) has ∣ V ( H ) ∣ + 6 ∣ E ( H ) ∣ |V(H)|+6|E(H)| ∣ V ( H ) ∣ + 6∣ E ( H ) ∣ vertices and maximum degree max ( Δ ( H ) , 3 ) \max(\Delta(H),3) max ( Δ ( H ) , 3 ) ; Q q Q_q Q q has $2^q$ vertices and degree q ≤ 2 q / 2 q\le2q/2 q ≤ 2 q /2 for q ≥ 4 q\ge4 q ≥ 4 ; grids have degree at most 4. (b) A vertex ( v , x ) (v,x) ( v , x ) is adjacent only to vertices of the d d d neighbouring blocks, each with s b s_b s b vertices; d s b ≤ N s b ds_b\le\sqrt{N}s_b d s b ≤ N s b if and only if N ≥ d 2 N\ge d^2 N ≥ d 2 . (c) Proposition 6.9(ii) with m ≤ 3 n − 6 m\le3n-6 m ≤ 3 n − 6 for planar and m ≤ 2 n − 4 m\le2n-4 m ≤ 2 n − 4 for bipartite planar graphs; n / ⌊ n ⌋ < n / ( n − 1 ) = n + 1 + 1 / ( n − 1 ) ≤ n + 2 n/\lfloor\sqrt{n}\rfloor<n/(\sqrt{n}-1)=\sqrt{n}+1+1/(\sqrt{n}-1)\le\sqrt{n}+2 n / ⌊ n ⌋ < n / ( n − 1 ) = n + 1 + 1/ ( n − 1 ) ≤ n + 2 for n ≥ 4. ( d ) F o r n\ge4. (d) For n ≥ 4. ( d ) F or t=k+1>\sqrt{n}$, a fixed vertex has degree at least t t t with probability at most ( c / n ) t ≤ ( e c / t ) t ≤ ( e c / n ) n (c/n)^t\le(ec/t)^t\le(ec/\sqrt{n})^{\sqrt{n}} ( c / n ) t ≤ ( ec / t ) t ≤ ( ec / n ) n once t > e c t>ec t > ec , so the probability that some vertex has degree larger than k k k is at most n ( e c / n ) n → 0 n(ec/\sqrt{n})^{\sqrt{n}}\to0 n ( ec / n ) n → 0 , and then s ( G ) = 0 s(G)=0 s ( G ) = 0 . (e) The hubs have degrees n − 1 n-1 n − 1 , a + 1 a+1 a + 1 and b + 1 b+1 b + 1 , every other vertex has degree at most 3 ≤ k 3\le k 3 ≤ k for n ≥ 9 n\ge9 n ≥ 9 , and the formula of s s s applies. (f) Every vertex lies in B B B and ⌈ deg ( v ) / k ⌉ ≥ ⌈ δ ( G ) / k ⌉ \lceil\deg(v)/k\rceil\ge\lceil\delta(G)/k\rceil ⌈ deg ( v ) / k ⌉ ≥ ⌈ δ ( G ) / k ⌉ ; a vertex of the part j j j has degree n − n j n-n_j n − n j , and every vertex of the crown has degree t − 1 t-1 t − 1 .
By Proposition 6.15 (a), on every family of bounded degree D D D on which MIDS is NP-hard or NP-hard to approximate, and on the VC-IDS graphs that encode UG-hard vertex cover instances of bounded degree, the splitting excess vanishes for n ≥ D 2 n\ge D^2 n ≥ D 2 : strategy c 13 c_{13} c 13 then solves G G G itself, and Theorem 6.8 gives the ratio ⌊ n ⌋ \lfloor\sqrt{n}\rfloor ⌊ n ⌋ , weaker than the ratio Δ \Delta Δ of Corollary 6.2. The excess is positive only on graphs with vertices of degree larger than n \sqrt{n} n ; it is of order at most n \sqrt{n} n on graphs with a constant number of such vertices or with O ( n ) O(n) O ( n ) edges, and of order n 3 / 2 n^{3/2} n 3/2 on dense graphs, among them the complete, complete multipartite and crown graphs, on which the output is optimal (Proposition 6.11). On all 55 instances of § 9.4 , Δ ≤ ⌊ n ⌋ \Delta\le\lfloor\sqrt{n}\rfloor Δ ≤ ⌊ n ⌋ (Table 6 : n ≥ 106 n\ge106 n ≥ 106 and Δ ≤ 6 \Delta\le6 Δ ≤ 6 for SC-IDS, n ≥ 500 n\ge500 n ≥ 500 and Δ ≤ 5 \Delta\le5 Δ ≤ 5 for the regular VC-IDS graphs, n ≥ 48172 n\ge48172 n ≥ 48172 and Δ = 64 \Delta=64 Δ = 64 for the VC-IDS graphs of Khot–Regev instances), so s = 0 s=0 s = 0 on all of them.
Table 6. Instances of the reductions of Chlebík and Chlebíková. “Ref.” counts instances with i i i proved; “Opt.”, “Subopt.” and “Open” classify ∣ D ∣ |D| ∣ D ∣ against it; “max ∣ D ∣ / L |D|/L ∣ D ∣/ L ” is the largest certified ratio, “max exc.” the largest ∣ D ∣ − L |D| - L ∣ D ∣ − L ; the last two columns give the number of optimal decoded covers and the largest ∣ C D ∣ / L τ |C_D|/L_\tau ∣ C D ∣/ L τ .
Cubic graphs. MIDS is APX-hard on cubic graphs [6 ] and NP-hard on cubic planar [5 ] and cubic planar bipartite graphs [4 ] . On these graphs the splitting excess is bounded by an absolute constant, and it vanishes from ten vertices on.
Proposition 6.16 (Splitting excess on cubic and bounded-degree graphs). Let k = max ( 1 , ⌊ n ⌋ ) k=\max(1,\lfloor\sqrt{n}\rfloor) k = max ( 1 , ⌊ n ⌋) .
(i) If G G G is cubic, then s ( G ) = n s(G)=n s ( G ) = n for n ∈ { 4 , 6 , 8 } n\in\{4,6,8\} n ∈ { 4 , 6 , 8 } and s ( G ) = 0 s(G)=0 s ( G ) = 0 for every n ≥ 10 n\ge10 n ≥ 10 ; hence s ( G ) ≤ 8 s(G)\le8 s ( G ) ≤ 8 for every cubic graph.
(ii) If Δ ( G ) ≤ 3 \Delta(G)\le3 Δ ( G ) ≤ 3 , then s ( G ) ≤ 8 s(G)\le8 s ( G ) ≤ 8 , and s ( G ) = 0 s(G)=0 s ( G ) = 0 for every n ≥ 9 n\ge9 n ≥ 9 .
(iii) If Δ ( G ) ≤ D \Delta(G)\le D Δ ( G ) ≤ D for an integer D ≥ 2 D\ge2 D ≥ 2 , then s ( G ) < D 2 ( D − 1 ) s(G)<D^2(D-1) s ( G ) < D 2 ( D − 1 ) , and s ( G ) = 0 s(G)=0 s ( G ) = 0 for every n ≥ D 2 n\ge D^2 n ≥ D 2 .
Proof. (i) A cubic graph has an even number n ≥ 4 n\ge4 n ≥ 4 of vertices, since 3 n = 2 m 3n=2m 3 n = 2 m . For n ∈ { 4 , 6 , 8 } n\in\{4,6,8\} n ∈ { 4 , 6 , 8 } , k = 2 k=2 k = 2 , every vertex has degree 3 > k 3>k 3 > k and contributes ⌈ 3 / 2 ⌉ − 1 = 1 \lceil3/2\rceil-1=1 ⌈ 3/2 ⌉ − 1 = 1 , so s ( G ) = n ≤ 8 s(G)=n\le8 s ( G ) = n ≤ 8 . For even n ≥ 10 n\ge10 n ≥ 10 , k ≥ 3 = Δ k\ge3=\Delta k ≥ 3 = Δ , so s ( G ) = 0 s(G)=0 s ( G ) = 0 by Proposition 6.9(i). (ii) For n ≤ 3 n \le3 n ≤ 3 , k = 1 k = 1 k = 1 , the degrees are at most 2, and every vertex contributes at most ⌈ 2 / 1 ⌉ − 1 = 1 \lceil2/1 \rceil- 1 = 1 ⌈ 2/1 ⌉ − 1 = 1 , so s ( G ) ≤ 3 s(G) \le3 s ( G ) ≤ 3 . For 4 ≤ n ≤ 8 4 \le n \le8 4 ≤ n ≤ 8 , k = 2 k = 2 k = 2 , a vertex of degree 3 contributes 1 and a vertex of degree at most 2 contributes 0, so s ( G ) ≤ n ≤ 8 s(G) \le n \le8 s ( G ) ≤ n ≤ 8 . For n ≥ 9 n \ge9 n ≥ 9 , k ≥ 3 ≥ Δ k \ge3 \ge\Delta k ≥ 3 ≥ Δ and s ( G ) = 0 s(G) = 0 s ( G ) = 0 . (iii) For n ≥ D 2 n \ge D^2 n ≥ D 2 , k ≥ D ≥ Δ k \ge D \ge\Delta k ≥ D ≥ Δ and s ( G ) = 0 s(G) = 0 s ( G ) = 0 . For n < D 2 n < D^2 n < D 2 , every vertex contributes ⌈ deg ( v ) / k ⌉ − 1 ≤ D − 1 \lceil\deg(v)/k \rceil- 1 \le D - 1 ⌈ deg ( v ) / k ⌉ − 1 ≤ D − 1 , since k ≥ 1 k \ge1 k ≥ 1 , so s ( G ) ≤ n ( D − 1 ) < D 2 ( D − 1 ) s(G) \le n(D - 1) < D^2(D - 1) s ( G ) ≤ n ( D − 1 ) < D 2 ( D − 1 ) .
On a cubic graph with n ≥ 10 n \ge10 n ≥ 10 , Algorithm 5 therefore splits no vertex, H = G H = G H = G , and c 13 c_{13} c 13 applies its inner solvers to G G G itself. The ratio of the output on cubic graphs is bounded by the regularity of the graph.
Theorem 6.17 (Regular graphs). If G G G is d d d -regular with d ≥ 1 d \ge1 d ≥ 1 , every independent dominating set S S S of G G G , in particular the output of Algorithm 1, satisfies ∣ S ∣ ≤ n / 2 |S| \le n/2 ∣ S ∣ ≤ n /2 and ∣ S ∣ / i ( G ) ≤ ( d + 1 ) / 2 |S|/i(G) \le(d + 1)/2 ∣ S ∣/ i ( G ) ≤ ( d + 1 ) /2 . On cubic graphs, n / 4 ≤ i ( G ) ≤ ∣ S ∣ ≤ n / 2 n/4 \le i(G) \le|S| \le n/2 n /4 ≤ i ( G ) ≤ ∣ S ∣ ≤ n /2 and the ratio is at most 2.
Proof. Let I I I be an independent set of G G G . Every vertex of I I I has its d d d neighbours in V ∖ I V \setminus I V ∖ I , and every vertex of V ∖ I V \setminus I V ∖ I has at most d d d neighbours in I I I , so counting the edges between I I I and V ∖ I V \setminus I V ∖ I gives d ∣ I ∣ ≤ d ( n − ∣ I ∣ ) d|I| \le d(n - |I|) d ∣ I ∣ ≤ d ( n − ∣ I ∣ ) , that is ∣ I ∣ ≤ n / 2 |I| \le n/2 ∣ I ∣ ≤ n /2 . The output is an independent dominating set (Theorem 4.3 ), and Lemma 6.1 gives i ( G ) ≥ n / ( d + 1 ) i(G) \ge n/(d + 1) i ( G ) ≥ n / ( d + 1 ) , so ∣ S ∣ / i ( G ) ≤ ( n / 2 ) / ( n / ( d + 1 ) ) = ( d + 1 ) / 2 |S|/i(G) \le(n/2)/(n/(d + 1)) = (d + 1)/2 ∣ S ∣/ i ( G ) ≤ ( n /2 ) / ( n / ( d + 1 )) = ( d + 1 ) /2 . For d = 3 d = 3 d = 3 , n / 4 ≤ i ( G ) n/4 \le i(G) n /4 ≤ i ( G ) and ( d + 1 ) / 2 = 2 (d + 1)/2 = 2 ( d + 1 ) /2 = 2 .
Planar graphs. MIDS is NP-hard on cubic planar graphs [5 ] and NP-complete on cubic planar bipartite graphs [4 ] , hence on planar and on bipartite planar graphs. On planar graphs the splitting excess is not bounded by a constant, but it is at most 2 n + O ( 1 ) 2\sqrt{n} + O(1) 2 n + O ( 1 ) , and the leading constant 2 is attained.
Proposition 6.18 (Splitting excess on planar graphs). Let G G G be a planar graph on n n n vertices, k = ⌊ n ⌋ k = \lfloor\sqrt{n} \rfloor k = ⌊ n ⌋ , B = { v : deg ( v ) > k } B = \{v : \deg(v) > k\} B = { v : deg ( v ) > k } and b = ∣ B ∣ b = |B| b = ∣ B ∣ .
(i) If n ≥ 36 n \ge36 n ≥ 36 , then b < 2 n / ( k − 5 ) b < 2n/(k - 5) b < 2 n / ( k − 5 ) and s ( G ) < 2 n / k + 10 n / ( k ( k − 5 ) ) s(G) < 2n/k + 10n/(k(k - 5)) s ( G ) < 2 n / k + 10 n / ( k ( k − 5 )) ; for n ≥ 400 n \ge400 n ≥ 400 , s ( G ) < 2 n + 19 s(G) < 2\sqrt{n} + 19 s ( G ) < 2 n + 19 .
(ii) If G G G is bipartite and n ≥ 16 n \ge16 n ≥ 16 , then b < 2 n / ( k − 3 ) b < 2n/(k - 3) b < 2 n / ( k − 3 ) and s ( G ) < 2 n / k + 6 n / ( k ( k − 3 ) ) s(G) < 2n/k + 6n/(k(k - 3)) s ( G ) < 2 n / k + 6 n / ( k ( k − 3 )) ; for n ≥ 400 n \ge400 n ≥ 400 , s ( G ) < 2 n + 12 s(G) < 2\sqrt{n} + 12 s ( G ) < 2 n + 12 .
(iii) For every n ≥ 16 n \ge16 n ≥ 16 , the planar bipartite graph K 2 , n − 2 K_{2,n-2} K 2 , n − 2 satisfies s ( K 2 , n − 2 ) = 2 ( ⌈ ( n − 2 ) / k ⌉ − 1 ) ≥ 2 n − 3 s(K_{2,n-2}) = 2(\lceil(n - 2)/k \rceil- 1) \ge2\sqrt{n} - 3 s ( K 2 , n − 2 ) = 2 (⌈( n − 2 ) / k ⌉ − 1 ) ≥ 2 n − 3 , and the output of Algorithm 1 on it is optimal.
Proof. Let R = V ∖ B R = V \setminus B R = V ∖ B , let e B e_B e B be the number of edges with both ends in B B B , e B R e_{BR} e B R the number of edges between B B B and R R R , and D = ∑ v ∈ B deg ( v ) = 2 e B + e B R D = \sum_{v \in B} \deg(v) = 2e_B + e_{BR} D = ∑ v ∈ B deg ( v ) = 2 e B + e B R . The subgraph of the edges between B B B and R R R is bipartite and planar, so e B R < 2 n e_{BR} < 2n e B R < 2 n (a bipartite planar graph on p ≥ 3 p \ge3 p ≥ 3 vertices has at most $2p - 4$ edges, and on p ≤ 2 p \le2 p ≤ 2 vertices at most 1). (i) G [ B ] G[B] G [ B ] is planar, so e B ≤ 3 b e_B \le3b e B ≤ 3 b and D < 6 b + 2 n D < 6b + 2n D < 6 b + 2 n ; every vertex of B B B has degree at least k + 1 k + 1 k + 1 , so b ( k + 1 ) ≤ D < 6 b + 2 n b(k + 1) \le D < 6b + 2n b ( k + 1 ) ≤ D < 6 b + 2 n , that is b ( k − 5 ) < 2 n b(k - 5) < 2n b ( k − 5 ) < 2 n , and k ≥ 6 k \ge6 k ≥ 6 for n ≥ 36 n \ge36 n ≥ 36 . By Proposition 6.9(ii), s ( G ) ≤ ( D − b ) / k < ( 5 b + 2 n ) / k < 2 n / k + 10 n / ( k ( k − 5 ) ) s(G) \le(D - b)/k < (5b + 2n)/k < 2n/k + 10n/(k(k - 5)) s ( G ) ≤ ( D − b ) / k < ( 5 b + 2 n ) / k < 2 n / k + 10 n / ( k ( k − 5 )) . For n ≥ 400 n \ge400 n ≥ 400 , k ≥ 20 k \ge20 k ≥ 20 , so k − 5 ≥ 3 k / 4 k - 5 \ge3k/4 k − 5 ≥ 3 k /4 , and n < ( k + 1 ) 2 n < (k + 1)^2 n < ( k + 1 ) 2 gives n / k 2 < 1.11 n/k^2 < 1.11 n / k 2 < 1.11 ; hence 10 n / ( k ( k − 5 ) ) ≤ 40 3 n / k 2 < 14.8 10n/(k(k - 5)) \le\frac{40}{3}n/k^2 < 14.8 10 n / ( k ( k − 5 )) ≤ 3 40 n / k 2 < 14.8 , and n / k < n + 2 n/k < \sqrt{n} + 2 n / k < n + 2 (proof of Proposition 6.15(c)) gives s ( G ) < 2 n + 4 + 14.8 < 2 n + 19 s(G) < 2\sqrt{n} + 4 + 14.8 < 2\sqrt{n} + 19 s ( G ) < 2 n + 4 + 14.8 < 2 n + 19 . (ii) If G [ B ] G[B] G [ B ] is bipartite planar, so e B ≤ 2 b e_B \le2b e B ≤ 2 b , D < 4 b + 2 n D < 4b + 2n D < 4 b + 2 n , b ( k − 3 ) < 2 n b(k - 3) < 2n b ( k − 3 ) < 2 n with k ≥ 4 k \ge4 k ≥ 4 for n ≥ 16 n \ge16 n ≥ 16 , and s ( G ) < ( 3 b + 2 n ) / k < 2 n / k + 6 n / ( k ( k − 3 ) ) s(G) < (3b + 2n)/k < 2n/k + 6n/(k(k - 3)) s ( G ) < ( 3 b + 2 n ) / k < 2 n / k + 6 n / ( k ( k − 3 )) . For n ≥ 400 n \ge400 n ≥ 400 , k − 3 ≥ 17 k / 20 k - 3 \ge17k/20 k − 3 ≥ 17 k /20 , so 6 n / ( k ( k − 3 ) ) ≤ 120 17 n / k 2 < 7.9 6n/(k(k - 3)) \le\frac{120}{17}n/k^2 < 7.9 6 n / ( k ( k − 3 )) ≤ 17 120 n / k 2 < 7.9 and s ( G ) < 2 n + 4 + 7.9 < 2 n + 12 s(G) < 2\sqrt{n} + 4 + 7.9 < 2\sqrt{n} + 12 s ( G ) < 2 n + 4 + 7.9 < 2 n + 12 . (iii) K 2 , n − 2 K_{2,n-2} K 2 , n − 2 is planar and bipartite. Its two vertices of degree n − 2 ≥ n ≥ k n - 2 \ge\sqrt{n} \ge k n − 2 ≥ n ≥ k form B B B , and the other vertices have degree 2 ≤ k 2 \le k 2 ≤ k , so s = 2 ( ⌈ ( n − 2 ) / k ⌉ − 1 ) ≥ 2 ( n − 2 ) / n − 2 = 2 n − 2 − 4 / n ≥ 2 n − 3 s = 2(\lceil(n - 2)/k \rceil- 1) \ge2(n - 2)/\sqrt{n} - 2 = 2\sqrt{n} - 2 - 4/\sqrt{n} \ge2\sqrt{n} - 3 s = 2 (⌈( n − 2 ) / k ⌉ − 1 ) ≥ 2 ( n − 2 ) / n − 2 = 2 n − 2 − 4/ n ≥ 2 n − 3 for $n \ge 16. The output is optimal by Proposition 6.11.
Circle graphs. A circle graph is the intersection graph of a set of chords of a circle; MIDS is NP-complete on circle graphs and, unless P = NP, not approximable within n ε n^\varepsilon n ε for any ε < 1 \varepsilon< 1 ε < 1 [3 ] . A chord model of n n n chords has 2 n 2n 2 n distinct endpoints, which we number 1 , … , 2 n 1,\ldots,2n 1 , … , 2 n around the circle from a point that is not an endpoint, and we write the chord of v v v as ( a v , b v ) (a_v,b_v) ( a v , b v ) with a v < b v a_v < b_v a v < b v ; two chords cross if and only if exactly one endpoint of one of them lies strictly between the endpoints of the other.
Proposition 6.19 (Splitting excess on circle graphs). (i) For a circle graph given by a chord model, deg ( v ) = b v − a v − 1 − 2 ∣ { u : a v < a u < b u < b v } ∣ \deg(v) = b_v - a_v - 1 - 2|\{u : a_v < a_u < b_u < b_v\}| deg ( v ) = b v − a v − 1 − 2∣ { u : a v < a u < b u < b v } ∣ for every chord v v v , so all degrees, B B B and s ( G ) s(G) s ( G ) can be computed in O ( n log n ) O(n \log n) O ( n log n ) time from the model, without listing the edges.
(ii) For every n ≥ 3 n \ge3 n ≥ 3 , the complete graph K n K_n K n and every complete bipartite graph K a , b K_{a,b} K a , b with a + b = n a + b = n a + b = n are circle graphs; hence the largest splitting excess among circle graphs on n n n vertices equals the maximum among all graphs, s ( K n ) = n ( ⌈ ( n − 1 ) / k ⌉ − 1 ) ≥ n 3 / 2 − n − n s(K_n) = n(\lceil(n - 1)/k \rceil- 1) \ge n^{3/2} - n - \sqrt{n} s ( K n ) = n (⌈( n − 1 ) / k ⌉ − 1 ) ≥ n 3/2 − n − n , and on these graphs the output of Algorithm 1 is optimal.
Proof. (i) The other 2 n − 2 2n-2 2 n − 2 endpoints are distinct, and b v − a v − 1 b_v-a_v-1 b v − a v − 1 of them lie strictly between a v a_v a v and b v b_v b v . A chord with both endpoints there does not cross v v v and contributes two of them, a chord with exactly one endpoint there crosses v v v and contributes one, and the other chords contribute none and do not cross v v v ; this gives the formula. The numbers ∣ { u : a v < a u < b u < b v } ∣ |\{u : a_v < a_u < b_u < b_v\}| ∣ { u : a v < a u < b u < b v } ∣ are counted for all v v v by scanning the chords by decreasing a v a_v a v and querying and updating a Fenwick tree over the right endpoints, in O ( n log n ) O(n \log n) O ( n log n ) time; B B B and s ( G ) s(G) s ( G ) then take O ( n ) O(n) O ( n ) time. (ii) The n n n diameters of a regular 2 n 2n 2 n -gon cross pairwise, so K n K_n K n is a circle graph. For K a , b K_{a,b} K a , b , take a horizontal and b b b vertical chords of the unit circle, all at distance less than 1 2 \frac{1}{2} 2 1 from the centre: chords of the same direction are disjoint, and every horizontal chord crosses every vertical one. Proposition 6.9(iii) gives the value of s ( K n ) s(K_n) s ( K n ) and its maximality, and Proposition 6.11 the optimality.
Conjecture 6.20 (Ratio n 1 − ε n^{1-\varepsilon} n 1 − ε with ε = 1 4 \varepsilon= \frac{1}{4} ε = 4 1 ). For every graph G G G on n n n vertices, the output S S S of Algorithm 1 satisfies ∣ S ∣ / i ( G ) ≤ n 3 / 4 |S|/i(G) \le n^{3/4} ∣ S ∣/ i ( G ) ≤ n 3/4 .
Since n ≤ n 3 / 4 \sqrt{n} \le n^{3/4} n ≤ n 3/4 for every n ≥ 1 n \ge1 n ≥ 1 and 2 n ≤ n 3 / 4 2\sqrt{n} \le n^{3/4} 2 n ≤ n 3/4 for every n ≥ 16 n \ge16 n ≥ 16 , Theorems 6.5 and 6.8 , Corollary 6.12 and Proposition 6.11 show that Conjecture 6.20 holds on every graph with Δ ≤ n \Delta\le\sqrt{n} Δ ≤ n , with i ( G ) ≥ n i(G) \ge\sqrt{n} i ( G ) ≥ n , or with α ( G ) ≤ n i ( G ) \alpha(G) \le\sqrt{n}i(G) α ( G ) ≤ n i ( G ) , on every graph with n ≥ 16 n \ge16 n ≥ 16 , s ( G ) ≤ i ( G ) s(G) \le i(G) s ( G ) ≤ i ( G ) and an independent decoded set, and on every graph whose components are complete multipartite, crown, wheel or double-star graphs.
Theorem 6.21 (Conditional consequence of Conjecture 6.20). If Conjecture 6.20 is proved, then P = N P \mathrm{P} = \mathrm{NP} P = NP .
Proof. Algorithm 1 runs in polynomial time (Theorem 5.2 ), so Conjecture 6.20 would give a polynomial-time approximation of MIDS within n 1 − ε n^{1-\varepsilon} n 1 − ε with ε = 1 4 \varepsilon= \frac{1}{4} ε = 4 1 , which is impossible unless P = N P \mathrm{P} = \mathrm{NP} P = NP [2 ] (see also Corollary 8.11 ).
Corollary 6.22 (Circle graphs). If Conjecture 6.20 is proved for circle graphs only, then P = N P \mathrm{P} = \mathrm{NP} P = NP .
Proof. Algorithm 1 takes the graph and needs no chord model, and it runs in polynomial time (Theorem 5.2 ). The conjecture on circle graphs would give a polynomial-time approximation of MIDS on circle graphs within n ε n^\varepsilon n ε with ε = 3 4 < 1 \varepsilon= \frac{3}{4} < 1 ε = 4 3 < 1 , which is impossible unless P = N P \mathrm{P} = \mathrm{NP} P = NP [3 ] .
Hard Instances and the Unique Games Conjecture
Chlebík and Chlebíková prove their bounded-degree results with two reductions [10 ] , which we use as instance generators.
SC-IDS. For a set system S \mathcal{S} S over a universe U \mathcal{U} U , take the bipartite incidence graph of S \mathcal{S} S and U \mathcal{U} U and attach to every set node S S S a path S S S –S ′ S' S ′ –S ′ ′ S'' S ′′ . The graph is bipartite, its maximum degree is the largest of the set sizes plus one and the element frequencies, and i = sc ( S ) + ∣ S ∣ i = \operatorname{sc}(\mathcal{S}) + |\mathcal{S}| i = sc ( S ) + ∣ S ∣ , where sc \operatorname{sc} sc is the minimum set cover size [10 ] .
VC-IDS. For a graph H H H with m H m_H m H edges, replace every edge u v uv uv by the gadget of Figure 1 : six new vertices a a a , b b b , c c c , d d d , x x x , y y y and the eight edges u a ua u a , a b ab ab , b c bc b c , c d cd c d , d v dv d v , b x bx b x , x y xy x y , y c yc y c . The graph h ( H ) h(H) h ( H ) has ∣ V ( H ) ∣ + 6 m H |V(H)| + 6m_H ∣ V ( H ) ∣ + 6 m H vertices, 8 m H 8m_H 8 m H edges and maximum degree max ( Δ ( H ) , 3 ) \max(\Delta(H), 3) max ( Δ ( H ) , 3 ) . Chlebík and Chlebíková use an edge gadget with these parameters and the identity of Proposition 7.1 [10 ] ; we prove the identity for the gadget of Figure 1 .
Figure 1. The edge gadget of the VC-IDS reduction: the edge u v uv uv of H H H is replaced by the path u u u –a a a –b b b –c c c –d d d –v v v and the square b b b –x x x –y y y –c c c .
Proposition 7.1 (VC-IDS identity). For every graph H H H without isolated vertices and with m H m_H m H edges, i ( h ( H ) ) = τ ( H ) + 2 m H i(h(H)) = \tau(H) + 2m_H i ( h ( H )) = τ ( H ) + 2 m H .
Proof. Let D D D be an independent dominating set of h ( H ) h(H) h ( H ) and fix the gadget of an edge u v uv uv . The vertex x x x is dominated only from { b , x , y } \{b,x,y\} { b , x , y } and y y y only from { x , y , c } \{x,y,c\} { x , y , c } ; since b b b and c c c are adjacent, D D D cannot dominate both without containing x x x or y y y , and since x x x and y y y are adjacent, D D D contains exactly one of them. Suppose x ∈ D x \in D x ∈ D (the case y ∈ D y \in D y ∈ D is symmetric, with u , a , b u,a,b u , a , b and v , d , c v,d,c v , d , c exchanged). Then b , y ∉ D b,y \notin D b , y ∈ / D , so c c c is dominated only from { c , d } \{c,d\} { c , d } and D D D contains c c c or d d d ; and a a a is dominated only from { u , a } \{u,a\} { u , a } , so D D D contains a a a when u ∉ D u \notin D u ∈ / D . Hence D D D meets the gadget in at least 2 vertices, and in at least 3 when neither u u u nor v v v is in D D D . Let X = D ∩ V ( H ) X = D \cap V(H) X = D ∩ V ( H ) and let q q q be the number of edges of H H H with no endpoint in X X X ; then ∣ D ∣ ≥ ∣ X ∣ + 2 m H + q |D| \ge|X| + 2m_H + q ∣ D ∣ ≥ ∣ X ∣ + 2 m H + q . Adding one endpoint of each of these q q q edges to X X X gives a vertex cover of H H H , so ∣ D ∣ ≥ τ ( H ) + 2 m H |D| \ge\tau(H) + 2m_H ∣ D ∣ ≥ τ ( H ) + 2 m H . Conversely, for a minimum vertex cover C C C of H H H , take C C C and, in every gadget, { a , y } \{a,y\} { a , y } if only v ∈ C v \in C v ∈ C , { d , x } \{d,x\} { d , x } if only u ∈ C u \in C u ∈ C , and { x , c } \{x,c\} { x , c } if u , v ∈ C u,v \in C u , v ∈ C . The set is independent and dominates every gadget vertex; a vertex u ∉ C u \notin C u ∈ / C has an edge, every edge at u u u has its other endpoint in C C C , and the corresponding gadget contains the neighbour a a a or d d d of u u u , so u u u is dominated. The set has τ ( H ) + 2 m H \tau(H) + 2m_H τ ( H ) + 2 m H vertices.
Lemma 7.2 (Decoding a vertex cover). For every independent dominating set D D D of h ( H ) h(H) h ( H ) , the set C D C_D C D formed by D ∩ V ( H ) D \cap V(H) D ∩ V ( H ) and one endpoint of every edge of H H H with no endpoint in D D D is a vertex cover of H H H with ∣ C D ∣ ≤ ∣ D ∣ − 2 m H |C_D| \le|D| - 2m_H ∣ C D ∣ ≤ ∣ D ∣ − 2 m H , computable in O ( ∣ V ( H ) ∣ + m H ) O(|V(H)| + m_H) O ( ∣ V ( H ) ∣ + m H ) time.
Proof. This is the inequality ∣ D ∣ ≥ ∣ X ∣ + 2 m H + q |D| \ge|X| + 2m_H + q ∣ D ∣ ≥ ∣ X ∣ + 2 m H + q of the proof of Proposition 7.1 .
Theorem 7.3 (Conditional consequence for vertex cover). Assume that for every fixed ε 0 > 0 \varepsilon_0 > 0 ε 0 > 0 it is NP-hard to approximate Minimum Vertex Cover within 2 − ε 0 2 - \varepsilon_0 2 − ε 0 . If for some fixed ε 0 > 0 \varepsilon_0 > 0 ε 0 > 0 the output D D D of Algorithm 1 satisfies ∣ D ∣ ≤ i ( h ( H ) ) + ( 1 − ε 0 ) τ ( H ) |D| \le i(h(H)) + (1 - \varepsilon_0)\tau(H) ∣ D ∣ ≤ i ( h ( H )) + ( 1 − ε 0 ) τ ( H ) for every graph H H H without isolated vertices, then P = NP. The assumption holds if UGC holds [12 ] , and in particular if the theorem reported in [13 ] holds; without any assumption, such a bound would refute UGC unless P = NP.
Proof. Isolated vertices belong to no minimum vertex cover and can be removed from H H H . h ( H ) h(H) h ( H ) has polynomial size, Algorithm 1 runs in polynomial time, and by Lemma 7.2 and Proposition 7.1 the decoded cover satisfies ∣ C D ∣ ≤ ∣ D ∣ − 2 m H ≤ τ ( H ) + ( 1 − ε 0 ) τ ( H ) = ( 2 − ε 0 ) τ ( H ) |C_D| \le|D| - 2m_H \le\tau(H) + (1 - \varepsilon_0)\tau(H) = (2 - \varepsilon_0)\tau(H) ∣ C D ∣ ≤ ∣ D ∣ − 2 m H ≤ τ ( H ) + ( 1 − ε 0 ) τ ( H ) = ( 2 − ε 0 ) τ ( H ) . Under the assumption this solves an NP-hard problem in polynomial time. The theorem of Khot and Regev [12 ] derives the assumption from UGC.
Bounded degree. Austrin, Khot and Safra proved that, assuming UGC, Minimum Vertex Cover on graphs of maximum degree d d d is hard to approximate within 2 − ( 2 + o d ( 1 ) ) log log d / log d 2 - (2 + o_d(1)) \log\log d / \log d 2 − ( 2 + o d ( 1 )) log log d / log d [22 ] . Since h ( H ) h(H) h ( H ) has maximum degree max ( Δ ( H ) , 3 ) \max(\Delta(H),3) max ( Δ ( H ) , 3 ) , the VC-IDS reduction transfers this bound to MIDS instances of bounded degree.
Corollary 7.4 (Bounded-degree instances). Assume UGC and P ≠ \ne = NP. For every δ > 0 \delta> 0 δ > 0 there is d 0 d_0 d 0 such that for every d ≥ d 0 d \ge d_0 d ≥ d 0 and every polynomial-time algorithm A \mathcal{A} A that returns independent dominating sets, in particular Algorithm 1, there is a graph H H H of maximum degree at most d d d without isolated vertices with
∣ A ( h ( H ) ) ∣ > i ( h ( H ) ) + ( 1 − ( 2 + δ ) log log d log d ) τ ( H ) , |\mathcal{A}(h(H))| > i(h(H)) + \left(1 - (2+\delta)\frac{\log\log d}{\log d}\right)\tau(H), ∣ A ( h ( H )) ∣ > i ( h ( H )) + ( 1 − ( 2 + δ ) log d log log d ) τ ( H ) , and h ( H ) h(H) h ( H ) has maximum degree at most max ( d , 3 ) \max(d,3) max ( d , 3 ) .
Proof. Write the factor of [22 ] as 2 − ( 2 + ε d ) log log d / log d 2 - (2 + \varepsilon_d)\log\log d/\log d 2 − ( 2 + ε d ) log log d / log d with ε d → 0 \varepsilon_d \to0 ε d → 0 , and choose d 0 d_0 d 0 with ε d < δ \varepsilon_d < \delta ε d < δ for d ≥ d 0 d \ge d_0 d ≥ d 0 . If the inequality failed for every such H H H , Lemma 7.2 and Proposition 7.1 would give a polynomial-time vertex cover algorithm with ratio at most 2 − ( 2 + δ ) log log d / log d 2 - (2+\delta)\log\log d/\log d 2 − ( 2 + δ ) log log d / log d , a smaller factor, on all graphs of maximum degree at most d d d (isolated vertices are removed first), which is UG-hard; under P ≠ \ne = NP this contradicts UGC.
Theorem 7.3 and Corollary 7.4 are conditional implications, not claims about Algorithm 1. The theorem of [13 ] had not been peer reviewed at the time of writing; we cite it as reported and have not checked the formalization. § 9.4 reports the measured values of ∣ D ∣ − i ( h ( H ) ) |D| - i(h(H)) ∣ D ∣ − i ( h ( H )) and ∣ C D ∣ / τ ( H ) |C_D|/\tau(H) ∣ C D ∣/ τ ( H ) on VC-IDS instances.
Application to Boolean Satisfiability
The SAT solver satypy 0.0.4 [23 ] decides a formula in conjunctive normal form in three stages: unit propagation and pure literal elimination, which answers UNSATISFIABLE on a conflict and otherwise commits literals and leaves a residual formula; an exact implication-graph solver when every residual clause has at most two literals; and otherwise a reduction of the residual formula to MIDS, solved by Siriaisa 0.0.8. Every SATISFIABLE answer is returned with an assignment, formed by the committed literals and the decoded literals, that is checked against every clause of the input formula. This section describes the third stage. Let φ \varphi φ be the residual formula, with p p p variables x 1 , … , x p x_1,\ldots,x_p x 1 , … , x p and q q q clauses C 1 , … , C q C_1,\ldots,C_q C 1 , … , C q , every clause a nonempty set of literals with no complementary pair.
Definition 8.1 (SAT-IDS graph). For an integer β ≥ 1 \beta\ge1 β ≥ 1 , the graph G β ( φ ) G_\beta(\varphi) G β ( φ ) has a literal vertex for each of the 2 p 2p 2 p literals x r , ¬ x r x_r, \neg x_r x r , ¬ x r and β \beta β clause vertices c j , 1 , … , c j , β c_{j,1},\ldots,c_{j,\beta} c j , 1 , … , c j , β for each clause C j C_j C j ; its edges are x r ¬ x r x_r\neg x_r x r ¬ x r for every variable and c j , t ℓ c_{j,t}\ell c j , t ℓ for every clause C j C_j C j , every t ≤ β t \le\beta t ≤ β and every literal ℓ ∈ C j \ell\in C_j ℓ ∈ C j . It has n = 2 p + q β n=2p+q\beta n = 2 p + q β vertices and p + β ∑ j ∣ C j ∣ p+\beta\sum_j |C_j| p + β ∑ j ∣ C j ∣ edges.
Lemma 8.2 (Structure of the SAT-IDS graph). Let β ≥ p \beta\ge p β ≥ p and let D D D be an independent dominating set of G = G β ( φ ) G=G_\beta(\varphi) G = G β ( φ ) .
(i) If D D D contains no clause vertex, then D D D contains exactly one of x r x_r x r and ¬ x r \neg x_r ¬ x r for every r r r , ∣ D ∣ = p |D|=p ∣ D ∣ = p , and the literals of D D D form a satisfying assignment of φ \varphi φ .
(ii) If D D D contains a clause vertex c j , t c_{j,t} c j , t , then D D D contains c j , 1 , … , c j , β c_{j,1},\ldots,c_{j,\beta} c j , 1 , … , c j , β .
(iii) If D D D contains a clause vertex, then ∣ D ∣ ≥ β + p |D| \ge\beta+p ∣ D ∣ ≥ β + p .
(iv) i ( G ) = p i(G)=p i ( G ) = p if φ \varphi φ is satisfiable, and i ( G ) ≥ β + p i(G)\ge\beta+p i ( G ) ≥ β + p otherwise; no independent dominating set of G G G has a size strictly between p p p and β + p \beta+p β + p .
(v) If an assignment of φ \varphi φ falsifies exactly one clause, then i ( G ) ≤ β + p i(G)\le\beta+p i ( G ) ≤ β + p ; in particular i ( G ) = β + p i(G)=\beta+p i ( G ) = β + p when φ \varphi φ is unsatisfiable and such an assignment exists.
Proof. (i) The neighbours of x r x_r x r and ¬ x r \neg x_r ¬ x r are each other and clause vertices, none of which lies in D D D , so D D D contains one of them, and not both since D D D is independent. Hence D D D consists of p p p literal vertices, one per variable, which form an assignment; every clause vertex c j , t ∉ D c_{j,t}\notin D c j , t ∈ / D has a neighbour in D D D , a literal of C j C_j C j set true. (ii) The neighbours of c j , t c_{j,t} c j , t are the literals of C j C_j C j , so none of them lies in D D D ; every c j , s c_{j,s} c j , s has the same neighbours, so it is dominated only by itself and lies in D D D . (iii) If D D D contains clause vertices of two clauses, then ∣ D ∣ ≥ 2 β ≥ β + p |D|\ge2\beta\ge\beta+p ∣ D ∣ ≥ 2 β ≥ β + p by (ii). Otherwise D D D contains the β \beta β clause vertices of exactly one clause C j C_j C j . For every variable x r x_r x r , C j C_j C j contains at most one of x r x_r x r and ¬ x r \neg x_r ¬ x r ; let y y y be one that C j C_j C j does not contain. The neighbours of y y y are its complement and clause vertices of clauses other than C j C_j C j , which are not in D D D ; so if neither x r x_r x r nor ¬ x r \neg x_r ¬ x r lies in D D D , then y y y is not dominated. Hence D D D contains a literal vertex of every variable and ∣ D ∣ ≥ β + p |D|\ge\beta+p ∣ D ∣ ≥ β + p . (iv) A satisfying assignment, as a set of p p p literal vertices, is independent and dominates the complementary literals and every clause vertex, and by (i) and (iii) every independent dominating set has p p p or at least β + p \beta+p β + p vertices; if φ \varphi φ is unsatisfiable, (i) excludes the first case. (v) Let the assignment σ \sigma σ falsify only C j C_j C j , and let D D D be the p p p literals of σ \sigma σ together with c j , 1 , … , c j , β c_{j,1},\ldots,c_{j,\beta} c j , 1 , … , c j , β . The neighbours of c j , t c_{j,t} c j , t are the literals of C j C_j C j , all false, so D D D is independent; the false literals are dominated by their complements, and the clause vertices of the other clauses by a true literal. So ∣ D ∣ = β + p |D|=\beta+p ∣ D ∣ = β + p , and (iv) gives the equality.
Number of copies
Lemma 8.3 (Number of copies). For integers p , q ≥ 1 p,q\ge1 p , q ≥ 1 , let Λ = 4 q 2 p 4 + 8 p 3 − 4 q p 3 \Lambda=4q^2p^4+8p^3-4qp^3 Λ = 4 q 2 p 4 + 8 p 3 − 4 q p 3 and β ∗ = 2 q p 2 + ⌊ Λ ⌋ + 1 − p \beta^*=2qp^2+\lfloor\sqrt{\Lambda}\rfloor+1-p β ∗ = 2 q p 2 + ⌊ Λ ⌋ + 1 − p . Then β ∗ \beta^* β ∗ is the least positive integer β \beta β with β + p > 2 p 2 p + q β \beta+p>2p\sqrt{2p+q\beta} β + p > 2 p 2 p + q β . Moreover p ≤ β ∗ ≤ 4 q p 2 + 1 p\le\beta^*\le4qp^2+1 p ≤ β ∗ ≤ 4 q p 2 + 1 .
Proof. Write C = β + p C=\beta+p C = β + p , so that 2 p + q β = q C + 2 p − q p > 0 2p+q\beta=qC+2p-qp>0 2 p + q β = q C + 2 p − q p > 0 . Both sides of the inequality are positive, so it is equivalent to f ( C ) = C 2 − 4 q p 2 C − ( 8 p 3 − 4 q p 3 ) > 0 f(C)=C^2-4qp^2C-(8p^3-4qp^3)>0 f ( C ) = C 2 − 4 q p 2 C − ( 8 p 3 − 4 q p 3 ) > 0 . The discriminant of f f f is 4 Λ 4\Lambda 4Λ with Λ = 4 p 3 ( q 2 p + 2 − q ) > 0 \Lambda=4p^3(q^2p+2-q)>0 Λ = 4 p 3 ( q 2 p + 2 − q ) > 0 , since q 2 p ≥ q q^2p\ge q q 2 p ≥ q , so f f f has the real roots r 1 , 2 = 2 q p 2 ∓ Λ r_{1,2}=2qp^2\mp\sqrt{\Lambda} r 1 , 2 = 2 q p 2 ∓ Λ . Since f ( p ) = p 2 − 8 p 3 < 0 f(p)=p^2-8p^3<0 f ( p ) = p 2 − 8 p 3 < 0 , r 1 < p < r 2 r_1<p<r_2 r 1 < p < r 2 , and every C ≥ p + 1 C\ge p+1 C ≥ p + 1 satisfies f ( C ) > 0 f(C)>0 f ( C ) > 0 if and only if C > r 2 C>r_2 C > r 2 . As 2 q p 2 2qp^2 2 q p 2 is an integer, the least integer larger than r 2 r_2 r 2 is 2 q p 2 + ⌊ Λ ⌋ + 1 2qp^2+\lfloor\sqrt{\Lambda}\rfloor+1 2 q p 2 + ⌊ Λ ⌋ + 1 , which gives β ∗ \beta^* β ∗ . Since Λ ≥ 0 \Lambda\ge0 Λ ≥ 0 , β ∗ ≥ p + 1 − p = p \beta^*\ge p+1-p=p β ∗ ≥ p + 1 − p = p . If q ≥ 2 q\ge2 q ≥ 2 , then Λ ≤ 4 q p 4 \Lambda\le4qp^4 Λ ≤ 4 q p 4 and β ∗ ≤ 4 q p 2 + 1 − p \beta^*\le4qp^2+1-p β ∗ ≤ 4 q p 2 + 1 − p ; if q = 1 q=1 q = 1 , then Λ = 4 p 4 + 4 p 3 < ( 2 p 2 + p ) 2 \Lambda=4p^4+4p^3<(2p^2+p)^2 Λ = 4 p 4 + 4 p 3 < ( 2 p 2 + p ) 2 and β ∗ ≤ 4 p 2 + 1 \beta^*\le4p^2+1 β ∗ ≤ 4 p 2 + 1 .
Lemma 8.4 (Copies for the ratio 2 p 2p 2 p ). For an integer p ≥ 1 p\ge1 p ≥ 1 , let β ^ = 2 p 2 − p + 1 \hat{\beta}=2p^2-p+1 β ^ = 2 p 2 − p + 1 . Then β ^ \hat{\beta} β ^ is the least integer β \beta β with β + p > 2 p 2 \beta+p>2p^2 β + p > 2 p 2 , β ^ ≥ p + 1 \hat{\beta}\ge p+1 β ^ ≥ p + 1 , and G β ^ ( φ ) G_{\hat{\beta}}(\varphi) G β ^ ( φ ) has n = 2 p + q β ^ ≤ 2 p + 2 q p 2 n=2p+q\hat{\beta}\le2p+2qp^2 n = 2 p + q β ^ ≤ 2 p + 2 q p 2 vertices and p + β ^ ∑ j ∣ C j ∣ p+\hat{\beta}\sum_j|C_j| p + β ^ ∑ j ∣ C j ∣ edges.
Proof. For an integer β \beta β , β + p > 2 p 2 \beta+p>2p^2 β + p > 2 p 2 if and only if β ≥ 2 p 2 − p + 1 \beta\ge2p^2-p+1 β ≥ 2 p 2 − p + 1 . Moreover β ^ − ( p + 1 ) = 2 p ( p − 1 ) ≥ 0 \hat{\beta}-(p+1)=2p(p-1)\ge0 β ^ − ( p + 1 ) = 2 p ( p − 1 ) ≥ 0 , and the counts follow from Definition 8.1 .
For a literal ℓ \ell ℓ of φ \varphi φ , let o ℓ o_\ell o ℓ be the number of clauses that contain ℓ \ell ℓ , let L = ∑ j ∣ C j ∣ = ∑ ℓ o ℓ L=\sum_j |C_j|=\sum_\ell o_\ell L = ∑ j ∣ C j ∣ = ∑ ℓ o ℓ be the number of literal occurrences of φ \varphi φ , and let λ \lambda λ be the number of literals with o ℓ ≥ 1 o_\ell\ge1 o ℓ ≥ 1 , so that λ ≤ 2 p \lambda\le2p λ ≤ 2 p .
Proposition 8.5 (Splitting excess of the SAT-IDS graph). Let β = β ∗ \beta=\beta^* β = β ∗ , G = G β ( φ ) G=G_\beta(\varphi) G = G β ( φ ) with n n n vertices and k = ⌊ n ⌋ k=\lfloor\sqrt{n}\rfloor k = ⌊ n ⌋ .
(i) k ≥ q p k\ge qp k ≥ q p ; the vertices of degree larger than k k k are exactly the literal vertices ℓ \ell ℓ with o ℓ ≥ 1 o_\ell\ge1 o ℓ ≥ 1 , the literal vertex ℓ \ell ℓ has degree 1 + β o ℓ 1+\beta o_\ell 1 + β o ℓ , and s ( G ) = ∑ ℓ : o ℓ ≥ 1 ( ⌈ ( 1 + β o ℓ ) / k ⌉ − 1 ) s(G)=\sum_{\ell:o_\ell\ge1}(\lceil(1+\beta o_\ell)/k\rceil-1) s ( G ) = ∑ ℓ : o ℓ ≥ 1 (⌈( 1 + β o ℓ ) / k ⌉ − 1 ) .
(ii) 2 p L − p L / k − λ < s ( G ) < 2 p L + ( ( p + 1 ) L + λ ) / k 2pL-pL/k-\lambda<s(G)<2pL+((p+1)L+\lambda)/k 2 p L − p L / k − λ < s ( G ) < 2 p L + (( p + 1 ) L + λ ) / k ; hence
1 − 1 2 k − 1 L < s ( G ) 2 p L < 1 + 1 k ( 1 + 1 L ) . 1-\frac{1}{2k}-\frac{1}{L}<\frac{s(G)}{2pL}<1+\frac{1}{k}\left(1+\frac{1}{L}\right). 1 − 2 k 1 − L 1 < 2 p L s ( G ) < 1 + k 1 ( 1 + L 1 ) . (iii) If every variable of φ \varphi φ occurs in φ \varphi φ both positively and negatively, then λ = 2 p \lambda=2p λ = 2 p , L ≥ 2 p L\ge2p L ≥ 2 p and s ( G ) > 4 p 2 − 2 p 2 / k − 2 p s(G)>4p^2-2p^2/k-2p s ( G ) > 4 p 2 − 2 p 2 / k − 2 p .
Proof. (i) By Lemma 8.3 , n > q β ≥ q ( 2 q p 2 + 1 − p ) = q 2 p 2 + q ( q p 2 + 1 − p ) > q 2 p 2 n>q\beta\ge q(2qp^2+1-p)=q^2p^2+q(qp^2+1-p)>q^2p^2 n > q β ≥ q ( 2 q p 2 + 1 − p ) = q 2 p 2 + q ( q p 2 + 1 − p ) > q 2 p 2 , so k ≥ q p ≥ p k\ge qp\ge p k ≥ q p ≥ p . A clause vertex c j , t c_{j,t} c j , t has degree ∣ C j ∣ ≤ p ≤ k |C_j|\le p\le k ∣ C j ∣ ≤ p ≤ k . A literal vertex ℓ \ell ℓ is adjacent to its complement and to the β \beta β clause vertices of each of the o ℓ o_\ell o ℓ clauses that contain it, so it has degree 1 + β o ℓ 1+\beta o_\ell 1 + β o ℓ ; for o ℓ = 0 o_\ell=0 o ℓ = 0 this is 1 ≤ k 1\le k 1 ≤ k . Since β + p > 2 p n ≥ 2 p k \beta+p>2p\sqrt n\ge2pk β + p > 2 p n ≥ 2 p k (Lemma 8.3 ), β > 2 p k − p ≥ k \beta>2pk-p\ge k β > 2 p k − p ≥ k , so for o ℓ ≥ 1 o_\ell\ge1 o ℓ ≥ 1 the degree 1 + β o ℓ 1+\beta o_\ell 1 + β o ℓ exceeds k k k . The formula for s ( G ) s(G) s ( G ) is the definition of the splitting excess. (ii) Since β ∗ ≥ 2 q p 2 + 1 − p ≥ 2 \beta^*\ge2qp^2+1-p\ge2 β ∗ ≥ 2 q p 2 + 1 − p ≥ 2 , the integer β − 1 ≥ 1 \beta-1\ge1 β − 1 ≥ 1 is not a solution of the inequality of Lemma 8.3 , so β − 1 + p ≤ 2 p 2 p + q ( β − 1 ) < 2 p n < 2 p ( k + 1 ) \beta-1+p\le2p\sqrt{2p+q(\beta-1)}<2p\sqrt n<2p(k+1) β − 1 + p ≤ 2 p 2 p + q ( β − 1 ) < 2 p n < 2 p ( k + 1 ) , that is β < 2 p k + p + 1 \beta<2pk+p+1 β < 2 p k + p + 1 ; together with β > 2 p k − p \beta>2pk-p β > 2 p k − p this gives 2 p − p / k < β / k < 2 p + ( p + 1 ) / k 2p-p/k<\beta/k<2p+(p+1)/k 2 p − p / k < β / k < 2 p + ( p + 1 ) / k . For every real x x x , x − 1 ≤ ⌈ x ⌉ − 1 < x x-1\le\lceil x\rceil-1<x x − 1 ≤ ⌈ x ⌉ − 1 < x , so by (i)
β L + λ k − λ ≤ s ( G ) < β L + λ k . \frac{\beta L+\lambda}{k}-\lambda\le s(G)<\frac{\beta L+\lambda}{k}. k β L + λ − λ ≤ s ( G ) < k β L + λ .
The lower bound is larger than ( 2 p − p / k ) L − λ (2p-p/k)L-\lambda ( 2 p − p / k ) L − λ , and the upper bound is smaller than ( 2 p + ( p + 1 ) / k ) L + λ / k (2p+(p+1)/k)L+\lambda/k ( 2 p + ( p + 1 ) / k ) L + λ / k . Dividing by 2 p L 2pL 2 p L and using λ ≤ 2 p \lambda\le2p λ ≤ 2 p and ( p + 1 ) / ( 2 p ) ≤ 1 (p+1)/(2p)\le1 ( p + 1 ) / ( 2 p ) ≤ 1 gives the ratio bounds. (iii) Every variable gives two literals with o ℓ ≥ 1 o_\ell\ge1 o ℓ ≥ 1 , so λ = 2 p \lambda=2p λ = 2 p and L = ∑ ℓ o ℓ ≥ 2 p L=\sum_\ell o_\ell\ge2p L = ∑ ℓ o ℓ ≥ 2 p ; since 2 p − p / k > 0 2p-p/k>0 2 p − p / k > 0 , (ii) gives s ( G ) > ( 2 p − p / k ) ⋅ 2 p − 2 p s(G)>(2p-p/k)\cdot2p-2p s ( G ) > ( 2 p − p / k ) ⋅ 2 p − 2 p .
By Proposition 8.5 (i), k ≥ q p k\ge qp k ≥ q p , so both error terms in (ii) tend to 0 as q p qp q p and L L L grow, and s ( G ) s(G) s ( G ) is asymptotic to 2 p L 2pL 2 p L .
Let μ ( φ ) \mu(\varphi) μ ( φ ) be the least number of clauses of φ \varphi φ falsified by an assignment, so that μ ( φ ) = 0 \mu(\varphi)=0 μ ( φ ) = 0 if and only if φ \varphi φ is satisfiable. For a set F F F of clause indices, let U ( F ) = ⋃ j ∈ F C j U(F)=\bigcup_{j\in F}C_j U ( F ) = ⋃ j ∈ F C j and let c ( F ) c(F) c ( F ) be the number of variables x r x_r x r with x r ∈ U ( F ) x_r\in U(F) x r ∈ U ( F ) and ¬ x r ∈ U ( F ) \neg x_r\in U(F) ¬ x r ∈ U ( F ) . A set T T T of literals completes F F F if, for every variable x r x_r x r , T T T contains the complement of ℓ \ell ℓ when ℓ \ell ℓ is the only one of x r , ¬ x r x_r,\neg x_r x r , ¬ x r in U ( F ) U(F) U ( F ) , exactly one of x r , ¬ x r x_r,\neg x_r x r , ¬ x r when neither lies in U ( F ) U(F) U ( F ) , and neither when both lie in U ( F ) U(F) U ( F ) , and if T T T contains a literal of every clause C j C_j C j with j ∉ F j\notin F j ∈ / F . F F F is admissible if some T T T completes it.
Theorem 8.6 (Independent domination and maximum satisfiability). Let β ≥ 1 \beta\ge1 β ≥ 1 and G = G β ( φ ) G=G_\beta(\varphi) G = G β ( φ ) .
(i) The independent dominating sets of G G G are exactly the sets T ∪ { c j , t : j ∈ F , t ≤ β } T\cup\{c_{j,t}:j\in F,\ t\le\beta\} T ∪ { c j , t : j ∈ F , t ≤ β } with F F F admissible and T T T completing F F F , and such a set has β ∣ F ∣ + p − c ( F ) \beta|F|+p-c(F) β ∣ F ∣ + p − c ( F ) vertices; hence i ( G ) = min F a d m i s s i b l e ( β ∣ F ∣ + p − c ( F ) ) i(G)=\min_{F\ \mathrm{admissible}}(\beta|F|+p-c(F)) i ( G ) = min F admissible ( β ∣ F ∣ + p − c ( F )) .
(ii) β μ ( φ ) ≤ i ( G ) ≤ β μ ( φ ) + p \beta\mu(\varphi)\le i(G)\le\beta\mu(\varphi)+p β μ ( φ ) ≤ i ( G ) ≤ β μ ( φ ) + p ; if β > p \beta>p β > p , then μ ( φ ) = ⌊ i ( G ) / β ⌋ \mu(\varphi)=\lfloor i(G)/\beta\rfloor μ ( φ ) = ⌊ i ( G ) / β ⌋ .
(iii) If β > p \beta>p β > p , every independent dominating set D D D of G G G contains the clause vertices of exactly ⌊ ∣ D ∣ / β ⌋ \lfloor|D|/\beta\rfloor ⌊ ∣ D ∣/ β ⌋ clauses, and its literal vertices, completed by arbitrary values on the variables with no literal in D D D , form an assignment that falsifies at most ⌊ ∣ D ∣ / β ⌋ \lfloor|D|/\beta\rfloor ⌊ ∣ D ∣/ β ⌋ clauses.
(iv) If β > p \beta>p β > p and ∣ D ∣ ≤ ρ i ( G ) |D|\le\rho\,i(G) ∣ D ∣ ≤ ρ i ( G ) for some ρ ≥ 1 \rho\ge1 ρ ≥ 1 , that assignment falsifies at most ρ ( μ ( φ ) + p / β ) \rho\left(\mu(\varphi)+p/\beta\right) ρ ( μ ( φ ) + p / β ) clauses.
For β = β ^ \beta=\hat{\beta} β = β ^ and β = β ∗ \beta=\beta^* β = β ∗ , (ii)–(iv) apply, since β ^ ≥ p + 1 \hat{\beta}\ge p+1 β ^ ≥ p + 1 and β ∗ ≥ 2 q p 2 + 1 − p > p \beta^*\ge2qp^2+1-p>p β ∗ ≥ 2 q p 2 + 1 − p > p (Lemmas 8.4 and 8.3 ).
Proof. (i) Let D D D be an independent dominating set, F F F the set of indices of the clauses with a clause vertex in D D D , and T T T the set of literal vertices of D D D . By Lemma 8.2 (ii), D D D contains c j , 1 , … , c j , β c_{j,1},\ldots,c_{j,\beta} c j , 1 , … , c j , β for every j ∈ F j \in F j ∈ F and no other clause vertex. Since D D D is independent, T T T contains no literal of U ( F ) U(F) U ( F ) , which is adjacent to a clause vertex of D D D , and at most one of x r , ¬ x r x_r,\neg x_r x r , ¬ x r . A literal vertex ℓ ∉ T \ell\notin T ℓ ∈ / T is dominated by its complement or by a clause vertex of D D D , that is, its complement lies in T T T or ℓ ∈ U ( F ) \ell\in U(F) ℓ ∈ U ( F ) . If both x r , ¬ x r x_r,\neg x_r x r , ¬ x r lie in U ( F ) U(F) U ( F ) , neither lies in T T T . If only ℓ \ell ℓ lies in U ( F ) U(F) U ( F ) , then ℓ ∉ T \ell\notin T ℓ ∈ / T and the complement of ℓ \ell ℓ , which is not in U ( F ) U(F) U ( F ) , is dominated only if it lies in T T T . If neither lies in U ( F ) U(F) U ( F ) , one of them lies in T T T . A clause vertex c j , t c_{j,t} c j , t with j ∉ F j \notin F j ∈ / F is dominated by a literal of C j C_j C j in T T T . Hence T T T completes F F F . Conversely, if T T T completes F F F , the set D = T ∪ { c j , t : j ∈ F , t ≤ β } D=T\cup\{c_{j,t}:j\in F,\ t\leq\beta\} D = T ∪ { c j , t : j ∈ F , t ≤ β } is independent, because clause vertices are pairwise non-adjacent, T T T holds at most one literal of every variable and no literal of U ( F ) U(F) U ( F ) ; it dominates every literal vertex not in T T T , by its complement or by a clause vertex of F F F , and every clause vertex c j , t c_{j,t} c j , t with j ∉ F j\notin F j ∈ / F , by a literal of C j C_j C j in T T T . T T T contains one literal of each of the p − c ( F ) p-c(F) p − c ( F ) variables that do not have both literals in U ( F ) U(F) U ( F ) , so ∣ D ∣ = β ∣ F ∣ + p − c ( F ) |D|=\beta|F|+p-c(F) ∣ D ∣ = β ∣ F ∣ + p − c ( F ) . (ii) Let σ \sigma σ be an assignment that falsifies exactly the μ ( φ ) \mu(\varphi) μ ( φ ) clauses of a set F σ F_\sigma F σ . Every literal of U ( F σ ) U(F_\sigma) U ( F σ ) is false under σ \sigma σ , so no variable has both literals in U ( F σ ) U(F_\sigma) U ( F σ ) and c ( F σ ) = 0 c(F_\sigma)=0 c ( F σ ) = 0 , and the set of true literals of σ \sigma σ completes F σ F_\sigma F σ ; by (i), i ( G ) ≤ β μ ( φ ) + p i(G)\leq\beta\mu(\varphi)+p i ( G ) ≤ β μ ( φ ) + p . Conversely, let T T T complete an admissible F F F . T T T holds at most one literal of every variable, so it extends to an assignment by arbitrary values on the variables with no literal in $T; this assignment satisfies every clause C j C_j C j with j ∉ F j\notin F j ∈ / F , so μ ( φ ) ≤ ∣ F ∣ \mu(\varphi)\leq|F| μ ( φ ) ≤ ∣ F ∣ and β ∣ F ∣ + p − c ( F ) ≥ β ∣ F ∣ ≥ β μ ( φ ) \beta|F|+p-c(F)\geq\beta|F|\geq\beta\mu(\varphi) β ∣ F ∣ + p − c ( F ) ≥ β ∣ F ∣ ≥ β μ ( φ ) , since c ( F ) ≤ p c(F)\leq p c ( F ) ≤ p . If β > p \beta>p β > p , then β μ ( φ ) ≤ i ( G ) < β ( μ ( φ ) + 1 ) \beta\mu(\varphi)\leq i(G)<\beta(\mu(\varphi)+1) β μ ( φ ) ≤ i ( G ) < β ( μ ( φ ) + 1 ) . (iii) By (i), ∣ D ∣ = β ∣ F ∣ + p − c ( F ) |D|=\beta|F|+p-c(F) ∣ D ∣ = β ∣ F ∣ + p − c ( F ) with $0\leq p-c(F)\leq p<\beta$, so ∣ F ∣ = ⌊ ∣ D ∣ / β ⌋ |F|=\lfloor|D|/\beta\rfloor ∣ F ∣ = ⌊ ∣ D ∣/ β ⌋ , and the assignment satisfies every clause outside F F F , as in (ii). (iv) By (iii) and (ii), the number of falsified clauses is at most ∣ D ∣ / β ≤ ρ i ( G ) / β ≤ ρ ( μ ( φ ) + p / β ) |D|/\beta\leq\rho\,i(G)/\beta\leq\rho\left(\mu(\varphi)+p/\beta\right) ∣ D ∣/ β ≤ ρ i ( G ) / β ≤ ρ ( μ ( φ ) + p / β ) .
Lemma 8.2 (iv) and (v) are the cases μ ( φ ) = 0 \mu(\varphi)=0 μ ( φ ) = 0 and μ ( φ ) = 1 \mu(\varphi)=1 μ ( φ ) = 1 of Theorem 8.6 .
With β = β ^ \beta=\hat{\beta} β = β ^ , satypy builds G = G β ( φ ) G=G_{\beta}(\varphi) G = G β ( φ ) and runs Algorithm 1 on it, with output S S S . Without branching (Proposition 8.13 ), it answers SATISFIABLE, with the literals of S S S , if ∣ S ∣ < β |S|<\beta ∣ S ∣ < β and the assignment passes the check; UNSATISFIABLE if ∣ S ∣ > 2 p 2 |S|>2p^2 ∣ S ∣ > 2 p 2 , that is, if ∣ S ∣ / p > 2 p |S|/p>2p ∣ S ∣/ p > 2 p ; and UNKNOWN otherwise. The number of copies β ∗ \beta^* β ∗ of Lemma 8.3 , with the threshold ∣ S ∣ > 2 p |S|>2\sqrt{p} ∣ S ∣ > 2 p , is the choice for the ratio 2 n 2\sqrt{n} 2 n .
Theorem 8.7 (Decisions of the MIDS stage). Let β = β ^ \beta=\hat{\beta} β = β ^ and G = G β ( φ ) G=G_{\beta}(\varphi) G = G β ( φ ) with n n n vertices, and let S S S be the output of Algorithm 1 on G G G .
(i) If ∣ S ∣ < β |S|<\beta ∣ S ∣ < β , then the literal vertices of S S S form a satisfying assignment of φ \varphi φ , and the answer is SATISFIABLE.
(ii) If ∣ S ∣ ≥ β |S|\geq\beta ∣ S ∣ ≥ β , then ∣ S ∣ ≥ β + p > 2 p 2 |S|\geq\beta+p>2p^2 ∣ S ∣ ≥ β + p > 2 p 2 , and the answer is UNSATISFIABLE; the stage never answers UNKNOWN.
(iii) If φ \varphi φ is unsatisfiable, the answer is UNSATISFIABLE.
(iv) If φ \varphi φ is satisfiable, the answer is UNSATISFIABLE if and only if S S S contains a clause vertex, and then ∣ S ∣ / i ( G ) ≥ ( β + p ) / p > 2 p |S|/i(G)\geq(\beta+p)/p>2p ∣ S ∣/ i ( G ) ≥ ( β + p ) / p > 2 p .
(v) If ∣ S ∣ / i ( G ) ≤ 2 p |S|/i(G)\leq2p ∣ S ∣/ i ( G ) ≤ 2 p , the answer is correct.
Proof. S S S is an independent dominating set of G G G (Theorem 4.3 ), and β ≥ p + 1 \beta\geq p+1 β ≥ p + 1 (Lemma 8.4 ). (i) ∣ S ∣ < β < β + p |S|<\beta<\beta+p ∣ S ∣ < β < β + p , so S S S contains no clause vertex by Lemma 8.2 (iii), and Lemma 8.2 (i) gives the assignment. It consists of one literal of every variable of φ \varphi φ , and the committed literals of the first stage satisfy the clauses that the first stage removed from the input formula and contain no variable of φ \varphi φ , so their union passes the check. (ii) ∣ S ∣ ≥ β > p |S|\geq\beta>p ∣ S ∣ ≥ β > p , so ∣ S ∣ ≥ β + p |S|\geq\beta+p ∣ S ∣ ≥ β + p by Lemma 8.2 (iv), and β + p > 2 p 2 \beta+p>2p^2 β + p > 2 p 2 by Lemma 8.4 . (iii) ∣ S ∣ ≥ i ( G ) ≥ β + p |S|\geq i(G)\geq\beta+p ∣ S ∣ ≥ i ( G ) ≥ β + p by Lemma 8.2 (iv), and (ii) applies. (iv) i ( G ) = p i(G)=p i ( G ) = p by Lemma 8.2 (iv); by (i) and (ii) the answer is UNSATISFIABLE if and only if ∣ S ∣ ≥ β |S|\geq\beta ∣ S ∣ ≥ β , that is, by Lemma 8.2 (i) and (iii), if and only if S S S contains a clause vertex, and then ∣ S ∣ ≥ β + p |S|\geq\beta+p ∣ S ∣ ≥ β + p . (v) If φ \varphi φ is satisfiable, ∣ S ∣ ≤ 2 p 2 < β + p |S|\leq2p^2<\beta+p ∣ S ∣ ≤ 2 p 2 < β + p , so S S S contains no clause vertex by Lemma 8.2 (iii), and the answer is SATISFIABLE by (iv) and (i); if φ \varphi φ is unsatisfiable, (iii) applies.
Independently of any conjecture, Theorem 8.7 shows that satypy answers UNSATISFIABLE on every unsatisfiable formula, that every SATISFIABLE answer carries a satisfying assignment, and that a wrong answer can only be UNSATISFIABLE on a satisfiable formula on which Algorithm 1 has ratio larger than 2 p = 2 i ( G ) 2p=2i(G) 2 p = 2 i ( G ) .
The proved bound of the degree-splitting strategy. Theorem 6.8 cannot replace the ratio assumption of Theorem 8.7 (v), for any number of copies.
Proposition 8.8 (No separation by the splitting bound). For every β ≥ 1 \beta\ge1 β ≥ 1 and every satisfiable φ \varphi φ , the graph G = G β ( φ ) G = G_{\beta}(\varphi) G = G β ( φ ) satisfies ⌊ n ⌋ ( i ( G ) + s ( G ) ) ≥ p + q β ≥ β + p \lfloor\sqrt{n}\rfloor(i(G)+s(G)) \ge p+q\beta\ge\beta+p ⌊ n ⌋ ( i ( G ) + s ( G )) ≥ p + q β ≥ β + p . Hence the bound of Theorem 6.8 on a satisfiable formula is never smaller than the size β + p \beta+p β + p that Lemma 8.2 (iii) guarantees for every independent dominating set with a clause vertex, and it does not imply that the output contains no clause vertex; in particular this holds for β = β ^ \beta=\hat{\beta} β = β ^ , for β = β ∗ \beta=\beta^* β = β ∗ and for β = β t \beta=\beta_t β = β t of Theorem 8.9 .
Proof. i ( G ) = p i(G)=p i ( G ) = p by Lemma 8.2 (iv), and n = 2 p + q β n=2p+q\beta n = 2 p + q β , so Proposition 6.10 gives ⌊ n ⌋ ( p + s ( G ) ) ≥ n − p = p + q β ≥ p + β \lfloor\sqrt{n}\rfloor(p+s(G)) \ge n-p=p+q\beta\ge p+\beta ⌊ n ⌋ ( p + s ( G )) ≥ n − p = p + q β ≥ p + β .
SAT-IDS graphs for the ratio n 1 − 1 / t n^{1-1/t} n 1 − 1/ t . The number of copies can be chosen for any ratio of the form n 1 − ε n^{1-\varepsilon} n 1 − ε with ε = 1 / t \varepsilon=1/t ε = 1/ t .
Theorem 8.9 (Gap of the SAT-IDS graph for the ratio n 1 − 1 / t n^{1-1/t} n 1 − 1/ t ). For an integer t ≥ 2 t \ge2 t ≥ 2 , let β t = p t ( 3 q ) t − 1 + 1 \beta_t=p^t(3q)^{t-1}+1 β t = p t ( 3 q ) t − 1 + 1 and G = G β t ( φ ) G=G_{\beta_t}(\varphi) G = G β t ( φ ) , with n = 2 p + q β t = 3 t − 1 p t q t + q + 2 p n=2p+q\beta_t=3^{t-1}p^tq^t+q+2p n = 2 p + q β t = 3 t − 1 p t q t + q + 2 p vertices.
(i) β t + p > p n 1 − 1 / t \beta_t+p>pn^{1-1/t} β t + p > p n 1 − 1/ t ; hence i ( G ) = p i(G)=p i ( G ) = p if φ \varphi φ is satisfiable, and i ( G ) ≥ β t + p > p n 1 − 1 / t i(G)\ge\beta_t+p>pn^{1-1/t} i ( G ) ≥ β t + p > p n 1 − 1/ t otherwise.
(ii) For every independent dominating set D D D of G G G with ∣ D ∣ ≤ n 1 − 1 / t i ( G ) |D|\le n^{1-1/t}i(G) ∣ D ∣ ≤ n 1 − 1/ t i ( G ) : φ \varphi φ is satisfiable if and only if ∣ D ∣ < β t |D|<\beta_t ∣ D ∣ < β t , and then the literal vertices of D D D form a satisfying assignment.
(iii) G G G has p + β t ∑ j ∣ C j ∣ p+\beta_t\sum_j|C_j| p + β t ∑ j ∣ C j ∣ edges and is built in time polynomial in p p p and q q q for every fixed t t t .
Proof. (i) β t > p \beta_t>p β t > p , so 2 p + q β t < 3 q β t 2p+q\beta_t<3q\beta_t 2 p + q β t < 3 q β t . Since β t > p t ( 3 q ) t − 1 \beta_t>p^t(3q)^{t-1} β t > p t ( 3 q ) t − 1 , β t 1 / t > p ( 3 q ) ( t − 1 ) / t \beta_t^{1/t}>p(3q)^{(t-1)/t} β t 1/ t > p ( 3 q ) ( t − 1 ) / t , and β t = β t 1 / t β t ( t − 1 ) / t > p ( 3 q β t ) 1 − 1 / t > p n 1 − 1 / t \beta_t=\beta_t^{1/t}\beta_t^{(t-1)/t}>p(3q\beta_t)^{1-1/t}>pn^{1-1/t} β t = β t 1/ t β t ( t − 1 ) / t > p ( 3 q β t ) 1 − 1/ t > p n 1 − 1/ t , so β t + p > p n 1 − 1 / t \beta_t+p>pn^{1-1/t} β t + p > p n 1 − 1/ t . Lemma 8.2 (iv) applies because β t ≥ p \beta_t\ge p β t ≥ p . (ii) If φ \varphi φ is satisfiable, ∣ D ∣ ≤ n 1 − 1 / t p < β t + p |D|\le n^{1-1/t}p<\beta_t+p ∣ D ∣ ≤ n 1 − 1/ t p < β t + p , so D D D contains no clause vertex by Lemma 8.2 (iii), and Lemma 8.2 (i) gives ∣ D ∣ = p < β t |D|=p<\beta_t ∣ D ∣ = p < β t and the assignment. If φ \varphi φ is unsatisfiable, ∣ D ∣ ≥ i ( G ) ≥ β t + p |D|\ge i(G)\ge\beta_t+p ∣ D ∣ ≥ i ( G ) ≥ β t + p . (iii) Definition 8.1 ; n n n and the number of edges are polynomials in p p p and q q q of degree 2 t 2t 2 t and 2 t + 1 2t+1 2 t + 1 .
Corollary 8.10 (Two values of the ratio). Let φ \varphi φ be satisfiable, β ≥ p \beta\ge p β ≥ p , G = G β ( φ ) G=G_{\beta}(\varphi) G = G β ( φ ) with n n n vertices, and D D D an independent dominating set of G G G . Then either ∣ D ∣ / i ( G ) = 1 |D|/i(G)=1 ∣ D ∣/ i ( G ) = 1 , and the literal vertices of D D D form a satisfying assignment, or D D D contains a clause vertex and ∣ D ∣ / i ( G ) ≥ ( β + p ) / p |D|/i(G)\ge(\beta+p)/p ∣ D ∣/ i ( G ) ≥ ( β + p ) / p . For β = β ^ \beta=\hat{\beta} β = β ^ , ( β + p ) / p > 2 p (\beta+p)/p>2p ( β + p ) / p > 2 p ; for β = β ∗ \beta=\beta^* β = β ∗ , ( β + p ) / p > 2 n (\beta+p)/p>2\sqrt{n} ( β + p ) / p > 2 n ; for β = β t \beta=\beta_t β = β t with t ≥ 2 t\ge2 t ≥ 2 , ( β + p ) / p > n 1 − 1 / t (\beta+p)/p>n^{1-1/t} ( β + p ) / p > n 1 − 1/ t , in particular ( β 4 + p ) / p > n 3 / 4 (\beta_4+p)/p>n^{3/4} ( β 4 + p ) / p > n 3/4 . Hence, for β = β ^ \beta=\hat{\beta} β = β ^ and every ρ ≤ 2 p \rho\le2p ρ ≤ 2 p , for β = β ∗ \beta=\beta^* β = β ∗ and every ρ ≤ 2 n \rho\le2\sqrt{n} ρ ≤ 2 n , and for β = β t \beta=\beta_t β = β t and every ρ ≤ n 1 − 1 / t \rho\le n^{1-1/t} ρ ≤ n 1 − 1/ t , ∣ D ∣ / i ( G ) ≤ ρ |D|/i(G)\le\rho ∣ D ∣/ i ( G ) ≤ ρ holds if and only if D D D is a minimum independent dominating set of G G G .
Proof. i ( G ) = p i(G)=p i ( G ) = p by Lemma 8.2 (iv). If D D D contains no clause vertex, ∣ D ∣ = p |D|=p ∣ D ∣ = p and its literal vertices form a satisfying assignment by Lemma 8.2 (i); otherwise ∣ D ∣ ≥ β + p |D|\ge\beta+p ∣ D ∣ ≥ β + p by Lemma 8.2 (iii). The inequalities for β ^ \hat{\beta} β ^ , β ∗ \beta^* β ∗ and β t \beta_t β t are Lemmas 8.4 and 8.3 and Theorem 8.9 (i), divided by p p p ; in both cases the second alternative gives ∣ D ∣ / i ( G ) > ρ |D|/i(G)>\rho ∣ D ∣/ i ( G ) > ρ , and the first gives ∣ D ∣ = i ( G ) |D|=i(G) ∣ D ∣ = i ( G ) .
Corollary 8.11 (Inapproximability through the SAT-IDS graph). For every ε > 0 \varepsilon>0 ε > 0 , unless P = N P \mathrm{P}=\mathrm{NP} P = NP , no polynomial-time algorithm returns, on every graph with n n n vertices, an independent dominating set of size at most n 1 − ε i ( G ) n^{1-\varepsilon}i(G) n 1 − ε i ( G ) .
Proof. Let t ≥ max ( 2 , 1 / ε ) t\ge\max(2,1/\varepsilon) t ≥ max ( 2 , 1/ ε ) , so that n 1 − ε ≤ n 1 − 1 / t n^{1-\varepsilon}\le n^{1-1/t} n 1 − ε ≤ n 1 − 1/ t . Given a formula in conjunctive normal form, unit propagation and pure literal elimination either decide it or leave a residual formula φ \varphi φ , every clause a nonempty set of literals with no complementary pair; the graph G β t ( φ ) G_{\beta_t}(\varphi) G β t ( φ ) is built in polynomial time by Theorem 8.9 (iii), and by Theorem 8.9 (ii) the size of the returned set decides φ \varphi φ . Satisfiability of formulas in conjunctive normal form is NP-complete.
Corollary 8.11 is the theorem of Halldórsson [2 ] ; Theorem 8.9 gives a self-contained proof of it through the SAT-IDS graph.
Corollary 8.12 (Conditional consequence for SAT). If Conjecture 6.20 is proved, then the MIDS stage of satypy with β = β 4 = 27 p 4 q 3 + 1 \beta=\beta_4=27p^4q^3+1 β = β 4 = 27 p 4 q 3 + 1 in place of β ^ \hat{\beta} β ^ , answering SATISFIABLE if and only if ∣ S ∣ < β 4 |S|<\beta_4 ∣ S ∣ < β 4 , decides every formula in conjunctive normal form correctly in polynomial time.
Proof. Unit propagation, pure literal elimination and the implication-graph solver are exact and run in polynomial time. G β 4 ( φ ) G_{\beta4}(\varphi) G β 4 ( φ ) has n = 27 p 4 q 4 + q + 2 p n = 27p^{4}q^{4} + q + 2p n = 27 p 4 q 4 + q + 2 p vertices and is built in polynomial time (Theorem 8.9 (iii)), and Algorithm 1 runs on it in polynomial time (Theorem 5.2 ). Conjecture 6.20 gives ∣ S ∣ ≤ n 3 / 4 i ( G ) |S| \le n^{3/4}i(G) ∣ S ∣ ≤ n 3/4 i ( G ) , and Theorem 8.9 (ii) with t = 4 t = 4 t = 4 gives the correctness.
Corollary 8.12 is a second route to the conclusion P = NP of Theorem 6.21 .
Branching on the clause named by the output. When ∣ S ∣ ≥ β |S| \ge\beta ∣ S ∣ ≥ β , the output itself names a clause on which the formula can be split exactly. satypy decodes the literal vertices of S S S , completes them with the value false on the variables with no literal in S S S , and, if the resulting assignment satisfies φ \varphi φ , answers SATISFIABLE with it; otherwise it chooses a shortest falsified clause C C C and decides every formula φ ∧ ℓ \varphi\land\ell φ ∧ ℓ , ℓ ∈ C \ell\in C ℓ ∈ C , by the same procedure with the depth decreased by one, up to a fixed depth d d d (d = 2 d = 2 d = 2 by default). It answers SATISFIABLE if a branch is satisfiable, with the checked assignment of that branch, and UNSATISFIABLE if every branch is unsatisfiable; at depth 0 it uses the rule of Theorem 8.7 .
Proposition 8.13 (Branching). Let β > p \beta> p β > p , G = G β ( φ ) G = G_{\beta}(\varphi) G = G β ( φ ) , S S S an independent dominating set of G G G with ∣ S ∣ ≥ β |S| \ge\beta ∣ S ∣ ≥ β , and w w w the largest clause width.
(i) S S S contains the clause vertices of exactly ⌊ ∣ S ∣ / β ⌋ ≥ 1 \lfloor|S|/\beta\rfloor\ge1 ⌊ ∣ S ∣/ β ⌋ ≥ 1 clauses, and the decoded assignment falsifies at most ⌊ ∣ S ∣ / β ⌋ \lfloor|S|/\beta\rfloor ⌊ ∣ S ∣/ β ⌋ clauses; if it falsifies none, φ \varphi φ is satisfiable.
(ii) For every clause C C C of φ \varphi φ , φ \varphi φ is satisfiable if and only if φ ∧ ℓ \varphi\land\ell φ ∧ ℓ is satisfiable for some literal ℓ ∈ C \ell\in C ℓ ∈ C .
(iii) Branching to depth d d d runs Algorithm 1 at most ∑ h = 0 d w h \sum_{h=0}^{d} w^{h} ∑ h = 0 d w h times, each time on the SAT-IDS graph of a formula with at most p p p variables and q q q clauses, so it runs in polynomial time for every fixed d d d .
(iv) Every UNSATISFIABLE answer on an unsatisfiable formula and every SATISFIABLE answer is correct. If a satisfiable φ \varphi φ is answered UNSATISFIABLE, there are satisfiable formulas φ = φ 0 , φ 1 , … , φ d \varphi= \varphi_{0}, \varphi_{1}, \ldots, \varphi_{d} φ = φ 0 , φ 1 , … , φ d , each φ h + 1 \varphi_{h+1} φ h + 1 the residual formula of φ h ∧ ℓ h \varphi_{h} \land\ell_{h} φ h ∧ ℓ h for a literal ℓ h \ell_{h} ℓ h , such that the output of Algorithm 1 on the SAT-IDS graph of every φ h \varphi_{h} φ h contains a clause vertex.
Proof. (i) Theorem 8.6 (iii); ∣ S ∣ / β ≥ 1 |S|/\beta\ge1 ∣ S ∣/ β ≥ 1 since ∣ S ∣ ≥ β |S| \ge\beta ∣ S ∣ ≥ β . (ii) Every satisfying assignment of φ \varphi φ satisfies C C C , hence some ℓ ∈ C \ell\in C ℓ ∈ C , and satisfies φ ∧ ℓ \varphi\land\ell φ ∧ ℓ ; the converse is immediate. (iii) Every node of the branching tree runs Algorithm 1 once and has at most w w w children, and the tree has depth at most d d d . Fixing a literal and simplifying removes at least one variable and no clause is added, so every formula of the tree has at most p p p variables and q q q clauses, and its SAT-IDS graph has polynomial size by Lemma 8.4 . (iv) SATISFIABLE answers carry checked assignments. An unsatisfiable formula is answered UNSATISFIABLE at every node: by (ii) every branch is unsatisfiable, and at depth 0 by Theorem 8.7 (iii). Let φ 0 \varphi_{0} φ 0 be satisfiable and answered UNSATISFIABLE. The exact stages answer it correctly, so it reaches the MIDS stage and the output on its graph has ∣ S ∣ ≥ β |S| \ge\beta ∣ S ∣ ≥ β , hence contains a clause vertex (Lemma 8.2 (i) and (iii)). If d ≥ 1 d \ge1 d ≥ 1 , by (ii) some branch φ 0 ∧ ℓ 0 \varphi_{0} \land\ell_{0} φ 0 ∧ ℓ 0 is satisfiable, and since every branch is answered UNSATISFIABLE, so is this one; its residual formula φ 1 \varphi_{1} φ 1 is satisfiable and answered UNSATISFIABLE with depth d − 1 d - 1 d − 1 , and induction on d d d gives the chain.
Experiments
All experiments use SIRIAISA 0.0.8 and the scripts of the folder car/ of the repository: run_car.py (§ 9.2 ), car_bipartite.py (§ 9.3 ), car_ugc.py (§ 9.4 ), and car_split.py, car_cubic.py, car_circle.py and car_bounded.py (§ 9.5 ); § 9.6 uses the command batch_iris of the package. § 9.7 uses the scripts small_formulas.py and strategy_search.py of the folder car/ of the satypy repository [23 ] , which imports that repository’s own satyPy/. The scripts were written with Claude (Claude Opus 5.5) and run by the author; they import the repository’s own siriasia/, so they run whether or not the package is installed. The environment is Windows 11, Python 3.12.3, NetworkX 3.6.1 [19 ] , NumPy 2.4.6 and SciPy 1.17.1 [24 ] ; wall-clock times are machine dependent.
Reference values
The reference values are computed by the scripts only and are never given to Siriaisa; every set returned by Siriaisa or by an integer program is verified to be an independent dominating set (respectively a vertex cover or a set cover) before its size is used.
min ∑ v ∈ V x v s.t. ∑ u ∈ N [ v ] x u ≥ 1 ∀ v ∈ V , x u + x v ≤ 1 ∀ { u , v } ∈ E , x ∈ { 0 , 1 } V \min\sum_{v\in V} x_v \quad\text{s.t.}\quad\sum_{u\in N[v]} x_u \ge1\ \ \forall v\in V,\qquad x_u+x_v\le1\ \ \forall\{u,v\}\in E,\qquad x\in\{0,1\}^{V} min v ∈ V ∑ x v s.t. u ∈ N [ v ] ∑ x u ≥ 1 ∀ v ∈ V , x u + x v ≤ 1 ∀ { u , v } ∈ E , x ∈ { 0 , 1 } V
solved by scipy.optimize.milp, which calls the HiGHS branch-and-cut solver [25 ] , with a sparse constraint matrix (scipy.sparse) and a time limit. When HiGHS reports an optimal status, the rounded objective is i ( G ) i(G) i ( G ) . When the time limit is reached, the dual bound mip_dual_bound of HiGHS gives the certified lower bound ⌈ L ⌉ ≤ i ( G ) \lceil L\rceil\le i(G) ⌈ L ⌉ ≤ i ( G ) , and the incumbent, if any, an upper bound; the interval [ ⌈ L ⌉ , min ( ∣ S ∣ , incumbent ) ] [\lceil L\rceil,\min(|S|,\text{incumbent})] [⌈ L ⌉ , min ( ∣ S ∣ , incumbent )] is reported and the instance is open unless ∣ S ∣ = ⌈ L ⌉ |S|=\lceil L\rceil ∣ S ∣ = ⌈ L ⌉ . The vertex cover program (min ∑ x v \min\sum x_v min ∑ x v , x u + x v ≥ 1 x_u+x_v\ge1 x u + x v ≥ 1 ) and the set cover program (min ∑ S x S \min\sum_{S}x_S min ∑ S x S , ∑ S ∋ e x S ≥ 1 \sum_{S\ni e}x_S\ge1 ∑ S ∋ e x S ≥ 1 ) are solved in the same way.
Linear relaxation of vertex cover. For the VC-IDS instances, the value of the linear relaxation of vertex cover is half the size of a maximum matching of the bipartite double cover H × K 2 H\times K_2 H × K 2 [26 ] ; it is computed with the Hopcroft–Karp algorithm [27 ] of NetworkX (bipartite.hopcroft_karp_matching) and rounded up, a certified lower bound on τ ( H ) \tau(H) τ ( H ) that needs no time limit.
Closed forms and identities. i = ⌈ n / 3 ⌉ i=\lceil n/3\rceil i = ⌈ n /3 ⌉ for paths and cycles, i ( K a , b ) = min ( a , b ) i(K_{a,b})=\min(a,b) i ( K a , b ) = min ( a , b ) and i = 2 i=2 i = 2 for crown graphs, checked against the integer program whenever it proves optimality; i = s c + ∣ S ∣ i=\mathrm{sc}+|S| i = sc + ∣ S ∣ for SC-IDS [10 ] and i ( h ( H ) ) = τ ( H ) + 2 m H i(h(H))=\tau(H)+2m_H i ( h ( H )) = τ ( H ) + 2 m H for VC-IDS (Proposition 7.1 ), which turn bounds on s c \mathrm{sc} sc and τ \tau τ into bounds on i i i .
Constructive upper bounds. For the Khot–Regev instances, the planted cover of the reduction, made independent greedily on violated constraints, bounds τ ( H ) \tau(H) τ ( H ) from above, and the construction of Proposition 7.1 turns it into an explicit independent dominating set of h ( H ) h(H) h ( H ) , which is verified; the cover C D C_D C D decoded from the output of Siriaisa (Lemma 7.2 ) is a second upper bound.
Generators. All random graphs are built with NetworkX generators (gnp_random_graph, bipartite.random_graph, random_regular_graph, bipartite.configuration_model, random_labeled_tree and others), each with its own seed derived from the master seed and the instance name.
The certified lower bound L B LB L B of Lemma 6.3 is used inside Siriaisa to stop its searches, not as a reference value.
Structured and random families
The script run_car.py generates 10,000 instances with at most 40 vertices from fifteen families (master seed 12345) and computes the exact optimum by the integer program with a time limit of 30 s. Every instance is tagged with the bound of Corollary 6.2 for its family: 1 for the rigid families, and the maximum degree for the bounded-degree and random families. Table 4 reports the results. The output is optimal on 9,999 instances; the remaining one is a Barabási–Albert graph with n = 20 n=20 n = 20 , m = 36 m=36 m = 36 and Δ = 7 \Delta=7 Δ = 7 , on which ∣ S ∣ = 6 |S|=6 ∣ S ∣ = 6 and i ( G ) = 5 i(G)=5 i ( G ) = 5 . No instance exceeds its bound. Siriaisa took 36.6 ms per instance on average, and the integer program 9.5 ms.
Table 4 : The suite of 10 000 graphs: number of instances, optimal outputs, mean and maximum ratio ∣ S ∣ / i ( G ) |S|/i(G) ∣ S ∣/ i ( G ) , the largest bound of Corollary 6.2 in the family, the mean maximum degree and the number of instances above the bound.
Table 4.
Bipartite graphs
MIDS is NP-complete on bipartite graphs [4 ] , so on these graphs there is no König-type formula for the optimum.
The script car_bipartite.py (option –quick) generates 112 bipartite graphs with 64 to 256 vertices from sixteen families: random bipartite graphs G ( n 1 , n 2 , p ) G(n_1,n_2,p) G ( n 1 , n 2 , p ) , balanced and with sides 1 : 2 1:2 1 : 2 , of average degree 3, 6 and 20; random d d d -regular bipartite graphs (d = 3 , 4 , 8 d = 3, 4, 8 d = 3 , 4 , 8 ); bipartite graphs with power-law degrees; double covers G × K 2 G \times K_2 G × K 2 of random 3- and 5-regular graphs; a perfect matching plus random edges; random trees, paths and even cycles; 2D and 3D grids, 2D grids with 30% of the edges deleted; complete bipartite and crown graphs; hypercubes Q 6 Q_6 Q 6 , Q 8 Q_8 Q 8 and their random halves. Labels are shuffled and every instance has its own generator, derived from the seed 20261031 and its name. The reference is the integer program with a time limit of 60 s and the closed forms of § 9.1 .
Table 5 reports the results. The optimum was proved on 95 instances, and the output is optimal on all of them. On the 17 open instances, all with n ≥ 200 n \ge200 n ≥ 200 , the ratio column gives the certified upper bound ∣ S ∣ / ⌈ L ⌉ |S|/\lceil L\rceil ∣ S ∣/ ⌈ L ⌉ ; on 15 of them ∣ S ∣ |S| ∣ S ∣ equals the best solution found by the integer program, and on two (G ( n / 3 , 2 n / 3 , p ) G(n/3, 2n/3, p) G ( n /3 , 2 n /3 , p ) with n = 200 n = 200 n = 200 and average degree 20) it exceeds it by one vertex (15 against 14, and 16 against 15). The strategies c 9 c_9 c 9 and c 11 c_{11} c 11 were exact (one forest layer, empty core) on the 8 trees and paths, as Theorem 6.4 requires. SIRIAISA took at most 10.8 s per instance and 362.2 s in total; the integer programs took 1 439.5 s and the whole run 1 803.9 s.
Table 5. Bipartite graphs: instances, instances with the optimum proved (“Ref.”), optimal, suboptimal and open outputs, maximum and mean ratio (certified upper bounds on open instances), and the time of Siriaisa in seconds.
Instances of the hardness reductions
The script car_ugc.py (option –quick, integer programs limited to 60 s) builds 55 instances of the two reductions of § 7 . The SC-IDS instances are bipartite, of maximum degree B ∈ { 4 , 5 , 6 } B \in\{4, 5, 6\} B ∈ { 4 , 5 , 6 } , built from random set systems with 30 or 60 sets of size B − 1 B - 1 B − 1 in which every element lies in at most B B B sets; the reference is the set cover integer program and i = s c + ∣ S ∣ i = \mathrm{sc} + |\mathcal{S}| i = sc + ∣ S ∣ . The VC-IDS instances are h ( H ) h(H) h ( H ) , none of whose graphs H H H has an isolated vertex, for random d d d -regular graphs H H H with d ∈ { 3 , 4 , 5 } d \in\{3, 4, 5\} d ∈ { 3 , 4 , 5 } and 50, 100 or 200 vertices, of maximum degree d d d , and for ten Khot–Regev YES instances H H H with 640 vertices (seed 20261009, the instances and names of Part D of the Salvador experiments [15 ] : a Unique Games instance on a random 4-regular graph with 40 vertices and a planted labelling, 16 subsets per block drawn from the p p p -biased measure, the base family k = 4 k = 4 k = 4 , p = 0.45 p = 0.45 p = 0.45 , η = 0 \eta= 0 η = 0 and the variants k = 3 k = 3 k = 3 , p = 0.35 p = 0.35 p = 0.35 , η = 0.1 \eta= 0.1 η = 0.1 and linear constraints, two instances each [12 ] ); these h ( H ) h(H) h ( H ) have 48 172 to 75 166 vertices and maximum degree 64. The reference is τ ( H ) \tau(H) τ ( H ) : L τ L_{\tau} L τ is the larger of the linear relaxation and the integer-program dual bound, and U τ U_{\tau} U τ the smaller of the integer-program value, the planted cover and the decoded cover of Lemma 7.2 ; by Proposition 7.1 , L τ + 2 m H ≤ i ( h ( H ) ) ≤ U τ + 2 m H L_{\tau} + 2m_H \le i(h(H)) \le U_{\tau} + 2m_H L τ + 2 m H ≤ i ( h ( H )) ≤ U τ + 2 m H , with equality when L τ = U τ L_{\tau} = U_{\tau} L τ = U τ (§ 9.1 ).
Table 6 reports the results. On the 18 SC-IDS instances the output is optimal. On the VC-IDS instances τ ( H ) \tau(H) τ ( H ) was proved on 30 of 37; on these the output is optimal on 2 (one 3-regular and one 4-regular graph with 50 vertices) and exceeds the optimum on 28; the certified ratio ∣ D ∣ / L |D|/L ∣ D ∣/ L is at most 1.0175 on the instances of Khot and Regev and at most 1.0375 on the regular graphs, and the largest excess ∣ D ∣ − L |D| - L ∣ D ∣ − L is 292 vertices. The decoded cover satisfies ∣ C D ∣ / L τ ≤ 1.35 |C_D|/L_{\tau} \le1.35 ∣ C D ∣/ L τ ≤ 1.35 on the regular graphs and lies between 1.25 and 1.8665 on the instances of Khot and Regev (mean 1.4826), where the planted cover has 347 to 416 vertices and the decoded cover 480 to 629. The random regular graphs H H H are not the hard instances of [22 ] , so they measure the algorithm on bounded-degree VC-IDS graphs without testing Corollary 7.4. The whole run took 1 061.5 s; Siriaisa took at most 25.6 s per instance.
The splitting excess on hard families
Four scripts measure the splitting excess s ( G ) s(G) s ( G ) and the output on the families of § 6 ; all of them were run with the option –quick, so that n ≤ 400 n \le400 n ≤ 400 on the random families, and the integer program has a time limit of 30 s for n ≤ 400 ( ‘ c a r s p l i t . p y ‘ , ‘ c a r c u b i c . p y ‘ , ‘ c a r c i r c l e . p y ‘ ) o r o f 60 s f o r n \le400 (`car_split.py`, `car_cubic.py`, `car_circle.py`) or of 60 s for n ≤ 400 ( ‘ c a r s pl i t . p y ‘ , ‘ c a r c u bi c . p y ‘ , ‘ c a r c i r c l e . p y ‘ ) or o f 60 s f or n \le 1,100 (car_bounded.py). Each script asserts on every instance the statements of § 6 that apply to it, and no assertion failed.
Hard and structured families. The script car_split.py (seed 20261101) builds 110 instances of 29 families and computes, on each, k k k , B B B , s ( G ) s(G) s ( G ) , the copy graph H H H of Algorithm 5, the decoded set S 0 S^0 S 0 of each inner solver and whether it is independent in G G G ; it asserts the bounds of Proposition 6.9(ii)–(iii), that ∣ V ( H ) ∣ = n − ∣ B ∣ + ∑ v ∈ B ⌈ deg ( v ) / k ⌉ |V(H)| = n - |B| + \sum_{v\in B}\lceil\deg(v)/k\rceil ∣ V ( H ) ∣ = n − ∣ B ∣ + ∑ v ∈ B ⌈ deg ( v ) / k ⌉ and Δ ( H ) ≤ k \Delta(H) \le k Δ ( H ) ≤ k , that every S 0 S^0 S 0 dominates G G G (Lemma 6.7 ), and that ∣ S 0 ∣ ≤ k ( U + s ( G ) ) |S^0| \le k\,(U + s(G)) ∣ S 0 ∣ ≤ k ( U + s ( G )) (Theorem 6.8 ). Table 7 reports the results. s ( G ) = 0 s(G) = 0 s ( G ) = 0 on all 54 instances of maximum degree at most k k k ; the largest excess, 7 600 = s ( K 400 ) = s(K_{400}) = s ( K 400 ) , is attained by the complete graph, and s ( G ) / n 3 / 2 ≤ 0.950 s(G)/n^{3/2} \le0.950 s ( G ) / n 3/2 ≤ 0.950 on all instances. The decoded set S 0 S^0 S 0 of some inner solver is independent on 69 instances, 15 of them with s ( G ) > 0 s(G) > 0 s ( G ) > 0 , and the largest value of ∣ S 0 ∣ / ( k ( U + s ( G ) ) ) |S^0|/(k\,(U + s(G))) ∣ S 0 ∣/ ( k ( U + s ( G ))) is 0.1264. The optimum is proved on 87 instances, among them K 200 , 200 K_{200,200} K 200 , 200 , whose integer program reached its time limit and for which i = 200 i = 200 i = 200 by Proposition 6.11; the output is optimal on 79 of them and exceeds the optimum by 1 to 5 vertices on the other 8 (a Delaunay graph, an SC-IDS graph, G ( n , 3 / n ) G(n,3/n) G ( n , 3/ n ) , two Barabási–Albert graphs and three Khot–Regev graphs of constraint degree 3). On the 23 open instances the lower bound is the integer-program dual bound for n ≤ 400 n \le400 n ≤ 400 and ⌈ n / ( Δ + 1 ) ⌉ \lceil n/(\Delta+ 1)\rceil ⌈ n / ( Δ + 1 )⌉ otherwise; the ratios 15.9 and 22.2 of the Khot–Regev and VC-IDS Khot–Regev graphs are ratios to ⌈ n / ( Δ + 1 ) ⌉ \lceil n/(\Delta+ 1)\rceil ⌈ n / ( Δ + 1 )⌉ . The run took 1 286.8 s.
Table 7. Splitting excess on hard and structured families (k = ⌊ n ⌋ k=\lfloor\sqrt{n}\rfloor k = ⌊ n ⌋ ): largest maximum degree, instances with s ( G ) = 0 s(G)=0 s ( G ) = 0 , largest s ( G ) s(G) s ( G ) and s ( G ) / n 3 / 2 s(G)/n^{3/2} s ( G ) / n 3/2 , and instances on which the decoded set S 0 S_0 S 0 of some inner solver is independent. “Ref.” counts instances with i ( G ) i(G) i ( G ) proved (integer program, closed form, planted value or reduction identity); “Opt.”, “Subopt.” and “Open” classify the output against it; “Max ratio” is the largest ∣ S ∣ / L |S|/L ∣ S ∣/ L for the certified lower bound L L L (an upper bound on the ratio of open instances); “Time” is the total time of Siriaisa in seconds. *Union of d d d random perfect matchings with repeated edges merged (maximum degree d d d ).
Cubic graphs. The script car_cubic.py (seed 20261102) builds 61 instances: every cubic graph on 4, 6 and 8 vertices (one, two and six graphs, collected as isomorphism classes of random 3-regular graphs), random cubic graphs of maximum degree 3 on 3 to 8 vertices, twelve named cubic graphs, and random cubic, cubic bipartite (three edge-disjoint random perfect matchings), double covers of random cubic graphs, cubic planar (duals of Delaunay triangulations with a triangular outer face), cubic planar bipartite (grown from the cube by inserting two rungs across an even face, which preserves planarity, bipartiteness and degree 3), random cubic graphs with 20% of the edges deleted, prisms, Möbius ladders and generalized Petersen graphs with 100 to 402 vertices. It asserts Proposition 6.16(i)–(ii), that the copy graph equals G G G when s ( G ) = 0 s(G)=0 s ( G ) = 0 , and Theorem 6.17: ∣ S ∣ ≤ n / 2 |S| \le n/2 ∣ S ∣ ≤ n /2 on regular graphs and ∣ S ∣ ≤ 2 L |S| \le2L ∣ S ∣ ≤ 2 L on cubic graphs. Table 8 reports the results. On the cubic graphs, s ( G ) = n s(G)=n s ( G ) = n for n ∈ { 4 , 6 , 8 } n\in\{4,6,8\} n ∈ { 4 , 6 , 8 } and s ( G ) = 0 s(G)=0 s ( G ) = 0 for n ≥ 10 n\ge10 n ≥ 10 , and on the graphs of maximum degree 3 with n ≤ 8 n\le8 n ≤ 8 , s ( G ) ≤ 6 s(G)\le6 s ( G ) ≤ 6 . The optimum is proved on 49 instances and the output is optimal on all of them; on the 12 open instances, all with 400 or 402 vertices, ∣ S ∣ / L ≤ 1.0792 |S|/L\le1.0792 ∣ S ∣/ L ≤ 1.0792 except on G P ( 200 , 2 ) GP(200,2) GP ( 200 , 2 ) , where ∣ S ∣ = 120 |S|=120 ∣ S ∣ = 120 and L = 103 L=103 L = 103 . ∣ S ∣ / n |S|/n ∣ S ∣/ n is at most 0.5, attained by K 3 , 3 K_{3,3} K 3 , 3 , and at most 0.3333 for n ≥ 10 n\ge10 n ≥ 10 ; strategy c 13 c_{13} c 13 alone is optimal on 15 of the 30 cubic graphs with n ≥ 10 n\ge10 n ≥ 10 and a proved optimum. The run took 582.7 s.
Table 8. Cubic and subcubic graphs: the values of s ( G ) s(G) s ( G ) , instances on which the copy graph is G G G (no vertex split), the classification of the output, and the largest ∣ S ∣ / n |S|/n ∣ S ∣/ n . “Ref.” counts instances with i ( G ) i(G) i ( G ) proved (integer program, closed form, planted value or reduction identity); “Opt.”, “Subopt.” and “Open” classify the output against it; “Max ratio” is the largest ∣ S ∣ / L |S|/L ∣ S ∣/ L for the certified lower bound L L L (an upper bound on the ratio of open instances); “Time” is the total time of Siriaisa in seconds. {sup}†`Petersen, Heawood, Möbius–Kantor, Pappus, Desargues, dodecahedron, truncated tetrahedron, truncated cube, Frucht, Tutte, McGee and Foster graphs.
Circle graphs. The script car_circle.py (seed 20261103) builds 40 circle graphs from chord models with 100 and 400 chords: chords with uniform random endpoints, short random chords of expected degree about 3, 10 and n \sqrt{n} n , permutation graphs, two or four long chords each crossed by nested short chords, and the models of Proposition 6.19 (ii) of K n K_n K n , K n / 2 , n / 2 K_{n/2,n/2} K n /2 , n /2 and K n / 4 , 3 n / 4 K_{n/4,3n/4} K n /4 , 3 n /4 , a star, a path and a cycle. It computes the degrees and s ( G ) s(G) s ( G ) from the model by Proposition 6.19 (i), checks them against the circle graph built from the crossings, and checks that the models of the complete, complete bipartite, star, path and cycle families give these graphs. Table 9 reports the results. The degrees from the model agree with the graph on all instances; computing s ( G ) s(G) s ( G ) from the model took at most 2.0 ms per instance and building the graph at most 53 ms. The excess reaches s ( K 400 ) = 7 600 s(K_{400}) = 7\,600 s ( K 400 ) = 7 600 on the diameters, s ( G ) / s ( K n ) ≤ 0.563 s(G)/s(K_n) \le0.563 s ( G ) / s ( K n ) ≤ 0.563 on the other families, and s ( G ) = 0 s(G) = 0 s ( G ) = 0 only on paths, cycles and three of the four sparsest random models. The optimum is proved on 38 instances, with the closed forms i ( K a , b ) = min ( a , b ) i(K_{a,b}) = \min(a,b) i ( K a , b ) = min ( a , b ) and i = ⌈ n / 3 ⌉ i = \lceil n/3\rceil i = ⌈ n /3 ⌉ for paths and cycles; the output is optimal on 34 and exceeds the optimum by 1 to 3 vertices on four graphs of short chords with 400 chords; the two open instances are uniform random models with 400 chords, with ∣ S ∣ / L ≤ 1.2143 |S|/L \le1.2143 ∣ S ∣/ L ≤ 1.2143 . The run took 241.0 s.
Table 9. Circle graphs built from chord models: largest number of edges and maximum degree, instances with s ( G ) = 0 s(G) = 0 s ( G ) = 0 , largest s ( G ) s(G) s ( G ) and s ( G ) / s ( K n ) s(G)/s(K_n) s ( G ) / s ( K n ) , instances with an independent decoded set S 0 S_0 S 0 . “Ref.” counts instances with i ( G ) i(G) i ( G ) proved (integer program, closed form, planted value or reduction identity); “Opt.”, “Subopt.” and “Open” classify the output against it; “Max ratio” is the largest ∣ S ∣ / L |S|/L ∣ S ∣/ L for the certified lower bound L L L (an upper bound on the ratio of open instances); “Time” is the total time of Siriaisa in seconds.
Bounded degree with n ≥ B 2 n \ge B^2 n ≥ B 2 . On graphs of maximum degree at most B B B with n ≥ B 2 n \ge B^2 n ≥ B 2 , s ( G ) = 0 s(G) = 0 s ( G ) = 0 (Proposition 6.15 (a)), and MIDS is NP-hard to approximate within δ B \delta B δ B for every B ≥ B 0 B \ge B_0 B ≥ B 0 [10 ] . The script car_bounded.py (seed 20261104) builds 44 such graphs for B ∈ { 4 , 8 , 16 , 32 } B \in\{4, 8, 16, 32\} B ∈ { 4 , 8 , 16 , 32 } with n ≥ max ( B 2 , 256 ) n \ge\max(B^2, 256) n ≥ max ( B 2 , 256 ) : random B B B -regular graphs, double covers of random B B B -regular graphs, B B B -regular graphs with a planted perfect code, SC-IDS graphs of degree B B B and VC-IDS graphs h ( H ) h(H) h ( H ) of random B B B -regular graphs H H H , and Khot–Regev YES graphs with constraint degree 3 and s b ∈ { 4 , 8 } s_b \in\{4, 8\} s b ∈ { 4 , 8 } samples per block (Δ ≤ 3 s b \Delta\le3s_b Δ ≤ 3 s b , with 9 s b + 4 9s_b + 4 9 s b + 4 blocks). A planted perfect code is a set D D D of t t t vertices, each with B B B private neighbours, the t B tB tB other vertices being joined by a random ( B − 1 ) (B-1) ( B − 1 ) -regular graph; the graph is B B B -regular, D D D is an independent dominating set, and ∣ D ∣ = n / ( B + 1 ) = ⌈ n / ( Δ + 1 ) ⌉ |D| = n/(B + 1) = \lceil n/(\Delta+ 1) \rceil ∣ D ∣ = n / ( B + 1 ) = ⌈ n / ( Δ + 1 )⌉ , so i ( G ) = ∣ D ∣ i(G) = |D| i ( G ) = ∣ D ∣ by Lemma 6.3. For SC-IDS and VC-IDS the identities i = s c + ∣ S ∣ i = \mathit{sc} + |S| i = sc + ∣ S ∣ and i = τ ( H ) + 2 m H i = \tau(H) + 2m_H i = τ ( H ) + 2 m H , with s c \mathit{sc} sc and τ ( H ) \tau(H) τ ( H ) bounded by integer programs, narrow the interval. The script asserts s ( G ) = 0 s(G) = 0 s ( G ) = 0 , ∣ S ∣ ≤ n / 2 |S| \le n/2 ∣ S ∣ ≤ n /2 on the regular graphs and that the planted code has size ⌈ n / ( Δ + 1 ) ⌉ \lceil n/(\Delta+ 1) \rceil ⌈ n / ( Δ + 1 )⌉ . Table 10 reports the results. s ( G ) = 0 s(G) = 0 s ( G ) = 0 on all 44 instances. The optimum is proved on 25 instances and the output is optimal on 18 of them, among them all 8 planted perfect codes, on graphs with up to 1 056 vertices and 16 896 edges; it exceeds the optimum by 1 vertex on two SC-IDS graphs and three VC-IDS graphs of degree 16 and 32, and by 1 and 2 vertices on two Khot–Regev graphs. On the 16 open random regular graphs the integer program did not improve on ⌈ n / ( Δ + 1 ) ⌉ \lceil n/(\Delta+ 1) \rceil ⌈ n / ( Δ + 1 )⌉ , and ∣ S ∣ / L |S|/L ∣ S ∣/ L grows from 1.1346 for B = 4 B = 4 B = 4 to 2.2500 for B = 32 B = 32 B = 32 ; on the two open SC-IDS graphs of degree 32 the output has 357 and 355 vertices against the integer-program bound 348 and L = 338 L = 338 L = 338 , and on the open Khot–Regev graph it has 173 vertices against 170 and L = 158 L = 158 L = 158 . The largest time of Siriaisa on an instance is 13.2 s, and the run took 1 551.2 s.
Table 10. Graphs of maximum degree B B B with n ≥ B 2 n \ge B^2 n ≥ B 2 , on which s ( G ) = 0 s(G) = 0 s ( G ) = 0 : instances, number of vertices and largest number of edges, instances with s ( G ) = 0 s(G) = 0 s ( G ) = 0 , the classification of the output, and the largest and mean ∣ S ∣ / L |S|/L ∣ S ∣/ L . “Ref.” counts instances with i ( G ) i(G) i ( G ) proved (integer program, closed form, planted value or reduction identity); “Opt.”, “Subopt.” and “Open” classify the output against it; “Max ratio” is the largest ∣ S ∣ / L |S|/L ∣ S ∣/ L for the certified lower bound L L L (an upper bound on the ratio of open instances); “Time” is the total time of Siriaisa in seconds.
Complements of the DIMACS clique benchmark
The complements of the 68 graphs of the DIMACS clique benchmark [28 ] , in the form distributed with the NPBench collection [29 ] , were solved with batch_iris on the folder experiment/ of the repository, with the size option and logging; Table 11 reports the size of the returned independent dominating set and the time of Siriaisa recorded in the log. The optimum is not known for these instances, and no integer program was run. The time ranged from 0.016 s (MANN_a9) to 15.0 s (p_hat700-1), with mean 2.87 s and total 195.1 s.
Table 11. Complements of the DIMACS clique benchmark graphs: size ∣ S ∣ |S| ∣ S ∣ of the returned set and time of Siriaisa in seconds.
The SAT-IDS graphs of satypy
The scripts small_formulas.py and strategy_search.py decide formulas with satypy 0.0.4, with β = β ^ \beta= \hat{\beta} β = β ^ copies (Lemma 8.4 ) and branching to depth 2 (Proposition 8.13 ), and with exhaustive search over all assignments, and compare the answers.
Small formulas. The script small_formulas.py used the eight DIMACS files of the folders benchmarks/simple and benchmarks/test_formulas of the satypy repository with at most ten variables and 180 random 3-CNF formulas, five for every number of variables from 3 to 5 and every number of clauses from 1 to 12 (seed 2026). All 188 answers agree with exhaustive search: 70 formulas are decided by unit propagation and pure literal elimination, 115 satisfiable formulas on the SAT-IDS graph of their residual formula, with ∣ S ∣ = p |S| = p ∣ S ∣ = p , and 3 unsatisfiable formulas by branching. The SAT-IDS graphs have 38 to 1 084 vertices and 99 to 3 222 edges, and each formula takes at most 5.0 seconds. Table 12 lists the graphs by residual size ( p , q ) (p, q) ( p , q ) . On the 3 unsatisfiable formulas ∣ S ∣ = β + p |S| = \beta+ p ∣ S ∣ = β + p , so by Theorem 8.6 (iii) the output contains the clause vertices of exactly one clause, and μ ( φ ) = 1 \mu(\varphi) = 1 μ ( φ ) = 1 .
Table 12: The SAT-IDS graphs of the 118 formulas of small_formulas.py decided on the MIDS graph, grouped by the residual size ( p , q ) (p,q) ( p , q ) and the answer of exhaustive search. “Count” is the number of formulas, β = β ^ \beta=\hat{\beta} β = β ^ , ∣ S ∣ |S| ∣ S ∣ the size of the output of Algorithm 1 on the graph of the residual formula, the same for all formulas of a row, and 2 p 2 2p^2 2 p 2 the threshold of the rule of Theorem 8.7 .
Table 12.
Formulas built for the MIDS stage. The script strategy_search.py generates 3-CNF formulas with 3 to 6 variables and at most 16 clauses (seed 2026) of three kinds and keeps those whose residual formula reaches the SAT-IDS graph: satisfiable formulas with a single satisfying assignment, planted and completed by clauses it satisfies; satisfiable formulas satisfied by neither constant assignment; and unsatisfiable formulas. It obtained 20, 20 and 19 such formulas. For every formula it records the answer of satypy and, on the SAT-IDS graph of the residual formula, the output of every strategy c 1 , … , c 18 c_1,\ldots,c_{18} c 1 , … , c 18 of Algorithm 1. All 59 answers agree with exhaustive search. On all 40 satisfiable formulas the output has ∣ S ∣ = p |S|=p ∣ S ∣ = p and the answer is decided on the graph without branching; the 19 unsatisfiable formulas are decided by branching, each with ∣ S ∣ = β + p |S|=\beta+p ∣ S ∣ = β + p and μ ( φ ) = 1 \mu(\varphi)=1 μ ( φ ) = 1 . On all 59 formulas ⌊ ∣ S ∣ / β ⌋ ≥ μ ( φ ) \lfloor|S|/\beta\rfloor\ge\mu(\varphi) ⌊ ∣ S ∣/ β ⌋ ≥ μ ( φ ) , and the decoded assignment falsifies at most ⌊ ∣ S ∣ / β ⌋ \lfloor|S|/\beta\rfloor ⌊ ∣ S ∣/ β ⌋ clauses, as Theorem 8.6 (ii) and Theorem 8.6 (iii) state. The graphs have 166 to 1084 vertices and 483 to 3222 edges, and each formula takes at most 30.7 seconds. Table 13 gives, for every strategy, the number of satisfiable formulas on which it returns p p p vertices.
Table 13: Number of the 40 satisfiable formulas of strategy_search.py on whose SAT-IDS graph each strategy of Algorithm 1 returns a minimum independent dominating set (p p p vertices).
Table 13.
By Lemma 8.4 , the SAT-IDS graph with β ^ = 2 p 2 − p + 1 \hat{\beta}=2p^2-p+1 β ^ = 2 p 2 − p + 1 copies grows as 2 q p 2 2qp^2 2 q p 2 . Table 14 gives its size for residual 3-CNF formulas with the numbers of variables and clauses of the uniform random benchmark uf20–91 and of three instances of the aim family.
Table 14. Size of the SAT-IDS graph of a residual 3-CNF formula with p p p variables and q q q clauses and β ^ \hat{\beta} β ^ copies (Lemma 8.4 ); ∣ E ∣ = p + 3 q β ^ |E| = p + 3q\hat{\beta} ∣ E ∣ = p + 3 q β ^ .
Conclusion
Siriaisa 0.0.8 returns an independent dominating set (Theorem 4.3 ) in O ( ( n + m ) α A ( n ) ) O((n + m)\alpha_A(n)) O (( n + m ) α A ( n )) expected time for the default parameters (Theorem 5.2 ). It combines twelve base strategies, five improvers and a refinement; the exact solver of the ensemble is a conditioned dynamic program on induced forests, which replaces the bipartite exact solvers of Salvador because MIDS is NP-complete on bipartite graphs. The output has ratio at most Δ \Delta Δ (Corollary 6.2), is optimal on forests (Theorem 6.4 ), and has ratio at most n \sqrt{n} n on the classes of Theorem 6.5 ; the degree-splitting strategy yields a dominating set of size at most ⌊ n ⌋ ( i ( G ) + s ( G ) ) \lfloor\sqrt{n}\rfloor(i(G) + s(G)) ⌊ n ⌋ ( i ( G ) + s ( G )) on every graph, and the output satisfies the same bound when the decoded set is independent (Theorem 6.8 ); the excess s ( G ) s(G) s ( G ) is largest on complete graphs, where the output is optimal, and it vanishes on the NP-hard and UG-hard families of bounded degree once n ≥ Δ 2 n \geq\Delta^2 n ≥ Δ 2 (Propositions 6.9, 6.11 and 6.15 ). On cubic graphs, on which MIDS is APX-hard, s ( G ) ≤ 8 s(G) \leq8 s ( G ) ≤ 8 , with s ( G ) = 0 s(G) = 0 s ( G ) = 0 for n ≥ 10 n \geq10 n ≥ 10 , and the output has ratio at most 2 (Proposition 6.16 and Theorem 6.17 ); on planar graphs with n ≥ 400 n \geq400 n ≥ 400 , s ( G ) < 2 n + 19 s(G) < 2\sqrt{n} + 19 s ( G ) < 2 n + 19 , and K 2 , n − 2 K_{2,n-2} K 2 , n − 2 attains s ≥ 2 n − 3 s \geq2\sqrt{n} - 3 s ≥ 2 n − 3 (Proposition 6.18 ). On circle graphs, on which MIDS is not approximable within n ε n^{\varepsilon} n ε for any ε < 1 \varepsilon< 1 ε < 1 unless P = NP, s ( G ) s(G) s ( G ) can be computed from a chord model in O ( n log n ) O(n \log n) O ( n log n ) time and reaches its largest value s ( K n ) s(K_n) s ( K n ) (Proposition 6.19 ), and Conjecture 6.20 restricted to circle graphs would imply P = NP (Corollary 6.22). On 10 000 structured and random graphs the output is optimal on 9 999; on 112 bipartite graphs it is optimal on all 95 instances with a proved optimum, and 17 are open; on the instances of the reductions of Chlebík and Chlebíková it is optimal on the 18 SC-IDS instances and on 2 of the 30 VC-IDS instances with a proved optimum, and the vertex cover decoded on the Khot–Regev instances has ratio between 1.25 and 1.8665. In the experiments of § 9.5 , the output is optimal on all 49 cubic graphs with a proved optimum, on all 8 planted perfect codes of degree up to 32, on 34 of the 38 circle graphs with a proved optimum, and on 79 of the 87 instances of the hard and structured families with a proved optimum.
On the SAT-IDS graph of the solver satypy 0.0.4, every independent dominating set has p p p or at least β + p > 2 p 2 \beta+ p > 2p^2 β + p > 2 p 2 vertices, so satypy answers every unsatisfiable formula correctly, every SATISFIABLE answer carries a satisfying assignment, and every answer is correct when the ratio on the graph is at most 2 p 2p 2 p (Theorem 8.7 ); the bound of Theorem 6.8 never separates satisfiable from unsatisfiable formulas (Proposition 8.8 ), branching on the clause named by the output is exact and polynomial for every fixed depth (Proposition 8.13 ), and with β t = p t ( 3 q ) t − 1 + 1 \beta_t = p^t(3q)^{t-1} + 1 β t = p t ( 3 q ) t − 1 + 1 copies every n 1 − 1 / t n^{1-1/t} n 1 − 1/ t -approximation decides satisfiability (Theorem 8.9 ), so that Conjecture 6.20 would decide every formula in polynomial time (Corollary 8.12 ); its independent domination number determines the minimum number of falsified clauses (Theorem 8.6 ), with β ∗ \beta^* β ∗ copies its splitting excess is asymptotic to 2 p L 2pL 2 p L (Proposition 8.5 ), and on 247 small formulas every answer agrees with exhaustive search, with an optimal output on all 155 satisfiable instances of the graph (§ 9.7 ).
We do not claim that Siriaisa has ratio n 3 / 4 n^{3/4} n 3/4 on every graph; this is Conjecture 6.20 , and a proof would imply P = NP (Theorem 6.21 ). Nor do we claim any bound of the form of Theorem 7.3 or Corollary 7.4, which would refute UGC unless P = NP, and would imply P = NP if the theorem reported in [13 ] holds. The implementation is freely available as the siriaisa package on PyPI [14 ] .
Acknowledgements
The author would like to thank Iris, Marilin, Sonia, Yoselin, and Arelis for their support.
Statements and Declarations
Declaration of interests
The author declares no competing interests.
Funding sources
This research did not receive any specific grant from funding agencies in the public, commercial, or not-for-profit sectors.
Declaration of generative AI in scientific writing
The author designed the strategies of Siriaisa, and used Claude Opus 5.5 to implement them by vibe coding, to write the experiment scripts of the folder car/, and to improve the readability of this manuscript; the author ran all the experiments. After using this tool, the author reviewed and edited the code and the content as needed and takes full responsibility for the content of the publication.
Data availability
Code and data: https://github.com/frankvegadelgado/mids (release v0.0.8); the experiments of § 9 are reproduced by running the scripts of car/ and the command batch_iris on the folder experiment/.