[Rule] KSatisfiability/K3 to BicliqueCover
Source
KSatisfiability with variant K3.
Target
BicliqueCover.
Motivation
BicliqueCover is connected forward to BMF and ILP, but there is no direct NP-hardness bridge from 3SAT/KSatisfiability into BicliqueCover.
This rule adds a source-backed direct construction:
KSatisfiability/K3 -> BicliqueCover
The reduction is useful because Chandran, Issac, and Karrenbauer give a polynomial-time reduction from 3SAT to BicliqueCover with logarithmic biclique-cover rank. This is stronger than routing through graph coloring when the rank parameter matters.
Reference
Primary construction:
S. Chandran, D. Issac, and A. Karrenbauer, "On the Parameterized Complexity of Biclique Cover and Partition", IPEC 2016, Theorem 6 and Section 3.
Repository reference PDF:
docs/research/raw/chandran2016-biclique-cover-partition.pdf
The issue draft was prepared from the paper's Theorem 6, Section 3 construction, Lemma 16, Lemma 17, Lemma 18, and Lemma 19.
Reduction Algorithm
Input: a 3-CNF formula psi with variables x_1, ..., x_n and clauses C_1, ..., C_m, where each clause has exactly three literals.
1. Normalize the source formula
The paper assumes:
n = 2^ell
every satisfying assignment has exactly n/2 true variables
For implementation, normalize an arbitrary 3SAT instance before applying the paper gadget:
- For each original variable
x_i, create two normalized variables t_i and f_i.
- Replace literal
x_i by t_i.
- Replace literal
not x_i by f_i.
- Add clauses enforcing exactly one of
t_i, f_i:
(t_i OR f_i OR f_i)
(not t_i OR not f_i OR not f_i)
- Add dummy exactly-one pairs until the total number of normalized variables is a power of two.
After normalization, let:
n = 2^ell normalized variable count
m = normalized clause count
Every satisfying normalized assignment has exactly n/2 true variables.
2. Build the target bipartite graph
Construct a bipartite graph G = (U, V, E) for BicliqueCover.
Partition the edges into:
E_imp important edges
E_free free edges
The free edges are forced to use exactly k_f bicliques that do not cover important edges. Satisfiability is encoded by whether the important edges can be covered with 2ell + 2 more bicliques.
3. Add the crown graph H
Create a crown graph H_n.
U(H) = {h_i^u : i in [n]}
V(H) = {h_i^v : i in [n]}
Add important edges:
h_i^u h_j^v for all i != j
The missing pairs h_i^u h_i^v represent the positive/negative conflict for variable x_i.
4. Add clause gadgets P_i
For each clause C_i, add an induced matching P_i of size 3:
U(P_i) = {p_i1^u, p_i2^u, p_i3^u}
V(P_i) = {p_i1^v, p_i2^v, p_i3^v}
Add important edges:
p_ia^u p_ia^v for a in {1,2,3}
Edge p_ia^u p_ia^v corresponds to literal C_i^a.
5. Add domino gadgets S_j
For each j in [ell], add a domino graph S_j:
U(S_j) = {s_j1^u, s_j2^u, s_j3^u}
V(S_j) = {s_j1^v, s_j2^v, s_j3^v}
Add the domino's seven important edges:
(s_j1^u, s_j1^v)
(s_j1^u, s_j2^v)
(s_j2^u, s_j1^v)
(s_j2^u, s_j2^v)
(s_j2^u, s_j3^v)
(s_j3^u, s_j2^v)
(s_j3^u, s_j3^v)
The pair of bicliques covering each domino induces a duplex biclique cover of the crown graph.
6. Add guard gadget Q
Add an induced matching Q of size 2:
U(Q) = {q_1^u, q_2^u}
V(Q) = {q_1^v, q_2^v}
Add important edges:
Note: the paper's text uses Q in the construction and lemmas but does not spell out the vertex definition in the same explicit list as H, P, S, and Y. The proof of Lemmas 18 and 19 requires Q to be this induced matching of size 2.
7. Add important edges between H and S
For every j in [ell] and i in [n], add:
s_j2^u h_i^v
s_j2^v h_i^u
These are important edges.
8. Add free edges between H and S
For every j in [ell] and i in [n], add:
s_j1^u h_i^v
s_j3^u h_i^v
s_j1^v h_i^u
s_j3^v h_i^u
These are free edges.
9. Add free edges between clause gadgets
For all distinct clauses i != j, add every edge from U(P_i) to V(P_j).
These are free edges.
10. Add free edges between P and Q
For every clause gadget P_i, add all edges:
U(Q) x V(P_i)
U(P_i) x V(Q)
These are free edges.
11. Add free edges between H and P
For each literal edge p_ia^u p_ia^v corresponding to literal C_i^a:
add p_ia^u h_j^v unless C_i^a is the positive literal x_j
add p_ia^v h_j^u unless C_i^a is the negative literal not x_j
These are free edges.
12. Add free edges between S_1 and P
Only the first domino gadget connects to the clause gadgets:
s_11^u and s_12^u connect to all vertices in V(P_i), for all i
s_11^v and s_12^v connect to all vertices in U(P_i), for all i
These are free edges.
13. Cover the non-Y free edges with k_f bicliques
Let:
k_f = 4ell + 2ceil(log2 m) + 6
The free-edge cover from Lemma 16 consists of:
2 bicliques for H-S free edges
2ceil(log2 m) bicliques for P-P free edges
2 bicliques for P-Q free edges
4ell bicliques for H-P free edges
2 bicliques for S-P free edges
Call these bicliques:
14. Add the forcing matching Y
Create an induced matching Y of size k_f:
U(Y) = {y_r^u : r in [k_f]}
V(Y) = {y_r^v : r in [k_f]}
For every r, add the matching edge:
This is a free edge.
Make edge y_r^u y_r^v bisimplicial with respect to B_r^f:
add y_r^u to every right vertex of B_r^f
add every left vertex of B_r^f to y_r^v
Equivalently, add:
y_r^u v for every v in V(B_r^f)
u y_r^v for every u in U(B_r^f)
These are free edges.
By Lemma 17, every cover of all free edges uses k_f bicliques that contain no important edge.
15. Set the target rank
Set the BicliqueCover rank to:
The target instance is:
Correctness
Forward direction
Assume psi is satisfiable. By normalization, take a satisfying assignment with exactly n/2 true variables.
For each clause, choose one satisfied literal edge e_i in P_i.
Use two guard bicliques to cover:
and two of the three important edges in each P_i, leaving exactly the chosen satisfied edge e_i uncovered.
The satisfying assignment defines a duplex biclique pair B_1, \bar{B}_1 in the crown graph H. Lemma 13 in the paper extends it to ell duplex biclique pairs covering all important edges in H.
Extend those 2ell bicliques into the domino gadgets. Extend B_1 further through S_1 and the chosen satisfied literal edges e_i. The edges omitted in the H-P construction ensure that B_1 can include only literal edges satisfied by the assignment.
Together, the 2ell crown/domino bicliques plus the two guard bicliques cover all important edges. Lemma 17 covers the free edges with k_f additional bicliques. Therefore G has a biclique cover of size:
Reverse direction
Assume G has a biclique cover of size k_f + 2ell + 2.
By Lemma 17, k_f bicliques are consumed by the free-edge forcing matching Y, and they contain no important edge. Thus only 2ell + 2 bicliques remain for important edges.
The important edges:
q_1^u q_1^v
q_2^u q_2^v
s_j1^u s_j1^v for all j in [ell]
s_j3^u s_j3^v for all j in [ell]
form an induced matching of size 2ell + 2, so each must be covered by a distinct important-edge biclique.
Let:
cover the two Q edges. Let:
cover s_j1^u s_j1^v and s_j3^u s_j3^v.
The edges from each middle domino vertex s_j2 to H force {B_j, \bar{B}_j} to induce a duplex biclique pair on H. In particular, {B_1, \bar{B}_1} selects exactly one side of each missing crown pair.
The guard bicliques cover at most two of the three important edges in each clause gadget P_i, so at least one literal edge e_i in each P_i must be covered by a biclique other than the two guard bicliques. Because only S_1 is connected to P, and because the third vertices of S_1 block \bar{B}_1, each such e_i must be covered by B_1.
Extract an assignment from B_1:
x_i = true if h_i^u is in B_1
x_i = false otherwise
If the chosen literal edge e_i for clause C_i corresponds to positive literal x_j, then the construction omitted the edge from its endpoint to h_j^v; since e_i is covered by B_1, h_j^v cannot be in B_1, so h_j^u is in B_1 and x_j = true.
If e_i corresponds to negative literal not x_j, the symmetric argument gives x_j = false.
Thus each clause has a satisfied literal, and psi is satisfiable.
Solution Extraction
Given a valid BicliqueCover witness:
- Ignore bicliques that cover the
Y matching edges; by Lemma 17 these are the free-edge bicliques.
- Identify the biclique
B_1 covering edge s_11^u s_11^v.
- For each normalized variable
x_i, set:
x_i = true if h_i^u is in B_1
x_i = false otherwise
- Map the normalized variables back to the original source variables by reading each original
t_i.
Size Overhead
Let the normalized source have:
n = num_vars = 2^ell
m = num_clauses
Target size fields for BicliqueCover are num_vertices, num_edges, and rank.
| Target metric |
Formula |
num_vertices |
2*n + 6*m + 6*ell + 4 + 2*k_f |
rank |
k_f + 2*ell + 2, where k_f = 4*ell + 2*ceil(log2 m) + 6 |
num_edges |
O((n + m + ell + k_f)^2) |
The paper states |U(G)| + |V(G)| = O(n + m) and k = O(log n) for formulas with m polynomially bounded in n. In implementation metadata, use a conservative polynomial edge bound because the graph is represented by an explicit edge list.
More detailed edge-count components:
H: n(n-1) important edges.
- Clause gadgets
P: 3m important edges.
- Domino gadgets
S: 7ell important edges.
- Guard gadget
Q: 2 important edges.
- Important
H-S: 2ell*n edges.
- Free
H-S: 4ell*n edges.
- Free
P-P: 9m(m-1) directed cross-gadget edges.
- Free
P-Q: 12m edges.
- Free
H-P: at most 6mn edges, minus omitted literal conflicts.
- Free
S-P: 12m edges.
Y: k_f matching edges plus bisimplicial edges into the chosen free-edge bicliques.
Validation Method
Implementation should include:
- A closed-loop YES test on a small satisfiable 3-CNF formula after normalization.
- A closed-loop NO test on an unsatisfiable 3-CNF formula.
- A structure test checking the constructed gadget counts:
H, P, S, Q, Y, and target rank.
- A witness extraction test: solve the target BicliqueCover instance, extract a normalized assignment from
B_1, map it back, and verify it satisfies the source.
- A negative test that changing/removing the
Q guard or Y forcing edges breaks the expected budget, since these are easy implementation mistakes.
The implementation PR should run the repo's verify-reduction workflow because the construction is subtle.
Example
Use a satisfiable formula with four normalized variables so n is already a power of two:
variables: x_1, x_2, x_3, x_4
clauses:
C_1 = (x_1 OR x_2 OR x_3)
C_2 = (not x_1 OR x_3 OR x_4)
A satisfying balanced assignment is:
x_1 = true
x_2 = false
x_3 = false
x_4 = true
Here:
n = 4
m = 2
ell = 2
k_f = 4*2 + 2*ceil(log2 2) + 6 = 16
rank = k = 16 + 2*2 + 2 = 22
Target gadgets:
H: crown graph H_4
P_1, P_2: two clause induced matchings, each of size 3
S_1, S_2: two domino gadgets
Q: induced matching of size 2
Y: induced matching of size 16
The selected satisfied literal edges can be:
e_1 = edge for literal x_1 in C_1
e_2 = edge for literal x_4 in C_2
The biclique B_1 used for extraction contains:
h_1^u, h_4^u
h_2^v, h_3^v
so extraction recovers exactly:
x_1 = true
x_2 = false
x_3 = false
x_4 = true
This example is intended for a structure/witness test. The PR should also include a smaller NO formula for infeasibility preservation.
Implementation Notes
The paper text has a minor presentation inconsistency: one summary line mentions i in [ell - 1] for the H-S edges, while the construction and proof use domino gadgets S_1, ..., S_ell and need the relevant H-S edges for all i in [ell]. Follow the construction/proof lemmas, not the inconsistent summary line.
BibTeX
@InProceedings{chandran_et_al:LIPIcs.IPEC.2016.11,
author = {Chandran, Sunil and Issac, Davis and Karrenbauer, Andreas},
title = {{On the Parameterized Complexity of Biclique Cover and Partition}},
booktitle = {11th International Symposium on Parameterized and Exact Computation (IPEC 2016)},
pages = {11:1--11:13},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-023-1},
ISSN = {1868-8969},
year = {2017},
volume = {63},
editor = {Guo, Jiong and Hermelin, Danny},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum fuer Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.IPEC.2016.11},
URN = {urn:nbn:de:0030-drops-69293},
doi = {10.4230/LIPIcs.IPEC.2016.11}
}
[Rule] KSatisfiability/K3 to BicliqueCover
Source
KSatisfiabilitywith variantK3.Target
BicliqueCover.Motivation
BicliqueCoveris connected forward toBMFandILP, but there is no direct NP-hardness bridge from3SAT/KSatisfiabilityintoBicliqueCover.This rule adds a source-backed direct construction:
The reduction is useful because Chandran, Issac, and Karrenbauer give a polynomial-time reduction from 3SAT to BicliqueCover with logarithmic biclique-cover rank. This is stronger than routing through graph coloring when the
rankparameter matters.Reference
Primary construction:
S. Chandran, D. Issac, and A. Karrenbauer, "On the Parameterized Complexity of Biclique Cover and Partition", IPEC 2016, Theorem 6 and Section 3.
Repository reference PDF:
The issue draft was prepared from the paper's Theorem 6, Section 3 construction, Lemma 16, Lemma 17, Lemma 18, and Lemma 19.
Reduction Algorithm
Input: a 3-CNF formula
psiwith variablesx_1, ..., x_nand clausesC_1, ..., C_m, where each clause has exactly three literals.1. Normalize the source formula
The paper assumes:
For implementation, normalize an arbitrary 3SAT instance before applying the paper gadget:
x_i, create two normalized variablest_iandf_i.x_ibyt_i.not x_ibyf_i.t_i, f_i:After normalization, let:
Every satisfying normalized assignment has exactly
n/2true variables.2. Build the target bipartite graph
Construct a bipartite graph
G = (U, V, E)forBicliqueCover.Partition the edges into:
The free edges are forced to use exactly
k_fbicliques that do not cover important edges. Satisfiability is encoded by whether the important edges can be covered with2ell + 2more bicliques.3. Add the crown graph
HCreate a crown graph
H_n.Add important edges:
The missing pairs
h_i^u h_i^vrepresent the positive/negative conflict for variablex_i.4. Add clause gadgets
P_iFor each clause
C_i, add an induced matchingP_iof size 3:Add important edges:
Edge
p_ia^u p_ia^vcorresponds to literalC_i^a.5. Add domino gadgets
S_jFor each
j in [ell], add a domino graphS_j:Add the domino's seven important edges:
The pair of bicliques covering each domino induces a duplex biclique cover of the crown graph.
6. Add guard gadget
QAdd an induced matching
Qof size 2:Add important edges:
Note: the paper's text uses
Qin the construction and lemmas but does not spell out the vertex definition in the same explicit list asH,P,S, andY. The proof of Lemmas 18 and 19 requiresQto be this induced matching of size 2.7. Add important edges between
HandSFor every
j in [ell]andi in [n], add:These are important edges.
8. Add free edges between
HandSFor every
j in [ell]andi in [n], add:These are free edges.
9. Add free edges between clause gadgets
For all distinct clauses
i != j, add every edge fromU(P_i)toV(P_j).These are free edges.
10. Add free edges between
PandQFor every clause gadget
P_i, add all edges:These are free edges.
11. Add free edges between
HandPFor each literal edge
p_ia^u p_ia^vcorresponding to literalC_i^a:These are free edges.
12. Add free edges between
S_1andPOnly the first domino gadget connects to the clause gadgets:
These are free edges.
13. Cover the non-
Yfree edges withk_fbicliquesLet:
The free-edge cover from Lemma 16 consists of:
Call these bicliques:
14. Add the forcing matching
YCreate an induced matching
Yof sizek_f:For every
r, add the matching edge:This is a free edge.
Make edge
y_r^u y_r^vbisimplicial with respect toB_r^f:Equivalently, add:
These are free edges.
By Lemma 17, every cover of all free edges uses
k_fbicliques that contain no important edge.15. Set the target rank
Set the BicliqueCover rank to:
The target instance is:
Correctness
Forward direction
Assume
psiis satisfiable. By normalization, take a satisfying assignment with exactlyn/2true variables.For each clause, choose one satisfied literal edge
e_iinP_i.Use two guard bicliques to cover:
and two of the three important edges in each
P_i, leaving exactly the chosen satisfied edgee_iuncovered.The satisfying assignment defines a duplex biclique pair
B_1, \bar{B}_1in the crown graphH. Lemma 13 in the paper extends it toellduplex biclique pairs covering all important edges inH.Extend those
2ellbicliques into the domino gadgets. ExtendB_1further throughS_1and the chosen satisfied literal edgese_i. The edges omitted in theH-Pconstruction ensure thatB_1can include only literal edges satisfied by the assignment.Together, the
2ellcrown/domino bicliques plus the two guard bicliques cover all important edges. Lemma 17 covers the free edges withk_fadditional bicliques. ThereforeGhas a biclique cover of size:Reverse direction
Assume
Ghas a biclique cover of sizek_f + 2ell + 2.By Lemma 17,
k_fbicliques are consumed by the free-edge forcing matchingY, and they contain no important edge. Thus only2ell + 2bicliques remain for important edges.The important edges:
form an induced matching of size
2ell + 2, so each must be covered by a distinct important-edge biclique.Let:
cover the two
Qedges. Let:cover
s_j1^u s_j1^vands_j3^u s_j3^v.The edges from each middle domino vertex
s_j2toHforce{B_j, \bar{B}_j}to induce a duplex biclique pair onH. In particular,{B_1, \bar{B}_1}selects exactly one side of each missing crown pair.The guard bicliques cover at most two of the three important edges in each clause gadget
P_i, so at least one literal edgee_iin eachP_imust be covered by a biclique other than the two guard bicliques. Because onlyS_1is connected toP, and because the third vertices ofS_1block\bar{B}_1, each suche_imust be covered byB_1.Extract an assignment from
B_1:If the chosen literal edge
e_ifor clauseC_icorresponds to positive literalx_j, then the construction omitted the edge from its endpoint toh_j^v; sincee_iis covered byB_1,h_j^vcannot be inB_1, soh_j^uis inB_1andx_j = true.If
e_icorresponds to negative literalnot x_j, the symmetric argument givesx_j = false.Thus each clause has a satisfied literal, and
psiis satisfiable.Solution Extraction
Given a valid BicliqueCover witness:
Ymatching edges; by Lemma 17 these are the free-edge bicliques.B_1covering edges_11^u s_11^v.x_i, set:t_i.Size Overhead
Let the normalized source have:
Target size fields for
BicliqueCoverarenum_vertices,num_edges, andrank.num_vertices2*n + 6*m + 6*ell + 4 + 2*k_frankk_f + 2*ell + 2, wherek_f = 4*ell + 2*ceil(log2 m) + 6num_edgesO((n + m + ell + k_f)^2)The paper states
|U(G)| + |V(G)| = O(n + m)andk = O(log n)for formulas withmpolynomially bounded inn. In implementation metadata, use a conservative polynomial edge bound because the graph is represented by an explicit edge list.More detailed edge-count components:
H:n(n-1)important edges.P:3mimportant edges.S:7ellimportant edges.Q:2important edges.H-S:2ell*nedges.H-S:4ell*nedges.P-P:9m(m-1)directed cross-gadget edges.P-Q:12medges.H-P: at most6mnedges, minus omitted literal conflicts.S-P:12medges.Y:k_fmatching edges plus bisimplicial edges into the chosen free-edge bicliques.Validation Method
Implementation should include:
H,P,S,Q,Y, and targetrank.B_1, map it back, and verify it satisfies the source.Qguard orYforcing edges breaks the expected budget, since these are easy implementation mistakes.The implementation PR should run the repo's
verify-reductionworkflow because the construction is subtle.Example
Use a satisfiable formula with four normalized variables so
nis already a power of two:A satisfying balanced assignment is:
Here:
Target gadgets:
The selected satisfied literal edges can be:
The biclique
B_1used for extraction contains:so extraction recovers exactly:
This example is intended for a structure/witness test. The PR should also include a smaller NO formula for infeasibility preservation.
Implementation Notes
The paper text has a minor presentation inconsistency: one summary line mentions
i in [ell - 1]for theH-Sedges, while the construction and proof use domino gadgetsS_1, ..., S_elland need the relevantH-Sedges for alli in [ell]. Follow the construction/proof lemmas, not the inconsistent summary line.BibTeX