On Papers by Bodlaender and Thomassé
Yixin Cao
Department of Computer Science and Engineering
Texas A&M University
February 24, 2009/ CPSC-669
Yixin Cao
Outline
1
2
3
4
Yixin Cao
Outline
1
2
3
4
Yixin Cao
Solutions for hard problems approximation algorithms in polynomial time exact algorithms in exponential time
Yet another approach: Fixed-parameter algorithms.
Justification : The general case keeps
NP
-hard, while for some fixed small parameter k , it becomes polynomially solvable.
O ( f ( k ) · n c
) where f is a function independent on n and c is a constant.
Yixin Cao
Outline
1
2
3
4
Yixin Cao
Kernelization is a natural way to say a problem is FPT a kernelization algorithm takes an instance of ( I , k ) , and outputs another instance ( I
0
, k
0
) such that k
0 ≤ k
| I
0
| = f ( k
0
) for some function independent on | I | .
( I , k ) is true iff ( I
0
, k
0
) is true.
it runs in polynomial time of | I | .
Remark with above kernel, a fixed-parameter algorithm with
O ( p ( n ) + g ( f ( k
0
))) can be trivially given, where g is the time of available exact algorithm, and p is the time of kernelization
Refer to the survey by Guo et al.
(on CSUR 2007)
Yixin Cao
Kernelization is a natural way to say a problem is FPT a kernelization algorithm takes an instance of ( I , k ) , and outputs another instance ( I
0
, k
0
) such that k
0 ≤ k
| I
0
| = f ( k
0
) for some function independent on | I | .
( I , k ) is true iff ( I
0
, k
0
) is true.
it runs in polynomial time of | I | .
Remark with above kernel, a fixed-parameter algorithm with
O ( p ( n ) + g ( f ( k
0
))) can be trivially given, where g is the time of available exact algorithm, and p is the time of kernelization
Refer to the survey by Guo et al.
(on CSUR 2007)
Yixin Cao
Kernelization is a natural way to say a problem is FPT a kernelization algorithm takes an instance of ( I , k ) , and outputs another instance ( I
0
, k
0
) such that k
0 ≤ k
| I
0
| = f ( k
0
) for some function independent on | I | .
( I , k ) is true iff ( I
0
, k
0
) is true.
it runs in polynomial time of | I | .
Remark with above kernel, a fixed-parameter algorithm with
O ( p ( n ) + g ( f ( k
0
))) can be trivially given, where g is the time of available exact algorithm, and p is the time of kernelization
Refer to the survey by Guo et al.
(on CSUR 2007)
Yixin Cao
Outline
1
2
3
4
Yixin Cao
FVS
INSTANCE An undirected graph G = ( V , E ) and a positive integer k .
QUESTION Is there a subset X ⊆ V with | X | ≤ k such that G with the vertices from X deleted is cycle-free, i.e.
a forest?
Variations:
Directed, Weighted, Planar
The polynomial kernel of FVS was first given by Burrage et al.
in O ( k
11
) . Bodlaender improved it to O ( k
3
) , and Thomassé further set it at O ( k
2
) , which is published in SODA’09.
Yixin Cao
Outline
1
2
3
4
Yixin Cao
G = ( V , E ) is the whole graph, S is a feedback vertex set
¯ is the complement set of a set of vertices X in V , i.e.
V \ X . Obviously, | X | + |
¯
| = | V | .
d ( v , w ) is the edges between vertices v and w , the possible values are only 0 , 1 and 2. Similarly, d ( v , X ) is the edges between vertex v and any vertex w ∈ X , and d ( X , Y ) is the edges between any vertex v ∈ X and any vertex w ∈ Y .
By vertex disjoint paths , we mean paths whose internal are all different, i.e.
we allow that vertex disjoint paths share endpoints.
Yixin Cao
Preliminary
Theorem (2-Approximation)
There is approximation algorithm that gives 2-ratio for FVS problem.
Question: Why the 2 k size FVS given by approximation algorithms is not already a kernel?
Definition (Flower)
Given a vertex x of graph G , an x -flower of order k is a set of k cycles pairwise intersecting exactly on x (vertex disjoint cycles).
Yixin Cao
Preliminary
Theorem (2-Approximation)
There is approximation algorithm that gives 2-ratio for FVS problem.
Question: Why the 2 k size FVS given by approximation algorithms is not already a kernel?
Definition (Flower)
Given a vertex x of graph G , an x -flower of order k is a set of k cycles pairwise intersecting exactly on x (vertex disjoint cycles).
Yixin Cao
Preliminary
Theorem (2-Approximation)
There is approximation algorithm that gives 2-ratio for FVS problem.
Question: Why the 2 k size FVS given by approximation algorithms is not already a kernel?
Definition (Flower)
Given a vertex x of graph G , an x -flower of order k is a set of k cycles pairwise intersecting exactly on x (vertex disjoint cycles).
Yixin Cao
Basic rules used by both papers
Rule 0 Whenever it is certain that a minimal FVS ≥ k , return false.
Rule 1 If there is a self-loop on x , G
0 k
0
= k − 1.
= G \ x , and
Rule 2 For any vertex x with degree 0 or 1, G
0 and k
0
= k .
= G \ x ,
Rule 3 For a 2-degree vertex x with neighbors y and z (might be same), G
0
= G \ x ∪ yz and k
0
= k .
Rule 4 If there exists an x -flower of order k + 1,
G
0
= G \ x , and k
0
= k − 1.
Yixin Cao
Basic rules used by both papers
Rule 0 Whenever it is certain that a minimal FVS ≥ k , return false.
Rule 1 If there is a self-loop on x , G
0 k
0
= k − 1.
= G \ x , and
Rule 2 For any vertex x with degree 0 or 1, G
0 and k
0
= k .
= G \ x ,
Rule 3 For a 2-degree vertex x with neighbors y and z (might be same), G
0
= G \ x ∪ yz and k
0
= k .
Rule 4 If there exists an x -flower of order k + 1,
G
0
= G \ x , and k
0
= k − 1.
Yixin Cao
Basic rules used by both papers
Rule 0 Whenever it is certain that a minimal FVS ≥ k , return false.
Rule 1 If there is a self-loop on x , G
0 k
0
= k − 1.
= G \ x , and
Rule 2 For any vertex x with degree 0 or 1, G
0 and k
0
= k .
= G \ x ,
Rule 3 For a 2-degree vertex x with neighbors y and z (might be same), G
0
= G \ x ∪ yz and k
0
= k .
Rule 4 If there exists an x -flower of order k + 1,
G
0
= G \ x , and k
0
= k − 1.
Yixin Cao
Basic rules used by both papers
Rule 0 Whenever it is certain that a minimal FVS ≥ k , return false.
Rule 1 If there is a self-loop on x , G
0 k
0
= k − 1.
= G \ x , and
Rule 2 For any vertex x with degree 0 or 1, G
0 and k
0
= k .
= G \ x ,
Rule 3 For a 2-degree vertex x with neighbors y and z (might be same), G
0
= G \ x ∪ yz and k
0
= k .
Rule 4 If there exists an x -flower of order k + 1,
G
0
= G \ x , and k
0
= k − 1.
Yixin Cao
Basic rules used by both papers
Rule 0 Whenever it is certain that a minimal FVS ≥ k , return false.
Rule 1 If there is a self-loop on x , G
0 k
0
= k − 1.
= G \ x , and
Rule 2 For any vertex x with degree 0 or 1, G
0 and k
0
= k .
= G \ x ,
Rule 3 For a 2-degree vertex x with neighbors y and z (might be same), G
0
= G \ x ∪ yz and k
0
= k .
Rule 4 If there exists an x -flower of order k + 1,
G
0
= G \ x , and k
0
= k − 1.
Yixin Cao
Basic Idea
A is the FVS given by a 2-approximation algorithm.
| A | ≤ 2 k .
B = { w ∈
¯
|∃ v ∈ A , d ( v , w ) = 2 } .
A piece is a connected component of G \ ( A ∪ B ) , i.e.
a tree.
Let X be the set of vertices of a piece, the border of the piece is the set of vertices in A ∪ B that is adjacent to a vertex in X .
A vertex v in the border of a piece governs the piece, if it has double edges to all other vertice in the border of the piece.
Yixin Cao
Basic Idea
A is the FVS given by a 2-approximation algorithm.
| A | ≤ 2 k .
B = { w ∈
¯
|∃ v ∈ A , d ( v , w ) = 2 } .
A piece is a connected component of G \ ( A ∪ B ) , i.e.
a tree.
Let X be the set of vertices of a piece, the border of the piece is the set of vertices in A ∪ B that is adjacent to a vertex in X .
A vertex v in the border of a piece governs the piece, if it has double edges to all other vertice in the border of the piece.
Yixin Cao
Basic Idea
A is the FVS given by a 2-approximation algorithm.
| A | ≤ 2 k .
B = { w ∈
¯
|∃ v ∈ A , d ( v , w ) = 2 } .
A piece is a connected component of G \ ( A ∪ B ) , i.e.
a tree.
Let X be the set of vertices of a piece, the border of the piece is the set of vertices in A ∪ B that is adjacent to a vertex in X .
A vertex v in the border of a piece governs the piece, if it has double edges to all other vertice in the border of the piece.
Yixin Cao
Basic Idea
A is the FVS given by a 2-approximation algorithm.
| A | ≤ 2 k .
B = { w ∈
¯
|∃ v ∈ A , d ( v , w ) = 2 } .
A piece is a connected component of G \ ( A ∪ B ) , i.e.
a tree.
Let X be the set of vertices of a piece, the border of the piece is the set of vertices in A ∪ B that is adjacent to a vertex in X .
A vertex v in the border of a piece governs the piece, if it has double edges to all other vertice in the border of the piece.
Yixin Cao
Outline
1
2
3
4
Yixin Cao
The Informal Intuition
The simple (informal) intuition is treating trees as points.
and the points are removed similarly with the 2-degree rule.
hence if a particular vertex v has more than one path (via only trees) to each vertices in a set X , double edges are directly added between v and X .
Yixin Cao
The Informal Intuition
The simple (informal) intuition is treating trees as points.
and the points are removed similarly with the 2-degree rule.
hence if a particular vertex v has more than one path (via only trees) to each vertices in a set X , double edges are directly added between v and X .
Yixin Cao
The Informal Intuition
The simple (informal) intuition is treating trees as points.
and the points are removed similarly with the 2-degree rule.
hence if a particular vertex v has more than one path (via only trees) to each vertices in a set X , double edges are directly added between v and X .
Yixin Cao
Key Theorems
Theorem (Gallai)
Let A be a subset of vertices of a graph G. If the maximum number of vertex disjoint A-paths is strictly less than k + 1 , there exists a set of vertices X ⊆ V of size at most 2 k intersecting every A-path.
Corollary
Let x be a vertex of a graph G which is not a loop. If there is no x -flower of order k + 1 , there exists a set of vertices X ⊆ V \ x of size at most 2 k intersecting every cycle containing x .
Yixin Cao
Key Theorems
Theorem (Gallai)
Let A be a subset of vertices of a graph G. If the maximum number of vertex disjoint A-paths is strictly less than k + 1 , there exists a set of vertices X ⊆ V of size at most 2 k intersecting every A-path.
Corollary
Let x be a vertex of a graph G which is not a loop. If there is no x -flower of order k + 1 , there exists a set of vertices X ⊆ V \ x of size at most 2 k intersecting every cycle containing x .
Yixin Cao
Theorem
Let G be a bipartite graph on bipartition ( X , Y ) . There exists a polynomial algorithm which computes a subset Z of X such that | N ( Z ) | < 2 | Z | if such a subset Z exists.
Obtained straightforwardly from Hall’s Theorem.
Theorem (Main)
Let G be a nonempty bipartite graph on bipartition ( X , Y ) with
| Y | ≤ 2 | X | and such that every vertex of Y has at least one neighbor in X . Then there exists nonempty subsets X
0
⊆ X and
Y
0 ⊆ Y such that the set of neighbors of Y
0 in G is exactly X
0
, and such that every subset Z in Y
0
⊆ X
0 has at least 2 | Z | neighbors
. In addition, such a pair of subsets X
0
, Y
0 can be computed in polynomial time in the size of G.
Yixin Cao
Theorem
Let G be a bipartite graph on bipartition ( X , Y ) . There exists a polynomial algorithm which computes a subset Z of X such that | N ( Z ) | < 2 | Z | if such a subset Z exists.
Obtained straightforwardly from Hall’s Theorem.
Theorem (Main)
Let G be a nonempty bipartite graph on bipartition ( X , Y ) with
| Y | ≤ 2 | X | and such that every vertex of Y has at least one neighbor in X . Then there exists nonempty subsets X
0
⊆ X and
Y
0 ⊆ Y such that the set of neighbors of Y
0 in G is exactly X
0
, and such that every subset Z in Y
0
⊆ X
0 has at least 2 | Z | neighbors
. In addition, such a pair of subsets X
0
, Y
0 can be computed in polynomial time in the size of G.
Yixin Cao
Outline
1
2
3
4
Yixin Cao
The Main Rule
X : a set of vertices v ∈ V \ X
C : a set of connected components in G \ ( X ∪ v ) d ( v , C ) = 1 for all C ∈ C .
Every C ∈ C induces a tree.
For every subset Z ⊆ X , the number of components of C having some neighbor in Z is at least 2 | Z | .
G
0
: set d ( v , x ) = 2 for all x ∈ X ; d ( v , C ) = 0 for all C ∈ C k
0
:= k .
Yixin Cao
The rule is safe
We show the rule is safe, by showing ( G , k ) and ( G
0
, k
0
) are equivalent instances.
If S
0 is a FVS of G
0
, it is also a FVS of G .
Assume C is a cycle of G \ S
0
, then v ∈ C (or else C is also a cycle in G
0
\ S
0
).
So v 6∈ S
0
, and then X ⊆ S
0
, for every vertex in X has double edges incident to v .
The edge between v and any component of C is a bridge, hence not in C .
So every edge of C belongs to G
0
\ S
0
, contradiction!
Yixin Cao
The rule is safe-2
If S is a FVS of G , the size of FVS of G
0 is no more than | S | .
If v ∈ S , S must also be a FVS of G
0
, for G \ v ≡ G
0
\ v .
Let Y = X \ S , and Z = { s ∈ S | x ∈ C for some C ∈ C} .
Then S
0
= ( S ∪ Y ) \ Z is a FVS of G
0
, since every C ∈ C is a component of G
0 \ S
0
.
For each y ∈ Y , there is at most one neighbor in component C such that C ∈ C and C ∩ Z = φ , or else y , as well as the two components and v makes a cycle.
Total number of components in C with a neighbor in Y is then | Y | + | Z | ≥ 2 | Y | (by definition of X ), so | Z | ≥ | Y | , and
| S
0
| ≤ | S | .
Yixin Cao
Outline
1
2
3
4
Yixin Cao
Theorem
If G is a graph on n vertices with n > 8 k
2
+ k , one can find a reduction rule to apply to G in polynomial time in n.
Proof Sketch.
d ( S ,
¯
) > |
¯
| = 8 k
2
. ( d ( S ,
¯
) + d S ,
¯
) > δ ( G ) ∗ |
¯
| )
∃ x ∈ S such that d ( x ) > 8 k
2
/ | S | = 8 k .(piegonhole principle)
False can be directly return if ∆( G ) ≤ 8 k .
find X ⊆ V \ x with | X | ≤ 2 k such that there is no cycle containing x in
¯
d ( x , X ) ≤ 3 k ( | X | = 2 k and d ( x , x i
) = 2 for i ∈ 1 ..
k while d ( x , x i
) = 1 for i ∈ k + 1 ..
2 k )
Let C be the set of components of G \ (
∪
Yixin Cao
Proof Sketch-continued.
P
C ∈C d ( x , C ) = d ( x ) − d ( x , X ) ≥ 5 k and for each C in C d ( x , C ) ≤ 1. So at least 5 k components of C are joined to
, x , and at least 4 k of them induces trees,(the component
C ∈ C with cycles requires at least one vertex in the FVS, so no more than k .) let Y be the set of these components, then for each C ∈ Y , d ( C , X ) ≥ 1, because C is a tree with minimum degree 3, and then each leaf of C must have an edge incident to X .
Using each C ∈ Y as a special vertex, we can form a bipartite simple graph B on X , Y , where { v , C } ∈ E ( B ) for v ∈ X and C ∈ Y iff d ( v , C ) ≥ 1 in G .
Yixin Cao
Proof Sketch-continued.
Then | Y | ≥ 2 | X | and every element in Y has neighbors in
X
, hence we can apply theorem 4.4 to find nonempty
subsets X
0 ⊆ X and Y
0 ⊆ Y such that neighbors of Y
0 is exactly X
0
, and every subset Z ⊆ X
0 neighbors in Y
0
.
has at least 2 | Z in
|
B and then the main rule applies for every C for every
∈
C
Y
0
∈ is a component of graph G \ ( X
Y
0
, d ( x , C ) = 1 every C ∈ Y
0 spans a tree every Z ⊆ X
0 is linked to at least 2 | Z |
0 ∪ x ) elements of Y
0
.
Remark
The kernel can be further improved to size 4 k
2
Yixin Cao
Summary The basic steps are: find some rules prove their correctness show the bound
Remark (Simple Rules Might work)
Rules do not need to be complicated to be useful. Very simple rules might bring surpring kernel, e.g.
Vertex Cover problem.
Remark (Open Question)
The most interesting open question is: is there a polynomial kernel for the Directed FVS problem?
Yixin Cao
Summary The basic steps are: find some rules prove their correctness show the bound
Remark (Simple Rules Might work)
Rules do not need to be complicated to be useful. Very simple rules might bring surpring kernel, e.g.
Vertex Cover problem.
Remark (Open Question)
The most interesting open question is: is there a polynomial kernel for the Directed FVS problem?
Yixin Cao
Summary The basic steps are: find some rules prove their correctness show the bound
Remark (Simple Rules Might work)
Rules do not need to be complicated to be useful. Very simple rules might bring surpring kernel, e.g.
Vertex Cover problem.
Remark (Open Question)
The most interesting open question is: is there a polynomial kernel for the Directed FVS problem?
Yixin Cao