Page 1

Feedback vertex set on AT-free graphs

Dieter Kratsch

Universit´ e de Metz, Laboratoire d’Informatique Th´ eorique et Appliqu´ ee,

57045 Metz Cedex 01, France. Email: kratsch@univ-metz.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@univ-orleans.fr

Abstract

We present a polynomial time algorithm to compute a minimum (weight) feedback

vertex set for AT-free graphs, and extending this approach we obtain a polynomial

time algorithm for graphs of bounded asteroidal number.

Key words: feedback vertex set, asteroidal triple-free 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 NP-complete [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 clique-width [8]. Hence the problem is linear-time solvable

for graphs of bounded treewidth, cographs, distance-hereditary 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 2-approximation 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 by-product.

Concerning the complexity of FVS on special graph classes the following is

known. FVS is NP-complete 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 AT-free 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 AT-free. AT-free 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 AT-free graphs [7]. In the last ten years various papers

on the complexity of NP-complete problems for AT-free 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 NP-complete on AT-free

graphs. clique is NP-complete on AT-free graphs [5] and minimum dom-

inating clique remains NP-complete even on cocomparability graphs [3].

This provides another motivation to study FVS on AT-free 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 AT-free graphs, see also [4,6]. In Sections 3–5 we present a

polynomial time algorithm for FVS on AT-free 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

AT-free 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 AT-free 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 AT-free 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 AT-free 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