Reducing the rank of a matroid

We consider the rank reduction problem for matroids: Given a matroid M and an integer k, find a minimum size subset of elements of M whose removal reduces the rank of M by at least k. When M is a graphical matroid this problem is the minimum k-cut problem, which admits a 2-approximation algorithm. In this paper we show that the rank reduction problem for transversal matroids is essentially at least as hard to approximate as the densest k-subgraph problem. We also prove that, while the problem is easily solvable in polynomial time for partition matroids, it is NP-hard when considering the intersection of two partition matroids. Our proof shows, in particular, that the maximum vertex cover problem is NP-hard on bipartite graphs, which answers an open problem of B. Simeone.


Introduction
Consider the well-known minimum k-cut problem: Given a graph G and an integer k, find a minimum size subset of edges whose removal increases the number of connected components by at least k. This problem is NP-hard, assuming k is part of the input, and several 2-approximation algorithms have been developed for it over the years [14,17,18,20]. Notice that the minimum k-cut problem has a simple formulation in terms of matroids: Given a graph G and an integer k, find a minimum size subset of elements of the graphical matroid of G whose removal reduces its rank by at least k.
This observation motivates the study of the rank reduction problem in other classes of matroids. For example, is the rank reduction problem computationally hard and, if so, does it admit approximation algorithms with good approximation guarantees (as is the case for graphical matroids)? Moreover, as we will see, many fundamental problems can be formulated in this rank reduction framework.
In this paper, our focus is on the case of transversal matroids. First, we show that the rank reduction problem in transversal matroids is roughly at least as hard to approximate as the densest k-subgraph problem: Given a graph G and an integer k, find a subset of k vertices inducing a subgraph with a maximum number of edges. (Note that in our reduction the parameter k is not necessarily the same one as in the rank reduction problem.) The densest k-subgraph problem can be approximated to within a factor of O(n 1 4 + ) due to a recent breakthrough result of [4]. Moreover, it is widely believed [1,5,10,11] that its hardness is also close to this upper bound -indeed, Bhaskara et al. [5] present n Ω(1) lower bounds for lift and project methods based upon the Sherali-Adams and the Lassere hierarchies. We will show in particular that an O(m ε )-approximation algorithm for the rank reduction problem on transversal matroids (where m denotes the number of elements) implies an O(n 4ε )-approximation algorithm for the densest k-subgraph (where n is the number of vertices).
Secondly, we prove that while the rank reduction problem is easily solvable in polynomial time for partition matroids (a special class of transversal matroids), it is NP-hard when considering the intersection of two partition matroids. Our proof shows in particular that the maximum vertex cover problem-also known as the partial vertex cover problem-is NP-hard on bipartite graphs. Here, one is given a graph and a positive integer k, and the goal is to find a set of k vertices hitting as many edges as possible. The problem is obviously NP-hard on arbitrary graphs since it contains the vertex cover problem as a special case. Whether it remained NPhard on bipartite graphs was an open problem of B. Simeone (see [15]). We note that we learned after finishing this paper that Apollonio and Simeone [2] independently obtained a proof of this result.

Preliminaries
In this section we give the necessary definitions and notations. All graphs and matroids in this paper are finite, and "graph" will always mean an undirected simple graph. We use the shorthands |G| and ||G|| for the number of vertices and edges of a graph G, respectively. We denote by µ(G) the maximum size of a matching in G, which we call the matching number of G.
A matroid M is a pair (E, I) where I is a family of subsets, called the independent sets, of the ground set E satisfying the following three axioms: • the empty set ∅ is independent; • every subset of an independent is again independent, and • if X and Y are two independent sets with |X| > |Y | then there exists x ∈ X \ Y such that Y ∪ {x} is independent. The inclusion-wise maximal independent sets are the bases of the matroid M ; as follows from the third axiom the bases all have the same cardinality. The rank function of M is the function r : 2 E → N that assigns to each subset X of elements of E the maximum size r(X) of an independent set contained in X, called the rank of X. In particular, r(E) is the cardinality of a basis of M , which is called the rank of M .
The rank reduction problem for matroids is defined as follows: Given a positive integer k and a matroid on a set A of elements with rank function r, the goal is to find a minimum size subset X ⊆ A such that r(A \ X) r(A) − k.
For example consider the case of graphical matroids: Given a graph G = (V, E), the graphical matroid of G is obtained by taking E as ground set, and letting a subset F of edges be independent if and only if the corresponding subgraph is acyclic. Here the rank reduction problem is the minimum k-cut problem.
As stated, here we study transversal matroids. A bipartite graph G with bipartition (A, B) induces a matroid M as follows: The matroid M has A as ground set, and X ⊆ A is independent in M if and only if there exists a matching of G covering X. The fact that this is indeed a matroid is well-known; see for instance [19]. Any matroid M that can be obtained this way is called a transversal matroid, and the bipartite graph G is said to be a model for M . Observe that, letting r denote the rank function of M , the rank r(X) of X ⊆ A is equal to µ(G[X ∪ B]). Also note that being a transversal matroid is a hereditary property, in the sense that for each set X ⊆ A, taking the restriction I ∩ X of all independent sets I yields a transversal matroid on ground set X.
A special case of transversal matroids are partition matroids. Here we are given a collection E 1 , . . . , E p of disjoint sets and integers d 1 , . . . , d p such that 0 d i |E i | for each i ∈ {1, . . . , k}. One can define a corresponding matroid with ground set E := E 1 ∪ · · · ∪ E k by letting X ⊆ E be independent if and only if |E i ∩ X| d i for each i ∈ {1, . . . , k}. Such a matroid is called a partition matroid, with model ((E 1 , d 1 ), . . . , (E p , d p )). This corresponds to a transversal matroid on a bipartite graph G with bipartition (E, B), where B has d i vertices that are adjacent to all vertices in E i , and none other, for each set E i . Notice that partition matroids are also hereditary.
Throughout, since we restrict ourselves to specific families of matroids, we assume that the matroid is given concisely and not given explicitly as a set system in input. Specifically, a corresponding model of the matroid is provided: a bipartite graph for a transversal matroid, a graph for a graphical matroid, etc.
More generally, the rank reduction problem can be considered on the intersection of matroids. Given two matroids M 1 = (E, I 1 ) and M 2 = (E, I 2 ) with common ground set E, the intersection M 1 ∩ M 2 of M 1 and M 2 is the pair (E, I) where I is the family of sets X ⊆ E that are independent in both M 1 and M 2 , which are said to be the independent sets of M 1 ∩ M 2 . While the independence system (E, I) is not necessarily a matroid anymore, it enjoys several of the nice properties of matroids (see [19]). In particular, letting as before the rank r(X) of X ⊆ E be the maximum size of an independent set of M 1 ∩ M 2 contained in X, the rank r(E) of M 1 ∩ M 2 can be computed in polynomial time given access to the rank functions r 1 and r 2 of M 1 and M 2 , respectively, by a classical result of Edmonds (see [19]). We examine the rank reduction problem for the intersection of two partition matroids in Section 4.

Transversal Matroids
We start our investigation of the rank reduction problem with an easy observation, namely that the problem can be solved in polynomial time if the input matroid is a partition matroid. Proof. Let M be a given partition matroid with model ((E 1 , d 1 ), . . . , (E p , d p )) and rank function r. Let E := E 1 ∪ · · · ∪ E p denote the ground set of M . Observe that r(E) = p i=1 d i . Let k be the given parameter for the rank reduction problem on M . We may assume that 1 k r(E).
Moreover, assume X is inclusion-wise minimal with this property. Then, for each i ∈ {1, . . . , p}, either |E i ∩ X| c i + 1 or E i ∩ X = ∅. Moreover, letting J be the subset of indices i ∈ {1, . . . , p} such that E i ∩ X = ∅, we have that Therefore, computing an optimal solution to the rank reduction problem reduces to the problem of finding a subset J ⊆ {1, . . . , p} such that i∈J d i k and i∈J c i is minimum. Thus we obtain a knapsack problem. Moreover, as c i and d i are at most |E i |, they are of polynomial size when encoded in unary. Thus the knapsack problem can be solved easily in polynomial time using dynamic programming.
While the rank reduction problem admits a simple polynomial-time algorithm on partition matroids, the problem turns out to be more difficult on the broader class of transversal matroids. In fact, up to some degree, the problem can be viewed as a generalization of the densest ksubgraph problem. In the latter problem, one is given a graph G and a positive integer k, and the aim is to find a subgraph H of G with |H| = k and ||H|| maximum. Towards this goal, we consider a closely related problem, the minimum t-edge subgraph problem: Given a graph G and a positive integer t, the goal is to find a subgraph H of G with ||H|| = t and |H| minimum.
We start by drawing a connection between the rank reduction problem on transversal matroids and the minimum t-edge subgraph problem. Then we will extend the connection to the densest k-subgraph problem.
Lemma 3.2. For each constant ε with 0 < ε < 1/2, every O(m ε )-approximation algorithm for the rank reduction problem on transversal matroids with m elements can be turned into an O(n 2ε )-approximation algorithm for the minimum t-edge subgraph problem on graphs with n vertices.
Proof. Let G = (V, E) be an instance of the minimum t-edge subgraph problem. Let n := |V |. Let V 1 , V 2 , . . . , V n be n disjoint copies of V . Let E be a disjoint copy of E. Let H be the bipartite graph with bipartition (A, B) where A = V 1 ∪ V 2 ∪ · · · ∪ V n ∪ E and B = E, and where u ∈ A is adjacent to v ∈ B if either u corresponds to a vertex of G that is incident to the edge corresponding to v in G, or if u and v correspond to the same edge of G.
Let r denote the rank function of the transversal matroid induced by H on A; thus for X ⊆ A, r(X) is the maximum size of a matching in H[X ∪ B]. Obviously, r(A) = |E|, since every v ∈ B can be matched to its copy in A. Let m := |A| denote the number of elements of the transversal matroid. Now consider the rank reduction problem on this matroid with k = t. Recall that a feasible solution is a subset X ⊆ A such that r(A \ X) r(A) − t = |E| − t.
As is well known, we have that where N H (Y ) denotes the set of vertices of H that have a neighbor in Y . 1 Such a set Y is said to be a witness for X. The set Y defines in turn a corresponding subgraph G Y of G consisting of all the edges of G included in Y , and the vertices of G incident to those edges. By definition of H, the set N H (Y ) consists of the n copies of each vertex of G Y , along with the copies in E of each edge of G Y . Observe that any set X obtained by taking the n copies in A of each vertex of G Y and t arbitrarily chosen edges of follows that |X | |X|, that is, X is a solution of size no greater than X and having the same we have that X \ {u} is again a solution to the rank reduction problem, with witness Y \ {v}, and of size smaller than X.
To summarize the above discussion, given an arbitrary set Conversely, for every subgraph G ⊆ G with ||G || = t, there is a natural corresponding canonical pair (X, Y ), where Y contains the copies in B of the t edges of G , and where X = N H (Y ). Letting x * and j * denote the size of an optimal solution for the rank reduction and minimum t-edge subgraph problems, respectively, it follows that x * = nj * + t. Now suppose that the rank reduction problem admits a cm ε -approximation algorithm, where 0 < ε < 1/2 and c > 0 are absolute constants. Letting (X, Y ) be a canonical pair with |Y | = t obtained using this algorithm, we have (In the last inequality we used the fact that (j * ) 2 t, and thus t n (j * ) 2 n j * n n = j * .) Therefore, G Y is a t-edge subgraph whose order is within a 4cn 2ε -factor of optimal.
As pointed out to us by an anonymous referee, the following lemma is implicit in the recent work of Chlamtac, Dinitz, and Krauthgamer [8] (in [8], the minimum t-edge subgraph problem is called the smallest m-edge subgraph problem). We include a proof nevertheless, for completeness. Proof. Suppose that the minimum t-edge subgraph problem admits a c n ε -approximation algorithm, which we denote A, where 0 < ε < 1 and c 1 are absolute constants. Let G be an instance of the densest k-subgraph problem. As before, we let n and m denote the number of vertices and edges of G, respectively. We may assume n k 2. Since c 1 and n ε 1, there exists c with c c 2c such that cn ε is an integer. We will consider the approximation factor of A to be cn ε in what follows, to avoid cumbersome floors and ceilings in the calculations.
Let z * denote the number of edges in an optimal solution to the densest k-subgraph problem on G. If |H m | kcn ε then let t := m, otherwise let t be the index in {1, . . . , m − 1} such that |H t | kcn ε and |H t +1 | > kcn ε . Since algorithm A is a cn ε -approximation algorithm, and since either t = m or |H t +1 | > kcn ε , it follows that every subgraph of G with exactly k vertices has at most t edges, that is, z * t .
Let q := |H t |/ k/2 . Observe that 2 q 3cn ε . Let V 1 , V 2 , . . . , V q be a partition of the vertex set of H t into q subsets with Thus in both cases |H| = k and ||H|| z * /9c 2 n 2ε . Hence, H is a solution to the densest k-subgraph problem on G whose number of edges is within a 9c 2 n 2ε -factor of the optimum.

Combining Lemma 3.2 and 3.3 gives:
Theorem 3.4. For each constant ε with 0 < ε < 1/4, every O(m ε )-approximation algorithm for the rank reduction problem on transversal matroids with m elements can be turned into an O(n 4ε )-approximation algorithm for the densest k-subgraph problem on graphs with n vertices.
As discussed in the introduction, the best approximation algorithm for the densest k-subgraph problem currently known has an approximation ratio of O(n 1/4+δ ) for any fixed δ > 0 [4] and it is conjectured that the inapproximability of the problem is of a similar magnitude. It would be nice to obtain strong inapproximability bounds for the rank reduction problem that do not rely on this conjecture. One approach may be to analyze hypergraphs as the rank reduction problem in transversal matroids incorporates the hypergraph version of the minimum t-edge subgraph problem. That is, we wish to select as few vertices as possible that induce at least t hyperedges. Perhaps surprisingly, little is known about this problem. As far as we are aware, the only specific hardness result is NP-hardess due Vinterbo [21] who studied the problem in the context of making medical databases anonymous.
We conclude this section with a remark about the approximability of the minimum t-edge subgraph problem itself. Given the existence of a O(n 1/4+δ )-approximation algorithm for the densest k-subgraph problem, in view of Lemma 3.3 it is perhaps natural to wonder whether one could achieve a O(n 1/8+δ )-approximation for the former problem. While this is still open as far as we know, Chlamtac et al. [8] recently made progress in that direction by describing an algorithm for the minimum t-edge subgraph problem with an approximation ratio of O(n 3−2 √ 2+δ ) = O(n 0.1716+δ ) for fixed δ > 0.

The Maximum Vertex Cover Problem in Bipartite Graphs
As we have seen, the rank reduction problem admits a fairly simple polynomial-time algorithm on partition matroids but becomes much harder on transversal matroids, in the sense that approximation algorithms offering good guarantees seem unlikely to exist. Another interesting generalization of the case of partition matroids is to consider the intersection of two partition matroids.
As is well-known, the set of matchings of a bipartite graph G = (V, E) with bipartition (A, B) can be modeled as the family of common independent sets of two partition matroids M 1 and M 2 defined on E: Take M 1 to be the partition matroid with model ((E(u 1 ), 1), . . . , (E(u a ), 1)) and M 2 the partition matroid with model ( (E(v 1 ), 1), . . . , (E(v b ), 1)), where A = {u 1 , . . . , u a }, B = {v 1 , . . . , v b }, and for w ∈ V the set E(w) denotes the set of edges incident to w. Hence, in this specific case the rank reduction problem on M 1 ∩ M 2 amounts to finding a subset F of edges of G of minimum size such that µ(G − F ) µ(G) − k. In this section we show that this problem is NP-hard. More accurately, we show that a problem polynomially equivalent to it, the maximum vertex cover problem on bipartite graphs, is NP-hard; see Theorem 4.1. This solves an open problem of B. Simeone (see [15]).
The maximum vertex cover problem (also known as the partial vertex cover problem) is defined as follows: Given a graph G = (V, E) and a positive integer k |G|, find a subset X of vertices of G with |X| = k such that the number of edges covered by X is maximized. (An edge e of G is covered by X if e has at least one endpoint in X.) Now, if G is bipartite, t is a positive integer with t µ(G), and F is a subset of edges of G such that µ(G − F ) µ(G) − t =: k, then by Kőnig's theorem G − F has a vertex cover X of size k, and hence X covers at least |E| − |F | edges of G. (We remark that X could cover some edges of F too, and that X can be computed in polynomial time given F .). Conversely, for every set X ⊆ V with |X| = k, the set F of edges of G not covered by X is such that µ(G − F ) k. Therefore, for bipartite graphs, the maximum vertex cover problem is polynomially equivalent to that of finding a minimum-size set of edges decreasing the matching number by a prescribed amount.
It should be noted that two recent works [6,9] with an overlapping set of authors claim that the NP-hardness of the maximum vertex cover problem on bipartite graphs can be derived directly from the reduction of Corneil and Perl [7] showing that the densest k-subgraph problem is NP-hard on bipartite graphs. However, the argument relating the latter reduction to the maximum vertex cover problem, described explicitly in [9,Lemma 4], is flawed. 2 We also mention that the proof of Theorem 1 in [6], showing that a related problem called the maximum quasi-independent set problem is NP-hard on bipartite graphs, relies on the assumption that the maximum vertex cover problem is NP-hard on bipartite graphs. Thus our result also fills a gap in that proof.  x + 2y + 3z x s 2 x, y, z, s ∈ N 2 As mentioned in [9,Lemma 3], the maximum vertex cover problem in bipartite graphs is polynomially equivalent to the densest k-subgraph problem in complements of bipartite graphs. Thus one may equivalently consider the complexity of the latter problem. In the proof of Lemma 4 in [9], the authors point out that the reduction of [7] implies that the problem of finding a densest k-subgraph in the complement of a bipartite graph with bipartition (A, B) with k = q + q 2 and with the extra requirement that it contains exactly q vertices from A and q 2 vertices from B is NP-hard. From this they wrongly conclude that the densest k-subgraph problem, without this extra constraint, is also NP-hard on complements of a bipartite graphs. (In fact, the instances obtained via the reduction in [7] satisfy |B| k, and thus a densest k-subgraph is trivially obtained by taking k vertices in the clique B.) has a unique optimal solution given by x = 2 , y = 0, z = 0, s = .
Proof. The proof is a straightforward case analysis. Consider an optimal solution x, y, z, s to the integer program and, arguing by contradiction, assume it differs from the solution described above. Let f (x, y, z) := x + 2y + 3z.
Here, the last inequality follows from the fact that s+1 2 − s 2 3. Now, increment s by 1, x by 3, and decrement y and z in such a way that they remain non-negative integers and that the sum y + z decreases by exactly 2. The modified solution is still feasible and f (x, y, z) decreases by at least 1, a contradiction.
Case 3: s = . Then y + z 1, since otherwise we would have the solution described in the lemma statement. It follows that x 2 − 1. Thus we can increment x by 1 and decrement by 1 a positive variable among y, z. This strictly decreases f (x, y, z), a contradiction.
Case 4: s > . Then x + y + z = 2 + s − l > 2 . But x 2 < s 2 , otherwise the solution cannot be minimum. Therefore y + z 1. Thus we improve the solution by incrementing x by 1 and decrementing by 1 a positive variable among y, z. Now we may turn to the proof of Theorem 4.1.
Proof of Theorem 4.1. The reduction is from the NP-complete problem Clique: Given a graph H and an integer , decide whether H contains a clique on vertices or not. We may assume 6 (otherwise, we simply check the existence of an -clique by brute force). We may also suppose that H has minimum degree at least 2. Indeed, a vertex with degree at most 1 cannot be part of an -clique, and thus those vertices can iteratively be removed from the graph. Finally, we assume that ||H|| |H| + 2 . This last assumption can also be made without loss of generality. Indeed, if ||H|| is too small then one can simply consider the disjoint union of H with a large enough 3-regular graph; since 6 no vertex from this new 3-regular component can be part of an -clique.
We build an instance (G, k) of the maximum vertex cover problem as follows. First, create two adjacent vertices a v and b v for every vertex v ∈ V (H), and similarly two adjacent vertices a e and b e for every edge e ∈ E(H). Next, for every edge uv ∈ E(H), add the edges a uv b u , b uv a u and a uv b v , b uv a v . Finally, let Observe that G is bipartite with bipartition See Figure 1 for an illustration of the construction. A feasible solution for this instance of the maximum vertex cover problem is a subset X of vertices of G with |X| = k, which we call a partial vertex cover for short. We let c(X) denote the number of edges covered by such a set X. Let OP T denote the maximum of c(X) over every partial vertex cover X of G.
A partial vertex cover X of G is nice if  Proof. First we define a partial vertex coverX based on X which is close to being nice: Let ∪ a e , b e : e ∈ E(H), a e , b e ∈ X ∪ a e : e ∈ E(H), |{a e , b e } ∩ X| = 1 .
By construction |X| = |X|. Clearly, an edge a x b x with x ∈ V (H) ∪ E(H) is covered byX if and only if it is covered by X. Also, given a pair (u, e) of vertex u ∈ V (H) and edge e ∈ E(H) such that u is incident to e in H, the setX covers at least as many edges in {a e b u , b e a u } as X (though not necessarily the same ones). It follows that c(X) c(X).
A useful property of the setX is that if b x ∈X for some x ∈ V (H) ∪ E(H) then necessarily a x ∈X. For simplicity we call this property the a-property ofX.
We need to introduce an additional definition. An element x ∈ V (H) ∪ E(H) is said to be bad in a partial vertex cover Y of G if either x ∈ V (H) and a x , b x / ∈ Y (x is a bad vertex), or x ∈ E(H) and a x , b x ∈ Y (x is a bad edge). Observe that Y is nice if and only if Y has the a-property and there is no bad element.
Suppose e = uv is an edge of H which is bad inX. If u or v is also bad inX, say u, then let We have a e ∈X, thus the edge a e b e is still covered byX . SinceX covers also b e a u , there is at most one edge incident to b e in G (namely, b e a v ) which is not covered byX . On the other hand,X covers the previously uncovered edge a u b u . Hence,X is a partial vertex cover with c(X ) c(X). Observe thatX still has the a-property, and the edge e is no longer bad inX . If, on the other hand, none of u, v is bad inX, then a u , a v ∈X by the a-property. Since a e ∈X, it follows that c(X − {b e }) = c(X). There exists an element x ∈ V (H) ∪ E(H) such that a x / ∈X, because |X| = k = |H| + ||H|| − 2 + < |H| + ||H|| (since 6). Let theñ The setX is a partial vertex cover with the a-property and with c(X ) c(X). Moreover, the edge e is no longer bad inX . Now apply iteratively the above modifications onX as long as there exists a bad edge. This results in a partial vertex cover X with the a-property, without bad edges, and with c( X) c(X).
Next we deal with bad vertices in X. Suppose u ∈ V (H) is such a vertex, that is, a u , b u / ∈ X. Consider two edges e, f incident to u in H. (Recall that H has minimum degree at least 2.) Since | X| = k = |H| + ||H|| − 2 + and ||H|| |H| + 2 by our assumption on H, we have | X| > 2|H|. Together with the a-property of X, it follows that a e ∈ X for some edge e ∈ E(H) (possibly e = e or e = f ). Note that b e / ∈ X, because otherwise e would be a bad edge for X.
Since a e has degree 3 in G we have c( X − {a e }) c( X) − 3. Furthermore, b e , b f / ∈ X as there are no bad edges in X. Thus, the three edges a u b u , b e a u , b f a u of G were not covered by X but are covered by X , so we have c( X ) c( X). Similarly as before, the partial vertex cover X has the a-property and one less bad vertex than X. Therefore, iterating this procedure as long as there is a bad vertex, we eventually obtain a partial vertex cover X with c(X ) c( X) c(X) having the a-property and no bad element, as desired.
Consider a nice partial vertex cover X of G. Let S(X) be the set of vertices u ∈ V (H) such that a u , b u ∈ X, and let s(X) := |S(X)|. An edge e = uv of H satisfies exactly one of the following three conditions: (1) u, v ∈ S(X); (2) exactly one of u, v belongs to S(X), (3) u, v / ∈ S(X). We say that edge e is of type i (i ∈ {1, 2, 3}) if e satisfies the ith condition above and moreover a e , b e / ∈ X. (We will focus on edges e of H such that a e , b e / ∈ X in what follows, which is why the other ones do not get assigned a type.) Let E i (X) be the set of edges of H with type i, and let e i (X) := |E i (X)|. Proof. As X is nice, a v ∈ X for all v ∈ V . Therefore every edge of the form a v b v or a v b e is covered. Also, for each edge e = uv ∈ E(H) \ ∪ 1 i 3 E i (X) we have that a e b e , a e b u , a e b v are all covered. Thus the only uncovered edges are incident to vertices a e where e ∈ ∪ 1 i 3 E i (X). Suppose e ∈ ∪ 1 i 3 E i (X) and let us consider which edges among the three edges a e b e , a e b u , a e b v are covered by X. If e ∈ E 1 (X), then X covers a e b u and a e b v but not a e b e . If e ∈ E 2 (X), then X covers exactly one of a e b u , a e b v , and avoids a e b e . If e ∈ E 3 (X), then X covers none of the three edges. Hence, the total number of edges not covered by X is exactly e 1 (X)+2e 2 (X)+3e 3 (X). with equality if and only if s(X) = , e 1 (X) = 2 , e 2 (X) = e 3 (X) = 0.
If H has an -clique K ⊆ H, then the subset X ⊆ V (G) defined by Conversely, if OP T = ||G|| − 2 , then there exists a partial vertex cover X of G with c(X) = ||G|| − 2 , and by Claim 4.3 we may assume that X is nice. From Claim 4.5 we then have s(X) = , e 1 (X) = 2 , e 2 (X) = e 3 (X) = 0, implying that S(X) induces an -clique in H.
Therefore, we can decide in polynomial time if H has an -clique by checking if OP T = ||G|| − 2 . This concludes the proof.
The NP-hardness of the maximum vertex cover problem on bipartite graphs motivates the search for non-trivial approximation algorithms for this class of graphs. A recent result in this direction is due to Apollonio and Simeone [3], who gave an LP-based (4/5)-approximation algorithm for bipartite graphs.