Linear-time Kernelization for Feedback Vertex Set

Yoichi Iwata
8/4/2016
cs.DS

Official code: wata-orz/fvs (11 stars, MIT, last commit 2018-11-01).

Abstract

In this paper, we propose an algorithm that, given an undirected graph $G$ of $m$ edges and an integer $k$, computes a graph $G'$ and an integer $k'$ in $O(k^4 m)$ time such that (1) the size of the graph $G'$ is $O(k^2)$, (2) $k'\leq k$, and (3) $G$ has a feedback vertex set of size at most $k$ if and only if $G'$ has a feedback vertex set of size at most $k'$. This is the first linear-time polynomial-size kernel for Feedback Vertex Set. The size of our kernel is $2k^2+k$ vertices and $4k^2$ edges, which is smaller than the previous best of $4k^2$ vertices and $8k^2$ edges. Thus, we improve the size and the running time simultaneously. We note that under the assumption of $\mathrm{NP}\not\subseteq\mathrm{coNP}/\mathrm{poly}$, Feedback Vertex Set does not admit an $O(k^{2-ε})$-size kernel for any $ε>0$. Our kernel exploits $k$-submodular relaxation, which is a recently developed technique for obtaining efficient FPT algorithms for various problems. The dual of $k$-submodular relaxation of Feedback Vertex Set can be seen as a half-integral variant of $A$-path packing, and to obtain the linear-time complexity, we propose an efficient augmenting-path algorithm for this problem. We believe that this combinatorial algorithm is of independent interest. A solver based on the proposed method won first place in the 1st Parameterized Algorithms and Computational Experiments (PACE) challenge.

View on arXivView PDF

Code Implementations(1)

wata-orz/fvsOfficial100%
MIT

feedback vertex set solver

111Java, ShellAug 1, 20167 years agoMIT

Cite this paper

@article{iwata2016lineartime,
  title  = {Linear-time Kernelization for Feedback Vertex Set},
  author = {Yoichi Iwata},
  year   = {2016},
  eprint = {1608.01463},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1608.01463}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1608.01463.svg)](https://codeofpaper.com/paper/1608.01463)

Discussion