A Cubic Kernel for Feedback Vertex Set Hans L. Bodlaender Department of Information and Computing Sciences Utrecht University The Netherlands 1
Overview Kernels and FPT Kernels and FPT Feedback Vertex Set Feedback Vertex Problem definition Set Problem definition Known results Known results The kernelization The kernelization algorithm algorithm Start with an Start with an approximate FVS approximate FVS Trivial rules Trivial rules Adding double edges Adding double edges Removing vertices Abdication Removing vertices Counting arguments Abdication Conclusions Counting arguments Conclusions 2
Preprocessing and Exact Algorithms Kernels and FPT Feedback Vertex If you want to solve an (NP-)hard problem exactly, in practice, Set one often would Problem definition Known results ◮ First apply preprocessing / simplification: gives equivalent, The kernelization hopefully smaller instance algorithm Start with an ◮ Use a ‘slow’ algorithm (e.g., ILP, branch-and-bound, . . . ) approximate FVS Trivial rules Adding double to solve reduced instance edges Removing vertices ◮ Transform solution for reduced instance to solution for Abdication Counting original instance arguments Conclusions 3
Kernels: simplification quality guarantees ◮ Consider a parameterized problem Q Kernels and FPT Feedback Vertex • Inputs are of form ( I, k ) , k ∈ N . Set • Decision problem Problem definition Known results ◮ Q is said to have a kernel of size f ( k ) , if there is an The algorithm A , that transforms an input ( I, k ) of Q to kernelization algorithm another input ( I ′ , k ′ ) of Q Start with an approximate FVS • A runs in time, polynomial in | I | and k Trivial rules Adding double • Q ( I, k ) ⇔ Q ( I ′ , k ′ ) edges Removing vertices • k ′ ≤ k Abdication • | I ′ | ≤ f ( k ) Counting arguments ◮ I.e., there is a polynomial time preprocessing algorithm Conclusions that obtains equivalent instances of size at most f ( k ) 4
Fixed Parameter Tractability ◮ Downey and Fellows introduced classes of parameterized Kernels and FPT problems Feedback Vertex Set • Problems in FPT ( Fixed Parameter Tractable ) have Problem definition O ( f ( k ) n c ) time algorithm Known results The • Problems hard for W [1] (or W [2] , . . . ) are expected to kernelization require O ( n f ( k ) ) time algorithm Start with an approximate FVS ◮ All problems in FPT have a kernel, possibly of exponential Trivial rules Adding double size edges Removing vertices ◮ Interesting question: which problems have small Abdication Counting (polynomial size) kernels? arguments ◮ Small kernels give us quality guarantees for Conclusions preprocessing/simplification 5
Preventing illegal street races ◮ A gang is having illegal street races Kernels and FPT ◮ We post policemen on street corners, such that on each Feedback Vertex Set circuit of streets, there is a corner with a policeman Problem definition Known results The kernelization algorithm Start with an approximate FVS Trivial rules Adding double edges Removing vertices Abdication Counting arguments Conclusions ◮ How many policemen do we need? 6
Problem definition Feedback Vertex Set Kernels and FPT ◮ Given: Undirected graph G = ( V, E ) , integer k Feedback Vertex ◮ Question: is there a set of vertices W ⊆ V , with G − W a Set Problem definition forest, and | W | ≤ k ? Known results The Applications in genome assembly, VLSI design, constraint kernelization algorithm satisfaction. Start with an approximate FVS Trivial rules Adding double edges Removing vertices Abdication Counting arguments Conclusions Related is the Loop Cut Set problem, used for Pearl’s algorithm for inference on probabilistic networks 7
Known results (1) Kernels and FPT Feedback Vertex Set ◮ NP-complete Problem definition Known results ◮ 2-approximation algorithms (Bafna et al., 1999, Becker The kernelization and Geiger, 1996) algorithm Start with an ◮ O (1 . 8899 n ) algorithm, Razgan 2006 approximate FVS Trivial rules ◮ O (2 9 . 264 √ n ) time on planar graphs (Dorn et al., 2005) Adding double edges Removing vertices Abdication ◮ FPT: many results Counting arguments Conclusions 8
FPT results for FVS Kernels and FPT ◮ O ( f ( k ) n ) time (Bodlaender, 1994) Feedback Vertex Set ◮ (Downey and Fellows, 1999) Problem definition Known results ◮ O (4 k n ) expected, probabilistic algorithm (Becker and The kernelization Geiger, 2000) algorithm Start with an ◮ (Raman et al, 2002); (Kanj et al, 2004); (Raman et al., approximate FVS Trivial rules 2005), (Guo et al., 2005) Adding double edges Removing vertices ◮ O (10 . 567 k p ( n )) time, (Dehne et al. 2006) Abdication Counting ◮ A kernel of size O ( k 11 ) (Burrage et al., 2006) arguments ◮ A kernel of size O ( k 3 ) (this paper) Conclusions 9
Main result Kernels and FPT Theorem Feedback Vertex Set There is a polynomial time algorithm, that given an undirected Problem definition Known results graph G = ( V, E ) , (possibly with parallel edges) and an integer The k , gives a graph G ′ and an integer k ′ , such that k ′ ≤ k , G ′ has kernelization algorithm O ( k 3 ) vertices and edges, and G has a feedback vertex set of Start with an approximate FVS size at most k , if and only if G ′ has a feedback vertex set of Trivial rules Adding double edges size at most k ′ . Removing vertices Abdication ◮ ∃ constructive version: a FVS of G ′ can be translated to a Counting arguments FVS of G . Conclusions 10
Structure of the algorithm Kernels and FPT ◮ Input: Undirected graph G = ( V, E ) , integer k . Feedback Vertex Set ◮ For an easier algorithm, we allow the graph to have parallel Problem definition Known results edges. The ◮ Run 2-approximation algorithm for FVS kernelization algorithm • If it gives FVS of size > 2 k : stop Start with an approximate FVS • Otherwise: we have FVS A of size at most 2 k Trivial rules Adding double ◮ Repeat until no longer possible edges Removing vertices Abdication • Apply a reduction or improvement rule Counting ◮ A counting argument shows that resulting graph has O ( k 3 ) arguments Conclusions vertices and edges 11
Invariants Kernels and FPT Feedback Vertex Set Problem definition Known results ◮ A is a FVS of size at most 2 k . If we decrease k , then The kernelization restart the initialization step on the current graph algorithm Start with an ◮ We maintain a set B ⊆ V − A : B is the set of vertices approximate FVS Trivial rules with a parallel edge to a vertex in A Adding double edges Removing vertices Abdication Counting arguments Conclusions 12
Parallel edges Kernels and FPT ◮ We allow the graph to have parallel edges. Feedback Vertex ◮ If there are two or more edges { v, w } , then each FVS Set Problem definition contains v or w . Known results The kernelization algorithm Start with an approximate FVS Trivial rules Adding double edges Removing vertices Abdication Rule (Parallel edges rule) Counting arguments If there are three or more parallel edges { v, w } , then remove all Conclusions but two of these. 13
Removing low degree vertices Rule (Degree 0 and 1 rule) If v has degree at most one, remove v Kernels and FPT Feedback Vertex Rule (Degree two rule) Set Problem definition Known results If v has degree two, and has neighbors w , x , w � = x , then The remove w and add the edge { w, x } . kernelization algorithm Start with an approximate FVS Trivial rules Adding double edges Removing vertices Abdication Counting arguments If v has degree two, with two edges to w , then remove v and w , Conclusions and decrease k by one. 14
Many paths ◮ If there are at least k + 2 vertex disjoint paths from v to Kernels and FPT w , then each FVS of size at most k contains v or w . Feedback Vertex Set Problem definition Known results v v The kernelization algorithm Start with an approximate FVS Trivial rules Adding double w w edges Removing vertices Abdication Counting Rule (Many paths rule) arguments Conclusions If there are at least k + 2 vertex disjoint paths from v to w , then add a double edge { v, w } . 15
Flowers Rule (Flower rule) Kernels and FPT If there are k + 1 cycles that mutually intersect only in v , then Feedback Vertex remove v from G , and set k = k − 1 . Set Problem definition Known results The kernelization algorithm Start with an approximate FVS Trivial rules Adding double v edges Removing vertices Abdication Counting arguments Conclusions Rule (Large double degree) If v is incident to at least k + 1 double edges, then remove v from G , and set k = k − 1 . 16
Rulers and abdication ◮ G − ( A ∪ B ) is a forest Kernels and FPT ◮ The border of a tree T in this forest is the set of vertices in Feedback Vertex A ∪ B adjacent to T Set Problem definition ◮ Two abdication rules help to remove forests whose border Known results The is a ’double clique’ kernelization algorithm ◮ v ∈ A ∪ B rules tree T , if it has a double edge to each Start with an approximate FVS other vertex in the border of T Trivial rules Adding double edges Removing vertices Abdication Counting arguments A Conclusions 17
Recommend
More recommend