Upload
jianer
View
213
Download
0
Embed Size (px)
Citation preview
. 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])
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.
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.
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*.
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
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.
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 ′ =
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.
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
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.
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
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