Efﬁcient Approximation for Restricted Biclique Cover Problems

: Covering the edges of a bipartite graph by a minimum set of bipartite complete graphs (bicliques) is a basic graph theoretic problem, with numerous applications. In particular, it is used to characterize parsimonious models of a set of observations (each biclique corresponds to a factor or feature that relates the observations in the two sets of nodes connected by the biclique). The decision version of the minimum biclique cover problem is NP-Complete, and unless P = NP , the cover size cannot be approximated in general within less than a sub-linear factor of the number of nodes (or edges) in the graph. In this work, we consider two natural restrictions to the problem, motivated by practical applications. In the ﬁrst case, we restrict the number of bicliques a node can belong to. We show that when this number is at least 5, the problem is still NP-hard. In contrast, we show that when nodes belong to no more than two bicliques, the problem has efﬁcient approximations. The second model we consider corresponds to observing a set of independent samples from an unknown model, governed by a possibly large number of factors. The model is deﬁned by a bipartite graph G = ( L , R , E ) , where each node in L is assigned to an arbitrary subset of up to a constant f factors, while the nodes in R (the independent observations) are assigned to random subsets of the set of k factors where k can grow with size of the graph. We show that this practical version of the biclique cover problem is amenable to efﬁcient approximations.


Introduction
We study the approximability of two variants of the minimum biclique cover problem, motivated by the problem of characterizing parsimonious models in computational biology settings.
Given a bipartite graph G = (L, R, E), a biclique in G is a set of edges H ⊆ E that induces a complete bipartite subgraph of G.A biclique cover of G is a collection of bicliques that cover all the edges of G.The biclique cover number or the biclique dimension of G is the minimum number of bicliques that cover E.
The problem of determining whether a bipartite graph G has a biclique cover of size k is known to be NP-Complete even if the graph is a chordal bipartite graph [5,13].Chalermsook et al. [1] recently showed that the biclique cover problem is also not approximable in polynomial time to less than an O(|V| 1− ) or O(|E| 1/2− ) factor for any > 0 unless P = NP.This improved previous inapproximability results [3,4].Moreover, unless NP ⊆ BPTIME(2 poly(log(n)) ), there are also no polynomial time O |V| 2 log 7/8+ (|V|)   or O √ |E| 2 log 7/8+ (|V|)   approximation algorithms [1] ) approximation algorithm is known [1].Given these strong impossibility results, theoretical work has focused on developing polynomial time solutions for specific graph subclasses, such as C4-free graph [13], and domino-free graphs [14].Another line of research developed parametrized complexity results, showing that it is possible to determine in time O( f (k)poly(n)) whether a bipartite graph G admits a cover with at most k bicliques [2,7] where f (k) is an exponential function of k, but it does not depend on n.Other work has focused on the version of the problem where bicliques are edge-disjoint or vertex-disjoint [1,2].Dawande et al. [15] studied the size of maximum cardinality of bicliques in random bipartite graph.The related problem of clique cover in non-bipartite graphs has also received significant attention [5].
Finally, a problem related to our work here, is the local biclique cover problem [16], where for a given (not necessarily bipartite) graph G and a parameter f we want to determine whether there exists a biclique cover of the edges of G (using an arbitrary number of bicliques) in which each node belongs to at most f bicliques.Arora et al. [17] studied a generalization of clique cover with applications to community detection where nodes are limited to participate in a few cliques.
We note that the biclique cover problem is equivalent to the binary matrix factorization problem [10], where the goal is to decompose an n × m binary matrix A into a product of n × k and k × m binary matrices.The minimum k for which such a decomposition exists, known as the Boolean rank of A, equals the minimum biclique cover number of a bipartite graph G with adjacency matrix A. Biclique cover can also be seen as a form of biclustering [18].

Motivation
The two restricted biclique cover problems studied here are motivated by the application of minimum biclique cover to the fundamental inference problem of characterizing parsimonious models.We present combinatorial abstractions of two computational biology problems that motivates this work [7][8][9] .We note that similar applications are found in other fields [10].
The goal of HLA (human leukecyte antigen) serology studies [9] is to identify antigens responsible for acceptance and rejections of transplanted tissues.For the combinatorial model, it is sufficient to know that an implant is rejected if it has an antigen that has a specificity in common with some antibody in the recipient serum.Thus, a donor and recipient are not compatible if the donor has an antigen that has specificity in common with at least one of the recipient antibodies.Given a set of donors and recipients, we construct a bipartite graph G = (L, R, E), where L is the set of donors, R is the set of recipients, and v ∈ L is connected with u ∈ R if v and u are not compatible.The goal is to determine the minimum number of (antigens, antibodies) pairs with common specificity that explains the observed compatibility structure between the sets of donors and recipients.It is easy to verify that a (antigens, antibodies) pair with common specificity defines a biclique in the graph G and therefore the minimum number of bicliques corresponds to the minimum number of pairs that explain the observed data.
A second problem is the Mod-Resc Parsimony Inference problem [7].Here, the bipartite graph G = (L, R, E) represents reproductive incompatibility between strains of male L, and female R insects.An edge (u, v) indicates that a cross between u ∈ L and v ∈ R is incompatible.The biology model postulates that incompatibility is a result of a bacteria (mod-factor) in the male sperm and a lack of the corresponding (resc-factor) in the female.The goal is to find the minimum number of (mod, resc) factor pairs that explains the data.Since the edges of the graph correspond to incompatible pairs, it is easy to verify that a biclique corresponds to a factor, and a minimum biclique cover gives a parsimonious model.In these two applications, it is reasonable to assume that the total number of different factors (antigens or bacteria) is growing with the size of the sample.Thus, a parameterized solution, exponential in the total number of bicliques, is not practical.On the other hand, it is reasonable to assume that the number of different antigens or antibodies of a given person, or the number of different bacteria infecting one insect, is not a function of the total sample size.Furthermore, in particular in the Mod-Resc model, evaluation considerations imply that the number of factors per sample must be very small, justifying the first restricted model we study here.This is also consistent with the observation in [8] that in their data for a weighted version of the biclique cover problem each node was covered by at most 2 weighted bicliques.
A second characteristic of the observed data is that it corresponds to independent samples.To incorporate the effect of random samples, we distinguish between two cases.Two factors can be highly correlated.For example, in the case of HLA serology, two antigens may appear together in donors and their corresponding antibodies may appear together in recipients.In that case we cannot distinguish between the two factors, as they correspond to the same biclique.Otherwise, we can assume that appearances of factors are relatively independent in at least one of the two sets of nodes.This observation motivates the second, stochastic model we study here.

Overview of New Results
Motivated by the above applications, we study two variations of the biclique cover problem.We present almost tight positive and negative results for each of the variants.

Model I: A Node belongs to a Small Number of Bicliques
In this model, we consider bipartite graphs with minimum biclique covers in which each node participates in only a small number of different bicliques.More formally, we introduce the ( f L , f R , k)-biclique cover decision problem for bipartite graphs: Problem 1 (( f L , f R , k)-biclique cover problem).Given a bipartite graph G = (L, R, E), and parameters f L , f R and k, distinguish between the following two cases: Yes-instance: There is a biclique cover of G with ≤ k bicliques, such that ∀u ∈ L (resp.v ∈ R), u belongs to at most f L distinct bicliques in the cover (resp.v belongs to at most f R distinct bicliques in the cover).No-instance: No such cover exists.
Notice that this problem is related to the local biclique cover problem where one is only interested in minimizing the number of distinct bicliques covering each node without minimizing the total number of bicliques [16].Clearly, if a graph satisfies the ( f L , f R , k)-biclique cover condition it also satisfies the (max( f L , f R ))-local biclique cover condition, but the converse is not always true.
Results 1.Our first result (Section 3.3) shows that the ( f , k)-biclique problem remains computationally hard even for small values of f .Specifically, we prove that the ( f , k)-biclique problem is NP-Complete for any f ≥ 5.
On the positive side, we first note that the (1, k)-biclique case is trivial since the graph must consist of disjoint bicliques.We present two results for the non-trivial (2, k)-biclique case.(1) For any graph with a (2, k)-biclique cover, we present a polynomial time algorithm that finds a biclique cover with at most ≈ 2.83k bicliques.(2) For any graph with a (2, k)-biclique cover, we present a polynomial time algorithm that covers at least a 1 − 1 e fraction of the edges of the graph with k bicliques.These algorithms do not guarantee that each node is covered by at most 2 bicliques.

Model II: A One-Side Stochastic Model
In this model, we capture the fact that nodes represent independent observations, but the bipartite graph has more structure than a standard random bipartite graph.This structure is dictated by the semi-random assignment of factors to nodes.
Formally, we define the ( f , p, k)-biclique cover problem, for a constant f , a vector of k probabilities p, and an arbitrary large number of factors k.An input to the ( f , p, k)-biclique cover problem is a bipartite graph G = (L, R, E) generated by the following process: Factors are assigned arbitrarily to nodes in L, subject to a limit of f factors per node.Nodes in R are assigned factors by a random process in which each node is assigned factor i with probability p i , independent of any other choice.A node u ∈ L and a node v ∈ R are connected if they share a factor.Given the observed graph G = (L, R, E), and the parameters f , p and k, we want to find a k-biclique cover of the graph.
Results 2. We show that for an arbitrary large constant f , and under some simple conditions on the distribution p, there is a O((|L| + |R|) O (1) ) time algorithm that w.h.p. obtains a k-biclique cover of the graph, as long as |R| ≥ c log(|L|) for some large enough constant c > 0. Here, the O(1) depends only on the constant f .For an arbitrary probability vector p, we present an algorithm that in O((|L| + |R|) O( 1) ) time with high probability finds a set of bicliques of size k covering at least a 1 − 1 e fraction of the edges, or O(k log(|R|)) bicliques covering all edges of G, as long as |R| ≥ c log(|L|) for some large enough constant c > 0. Here, the O(1) depends on the distribution p and f but not on the size of the graph.

Model I: ( f , k)-Biclique Cover
In this section, we study the ( f , k)-biclique problem introduced.For the rest of the paper we use N(u) to indicate the neighborhood of any node u ∈ L ∪ R. Also, we represent (bipartite) subgraphs of G with capital letters, and we use A = (L A , R A ) to indicate that subgraph A has nodes L A (resp.R A ) in the left (resp.right) side of the graph.

Lemma 1.
A bipartite graph G = (L, R, E) can be covered with a (1, k)-biclique cover iff it has ≤ k connected components and each of them is a biclique.
Proof.Suppose each connected component of G is a biclique.It is easy to see that then all edges can be covered by using each connected component as the biclique in the cover.Also, each node is covered by a single biclique.
Then, assume G is a yes-instance.Let B 1 , . . .B t , be the set of bicliques covering all the edges of G, in the solution.Notice that the bicliques define a partition of the nodes in G as each node can belong to a single biclique.We show that there is no edge that connects two nodes in two distinct bicliques, and hence the graph consists of t ≤ k connected components, each a complete subgraph.Suppose to get a contradiction that (u, v) ∈ E is an edge connecting the nodes in B i , B j for i = j.Since (u, v) does not belong to any of the two bicliques, the edge must be covered by a third biclique.However, all edges of u are covered by a single biclique.This condition can be easily checked in polynomial time.

Results for the (2, k)-Biclique Cover
In this section, we assume that we are given in input a bipartite graph G = (L, R, E) and a parameter k such that G is a yes-instance of the (2, k)-biclique cover problem.Our goal it to compute approximate solution to the following two optimization problems: covering all edges of G with as few bicliques as possible and covering as many edges of G as possible with k bicliques.We denote the union of the sets of node by V = L ∪ R.

Maximize Edge Coverage with k Bicliques
We prove the following result: Theorem 1.There exists a O min |V| 3 + k 15 |E|, k|V| 7 |E| time algorithm that given in input a bipartite graph G = (L, R, E) and a parameter k, where G is a yes-instance of the (2, k)-biclique cover problem, it outputs a set of at most k bicliques in G covering at least (1 − 1 e )|E| edges of G.
We first provide an overview of the main ideas on which Algorithm 1, which maximizes the number of edges covered with k bicliques, is based.The algorithm has four steps.First, we use a kernelization method to obtain a smaller graph G which has a (2, k)-biclique cover iff G has a (2, k)-biclique cover.Then, we exploit the properties of the (2, k)-biclique covers for the kernelized graph G to identify a set B of all large enough bicliques that are part of any cover of G .Then, we will show how to enumerate the set C containing all possible small bicliques of any cover of G not in B .We will keep a mapping from bicliques in the smaller graph G to bicliques in the original graph G.Then, we cast the problem of selecting ≤ k bicliques as a monotone submodular maximization problem hence showing that we can cover at least (1 − 1 e )|E| edges of the original graph G with k bicliques.We now prove formally Theorem 1, showing an algorithm that outputs a set of at most k bicliques in G covering at least (1 − 1 e )|E| edges of G.We describe each step of Algorithm 1 in details.
We apply the kernelization technique introduced by Fleischner et al. [2] for showing the parametrized complexity of biclique cover, which we now recall.
Given an instance (G, k) of biclique cover, the kernelization obtains an instance (G , k) where G is constructed by applying the following two rules to G: (1) remove all nodes from G with no neighbors; (2) for each set of vertices that have the same neighborhood in G, keep only one of them.We call G the kernelized graph of G if G is constructed from G by applying the two rules.Fleischner et al. [2] show that G admits a k-biclique cover iff G admits a k-biclique cover.We now show that using the same kernelization, G admits a Proof.The lemma is a corollary of the results for general kernelization of biclique cover [2,7].
Notice that nodes with no neighbors can be ignored without complications.We show that one application of the rule that removes one node u if another node v has the same neighborhood transforms yes-instances into yes-instances and no-instances to no-instance.The result will follow then by induction (over the number of application of the rule).Let G be the graph obtained by removing Removing a node v from G and from all the bicliques involving v gives a graph that can be covered with ≤ k bicliques each covering at most f L nodes on the left side and f R on the right side.
Consider a ( f L , f R , k)-biclique cover of G .As node u has the same neighbors of v, we can extend each of the (at most f L bicliques) covering u to include v on the left side.This preserves the fact that they are bicliques.Also v is covered by at most f L bicliques, and in total we use k bicliques.The nodes on the right side are still covered by the same number of bicliques.
The algorithm first applies the kernelization to obtain the bipartite graph G = (L , R , E ).This can be done in time O(|V| 3 ).We define V = L ∪ R .We will store a mapping kern : V → 2 V that records for each node in v ∈ V the set kern(v) of nodes in V that had the same neighborhood and of which v is the only node left in G -i.e., kern(v) is an equivalence class of the nodes with the same neighborhood.Notice that for each node v ∈ V , kern(v) contains at least one node and that all nodes in G with non-zero degree are in a unique kern(v) set.
Assumes G is a yes-instance for (2, k)-biclique cover.
-Step 1 -Let G = (L , R , E ) be the graph obtained applying the Fleischner et al. [2] kernelization.Store mapping kern.-Step 4 - for the biclique B in G obtained in this way.
The following properties of the kernelized graph G of G will be exploited in the rest of the paper.
Lemma 3. Let G = (L, R, E) be a yes-instance of the (2, k)-biclique cover problem and let G = (L , R , E ) be the kernelized version of the graph G. Then the following statements are true: • In any (2, k)-biclique cover of G there are no two nodes on the same side of the graph covered by the exact same set of bicliques.
Proof.The first statement is a corollary of Lemma 2. Notice that all nodes on the same side of G , by construction, have distinct neighborhoods.Hence, they cannot be covered by the same set of 2 bicliques in any (2, k)-biclique cover.Finally, since each node in one side is covered by distinct subsets of at most 2 bicliques out of k, there are at most 2k 2 = O(k 2 ) nodes in G .
Step 2: Identifying Large Bicliques in the Cover.
We call K l,r biclique any biclique that has exactly l nodes in the left side of the bipartite graph and exactly r nodes in the right side.For a graph G and a set of vertices A, we call G[A] the induced subgraph containing all nodes A and the edges between them.
We will also use the following notation.Given a (2, k)-biclique cover B of the graph G, where B is a set of bicliques covering all the edges of G, we define F B (u) as the set of bicliques covering the node u in the cover B. We have 1 ≤ |F B (u)| ≤ 2. We will omit B from F(•) when it is clear which cover we are discussing.
We now make a series of important observations for the structure of the (2, k)-biclique cover of the kernelized graph G of a (2, k)-biclique cover yes-instance G.

Lemma 4.
Let G be a yes-instance for the (2, k)-biclique cover problem and let G be the kernelized graph of G.
If there is a single biclique B ∈ B that covers all the nodes in A, then, in the cover B, all nodes S ⊆ R (S ⊆ L ) connected to all nodes in A are covered by the same biclique B.
Proof.Fix a solution B of the (2, k)-biclique cover of G .Let B be the biclique that covers all nodes in A in the solution B. We prove the case for A ⊆ L , the other case is similar.
First, fix three distinct nodes a 1 , a 2 , a 3 in A. All the nodes are covered by biclique B. Notice that by the third item of Lemma 3, each node in A is covered by a different set of (at most 2) bicliques in B. Hence, there is no other single biclique B that covers two nodes in A (otherwise there will be two nodes both covered by the pair B, B of bicliques).Now consider a node v ∈ R connected to all nodes in A. If v is not part of biclique B, in the biclique cover B, all the edges (a i , v) ∈ E for i ∈ [3] are covered by a distinct biclique.This is a contradiction, as v is covered by at most 2 bicliques in B.
We use the previous lemma to prove the following useful result.
and it is the unique biclique that covers all nodes in A.
Proof.Suppose to get a contradiction that in a given (2, k)-biclique cover B of G there is no such unique biclique A covering all nodes in A. From now on in this proof, when we use F(u), we refer to F B (u), i.e., the set of bicliques covering u in the cover B. Consider any node u ∈ A. If |F(u)| = 1, than there is a contradiction.In fact, all neighbors of u are covered by a single biclique and hence we get that more than 3 on one side are covered by the same biclique.By the previous argument than there is a biclique covering all nodes in A. So we assume for the rest of the proof that |F(u)| = 2 for all nodes u ∈ A. Fix a node u in A ∩ L and let B 1 , B 2 be the two distinct bicliques covering the node u in B. All nodes in A ∩ R are covered by either B 1 or B 2 .
We now show that there is no node v ∈ A ∩ R such that F(v) = {B 1 , B 2 }.In fact, if such a node exists, then there are no assignments of B 1 and B 2 to nodes in A ∩ R such that all nodes in A ∩ R belong to one of the two bicliques but no bicliques covers 3 nodes in A ∩ R (recall that if a biclique covers 3 nodes in A ∩ R we get a contradiction because then all nodes in A ∩ L are covered by the same biclique and hence the fourth node in A ∩ R is covered as well by that biclique).Also similarly, this implies that B 1 and B 2 both cover exactly two distinct nodes A ∩ R .Let r 1 , . . .r 4 ∈ A ∩ R .W.l.o.g., we assume that F(r where by kernelization we have Now, we have that all nodes in A ∩ L \ {u} do not belong to both B 1 and B 2 .For sake of contradiction, let, w.l.o.g., v ∈ A ∩ L \ {u} be a node that belongs to B 1 .We know that v does not belong to B 2 (by kernelization).So {B 1 , D 1 , D 2 } ⊆ F(v), as it is connected to r 3 , r 4 and hence F(v) > 2, giving a contradiction.
This implies, for any node v ∈ A ∩ L \ {u} to be connected to all nodes in A ∩ R , that the following conditions are met: By kernelization, this gives a contradiction, as two distinct nodes in A ∩ L \ {u} belong to the same set of bicliques.
We have shown that in any (2, k)-biclique cover B of G there is at least one biclique A covering all nodes in A. Now notice that there can be only one biclique covering all nodes in A, as otherwise there will be two nodes with the same set of bicliques in the cover on the same side of the graph.Hence, A is the unique biclique covering all nodes in A in any (2, k)-biclique cover.Finally, by applying Lemma 4 to all nodes connected to each node in A ∩ L (resp.A ∩ R ), we know that the unique biclique A is (A L , A R ), as in the statement of the lemma.
The previous lemma means that if A is a K 3,4 (or K 4,3 ) of G then the biclique A obtained as in the statement is part of any optimal solution.Also notice that clearly if in a given (2, k)-biclique cover of G there is a biclique of size at least 3 in the smallest side, and at least 4 in the largest side, this biclique induces a K 3,4 (or K 4,3 ) in G .
Hence, by enumerating all K 3,4 and K 4,3 in G in polynomial time we can find a set B of bicliques in G such that: B contains all large enough bicliques-i.e., with ≥ 3 nodes (resp.≥ 4) in the smaller (resp.larger) side that are part of all (2, k)-covers of G ; and no biclique not in B which is large enough (again it contains a K 3,4 or a K 4,3 ) is part of any (2, k)-biclique cover.This is done in Step 2 of Algorithm 1.
Step 3: Small Bicliques We know that all the bicliques necessary to cover the remaining edges of G (besides the one in B ) need to involve at most 3 nodes in the smaller side.We can then enumerate a set C of bicliques, in polynomial time, containing a super-graph of each biclique not in B that is part of any (2, k)-biclique cover.It is possible to verify that at the end of Step 3 of the algorithm, C contains at least one biclique that covers all edges of any biclique with at most 3 nodes in the smallest side of the biclique.Step 3 runs in polynomial time.
Step 4: Max Coverage Finally, we have a set B , which contains bicliques that are necessary part of any optimal solution of G and a set C of bicliques G that are sufficient to cover all edges of G not covered by bicliques in B .
Let B be the set of bicliques of G obtained by B = {kern(B )|B ∈ B } (recall the definition of the mapping).Similarly we obtain the set C from C .The algorithm will output all the bicliques in B. For t = |B| ≤ k the algorithm will obtain the remaining k = k − t bicliques in the following way.First, let O = B.The algorithm will add greedily a single biclique from C to O for k times choosing each time the biclique that maximizes the number of newly covered edges in G .It is easy to see that, since this function is monotone submodular and k additional bicliques are sufficient to cover all edges not covered by B, at least (1 − 1 e )|E| of the edges of G are covered at the end of the process.We can now complete the proof of Theorem 1.
Proof of Theorem 1.Notice that by the previous considerations, the set O at the end of Algorithm 1 contains at most k bicliques, and these bicliques covers (1 − 1 e )|E| edges of G.The algorithm requires O(|V| 3 ) time for the kernelization.Then, the remaining graph G has at most n = min(2k 2 , |V|) nodes and at most m = min(4k 4 , k|E|) edges, by Lemma 3.
The most expensive operation is enumerating all the K 3,4 , K 4,3 of the graph which can be done in O(n 7 ) time.Hence, Step 2 takes O(n 7 m) time. Step

Covering All Edges with the Minimum Number of Bicliques
In this section we prove Theorem 2, the existence of an algorithm that outputs a set of at most H(9)k bicliques covering all edges of the graph.Theorem 2. There exists a O min |V| 3 + k 15 |E|, k|V| 7 |E| time algorithm that given in input a bipartite graph G = (L, R, E) and a parameter k, where G is a yes-instance of the (2, k)-biclique cover problem, outputs: a set of at most H(9)k bicliques in G covering all edges of G.
Here, H(i) = ∑ 1≤j≤i j −1 is the i-th harmonic number and H(9) ≈ 2.83.For this problem, we use similar techniques described before.We outline the main differences from Algorithm 1.As before, we will construct the set B , which contains large bicliques that are part of any optimal solution.In this set, besides the bicliques including a K 3,4 (or K 4,3 ), we will identify as well certain bicliques with size K 2,a for a ≥ 5 and K 1,b for b ≥ 10 (and the cases K a,2 , K b,1 ).
This will ensure that all remaining bicliques necessary for covering all edges in G will have at most 9 edges in G (i.e., they will be K 3,3 , K 2,a , K a,2 for a ≤ 4 and K 1,b , K b,1 for b ≤ 9.)Then, we cast the problem of selecting the minimum number of bicliques in C that cover all remaining edges of G (besides the one in B ) as a set cover problem with sets of size at most 9.For this problem, it is known that the greedy algorithm gives a H(9) approximation factor showing that all remaining edges in G are covered with additional ≤ H(9)(k − k ) bicliques plus the k ≤ k in B for a total of ≤ H(9)k bicliques.
Finally, from the biclique cover of G , we can reconstruct the biclique cover in G with the same techniques of the previous section, outputting a cover with at most H(9)k bicliques.

Properties of the Kernelized Graph of a (2, k)-Biclique Cover Yes-Instance
We show some additional properties of the kernelized graph of a (2, k)-biclique cover yes-instance that will be exploited by the algorithm.In this subsection, we always assume G is the kernelized graph of (2, k)-biclique cover yes-instance G. Lemma 6.Let (L A , R A ) be a K 2,5 biclique in G such that L A is not included in any K 3,4 biclique in G .Then, in any (2, k)-biclique cover B, there is always a unique biclique that covers all the nodes in L A and no other node in the left side.(A similar result holds for K 5,2 bicliques.) Proof.We first show that in any K 2,5 biclique (L A , R A ), all nodes in the small side L A need to belong to the same biclique in any (2, k)-biclique cover .
Fix a (2, k)-biclique cover B. F(u) refers to the set of bicliques covering u in the cover B.
Let L A = {u, v}.Suppose to get a contradiction that F(u) ∩ F(v) = ∅, then each node in R A contains one biclique from F(u) and one from F(v).It is possible to verify that at most 2 × 2 = 4 distinct sets of size at most 2 can be formed by taking one element from F(u) and one from F(v).Hence, there are two nodes in R A that are covered by the same set of bicliques, giving a contradiction as the graph is kernelized.
So we know that there is a biclique A ∈ F(u) ∩ F(v).Consider a node x ∈ R A such that A / ∈ F(x).It is easy to see that there can be only one such node, as this node must be covered by the other biclique of F(u) and the other biclique of F(v) not equal to A. Again, for the kernelization, only one such node can exist.
So at least 4 nodes in R A belong to a unique biclique.Finally, notice that if there is another node in the side of L A in the same biclique, that would form a K 3,4 biclique.Lemma 7. Let (L A , R A ) be a K 1,10 biclique in G such that R A is not in any K 2,5 biclique including the node in L A in the left part of the biclique.Then, in any optimal solution, there is a single biclique that covers the node in L A and no other node on that side.
Proof.Fix a (2, k)-biclique cover B. F(u) refers to the set of bicliques covering u in the cover B.
Let u ∈ L A .If F(u) = A, then all node in R A belong to A and we can apply Lemma 4. Let F(u) = {A, B}, we have that all nodes in R A belong either to A or to B or both.W.l.o.g., let A be the more common of the two.We have that A appears at least 5 times.So, if any other node in u side belongs to A, that would form a K 2,5 biclique.

Algorithm
We now state how the algorithm for this problem constructs the set B .First, we add to B all bicliques including a K 3,4 , as done in Step 2 of Algorithm 1.Then, we add to B all bicliques of the form ({u, v}, N(u) ∩ N(v)) (and similar form (N(u) ∩ N(v)), {u, v}) for u = v ∈ L such that u, v are part of a K 2,5 and not of a K 3,4 .Finally, we add bicliques ({u}, N(u)) (and the form (N(u), {u})) such that u ∈ L has at least 10 edges not covered by the bicliques added before.
We claim the following property for B .
Lemma 8.There is a (2, k)-biclique cover of G which contains all bicliques in B and only other bicliques with at most 9 edges.
Proof.The lemma follows by combining Lemmas 5 and 6.By Lemma 5, we know that there is no other biclique in any (2, k)-biclique cover with at least 3 nodes on the smaller side and at least 4 on the largest side.Suppose there is a (2, k)-biclique cover of G containing all bicliques of B and another biclique B = (L B , R B ) / ∈ B of the form K 2,a for a ≥ 5.If nodes in L B are part of a K 3,4 biclique, we get a contradiction, as we have two nodes in L B that are both covered by the biclique B and the other biclique in B identified by the algorithm (by kernelization this is not possible).So we know that L B is not part of a K 3,4 biclique.However, in this case, by construction of the algorithm, there is another biclique B covering L B , so again we get a contradiction.(The same proof works for the K a,2 case for a ≥ 5).
Finally notice that, by construction, at most 9 edges of each node are left uncovered by bicliques in B so there is a (2, k)-biclique cover that includes all bicliques in B and other bicliques with at most 9 edges each.
Finally, notice that we can enumerate the set C of all bicliques with at most 9 edges necessary to cover the edges left uncovered by the bicliques in B in time O(n 6 ), where n is the number of nodes in the graph G .
The proof of Theorem 2 follows by the properties of set cover.

Proof of Theorem 3
Recall that the (∆, k)-clique vertex partition problem is defined as follows.Given a graph G = (V, E), with maximum degree ≤ ∆ and an integer k, determine whether there is a partition of nodes in V in t ≤ k subsets C 1 , . . ., C t , such that each subset C i is a clique.
Král et al. [19] showed a reduction to clique vertex partition from the NP-Complete Clause-Linked Planar 3-SAT problem [20].The latter is the following decision problem: given a CNF formula, where each clause contains either 2 or 3 literals and each literal appears in exactly 3 clauses (twice negated and once positive), determine whether the formula is satisfiable.
Král et al. [19] showed that given such formula φ we can construct a graph G φ = (V φ , E φ ) such that nodes in V φ can be partitioned in |X| + 3|C| cliques iff φ is satisfiable (where X and C are the sets of variables and clauses of φ, respectively).The graph G φ is constructed as follows.For each variable x ∈ X, create the subgraph For each clause c ∈ C, create a 7-node cycle G c .If the clause c has 3 literals x,y,z, fix three non pairwise adjacent nodes: c(x), c(y), c(z) in the cycle (e.g., let c(x) be at distance two from c(y), and let c(y) be at distance two from c(z) and let c(z) be at distance three from c(x)).If the clause has two variables, ignore c(z).Now, for each literal x if c is the clause in which it appears positive, let the c(x) node in G c be coincident with the node x + in G x .For the clauses in which x appears negated, we similarly use nodes x − 1 and x − 2 .The following result is a corollary of those of Král et al. [19].
Given a graph G = (V, E), construct a bipartite graph B G = (L, R, E B ) as follows.For each node v i ∈ V, create two nodes x i ∈ L, y i ∈ R.Moreover, for each edge v i v j ∈ E, make two nodes x ij ∈ L and y ij ∈ R. For each v i ∈ V. we have x i y i ∈ E B .Also for each edge v i v j ∈ E. we have the following edges in E B x i y j , x ij y j , x i y ij , x ij y ij .Orlins [5] showed that a graph G admits a clique vertex partition in k cliques iff the edges of B G can be cover by at most k + |E| bicliques.The following lemma can also be shown.

Lemma 10.
Let G be a graph with maximum degree at most ∆, and let B G the corresponding bipartite graph defined before, there exists a (∆ + 1, k + |E|)-biclique cover of B G iff there is k-clique vertex partition of G.
Proof.Suppose there is no k-clique vertex partition of G.Then, by Orlins [5], we know that there is no biclique cover of the edges of B G with k + |E| bicliques (irrespectively of how many bicliques a node belongs).Suppose there is a k-clique vertex partition of nodes in G. Let C be any set in the partition.Then, it is possible to see that B C = ({x i |v i ∈ C}, {y i |v i ∈ C}) is a biclique in B G and that k such bicliques covers all edges of the form x i y i .Also, as the sets in the partition are disjoint, each node in V(B G ) belongs to at most one such biclique.Now, consider the edges of the form x i y j ∈ E B , for v i v j ∈ E. Any such edge can be covered with the biclique B ij = ({x ij , x i }, {y j , y ij }).Notice that by using |E| such bicliques we can complete the cover of all the remaining edges in E B (including the edges of the form x ij y ij ).Now, each node of the form x ij (or y ij ) belongs to only one biclique in this cover.Nodes x i belong to one biclique of the form B C as well as other deg(v i ) bicliques of the form B ij such that v i v j ∈ E. So we have that each node is part of at most ∆ + 1 bicliques because of the degree of G.
Theorem 3 is a corollary of the above lemma.

Model II: One-Side Stochastic Model
We recall the definition of the model.In the ( f , p, k)-biclique cover model, there is a constant f , a vector of k probabilities p = p 1 , . . .p k , and a number of factors k.The input is a graph G = (L, R, E) where each node in L is assigned to ≤ f factors from [k] arbitrary and each node in R is assigned independently to factor i with probability 0 < p i < 1.A node u ∈ L and a node v ∈ R are connected iff they share a common factor.
We show that, under certain conditions on the parameters f and p, we can recover an optimal or close to optimal ( f , k, k)-biclique cover of the graph.
We will make the following two assumptions throughout the section.First, let L i ⊆ L be the set of nodes assigned to factor i in L. We will always assume that for no pair i = j ∈ [k], L i ⊆ L j .Notice that if L i ⊆ L j for i = j then the biclique of factor i is completely covered by the biclique of factor j and there is a equivalent ( f , p , k − 1)-biclique cover model without the factor i. Let Second, we assume that the right side R is sufficiently large w.r.t. the left side.In particular we assume |R| > C f ,p m ,p M log(|L|) for a sufficiently large constant C f ,p m ,p M which depends on f , p m , p M only.This is to allow extracting enough information from the random assignment in the right part.
In the rest of the section, we present two results.First, we show that under an additional condition on the constants p that ensures that no factor has much higher probability than another factor and that no factor has too large a probability, then an exact ( f , p, k)-biclique cover can be obtained in polynomial time.We then show that for any vector of constants p, it is possible to obtain an approximate cover.

Optimal ( f , p, k)-Biclique Cover
We first state the additional condition on p: Notice that for any f there is a non-empty set of vectors p for which the condition holds.For instance, it holds for any vector s.t.0 < p m = p M < c f where c f < 1 is constant depending on f .We will prove the following theorem.Theorem 4. Let G = (L, R, E) be the graph obtained by the ( f , p, k)-biclique cover model, such that |R| ≥ Ω(log(|L|)) and where the condition in Equation (1) holds for p.There exists a O(k|L| f +1 |E|) time algorithm that given G, f , k and p m outputs a ( f , k, k)-biclique cover of G w.h.p.In the paper, we say that an event happens with high probability if it happens with probability ≥ 1 − |V| c for some constant c > 0.

Main Ideas
Before entering into the details of the proof here we present the main ideas of the proof.First, we show that, under the condition in Equation ( 1) and for |R| ≥ Ω(log(|L|)), it is possible to distinguish in polynomial time w.h.p., whether in any given set S ⊆ L there exists at least a factor i ∈ [k], such that all nodes in S belong to the L i (are assigned to the factor).In particular, we show that this is possible by just looking at the number of the common neighbors of all the nodes in S.
We will then assume to have an oracle I : 2 L → {0, 1} that returns, w.h.p.I(S) = 1, iff there is factor to which all nodes in S belong.
We will show that there is an algorithm that makes a polynomial numbers of calls to this oracle and finds an ( f , k, k)-biclique cover of G.We stress that this algorithm could be used also for other probabilistic models where the function I can be computed with sufficient accuracy.
The intuition of the algorithm is that we can construct each biclique in the cover, one at a time, once we identify a set of nodes S ⊆ L such that there exists a unique factor i ∈ [k] to which all nodes in S belong.Furthermore, we show that for any factor there is at least one set of size ≤ f of nodes in L for which this happens.We can then identify each biclique in polynomial time, w.h.p.
We now proceed to prove formally the results the this model.First, we show that, given a set S ⊆ L, it is possible to distinguish based on the graph G whether there is at least a common factor assigned to all nodes in S. In this section, we use F(u) to indicate the set of bicliques covering node u in the model (i.e., each biclique corresponds to the nodes with one factor).
Lemma 11.Given a set S ⊆ L, if u∈S F(u) = ∅ then the probability that Proof.Let X w be the indicator variable of the event that ∀u ∈ S (u, w) ∈ E.
We claim that the probability of X w is upper-bounded by twice the probability of the following event: w is part of at least two bicliques selected from a set F of cardinality at most 2 f .Suppose in fact that w is part of a single biclique B, then as u∈S F(u) = ∅, w cannot be connected to all nodes in S. w must be part of at least two bicliques.Now, fix a single node u ∈ S. |F(u)| ≤ f , and w is part of at least one biclique in F(u).If w is part of two bicliques in F(u), then our bound holds (use F = F(u) as a the sets from which the bicliques must be selected).If w is part of a single biclique B ∈ F(u), then fix v ∈ S, a node such that B / ∈ F(v) (the node exists for the empty intersection in S).We have that w is part of another biclique from F(v) with |F(v)| ≤ f .In this case, w is part of at least two bicliques from the set F = F(v) ∪ F(u) of size at most 2 f .By union bound on these two cases where the inequality comes from the fact that the probability is maximized when the set F contains exactly 2 f bicliques of maximum probability p M , the probability of selecting at least 2 bicliques is the opposite of the probability of not selecting 0 of 1 biclique.
Let X be the random variable that measures the cardinality of | u∈S N(u)|.Then, it is easy to see and by the Chernoff bound, for 0 < < 1, we have Similarly, we can show show that until the end of Step 3, the set L B preserves the property that there is a biclique B in the optimal cover (not already found) containing all nodes in L B .This is clearly true at the beginning (Step 1).In Step 2, we check this property explicitly.Notice that in Step 3 we add nodes in L B only if they maintain the property I(L B ∪ v) = 1, so the property continues to hold.We now show that at the end of Step 3 there is a unique biclique not in the cover determined so far that covers all nodes in L B in the optimal solution.Suppose there exists a set of 2 or more distinct new bicliques that covers all the nodes in the set L B obtained after the end of Step 3. Notice that by Lemma 14 there is set S ⊆ L of size |S| ≤ f such that only one of the two bicliques covers all nodes in S. S respects the condition of the while, so we would not have exited the loop of Step 2 giving a contradiction.Hence, at the end of Step 2, there is a unique new biclique B, such that all nodes in L B belong to the biclique.
Hence, it follows that all left nodes of biclique B are found in Step 3, (they intersect because of biclique B, and the loop greedily adds all nodes that intersect).
Finally, during Step 4, it is clear that we construct a biclique B that covers all the edges covered by the biclique in the optimal solution with left side given by L B .So there is an optimal solution that contains the biclique B computed.

Time Complexity
Notice that the outer loop can be executed only O(k) times (once for each biclique found).In The correctness of Theorem 4 follows from the previous results.

Approximate Biclique Cover
In this section, we show that for any constants in p subject only to 0 < p i < 1 for i ∈ [k] we can construct an approximate solution to the problem.Theorem 6.Let G = (L, R, E) be the graph obtained by the ( f , p, k)-biclique cover model, such that |R| ≥ Ω(log(|L|)).There exists a O((|L| + |R|) α f ,pm,p M ) time algorithm where α f ,p m ,p M is a constant depending only on f , p m , p M but not on the size of the graph, such that, given G, f , k, and p m the algorithm outputs 1) a set of k = O(log(|L| + |R|)k) bicliques covering all edges of G; and 2) a set of k bicliques covering (1 − 1 e )|E| edges of G.
Before entering into the details of the proof, we present the main idea of the algorithm, which is the following.There exists a constant c f ,p m ,p M depending on f , p m , p M such that if we sample u.a.r. a set S ⊆ R of size |S| = c f ,p m ,p M log(|L|) we have that for each factor i ∈ [k] there is a set S i ⊆ S such that |S i | ≥ c log(|L|) for some constant c < c f ,p m ,p M and all nodes in S i belong to the factor i.Moreover, it is possible to show that the set of common neighbors of S i in L is, w.h.p., exactly the set of nodes L i .Given such set S i , we can reconstruct the biclique B i that covers all nodes with factor i. Now, we can list all subsets S ⊆ S of size ≤ c log(|L|) in polynomial time and construct a single candidate biclique B from each subset S .We have that k of these bicliques cover all edges of G, so we can cast the problem as a maximum coverage problem and find a set of k bicliques covering (1 − 1 e )|E| edges or as a set cover problem and find a set of log(|E|)k bicliques covering all edges.

Algorithm
We now outline the algorithm (Algorithm 3).Suppose we are given a bipartite graph G = (L, R, E) obtained by the ( f , p, k)-biclique cover model.
Notice that all bicliques are assigned to nodes in R independently.So consider a node u ∈ L such that B t / ∈ F(u).
By union bound on the n nodes in L, the result follows.
Now, we fix a constant c such that 1 2 cp m ≥ log (1−(1−p M ) f ) −1 (3) and such that the requirement of Lemma 15 is satisfied.
It is easy to see that for all i ∈ k the bicliques in the optimal cover there is a set S i ⊂ S that by Lemma 16 w.h.p. is such that for L i = v∈S i N(v), S i = v∈L i N(v), the biclique (L i , S i ) covers more edges than the i-th biclique in the cover defining the model, w.h.p.
Notice that we can obtain all subsets S ⊆ S in polynomial time O(2 c log(|L|) ) = O(|L| c).
The correctness of Algorithm 3 follows from the fact that the set C contains w.h.p. each biclique from the cover defining the model, and the set C has size O(|L| + |E|) α f ,pm,p M ) for some constant α f ,p m ,p M depending on f , p m , p M but not on the size of the graph or the number of bicliques.

Conclusions
We have studied two natural restrictions to the well-known problem of biclique cover in bipartite graphs that are motivated by practical applications in computational biology and other fields.For these restrictions, we have shown some non-trivial optimal or approximation algorithms which run in polynomial time.
As a future work, it would be interesting to determine whether ( f , k)-biclique cover is NP-Complete for 2 ≤ f ≤ 4 and to determine inapproximability results for general values of f .
) and add biclique A to the set B if |B | ≥ k then report no (2, k)-biclique cover exists for G and quit.end if -Step 3 -Let C be the set containing all bicliques of G of the form: • All the bicliques ({u},N(u)) for u ∈ L or (N(u), {u}) for u ∈ R • All the bicliques ({u, v}, N(u) ∩ N(v)) for u, v ∈ L or (N(u) ∩ N(v), {u, v}) for u, v ∈ R • And all the K 3,3 in G .
W.l.o.g., we assume that |A L | = 3 and |A R | = 4.The proof follows similarly in the opposite case.Notice that if any set of at least 3 nodes in either side of A is covered by the same biclique B ∈ B then, B covers all nodes in A. This is because, by Lemma 4, if three nodes in side L in A (resp.R ) are covered by B then all nodes in side R in A (resp.L ) are covered by B, and this implies that the all nodes in side L (resp.R ) are covered by B.

4. 1 . 1 .
Determining Whether Nodes in S ⊆ L Share a Common factor Recall that in this section we assume we are given a bipartite graph G = (L, R, E) obtained by the ( f , p, k)-biclique cover where the condition Equation (1) holds, |R| ≥ Ω(log(|L|)) and no L i set is subset of L j for two distinct factors i, j ∈ [k].
Step 2, the loop is executed at most O(n) times and requires at most O(|L| f ) calls to I each of cost O(|E|) for a total of O(|L| f +1 |E|).Step 3 requires O(|L|) calls to I for a total of O(L|E|).Finally, Step 4 costs O(|E|).The total cost is O(k|L| f +1 |E|).
. These results are almost tight in terms of lower-order factors of |V| as an O min( |V| √ 3 takes at most O(n 6 ) time.Finally, Step 4 does at most k iterations over a set of size O(n 6 ) each step of the iteration taking at most O(|E|) time.The total is hence O(|V| 3 + kn 7 |E|), and the result follows.