# Feedback vertex set

In the mathematical discipline of graph theory, a feedback vertex set of a graph is a set of vertices whose removal leaves a graph without cycles. In other words, each feedback vertex set contains at least one vertex of any cycle in the graph. The feedback vertex set problem is an NP-complete problem in computational complexity theory. It was among the first problems shown to be NP-complete. It has wide applications in operating systems, database systems, and VLSI chip design.

## Definition

The decision problem is as follows:

INSTANCE: An (undirected or directed) graph $G=(V,E)$ and a positive integer $k$ .
QUESTION: Is there a subset $X\subseteq V$ with $|X|\leq k$ such that $G$ with the vertices from $X$ deleted is cycle-free?

The graph $G[V\setminus X]$ that remains after removing $X$ from $G$ is an induced forest (resp. an induced directed acyclic graph in the case of directed graphs). Thus, finding a minimum feedback vertex set in a graph is equivalent to finding a maximum induced forest (resp. maximum induced directed acyclic graph in the case of directed graphs).

## NP-hardness

Template:Harvtxt showed that the feedback vertex set problem for directed graphs is NP-complete. The problem remains NP-complete on directed graphs with maximum in-degree and out-degree two, and on directed planar graphs with maximum in-degree and out-degree three. Karp's reduction also implies the NP-completeness of the feedback vertex set problem on undirected graphs, where the problem stays NP-hard on graphs of maximum degree four. The feedback vertex set problem can be solved in polynomial time on graphs of maximum degree at most three.

Note that the problem of deleting as few edges as possible to make the graph cycle-free is equivalent to finding a spanning tree, which can be done in polynomial time. In contrast, the problem of deleting edges from a directed graph to make it acyclic, the feedback arc set problem, is NP-complete.

## Exact algorithms

The corresponding NP optimization problem of finding the size of a minimum feedback vertex set can be solved in time O(1.7347n), where n is the number of vertices in the graph. This algorithm actually computes a maximum induced forest, and when such a forest is obtained, its complement is a minimum feedback vertex set. The number of minimal feedback vertex sets in a graph is bounded by O(1.8638n).Template:Sfnp The directed feedback vertex set problem can still be solved in time O*(1.9977n), where n is the number of vertices in the given directed graph.Template:Sfnp The parameterized versions of the directed and undirected problems are both fixed-parameter tractable.Template:Sfnp

## Approximation

The problem is APX-complete, which directly follows from the APX-completeness of the vertex cover problem, and the existence of an approximation preserving L-reduction from the vertex cover problem to it. The best known approximation algorithm on undirected graphs is by a factor of two.

## Bounds

According to the Erdős–Pósa theorem, the size of a minimum feedback vertex set is within a logarithmic factor of the maximum number of vertex-disjoint cycles in the given graph.Template:Sfnp

## Applications

In operating systems, feedback vertex sets play a prominent role in the study of deadlock recovery. In the wait-for graph of an operating system, each directed cycle corresponds to a deadlock situation. In order to resolve all deadlocks, some blocked processes have to be aborted. A minimum feedback vertex set in this graph corresponds to a minimum number of processes that one needs to abort.Template:Sfnp

Furthermore, the feedback vertex set problem has applications in VLSI chip design.Template:Sfnp