Keywords

1 Introduction

The goal of this paper is to open up a new research direction aimed at understanding the power of preprocessing in speeding up algorithms that solve NP-hard problems exactly [25, 30]. In a nutshell, this new direction can be summarized as: how can an algorithm identify part of an optimal solution in an efficient preprocessing phase? We explore this direction for the classic [36] Feedback Vertex Set problem on undirected graphs, leading to a new graph structure called antler which reveals vertices belonging to an optimal feedback vertex set.

We start by motivating the need for a new direction in the theoretical analysis of preprocessing. The use of preprocessing, often via the repeated application of reduction rules, has long been known [3, 4, 41] to speed up the solution of algorithmic tasks in practice. The introduction of the framework of parameterized complexity [20] in the 1990s made it possible to also analyze the power of preprocessing theoretically, through the notion of kernelization. It applies to parameterized decision problems \(\varPi \subseteq \varSigma ^* \times \mathbb {N}\), in which every instance \(x \in \varSigma ^*\) has an associated integer parameter k which captures one dimension of its complexity. For Feedback Vertex Set, typical choices for the parameter include the size of the desired solution or structural measures of the complexity of the input graph. A kernelization for a parameterized problem \(\varPi \) is then a polynomial-time algorithm that reduces any instance with parameter value k to an equivalent instance, of the same problem, whose total size is bounded by f(k) for some computable function f of the parameter alone. The function f is the size of the kernelization.

A substantial theoretical framework has been built around the definition of kernelization [16, 21, 26, 28, 30]. It includes deep techniques for obtaining kernelization algorithms [11, 27, 37, 40], as well as tools for ruling out the existence of small kernelizations [12, 18, 22, 29, 31] under complexity-theoretic hypotheses. This body of work gives a good theoretical understanding of polynomial-time data compression for NP-hard problems.

However, we argue that these results on kernelization do not explain the often exponential speed-ups (e.g. [3], [5, Table 6]) caused by applying effective preprocessing steps to non-trivial algorithms. Why not? A kernelization algorithm guarantees that the input size is reduced to a function of the parameter k; but the running time of modern parameterized algorithms for NP-hard problems is not exponential in the total input size. Instead, fixed-parameter tractable (FPT) algorithms have a running time that scales polynomially with the input size, and which only depends exponentially on a problem parameter such as the solution size or treewidth. Hence an exponential speed-up of such algorithms cannot be explained by merely a decrease in input size, but only by a decrease in the parameter!

We therefore propose the following novel research direction: to investigate how preprocessing algorithms can decrease the parameter value (and hence search space) of FPT algorithms, in a theoretically sound way. It is nontrivial to phrase meaningful formal questions in this direction. To illustrate this difficulty, note that strengthening the definition of kernelization to “a preprocessing algorithm that is guaranteed to always output an equivalent instance of the same problem with a strictly smaller parameter” is useless. Under minor technical assumptions, such an algorithm would allow the problem to be solved in polynomial time by repeatedly reducing the parameter, and solving the problem using an FPT or XP algorithm once the parameter value becomes constant. Hence NP-hard problems do not admit such parameter-decreasing algorithms. To formalize a meaningful line of inquiry, we take our inspiration from the Vertex Cover problem, the fruit fly of parameterized algorithms.

A rich body of theoretical and applied algorithmic research has been devoted to the exact solution of the Vertex Cover problem [5, 23, 32, 33]. A standard 2-way branching algorithm can test whether a graph G has a vertex cover of size k in time \(\mathcal {O} (2^k (n+m))\), which can be improved by more sophisticated techniques [14]. The running time of the algorithm scales linearly with the input size, and exponentially with the size k of the desired solution. This running time suggests that to speed up the algorithm by a factor 1000, one either has to decrease the input size by a factor 1000, or decrease k by \(\log _2 (1000) \approx 10\).

It turns out that state-of-the-art preprocessing strategies for Vertex Cover indeed often succeed in decreasing the size of the solution that the follow-up algorithm has to find, by means of crown-reduction [2, 15, 24], or the intimately related Nemhauser-Trotter reduction based on the linear-programming relaxation [39]. Recall that a vertex cover in a graph G is a set \(S \subseteq V(G)\) such that each edge has at least one endpoint in S. Observe that if \(H \subseteq V(G)\) is a set of vertices with the property that there exists a minimum vertex cover of G containing all of H, then G has a vertex cover of size k if and only if \(G - H\) has a vertex cover of size \(k - |H|\). Therefore, if a preprocessing algorithm can identify a set of vertices H which are guaranteed to belong to an optimal solution, then it can effectively reduce the parameter of the problem by restricting to a search for a solution of size \(k - |H|\) in \(G-S\).

A crown decomposition (cf. [1, 15, 24], [16, §2.3], [28, §4]) of a graph G serves exactly this purpose. It consists of two disjoint vertex sets \((\textsf{head},\textsf{crown})\), such that \(\textsf{crown} \) is a non-empty independent set whose neighborhood is contained in \(\textsf{head} \), and such that the graph \(G[\textsf{head} \cup \textsf{crown} ]\) has a matching M of size \(|\textsf{head} |\). As \(\textsf{crown} \) is an independent set, the matching M assigns to each vertex of \(\textsf{head} \) a private neighbor in \(\textsf{crown} \). It certifies that any vertex cover in G contains at least \(|\textsf{head} |\) vertices from \(\textsf{head} \cup \textsf{crown} \), and as \(\textsf{crown} \) is an independent set with \(N_G(\textsf{crown}) \subseteq \textsf{head} \), a simple exchange argument shows there is indeed an optimal vertex cover in G containing all of \(\textsf{head} \) and none of \(\textsf{crown} \). Since there is a polynomial-time algorithm to find a crown decomposition if one exists [2, Thm. 11–12], this yields the following preprocessing guarantee for Vertex Cover: if the input instance (Gk) has a crown decomposition \((\textsf{head},\textsf{crown})\), then a polynomial-time algorithm can reduce the problem to an equivalent one with parameter at most \(k - |\textsf{head} |\), thereby giving a formal guarantee on reduction in the parameter based on the structure of the input.Footnote 1

As the first step of our proposed research program into parameter reduction (and thereby, search space reduction) by a preprocessing phase, we present a graph decomposition for Feedback Vertex Set which can identify vertices S that belong to an optimal solution; and which therefore facilitate a reduction from finding a solution of size k in graph G, to finding a solution of size \(k - |S|\) in \(G - S\). While there has been a significant amount of work on kernelization for Feedback Vertex Set [10, 13, 34, 35, 42], the corresponding preprocessing algorithms do not succeed in finding vertices that belong to an optimal solution, other than those for which there is a self-loop or those which form the center a flower (consisting of \(k+1\) otherwise vertex-disjoint cycles [10, 13, 42], or a technical relaxation of this notion [34]). In particular, apart from the trivial self-loop rule, earlier preprocessing algorithms can only conclude a vertex v belongs to all optimal solutions (of a size k which must be given in advance) if they find a suitable packing of cycles witnessing that solutions without v must have size larger than k. In contrast, our argumentation will be based on local exchange arguments, which can be applied independently of the global solution size k.

We therefore introduce a new graph decomposition for preprocessing Feedback Vertex Set. To motivate it, we distill the essential features of a crown decomposition. Effectively, a crown decomposition of G certifies that G has a minimum vertex cover containing all of \(\textsf{head} \), because (i) any vertex cover has to pick at least \(|\textsf{head} |\) vertices from \(\textsf{head} \cup \textsf{crown} \), as the matching M certifies that \(\textsc {vc}(G[\textsf{head} \cup \textsf{crown} ]) \ge |\textsf{head} |\), while (ii) any minimum vertex cover \(S'\) in \(G - (\textsf{head} \cup \textsf{crown})\) yields a minimum vertex cover \(S' \cup \textsf{head} \) in G, since \(N_G(\textsf{crown}) \subseteq \textsf{head} \) and \(\textsf{crown} \) is an independent set. To obtain similar guarantees for Feedback Vertex Set, we need a decomposition to supply disjoint vertex sets \((\textsf{head}, \textsf{antler})\) such that (i) any minimum feedback vertex set contains at least \(|\textsf{head} |\) vertices from \(\textsf{head} \cup \textsf{antler} \), and (ii) any minimum feedback vertex set \(S'\) in \(G - (\textsf{head} \cup \textsf{antler})\) yields a minimum feedback vertex set \(S' \cup \textsf{head} \) in G. To achieve (i), it suffices for \(G[\textsf{head} \cup \textsf{antler} ]\) to contain a set of \(|\textsf{head} |\) vertex-disjoint cycles; to achieve (ii), it suffices for \(G[\textsf{antler} ]\) to be acyclic, with each tree T of the forest \(G[\textsf{antler} ]\) connected to the remainder \(V(G) \setminus (\textsf{head} \cup \textsf{antler})\) by at most one edge (implying that all cycles through \(\textsf{antler} \) intersect \(\textsf{head} \)). We call such a decomposition a 1-antler. Here antler refers to the shape of the forest \(G[\textsf{antler} ]\), which no longer consists of isolated spikes of a crown (see Fig. 1 in the full version [19]). The prefix 1 indicates it is the simplest type of antler; we present a generalization later. An antler is non-empty if \(\textsf{head} \cup \textsf{antler} \ne \emptyset \), and the width of the antler is defined to be \(|\textsf{head} |\).

Unfortunately, assuming \(\textsf{P}\) \(\ne \) \(\textsf{NP}\) there is no polynomial-time algorithm that always outputs a non-empty 1-antler if one exists. We prove this in the full version [19]. However, for the purpose of making a preprocessing algorithm that reduces the search space, we can allow FPT time in a parameter such as \(|\textsf{head} |\) to find a decomposition. Each fixed choice of \(|\textsf{head} |\) would then correspond to a reduction rule which identifies a small (\(|\textsf{head} |\)-sized) part of an optimal feedback vertex set, for which there is a simple certificate for it being part of an optimal solution. Such a reduction rule can then be iterated in the preprocessing phase, thereby potentially decreasing the target solution size (and search space) by an arbitrarily large amount. Hence we consider the parameterized complexity of testing whether a graph admits a non-empty 1-antler with \(|\textsf{head} | \le k\), parameterized by k. On the one hand, we show this problem to be W[1]-hard in the full version [19]. This hardness turns out to be a technicality based on the forced bound on \(|\textsf{head} |\), though. We provide the following FPT algorithm which yields a search-space reducing preprocessing step.

Theorem 1

There is an algorithm that runs in \(2^{\mathcal {O} (k^5)} \cdot n^{\mathcal {O} (1)}\) time that, given an undirected multigraph G on n vertices and integer k, either correctly determines that G does not admit a non-empty 1-antler of width at most k, or outputs a set S of at least k vertices such that there exists an optimal feedback vertex set in G containing all vertices of S.

Hence if the input graph admits a non-empty 1-antler of width at most k, the algorithm is guaranteed to find at least k vertices that belong to an optimal feedback vertex set, thereby reducing the search space.

Based on this positive result, we go further and generalize our approach beyond 1-antlers. For a 1-antler \((\textsf{head}, \textsf{antler})\) in G, the set of \(|\textsf{head} |\) vertex-disjoint cycles in \(G[\textsf{head} \cup \textsf{antler} ]\) forms a very simple certificate that any feedback vertex set of G contains at least \(|\textsf{head} |\) vertices from \(\textsf{head} \cup \textsf{antler} \). We can generalize our approach to identify part of an optimal solution, by allowing more complex certificates of optimality. The following interpretation of a 1-antler is the basis of the generalization: for a 1-antler \((\textsf{head}, \textsf{antler})\) in G, there is a subgraph \(G'\) of \(G[\textsf{head} \cup \textsf{antler} ]\) (formed by the \(|\textsf{head} |\) vertex-disjoint cycles) such that \(V(G') \supseteq \textsf{head} \) and \(\textsf{head} \) is an optimal feedback vertex set of \(G'\); and furthermore this subgraph \(G'\) is simple because all its connected components, being cycles, have a feedback vertex set of size 1. For an arbitrary integer z, we therefore define a z-antler in an undirected multigraph graph G as a pair of disjoint vertex sets \((\textsf{head}, \textsf{antler})\) such that (i) any minimum feedback vertex set in G contains at least \(|\textsf{head} |\) vertices from \(\textsf{head} \cup \textsf{antler} \), as witnessed by the fact that \(G[\textsf{head} \cup \textsf{antler} ]\) has a subgraph \(G'\) for which \(\textsf{head} \) is an optimal feedback vertex set and with each component of \(G'\) having a feedback vertex set of size at most z; and (ii) the graph \(G[\textsf{antler} ]\) is acyclic, with each tree T of the forest \(G[\textsf{antler} ]\) connected to the remainder \(V(G) \setminus (\textsf{head} \cup \textsf{antler})\) by at most one edge. (So condition (ii) is not changed compared to a 1-antler.) Our main result is the following.

Theorem 2

There is an algorithm that runs in \(2^{\mathcal {O} (k^5 z^2)} \cdot n^{\mathcal {O} (z)}\) time that, given an undirected multigraph G on n vertices and integers \(k \ge z \ge 0\), either correctly determines that G does not admit a non-empty z-antler of width at most k, or outputs a set S of at least k vertices such that there exists an optimal feedback vertex set in G containing all vertices of S.

In fact, we prove a slightly stronger statement. If a graph G can be reduced to a graph \(G'\) by iteratively removing z-antlers, each of width at most k, and the sum of the widths of this sequence of antlers is t, then we can find in time \(f(k,z) \cdot n^{\mathcal {O} (z)}\) a subset of at least t vertices of G that belong to an optimal feedback vertex set. This implies that if a complete solution to Feedback Vertex Set can be assembled by iteratively combining \(\mathcal {O} (1)\)-antlers of width at most k, then the entire solution can be found in time \(f'(k) \cdot n^{\mathcal {O} (1)}\). Hence our work uncovers a new parameterization in terms of the complexity of the solution structure, rather than its size, in which Feedback Vertex Set is fixed-parameter tractable.

Our algorithmic results are based on a combination of graph reduction and color coding. We use reduction steps inspired by the kernelization algorithms [10, 42] for Feedback Vertex Set to bound the size of \(\textsf{antler} \) in the size of \(\textsf{head} \). After such reduction steps, we use color coding [6] to help identify antler structures. A significant amount of effort goes into proving that the reduction steps preserve antler structures and the optimal solution size.

2 Preliminaries

Due to space restrictions, proofs of statements marked \(\bigstar \) have been deferred to the appendix. For any family of sets \(X_1,\ldots ,X_\ell \) indexed by \(\{1,\ldots ,\ell \}\) we define for all \(1 \le i \le \ell \) the following \(X_{<i} := \bigcup _{1 \le j < i} X_j\), \(X_{>i} := \bigcup _{i < j \le \ell } X_j\), \(X_{\le i} := X_i \cup X_{<i}\) and \(X_{\ge i} := X_i \cup X_{>i}\). For a function \(f :A \rightarrow B\), let \(f^{-1} :B \rightarrow 2^A\) denote the preimage function of f, that is \(f^{-1}(a) = \{b \in B \mid f(b) = a\}\).

All graphs considered in this paper are undirected multigraphs, which may have loops. Based on the incidence representation of multigraphs we represent a multigraph G by a vertex set V(G), an edge set E(G), and a function \(\iota :E(G) \rightarrow 2^{V(G)}\) where \(\iota (e)\) is the set of one or two vertices incident to e for all \(e \in E(G)\). In the context of an algorithm with input graph G we use \(n = |V(G)|\) and \(m = |E(G)|\). We assume we can retrieve and update number of edges between two vertices in constant time, hence we can ensure in \(\mathcal {O} (n^2)\) time that there are at most two edges between any to vertices, meaning \(m \in \mathcal {O} (n^2)\). For a vertex set \(X \subseteq V(G)\) let G[X] denote the subgraph of G induced by X. For a set of vertices and edges \(Y \subseteq V(G) \cup E(G)\) let \(G-Y\) denote the graph obtained from \(G[V(G)\setminus Y]\) by removing all edges in Y. For a singleton set \(\{v\}\) we write \(G - v\) instead of \(G - \{v\}\). For two graphs G and H the graph \(G \,\cap \, H\) is the graph on vertex set \(V(G) \,\cap \, V(H)\) and edge set \(E(G) \,\cap \, E(H)\). For \(v \in V(G)\) the open neighborhood of v in G is \(N_G(v) := \{u \in V(G) \mid \exists e \in E(G) :\{u,v\} = \iota (e)\}\). For \(X \subseteq V(G)\) let \(N_G(X) := \bigcup _{v \in X} N_G(v) \setminus X\). The degree \(\deg _G(v)\) of a vertex v in G is the number of edge-endpoints incident to v, where a self-loop contributes two endpoints. For two disjoint vertex sets \(X,Y \subseteq V(G)\) the number of edges in G with one endpoint in X and another in Y is denoted by e(XY). To simplify the presentation, in expressions involving \(N_G(..)\) and e(.., ..) we may use a subgraph H as argument instead of the set V(H) that is formally needed.

3 Feedback Vertex Cuts and Antlers

In this section we present properties of antlers and related structures. A Feedback Vertex Set (FVS) in a graph G is a vertex set \(X \subseteq V(G)\) such that \(G-S\) is acyclic. The feedback vertex number of a graph G, denoted by \(\textsc {fvs}(G)\), is the minimum size of a FVS in G. A Feedback Vertex Cut (FVC) in a graph G is a pair of disjoint vertex sets (CF) such that \(C,F \subseteq V(G)\), G[F] is a forest, and for each tree T in G[F] we have \(e(T,G-(C\cup F)) \le 1\). The width of a FVC (CF) is |C|, and (CF) is empty if \(|C \cup F| = 0\). The set C intersects any cycle that contains a vertex from F, explaining the name Feedback Vertex Cut.

Observation 1

If (CF) is a FVC in G then any cycle in G containing a vertex from F also contains a vertex from C. The set C is a FVS in \(G[C \cup F]\), hence .

Observation 2

If (CF) is a FVC in G then for any \(X \subseteq V(G)\) we have that \((C\setminus X, F \setminus X)\) is a FVC in \(G-X\). Additionally, for any \(Y \subseteq E(G)\) we have that (CF) is a FVC in \(G-Y\).

We now present one of the main concepts for this work. An antler in a graph G is a FVC (CF) in G such that . Then by Observation 1 the set C is a minimum FVS in \(G[C \cup F]\) and no cycle in \(G-C\) contains a vertex from F. We observe:

Observation 3

If (CF) is an antler in G, then .

For a graph G and vertex set \(C \subseteq V(G)\), a C-certificate is a subgraph H of G such that C is a minimum FVS in H. We say a C-certificate has order z if for each component \(H'\) of H we have . For an integer \(z\ge 0\), a z-antler in G is an antler (CF) in G such that \(G[C \cup F]\) contains a C-certificate of order z. Note that a 0-antler has width 0.

Observation 4

If (CF) is a z-antler in G for some \(z\ge 0\), then for any \(X \subseteq C\), we have that \((C\setminus X,F)\) is a z-antler in \(G - X\).

While antlers may intersect in non-trivial ways, the following proposition relates the sizes of the cross-intersections.

Proposition 1

(\(\bigstar \)). If \((C_1,F_1)\) and \((C_2,F_2)\) are antlers in G, then \(|C_1 \,\cap \, F_2| = |C_2 \,\cap \, F_1|\).

Lemma 1 shows that what remains of a z-antler \((C_1,F_1)\) when removing a different antler \((C_2,F_2)\), again forms a smaller z-antler. We will rely on this lemma repeatedly to ensure that after having found and removed an incomplete fragment of a width-k z-antler, the remainder of that antler persists as a z-antler to be found later.

Lemma 1

(\(\bigstar \)). For any integer \(z\ge 0\), if a graph G has a z-antler \((C_1,F_1)\) and another antler \((C_2,F_2)\), then \((C_1 \setminus (C_2 \cup F_2), F_1 \setminus (C_2 \cup F_2))\) is a z-antler in \(G-(C_2 \cup F_2)\).

Lemma 2 shows that we can consider consecutive removal of two z-antlers as the removal of a single z-antler.

Lemma 2

(\(\bigstar \)). For any integer \(z\ge 0\), if a graph G has a z-antler \((C_1,F_1)\) and \(G-(C_1 \cup F_1)\) has a z-antler \((C_2,F_2)\) then \((C_1 \cup C_2, F_1 \cup F_2)\) is a z-antler in G.

The last structural property of antlers, given in Lemma 3, derives a bound on the number of trees of a forest G[F] needed to witness that C is an optimal FVS of \(G[C \cup F]\).

Lemma 3

(\(\bigstar \)). Let (CF) be a z-antler in a graph G for some \(z \ge 0\). There exists an \(F' \subseteq F\) such that \((C,F')\) is a z-antler in G and \(G[F']\) has at most \(\frac{|C|}{2}(z^2+2z-1)\) trees.

4 Finding Feedback Vertex Cuts

As described in Sect. 1, our algorithm to identify vertices in antlers uses color coding. To allow a relatively small family of colorings to identify an entire antler structure (CF) with \(|C| \le k\), we need to bound |F| in terms of k as well. We therefore use several graph reduction steps. In this section, we show that if there is a width-k antler whose forest F is significantly larger than k, then we can identify a reducible structure in the graph. To identify a reducible structure we will also use color coding. In Sect. 5 we show how to reduce such a structure while preserving antlers and optimal feedback vertex sets.

Define the function \(f_r :\mathbb {N} \rightarrow \mathbb {N}\) as \(f_r(x) = 2x^3+3x^2-x\). We say a FVC (CF) is reducible if \(|F| > f_r(|C|)\), and (CF) is a single-tree FVC if G[F] is connected.

Definition 1

A FVC (CF) is simple if \(|F| \le 2f_r(|C|)\) and one of the following holds: (a) G[F] is connected, or (b) all trees in G[F] have a common neighbor v and there exists a single-tree FVC \((C,F_2)\) with \(v \in F_2 \setminus F\) and \(F \subseteq F_2\).

In the full version [19] we show that if a graph G contains a single-tree reducible FVC (CF), then G contains a simple reducible FVC \((C,F')\). In turn, such a simple reducible FVC can be found using color coding. A vertex coloring of G is a function \(\chi :V(G) \rightarrow \{\mathsf {\dot{C}},\mathsf {\dot{F}} \}\). We say a simple FVC (CF) is properly colored by a coloring \(\chi \) if \(F \subseteq \chi ^{-1}(\mathsf {\dot{F}})\) and \(C \cup N_G(F) \subseteq \chi ^{-1}(\mathsf {\dot{C}})\).

Lemma 4

(\(\bigstar \)). Given a graph G and coloring \(\chi \) of G that properly colors a simple reducible FVC (CF), a reducible FVC \((C',F')\) can be found in \(\mathcal {O} (n^3)\) time.

It can be shown that whether a FVC of width k is properly colored is determined by at most \(1+k+2f_r(k) = \mathcal {O} (k^3)\) relevant vertices. By creating an \((n,\mathcal {O} (k^3))\)-universal set for V(G) using [16, Theorem 5.20], we can obtain in \(2^{\mathcal {O} (k^3)} \cdot n \log n\) time a set of \(2^{\mathcal {O} (k^3)} \cdot \log n\) colorings that contains a coloring for each possible assignment of colors for these relevant vertices. By applying Lemma 4 for each coloring we obtain the following lemma:

Lemma 5

(\(\bigstar \)). There exists an algorithm that, given a graph G and an integer k, outputs a (possibly empty) FVC (CF) in G. If G contains a reducible single-tree FVC of width at most k then (CF) is reducible. The algorithm runs in time \(2^{\mathcal {O} (k^3)} \cdot n^3 \log n\).

5 Reducing Feedback Vertex Cuts

We apply reduction operations inspired by [10, 42] on the subgraph \(G[C \cup F]\) for a FVC (CF) in G. We give 5 reduction operations and show at least one is applicable if \(|F| > f_r(|C|)\). The operations reduce the number of vertices \(v \in F\) with \(\deg _G(v) < 3\) or reduce e(CF). The following lemma shows that this is sufficient to reduce the size of F.

Lemma 6

(\(\bigstar \)). Let G be a multigraph with minimum degree at least 3 and let (CF) be a FVC in G. We have \(|F| \le e(C,F)\).

Next, we give the reduction operations. These operations apply to a graph G and yield a new graph \(G'\) and vertex set \(S \subseteq V(G)\setminus V(G')\). An operation with output \(G'\) and S is FVS-safe if for any minimum feedback vertex set \(S'\) of \(G'\), the set \(S \cup S'\) is a minimum feedback vertex set of G. An operation is antler-safe if for all \(z\ge 0\) and any z-antler (CF) in G, there exists a z-antler \((C',F')\) in \(G'\) with \(C' \cup F' = (C \cup F) \,\cap \, V(G')\) and \(|C'| = |C| - |(C \cup F) \,\cap \, S|\).

Operation 1

If \(u,v \in V(G)\) are connected by more than two edges, remove all but two of these edges to obtain \(G'\) and take \(S := \emptyset \).

Operation 2

If \(v \in V(G)\) has degree exactly 2 and no self-loop, obtain \(G'\) by removing v from G and adding an edge e with \(\iota (e) = N_G(v)\). Take \(S := \emptyset \).

Operations 1 and 2 are well established and FVS-safe. Additionally Operation 1 can easily be seen to be antler-safe. To see that Operation 2 is antler-safe, consider a z-antler (CF) in G for some \(z\ge 0\). If \(v \not \in C\) it is easily verified that \((C,F\setminus \{v\})\) is a z-antler in \(G'\). If \(v \in C\) pick a vertex \(u \in N_G(v) \,\cap \, F\) and observe that \((\{u\} \cup C \setminus \{v\}, F \setminus \{u\})\) is a z-antler in \(G'\).

Operation 3

If (CF) is an antler in G, then \(G' := G - (C \cup F)\) and \(S := C\).

Operation 4

If (CF) is a FVC in G and for some \(v \in C\) the graph \(G[F \cup \{v\}]\) contains a v-flower of order \(|C|+1\), then \(G' := G - v\) and \(S := \{v\}\).

Operation 5

If (CF) is a FVC in G, \(v \in C\), and \(X \subseteq F\) such that \(G[F \cup \{v\}] - X\) is acyclic, and if T is a tree in \(G[F]-X\) containing a vertex \(w \in N_G(v)\) such that for each \(u \in N_G(T)\setminus \{v\}\) there are more than |C| other trees \(T' \ne T\) in \(G[F]-X\) for which \(\{u,v\} \subseteq N_G(T')\), then take \(S := \emptyset \) and obtain \(G'\) by removing the unique edge between v and w, and adding double-edges between v and u for all \(u \in N_G(V(T))\setminus \{v\}\).

In the full version [19] we prove that the last three operations are both FVS-safe and antler-safe. Finally we show that when we are given a reducible FVC (CF) in G, then we can find and apply an operation in \(\mathcal {O} (n^2)\) time. With a more careful analysis better running time bounds can be shown, but this does not affect the final running time of the main algorithm.

Lemma 7

(\(\bigstar \)). Given a graph G and a reducible FVC (CF) in G, we can find and apply an operation in \(\mathcal {O} (n^2)\) time.

6 Finding and Removing Antlers

We will find antlers using color coding, using coloring functions of the form \(\chi :V(G) \cup E(G) \rightarrow \{\mathsf {\dot{F}},\mathsf {\dot{C}},\mathsf {\dot{R}} \}\). For all \(c \in \{\mathsf {\dot{F}}, \mathsf {\dot{C}}, \mathsf {\dot{R}} \}\) let \(\chi ^{-1}_V(c) = \chi ^{-1}(c) \,\cap \, V(G)\). For any integer \(z\ge 0\), a z-antler (CF) in a graph G is z-properly colored by a coloring \(\chi \) if all of the following hold: (i) \(F \subseteq \chi ^{-1}_V(\mathsf {\dot{F}})\), (ii) \(C \subseteq \chi ^{-1}_V(\mathsf {\dot{C}})\), (iii) \(N_G(F)\setminus C \subseteq \chi ^{-1}_V(\mathsf {\dot{R}})\), and (iv) \(G[C \cup F] - \chi ^{-1}(\mathsf {\dot{R}})\) is a C-certificate of order z. Recall that \(\chi ^{-1}(\mathsf {\dot{R}})\) can contain edges as well as vertices so for any subgraph H of G the graph \(H - \chi ^{-1}(\mathsf {\dot{R}})\) is obtained from H by removing both vertices and edges. It can be seen that if (CF) is a z-antler, then there exists a coloring that z-properly colors it. Consider for example a coloring where a vertex v is colored \(\mathsf {\dot{C}}\) (resp. \(\mathsf {\dot{F}}\)) if \(v \in C\) (resp. \(v \in F\)), all other vertices are colored \(\mathsf {\dot{R}}\), and for some C-certificate H of order z in \(G[C \cup F]\) all edges in H have color \(\mathsf {\dot{F}}\) and all other edges have color \(\mathsf {\dot{R}}\).

Lemma 8

(\(\bigstar \)).\(n^{\mathcal {O} (z)}\) time algorithm exists taking as input an integer \(z\ge 0\), a graph G, and a coloring \(\chi \) and producing as output a z-antler (CF) in G, such that for any z-antler \((\hat{C},\hat{F})\) that is z-properly colored by \(\chi \) we have \(\hat{C} \subseteq C\) and \(\hat{F} \subseteq F\).

If a graph G contains a reducible single-tree FVC of width at most k then we can find and apply an operation by Lemma 5 and 7. If G does not contain such a FVC, but G does contain a non-empty z-antler (CF) of width at most k, then using Lemma 3 we can prove that whether (CF) is z-properly colored is determined by the color of at most \(26 k^5 z^2\) relevant vertices and edges. Using two \((n+m,26 k^5 z^2)\)-universal sets, we can create a set of colorings that is guaranteed to contain a coloring that z-properly colors (CF). Using Lemma 8 we find a non-empty z-antler and apply Operation 3. We obtain the following:

Lemma 9

(\(\bigstar \)). Given a graph G and integers \(k \ge z \ge 0\). If G contains a non-empty z-antler of width at most k we can find and apply an operation in \(2^{\mathcal {O} (k^5 z^2)} \cdot n^{\mathcal {O} (z)}\) time.

Note that applying an operation reduces the number of vertices or increases the number of double-edges. Hence by repeatedly using Lemma 9 to apply an operation we obtain, after at most \(\mathcal {O} (n^2)\) iterations, a graph in which no operation applies. By Lemma 9 this graph does not contain a non-empty z-antler of width at most k. Further analysis shows that this method reduces the solution size at least as much as iteratively removing z-antlers of width at most k. This is described in Theorem 3. By taking \(t=1\) we obtain Theorem 2.

Theorem 3

(\(\bigstar \)). Given as input a graph G and integers \(k\ge z \ge 0\) we can find in \(2^{\mathcal {O} (k^5 z^2)} \cdot n^{\mathcal {O} (z)}\) time a vertex set \(S \subseteq V(G)\) such that

  1. 1.

    there is a minimum FVS in G containing all vertices of S, and

  2. 2.

    if \(C_1, F_1, \ldots , C_t, F_t\) is a sequence of disjoint vertex sets with for all \(1 \le i \le t\) the pair \((C_{i}, F_{i})\) is a z-antler of width at most k in \(G - (C_{<i} \cup F_{<i})\), then \(|S| \ge |C_{\le t}|\).

As a corollary to this theorem, we obtain a new type of parameterized-tractability result for Feedback Vertex Set. For an integer z, let the z-antler complexity of fvs on G be the minimum number k for which there exists a (potentially long) sequence \(C_1, F_1, \ldots , C_t, F_t\) of disjoint vertex sets such that for all \(1 \le i \le t\), the pair \((C_{i}, F_{i})\) is a z-antler of width at most k in \(G - (C_{<i} \cup F_{<i})\), and such that \(G - (C_{\le t} \cup F_{\le t})\) is acyclic (implying that \(C_{\le t}\) is a feedback vertex set in G). If no such sequence exists, the z-antler complexity of G is \(+\infty \).

Intuitively, Corollary 1 states that optimal solutions can be found efficiently when they are composed out of small pieces, each of which has a low-complexity certificate for belonging to some optimal solution.

Corollary 1

(\(\bigstar \)). There is an algorithm that, given a graph G, returns an optimal feedback vertex set in time \(f(k^*) \cdot n^{\mathcal {O} (z^*)}\), where \((k^*,z^*)\) is any pair of integers such that the \(z^*\)-antler complexity of G is at most \(k^*\).

To conclude, we reflect on the running time of Corollary 1 compared to running times of the form  obtained by FPT algorithms for the parameterization by solution size. If we exhaustively apply Lemma 7 with the FVC \((C,V(G)\setminus C)\), where C is obtained from a 2-approximation algorithm [9], then this gives an antler-safe kernelization: it reduces the graph as long as the graph is larger than \(f_r(|C|)\). This opening step reduces the instance size to  without increasing the antler complexity. As observed before, after applying \(\mathcal {O} (n^2)\) operations we obtain a graph in which no operations can be applied. This leads to a running time of \(\mathcal {O} (n^4)\) of the kernelization. Running Theorem 3 to solve the reduced instance yields a total running time of . This is asymptotically faster than  when and , which captures the intuitive idea sketched above that our algorithmic approach has an advantage when there is an optimal solution that is large but composed of small pieces for which there are low-complexity certificates.

7 Conclusion

We have taken the first steps of a research program to investigate how and when a preprocessing phase can guarantee to identify parts of an optimal solution to an NP-hard problem, thereby reducing the search space of the follow-up algorithm. Aside from the technical results concerning antler structures for Feedback Vertex Set and their algorithmic properties, we consider the conceptual message of this research program an important contribution of our theoretical work on understanding the power of preprocessing and the structure of solutions to NP-hard problems.

This line of investigation opens up a host of opportunities for future research. For combinatorial problems such as Vertex Planarization, Odd Cycle Transversal, and Directed Feedback Vertex Set, which kinds of substructures in inputs allow parts of an optimal solution to be identified by an efficient preprocessing phase? Is it possible to give preprocessing guarantees not in terms of the size of an optimal solution, but in terms of measures of the stability [7, 8, 17] of optimal solutions under small perturbations? Some questions also remain open concerning the concrete technical results in the paper. Can the running time of Theorem 2 be improved to \(f(k) \cdot n^{\mathcal {O} (1)}\)? We conjecture that it cannot, but have not been able to prove this.