Page 1
Feedback vertex set on ATfree graphs
Dieter Kratsch
Universit´ e de Metz, Laboratoire d’Informatique Th´ eorique et Appliqu´ ee,
57045 Metz Cedex 01, France. Email: kratsch@univmetz.fr
Haiko M¨ uller
School of Computing, University of Leeds, Leeds, LS2 9JT, United Kingdom.
Email: hm@comp.leeds.ac.uk
Ioan Todinca
Laboratoire d’Informatique Fondamentale d’Orl´ eans (LIFO), Universit´ e d’Orl´ eans,
BP 6759, 45067 Orl´ eans Cedex 2, France.
Email: Ioan.Todinca@univorleans.fr
Abstract
We present a polynomial time algorithm to compute a minimum (weight) feedback
vertex set for ATfree graphs, and extending this approach we obtain a polynomial
time algorithm for graphs of bounded asteroidal number.
Key words: feedback vertex set, asteroidal triplefree graph
1 Introduction
A feedback vertex set (fvs) of an undirected graph G = (V,E) is a set W
containing at least one vertex of each cycle of G. Hence W ⊆ V is a feedback
vertex set of G = (V,E) if and only if G − W is a forest. The feedback
vertex set (FVS) problem is, given a graph G and an integer k, whether G
contains a feedback vertex set of size at most k.
The FVS problem is NPcomplete [10]. It is also definable in a logical language
called LinEMSOL(τ1,L), thus the weighted versions is linear time solvable on
graphs of bounded cliquewidth [8]. Hence the problem is lineartime solvable
for graphs of bounded treewidth, cographs, distancehereditary graphs, etc.
Preprint submitted to Elsevier Preprint8 October 2007
Page 2
There is a lot of research on algorithms for FVS. The problem is fixed
parameter tractable [9]. There has been a series of papers on approximation al
gorithms on minimum (weight) FVS resulting in a 2approximation algorithm
for minimum weight FVS [1]. Clearly FVS had been and still is a benchmark
covering problem. It is also important since FVS approximation algorithms
are used as subroutines in approximation algorithms for other typically net
work analysis problems. See e.g. [11] where a PTAS for FVS on planar graphs
is constructed as a byproduct.
Concerning the complexity of FVS on special graph classes the following is
known. FVS is NPcomplete for bipartite and for planar graphs. A minimum
(weight) fvs can be computed by a polynomial time algorithm for interval
graphs (O(n + m)) [16], permutation graphs (O(nm)) [14], cocomparability
graphs (O(n2m)) [15] and convex bipartite graphs (O(n2m)) [15]. Furthermore
FVS is mentioned as polynomial time solvable for chordal graphs and circular
arc graphs in [17]. J. Spinrad points out in [17] that the complexity of FVS
on ATfree graphs in unknown.
Three independent vertices form an asteroidal triple (AT for short) if any two
of them are connected by a path avoiding the neighbourhood of the third
vertex. Graphs without asteroidal triples are called ATfree. ATfree graphs
contain cocomparability graphs, permutation graphs and interval graphs. In
an important paper Corneil, Olariu and Stewart were the first to study struc
tural properties of ATfree graphs [7]. In the last ten years various papers
on the complexity of NPcomplete problems for ATfree graphs have been
published, see e.g. [4–6,13]. Inspecting their results one finds out that there
are LinEMSOL(τ1,L)definable problems that remain NPcomplete on ATfree
graphs. clique is NPcomplete on ATfree graphs [5] and minimum dom
inating clique remains NPcomplete even on cocomparability graphs [3].
This provides another motivation to study FVS on ATfree graphs.
Our paper is organised as follows. In Section 2 we summarise the main ingre
dients of an approach developed in [5] to design polynomial time algorithms
for problems on ATfree graphs, see also [4,6]. In Sections 3–5 we present a
polynomial time algorithm for FVS on ATfree graphs, based on this general
approach. In Section 6 we show how to extend the approach to graphs of
bounded asteroidal number and we obtain a polynomial time algorithm for
FVS.
2 Preliminaries
We use standard graph theory notation throughout. We denote by N(u) the
neighborhood of a vertex u, and by N[u] the closed neighborhood N(u)∪{u}.
2
Page 3
By a connected component we mean a maximal connected induced subgraph
of a graph. Thus we denote a connected component of a graph G with vertex
set C by G[C]. Consider a vertex u of G and let G[C1], G[C2], ..., G[Cp] be
the connected components of G−N[u]. We denote CG(u) = {C1,C2,...,Cp}.
For nonadjacent vertices u and v of a graph G = (V,E) we denote by CG(u,v)
the subset of V inducing the connected component of G − N[v] containing
u. As usual we omit the index if this does not cause confusion. Note that
w ∈ C(u,v) if and only if u ∈ C(w,v). Using this notation, the vertices u, v
and w form an AT if and only if u ∈ C(v,w), v ∈ C(w,u) and w ∈ C(u,v).
2.1Blocks and Intervals
Let G = (V,E) be a connected graph and v ∈ V . The pair (v,C) is called
a block of G if G[C] is a connected component of G − N[v]. Removing a
closed neighbourhood N[v] for some vertex v of G decomposes G − N[v] into
connected components. Informally, the graph G is decomposed into blocks.
C
B
C1
C2
v
N(v)
u
N(u)
Fig. 1. Blocks and interval
Let u and v be two nonadjacent vertices of G and let B = C(v,u) ∩ C(u,v).
The triple (v,B,u) is called an interval of G. Obviously (v,B,u) is an interval
if and only if (u,B,v) is an interval. Notice that B might be empty.
Informally again, removing a closed neighbourhood from a block decomposes
it into blocks and exactly one interval. Formally, consider a block (v,C) and
let u ∈ C. Removing N[u] from G[C] partitions C into B,C1,...,Cp, where
(v,B,u) is an interval and (u,Ci) are blocks of G, see Figure 1.
The FVS problem is solved by dynamic programming on blocks, following the
technique developed in [5], see also [4,6]. We shall compute partial solutions
for a block (v,C), i.e. solutions contained in N[v]∪C. For this purpose we use
partial solutions of blocks of type (u,Ci) with u ∈ C and Ci⊂ C. The vertex
u will be chosen such that the partial solutions do not intersect the set B of
the interval (u,B,v).
3
Page 4
2.2 Representing Neighbourhoods
For solving the minimum feedback vertex set problem we shall actually com
pute the complement of this set, which is the largest induced forest. Hence we
study induced forests G[K] of G. Suppose that K is the set of vertices corre
sponding to a partial solution found by our algorithms and let v be a vertex
of K. The neighbourhood of v in K is an independent set S of G. We would
like to control N(S) \ N[v], in order to understand how the forest G[K] may
be extended. In this subsection we show that of N(S) \ N[v] can actually be
identified by using at most four vertices of S; in particular polynomial space
is sufficient for all possible combinations.
Definition 1. Consider a vertex v of the graph G and let S be an independent
set contained in N(v). We say that a set R ⊆ S is a representation of S
w.r.t. v if N(S) \ N(v) = N(R) \ N(v) and R is of minimum size for this
property. Similarly, if G[C] is a component of G − N[v], we say that RCis a
representation of S in C if N(S) ∩ C = N(RC) ∩ C and RC is of minimum
size for this property.
We continue with two easy observations. These will help us to prove that in
ATfree graphs, each independent set contained in the neighbourhood of a
vertex can be represented by at most four vertices.
Lemma 2. Let G = (V,E) be an ATfree graph and v,y1,y2∈ V such that
y1 and y2 belong to the same connected component of G − N[v]. If vertices
x1∈ N(v)∩N(y1)\N(y2) and x2∈ N(v)∩N(y2)\N(y1) exist, then y1y2∈ E.
Proof. Suppose that y1y2/ ∈ E, we claim that y1, y2and v form an AT in G. In
deed, use the paths (v,x1,y1), (v,x2,y2) and a path from y1to y2in G[C], each
of these paths joins two of the three vertices and avoids the neighbourhood of
the third.
Lemma 3. Let v be a vertex of an ATfree graph G = (V,E) and let x1,x2,x3
be three pairwise nonadjacent vertices in N(v). Suppose that each xi has a
private neighbour yioutside N[v]. That is, for 1 ? i,j ? 3, xiyj∈ E if and
only if i = j. Then y1, y2and y3belong to exactly two different components
of G − N[v].
Proof. Suppose first that y1, y2and y3belong to the same component C of
G−N[v]. By Lemma 2, y1, y2and y3induce a triangle in G. Thus x1, x2and
x3form an AT of G—a contradiction.
Now assume that y1,y2,y3belong to three different components of G − N[v].
Clearly {y1,y2,y3} is an independent set and hence these vertices form an AT
of G—a contradiction again.
4
Page 5
In the sequel we shall say that vertices x1,x2,x3and y1,y2,y3violate Lemma 3
(w.r.t. vertex v) if {x1,x2,x3} is an independent subset of N(v) such that for
i = 1,2,3, yi∈ V \ N[v] is a private neighbour of xiw.r.t. {x1,x2,x3}, and
y1,y2,y3belong to three different components of G − N[v].
The corollary follows directly from the previous lemma.
Corollary 4. Let G[C] be a connected component of G − N[v] where G =
(V,E) is an ATfree graph, v ∈ V and C ⊂ V . The neighbourhood of an
independent set S ⊆ N(v) in C can be represented by a subset of size at most
two, i.e. there is a set RC⊆ S with RC ? 2 and N(RC) ∩ C = N(S) ∩ C.
The outside neighbourhood of S can be represented by a subset of size at most
four, i.e. there is a set R ⊆ S with R ? 4 and N(R) \ N(v) = N(S) \ N(v).
Proof. If RCis a minimum size subset of S such that N(RC)∩C = N(S)∩C,
then each vertex x of RChas a private neighbour y in C, i.e. a neighbour such
that N(y)∩RC= {x}. Otherwise, RC\{x} also represents the neighbourhood
of S in C. By Lemma 3, RChas at most two elements.
For similar reasons, if R represents the outside neighbourhood of S, each
vertex of R has a private neighbour outside N[v]. By Lemma 3 the vertices
of R have private neighbours in at most two components and at most two in
each component, hence R ? 4.
3 Analysis
In this section we introduce the basic tools for computing large induced forests.
First we define local maps which provide, for each vertex v a compact (poly
nomial) representation of the intersections between its neighborhood and all
possible induced forests containing v. Based on this notion, we show how to
glue forests representing partial solutions, in order to obtain larger forests.
3.1Local Map
Define
fvs(G) = min{W : G − W is a forest}(1)
and let K be a set of vertices inducing a forest in the graph G (think of it as
a partial solution for our problem). For a fixed vertex v ∈ K, denote by L the
set of leaves of G[K] contained in N(v) and let R′= K ∩N(v)\L. Note that
in the forest G[K] every vertex in L is adjacent to v only, and every vertex
in R′is adjacent to v and at least one vertex outside N[v]. Let R represent L
5
Page 6
w.r.t. v, see Definition 1. We call the triple (v,R,R′) a local map of K. In the
example of Figure 2, page 9, the forest K is represented by bold lines. The
triple (v,{b,d},{g}) is a local map of K.
The local maps will be an important tool for gluing forests, in order to obtain
larger forests (partial solutions). The last statement of the next lemma is one
of the main technical results for our algorithm. It implies that the number of
all possible local maps of an ATfree graph is polynomially bounded.
Lemma 5. Let (v,R,R′) be a local map of K ∋ v inducing a forest G[K] in
a graph G that might as well contain ATs. The following conditions hold:
(1) R ∪ R′⊆ N(v);
(2) R ∪ R′is an independent set of G;
(3) for x,x′∈ R∪R′, N(x)\N(v) ⊂ N(x′)\N(v) implies x ∈ R and x′∈ R′;
(4) if G is ATfree then R ∪ R′ ? 4.
Proof. We start with the easy proofs of the first three conditions. Then we
shall prove the last condition.
Condition (1): follows directly from the definition of a local map.
Condition (2): If G[R∪R′] contains an edge xy, then x,y and v would form
a cycle in G[K], thus R ∪ R′is an independent set of G.
Condition (3): Firstly notice that if x,x′∈ R and N(x)\N(v) ⊂ N(x′)\N(v)
then N(R \ {x}) \ N(v) = N(R) \ N(v), contradicting the fact that R is a
representation of (K ∩ N(v)) \ R′w.r.t. v.
Now suppose that x ∈ R′and x′∈ R ∪ R′. Then x has a neighbour z ∈
K\N[v], which is adjacent to x′too. That is, (v, x, z x′) is a cycle in G[K]—a
contradiction, Condition (3) follows.
Condition (4): Corollary 4 implies R ? 4. Since G is ATfree, we also have
R′ ? 2. Indeed, if R′contains three vertices u1,u2,u3, each uihas a neighbour
wiin K \N[v] and w1,w2,w3form an asteroidal triple. Hence R∪R′ ? 6 for
ATfree graphs. Now let us show that actually R ∪ R′ ? 4 holds for ATfree
graphs. To do this we first prove three claims and then we shall prove that
R ∪ R′ > 4 is impossible in ATfree graphs by excluding two cases.
Let p = R and q = R′. We denote by r1,...,rpthe vertices of R and by
r′
vertex adjacent to r′
that riis the only neighbour of ciin R. By definition of a local map the vertices
c1,c2,...cpand c′
1,...,r′
qthe vertices of R′. For each j = 1,2,...,q, let c′
j. For each i = 1,2,...,p, let ci∈ V \N[v] be a vertex such
j∈ K \ N[v] be a
1,c′
2,...,c′
qexist. By construction {c1,c2,...,cp} = p.
6
Page 7
Claim 1: For each j = 1,2,...,q, the only neighbour of c′
jin R ∪ R′is r′
j.
Proof. If c′
a cycle (c′
jhad an additional neighbour ˆ r ∈ R∪R′, then G[K] would contain
j,r′
j,v, ˆ r)—a contradiction.
♦
Consequently, {c′
1,c′
2,...,c′
q} = q.
Claim 2: For each j = 1,2,...q, the vertex r′
{c1,...,cp}.
jhas at most one neighbour in
Proof.
{1,2,...,p} such that i1?= i2and r′
c′
ing N[c′
by Condition (2) and the choice of ci1; and (ri2,ci2,r′
Condition (2) and the choice of ci2.
Conversely, suppose that there is a j ∈ {1,2,...,q} and i1,i2 ∈
jis adjacent to ci1and ci2. Then ri1,ri2and
jform an AT which can be shown by the following paths: (ri1,v,ri2) avoid
j] since c′
j∈ V \ N[v] and by Claim 1; (ri1,ci1,r′
j,c′
j) avoiding N[ri1] by
j) avoiding N[ri2]
j,c′
♦
Claim 3: For each component C of the graph G − N[v] the following holds:
(1) C ∩ {c′
(2) C ∩ {c′
1,...,c′
1,...,c′
q} ? 1.
q} = 1 implies C ∩ {c1,...,cp} ? 1.
Proof.
Lemma 2, c′
contradiction.
Contrary to (1) assume different vertices c′
iand c′
i,c′
j) is a cycle in G[K]—a
j∈ C. According to
jare adjacent, thus (c′
i,r′
i,v,r′
j,c′
Contrary to (2) assume three vertices cs,ct,c′
and c′
i.e. (rs,v,rt) avoids N[c′
j∈ C. We shall show that rs, rt
jform an AT of G. Clearly (rs,v,rt) is a path in G − N[c′
j].
j] by Claim 1,
Next we construct a path from c′
adjacent, then the path (c′
adjacent by Lemma 2. Thus the path (c′
argument there is a path from c′
c′
jto ri1avoiding N[ri2]. If r′
j,cs,rs) avoids N[rt]. Otherwise c′
j,cs,rs) avoids N[rt]. By a symmetric
jto ri2that avoids N[ri1]. That is, ri1,ri2and
jand cs are
jand cs are
j,r′
jform an AT contradicting the fact that G is ATfree.
♦
Finally we are able to finish the proof of Condition (4): p+q ? 4. Recall that
p ? 4 and q ? 2. Suppose on the contrary that p + q ? 5. We distinguish two
cases, in the first case p = 4 and q ? 1, in the second case p ? 3 and q = 2.
Case 1: p = 4 and q ? 1.
According to Lemma 3, the vertices c1,c2,c3,c4belong to two different com
ponents of G − N[v], and each of these components contains two of these
vertices. We may assume c1,c2∈ C1and c3,c4∈ C2. By Claim 3, c′
third component of G − N[v], say C3. Since r′
the vertices in {c1,c2,c3,c4} by Claim 2, we may suppose that r′
1is in a
1is adjacent to at most one of
1is adjacent
7
Page 8
neither to c1, nor to c3. This contradicts Lemma 3: The vertices r1,r3,r′
c1,c3,c′
1and
1violate this lemma w.r.t. vertex v.
Case 2: q = 2 and p ? 3.
As previously we may assume c1,c2∈ C1, c′
and C3are three different components of G − N[v]. Clearly c′
both vertices belong to different components of G − N[v]. For the sake of a
contradiction we shall show that c′
1∈ C2and c′
2∈ C3, where C1,C2
1,c′
2/ ∈ E since
1,c′
2and r3form an AT in G.
First note that the path (c′
Claim 1. Similarly, the path (c′
by Claim 1. Finally we need to find a path from c′
c1is adjacent neither to r′
violate Lemma 3. (Note that c1,c′
of G − N[v].) Similarly, if c2is adjacent neither to r′
and c2,c′
is adjacent to either r′
adjacent to both c1and c2. Recall that c1c2∈ E by Lemma 2. Consequently
there is a path from c′
{c′
2}.
1,r′
1,v,r3) avoids N[c′
2,r′
2] since c′
1] since c′
1to c′
1,c′
2/ ∈ E and by
1,c′
2avoiding N[r3]. If
1,r′
2,v,r3) avoids N[c′
2/ ∈ E and
1nor to r′
2, then the vertices r1,r′
1,c′
2and c1,c′
1,c′
2
2belong to three different components
1nor to r′
2then r2,r′
1or r′
1nor r′
2,r′
1
2,c′
1violate Lemma 3. Hence c1is adjacent to either r′
1or r′
2, and c2
2. Furthermore by Claim 2, neither r′
2is
1to c′
2avoiding N[r3] whose vertices form a subset of
1,r′
1,c1,c2,r′
2,c′
Thus both cases lead to a contradiction in ATfree graphs which implies Con
dition (4).
3.2 Atlas
For a graph G = (V,E) we consider triples (v,R,R′) consisting of a vertex
v ∈ V and subsets R,R′⊆ N(v). The set of all such triples that satisfy the
conditions of Lemma 5 is called the atlas of G = (V,E) and denoted by R(G)
or simply R.
Definition 6. Let (v,R,R′) be in the atlas of G = (V,E). We say that K ⊆ V
is compatible with (v,R,R′) if
• G[K] is a forest and L ⊆ K is the set of its leaves;
• {v} ∪ R ∪ R′⊆ K;
• N(v) ∩ K \ L ⊆ R′;
• R is a representation of (K ∩ N(v)) \ R′, w.r.t. v.
Let K(v,R,R′) denote the set of all sets K compatible with (v,R,R′).
For each triple (v,R,R′) in the atlas of G, the set K0= {v}∪ R ∪ R′induces
a star in G. Therefore K0is compatible with (v,R,R′). All K ∈ K(v,R,R′)
8
Page 9
abvghk
cdef
Fig. 2. Local maps in the atlas
contain K0 as a subset. The only vertices of K ∩ N(v) which may have a
neighbour in K \ N[v] are the elements of R′. We emphasise that the vertices
of R′are not required to have neighbours in K \ N[v], they are just the only
ones that may have neighbours in K \ N[v]. In Figure 2, the forest K is
compatible with both (v,{b,d},{g}) and (v,{d},{b,g}). The former is a local
map of the forest K ∪{a}. In other words, every induced forest containing the
vertex v is compatible with its local map (v,R,R′), but some vertices in R′
might be leaves of another forest compatible with (v,R,R′).
Our algorithm will compute, for each triple (v,R,R′) in the atlas and for each
block (v,C), the size of a largest forest contained in N[v]∪C that is compatible
with (v,R,R′). The following lemma shows in particular that it suffices to
compute forests K1,K2∈ K(v,R,R′) maximising the sizes of K1∩ N(v) and
K2∩ C.
As the remaining lemma in this subsection, it will be used in the forthcoming
correctness proofs. As we decompose the input graph into blocks and inter
vals, we compose an induced forest in the graph from smaller ones in the
components separated by closed neighbourhoods.
Informally, the next lemma suggests that for computing a maximum induced
forest compatible with a local map (v,R,R′), we have to
• compute a forest compatible with (v,R,R′) and having a maximum size
intersection with N(v);
• compute, for each block (v,C), a forest contained in N[v] ∪ C, compatible
with (v,R,R′) and having a maximum size intersection with C;
• glue them together.
Lemma 7 (interchange). Let K1,K2 ⊆ V be compatible with (v,R,R′) ∈
R(G). For every block (v,C) of G, K3= (K1\ C) ∪ (K2∩ C) is compatible
with (v,R,R′).
Proof. We only show that K3induces a forest in G because the other condi
tions are obviously fulfilled. By contradiction let Z ⊆ K3induce a shortest
cycle in G[K3]. Clearly Z∩C ?= ∅ (otherwise Z ⊆ K1) and Z∩N[v] ?= ∅ (oth
erwise Z ⊆ K2). Let (a,x1,...,xp,b) be a subpath of Z such that xi∈ C for
9
Page 10
all i with 1 ? i ? p, and a,b ∈ N(v) (possibly a = b). Since a,b ∈ K1\C, there
are vertices a′,b′∈ R ∪ R′, such that x1∈ N(a′) and xp∈ N(b′). If a′= b′,
then (a′,x1,...,xp) is a cycle of G, else (v,a′,x1,...,xp,b′) is a cycle of G,
contradicting the fact that v,a′,b′,x1,...,xp∈ K2and G[K2] is acyclic.
Suppose we are given a forest Kvcompatible with a local map (v,R,R′) and let
us fix a component G[C] of G−N[v]. One of our main tasks will be to extend
Kv in order to make its intersection with C as large as possible. Moreover,
assume that we have previously computed, for some vertex w ∈ C, a forest
Kwcompatible with (v,R,R′) having a large intersection with C. According
to Lemma 8, these forests can be glued together (respecting some technical
condition). We will later use this technique to compute a forest compatible
with (v,R,R′) and having a maximum intersection with C (see Lemma 12).
Lemma 8 (extension). Let v and w be two nonadjacent vertices of G =
(V,E) and let Kv,Kw⊆ V be compatible with (v,R,R′),(w,Q,Q′) ∈ R(G),
respectively. Assume that K0 = {v,w} ∪ R ∪ R′∪ Q ∪ Q′induces a forest
compatible with both (v,R,R′) and (w,Q,Q′). Then
(1) Kv∩ N(v) ∩ N(w) = Kw∩ N(w) ∩ N(v) = R′∩ Q′, and
(2) K = (Kv\ C(w,v)) ∪ (Kw\ C(v,w)) is compatible with both (v,R,R′)
and (w,Q,Q′).
Proof. We assume K0∈ K where K = K(v,R,R′)∩K(w,Q,Q′). To prove (1)
we show that Kv∩N(v)∩N(w) = R′∩Q′. Clearly R′∩Q′⊆ Kv∩N(v)∩N(w).
Conversely, let u ∈ Kv∩ N(v) ∩ N(w). In the forest G[K0], u is adjacent to
both v and w, so it does not correspond to a leaf. Since K0is compatible with
(v,R,R′), we have u ∈ R′. Since K0 is compatible with (w,Q,Q′) too, we
deduce u ∈ Q′. Therefore Kv∩N(v)∩N(w) = R′∩Q′, and by symmetry also
Kw∩ N(w) ∩ N(v) = R′∩ Q′.
To prove (2) we apply Lemma 7 to the block (v,C(w,v)) with K1 = Kv,
K2= K0and K3= K′
Note that K′
of K′
hence they are in Q′. So we have K′
K′
v. We obtain that K′
v∩N[w] = K0∩N[w] = {w}∪Q∪Q′. Moreover, the only vertices
v∩ N(w) which are not leaves in G[Kv] are adjacent to both v and w,
v∈ K(w,Q,Q′). For similar reasons,
w= (Kw\ C(v,w)) ∪ K0∈ K.
v= (Kv\C(w,v))∪K0∈ K(v,R,R′).
Finally we apply Lemma 7 to the block (v,C(w,v)), with K1 = K′
K2= K′
(w,C(v,w)) with K1= K′
vand
wand obtain that K ∈ K(v,R,R′). By Lemma 7 again, applied to
wand K2= K′
v, we conclude that K ∈ K(w,Q,Q′).
10
Page 11
4Synthesis
The gluing techniques based on local maps will be transformed in this section
into explicit equations allowing to compute maximum induced forests. Let
(v,C) be a block of an ATfree graph G = (V,E) and (v,R,R′) ∈ R(G). We
define two quantities:
• start(v,R,R′) is the maximum size of a subset of N[v] compatible with
(v,R,R′).
• branch(v,R,R′,C) is the maximum size of a subset of C that has a superset
compatible with (v,R,R′).
These quantities are sufficient to compute fvs(G).
More formally, we have:
start(v,R,R′)= max
K∈K(v,R,R′)K ∩ N[v],
max
(2)
branch(v,R,R′,C)=
K∈K(v,R,R′)K ∩ C. (3)
Recall that C(v) denotes the set of vertex sets of the connected components
of G − N[v].
Lemma 9.
fvs(G) = V  −max
(v,R,R′)∈R(G)
?
start(v,R,R′) +
?
C∈C(v)
branch(v,R,R′,C)
?
(4)
Proof. Let K be the vertex set of a largest induced forest of G and let v be any
vertex in K. By Lemma 5 the local map (v,R,R′) of K belongs to the atlas
R(G). By Equation (1), it is sufficient to prove that K equals the “max” part
in the equation above. Directly from Equations (2) and (3) follows that K =
K ∩ N[v] +?
Conversely, let Kv∈ K(v,R,R′) such that Kv∩N[v] = start(v,R,R′), and for
each C ∈ C(v) let KC∈ K(v,R,R′) such that KC∩ C = branch(v,R,R′,C).
By Lemma 7, (Kv∩ N[v]) ∪
with (v,R,R′) and the conclusion follows.
C∈C(v)K ∩ C ? start(v,R,R′) +?
C∈C(v)branch(v,R,R′,C).
??
C∈C(v)(KC∩ C)
?
induces a forest compatible
We shall prove that the quantities start can be computed independently for
all triples in the atlas. The value of branch(v,R,R′,C) can be computed re
cursively using values of the type branch(w,Q,Q′,D) for blocks (w,D) such
that D ⊂ C. Eventually we compute fvs(G) using Equation (4).
11
Page 12
4.1Computing start
As usual α(G) denotes the maximum size of an independent set S ⊆ V of
G = (V,E). For a triple (v,R,R′) in the atlas of G we define
Inf(v,R,R′) = {x ∈ N(v) : N(x) \ N(v) ⊆ N(R)} \ N[R ∪ R′]. (5)
Lemma 10 (start).
start(v,R,R′) = 1 + R ∪ R′ + α(G[Inf(v,R,R′)])(6)
holds for all (v,R,R′) ∈ R(G).
Proof. Let rhs6be shorthand for the term on the right hand side of Equation
(6). Firstly we shall show start(v,R,R′) ? rhs6. Therefore let S be a maximum
independent set of G[Inf(v,R,R′)]. Then R ∪ R′is an independent set by
Condition (2) of Lemma 5, and R∪R′∪S is an independent set the definition
of Inf in Equation (5). Hence the sets {v}, R, R′and S are pairwise disjoint
and their union belongs to K(v,R,R′). We conclude start(v,R,R′) ? rhs6.
On the other hand consider any K ∈ K(v,R,R′). We have {v} ∪ R ∪ R′⊆ K
by Definition 6. Moreover K ∩N[v]\({v}∪R∪R′) ? S holds by Definition
6 again and our choice of the set S. This implies start(v,R,R′) ? rhs6.
4.2Computing branch
Lemma 11. Let G = (V,E) be an ATfree graph and K ⊆ V . Consider a
vertex v ∈ K and a block (v,C) of G such that K ∩ C ?= ∅. Then there is a
vertex w ∈ K ∩ C such that K ∩ B = ∅ for the interval (v,B,w).
Proof. Let w be any vertex in K ∩ C and assume a vertex u ∈ K ∩ B. We
consider the interval (v,A,u). By an inductive argument it suffices to show
A ⊆ B because we have u ∈ B \ A.
By contradiction, let z ∈ A \ B. Since u ∈ B, a path (v,...,u) exists in
G − N[w] and a path (w,...,u) exists in G − N[v]. Moreover there is a path
(v,...,z) in G − N[u] because z ∈ A. The latter path meets N(w) because
z / ∈ B. That is, we have a path (v,...,w) in G − N[u] too. Now, since u, v
and w do not form an AT, such a vertex z cannot exist.
The following Lemma allows us to compute the quantity branch(v,R,R′,C)
for a block (v,C) and a triple (v,R,R′), using the values branch(w,Q,Q′,D)
for smaller blocks (w,D).
12
Page 13
Lemma 12 (branch). For every block (v,C) of an ATfree graph G and all
(v,R,R′) ∈ R(G) we have
branch(v,R,R′,C) = max
w ∈C
(w,Q,Q′)∈R(G)
K0∈K(v,R,R′)∩K(w,Q,Q′)
?
start(w,Q,Q′) − Q′∩ R′ +
+
D∈C(w),D⊂C
?
branch(w,Q,Q′,D)
?
(7)
where K0= {v,w} ∪ R ∪ R′∪ Q ∪ Q′. If there is no vertex w ∈ C such that
Q,Q′⊆ N(w) with (w,Q,Q′) ∈ R(G) and K0 ∈ K(v,R,R′) ∩ K(w,Q,Q′)
exist, we have branch(v,R,R′,C) = 0.
Proof. We use rhs7to abbreviate the term on the right hand side of Equa
tion (7). Firstly we will show K ∩ C ? rhs7 for a set K compatible with
(v,R,R′). If K ∩ C ?= ∅, by Lemma 11 there is a vertex w ∈ C such that the
interval between v and w does not contain vertices in K. Let (w,Q,Q′) be
the corresponding local map of K. For each component G[D] of G−N[w] we
have K ∩ D ? branch(w,Q,Q′,D) by Equation (3). Summing these values
up for all D ?∋ v (or equivalently, for all D ⊂ C) we obtain K ∩?
?
Note that K ∩N(v)∩N(w) = R′∩Q′, by Lemma 8 (1) applied to Kv= Kw=
K. Now Equation (2) implies K ∩ N[w] \ N[v] ? start(w,Q,Q′) − Q′∩ R′.
Since the interval between v and w does not contain vertices in K, it follows
K ∩ C ? rhs7.
D⊂CD ?
Dbranch(w,Q,Q′,D).
For the other way around, let the maximum in Equation (7) be attained for
w ∈ C and the triple (w,Q,Q′) ∈ R(G). For each block (w,D) with D ⊂ C
• let KD∈ K(w,Q,Q′) be a subset of D with KD\N[w] = branch(w,Q,Q′,D),
• let Kw∈ K(w,Q,Q′) be a subset of N[w] with Kw = start(w,Q,Q′), and
• let Kv∈ K(v,R,R′) be a subset of N[v] such that Kv = start(v,R,R′).
K0is compatible with (v,R,R′) and (w,Q,Q′). Hence by Lemma 8 (2), the set
Kv∪Kwis also compatible with both local maps. By Lemma 7, K = Kv∪Kw∪
?
By Lemma 8 (1), Kw∩ N(v) = R′∩ Q′, hence Kw∩ C = start(w,Q,Q′) −
R′∩ Q′. We have that K ∩ C = Kw∪?
D⊂CKDis compatible with (w,Q,Q′) and consequently also with (v,R,R′).
D⊂CKD ? rhs7.
5Algorithm
Our algorithm computes fvs(G) for ATfree graphs G using Equations (6)
for computing start, (7) for branch and eventually (4) for fvs(G). The crucial
13
Page 14
observation is that in step 3, when computing branch(v,R,R′,C) for a block
(v,C), we only need the values of branch(w,Q,Q′,D) for blocks (w,D) such
that D ⊂ C. Since the blocks (v,C) are sorted (in step 2) by C, the block
(w,D) appears before (v,C) in step 3.
Algorithm FeedbackVertexSet
Input: an ATfree graph G.
Output: fvs(G).
step 1 For all (v,R,R′) ∈ R(G) compute start(v,R,R′) using Equation (6).
step 2 Create a list of all blocks (v,C) of G and sort by C.
step 3 For each block (v,C) of G and each triple (v,R,R′) ∈ R(G) compute
branch(v,R,R′,C) according to Equation (7) using values start(w,Q,Q′)
computed in step 1 and values branch(w,Q,Q′,D) computed earlier
in this step.
step 4 Determine fvs(G) by Equation (4) using values branch(v,R,R′,C)
computed in step 3.
Theorem 13. There is an O(n8m2) algorithm to compute the minimum size
of a feedback vertex set in ATfree graphs.
Proof. The correctness of this algorithm follows from Lemmas 10 and 12. We
analyse the running time for an input G = (V,E) where n = V , m = E
and nvis the degree dG(v) of v ∈ V .
step 1 For each (v,R,R′) ∈ R we have R ∪ R′ ? 4, see Condition (4) in
Lemma 5. Hence we have O(n4
to R = O(n3m) because?
We compute α(G[Inf(v,R,R′)]) in time O(n3
free [13]. So the total time for this step is O(n6m).
v) triples for each v ∈ V . This adds up
v∈Vnv= 2m.
v) time because G is AT
step 2 The number of blocks is O(n2) and for fixed v we find all blocks (v,C)
in time O(n + m). Hence this step needs time O(nm + n2).
step 3 Here we compute O(n4m) values branch(v,R,R′,C). For each one we
minimise over O(n3m) tiples (w,Q,Q′). Since Q∪Q′ ? 4 we look up
a single value start(w,Q,Q′) or branch(w,Q,Q′,D) in constant time.
Consequently this step takes O(n8m2) time.
step 4 The last step is similar to step 3 and takes time O(n7m2).
Hence the overall running time can be bounded by O(n8m2).
14
Page 15
6 Feedback Vertex Set in graphs with bounded asteroidal number
The following definition from [12] generalises asteroidal triples.
Definition 14. An independent set A of G is called asteroidal set if for every
vertex a ∈ A there is a connected component G[C] of G − N[a] such that
A\{a} ⊆ C. The asteroidal number of G, denoted by an(G), is the maximum
cardinality of an asteroidal set of G.
It is easy to see that an independent set is asteroidal if and only if each three
element subset forms an AT. The following Ramseytype lemma will be used
in the proof of Lemma 16.
Lemma 15. Each graph on more than 2k2vertices has k+1 pairwise nonad
jacent vertices or a 2connected subgraph on k + 1 vertices.
Proof. Let G = (V,E) be any graph on V  > 2k2vertices that has no 2
connected subgraph on k + 1 vertices. By B we denote the set of all subsets
B ⊆ V such that G[B] is a maximal subgraph of G without cut vertex. Two
different sets A,B ∈ B are either disjoint or their intersection contains just
one cut vertex of G. Clearly B ? ⌈(2k2+ 1)/k⌉ = 2k + 1. The set of cut
vertices of G is denoted by C. We construct the bipartite graph T = (B,C,F)
with {B,c} ∈ F if c ∈ B which is is fact a forest [18].
We partition B into layers. From each connected component of T we choose
a subset of V in B. The layer L0is the set of these subsets. Define Li= {B :
dT(B0,B) = 2i for some B0 ∈ L0}, i ? 0. Clearly the layers of odd parity
or the levels of even parity contain at least k + 1 elements. Suppose w.l.o.g.
that we are in the latter case. For each element A ∈ B, let c(A) be the cut
vertex next to A on the path from A to the level 0 in the forest T. (c(A) does
not exist if A ∈ L0). Also fix a vertex x(A) ∈ A \ {c(A)}. We show that the
set {x(A)  A ∈ L2j} is an independent set of G, of size at least k + 1. Let
A ∈ L2j,B ∈ L2j′, 0 ? 2j ? 2j′. We prove that x(A) and x(B) are distinct
and non adjacent in G. Only consider the case when A and B are in a same
component of T. If A is on the unique path of T from B to an element of
L0, observe that c(B) separates x(A) and x(B) in G: indeed, c(B) separates
the nodes A and B of T, and since A is not adjacent to c(B) in T, we have
x(A) ?= c(B) and the conclusion follows. If A∩B ?= ∅ the common cut vertex
separates x(A) and x(B). Otherwise consider c(C) for the lowest common
ancestor C of A and B in T. By construction c(C) is different from x(A) and
x(B) and c separates these two vertices in G.
Recall that, by Definition 1, the representation of an independent set S ⊆ N(v)
is a minimum size set R ⊆ S such that N(S) \ N(v) = N(R) \ N(v). The
15
Page 16
following lemma generalises Corollary 4.
Lemma 16. For all vertices v of graph G with an(G) ? k, every independent
set S ⊆ N(v) has a representation of size at most 2k2.
Proof. Conversely assume that S is an independent set containing more than
2k2vertices such that S is its own representation. Then every vertex s ∈ S
has a private neighbour t ∈ N(s)\(N(v)∪?
these private neighbours. Since T = S > 2k2, Lemma 15 ensures that G[T]
contains an independent set T′with T′ = k + 1 or a 2connected subgraph
G[C] on k + 1 vertices. In the latter case let S′⊆ S be the set of private
neighbours of C. In both cases T′and S′, respectively, form an asteroidal set
of G contradicting an(G) ? k.
s′∈S\{s}N(s′)). Let T be the set of
Here we generalise our approach in Section 3 to graphs of bounded asteroidal
number. First we reconsider Lemma 5. Let G[K] be a forest in G containing
the vertex v. We consider the local map (v,R,R′) of K, i.e. R′is the set
of internal vertices of G[K] belonging to N(v) and R is a representation of
(K ∩ N(v)) \ R′.
Lemma 17. Let (v,R,R′) be a local map of K ∋ v inducing a forest G[K] in
G. The following conditions hold:
(1) R ∪ R′⊆ N(v);
(2) R ∪ R′is an independent set of G;
(3) N(x)\N(v) ⊂ N(x′)\N(v) implies x ∈ R and x′∈ R′for x,x′∈ R∪R′;
(4) R ? 2k2and R′ ? k where k = an(G).
Proof. Conditions (1)–(3) are the same as in Lemma 5. R ? 2k2follows
from Lemma 16. It remains to prove R′ ? k. For each s ∈ R′we choose a
neighbour t in K \N[v]. Let T be the set of these neighbours. Then G[R′∪T]
contains exactly R′ edges, i.e. T is an independent set of private neighbours.
In other words, T is an asteroidal set of G. Condition (4) follows.
Now the atlas of G is the set of all triples (v,R,R′) satisfying the conditions of
Lemma 17. It is denoted by R(G) again. We retain the concept of compatibility
as introduced in Definition 6.
Lemma 7 holds for all graphs. We extend Lemma 8 (2) as follows. For an
asteroidal set A of G consider the set B(A) =?
(A,B(A)) is an interval of G. Especially every block (v,C) is an interval
({v},C).
a,b∈A,a?=bC(b,a). We say that
16
Page 17
Lemma 18. Let (A,B) be an interval of G = (V,E) and for all a ∈ A
let Ka ⊆ V be compatible with (a,Ra,R′
?
?
a) ∈ R(G). Then K =
a) for all a ∈ A if K0 = A ∪
a) for all a ∈ A.
?
a∈A(Ka\
b∈A\{a}C(b,a)) is compatible with (a,Ra,R′
a∈A(Ra∪ R′
a) is compatible with (a,Ra,R′
Proof. As in the proof of Lemma 7 it suffices to show that G[K] is a forest.
Conversely, let Z ⊆ K induce a shortest cycle in G[K]. Then Z meets N[v].
We keep the definition of start and branch (Equations (2) and (3)). Since
Lemma 10 holds for all graphs we can compute start(v,R,R′) as before, see
Equation (6). To compute branch(v,R,R′,C) we need the following generali
sation of Lemma 11.
Lemma 19. Let K ⊆ V be any set of vertices in a graph G = (V,E), v ∈ K
and ({v},C) an interval of G. Then there is a set A′⊆ K ∩ C such that
A′∪ {v} is asteroidal and K ∩ C ∩?
a∈A′ C(v,a) = ∅.
Proof. Let A′⊆ K ∩ C be any set such that A = A′∪ {v} is asteroidal, for
instance, A′= ∅. Let Int(A) = C ∩?
define A ⊕ u = (A ∩ C(v,u)) ∪ {u}. Obviously A ⊕ u is an asteroidal set of
G[N[v] ∪ C] containing the vertices u and v. As in the proof of Lemma 11
we apply an inductive argument. It suffices to show Int(A ⊕ u) ⊆ Int(A) for a
vertex u ∈ K ∩ Int(A) because u / ∈ Int(A ⊕ u).
a∈A′ C(v,a). For a vertex u ∈ Int(A) we
To prove Int(A⊕u) ⊆ Int(A) we show C(v,u) ⊆ C(v,a) for all a ∈ A\(A⊕u).
Let a ∈ A be such a vertex, i.e. v and a belong to different connected com
ponents of G − N[u]. Since u ∈ Int(A) we have u ∈ C(v,a), and consequently
C(v,u) ⊆ C(v,a).
The following lemma allows us to compute branch in a recursive manner.
Lemma 20. For every block (v,C) of a graph G and all (v,R,R′) ∈ R(G) we
have
branch(v,R,R′,C) = max
A′⊆C
A is asteroidal
(Ra∪R′a)∈?
start(a,Ra,R′
A∪?
?
a∈A
a∈A
K(a,Ra,R′a)
?

?
a∈A′R′
a\ R′ +
?
a∈A′
a) − R′
a +
?
D∈C(a), D⊂C
branch(a,Ra,R′
a,D)
??
(8)
where A = A′∪ {v}, Rv= R, R′
v= R′and (a,Ra,R′
a) ∈ R(G) for all a ∈ A′.
Proof. Let K induce a forest in G[C∪N[v]] that is compatible with (v,R,R′).
By Lemma 19 there is a set A′⊆ K ∩ C such that A = A′∪ {v} is asteroidal
17
Page 18
and K ∩ Int(A) = ∅. For each a ∈ A′let (a,Ra,R′
local map of K. Then for each connected component G[D] of G − N[a] with
v / ∈ D (or, equivalently, with D ⊂ C) we have K ∩D ? branch(a,Ra,R′
Summing up these values we obtain K ∩?
We obtain the upper bound for branch(v,R,R′,C) by summing over all a ∈ A′,
whereby we include each vertex in K exactly once. Remember that different
sets N[a] ∪ D overlap only at N[a], and only vertices in R′
in G[K] that do not belong to N[a].
a) be the corresponding
a,D).
a,D).
D?∋v ??
D⊂Cbranch(a,Ra,R′
ahave neighbours
Now we consider set A′⊆ C such that A = A′∪{v} is asteroidal. For each a ∈
A′and each (a,Ra,R′
with (a,Ra,R′
A∪?
G[N[v] ∪ C] for each Kv⊆ N[v] compatible with (v,R,R′). This proves the
lower bound because the size of K is bounded by the term on the right hand
side of Equation 8.
a) ∈ R(G) let Kainduce a forest in G−C(v,a) compatible
a) such that Ka =?
a∈A(Ra∪R′
D∈C(a),D⊂Cbranch(a,Ra,R′
a∈AK(a,Ra,R′
a,D). If we have
a) ∈?
a) then K =?
a∈AKainduces a forest in
From Lemmas 10 and 20 we derive an algorithm similar to the one given in
Section 5. We claim that it runs in polynomial time whenever the asteroidal
number of the input is bounded by a constant. The tricky point is to bound
the size of R(G). Here Lemma 17 can help. Due to its Condition (4) we know
R ? 2k2and R′ ? k for every triple (v,R,R′) ∈ R(G) if an(G) ? k. Hence
R(G) < n2k2+k+1where k = an(G).
References
[1] V. Bafna, P. Berman, T. Fujito: A 2approximation algorithm for the undirected
feedback vertex set problem, SIAM Journal on Discrete Mathematics 12 (1999),
pp. 289–297.
[2] H. Bodlaender, D. Thilikos: Treewidth for graphs with small chordality. Discrete
Applied Mathematics 79 (1997), pp. 45–61.
[3] A. Brandst¨ adt, D. Kratsch: On domination problems for permutation and other
graphs, Theoretical Computer Science 54 (1987), pp. 181–198.
[4] H.J. Broersma, A. Huck, T. Kloks, O. Koppius, D. Kratsch, H. M¨ uller and
H. Tuinstra: Degreepreserving trees, Networks 35 (2000), pp. 26–39.
[5] H.J. Broersma, T. Kloks, D. Kratsch and H. M¨ uller: Independent sets in
asteroidal triplefree graphs, SIAM Journal on Discrete Mathematics 12 (1999),
pp. 276–287.
[6] H.J. Broersma, T. Kloks, D. Kratsch and H. M¨ uller: A generalization of ATfree
graphs and a generic algorithm for solving triangulation problems, Algorithmica
32 (2002), pp. 594–610.
18
Page 19
[7] D.G. Corneil, S. Olariu and L. Stewart: Asteroidal triplefree graphs, SIAM
Journal on Discrete Mathematics 10 (1997), pp. 399–430.
[8] B. Courcelle, J.A. Makowsky, U. Rotics: Linear time solvable optimization
problems on graphs of bounded cliquewidth, Theory of Computing Systems
33 (2000), pp. 125–150.
[9] R.G. Downey, M.R. Fellows: Parameterized complexity, Springer, 1997.
[10] M.R. Garey and D.S. Johnson: Computers and Intractability: A guide to the
Theory of NPcompleteness, Freeman, New York, 1979.
[11] J. Kleinberg, A. Kumar: Wavelength conversion in optical networks, Journal of
Algorithms 38 (2001) pp. 25–50.
[12] T. Kloks, D. Kratsch and H. M¨ uller: On the structure of graphs with bounded
asteroidal number, Graphs and Combinatorics 17 (2001), pp. 295–306.
[13] E. K¨ ohler: Graphs without asteroidal triples, PhD thesis, TU Berlin 1999.
ftp://ftp.math.tuberlin.de/pub/combi/ekoehler/diss
[14] D.Y. Liang: On the feedback vertex set problem in permutation graphs,
Information Processing Letters 52 (1994) pp. 123–129.
[15] D.Y. Liang, M.S. Chang: Minimum feedback vertex sets in cocomparability
graphs and convex bipartite graphs, Acta Informatica 34 (1997) pp. 337–346.
[16] C.L. Lu, C.Y. Tang: A lineartime algorithm for the weighted feedback vertex
problem on interval graphs, Information Processing Letters 61 (1997) pp. 107–
111.
[17] J. Spinrad: Efficient graph representations, American Mathematical Society,
Fields Institute Monograph Series 19, 2003.
[18] R. Tarjan: Depthfirst search and linear graph algorithms. SIAM Journal on
Computing 1 (1972) pp. 146–160.
19