# An exact solution for biclique vertex-cover problem on a bipartite graph

The biclique vertex-cover problem asks whether the vertex-set of the given graph can be covered with at most "k" bicliques (complete bipartite subgraphs).

It has been shown that "Biclique Vertex-Cover" is not fixed-parameter tractable unless P = NP in Covering Graphs with Few Complete Bipartite Subgraphs.

Most of the work in the literature proved the hardness of the problem in general/special cases. However, I need an exact algorithm for solving this problem on bipartite graphs. An approximate algorithm with a guarantee is also good (I'm aware of "Clustering and the Biclique Partition Problem", but it provided an approx solution for "Biclique Vertex Partition" not vertex-cover i.e. the provided solution is for disjoint bicliques not possibly overlapped ones).

Is anyone aware of an exact algorithm for "biclique vertex-cover" problem? Potentially, with time complexity analysis?

A naive algorithm, perhaps, would be starting from the whole bipartite graph to check for a biclique that covers all vertices (covering with one biclique). If not successful, we check subsets by removing one vertex and investigate if there exist two bicliques in this set that cover all vertices (trying to cover with two bicliques), and so on (trying to cover with more bicliques until reaching "k").

• In terms of selected tags, I think "bipartite-graphs", "bicliques", and "vertex-cover" is a better fit. However, I didn't have enough reputation to add those :). – mhn_namak Mar 25 '18 at 21:28

First, observe that a partition is a valid cover. Now suppose the partitioning algorithm reports an optimal partition with $k$ bicliques, and suppose to the contrary that there exists a cover $C$ with fewer than $k$ bicliques. But any cover can be turned into a partition easily: Whenever two bicliques in the cover contain the same vertex, delete the vertex from one of them. (This works because bicliques are hereditary: every induced subgraph of a biclique is also a biclique.) This will result in a valid cover with at most as many bicliques as there were originally (it may cause a biclique to have zero vertices: In that case, the original cover was not minimal). Repeat this vertex deletion step until all bicliques are pairwise vertex disjoint. If we apply this to the cover $C$, then because we started with strictly fewer than $k$ bicliques and never increased the number of them that we have, we now have a partition with strictly fewer than $k$ bicliques, contradicting the known optimal solution from the partition solver. Thus the optimal partition must have also been an optimal cover.