12
. RESEARCH PAPER . SCIENCE CHINA Information Sciences doi: 10.1007/s11432-013-4845-2 c Science China Press and Springer-Verlag Berlin Heidelberg 2014 info.scichina.com link.springer.com On the parameterized vertex cover problem for graphs with perfect matching WANG JianXin 1 , LI WenJun 1 , LI ShaoHua 1 & CHEN JianEr 1,2 1 School of Information Science and Engineering, Central South University, Changsha 410083, China; 2 Department of Computer Science and Engineering, Texas A&M University, College Station, Texas 77843-3112, USA Received April 20, 2012; accepted August 8, 2012 Abstract A vertex cover of an n-vertex graph with perfect matching contains at least n/2 vertices. In this paper, we study the parameterized complexity of the problem vc-pm* that decides if a given graph with perfect matching has a vertex cover of size bounded by n/2+ k. We first present an algorithm of running time O (4 k ) for a variation of the vertex cover problem on K¨ onig graphs with perfect matching. This algorithm combined with the iterative compression technique leads to an algorithm of running time O (9 k ) for the problem vc-pm*. Our result improves the previous best algorithm of running time O (15 k ) for the vc-pm* problem, which reduces the problem to the almost 2-sat problem and solves the latter by Razgon and O’Sullivan’s recent algorithm. Keywords NP-complete, parameterized algorithm, vertex cover, iterative compression Citation Wang J X, Li W J, Li S H, et al. On the parameterized vertex cover problem for graphs with perfect matching. Sci China Inf Sci, 2014, 57, doi: 10.1007/s11432-013-4845-2 1 Introduction The vertex cover problem is a classical NP-complete problem [1], with important applications in fields such as computational biochemistry [2,3]. Various computational approaches to the problem, including approximation algorithms (see the survey article [4]) and parameterized algorithms [5–8], have been extensively studied. An approximation algorithm of ratio 2 for the problem can be easily achieved based on graph maximal matching [4], while it is now known that the problem is unlikely to have a polynomial- time approximation algorithm of ratio bounded by a constant smaller than 2 [9]. The best parameterized algorithm for the problem has a running time O (1.2738 k ) [10] (Following the recent convention, we use the notation O (f (k)) to denote the bound O(f (k)n O(1) )), and it has been proved that the problem has no subexponential-time parameterized algorithms unless the Exponential Time Hypothesis (ETH) fails [11]. There has also been research on heuristic algorithms (e.g. [12]) for solving the minimum vertex cover problem. The performance of these algorithms is usually evaluated based on well-established DIMACS [13] and BHOSLIB [14] benchmarks. The vertex cover problem on graphs with perfect matching has been studied more recently. The problem is NP-hard [15]. Approximation algorithms for the problem have been studied [15,16]. Moreover, it is known that the problem and the vertex cover problem on general graphs have the same approximability threshold [15,17]. Combining this result with the inapproximability results in [9], we derive that the problem is unlikely to have a polynomial-time approximation algorithm of ratio bounded by a constant Corresponding author (email: [email protected])

On the parameterized vertex cover problem for graphs with perfect matching

  • Upload
    jianer

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: On the parameterized vertex cover problem for graphs with perfect matching

. RESEARCH PAPER .

SCIENCE CHINAInformation Sciences

doi: 10.1007/s11432-013-4845-2

c© Science China Press and Springer-Verlag Berlin Heidelberg 2014 info.scichina.com link.springer.com

On the parameterized vertex cover problem forgraphs with perfect matching

WANG JianXin1∗, LI WenJun1, LI ShaoHua1 & CHEN JianEr1,2

1School of Information Science and Engineering, Central South University, Changsha 410083, China;2Department of Computer Science and Engineering, Texas A&M University, College Station, Texas 77843-3112, USA

Received April 20, 2012; accepted August 8, 2012

Abstract A vertex cover of an n-vertex graph with perfect matching contains at least n/2 vertices. In this

paper, we study the parameterized complexity of the problem vc-pm* that decides if a given graph with perfect

matching has a vertex cover of size bounded by n/2 + k. We first present an algorithm of running time O∗(4k)for a variation of the vertex cover problem on Konig graphs with perfect matching. This algorithm combined

with the iterative compression technique leads to an algorithm of running time O∗(9k) for the problem vc-pm*.

Our result improves the previous best algorithm of running time O∗(15k) for the vc-pm* problem, which reduces

the problem to the almost 2-sat problem and solves the latter by Razgon and O’Sullivan’s recent algorithm.

Keywords NP-complete, parameterized algorithm, vertex cover, iterative compression

Citation Wang J X, Li W J, Li S H, et al. On the parameterized vertex cover problem for graphs with perfect

matching. Sci China Inf Sci, 2014, 57, doi: 10.1007/s11432-013-4845-2

1 Introduction

The vertex cover problem is a classical NP-complete problem [1], with important applications in fields

such as computational biochemistry [2,3]. Various computational approaches to the problem, including

approximation algorithms (see the survey article [4]) and parameterized algorithms [5–8], have been

extensively studied. An approximation algorithm of ratio 2 for the problem can be easily achieved based

on graph maximal matching [4], while it is now known that the problem is unlikely to have a polynomial-

time approximation algorithm of ratio bounded by a constant smaller than 2 [9]. The best parameterized

algorithm for the problem has a running time O∗(1.2738k) [10] (Following the recent convention, we use

the notation O∗(f(k)) to denote the bound O(f(k)nO(1))), and it has been proved that the problem

has no subexponential-time parameterized algorithms unless the Exponential Time Hypothesis (ETH)

fails [11]. There has also been research on heuristic algorithms (e.g. [12]) for solving the minimum vertex

cover problem. The performance of these algorithms is usually evaluated based on well-established

DIMACS [13] and BHOSLIB [14] benchmarks.

The vertex cover problem on graphs with perfect matching has been studied more recently. The problem

is NP-hard [15]. Approximation algorithms for the problem have been studied [15,16]. Moreover, it is

known that the problem and the vertex cover problem on general graphs have the same approximability

threshold [15,17]. Combining this result with the inapproximability results in [9], we derive that the

problem is unlikely to have a polynomial-time approximation algorithm of ratio bounded by a constant

∗Corresponding author (email: [email protected])

Page 2: On the parameterized vertex cover problem for graphs with perfect matching

2 Wang J X, et al. Sci China Inf Sci

smaller than 2. On the other hand, since a vertex cover of an n-vertex graph with perfect matching

contains at least n/2 vertices, the set of all vertices of the graph makes a trivial vertex cover of ratio

bounded by 2 for the graph. Therefore, the tight approximation ratio 2 for the vertex cover problem

on graphs with perfect matching is closely related to the complexity of deciding if such a graph has

its minimum vertex cover of size larger than n/2. In particular, studying if a given graph with perfect

matching has its minimum vertex cover of size “slightly” larger than n/2 is interesting.

In terms of parameterized complexity, since a minimum vertex cover of an n-vertex graph with perfect

matching contains at least n/2 vertices, it seems more reasonable to parameterize the problem by studying

whether such a graph has a vertex cover of size bounded by n/2+k, where k is the parameter [18–20]. This

way of problem parameterization has been named “parameterizing above or below guaranteed values”

in [20], which has received increasing attention recently. In particular, development of parameterized

algorithms for the vertex cover problem on graphs with perfect matching that look for a vertex cover

of size bounded by n/2 + k is of its independent interest. Recent research has shown close algorithmic

relationships between this problem and a number of other important parameterized problems, including

the problems above guar vertex cover, perfect vertex deletion, Konig vertex deletion set, and almost

2-sat [20,21].

Motivated by the above observations, in this paper we will focus on the parameterized problem formally

defined as follows.

• Vertex cover on graphs with perfect matching vc-pm*. Given an n-vertex graph G with

perfect matching and a parameter k, is there a vertex cover of size n/2 + k for the graph G?

The almost 2-sat problem on an instance F of 2-sat looks for deleting k clauses from F so that the

resulting formula becomes satisfiable. Razgon and O’Sullivan [21] recently proposed an algorithm that

solves the almost 2-sat problem in time O∗(15k). On the other hand, Chen and Kanj [15] presented a

polynomial time reduction that, on an n-vertex graph G with perfect matching, constructs an instance

FG of 2-sat such that the graph G has a vertex cover of size n/2 + k if and only if there are k clauses in

FG whose removal makes FG satisfiable. Combining these two results gives an algorithm of running time

O∗(15k) for the problem vc-pm*.

In this paper, we study more efficient algorithms for the problem vc-pm*. We start our study with a

variation of the problem on Konig graphs (a graph is Konig if the size of its maximum matching is equal

to that of its minimum vertex cover), which is formulated as follows.

• Vertex cover on konig graphs with perfect matching vc-kpm*. Given an n-vertex Konig

graph G with perfect matching, a parameter k, and a set U of vertices in G, is there a vertex cover X

of size n/2 + k such that U ⊆ X?

We remark that algorithms for some parameterized problems on Konig graphs (but not including

vc-kpm*) have been studied recently [22].

We first study the structures of Konig graphs and of the vc-kpm* problem, which enables us to

develop an algorithm of running time O∗(4k) for the vc-kpm* problem. Our algorithm has a style

similar to that of Razgon-O’Sullivan’s algorithm for the annotated almost 2-sat problem (2-aslasat) [21].

However, our algorithm is more efficient (Razgon-O’Sullivan’s algorithm for the 2-aslasat problem runs

in time O∗(5k)). We then show that the algorithm for the vc-kpm* problem combined with the iterative

compression techniques [23] gives an algorithm of running time O∗(9k) for the vc-pm* problem, improving

the previous best algorithm, as described above, for the vc-pm* problem.

As a byproduct, the analysis techniques employed in our discussion enable us to derive that Razgon-

O’Sullivan’s algorithm for the almost 2-sat problem actually runs in time O∗(11k), which is better than

the bound O∗(15k) originally claimed in [21].

2 On Konig graphs with perfect matching

In this section, we introduce some related terminology of general graphs, and study the properties of

Konig graphs.

Page 3: On the parameterized vertex cover problem for graphs with perfect matching

Wang J X, et al. Sci China Inf Sci 3

Let G = (V ,E) be a simple and undirected graph. For two vertices u, v ∈ V , denote by [u, v] an edge

between u and v. For a vertex v ∈ V , let N(v) denote all neighbors of v in G, i.e., N(v) = {u | u ∈V , [u, v] ∈ E}. For a subset V ′ ⊆ V , let G[V ′] be the graph induced by V ′. If a matching M in the

graph G saturates all vertices in G, M is called a perfect matching of G, and we will use |M | to denote

the number of edges in M . We say e is a matched edge if e ∈ M , otherwise, e is an unmatched edge.

For an edge subset E′ ⊆ E, let V(E′) be the set of endpoints of edges in E′.A graph G is Konig if the size of a minimum vertex cover of G equals the number of edges in a

maximum matching of G. There is a linear-time algorithm [24] that, when a maximum matching of a

graph G is given, tests if G is Konig, and in case G is Konig, constructs a minimum vertex cover for G.

Combining this with the well-known graph matching algorithm [25], we have

Proposition 1 ([24,25]). There is an O(m√n)-time algorithm that tests if a given graph G is Konig,

and if G is Konig then the algorithm constructs a minimum vertex cover for the graph.

When a minimum vertex cover Vvc of a Konig graph G is given, we also have an independent set

Vis = V \Vvc of the graph G. Moreover, it is not difficult to verify that a matching M of G is maximum

if and only if M saturates all vertices in Vvc and if every edge in M has an end in Vis and the other end

in Vvc. In fact, this gives a well-known characterization of Konig graphs, stated as follows.

Proposition 2 ([22,26]). A graph G = (V ,E) is Konig if and only if its vertex set V can be partitioned

into two sets Vis and Vvc, where Vis is an independent set and there is a matching M saturating Vvc such

that each edge in M has one end in Vis and one end in Vvc.

By Propositions 1 and 2 and with a polynomial-time pre-processing, we can assume that an instance

of vc-kpm* is given as a tuple (G,M ,Uvc,Uis, k), where G = (V ,E) is an n-vertex Konig graph whose

vertex set V is decomposed into V = Vis ∪Vvc with Vis a maximum independent set and Vvc a minimum

vertex cover of G, Uvc ⊆ Vvc, Uis ⊆ Vis, and M is a perfect matching in which each edge has one end

in Vis and the other end in Vvc. The instance (G,M ,Uvc,Uis, k) is looking for a vertex cover X of size

n/2 + k such that U = Uvc ∪ Uis ⊆ X. Furthermore, corresponding to (G,M ,Uvc,Uis, k), we assume

that (G,M ,Uvc,Uis) is an instance of the optimal version of vc-kpm* problem, which is looking for a

minimum vertex cover X ′ of G such that U = Uvc ∪Uis ⊆ X ′.Let (G,M ,Uvc,Uis, k) be an instance of vc-kpm*, where G = (Vis ∪ Vvc,E) and Uis ∪Uvc = U . We

first study the conditions under which G has a vertex cover X of size exact n/2 with U ⊆ X.

An M -alternating walk from a vertex v1 in the graph G is a walk {v1, v2, . . . , vh} in G such that

[v1, v2] ∈ M , and that for any two consecutive edges in the walk, exactly one is in M . Note that we

allow vertices and edges to repeat in an M -alternating walk. A U -walk in G (with respect to M) is an

M -alternating walk whose both ends are in U and whose last edge is also in M . Note that by definition,

a U -walk is always of odd length.

Lemma 1. Let U be a vertex subset in an n-vertex Konig graph G with a perfect matching M . Then G

has a vertex coverX of size n/2 such thatU ⊆ X if and only if there is noU -walk inG with respect toM .

Proof. Suppose that the graph G has a vertex cover X of size n/2 such that U ⊆ X. Then each edge

in the matching M has exact one end in X. Assume W = {v1, v2, . . . , v2h} is a U -walk, which means

{v1, v2h} ⊆ U and all edges [v2i−1, v2i] on W , i = 1, . . . , h, are in the matching M , so each of them has

exact one end in X. For v1 ∈ U , it is easy to verify by induction that for all i, the vertex v2i−1 is in X

and the vertex v2i is not in X – but this contradicts v2h ∈ U . This proves that if G has a vertex cover

X of size n/2 with U ⊆ X, then there is no U -walk.

For the other direction, suppose that there is no U -walk. Define a vertex subset X as follows:

1) For any M -alternating walk W = {v1, v2, . . . , v2h−1, v2h} such that v1 ∈ U , include v2i−1 in the

subset X, for all i = 1, . . . , h.

2) If no end of an edge e in the matching M is included in X by rule 1), then include the end of e

that belongs to Vvc in the subset X.

We verify that the subset X is a vertex cover of size n/2 for the graph G and that U ⊆ X.

Page 4: On the parameterized vertex cover problem for graphs with perfect matching

4 Wang J X, et al. Sci China Inf Sci

SinceM is a perfect matching, each vertex v in U plus the edge inM that is incident to v makes anM -

alternating walk that, by rule 1), includes v inX. This provesU ⊆ X. We now prove that each edge in the

matchingM has exactly one end inX. By rule 2), each edge inM has at least one end inX. Suppose that

an edge [v, w] in M has both its ends in X, where v ∈ Vis and w ∈ Vvc. The vertex v cannot be included

in X by rule 2); thus it must satisfy the condition in rule 1). This implies that vertex w should also be

included in X by rule 1). Therefore, there exist an M -alternating walk W1 = {v1, v2, . . . , v2i−1, v2i},where v1 ∈ U and v2i−1 = v, and an M -alternating walk W2 = {w1, w2, . . . , w2j−1, w2j}, where w1 ∈ U

and w2j−1 = w. Note that we must also have v2i = w and w2j = v, because each vertex is the end of

exactly one edge in the matching M . Therefore, the concatenation of the walk W1 and the reversed walk

of W2: {v1, v2, . . . , v2i−2, v, w, w2j−2, . . . , w2, w1} is a U -walk. But this contradicts the assumption that

there is no U -walk. This contradiction shows that each edge in M has exactly one end in the subset X.

As a consequence, |X| = n/2.

What remains to prove is that X is a vertex cover for the graph G. By rule 2), each edge in the

matching M has at least one end in X. Thus, if X is not a vertex cover for G, then there is an edge

[v, w] not in M such that neither v nor w is in X. The vertices v and w cannot be both in Vis because

Vis is an independent set. Thus, we can assume without loss of generality that v ∈ Vvc. Let [v, v′] and[w,w′] be the edges in the matching M . Then v′ ∈ Vis. As proved above, each edge in M has exact

one end in X. Thus, v′ ∈ X. Because v′ ∈ Vis, v′ must be included in X by rule 1), i.e., there is an

M -alternating walk W3 = {v1, v2, . . . , v2i−1, v2i}, where v1 ∈ U and v2i−1 = v′. This gives immediately

v2i = v. Now, consider the M -alternating walk {v1, v2, . . . , v2i−1, v2i, w, w′}, which, by rule 1), would

have put w in the set X, contradicting our assumption that w �∈ X. This contradiction shows that the

edge [v, w] cannot exist. As a consequence, the subset X must be a vertex cover for the graph G.

Let (G,M ,Uvc,Uis, k) be an instance of vc-kpm*, where G = (V ,E). Let M ′ be a set of edges in

M and let V ′ = V(M ′). Denote by G′ = G(V ,E \M ′) the graph G with the edges in M ′ removed.

We say that a path p in G′ is a U -walk in G′ if p is a U -walk in G. Moreover, note that the graph

G[V \ V ′], i.e., the graph G with the vertices in V ′ removed, is a Konig graph in which the edge set

M ′′ = M \M ′ is a perfect matching.

Our algorithm is based on the following theorem.

Theorem 1. (G,M ,Uvc,Uis, k) is a yes-instance of vc-kpm* if and only if there is a set M ′ of k edges

in M such that the Konig graph G[V \ V ′] with the perfect matching M ′′ = M \M ′ has no U ′-walkwith respect to M ′′, where V ′ = V(M ′) and U ′ = U \ V ′, which is true if and only if the graph

G′ = G(V ,E \M ′) contains no U -walks.

Proof. Assume that (G,M ,Uvc,Uis, k) is a yes-instance of vc-kpm*, so the n-vertex graphG has a vertex

cover X of size n/2 + k with U = Uvc ∪Uis ⊆ X. Since M is a perfect matching in G, there are exact

k edges in M whose both ends are in X. Let M ′ be the set of these k edges in M , and let V ′ = V(M ′)and U ′ = U \ V ′. Then the (n− 2k)-vertex Konig graph G[V \ V ′] has a vertex cover X ′ = X \ V ′ ofsize (n/2+ k)− 2k = (n− 2k)/2 with U ′ ⊆ X ′. By Lemma 1, the graph G[V \V ′] has no U ′-walk with

respect to the perfect matching M ′′ = M \M ′.Thus, if (G,M ,Uvc,Uis, k) is a yes-instance of vc-kpm*, then every U -walk in G contains some

vertices in V ′ = V(M ′). Since a U -walk W in G must start and end with edges in M , if W contains

an endpoint of an edge e in M , then W must also contain the edge e. Therefore, if (G,M ,Uvc,Uis, k)

is a yes-instance of vc-kpm*, then every U -walk in G contains some edges in M ′. As a consequence, the

graph G′ = (V ,E \M ′) contains no U -walks.

For the other direction, suppose the graph G′ = (V ,E \ M ′) contains no U -walks for a set M ′ ofk edges in M . Then every U -walk in G must contain at least one endpoint of some edge in M ′. Let

V ′ = V(M ′) and U ′ = U \ V ′. Then the (n − 2k)-vertex Konig graph G[V \ V ′] has no U ′-walkwith respect to M ′′ = M \ M ′. By Lemma 1, the graph G[V \ V ′] has a vertex cover X ′ of size

(n − 2k)/2 with U ′ ⊆ X ′. Obviously, the set X = X ′ ∪ V ′ makes a vertex cover for the graph G and

U ⊆ U ′ ∪V ′ ⊆ X ′ ∪V ′ = X, and the set X contains |X ′|+ |V ′| = (n− 2k)/2+ 2k = n/2+ k vertices.

Therefore, (G,M ,Uvc,Uis, k) is a yes-instance of vc-kpm*.

Page 5: On the parameterized vertex cover problem for graphs with perfect matching

Wang J X, et al. Sci China Inf Sci 5

By Theorem 1, to decide whether (G,M ,Uvc,Uis, k) is a yes-instance of vc-kpm*, it suffices to de-

termine whether there is a set M ′ of k edges in M that satisfies the conditions of the theorem. Let

G = (Vvc ∪ Vis,E), where in the vertex partition Vvc ∪ Vis, every edge in the perfect matching M has

one end in Vvc and the other end in Vis, Uvc ⊆ Vvc, and Uis ⊆ Vis. Also let U = Uvc ∪ Uis. We start

with the following simple observation:

Lemma 2. Let W = {v1, v2, . . . , v2h} be a U -walk with v1 ∈ Uvc. Then for all i, v2i−1 ∈ Vvc and

v2i ∈ Vis. In particular, no U -walk can have both its end-vertices in the set Uvc.

Proof. Consider the U -walk W = {v1, v2, . . . , v2h}. If v1 ∈ Uvc ⊆ Vvc, then v2 must be in Vis because

by the definition of a U -walk, [v1, v2] is an edge in M in which every edge has one end in Vvc and the

other end in Vis. If 2h � 4, we will also derive that v3 is in Vvc because [v2, v3] is an edge in G and

Vis is an independent set. Now a simple induction shows that for all i, v2i−1 ∈ Vvc and v2i ∈ Vis. This

derives immediately that the end-vertex v2h of W is in Vis, and thus cannot be in Uvc, i.e., the U -walk

W cannot have both its end-vertices in Uvc.

Lemma 2 indicates that a U -walk in the graph G either 1) has one end-vertex in Uvc and the other

end-vertex in Uis: in this case, we call the U -walk a Uvc-Uis walk, or 2) has both end-vertices in Uis: in

this case, we call the U -walk a Uis-Uis walk.

Lemma 3. There is a linear-time algorithm that, on a given instance (G,M ,Uvc,Uis, k) of vc-kpm*,

constructs a Uvc-Uis walk with respect to M in the Konig graph G if such a U -walk exists.

Proof. Consider a Uvc-Uis walk W = {v1, v2, . . . , v2h} in G, where v1 ∈ Uvc. By Lemma 2, each edge

[v2i−1, v2i] in W ∩ M has its first vertex v2i−1 in Vvc and its second vertex v2i in Vis, and each edge

[v2i, v2i+1] in W \M has its first vertex v2i in Vis and its second vertex v2i+1 in Vvc. In particular, the

Uvc-Uis walk W does not contain an edge whose both end-points are in Vvc. We construct a bipartite

directed graph DG from the graph G as follows: 1) remove all edges whose both end-points are in Vvc;

2) for each edge [v, w] in M where v ∈ Vvc and w ∈ Vis, assign a direction from v to w to the edge; and

3) for each edge [v, w] not in M where v ∈ Vvc and w ∈ Vis, assign a direction from w to v to the edge.

By the above analysis, there is a one-to-one correspondence between Uvc-Uis walks in the graph G and

directed walks in DG that starts with a vertex in Uvc and ends at a vertex in Uis (without any confusion,

this kind of directed walks in DG will also be called Uvc-Uis walks in DG).

Uvc-Uis walks in the directed graph DG can be tested and constructed following the idea of the well-

known linear-time algorithm that constructs augmenting paths in a bipartite graph: we start with all the

vertices in the set Uvc (level-0 vertices), and then apply a Breadth-First-Search process on the directed

graph DG. The graph DG has a Uvc-Uis walk if and only if the Breadth-First-Search process encounters

a vertex in Uis. Since there is a one-to-one correspondence between Uvc-Uis walks in DG and Uvc-Uis

walks in the Konig graph G, this algorithm can be used to construct Uvc-Uis walks in G when such

walks exist.

A U -walk separator for an instance (G,M ,Uvc,Uis) of vc-kpm* is a set E′ of edges in G such that

every U -walk in G contains at least one edge in E′. Similarly, a Uvc-Uis separator for an instance

(G,M ,Uvc,Uis) of vc-kpm* is a set E′′ of edges in G such that every Uvc-Uis walk in G contains at

least one edge in E′′. A minimum Uvc-Uis separator is a Uvc-Uis separator that contains the fewest

edges over all Uvc-Uis separators. The number of edges in a minimum Uvc-Uis separator is denoted by

min(Uvc-Uis).

Lemma 4. A minimumUvc-Uis separator for an instance (G,M ,Uvc,Uis) of vc-kpm* can be constructed

in time O(n3).

Proof. As we did in Lemma 3, from the instance (G,M ,Uvc,Uis) of vc-kpm*, we can construct a bipartite

directed graph DG by 1) removing all edges whose both end-vertices are in Vvc; 2) for each edge [v, w]

in M where v ∈ Vvc and w ∈ Vis, assign a direction to the edge [v, w] from v to w; and 3) for each edge

Page 6: On the parameterized vertex cover problem for graphs with perfect matching

6 Wang J X, et al. Sci China Inf Sci

[v, w] not in M where v ∈ Vvc and w ∈ Vis, assign a direction to the edge [v, w] from w to v. The directed

graph DG has the property that there is a one-to-one correspondence between the Uvc-Uis walks in the

graph G and the directed walks in DG from vertices in Uvc to vertices in Uis.

Therefore, constructing a minimum Uvc-Uis separator for the instance (G,M ,Uvc,Uis) of vc-kpm*

can be implemented by constructing a minimum arc separator in the directed graph DG from the vertex

set Uvc to the vertex set Uis, while the latter can be solved in time O(n3) by reducing the problem to

the maximum flow problem [27].

The following lemma allows us to focus on a minimum Uvc-Uis separator whose edges are all in the

perfect matching M .

Lemma 5. For each instance (G,M ,Uvc,Uis, k) of vc-kpm*, there is a minimum Uvc-Uis separator E0

such that E0 ⊆ M , and E0 can be constructed in time O(n3).

Proof. Let E′ be a minimum Uvc-Uis separator of (G,M ,Uvc,Uis) that contains an edge e = [u, v] /∈ M .

Let e′ = [u, u′] be the edge in M that has the vertex u as an endpoint. Let E′′ = E′ \ {e} ∪ {e′}. We

show that the edge set E′′ is also a minimum Uvc-Uis separator. Every Uvc-Uis walk W contains at

least one edge in E′. If W does not contain the edge e, then W contains an edge in E′ \ {e} ⊆ E′′. On

the other hand, if W contains the edge e, then W contains the vertex u. By the definition of U -walks

and since W must start and end with edges in M , the vertex u in W implies that the edge in M that

contains u, i.e., the edge e′ = [u, u′], must also be in W . Therefore, if this case, W also contains an

edge in E′′ = E′ \ {e} ∪ {e′}. This proves that E′′ is a Uvc-Uis separator, which is minimum because

|E′| � |E′′|.Therefore, from a minimum Uvc-Uis separator that contains unmatched edges, we can always construct

a minimum Uvc-Uis separator that contains one less unmatched edge and one more matched edge. Iter-

ating this process gives a minimum Uvc-Uis separator E0 whose edges are matched edges. It is easy to

see that the minimum Uvc-Uis separator E0 can be constructed from any minimum Uvc-Uis separator in

linear time. Now the lemma follows from Lemma 4.

Finally, we observe the following property for Uis-Uis walks.

Lemma 6. For an instance (G,M ,Uvc,Uis, k) of vc-kpm*, where G = (Vvc∪Vis,E), every Uis-Uis walk

in G contains an edge whose both end-vertices are in Vvc.

Proof. First note that Vis is an independent set in the graph G. Therefore, every edge in G either has

its both end-vertices in Vvc, or has one end-vertex in Vvc and the other end-vertex in Vis. Therefore,

for a Uis-Uis walk W = {v1, v2, . . . , v2h} in G, where v1 ∈ Uis ⊆ Vis, if W contains no edge with both

end-vertices in Vvc, then it is easy to see that for all i, 1 � i � h, the vertex v2i−1 is in Vis and the vertex

v2i is in Vvc – but this contradicts the fact v2h ∈ Uis ⊆ Vis because W is a Uis-Uis walk. This completes

the proof.

We say that a Uvc-Uis walk W = {v1, v2, . . . , v2h} is a short Uvc-Uis walk if v1 is the only vertex in

W that is in Uvc. Note that once we have a Uvc-Uis walk W = {v1, v2, . . . , v2h}, a short Uvc-Uis walk

can be easily constructed: let i be the largest integer such that the vertex v2i−1 in W is in Uvc. Then

{v2i−1, v2i, . . . , v2h} is a short Uvc-Uis walk. By Lemma 3, if the graph G has Uvc-Uis walks, then a short

Uvc-Uis walk in G can be constructed in linear time. And it is easy to see that there is no short Uvc-Uis

walk if and only if there is no Uvc-Uis walk.

3 Solving the vc-kpm* problem

Now we are ready to present a parameterized algorithm for vc-kpm*. According to Theorem 1, this is

actually to find a minimum number of edges to break all U -walks. The outline of our algorithm, described

in Table 1, will be analyzed by measure and bound in Theorem 2.

Page 7: On the parameterized vertex cover problem for graphs with perfect matching

Wang J X, et al. Sci China Inf Sci 7

Table 1 The algorithm KPM

KPM(G,M ,Uvc,Uis, k)

Input: an instance (G,M ,Uvc,Uis, k) of vc-kpm*, where G = (Vvc ∪ Vis,E), and k � 0.

Output: To determine if a vertex cover X of size n/2 + k for G exists with Uvc ∪Uis ⊆ X.

1. if there is no U-walk in G, then return ‘yes’;

2. if k = 0 then return ‘no’;

3. if G has Uvc-Uis walks then

choose an edge e = [v1, v2] on a short Uvc-Uis walk

3.1 if v2 ∈ Uis then return KPM(G \ {v1, v2},M \ [v1, v2],Uvc \ {v1},Uis \ {v2}, k − 1)

3.2 else if min(Uvc-Uis) of (G,M ,Uvc,Uis) =min(U ′vc-Uis) of (G,M ,U ′

vc = Uvc ∪N(v2),Uis)

then return KPM(G,M ,Uvc ∪N(v2),Uis, k)

3.3 else

3.3.1 R1 = KPM(G \ {v1, v2},M \ [v1, v2],Uvc \ {v1},Uis, k − 1)

3.3.2 if R1 is not ‘no’ then return ‘yes’

3.3.3 R2 =KPM(G,M ,Uvc ∪N(v2),Uis, k)

3.3.4 if R2 is not ‘no’ then return ‘yes’

3.4 return ‘no’

4. if G has no Uvc-Uis walk

then choose an edge e = [v′1, v′2] on an Uis-Uis walk such that {v′1, v′2} ⊆ Vvc

4.1 R3 = KPM(G,M ,Uvc ∪ {v′1},Uis, k)

4.2 if R3 is not ‘no’ then return ‘yes’

4.3 R4 = KPM(G,M ,Uvc ∪ {v′2},Uis, k)

4.4 if R4 is not ‘no’ then return ‘yes’

4.5 return ‘no’

At the beginning of every recursive invocation the algorithm checks if there is no U -walk in G and, if

so, returns yes; else if k = 0, returns no. If k �= 0 and G has Uvc-Uis walks, then the algorithm chooses an

edge e = [v1, v2] on a short Uvc-Uis walk. In this case, if v2 ∈ Uis, e is removed. Else if min(Uvc-Uis) of

(G,M ,Uvc,Uis) equals min(U ′vc-Uis) of (G,M ,U ′

vc = Uvc ∪N(v2),Uis), e does not need to be removed

and the algorithm calls recursively on (G,M ,Uvc ∪ N(v2),Uis, k). Otherwise, the algorithm branches

on removing e and not. If there is no Uvc-Uis walk in G, there must be Uis-Uis walks in G. Then

the algorithm chooses an edge e = [v′1, v′2] on an Uis-Uis walk such that {v′1, v′2} ⊆ Vvc. In this case, e

does not need to be removed, and the algorithm calls itself recursively on (G,M ,Uvc ∪ {v′1},Uis, k) and

(G,M ,Uvc ∪ {v′2},Uis, k).

Before proving the correction of the algorithm, we show and prove a critical observation, which is

formulated as the following lemma.

Lemma 7. Let {v1, v2, ...} be a short Uvc-Uis walk with length at least 3. If min(Uvc-Uis) of (G,M ,Uvc,

Uis) equals min(U ′vc-Uis) of (G,M ,U ′

vc,Uis), whereU′vc = Uvc∪N(v2), then the instance (G,M ,Uvc,Uis)

has a U -walk separator of size bounded by k if and only if the instance (G,M ,U ′vc,Uis) has a U ′-walk

separator of size bounded by k, where U ′ = U ∪N(v2).

Proof. For the sufficient direction, let S′ be a U ′-walk separator for the instance (G,M ,U ′vc,Uis) with

size bounded by k. Then S′ breaks all the U ′-walks in G, which means S′ breaks all the Uvc-Uis walks

and all the Uis-Uis walks in G, and S′ must also be a U -walk separator for the instance (G,M ,Uvc,Uis).

For the necessary direction, since min(Uvc-Uis) of (G,M ,Uvc,Uis) equals min(U ′vc-Uis) of (G,M ,U ′

vc,

Uis), there exists a minimum Uvc-Uis separator C for (G,M ,Uvc,Uis) avoiding all the edges adjacent

to v2. In other words, C is also a minimum U ′vc-Uis separator for (G,M ,U ′

vc,Uis). Let S be a U -walk

separator for (G,M ,Uvc,Uis) with size bounded by k. In the following, we will construct a U -walk

separator S′ for (G,M ,U ′vc,Uis) with size no larger than |S|. Obviously, we can assume that S and

C consist of matched edges, otherwise, we can construct such edge set in linear time, see the proof of

Lemma 5.

If [v1, v2] /∈ S, then S′ = S is a U ′-walk separator for (G,M ,U ′vc,Uis). Let W be a U ′-walk of

(G,M ,U ′vc,Uis) but not a U -walk of (G,M ,Uvc,Uis). Then W must be a U ′-walk from a vertex in

N(v2) to a vertex in Uis. Assume W = {v3, . . . , v2h}. Then there is a corresponding U -walk W ′ =

Page 8: On the parameterized vertex cover problem for graphs with perfect matching

8 Wang J X, et al. Sci China Inf Sci

{v1, v2, v3, . . . , v2h} of (G,M ,Uvc,Uis). Since S is a U -walk separator for (G,M ,Uvc,Uis), S breaks

W ′. Furthermore, S consists of matched edges and [v1, v2] /∈ S. Then S must break W . Therefore, S

is also a U ′-walk separator for (G,M ,U ′vc,Uis).

Now, we just consider the case where [v1, v2] ∈ S. Same as we did in Lemma 4, we construct a bipartite

directed graph DG = (V ,A) from G. Let Cd = {(i, j)|(i, j) ∈ A, [i, j] ∈ C} and Sd = {(i, j)|(i, j) ∈A, [i, j] ∈ S} be the arc sets in DG which consists of arcs corresponding to the edges in C and S

respectively. We know that there is a one-to-one correspondence between the Uvc-Uis walks in the graph

G and the directed walks in DG from vertices in Uvc to vertices in Uis, which means that S is a Uvc-Uis

separator for (G,M ,Uvc,Uis) if and only if Sd is an arc set that breaks all the directed walks from Uvc

to Uis in DG.

A well-known fact is that arc separator functions, in directed graph, are submodular1), which is critical

to the construction of S′ and can be shown briefly as follows.

Let DG = (V ,A) be a directed graph, for a vertex subset V ′ ⊆ V , δ+(V ′) = {(i, j)|(i, j) ∈ A, i ∈V ′, j ∈ V \V ′} is the arc set of DG consisting of all arcs from V ′ to V \V ′ in DG, i.e., the tail and

the head of the arc in δ+(V ′) are in V ′ and V \V ′ respectively, f(V ′) = |δ+(V ′)| (we use V ′ to denote

V \V ′ in the following). Similarly, for any two vertex subset V1,V2 ⊆ V , δ+(V1 : V2) = {(i, j)|(i, j) ∈A, i ∈ V1, j ∈ V2} is the arc set of DG consisting of the arcs from V1 to V2, f(V1 : V2) = |δ+(V1 : V2)|.For the arc separator function, we have

f(V1) + f(V2)− f(V1 ∪ V2)− f(V1 ∩ V2)

= f(V1 ∩ V2 : V2\V1) + f(V1 ∩ V2 : V1 ∪ V2) + f(V1\V2 : V2\V1) + f(V1\V2 : V1 ∪ V2) +

f(V1 ∩ V2 : V1\V2) + f(V1 ∩ V2 : V1 ∪ V2) + f(V2\V1 : V1\V2) + f(V2\V1 : V1 ∪ V2)−f(V1\V2 : V1 ∪ V2)− f(V2\V1 : V1 ∪ V2)− f(V1 ∩ V2 : V1 ∪ V2)−f(V1 ∩ V2 : V1 ∪ V2)− f(V1 ∩ V2 : V1\V2)− f(V1 ∩ V2 : V2\V1)

= f(V1\V2 : V2\V1) + f(V2\V1 : V1\V2) � 0. (1)

For any arc set X of DG = (V ,A), let R(X) be the vertices reachable from Uvc in DG\X, i.e.,

if there is a directed walk from a vertex in Uvc to vertex v in DG\X, then v ∈ R(X), It is worth

emphasizing that Uvc ⊆ R(X). Obviously, there are no directed walks from Uvc to Uis in directed graph

DG\δ+(R(Cd)) or DG\δ+(R(Sd)), for C is a minimum U ′vc-Uis separator for (G,M ,U ′

vc,Uis) and S is

a U -walk separator for (G,M ,Uvc,Uis). It is also clear that both R(Cd) and R(Cd) contain Uvc and

are disjoint from Uis, which means there is no directed walk from Uvc to Uis in DG\δ+(R(Cd)∩R(Sd))

or DG\δ+(R(Cd)∪R(Sd)), i.e., δ+(R(Cd)∩R(Sd)) and δ+(R(Cd)∪R(Sd)) are arc separators from Uvc

to Uis in DG. If V1 and V2, in inequality (1), are replaced by R(Cd) and R(Sd) respectively, we get

f(R(Cd)) + f(R(Sd)) � f(R(Cd) ∪R(Sd)) + f(R(Cd) ∩R(Sd)). (2)

Before the construction of S′, we show the fact that δ+(R(Sd)) ⊆ Sd and δ+(R(Cd)) = Cd. First,

we prove that, for any arc (i, j) in δ+(R(Sd)) or δ+(R(Cd)), i ∈ Vvc and j ∈ Vis. We assume that there

exists an arc (i, j) in δ+(R(Sd)) such that i ∈ Vis and j ∈ Vvc. From the definition of δ+(R(Sd)), we

know that i ∈ R(Sd) and j ∈ V \R(X). Then arc (i, j) must belong to Sd. For i ∈ Vis and i ∈ Vvc, [i, j]

is an unmatched edge, which contradicts the fact that S consists of matched edges. Because (i, j) is the

only arc whose tail is i and i ∈ R(Sd), we can conclude that (i, j) ∈ Sd, which means δ+(R(Sd)) ⊆ Sd.

Similarly, we can prove that δ+(R(Cd)) ⊆ Cd. Now we are going to prove that Cd ⊆ δ+(R(Cd)).

Assume there exists an arc (i, j) in Cd but not in δ+(R(Cd)), for i ∈ Vvc and j ∈ Vis. Then (i, j) is

in DG(R(Cd)) or DG(V \R(Cd)). If (i, j) is in DG(R(Cd)), there is a directed walk from a vertex in

Uvc to j in DG\Cd. But (i, j) ∈ Cd, i.e., there is no directed walk from Uvc to j in DG\Cd, which is

contradictory to the definition of R(Cd); if (i, j) is in DG(V \R(Cd)), then, obviously, Cd\{(i, j)} is also

a U ′vc-Uis separator for (G,M ,U ′

vc,Uis), which is contradictory to the fact that C is a minimum U ′vc-Uis

separator for (G,M ,U ′vc,Uis). Above all, we can conclude that δ+(R(Cd)) = Cd.

1) Queyrannein M. An introduction to submodular functions and optimization. http://www.ima.umn.edu/optimization

/seminar/queyranne.pdf, 2002.

Page 9: On the parameterized vertex cover problem for graphs with perfect matching

Wang J X, et al. Sci China Inf Sci 9

SinceC is a minimum U ′vc-Uis separator for (G,M ,U ′

vc,Uis), f(R(Cd)∩R(Sd)) � |Cd| = |δ+(R(Cd))|= f(R(Cd)). Therefore, inequality (2) still holds true even after being subtracted:

f(R(Sd)) � f(R(Cd) ∪R(Sd)). (3)

Let EG(X) = {[i, j]|[i, j] ∈ E, (i, j) ∈ X} be the edge subset of G corresponding to the arc subset

X of DG, and E(Y ) be the edge set of the subgraph of G induced by vertex set Y . Now, we are

going to prove that S′ = EG(δ+(R(Cd) ∪R(Sd))) ∪ (S ∩E(R(Cd) ∪R(Sd))) is a U ′-walk separator for

(G,M ,U ′vc,Uis), and which is no larger than S.

Note that δ+(R(Sd)) ⊆ Sd and S ∩ E(R(Sd)) = ∅, S can be considered as EG(δ+(R(Sd))) ∪ (S ∩

E(R(Sd))). From inequality (3), we can get |S′| � |S|. In the following, we just need to prove that S′

is a U ′-walk separator for (G,M ,U ′vc,Uis).

From the definition of S′, we know that there is no U ′-walk from U ′vc to Uis in G\S′. Now, we

assume that there is a Uis-Uis walk W in G disjoint from S′. So, W must contain an edge e from S;

otherwise, S is not a U -walk separator for (G,M ,Uvc,Uis), a contradiction. If e ∈ EG(δ+(R(Cd) ∪

R(Sd))) or e ∈ S ∩ E((R(Cd) ∪R(Sd))), e is in S′. Else if e ∈ E(R(Cd) ∪ R(Sd)), without loss of

generality, let e = [vi, vi+1], where vi ∈ Vvc, vi+1 ∈ Vis, and let W = {u1, u2, . . . , vi, vi+1, . . . , u2h}.Since e ∈ E(R(Cd) ∪ R(Sd)), there is a directed walk from a vertex v ∈ U ′

vc to vi in DG, which means

W ′ = {v, . . . , vi, vi+1, . . . , u2h} is a U ′-walk from v to u2h in G. But this is contradictory to S′ breakingall the U -walks from U ′

vc to Uis. Therefore, in both cases, W cannot exist in G\S′.By above construction, we actually show there is always a minimum U ′-walk separator for (G,M ,U ′

vc,

Uis) as the same size of minimum U -walk separator for (G,M ,Uvc,Uis), and the theorem follows directly.

Theorem 2. vc-kpm* problem with the valid instance (G = (Vvc ∪ Vis,E),M ,Uvc,Uis, k) can be

correctly solved by algorithm KPM in O∗(4k).

Proof. We first prove the correctness of algorithm KPM. By Lemma 1, the correctness of steps 1 and 2

are obvious. In order to break all Uvc-Uis walks and Uis-Uis walks, by Theorem 1, KPM needs to find

a vertex set V ∗ of G, consisting of at most k vertex pairs saturated by k matched edges, and remove it

from G, such that the resulting graph G\V ∗ contains no U -walk whose both end points are in U \ V ∗.These are handled by step 3 and step 4 respectively.

Now, we are going to prove the correctness of step 3. From the proof of Lemma 5 and Theorem 1,

we know that when we remove a matched edge e from G, we can remove a matched vertex pair V(e)from G, which is crucial to the design of our algorithm. For any edge e = [u, v], if e is not a matched

edge, then it does not need to be removed. There is exactly one matched edge containing u and one

matched edge containing v, which means any U -walk containing the unmatched edged e must contain

the matched edge e′ adjacent to e. In other words, intuitively, removing e′ is better than removing e for

any instance of vc-kpm* problem. Let e = [v1, v2] be chosen in step 3. There are three cases for e needed

to be considered. Case 1. v2 ∈ Uis; Case 2. min(Uvc-Uis) of (G,M ,Uvc,Uis) equals min(U ′vc-Uis) of

(G,M ,U ′vc,Uis), where U

′vc = Uvc∪N(v2); Case 3. v2 /∈ Uis and min(Uvc-Uis) of (G,M ,Uvc,Uis) is not

equal to min(U ′vc-Uis) of (G,M ,U ′

vc,Uis). For Case 1, obviously, e must be removed from G, otherwise

there exists a Uvc-Uis walk {v1, v2} in G. This is handled in step 3.1. If v2 /∈ Uis, i.e., there exists a short

walk whose first two vertices are v1 and v2. We compare min(Uvc-Uis) of (G,M ,Uvc,Uis) with min(U ′vc-

Uis) of (G,M ,U ′vc,Uis). If min(Uvc-Uis) of (G,M ,Uvc,Uis) equals min(U ′

vc-Uis) of (G,M ,U ′vc,Uis)

(Case 2), by Lemma 7, there exists a U ′-walk separator for (G,M ,U ′vc,Uis) which is not larger than

the minimum U -walk separator for (G,M ,Uvc,Uis). Therefore, algorithm KPM just adds N(v2) into

Uvc, and applies itself recursively on (G,M ,U ′vc,Uis, k), which is handled in step 3.2. Otherwise (Case

3), there are two branches. One is to remove {v1, v2} from G, and the other is to add N(v2) into Uvc.

These are handled in step 3.3.1 and step 3.3.3.

By Lemma 6, algorithm KPM in step 4 can choose an edge correctly, and apply itself recursively on

(G,M ,Uvc ∪ {v′1},Uis, k)) and (G,M ,Uvc ∪ {v′2},Uis, k).

Finally, we analyze the time complexity of algorithm KPM. As same as in [20,21], the execution

of the algorithm is recursive and can be depicted by a search tree ST , where each node in ST is

Page 10: On the parameterized vertex cover problem for graphs with perfect matching

10 Wang J X, et al. Sci China Inf Sci

associated with an instance of vc-kpm* problem. The root of the search tree ST (G,M ,Uvc,Uis, k) is

associated with (G,M ,Uvc,Uis, k). Furthermore, let T (k, r) be the number of leaves of the search tree

ST (G,M ,Uvc,Uis, k), where r denotes the min(Uvc-Uis) of (G,M ,Uvc,Uis). From KPM (G,M ,Uvc,

Uis, k), we can list the following inequalities:

by step 3.1,

T (k, r) � T (k − 1, r1), (4)

where r1 is the min(U ′′vc-U

′is) of (G \ {v1, v2},M \ [v1, v2],Uvc \ {v1},Uis \ {v2}), U ′′

vc = Uvc \ {v1},U ′

is = Uis \ {v2};by step 3.2,

T (k, r) � T (k, r2), (5)

where r2 is the min(U ′vc-Uis) of (G,M ,Uvc ∪N(v2),Uis), U

′vc = Uvc ∪N(v2);

by step 3.3,

T (k, r) � T (k − 1, r3) + T (k, r4), (6)

where r3 is the min(U ′′vc-Uis) of (G \ {v1, v2},M \ [v1, v2],Uvc \ {v1},Uis), r4 is the min(U ′

vc-Uis) of

(G,M ,Uvc ∪N(v2),Uis);

by step 4,

T (k, r) � T (k, r5) + T (k, r6), (7)

where r5 is the min(U ′′′vc -Uis) of (G,M ,Uvc∪{v′1},Uis), r6 is the min(U ′′′′

vc -Uis) of (G,M ,Uvc∪{v′2},Uis),

U ′′′vc = Uvc ∪ {v′1} and U ′′′′

vc = Uvc ∪ {v′2}.

It is obvious that r − 1� r1, r3� r. Note that, in step 3.2, min(U ′vc-Uis) of (G,M ,Uvc ∪N(v2),Uis)

equals min(Uvc-Uis) of (G,M ,Uvc,Uis). From Lemma 7, we can get r2 = r. In step 3.3, since min(U ′vc-

Uis) of (G,M ,U ′vc,Uis) is not equal to min(Uvc-Uis) of (G,M ,Uvc,Uis), we have r4 � r + 1. The

precondition of executing step 4 is that: G has noUvc-Uis walk, i.e., min(Uvc-Uis) of (G,M ,Uvc,Uis) = 0.

But for the edge e = [v1, v2] chosen in step 4, if the algorithm KPM adds the vertex v′1 or v′2 to Uvc, then

there exists at least one U ′′′vc -Uis walk or U ′′′′

vc -Uis walk in G, which means r5, r6� 1 = r + 1.

It is easy to see that 0 � r � k. Let T (k, r) = T ′(2k − r), and let t = 2k − r. By above inequality

(4), T ′(t) � T ′(t − 1); By (5), t is not decreased, but |Uvc| is increased and it cannot exceed |V |/2; By(6) and (7), T ′(t) � 2T ′(t − 1). Obviously T ′(1) = 1. Thus T (k, r) = T ′(t) � 2t � 22k = 4k and the

number of nodes in T is bounded by O∗(4k). By Lemma 4, the running time of each node is polynomial.

Therefore, the running time of algorithm KPM is bounded by O∗(4k).

4 Solving the vc-pm* problem

In this section, we will show how to solve the vc-pm* problem.

Theorem 3. The vc-pm* problem can be solved in time O∗(9k).

Proof. For a given instance of vc-pm* problem (G, k), assume that M = {m1,m2, . . . ,mn/2} is a perfect

matching of G. Iterative compression technique is used to solve the vc-pm* problem. Worth mentioning

is that our procedure of iterative compression is different, in some details, from the general one for solving

problems on graphs. In our procedure, the increment of the iterative part is not a vertex of G but two

vertices (two end points of edge mi in M), and the compression step is not to compress the solution size

from k + 1 to k, but from q + k + 1 to q + k (1 � q � n/2).

Let Vq = V(m1) ∪ V(m2) ∪ · · · ∪ V(mq), and Mq = {m1,m2, . . . ,mq} (q = 1, 2, . . . , n/2), i.e., Vq is a

set of endpoints of edges in M . It is easy to see that any vertex cover of G[Vq] is larger than or equal to

|Vq|/2. If G[Vq−1] has a vertex cover X of size q − 1 + k, then X ∪ V(mq), with size q + k + 1, must be

a vertex cover of G[Vq]. Now, we prove the following truth briefly.

Claim 1. If there does not exist a vertex cover of G[Vq] with size at most q + k, then there does not

exist a vertex cover of G with size at most n/2 + k.

Page 11: On the parameterized vertex cover problem for graphs with perfect matching

Wang J X, et al. Sci China Inf Sci 11

Proof. Obviously, G[V \Vq] is a graph with perfect matching, |V \Vq| = n−2q, and the minimum vertex

cover of G[V \Vq] is size of at least n/2− q. Therefore, if the minimum vertex cover of G[Vq] is at least

q+ k, then the minimum vertex cover of G is size of at least q+ k+n/2− q = n/2+ k, i.e., if there does

not exist a vertex cover of G[Vq] with size at most q + k, then there does not exist a vertex cover of G

with size at most n/2 + k. This proves Claim 1.

Let M∗ = {[u, v] | {u, v} ⊆ X, [u, v] ∈ M}∪{mq}. It is easy to see that G[Vq] is a graph with perfect

matching, and |M∗| = (q − 1 + k) − (q − 1) + 1 = k + 1. Obviously, G[Vq \ V(M∗)] is a graph with

a perfect matching of size q − 1 − k. By enumerating all partitions (D1,D2) of V(M∗), we will find a

vertex cover X ′ of G[Vq] with size at most q+ k satisfying the requirement that X ′ contains all verticesof D1 and none of D2. For each vertex v ∈ D2, N(v) must belong to X ′. Therefore, all vertices in

U∗ = N(D2) ∩ (Vq \ V(M∗)) belong to X ′. For the reason that N(D2) ⊆ X ′, a partition (D1,D2) is

called a valid partition if N(D2)∩D2 = ∅. For each edge e ∈ M∗, at least one endpoint of e must belong

to X ′. Let k+ 1− i be the number of edges whose two endpoints belong to X ′. Then there are at most∑k+1

i=1 Cik+12

i valid partitions, where Cik+1 denotes the number of combinations of the edges such that,

for each edge, there is exactly one endpoint belonging to X ′. The compression step of our algorithm is

based on valid partition and is to determine whether there is a vertex cover X ′′ of G[V(Mq \M∗)] suchthat 1) |X ′′| = (q − 1− k) + (i− 1); 2) U∗ ⊆ X ′′.

Let G′ = (V ′ = (V ′vc ∪ V ′

is),E′), where V ′ = Vq \ V(M∗), V ′

vc = X \ V(M∗), V ′is = V ′ \ V ′

vc,

E′ = {e | e ∈ G[V(Mq \M∗)]}, M ′ = Mq \M∗, U ′ = U∗, k′ = (q − 1 − k) + (i − 1)− |V ′|/2 = i− 1.

If there exist two vertices vi and vj in V ′ such that [vi, vj ] ∈ M ′, we delete vi and vj from G′, anddecrease k′ by 1. For the reason that X is a vertex cover of G[Vq−1], V

′vc = X \ V(M∗) is a vertex cover

of G′ and V ′is is an independent set. Furthermore, each edge in M ′ exactly saturates one vertex in Vvc

and one vertex in Vis. By Proposition 2, G′ is a Konig graph. Let U ′vc = V ′

vc ∩ U ′, U ′is = V ′

is ∩U ′. So

(G′ = (V ′vc ∪ V ′

is,E′),M ′,U ′

vc,U′is, k

′) is a valid instance of the vc-kpm* problem. By Theorem 1, the

vc-kpm* problem with input (G′ = (V ′vc ∪ V ′

is,E′),M ′,U ′

vc,U′is, k

′) can be solved in O∗(4k′) = O∗(4i)

time. Therefore, the vc-pm* problem can be solved in time O∗(∑k+1

i=1 Cik+12

i4i) = O∗(9k).

5 Conclusion

In this paper, we study the Above Guarantee Vertex Cover problem on graphs with perfect matching. By

using implicitly enforced parameter and iterative compression technique, a parameterized algorithm with

running time O∗(9k) is presented, which greatly improves the previous best result O∗(15k). Furthermore,

through some reduction, this algorithm can be used to solve the Konig vertex deletion problem and r/b-

split vertex deletion problem in time O∗(9k) too [28]. Recently, several new results have been obtained on

the Above Guarantee Vertex Cover problem. Raman et al. [29] gave a parameterized algorithm of running

time O∗(9k), using important separator and iterative compression technique. Based on LP-relaxation,

Cygan et al. [30] presented an O∗(4k) time parameterized algorithm. By analyzing the LP value in LP-

relaxation, Narayanaswamy et al. [31] gave a parameterized algorithm of running time O∗(2.6181k). We

remark that our results are obtained independently. Compared with above results, in this paper, new

structure properties of Konig graph are studied, and different algorithmic techniques are developed to

solve the Above Guarantee Vertex Cover problem, which are our major contributions.

Acknowledgements

This work was supported by National Natural Science Foundation of China (Grant Nos. 61232001, 61173051,

61128006, 71221061).

References

1 Garey M R, Johnson D S. Computers and Intractability: a Guide to the Thoery of NP-completeness. New York:

Freeman, W. H. and Company, 1979

Page 12: On the parameterized vertex cover problem for graphs with perfect matching

12 Wang J X, et al. Sci China Inf Sci

2 Roth-Korostensky C. Algorithms for building multiple sequence alignments and evolutionary trees. Dissertation for

Doctoral Degree. ETH Zurich 13550, 2000

3 Stege U. Resolving conflicts from problems in computational biology. Dissertation for Doctoral Degree. ETH Zurich

13364, 2000

4 Hochbaum D. Approximating covering and packing problems: set cover, vertex cover, independent set, and related

problems. In: Hochbaum D, ed. Approximation Algorithms for NP-Hard Problems. Boston: PWS Publishing

Company, 1997. 94–143

5 Balasubramanian R, Fellows M R, Raman V. An improved fixed parameter algorithm for vertex cover. Inf Process

Lett, 1998, 65: 163–168

6 Chen J, Kanj I A, Jia W. Vertex cover: further observations and further improvements. J Algorithm, 2001, 41: 280–301

7 Downey R G, Fellows M R. Parameterized computational feasibility. In: Clote P, Remmel J, eds. Feasible Mathematics

II. Boston: Birkhauser, 1995. 219–244

8 Niedermeier R, Rossmanith P. Upper bounds for vertex cover further improved. Lect Note Comput Sci, 1999, 1563:

561–570

9 Khot S, Regev O. Vertex cover might be hard to approximate to within 2− ε. J Comput Syst Sci, 2008, 74: 335–349

10 Chen J, Kanj I A, Xia G. Improved parameterized upper bounds for vertex cover. Lect Note Comput Sci, 2006, 4162:

238–249

11 Cai L, Juedes D W. On the existence of subexponential parameterized algorithms. J Comput Syst Sci, 2003, 67:

789–807

12 Cai S, Su K, Sattar A. Local search with edge weighting and configuration checking heuristics for minimum vertex

cover. Artif Intell, 2001, 175: 1672–1696

13 Johnson D S, Trick M A, eds. Cliques, Coloring, and Satisfiability: second DIMACS Implementation Challenge.

American Mathematical Society, 1996. Benchmarks available at ftp://dimacs.rutgers.edu/pub/challenges

14 Xu K, Boussemart F, Hemery F, et al. Random constraint satisfaction: easy generation of hard (satisfiable) instances.

Artif Intell, 2007, 171: 514–534. Benchmarks available at http://www.nlsde.buaa.edu.cn/∼kexu/benchmarks/graph-

benchmarks.htm

15 Chen J, Kanj I A. On approximating minimum vertex cover for graphs with perfect matching. Theor Comput Sci,

2005, 337: 305–318

16 Imamura T, Iwama K, Tsukiji T. Approximated vertex cover for graphs with perfect matchings. Trans Inf Syst, 2009,

E89-D(8): 2405–2410

17 Chlebik M, Chlebikova J. Minimum 2sat-deletion inapproximability results and relations to minimum vertex cover.

Discrete Appl Math, 2007, 155: 172–179

18 Mahajan M, Raman V. Parametrizing above guaranteed values: maxSat and maxCut. J Algorithm, 1999 3: 335–354

19 Mahajan M, Raman V, Sikdar S. Parameterizing MAX SNP problems above guaranteed values. Lect Note Comput

Sci, 2006, 4169: 38–49

20 Mahajan M, Raman V, Sikdar S. Parameterizing above or below guaranteed values. J Comput Syst Sci, 2009, 75:

137–153

21 Razgon I, O’Sullivan B. Almost 2-SAT is Fixed-Parameter Tractable. Berlin: Springer, 2008. 551–562

22 Mishra S, Raman V, Saurabh S, et al. The complexity of finding subgraphs whose matching number equals the vertex

cover number. Lect Note Comput Sci, 2007, 4835: 268–279

23 Reed B, Smith K, Vetta A. Finding odd cycle transversals. Oper Res Lett, 2004, 32: 299–301

24 Deming R. Independence numbers of graphs—an extension of the Konig-Egervary theorem. Discrete Math, 1979, 27:

23–33

25 Vazirani V. A theory of alternating paths and blossoms for proving correctness of the O(√V E) general graph maximum

matching algorithm. Combinatorica, 1994, 14: 71–109

26 Korach E, Nguyen T, Peis B. Subgraph characterization of red/blue-split graph and Konig-Egervary graphs. In:

Proceedings of 17th Annual ACM-SIAM Sympothesis on Discrete Algorithms (SODA), 2006. 842–850

27 Cormen T, Teiserson C, Rivest R, et al. Introduction to Algorithms. 2nd ed. Cambridge: MIT Press, 2011

28 Mishra S, Raman V, Saurabh S, et al. Konig deletion sets and vertex covers above the matching size. Lect Note

Comput Sci, 2008, 5369: 836–847

29 Raman V, Ramanujan S, Saurabh S. Paths, flowers and vertex cover. Lect Note Comput Sci, 2011, 6942: 382–393

30 Cygan M, Pilipczuk M, Pilipczuk M, et al. On multiway cut parameterized above lower bounds. Lect Note Comput

Sci, 2011, 7112: 1–12

31 Narayanaswamy S, Raman V, Ramanujan S, et al. LP can be a cure for parameterized problems. In: Proceedings of

29th International Symposium on Theoretical Aspects of Computer Science, 2011. 338–349