# Exact Localisations of Feedback Sets

- 672 Downloads

## Abstract

The *feedback arc (vertex) set problem*, shortened FASP (FVSP), is to transform a given multi digraph *G* = (*V*, *E*) into an acyclic graph by deleting as few arcs (vertices) as possible. Due to the results of Richard M. Karp in 1972 it is one of the classic NP-complete problems. An important contribution of this paper is that the subgraphs *G* _{el}(*e*), *G* _{si}(*e*) of all *elementary cycles* or *simple cycles* running through some arc *e* ∈ *E*, can be computed in \(\mathcal {O}\big (|E|^{2}\big )\) and \(\mathcal {O}(|E|^{4})\), respectively. We use this fact and introduce the notion of the *essential minor* and *isolated cycles*, which yield a priori problem size reductions and in the special case of so called *resolvable graphs* an exact solution in \(\mathcal {O}(|V||E|^{3})\). We show that weighted versions of the FASP and FVSP possess a Bellman decomposition, which yields exact solutions using a dynamic programming technique in times \(\mathcal {O}\big (2^{m}|E|^{4}\log (|V|)\big )\) and \(\mathcal {O}\big (2^{n}\Delta (G)^{4}|V|^{4}\log (|E|)\big )\), where *m* ≤|*E*|−|*V* | + 1, *n* ≤ (Δ(*G*) − 1)|*V* |−|*E*| + 1, respectively. The parameters *m*, *n* can be computed in \(\mathcal {O}(|E|^{3})\), \(\mathcal {O}(\Delta (G)^{3}|V|^{3})\), respectively and denote the maximal dimension of the cycle space of all appearing *meta graphs*, decoding the intersection behavior of the cycles. Consequently, *m*, *n* equal zero if all meta graphs are trees. Moreover, we deliver several heuristics and discuss how to control their variation from the optimum. Summarizing, the presented results allow us to suggest a strategy for an implementation of a fast and accurate FASP/FVSP-SOLVER.

## Keywords

Feedback set problem Acyclic subgraph problem Linear ordering problem Elementary cycle Simple cycle## 1 Introduction

The *feedback arc set* problem, shortened FASP, is to delete as less as possible arcs of a graph such that the resulting subgraph is acyclic, i.e., it contains no directed cycle. Another equivalent formulation is to find a linear ordering of the vertices of the graph such that the number of back arcs is minimized. Therefore the problem is also known as *maximum acyclic subgraph* problem or *linear ordering problem*. For directed graphs this problem is one of the classic NP-complete problems [22]. The problem of deleting a smallest subset of vertices to result in an acyclic subgraph is known as *feedback vertex set problem* (FVSP). The FASP and FVSP are linear time reducible among each other, by keeping the relevant parameters fix as we will assert in Section 2.1, alternatively see [13]. Therefore algorithmic properties of the two problems are transferable. In particular, the FVSP is also NP-complete. Analogous problems for undirected graphs can be defined. As shown in [22] the feedback vertex set problem remains NP-complete, while the feedback arc set problem can be solved efficiently by solving a maximum spanning tree problem. An excellent overview on feedback sets can be found in [4]. The problem of finding minimal transversals of directed cuts is closely related to the FASP, see [26]. The FASP stays NP-complete for graphs where every node has an in-degree and out-degree of at most three or line digraphs even when every clique has at most size three [15]. It is also NP-complete for tournament graphs [1]. However, there also exist graph classes possessing polynomial time algorithms, e.g., planar directed graphs or more general weakly acyclic digraphs [16], and reducible flow graphs [29]. The FASP or FVSP has a multitude of applications, e.g., retiming synchronous circuitry [25], circuit testing [24], computational biology and neuroscience [19], network analysis and operating systems [33].

### 1.1 Outline

In Section 2 we provide the graph theoretical concepts, which are fundamental for this article. In Section 3 we present our main results. The fact that the FASP/FVSP on multi-digraphs can be reduced to simple graphs is asserted in Section 4 and the first a priori problem size reduction is deduced. In Section 5 we construct an algorithm determing the induced subgraph of all cycles with one arc in common efficently. This knowledge is used in Section 6 to introduce the concept of *isolated cycles* and *resolvable graphs* and providing an efficent solution of the FASP/FVSP on resolvable graphs. Moreover, the second a priori problem size reduction is given. Afterwards we concentrate on the main result of the article. Namely, that the FASP/FVSP possesses a Bellmann decomposition and present exact solutions using this fact to apply a dynamic programming technique in Section 7. In Section 8, we discuss how greedy approaches behave with respect to the problems and develope a strategy for a general FASP/FVSP-SOLVER. Finally, we discuss our results and other alternatives in Section 9.

## 2 Preliminaries

Before we can introduce the FASP (FVSP) formally, some basic concepts of graphs and cycles need to be mentioned.

### 2.1 Graphs and Cycles

A *multi-directed graph*, or *multi-digraph*, *G* = (*V*, *E*) consists of a set of vertices *V* and a multi-set of arcs *E* containing elements from *V* × *V*. A *directed graph* or *digraph* is a multi-digraph with a simple arc set *E*, i.e., *E* ⊆ *V* × *V* and therefore every *e* ∈ *E* occurs exactly once. A digraph is called *simple* if there are no loops, i.e., \(E\cap \mathbb {D}(V\times V)= \emptyset \), where \(\mathbb {D}(V\times V)=\{(v,v) \in V\times V\,\,\big |\,\, v\in V\}\) denotes the diagonal.

If not stated otherwise throughout the article *G* = (*V*, *E*) denotes a finite, connected, directed and loop-free multi-digraph and *G* ∖ *e*, *G* ∖ *v* denote the graphs which occur by deleting the arc *e* and possibly occurring isolated vertices or the vertex *v* and all its adjacent arcs. For *ε* ⊆ *E* and *ν* ⊆ *V* the graphs *G* ∖ *ε*, *G* ∖ *ν* are analogously defined. Moreover, \(\mathcal {G}(\cdot )\), \(\mathcal {E}(\cdot )\), \(\mathcal {V}(\cdot )\) denote the induced graph, the set of all arcs, the set of all vertices which are inherited by a set or set system of graphs, arcs or vertices. With \(\mathcal {P}(A)\) we denote the power set of a given set *A*.

For an arc *e* = (*u*, *v*) ∈ *E* we denote *e* ^{+} = *u* as the *tail* and *e* ^{−} = *v* as the *head* of the arc. Two arcs *e* and *f* are called *consecutive* if *e* ^{−} = *f* ^{+} and are called *connected* if {*e* ^{−}, *e* ^{+}}∩{*f* ^{−}, *f* ^{+}} ≠ *∅*. A *directed path* from a vertex *u* to a vertex *v* is a sequence of consecutive arcs where *u* is the tail of the first arc and *v* is the head of the last. A *connected path* from a vertex *u* to a vertex *v* is a sequence of connected arcs containing *u* and *v* as vertices. A digraph is *connected* if there is a connected path between every pair of its vertices. A *weighted digraph* (*G*, *ω*) or (*V*, *E*, *ω*), is a digraph with an additional weight function \(\omega :E\longrightarrow \mathbb {R}\), which assigns a (usually positive) weight to each arc. For a given vertex *v* ∈ *V* the sets \(N^{+}_{V}(v):=\left \{ u \in V \,\,\big |\,\, (v,u)\in E\right \}\,, N^{-}_{V}(v):=\left \{ u \in V \,\,\big |\,\, (u,v)\in E\right \}\), \(N^{\pm }_{E}(v):=\left \{ e \in E \,\,\big |\,\, e^{\pm } = v\right \} \) shall denote the set of all outgoing or incoming vertices or arcs of *v* respectively. The *indegree* (respectively *out degree*) of a vertex *u* is given by \(\deg ^{\pm }(u) = |N^{\pm }_{E}(u)|\) and the degree of a vertex is deg(*u*) = deg −(*u*) + deg +(*u*). Δ^{±}(*G*),Δ(*G*) shall denote the maximal (in/out) degree, respectively.

A directed (connected) *cycle* of a digraph is a multiset of arcs {*e* _{0}, … , *e* _{ k }} such that there is a permutation *ϕ* : {0, … , *k*}→{0, … , *k*} with *e* _{ ϕ(i)} and *e* _{ ϕ(i)+1 mod k+1} are consecutive (connected), for 1 ≤ *i* ≤ *k*. A *loop* is a cycle containing only a single arc. A cycle is *simple* if the set of contained arcs {*e* _{1}, … , *e* _{ k }} is a simple set, i.e., it visits every arc, it contains, exactly once. A cycle is *elementary* if each vertex it contains is visited exactly once. We denote with *O*(*G*) the set of all directed cycles and with O_{el}(*G*), O_{si}(*G*) the set of all elementary or simple cycles, respectively. Analogously, \(\mathrm {O}_{\text {el}}^{0}(G)\) and \(\mathrm {O}_{\text {si}}^{0}(G)\) shall denote the set of all *connected* (and not necessarily directed) *elementary* and *simple cycles* respectively. If not stated otherwise in the whole article a cycle is assumed to be directed and elementary. A *feedback vertex set* (FVS) of *G* is a set \(\nu \in \mathcal {P}(V)\) such that *G* ∖ *ν* is *acyclic*, i.e., *G* ∖ *ν* contains no directed cycle. A *feedback arc set* (FAS) of *G* is a set \(\varepsilon \in \mathcal {P}(E)\) such that *G* ∖ *ε* is acyclic.

### **Definition 1**

**(line graph, natural hypergraph)**The directed line graph

*L*(

*G*) = (

*V*

_{ L },

*E*

_{ L }) of a digraph G is a digraph where each vertex represents one of the arcs of G and two vertices are connected by an arc if and only if the corresponding arcs are consecutive. In contrast the natural hypergraph \(\mathcal {H}(G)=(\bar V,\bar E)\) of G is constructed by identifying the arcs of G with the vertices of \(\mathcal {H}(G)\), i.e., \(\bar V\) is a simple set of vertices such that |

*V*| = |

*E*|, where |

*E*| is counted with multiplicities. By fixing the identification \(\bar V \cong E\) we introduce a directed hyperarc

*h*

_{ v }for every vertex

*v*∈

*V*by requiring that head and tail coincide with all outgoing and ingoing arcs respectively, i.e., \(h_{v} = \big (N_{E}^{-}(v), N_{E}^{+}(v)\big )\). Consequently, \(\bar E \cong V\) and therefore every hyperarc can be labeled by its corresponding vertex. See Fig. 1 for an example.

The directed, elementary cycles of the line graph *L*(*G*) of *G* are in 1 to 1 correspondence to the directed, simple cycles of *G* while the directed simple cycles of \(\mathcal {H}(G)\), i.e., directed cycles which run through every hyper arc exactly once are called *Berge cycles*, [5]. Note that if *G* is a simple digraph, i.e., there are no multi arcs, then the set of all Berge cycles of \(\mathcal {H}(G)\) are in 1 to 1 correspondence to the set of all elementary cycles of *G*. For a set of hyperarcs \(\bar \varepsilon \subseteq \bar E\) of \(\mathcal {H}(G)\) we denote with *ε* ⊆ *V* the corresponding vertices in *G*. We summarize some facts in this regard.

### **Proposition 1**

*Let*

*G*= (

*V*,

*E*)

*be a graph.*

- i)
*The line graph**L*(*G*) = (*V*_{ L },*E*_{ L })*can be constructed in*\(\mathcal {O}\big (|E|^{2}\big )\). - ii)
*The natural hypergraph*\(\mathcal {H}(G)=(\bar V,\bar E)\)*can be constructed in*\(\mathcal {O}\big (\Delta (G)|V|\big )\). - iii)
*ν*⊆*V*_{ L }*is a FVS of**L*(*G*)*if and only if**ν is a FAS of*G. - iv)
\(\bar \varepsilon \subseteq \bar E\)

*is a FAS of*\(\mathcal {H}(G)\),*with respect to the notion of Berge cycles, if and only if**ε is a FVS of*G.

### Proof

Storing G as a adjacency list and following the definitions immediately implies *i*) and *ii*). Since any two vertices *e*, *f* of the line graph *L*(*G*) are adjacent if and only if the corresponding arcs are consecutive in G and any two arcs *h* _{ u }, *h* _{ v } of \(\mathcal {H}(G)\) are consecutive, i.e., \(h_{u}^{-} \cap h_{v}^{+}\not = \emptyset \), if and only if the corresponding vertices u and v are adjacent in G, *ii*) and *iii*) follow. □

### Remark 1

Note that by introducing an additional arc \(h^{*}_{v}\) between head and tail of every hyperarc \(h_{v}=(N_{E}^{-}(v),N_{E}^{+}(v))\) of \(\mathcal {H}(G)\), the natural hypergraph becomes a directed graph *G* ^{∗} = (*V* ^{∗}, *E* ^{∗}) with |*V* ^{∗}| = |*E*| + 2|*V* |, |*E* ^{∗}|≤ Δ(*G*)|*V* | + |*V* |. The directed cycles of *G* ^{∗} are in 1 to 1 correspondence to the Berge cycles of \(\mathcal {H}(G)\) and a FAS *ε* of *G* ^{∗} is in 1 to 1 correspondence to a FAS \(\bar \varepsilon \) of \(\mathcal {H}(G)\) by identifying \(\bar \varepsilon \) with the additional introduced arcs belonging to the hyperarcs in \(\bar \varepsilon \) and identifying *ε* with the hyperarcs corresponding to the bipartite graphs cutted by *ε*. If \(\gamma : \bar E \longrightarrow \mathbb {R}+\) is an arc weight on \(\mathcal {H}(G)\) then setting *γ* ^{∗}(*h*) ≡ *γ*(*h* _{ v }) for all \(h \in N_{E}^{-}(v) \cup N_{E}^{+}(v)\cup \{h^{*}_{v}\}\) yields the translated weight.

*E*. If we choose coordinates, i.e., a numbering for

*E*and

*V*then we can identify

*E*with {

*e*

_{1}, … ,

*e*

_{|E|}},

*V*with {

*v*

_{1}, … ,

*v*

_{|V |}} and

*X*with \(\mathbb {Z}^{|E|}\). In this case an element

*x*∈

*X*(

*G*) is a tuple

*x*= (

*x*

_{1}, … ,

*x*

_{|E|}), which can be interpreted as a set of paths through

*G*where \(x_{i} \in \mathbb {Z}\) indicates how often we pass the arc

*e*

_{ i }and the sign of

*x*

_{ i }determines in which direction this is done. We denote with \(\mathcal {I}(G)\) the incidence matrix of

*G*with respect to these identifications, i.e., \(\mathcal {I}(G)=(\iota _{ij})_{\genfrac {}{}{0pt}{}{1 \leq i \leq | V|}{1 \leq j \leq |E |}}\) with

*x*∈

*X*(

*G*) is a cycle of

*G*if and only if \(\mathcal {I} x = 0\), i.e., the submodule of all cycles of

*G*coincides with the set of homogeneous solutions \(\Lambda (G)=\ker \mathcal {I}(G)\). In particular, this implies that Λ(

*G*) is a free ℤ-module with

*# G*denotes the number of connected components of

*G*and therefore equals 1 by our assumption on

*G*. Note that the vector space \(\Lambda ^{0}(G):=\Lambda (G)/\mathbb {Z}_{2}^{|E|}\) can be understood as the cycle space of connected cycles, given by the kernel of the incidence matrix \(\mathcal {I}^{0}(G)\) defined with respect to \(\mathbb {Z}_{2}\) coefficients. In this case

### Remark 2

If *c* ∈ O_{el}(*G*) then 1 is the only non vanishing entry of c, i.e., *c* ∈ {0, 1}^{|E|}. Moreover, no elementary cycle is subset of another elementary cycle. Indeed assume the opposite and consider two elementary cycles *c*, *c*′ ∈ O_{el}(*G*) with *c* ⊆ *c*′, then \(\mathcal {I}(G)(c^{\prime } -c)= \mathcal {I}(G)c^{\prime }-\mathcal {I}(G)c = 0-0=0\). Thus, *c*′− *c* ≠ 0 is also a positive oriented cycle and therefore we have *c*′ = (*c*′− *c*) + *c*∉O_{el}(*G*). A contradiction!

Not that every simple cycle is given by the union of arc disjoint elementary cycles. The following example illustrates this fact.

### Example 1

*c*= {

*e*,

*f*,

*g*,

*h*,

*i*} is a simple, non-elementary cycle while the cycles {

*e*,

*f*,

*i*}, {

*f*,

*h*} and {

*h*,

*g*} are elementary cycles.

### 2.2 The Feedback Arc Set Problem (FASP)

Now we have all ingredients to give a formal definition of the FASP.

### **Problem 1**

*G*= (

*V*,

*E*) be a finite, connected, directed, and loop-free graph, \(\omega : E\longrightarrow \mathbb {N}^{+}\) be a weight function. Then the weighted FASP is to find a set of arcs \( \varepsilon \in \mathcal {P}(E)\) such that

*G*∖

*ε*is acyclic, i.e., O

_{el}(

*G*∖

*ε*) =

*∅*and

*G*,

*ω*) := Ω

_{ G, ω }(

*ε*), \(\varepsilon \in \mathcal {S}(G,\omega )\) the optimal weight or

*feedback length*. If

*ω*is constant, e.g., equal to 1, then the problem coincides with the

*unweighted minimal FASP*.

### Remark 3

The condition on G to be loop-free is not an essential restriction. This is because every loop is contained in any solution of the minimal FASP.

### Remark 4

Note that, every cycle *c* ∈ *O*(*G*) can be generated by elementary cycles *c* _{1}, … , *c* _{ n } ∈ O_{el}(*G*) using only non-negative coefficients. Thus, if *ε* is a solution of Problem 1 then certainly *O*(*G* ∖ *ε*) = *∅*, which implies that our notion of acyclic graphs is consistent for the problem.

### Remark 5

Note that for given graph *G* = (*V*, *E*) the smallest subgraph *G* _{ o } ⊆ *G*, which contains all cycles of G, i.e., *G*′ = *G* _{ o } whenever *G*′⊆ *G* _{ o } and O_{el}(*G*) = O_{el}(*G*′) can be constructed in \(\mathcal {O}(|E|^{2})\). Indeed the arc set of *G* _{ o } is constructed from E by removing arcs (*u*, *v*) if there is no directed path from v to u. For every arc this can be done by depth-first search in linear time if G is stored in an adjacency list. Since removing arcs does not generate new cycles it suffices to check every arc once yielding the estimated runtime performance. Certainly a solution for *G* _{ o } is a solution for G. We shortly denote with \(\mathcal {G}_{o}(G):=G_{o}\) and with \({\mathcal {G}_{o}^{0}}(G):={G^{0}_{o}}\) the analogous graph appearing by considering connected cycles instead of directed ones. In particular, by the argumentation above, an elementary or directed cycle *c* ∈ O_{el}(*G*), *c*′ ∈ O_{si}(*G*) can be found in \(\mathcal {O}(|E|^{2})\) or no cycle exist.

### Remark 6

*G*= (

*V*,

*E*) is a simple graph then denoting with ⌊⋅⌋ the Gauss bracket we observe that at most ⌊|

*E*|/2⌋ arcs have to be deleted to obtain a graph where no connected path of length 2 exists anymore. In particular, the graph is acyclic in this case and therefore

### 2.3 The Feedback Vertex Problem (FVSP)

Let *G* = (*V*, *E*) be given and \(\gamma : V \longrightarrow \mathbb {R}^{+} \) be a vertex weight. The feedback vertex set problem (FVSP) on (*G*, *γ*) is obtained by replacing the role of arcs by vertices in Problem 1. In regard of Proposition 1, by introducing the hyperarc weight \(\bar \omega (h_{v}):=\gamma (v)\), we realize that the FVSP is equivalent to the the FASP on the natural hypergraph \(\mathcal {H}(G)\) of *G*, with respect to the notion of Berge cycles. Already in Remark 1 we mentioned how to treat this case. Vice versa the FASP on an arc weighted graph (*G*, *ω*) is equivalent to the FVSP on the line graph *L*(*G*) of *G* by introducing the vertex weight *γ*(*v*) = *ω*(*v*), *v* ∈ *V* _{ L } = *E*. Since the described transformations can be done efficently, see Proposition 1, an efficent solution of the FASP or FVSP for an arc and vertex weighted instance (*G*, *ω*, *γ*) yields an efficent solution of the FVSP or FASP for the transformed instances and vice versa. In particular, by summarizing some already known results we obtain:

### **Theorem 1**

*The unweighted FASP and FVSP are APX complete.*

### Proof

Since there is an L-reduction of the Minimum Vertex Cover Problem, which is APX complete due to [12], to the FVSP, see [22], the FVSP is APX complete. Due to [21] it is known that the FASP is APX-hard. Proposition 1 shows that the FASP on (*G*, *ω*) is equivalent to the FVSP on (*L*(*G*), *γ*). Thus, the feedback length of any solution remains unchanged yielding an L-reduction of the FASP to the FVSP implying the claim. □

We expect that the theorem above still holds for the weighted versions. However, due to the observations made so far, we will focus our studies on the FASP to increase the understanding of the localisation of feedback sets.

## 3 Main Results

Though the FASP and FVSP are equivalent problems in graph theory and computer sciences the only exact solutions of the FVSP known to us is are the algorithms of [30] with complexity \(\mathcal {O}(1,9977^{|V|})\) and [9] requiring \(\mathcal {O}\big (|E|^{4}4^{\Omega }\Omega ^{3}\Omega !\big )\), where Ω denotes the feedback length. A detailed comparison to our approach is given in Section 9. For now we just mention our results:

### **Theorem A**

*Let* (*G*, *ω*)*be a graph. Then there is an algorithm testing whether* (*G*, *ω*)*is resolvable and determing a solution of the weighted FASP on* G *in case of resolvability in* \(\mathcal {O}(|V||E|^{3})\).

Though there are infinitely many resolvable graphs not all graphs are resolvable. However, if the graph (*G*, *ω*) is not resolvable, we still can find an exact solution:

### **Theorem B**

*Let* (*G*, *ω*)*be a graph then there is a parameter* *m* ∈ ℕ, \(m \leq \dim _{\mathbb {Z}_{2}}\Lambda ^{0}(G)= |E|-|V| +1\), *which can be determined in* \(\mathcal {O}(|E|^{3})\) *and an algorithm* CUT *with run time* \(\mathcal {O}\big (2^{m}|E|^{4}\log (|V|)\big )\) *solving the weighted FASP.*

Due to Proposition 1 the analogous results with respect to the FVSP hold. In particular, we call a vertex weighted graph (*G*, *ν*) resolvable iff its natural hypergraph is resolvable, see Section 2.3 again. If we replace every hyperarc of \(\mathcal {H}(G)=(\bar V,\bar E)\) with its corresponding bipartite graph then by following Remark 1 we have |*V* ^{∗}| = |*E*| + 2|*V* |, |*E* ^{∗}|≤ (Δ(*G*) + 1)|*V* | for the resulting graph *G* ^{∗} = (*V* ^{∗}, *E* ^{∗}). The translated results therefore become:

### **Theorem C**

*Let* (*G*, *ν*),\(\nu :V \longrightarrow \mathbb {R}^{+}\) *be a vertex weighted graph. Then there is an algorithm testing whether* (*G*, *ν*)*is resolvable and determing a solution of the weighted FVSP on* G *in case of resolvability in* \(\mathcal {O}(\Delta (G)^{3}|V|^{3}|E|)\).

In case of non-resolvability we have:

### **Theorem D**

*Let* (*G*, *ν*)*be a graph then there is a parameter* \(m \in \mathbb {N}\), *m* ≤ (Δ(*G*) − 1)|*V* |−|*E*| + 1, *which can be determined in* \(\mathcal {O}(\Delta (G)^{3}|V|^{3})\) *and an algorithm* CUT *with run time* \(\mathcal {O}\big (2^{m}\Delta (G)^{4}|V|^{4}\log (|E|)\big )\) *solving the weighted FVSP.*

Note that there are infinitely many instances where *m* = 0 and *m* ≤|*V* | on homogenous graphs, i.e., if Δ(*G*) ≤ (|*E*|− 1)/|*V* | + 2. Thus, by computing the bound or directly *m* we can decide whether the algorithm of [30] or our approach will be faster for a given instance and choose the better alternative. Moreover, the feedback length Ω can not assumed to be constantly bounded. Thus, the algorithm of [9] actually possesses a complexity of \(\mathcal {O}\big (4^{|V|}|V|^{3}|E|^{4}|V|!\big )\), which is much slower than our approach. Finally, we want to mention that all theorems are based on the following crucial fact:

### **Theorem E**

*Let*

*G*= (

*V*,

*E*)

*be a*

*graph and*

*e*∈

*E*.

*Then there exist algorithms which compute:*

- i)
*The subgraph**G*_{el}(*e*) ⊆*G induced by all elementary cycles**c*∈ O_{el}(*G*)*with*\(e\in \mathcal {E}(c)\)*in*\(\mathcal {O}(|E|^{2})\). - ii)
*The subgraph**G*_{si}(*e*) ⊆*G induced by all simple cycles**c*∈ O_{si}(*G*)*with*\(e\in \mathcal {E}(c)\)*in*\(\mathcal {O}(|E|^{4})\).

A proof and a more precise version of the statement are given in Theorem 2.

## 4 The Essential Minor

In this section we introduce the notion of the essential minor (*C*, *δ*) of given graph (*G*, *ω*), which is a simple, weighted digraph that decodes the topological structure of *G* in a compact way and is therefore very helpful. Even though there are some crucial differences we want to mention that similar concepts were already introduced in [6].

### **Definition 2**

**(parallel arcs)**Let G be a graph and

*e*= (

*u*,

*v*) ∈

*E*then we denote with

*F*(

*e*) =

*F*

^{+}(

*e*) ∪

*F*

^{−}(

*e*).

We recall that for a given set *A* and an equivalence relation ∼ on *A* × *A* the quotient *A*/_{∼} is given by the set of all equivalence classes [*a*]_{∼} = {*x* ∈ *A* | *x* ∼ *a*}.

### **Definition 3**

**(contracted graph)**Let

*G*= (

*V*,

*E*) be a graph and

*u*,

*v*∈

*V*. An equivalence relation ∼

_{ u, v }on V is defined by

*x*∈

*V*is denoted by [

*x*]

_{∼u, v }and \(V/_{\sim _{u,v}}\) gives the quotient of

*V*with respect to ∼

_{ u, v }. A multiset

*E*/

_{∼u, v }is defined by

*contracted graph*of

*G*with respect to

*e*∈

*E*is defined as the topological minor

*e*,

*f*∈

*E*then one can check easily that by identifying

*e*,

*f*with their images in

*G*/

*e*,

*G*/

*f*respectively we have (

*G*/

*e*)/

*f*= (

*G*/

*f*)/

*e*. Thus, the definition does not depend on the order of the contracted edges. Hence, if

*G*′⊆

*G*is a subgraph then \(G/G^{\prime } := G/\mathcal {E}(G^{\prime })\) can be defined by contracting \(\mathcal {E}(G^{\prime })\) in arbitrary order.

### **Definition 4**

**(essential minor)**Let

*G*= (

*V*,

*E*,

*ω*) be a positively weighted graph. The equivalence relation ∼

_{Γ}on E is defined by

*e*∼

_{Γ}

*f*if and only if

*e*=

*f*or there exists a directed, branch-point-free path (

*w*

_{0},

*w*

_{1}, … ,

*w*

_{ n },

*w*

_{ n+1}) with {(

*w*

_{0},

*w*

_{1}),(

*w*

_{ n },

*w*

_{ n+1})} = {

*e*,

*f*} and \(n\in \mathbb {N}^{+}\), i.e., for

*i*= 1, … ,

*n*it holds that deg −(

*w*

_{ i }) = deg +(

*w*

_{ i }) = 1. We represent an equivalence class [

*e*]

_{∼Γ}by an arc (

*u*,

*v*), where u and v coincide with the start and endpoint of the longest directed, branch-point-free path running through e. The positively weighted graph

- i)
*V*/_{Γ}:= {*v*∈*V*| deg −(*v*) > 1 ∨ deg +(*v*) > 1}, - ii)
\(E/_{\Gamma }:=\left \{ (u,v)\in V/_{\Gamma }\times V/_{\Gamma } \,\,\big |\,\, \exists \,\, [e]/_{\sim \Gamma } \in E_{/\sim _{\Gamma }} \,\, \text {represented by } (u,v) \right \}\)

- iii)
\(\omega /_{\Gamma }:E/_{\Gamma }\longrightarrow \mathbb {N}^{+}\) with \(\omega /_{\Gamma }(e):=\min _{e^{\prime }\in [e]/_{\sim \Gamma }} \omega (e^{\prime }) \).

_{Φ}be an equivalence relation on

*E*with

*e*∼

_{Φ}

*f*⇔

*e*,

*f*∈

*F*

^{+}(

*e*). For (

*G*,

*ω*) the positively weighted graph

- i)
*V*/_{Φ}:=*V*. - ii)
\(E/_{\Phi }:=E/_{\sim _{\Phi }}\), where we identify each equivalence class [

*e*]_{∼Φ}with an arbitrary representative of*F*^{+}(*e*). - iii)
\(\omega /_{\Phi }:E/_{\Phi } \longrightarrow \mathbb {N}^{+} \,,\,\, \omega /_{\Phi }(e):= {\sum }_{e^{\prime } \in [e]_{\sim \Phi }} \omega (e^{\prime })\,.\)

*G*

_{0}:=

*G*for

*k*> 0 we define

*G*

_{ K },

*ω*

_{ K }) with

*G*

_{ K }=

*G*

_{ K+1},

*K*≥ 0, is called the

*essential minor*of

*G*and is denoted by (

*C*,

*δ*) := (

*V*

_{ C },

*E*

_{ C },

*δ*).

### Example 2

*G*) = 3 and |O

_{el}(

*G*)| = 2

^{ D }= 2

^{|E|/5}= 2

^{|V |/4}. In contrast the essential minor C of such a graph satisfies |O

_{el}(

*C*)| = 1. Hence, even though the number of cycles in G increases exponentially in |

*E*| and |

*V*| by adding further diamonds, the number of cycles in C remains constant equal to 1 while the weight

*ξ*decodes the number of cycles of the original graph G.

Since the following results are quite canonically their simple but technical proofs are given in Appendix A.

### **Proposition 2**

*Let*

*G*= (

*V*,

*E*,

*ω*)

*be a positively weighted graph with essential minor*(

*C*,

*ω*

_{ C })

*and let*\(\varepsilon \in \mathcal {P}(E)\)

*and*

*ε*

_{ C }

*be the image of*

*ε in*(

*C*,

*δ*).

*Then*

*G*,

*ω*) = Ω(

*C*,

*ω*

_{ C }).

Proposition 2 states that solving the FASP for the essential minor is equivalent to solving the FASP on the original graph. Even though it is possible that (*C*, *δ*) = (*G*, *ω*) the construction might yields an a priori problem size reduction in many cases as in Example 2.

### **Proposition 3**

*Let* *G* = (*V*, *E*, *ω*)*be a finite, connected, directed, weighted multigraph then we can construct* (*C*, *δ*)*in time* \(\mathcal {O}(|E|^{2})\).*Furthermore, there is an algorithm with run time* \(\mathcal {O}(|E|^{2})\) *which constructs a solution* *ε* ∈ *S*(*G*, *ω*)*given a solution* \(\varepsilon _{C} \in \mathcal {S}(C,\delta )\).

### Remark 7

Since for given \(\varepsilon _{C} \in \mathcal {S}(C,\delta )\) the construction of some \(\varepsilon _{G} \in \mathcal {F}(\varepsilon _{C})\) is easy to compute (Proposition 2) Proposition 2 states that it suffices to solve a the weighted FASP for the essential minor instead of the original graph. As a consequence multigraphs do not need to be considered and the number of elementary cycles of the essential minor can be drastically reduced, see for instance Example 2.

## 5 Subgraphs of Elementary Cycles

There are several approaches for generating the set O_{el}(*G*) of all elementary cycles of a graph, see [28] for an overview. Since there can be an exponential number of cycles in a graph, generating algorithms have an exponential worst case run time. The best algorithms available today are the ones of [34] and [20] solving the problem in \(\mathcal {O}\big (|\mathrm {O}_{\text {el}}(G)|(|V|+|E|)\big )\). Of course counting all cycles might be less expansive than generating them. However, by reducing to the Hamiltonian cycle problem, see for instance [2], counting all cycles is a NP-hard problem. For our concerns, and supposedly in many other situations, the generation of all cycles is not necessary, but the knowledge of the arc set of all cycles including a common arc suffices. In the following an algorithm for determing the smallest subgraph *G* _{el}(*e*) ⊆ *G* which contains all elementary cycles that include the arc *e* is given.

### **Definition 5**

*G*= (

*V*,

*E*) be a graph and

*u*,

*v*∈

*V*we denote with with

*P*(

*u*,

*v*),

*P*

_{el}(

*u*,

*v*),

*P*

_{si}(

*u*,

*v*) the set of all directed, elementary or simple paths from u to v respectively. For an arc

*e*∈

*E*we let

_{el}(

*ε*) := ∪

_{ e ∈ ε }O

_{el}(

*e*), O

_{si}(

*ε*) := ∪

_{ e ∈ ε }O

_{si}(

*e*). Moreover, we denote with \(G(u,v):=\mathcal {G}(P(u,v)), G_{\text {el}}(u,v) := \mathcal {G}\big (P_{\text {el}}(u,v)\big )\), \( G_{\text {si}}(u,v):= \mathcal {G}\big (P_{\text {si}}(u,v)\big )\) the by the corresponding paths induced graphs and with \(G(e):= \mathcal {G}(P(u,v))\), \(G_{\text {el}}(e):=\mathcal {G}\big (P_{\text {el}}(e^{-},e^{+}) \cup \{e\}\big )\), \(G_{\text {si}}(e):= \mathcal {G}\big (P_{\text {si}}(e^{-},e^{+})\cup \{e\}\big )\) by the corresponding cycles induced graphs. Moreover, \(P^{0}(u,v),\mathrm {P}_{\text {el}}^{0}(u,v)\), \(\mathrm {P}_{\text {si}}^{0}(u,v)\),

*O*(

*e*), \(O_{\text {el}}^{0}(e)\), \(O_{\text {si}}^{0}(u,v)\),

*G*

^{0}(

*e*), \(G_{\text {el}}^{0}(e)\), \(G_{\text {si}}^{0}(e)\) shall denote the connected (and not necessarily directed) analagons of the introduced sets and graphs.

Note that *P* _{el}(*u*, *v*) ⊆ *P* _{si}(*u*, *v*) and therefore O_{el}(*e*) ⊆O_{si}(*e*). Moreover, the graphs *G*(*u*, *v*), *G*(*e*) can be determined in \(\mathcal {O}(|E|^{2})\) by applying a depht first search technique similar to Remark 5. In the other cases we observe:

### **Theorem 2**

*Let*

*G*= (

*V*,

*E*)

*be a graph and*

*u*,

*v*∈

*V*,

*e*∈

*E. Then there exist algorithms which compute:*

- i)
*The graphs*\(G_{\text {el}}(u,v),G_{\text {el}}^{0}(u,v)\),\(G_{\text {el}}(e),G_{\text {el}}^{0}(e)\)*in*\(\mathcal {O}(|E|^{2})\). - ii)
*The graphs**G*_{si}(*u*,*v*),\(G_{\text {si}}^{0}(u,v)\),*G*_{si}(*e*),\(G_{\text {si}}^{0}(e)\)*in*\(\mathcal {O}(|E|^{4})\).

### Proof

*p*∈

*P*

_{el}(

*u*,

*v*) then no vertex \(w \in \mathcal {V}(p)\) is passed twice of p. Thus, for every \(f \in \mathcal {E}(p)\) there is a path

*q*∈

*P*(

*u*,

*f*

^{−}) with respect to \(G \setminus \big (N_{E}^{-}(f^{-})\setminus \{f\}\big )\). Vice versa if

*p*∈

*P*(

*u*,

*v*) is such that \(\mathcal {E}(p) \not \subseteq G_{\text {el}}(u,v)\) then has to be a vertex \(w \in \mathcal {V}(p)\), which is passed at least twice by p implying that there is \(f \in \mathcal {E}(p)\) such that

*G*′ :=

*G*∖{

*f*∈

*E*|

*f*fulfills (4)}, every path

*p*∈

*P*(

*u*,

*v*) with \(\mathcal {G}(p) \not \subseteq G_{\text {el}}(u,v)\) is interrupted in

*G*′. Hence, \(G^{\prime }(u,v)= \mathcal {G}(P(u,v))\) with respect to

*G*′ coincides with

*G*

_{el}(

*u*,

*v*). Algorithm 1 formalizes this procedure and runs in \(\mathcal {O}(|E|^{2})\) if

*G*is stored in an adjacency list, enabling us to test whether

*P*(

*u*,

*v*) =

*∅*in \(\mathcal {O}(|E|)\). The other cases of

*i*) can now be solved by replacing

*u*,

*v*with

*e*and directed paths or cycles with connected ones.

To show *ii*) we add two arcs *u* ^{∗} = (*x*, *u*), *v* ^{∗} = (*v*, *y*), *x*, *y*∉*V* denote with *G* ^{∗} the resulting graph and consider the line graph \(L(G^{*})=(V_{L}^{*},E_{L}^{*})\). We recall that |*V* _{ L }| = |*E*|, |*E* _{ L }|≤|*E* ^{2}| and apply the fact that the elementary paths of *L*(*G*) are in 1 to 1 correspondence to the simple paths of *G* and therefore \(\mathcal {V}\big (G_{\text {el}}(u^{*},v^{*})\big ) \setminus \{u^{*},v^{*}\} = \mathcal {E}\big (G_{\text {si}}(u,v)\big )\). Hence *ii*) follows analogue to *i*). □

### Remark 8

Note that if (*C*, *δ*) is the essential minor of (*G*, *ω*). Then the treatment of “parallel” paths is avoided by the essential minor construction. Thus, we expect that if C is significant smaller than G the run time performance will increase drastically.

## 6 Isolated Cycles

Of course the question arises whether a solution of the FASP on *G* _{el}(*e*) can be determined independently of the rest of the graph. The notion of *isolated cycles* is our starting point of investigations in this manner and as it will turn out it is a very helpful concept of answering this question.

We recall that a Min- s-t-Cut with source *s* = *u* and sink *t* = *v* is given by a set *ε* ⊆ *E* such that *P*(*u*, *v*) = *∅* in *G* ∖ *ε* and \(\Omega _{G,\omega }(\varepsilon ) = {\sum }_{e\in \varepsilon }\omega (e)\) is minimized.

### **Lemma 1**

*Let* (*G*, *ω*)*be a weighted graph and* *e* ∈ *E*.*Then there is an algorithm, which determines a solution* \(\varepsilon \in \mathcal {S}\big (G_{\text {el}}(e),\omega \big )\) *of the FASP on* (*G* _{el}(*e*), *ω*)*in* \(\mathcal {O}\big (|V||E|\log (|V|)\big )\), *where we slightly abused notion by still denoting* *ω for the the restriction of* *ω to* *G* _{el}(*e*).

### Proof

Observe that by interpreting *ω* as a capacity function on *G* _{el}(*e*) a solution of the FASP on *ε* is given by {*e*} or a Min-s-t-Cut *ε* with source *s* = *e* ^{−} and sink *t* = *e* ^{+}. The option with the smaller weight is chosen. Due to the famous Min-Cut-Max-Flow Theorem a Min- s-t-Cut can be determined by solving a Max-Flow problem with respect to *ω* and *s* = *e* ^{−}, *t* = *e* ^{+}. The algorithm of [10] solves the Max-Flow problem for arbitrary weights in time \(\mathcal {O}(|V|^{2}|E|)\) and can be speedend up to \(\mathcal {O}\big (|V||E|\log (|V|)\big )\), [11] by using the data structure of dynamic trees. Thus the statement is proven. □

### Remark 9

Note that if (*C*, *δ*) is the essential minor of (*G*, *ω*) then the absence of “parallel” paths might speeds up the time required to determine a Min- s-t-Cut drastically. Moreover, the Max-Flow-Problem is very well understood, yielding many alternatives to the algorithm of [10] and providing faster solutions in special cases, see [11] and [3] for an overview.

### **Definition 6**

*c*∈ O

_{el}(

*G*) then we denote with

*isolating arcs*of

*c*, i.e., if

*e*∈

*I*(

*c*) then

*c*has empty intersection with every cycle

*c*′ that does not contain

*e*or an parallel arc of

*e*. For an arc

*e*∈

*E*or set of arcs

*ε*⊆

*E*we set

### Remark 10

Note, that the sets of isolated cycles possess a flat hierarchy in the following sense. If *e*, *f* ∈ *E*, *e* ≠ *f*, with *O* _{ I }(*e*) ≠ *O* _{ I }(*f*) then *O* _{ I }(*e*) ∩ *O* _{ I }(*f*) = *∅*. If vice versa *O* _{ I }(*e*) = *O* _{ I }(*f*) then by definition we obtain O_{el}(*F* ^{+}(*e*)) = O_{el}(*F* ^{+}(*f*)).

### Remark 11

*c*∈

*O*

_{ I }(

*G*) be an isolated cycle and

*I*(

*c*) the set of all isolating arcs of c. If we contract

*I*(

*c*) then the resulting graph

*G*/

*I*(

*c*) fulfills

*n*= |

*E*/

*I*(

*c*)|. Thus, by detecting isolated cycles we obtain an orthogonal splitting

*G*), e.g., a minimal cycle basis of span(

*O*

_{ I }(

*e*)) can be extended to a minimal basis of Λ(

*G*).

Consider an isolating arc *e* of a graph (*G*, *ω*) or its essential minor (*C*, *δ*). The isolated cycles *O* _{ I }(*e*) running through *e* can be cut either by removing the arc set *ε* _{0} = *F* ^{+}(*e*) or another feedback set *ε* _{1} of *G* _{ I }(*e*). By definition the arc set *ε* _{0} cuts at least the cycles in *O* _{ I }(*ε* _{0}). By Remark 10 the feedback set *ε* _{1} cuts only the isolated cycles *O* _{ I }(*ε* _{0}) or is given by *ε* _{1} = *F* ^{+}(*f*) of another isolating arc *f* ∈ *O* _{ I }(*e*) with O_{el}(*ε* _{0}) = O_{el}(*ε* _{1}). Thus, if the weight of *ε* _{0} equals the weight of a solution of the FASP on *G* _{ I }(*e*) then there is a solution *ε* of the FASP on *G* with *ε* _{0} ⊆ *ε*. The following definition reflects this idea more formally.

### **Definition 7**

*G*,

*ω*) be a graph. We define a maximal list of graphs (

*G*

_{0},

*ω*

_{0}),…,(

*G*

_{ k },

*ω*

_{ k }) with (

*G*

_{0},

*ω*

_{0}) = (

*G*,

*ω*), (

*G*

_{ i },

*ω*

_{ i }) ≠ (

*G*

_{ i+1},

*ω*

_{ i+1}) , ∀

*i*∈ [1 :

*k*− 1] as follows. Let (

*C*

_{ i },

*δ*

_{ i }), with \(C_{i}=(V_{C_{i}},E_{C_{i}})\), be the essential minor of (

*G*

_{ i },

*ω*

_{ i }) and \(E^{*}_{i}\subseteq I(C_{i})\) be a maximal subset of pairwise different isolating arcs of

*C*

_{ i }such that \(\forall e \in E^{*}_{i}:\)

*G*

_{ i+1},

*ω*

_{ i+1}) is given by

*δ*

_{ i }to

*E*

_{ i+1}. If

*G*

_{ k+1}=

*G*

_{ k }for some

*k*∈ ℕ then (

*S*,

*τ*) := ((

*V*

_{ S },

*E*

_{ S }),

*τ*) = (

*C*

_{ k },

*δ*

_{ k }),

*k*∈ ℕ is called the

*resolved graph*of

*G*, which we shortly denote with (

*S*,

*τ*) = (

*S*(

*G*),

*τ*(

*ω*)). A graph (

*G*,

*ω*) is called

*resolvable*if and only if

*S*=

*∅*.

### Example 3

The construction has an immediate consequence.

### **Theorem 3**

*Let* (*G*, *ω*)*be a graph. Then there is an algorithm testing whether* (*G*, *ω*)*is resolvable and determing a solution of the weighted FASP on* G *in case of resolvability in* \(\mathcal {O}(|V||E|^{3})\).

### Proof

Due to Proposition 3 the construction of the essential minor (*C* _{ i }, *δ* _{ i }) can be achieved in \(\mathcal {O}(|E|^{2})\) for every 1 ≤ *i* ≤ *k*. Since checking whether O_{el}(*f*) ≠ *∅* can be done in \(\mathcal {O}\big (|E|\big )\) by storing G in an adjacency list and using depht first search to figure out whether *P*(*f* ^{+}, *f* ^{−}) ≠ *∅* the Algorithm 2 computes the set *G* _{ I }(*e*) in \(\mathcal {O}(|E|^{2})\) and therefore computing *G* _{ I }(*e*) for all arcs requires at most \(\mathcal {O}(|E|^{3})\) computation steps. Furthermore, a solution of the FASP on *G* _{ I }(*e*) can be computed due to Lemma 1 in \(\mathcal {O}(|E|^{2})\). Due to the fact that during the construction of (*S*, *τ*) no parallel arcs appear, we have to recompute the isolated cycles at most |*V* | times. Thus, (*S*, *τ*) can be determined in \(\mathcal {O}(|V||E|^{3})\). Furthermore, we can use the backtracking procedure of Proposition 3 to compute a solution of the FASP in \(\mathcal {O}(|V||E|^{2})\) once (*S*, *τ*) is known. □

Observe that Theorem 3 was already stated in Section 3 as Theorem A. However, the result leads to the question : What are fast (linear, quadratic time) checkable conditions a graph (*G*, *ω*) has to satisfy to be resolvable. Though, we can easily construct resolvable graphs as (*C*, *δ*) in Fig. 4 or modified versions of (*C*, *δ*) by adding additional isolated cycles a characterization of resolvable graphs is still open. A better understanding of the non-resolvable graphs might help to solve that problem. In order to investigate these graphs the class of graphs without isolated cycles at all, seems to be interesting. Therefore, the next result might be a good starting point for further studies.

### **Proposition 4**

*The directed clique*

*D*

_{3}= (

*V*,

*E*)

*in*Fig. 5

*is the smallest graph with O*

_{el}(

*G*) ≠ ∅

*and*

*O*

_{ I }(

*G*) =

*∅*,

*i.e. any non-isomorphic graph*

*G*′ = (

*V*′,

*E*′)

*with*

*O*(

*G*′) ≠ ∅

*and*

*O*

_{ I }(

*G*′) = ∅

*satisfies*|

*V*′| + |

*E*′| > |

*V*| + |

*E*|.

### Proof

If *G*′ is a graph with *O*(*G*′) ≠ *∅*, *O* _{ I }(*G*′) = *∅* then *G*′ possesses at least three vertices and |*O*(*G*′)| ≥ 3 has to hold. We claim that there are at least three linear independent cycles. Indeed if *d* _{1}, *d* _{2}, *d* _{3} ∈ *O*(*G*′) with *λ d* _{1} + *μ d* _{2} + *η d* _{3} = 0, \( \lambda , \mu , \eta \in \mathbb {Z}\) then due to Remark 2 we know that *d* _{1}, *d* _{2}, *d* _{3} ∈ {0,1}^{|E|} and no elementary cycle is subset of another. So w.l.o.g. we can assume that *d* _{1} = *d* _{2} + *d* _{3}, which contradicts that all cycles are elementary. Thus, \(\dim _{\mathbb {Z}} \Lambda (G^{\prime })= |E^{\prime }|-|V^{\prime }|+1 \geq \dim _{\mathbb {Z}} O(G^{\prime }) \geq 3\). This observation implies that |*E*′|≥|*E*| whenever |*V*′| > 3. Since *D* _{3} is an directed clique we can identify any smaller graph *G*′ with a subgraph of *D* _{3}. It is easy to see that deletion of any arc *e* ∈ *E* produces an isolated cycle in *D* _{3}. For instance if we delete *e* _{4} then *c* _{3} will be isolated, if we delete *e* _{5} then *c* _{2} will be isolated and so on. Hence *G*′≅*D* _{3}. □

If *G* is a non-resolvable graph then one can think about different methods to solve the FASP of the resolved graph (*S*, *τ*). One possibility is discussed in the next section.

## 7 The Bellman Decomposition

In this section we formulate an solution of the FASP based on a dynamic programming technique. Such an approach can be applied to optimization problems whenever there is a decomposition of the problem into subproblems which satisfy the Bellman principle, i.e., every optimal solution consists only of optimal subsolutions. To motivate the following definitions we first consider an example.

### Example 4

*G*,

*ω*) in Fig. 6. If we want to know, which arc of

*c*

_{3}we have to cut for an optimal solution then this depends on the cycles

*c*

_{1},

*c*

_{2}. The benefit of cutting

*e*

_{1}instead of

*e*

_{2}or

*e*

_{3}is that we do not have to cut

*c*

_{1}anymore which costs at least 2. Thus we introduce a new weight

*σ*, which equals

*ω*on

*E*∖{

*e*

_{1}} and is set to

*σ*(

*e*

_{1}) =

*ω*(

*e*

_{1}) − 2 = 3 on

*e*

_{1}. Since no other cycles than

*c*

_{3}are cut by

*d*

_{3}the weight of

*d*

_{3}remains unchanged. Now we consider \(H_{e_{3},d_{3}} = G_{\text {el}}(e_{3})\setminus d_{3}\) and \(H_{d_{3},e_{3}} = G_{\text {el}}(d_{3})\setminus e_{3}\) and compute

*e*

_{3}is {

*e*

_{3},

*d*

_{1}} and the best solution containing

*d*

_{3}is {

*d*

_{3},

*e*

_{1}} and we observe that

*σ*.

We need to introduce several concepts to show that this observation remains true in general.

### **Definition 8**

**(arc sensitivity)**Let (

*G*,

*ω*) be a graph and

*e*,

*f*∈

*E*,

*e*≠

*f*and

*G*

_{el}(

*e*) = (

*V*

_{ e },

*E*

_{ e }) be given. Then we say that f is arc sensitive to e with respect to the FASP, denoted by

*f*↠

*e*, if and only if

*e*.

Note that the arcs *f* of an isolated cycle *c* ∈ *O* _{ I }(*e*) can not be sensitive to *e*. Thus, arc sensitivity detects arcs, which might prevent us from solving the FASP on *G* _{el}(*e*) independently from the rest of the graph. An understanding of these dependencies can be reached by understanding the *meta graph* of *G* defined in the following.

### **Definition 9**

**(meta graph)**Let (

*G*,

*ω*) be a graph and

*c*∈ O

_{el}(

*G*). We set \(V_{0}=\mathcal {E}(c)\),

*E*

_{0}=

*W*

_{0}=

*∅*and for

*k*≥ 1 we define recursively \(W_{k} = \cup _{i=0}^{k} V_{i} \) with

*V*

_{ K }=

*∅*we introduce the simple, undirected graph \(M_{c} := (V_{M_{c}},E_{M_{c}})= \bigcup _{k=0}^{K}(V_{k},E_{k})\) as the meta graph of G with respect to c. Furthermore, we introduce \(\mathcal {C}(c)= \mathcal {G}(\mathrm {O}_{\text {el}}(V_{M_{c}}))\subseteq G\) as the subgraph of all arc sensitive cycles containing c.

### **Lemma 2**

*Let* *G* = (*V*, *E*)*be a graph,* *c* ∈ O_{el}(*G*).*Then we can construct the meta graph* *M* _{ c } = (*V* _{ M }, *E* _{ M }) *in* \(\mathcal {O}(|E|^{3})\).

### Proof

Storing G in an adjacency list enables us to test whether O_{el}(*e*) ≠ *∅* in \(\mathcal {O}(|E|)\) by depht first search, which we have to do at most |*E*|^{2} times. Due to Theorem 2 the graph *G* _{el}(*e*) can be determined in \(\mathcal {O}(|E|^{2})\). Due to the fact that *V* _{ k } ∩ *V* _{ k−1} = *∅*, 1 ≤ *k* ≤ *K* we have to construct Gel(e) at most |*E*| times, which yields the claimed complexity. □

*σ*

_{ G, c, e, f }with respect to some

*c*∈ O

_{el}(

*G*) and \(e,f\in \mathcal {E}(c)\). As it will turn out

*σ*

_{ G, c, e, f }decodes which arcs of

*c*can be cutted to obtain a minimal feedback set. For a better clarity we firstly restrict ourselves to the case where the meta graph

*M*

_{ c }∖

*f*is a tree. In this case,

*e*is chosen as the root and

*σ*

_{ G, c, e, f }is given by solving the FASP for every leaf

*h*on

*ω*(

*h*) of the predecessor of

*h*. Afterwards, we delete all leafs of

*M*

_{ c }∖

*f*and iterate this procedure till

*e*becomes a leaf. More precisely:

### **Definition 10**

**(relative weight for meta trees)**Let (

*G*,

*ω*) be a weighted graph

*c*∈ O

_{el}(

*G*), \(e,f \in \mathcal {E}(c)\). Let

*M*

_{ c }be the meta graph of G with respect to c and assume that the connected subgraph

*M*

_{ c, f }of

*M*

_{ c }∖

*f*, which contains e is a tree. Then we define the relative weight of G with respect to

*c*,

*e*,

*f*

*G*,

*ω*),

*M*=

*M*

_{ c },

*e*,

*f*).

*M*

_{ c, f }generated by deleting edges, which cut cycles for the first time, seen from

*e*. In Example 5 we assert the definition for a special meta graph. The precise definition can be found below, using the following notions:

*M*= (

*V*

_{ M },

*E*

_{ M }) and any vertices

*h*,

*e*∈

*V*

_{ M }we denote with

*p*

_{ h }(

*M*,

*e*) the predecessor of

*h*with respect to root

*e*. If

*M*= (

*V*

_{ M },

*E*

_{ M }) is an arbitrary simple, undirected graph and

*q*∈

*V*

_{ M }then we consider the set

*D*

_{ k }(

*M*,

*q*) := {

*w*∈

*V*

_{ M }|

*d*(

*q*,

*w*) =

*k*} of all vertices possessing shortest path distance

*k*with respect to

*q*in

*M*. Furthermore, we consider

*U*(

*M*,

*q*) :=

*U*

_{ K(M, q)}(

*M*,

*q*). In other words:

*U*(

*M*,

*q*) denotes the set of vertices

*w*which cut cycles for the fist time, seen from starting point

*q*.

*M*

_{ h }the connected component of \(\widetilde M_{h}\) containing

*h*. Recursively for

*n*≥ 1 and an ordered set

*F*= {

*h*

_{0}, … ,

*h*

_{ n }} with \(h_{n} \in U(M_{h_{0},\dots , h_{n-1}},q)\) we define \(M_{h_{0},\dots ,h_{n}}:= (M_{h_{0},\dots ,h_{n-1}})_{h{_{n}}}\). For

*h*∈

*U*(

*M*,

*q*) we consider

*M*

^{≤U(M, q)}to be the connected component of \( \widetilde M^{\leq U(M,q)}\) containing

*q*, which is therefore a tree.

### **Definition 11**

*G*,

*ω*) be a graph, \(c\in \mathrm {O}_{\text {el}}(G), e,f\in \mathcal {E}(c)\) and

*M*

_{ c }be the meta graph of G with respect to c. Let

*σ*

_{ G, M, e }be the output of Algorithm 4 with input ((

*G*,

*ω*),

*M*

_{ c },

*e*,

*f*),

*M*=

*M*

_{ c, e }. Then, we define

*relative weight*of

*G*with respect to

*c*,

*e*,

*f*.

### Example 5

*G*,

*ω*) be a graph, \(c\in \mathrm {O}_{\text {el}}(G), e_{0},e_{1}\in \mathcal {E}(c)\) and assume that \(M_{c,e_{1}}\) coincides with M from Example 7. We follow Algorithm 4 to compute \(\sigma _{G,M,e_{0},e_{1}}: E \longrightarrow \mathbb {R}\). Observe that

*U*(

*M*,

*e*

_{0}) = {

*f*

_{0},

*f*

_{1}} and \(U(M_{f_{1}},e_{0})=\{h_{0},h_{1}\}\). The graph \(M_{f_{1},h_{0}}\) is sketched in the next picture and turns out to be a tree. Now we delete all vertices which are closer to

*e*

_{0}as \(p_{h_{1}}(M,e_{0})\) and obtain the graph N. Next we compute the relative weight \(\sigma (h_{1}):=\sigma _{N,p_{h_{1}}(M,p_{h_{1}}),e_{1}}(h_{1})\) of

*h*

_{1}with respect to \(N,p_{h_{1}}\). Analogously, we compute \(\sigma (h_{0}):=\sigma _{N,p_{h_{0}}(M,p_{h_{0}}),e_{1}}(h_{0})\) and consider the graph \(M^{\leq }= M_{f_{1}}^{\leq U(M_{f_{1}},e_{0})}\), which is sketched in the last picture. Now

*M*

^{≤}is a tree and the predecessor of

*f*

_{1}is

*e*

_{0}. Thus, we can compute

*ω*(

*f*

_{0}),

*ω*(

*f*

_{1}) with these weights, respectively (Fig. 7).

### **Proposition 5**

*Let*

*G*= (

*V*,

*E*)

*be a graph*

*c*∈ O

_{el}(

*G*),\(e,f \in \mathcal {E}(c)\)

*and let the meta graph*

*M*

_{ c }

*of G with respect to*c

*be given. Denote with*

*dimension ofthe cycle space*Λ

^{0}(

*M*

_{ c, f })

*of M*

_{ c, f }.

*Then*

- i)
The computation of

*σ*_{ G, c, e, f }can be realized in \(\mathcal {O}\big (2^{m(c,f)}|V||E|^{2}\log (|V|)\big )\). - ii)
\(m(c,f) \leq \dim _{\mathbb {Z}_{2}}\Lambda ^{0}(G)= |E|-|V| +\#G\)

### Proof

Assume that *M* _{ c, f } is a tree. As already mentioned, due to [10] and [11] the feedback length Ω(*G* _{ f }, *σ*) can be determined in \(\mathcal {O}\big (|V||E|\log (|V|)\big )\), and has to be computed at most \(|V_{M_{c,f}}|\leq |E|\) times. If *M* _{ c, f } is not a tree then we observe that the most expansive computation step in Algorithm 4 is again the computation of the relative weight with respect to a certain subtree of *M* _{ c, f } (lines 8 and 19 in Algorithm 4). This computation step has to be computed for every pair *f*, *h* ∈ *U*(*M*, *q*) twice, for some *M*, *q*. In worst case the combination of the pairs is independent, i.e., every other pair still appears once *M* _{ f } and *M* _{ h } are considered. In this case the set of remaining cycles running through the remaining pairs (*h*′, *f*′) do not contain the edges h and f and can therefore not be generated by the cycles running through (*h*, *f*) with respect to \(\mathbb {Z}_{2}\)-coefficients. Consequently, there are at most 2^{ m(c, f)} iterations. Together with the argumentation above this yields *i*).

To show *ii*) we write \(d= \{h_{0},\dots ,h_{k}\} \subseteq V_{M_{c,f}}\) as a list of connected meta vertices. Now we choose connected paths *p* _{ i } ⊆ *G*, 0 = 1 … , *k* + 1 connecting \(h_{i}^{-}\) with \(h_{i+1 \mod k+1}^{+}\). Then *c* = {{*h* _{0}}∪ *p* _{0} ∪…,{*h* _{ k }}∪ *p* _{ k } ∈ Λ^{0}(*G*) is a connected cycle in G. If *d* _{1}, … , *d* _{ m } ∈ Λ^{0}(*M* _{ c, f }) is a set of \(\mathbb {Z}_{2}\)-linear independent meta cycles then regardless of choices for the paths *p* _{ i } representing an meta edge the corresponding cycles *c* _{1}, … , *c* _{ m } ∈ Λ^{0}(*G*) are \(\mathbb {Z}_{2}\)-linear independent in Λ^{0}(*G*). Thus, *m*(*c*, *f*) is bounded by the \(\mathbb {Z}_{2}\)-dimension of Λ^{0}(*G*), proving *ii*). □

### Remark 12

Note that a graph *G* = (*V*, *E*) with *c* ∈ O_{el}(*G*) such that *M* _{ c } coincides with M in Fig. 11 can be easily constructed by choosing a starting cycle c and additional cycles *c* _{1}, *c* _{2} intersecting with c in *f* _{0}, *f* _{1}, respectively. Then we continue this process by follwing M for the ramining cycles. Hence, the set of graphs G with cycle c and meta graphs *M* _{ c } such that \(\dim _{\mathbb {Z}_{2}\Lambda ^{0}}(M)\) is small, is actually a huge set.

Indeed the relative weights satisfy a Bellman condition, which can be formulated as follows. We recall that \(\mathcal {G}_{o}(G)\subseteq G\) denotes the subgraph induced by all cycles of *G* and state:

### **Theorem 4**

*Let*(

*G*,

*ω*)

*be a weighted graph*

*c*∈ O

_{el}(

*G*), \(e,f\in \mathcal {E}(c)\)

*and*\(H_{e,f} = \mathcal {G}_{o}\big (G_{\text {el}}(e)\setminus f\big ),H_{f,e} = \mathcal {G}_{o}\big (G_{\text {el}}(f)\setminus e\big )\)

*then*

*where we shorten*

*σ*

_{ e }=

*σ*

_{ G, c, e, f },

*σ*

_{ f }=

*σ*

_{ G, c, f, e }

*and slightly abuse notation by still denoting σ*

_{ e },

*σ*

_{ f },

*ω for the restriction of the arc weights to the corresponding subgraphs, respectively.*

### Remark 13

*G*∖

*e*,

*ω*) and Ω(

*G*∖

*f*,

*ω*) we know that if e maximizes

*ω*(

*e*) + Ω(

*G*∖

*e*,

*ω*) = Ω(

*G*,

*ω*). Thus, {

*e*} can be extended to a global optimal solution. Maybe this relative formulation can be applied also to other problems for which one wants to use a dynamic programming technique. The described observation is also used in the proof of Theorem 4.

In addition to the observation above the following statement is needed to prove Theorem 4.

### **Lemma 3**

*Let*

*G*= (

*V*,

*E*)

*be a graph,*

*c*∈ O

_{el}(

*G*)

*and*\(e,f \in \mathcal {E}(c)\)

*such that there is*

*c*′ ∈ O

_{el}(

*e*) ∖O

_{el}(

*f*)

*and*\(p \in \mathcal {E}(c^{\prime })\).

*Then*

- i)
\(\sigma _{G,c,e,f}(h) = \sigma _{G\setminus f,c^{\prime },e,p}(h) \quad \text {for all} \,\,\,h \in \mathcal {E}\big (H^{\prime }_{e,p}\big )\).

- ii)
\(\sigma _{G,c,e,f}(p) = \omega (p) - \Omega \big (H^{\prime }_{p,e},\sigma _{G\setminus f,c^{\prime },p,e}\big ) \),

*where*\(H^{\prime }_{p,e}\)*is understood with respect to**G*′.

### Proof

To verify *i*) and *ii*) one has to follow directly Definitions 9, 10 and 11, which is left to the reader. □

### Proof of Theorem 4

_{el}(

*e*) = O

_{el}(

*f*) with respect to G then

*σ*

_{ G, c, e, f }=

*σ*

_{ G, c, f, e }and Ω(

*G*∖

*e*,

*ω*)) = Ω(

*G*∖

*f*,

*ω*)) and therefore the claim follows. Now we argue by induction on |O

_{el}(

*G*)|. If |O

_{el}(

*G*)| = 1 then there is only one totally isolated cycle and therefore O

_{el}(

*e*) = O

_{el}(

*f*) = {

*c*}. Thus, we are in a special case of the situation above and obtain the claim. Now assume that |O

_{el}(

*G*)| > 1 and \(\mathrm {O}_{\text {el}}(f)\subsetneq \mathrm {O}_{\text {el}}(e)\). We consider

*G*′ :=

*G*∖

*f*and observe that |O

_{el}(

*G*′)| < |O

_{el}(

*G*)|. We choose

*c*′ ∈ O

_{el}(

*G*′) with \(e \in \mathcal {E}(c^{\prime })\) and choose \(p \in \mathcal {E}(c^{\prime })\) such that

*c*′, where \(H^{\prime }_{e,p}\) ,\(H^{\prime }_{p,e}\) are understood with respect to

*G*′. Thus, following Remark 8 there holds

*G*″ = (

*V*″,

*E*″) :=

*H*

_{ e, f }with the arc weight

*G*″ and by Lemma 3

*i*) we have \(\sigma ^{\prime \prime }_{e}:=\sigma _{G^{\prime \prime },c^{\prime },e,p}(h) = \sigma _{G^{\prime },c,e,p}(h) = \gamma (h)\) for all \(h \in \mathcal {E} (H^{\prime \prime }_{e,p})\), where \(H^{\prime \prime }_{e,p}\) is understood with respect to

*G*″. Moreover,

*γ*(

*e*) =

*ω*(

*e*) and therefore

*ii*) we have that \( \sigma _{G,c,e,f}(p) = \omega (p) -\Omega (H^{\prime }_{p,e},\sigma ^{\prime }_{p})\), \(\sigma _{p}^{\prime }=\sigma _{G^{\prime },c^{\prime },p,e}\). Inserting this fact in (12) gives

*c*′. Thus, again by induction

_{el}(

*f*) ⊆O

_{el}(

*e*) then Ω(

*H*

_{ f, e },

*σ*

_{ G, c, f, e }) = 0 and Ω(

*G*∖{

*e*,

*f*},

*ω*) = Ω(

*G*∖

*e*,

*ω*). Thus, by (15) this yields the claim. If \(\mathrm {O}_{\text {el}}(f) \subsetneq \mathrm {O}_{\text {el}}(e)\) then the analogous of (15) with respect to

*f*yields

*G*∖{

*e*,

*f*},

*ω*) − Ω(

*G*∖{

*f*,

*e*},

*ω*) = 0 this finishes the proof. □

We consider the Algorithms 5 and 6, denote with output (*A*) the set of all possible outputs an algorithm *A* can produce and conclude:

### **Corollary 1**

*Let*(

*G*,

*ω*)

*be a graph then the algorithm CUT is exact and complete with respect to the FASP, i.e,*

*while the algorithm CUT & RESOLVE is exact,i.e*.,

*Moreover, there is*

*m*∈ ℕ

*such that CUT and CUT & RESOLVE possess run times*\(\mathcal {O}\big (2^{m}|E|^{4}\log (|V|)\big )\), where theparameter

*m*≤|

*E*|−|

*V*| + 1can bedetermined in \(\mathcal {O}\big (|E|^{3})\big )\).

Indeed the corollary proves Theorem B and by Remark 12 the set of graphs with small *m* ∈ *N*, *m* < < |*V* | is a huge set.

### Proof

*e*∈

*ε*then

*ε*∖{

*e*} solves the minimal FASP on

*G*(

*E*∖{

*e*}). Thus, the exactness and completeness statements follow directly from Theorems 4,3. For

*c*∈ O

_{el}(

*G*) we set \(m(c):= \dim _{\mathbb {Z}_{2}}\Lambda ^{0}(M_{c})\). Then

*m*(

*c*) ≥

*m*(

*c*,

*f*) for all \(f \in \mathcal {E}(c)\) with

*m*(

*c*,

*e*) and Proposition 5 implies that

*m*(

*c*) ≤|

*E*|−|

*V*| + 1 holds. Let \(c^{\prime }\in \mathcal {C}(c)\) with

*c*′∩

*c*≠ 0, be any cycle in the component of all arc connected cycles containing c, introduced in Definition 9. Then

*m*(

*c*′) ≤

*m*(

*c*) on

*G*∖

*e*for every \(e \in \mathcal {E}(c)\). Thus, as long as at least one arc \(e\in \mathcal {E}(c)\) was deleted the maximal number of appearing \(\mathbb {Z}_{2}\)-linear independent meta cycles appearing for the computation of \(\sigma _{G\setminus e,c^{\prime },h,k}\), \(h,k \in \mathcal {E}(c^{\prime })\) are bounded by

*m*(

*c*). Thus, by setting

*G*

_{0}=

*G*, choosing a cycle

*c*

_{0}∈ O

_{el}(

*G*

_{0}), determing \(M_{c_{0}} = (V_{M_{c_{0}}},E_{M_{c_{0}}})\) and considering

*c*

_{ k }∈ O

_{el}(

*G*

_{ k }), \(G_{k} = G_{k-1}\setminus V_{M_{c_{k-1}}}\),

*k*≥ 1 we obtain cycles

*c*

_{0}, … ,

*c*

_{ n },

*n*≤|

*E*| with \(\mathcal {C}(c_{i})\cap \mathcal {C}(c_{j})= \emptyset \) and \(\cup _{i=0}^{n}\mathcal {C}(c_{i}) = \mathrm {O}_{\text {el}}(G)\). Since \(\mathcal {E}\big (\mathcal {C}(c_{i})\big )\cap \mathcal {E}\big (\mathcal {C}(c_{j}))=\emptyset \) the parameter

*m*:= max

*i*= 0, … ,

*nm*(

*c*

_{ i }) can be determined in \(\mathcal {O}\big (|E|^{3}\big )\) due to Lemma 2.

Since the algorithm CUT computes *σ* _{ G, c, e, h }, *σ* _{ G, c, h, e } for fixed \(e \in \mathcal {E}(c)\) and all \(h \in \mathcal {E}(c)\) and \(|\mathcal {E}(c)|\leq |V|\), cuts the right arc and repeats the computation at most |*E*| times by observing that \(\mathcal {O}(|V|^{2})=\mathcal {O}(|E|)\) the run time of the algorithm CUT can be estimated as claimed. Recall, that due to Theorem 3 the resolved graph can be computed in \(\mathcal {O}\big (|V||E|^{3}\big )\). Therefore, the analogous argumentation yields the claimed run time for the algorithm *CUT* & *RESOLVE*. □

Due to the fact that the FASP is NP complete, as expected our approach depends exponentially on some parameter, which in our approach is the number *m* of liner independent meta cycles. In cases where *m* is large we have to use another method to solve the FASP or use a heuristic.

## 8 Valid Greedy Solutions

As for instance shown in [19] a greedy solution for the FASP needs not to be optimal. We give a criterium on solutions which guarantees optimility. Moreover, we can estimate the failure of every sub optimal solution. Finally, we suggest a heuristic given by a hybrid technique of the already presented approaches.

*G*,

*ω*) we consider the functions

*θ*

_{ G }(

*e*) is a NP-hard problem and the results of [34] and [20] solving the problem in \(\mathcal {O}\big (|\theta _{G}(e)|(|V|+|E|)\big )\), where

*θ*

_{ G }(

*e*) can depend exponentially on

*G*. However, [31] could establish efficent and close estimations of the number of

*s*−

*t*paths. Since |O

_{el}(

*e*)| = |

*P*

_{el}(

*e*

^{−},

*e*

^{+})| the result enables us to determine

*θ*

_{ G }(

*e*) efficently, with small failure. In contrast,

*φ*

_{ G }can be determined in \(\mathcal {O}(|E|^{2})\) due to Theorem 2.

### **Definition 12**

*G*,

*ω*) be a given weighted graph with

*G*=

*G*

_{ o }. We introduce the efficent weights

*ω*

_{max}(

*G*,

*ω*) := max

*e*∈

*E ω*(

*e*),

*θ*

_{max}(

*G*) = max

*e*∈

*E θ*

_{ G }(

*e*),

*φ*

_{max}(

*G*) := max

*e*∈

*E φ*

_{ G }(

*e*),

*ξ*

_{max}(

*G*,

*ω*) := max

*e*∈

*E ξ*(

*e*),

*η*

_{max}(

*G*,

*ω*) := max

*e*∈

*E η*(

*e*), and \(\mu (G,\omega ) = \left \lceil \frac {|\mathrm {O}_{\text {el}}(G)|}{\xi _{\max }(G,\omega )}\right \rceil \), \(\upsilon (G,\omega )= \left \lceil \frac {|E|}{\eta _{\max }(G,\omega )}\right \rceil \), where ⌈⋅⌉ denotes the Gauss-bracket.

### **Theorem 5**

*Let*(

*G*,

*ω*)

*be a given graph. Then*

*G*,

*ω*)with

*μ*(

*G*,

*ω*) = Ω(

*G*,

*ω*)or

*υ*(

*G*,

*ω*) = Ω(

*G*,

*ω*).

### Proof

*G*

_{0}=

*G*and

*G*

_{ i }= (

*V*

_{ i },

*E*

_{ i }) :=

*G*(

*E*∖{

*e*

_{1}, … ,

*e*

_{ i−1}}), for

*i*≥ 1 and denote with \(\omega _{G_{i}}\) the corresponding restriction of

*ω*to

*E*

_{ i }. Now due to the fact that \(\xi _{G_{i},\omega _{i}}(e)\leq \xi _{G,\omega }(e)\) for all

*e*∈

*E*

_{ i },1 ≤

*i*≤

*n*we obtain

*G*,

*ω*) be a graph with

*ω*= 1 and O

_{el}(

*G*) = {

*c*

_{0}, … ,

*c*

_{ n }}, which are arranged path like, i.e., \(|\mathcal {E}(c_{i}\cap c_{i+1})| = 1\) and \(|\mathcal {E}(c_{i}\cap c_{j})| = 0\) if

*j*≠

*i*. Then one verifies easily that

*μ*(

*G*,

*ω*) = Ω(

*G*,

*ω*). By replacing

*θ*

_{ G }with

*φ*

_{ G }and

*μ*(

*G*,

*ω*) with

*υ*(

*G*,

*ω*) the exact same argumentaion yields the remaining claim. □

### Remark 14

Note, that of course there are many more graphs with *μ*(*G*, *ω*) = Ω(*G*, *ω*) or *υ*(*G*, *ω*) = Ω(*G*, *ω*) then those used in the proof above. Nevertheless, it is hard to give a good condition on a graph such that *μ*(*G*, *ω*) = Ω(*G*, *ω*) or *υ*(*G*, *ω*) = Ω(*G*, *ω*) holds. For instance in [19] an example of a planar graph is given, where this is not the case. Certainly, the lower bounds can be used to improve the performance of a variety of algorithms solving the FASP or to control the quality of a heuristic as the Algorithms 7 and 8.

*GREEDY-CUT*and

*GREEDY-CUT & RESOLVE*and discuss their properties.

### **Proposition 6**

*Let*(

*G*,

*ω*)

*and*

*ε be a solution of GREEDY-CUT or GREEDY-CUT*&

*RESOLVE with respect to the effective weigth*

*ξ*.

*Then*

*If in particular ω*≡ 1

*then*|

*ε*| ≤ |

*E*|/2.

### Proof

*ε*= {

*e*

_{1}, … ,

*e*

_{ n }} of GREEDY-CUT. Assume that

*ε*is ordered with respect to appearing arcs, set

*G*

_{1}=

*G*and

*G*

_{ i }= (

*V*

_{ i },

*E*

_{ i }) :=

*G*(

*E*∖{

*e*

_{1}, … ,

*e*

_{ i−1}}), for

*i*≥ 2 and denote with \(\omega _{G_{i}}\), \(\theta _{G_{i}}\) and \(\xi _{G_{i}}\) the corresponding restrictions of

*ω*,

*θ*

_{ G },

*ξ*

_{ G }to

*E*

_{ i }. Then we compute

*ξ*

_{ n }(

*e*

_{ n }) =

*ξ*

_{min}(

*ε*) we use Theorem 5 to compute

*GREEDY-CUT & RESOLVE*can be given by an easy adaption of the argument above and is left to the reader. Now let

*ω*≡ 1 then we argue by induction on |

*ε*| to show that |

*ε*|≤|

*E*|/2 for both algorithms. If |

*ε*| = 1 then due to the fact that

*G*possesses no loops the claim follows. Now let |

*ε*| > 1 we order

*ε*= {

*e*

_{1}, … ,

*e*

_{ n }} with respect to appearance and consider

*ε*

_{1}:= {

*e*

_{1}},

*ε*

_{2}=

*ε*∖{

*e*

_{1}} and

*G*

_{1}:= (

*V*

_{1},

*E*

_{1}) =

*G*(O

_{el}(

*e*

_{1})),

*G*

_{2}:= (

*V*

_{2},

*E*

_{2}) =

*G*(O

_{el}(

*ε*

_{2})). By induction we have |

*ε*

_{2}|≤|

*E*

_{2}|/2. Consider

*G*/(

*E*

_{1}∩

*E*

_{2}), delete all appearing loops and denote the resulting graph with \(G_{1}^{*}\). If \(\mathrm {O}_{\text {el}}(G_{1}^{*})=\{c\}\) then all cycles of O

_{el}(

*G*) are totally isolated and the claim follows by triviality. If \(|\mathrm {O}_{\text {el}}(G_{1}^{*})|>1\) then \(|\varepsilon _{1}|\leq |E_{1}^{*}|/2\). Since \(E_{1}^{*} \cap E_{2} = \emptyset \) this implies that

Be replacing *θ* _{ G }, with *φ* _{ G } and *ξ* _{ G, ω } with *η* _{ G, ω } in *GREEDY-CUT* or *GREEDY-CUT & RESOLVE* the analouge argumentaion yields.

### **Proposition 7**

*Let*(

*G*,

*ω*)

*with*

*G*=

*G*

_{ o }

*and*

*ε be a solution of GREEDY-CUT or GREEDY-CUT*&

*RESOLVE with respect to the effective weigth*

*η*.

*Then*

*If inparticular ω*≡ 1

*then*|

*ε*| ≤ |

*E*|/2.

### Example 6

Consider the directed clique *D* _{3} from Fig. 5 with constant weight *w* ≡ 1. Then *D* _{3} coincides with its resolved graph and regardless of possible choices every candidate *ε* the algorithm GREEDY-CUT or *GREEDY-CUT* & *RESOLVE* proposes, satisfies |*ε*| = 3. Since *μ*(*D* _{3}) = 3 every candidate is optimal.

Summarizing our results so far the heuristics *GREEDY-CUT* or *GREEDY-CUT & RESOLVE* solve the FASP with controlled variance in \(\mathcal {O}(|E|^{4})\), due to Theorem 2, in case of effective weight *η* and in \(\mathcal {O}(f_{\theta }|E|^{2})\) in case of effective weight *ξ*, where *f* _{ θ } shall control the computation steps of *θ* _{ G }(*e*), ∀*e* ∈ *E*. Even if we approximate *θ*(*e*) by the method of [31] the resulting algorithm remains an efficient heuristic. However, possibly there is a more accurate method available, given by a hybrid algorithm of the methods introduced in this article. We expect that an implementation of this strategy yields a fast and precise general FASP-SOLVER, which due to Section 2 is therfore also a FVSP-SOLVER.

### **Strategy 1**

*For given weighted graph*(

*G*,

*ω*)

- 1.
*Compute the resolved graph*(*S*,*τ*). - 2.
*Choose a cycle**c*∈ O_{el}(*S*)*and compute the meta graph**M*_{ c }. - 3a.
*If the number of meta cycles**m*(*c*)*is large determine a “good” feedback vertex set*\(\nu _{M_{c}}\)*of**M*_{ c }*, with respect to the vertex weight*$$\omega_{M_{c}}: V_{M_{c}}\longrightarrow \mathbb{R}^{+}\,, \quad \omega_{V_{c}}(v) = \frac{1}{\omega(v)} \,, $$*using one of the known or presented methods*. - 3b.
*Alternatively, compute a maximal spanning tree*\(T_{M_{c}}=(V_{m_{c}},E_{T_{c}})\)*with respect to the arcweight weight*$$\omega_{M_{c}}: E_{M_{c}}\longrightarrow \mathbb{R}^{+}\,, \quad \omega_{M_{c}}(h) = \frac{1}{\omega(e)+ \omega(f)} \,, $$*where h*= [*e*,*f*],*e*,*f*, ∈*E**and set*\(\varepsilon _{M_{c}}=E_{M_{c}} \setminus E_{T_{c}}\). - 4.
*Set*\(G^{*} = G/\nu _{M_{c}}\)*and use CUT or CUT & RESOLVE to solve the FASP on on the component*\(\mathcal {C}(c^{*})\)*of arc connectedcycles containing*\(c^{*}=c/\nu _{M_{c}}\). - 5.
*Choose a new cycle c*′*of the resulting graph and repeat 1.-4. until no such cycle exists*. - 6.
*Use the backtracking procedure of Proposition 3 to compute a feedback arc set ε*⊆*E of G*.

*The union ν*

_{ M }

*of the meta feedback vertex sets of the meta graphs can be interpreted asarcs, which are forbidden to cut in G. The resulting feedback arc set ε will be optimalup to this obstruction, i.e., we have*

*denotes themeta graph of G*

^{∗}

*with respect to c*

^{∗}=

*c*/

*ν*

_{ M }.

*Hence, the quality of this heuristic can be evaluated by measuring how good G*

^{∗}

*approximates*

*G*.

*Thus, if*|

*ν*

_{ M }| < < |

*E*|

*and the weight of the forbidden arcs is very high, i.e.,*

*ν*

_{ M }

*will probably not be contained in any optimal solution, yieldingthe correctness of Strategy 1. Additionally, the lower bounds μ*(

*G*,

*ω*),

*υ*(

*G*,

*ω*)

*from*Section 8

*can be used to validate correctness. Analogous controls can be thought of, if we choose the alternative 3b*.

## 9 Discussion

An implementation of the described algorithms is planned to be realized. Certainly, a comparison of real run times with other approaches would be of great interest. So far we compare our results with other theoretical approaches. Due to the immense amount of results during the last decades we restrict our discussion to publications, which do not restrict themselves to very tight graph classes as *tournaments* [23] or *reducible flow graphs* [29]. Finally, we suggest how the approaches of this article might be adapted to related problems.

### 9.1 The algorithms from I. Razgon and J. Chen et al.

Note that for given graph (*G*, *ω*, *γ*) with arc weight *ω* and vertex weight *γ* a *brute force* method of solving the FASP/FVSP is given by considering every subset *ε* ⊆ *E* or *ν* ⊆ *V* and check whether the graphs *G* ∖ *ε*, *G* ∖ *ν* are acyclic, respectively. Since due to Remark 5, checking for acyclicity requires \(\mathcal {O}(|E|^{2})\) operations, we can generate a list of all FAS’s or FVS’s possessing length \(l_{A} \leq |\mathcal {P}(E)|=2^{|E|}\), \(l_{V}\leq |\mathcal {P}(V)|=2^{|V|}\). Choosing the cheapest FAS or FVS yields therefore a brute force algorithm solving the FASP/FVSP in \(\mathcal {O}(|2^{|E|}|E|^{2}|)\), \(\mathcal {O}(2^{|V|}|E|^{2})\), respectively.

The algorithm of [30] solves the unweighted FVSP on simple graphs in \(\mathcal {O}(1.9977^{|V|}|V|^{\mathcal {O}(1)})\). Compared to the brute force algorithm this yields almost no improvement. Therefore, the question occured whether the parametrised version of the FVSP could be solved by an *fixed parameter tractable algorithm*. Every NP-complete problem can be solved by a fixed parameter tractable algorithm, i.e., by choosing *p* as the problem size there is an algorithm with complexity \(\mathcal {O}(f(p))\), where *f* is an on the parameter *p* exponentially depending function. Thus, the term fixed parameter tractable could be misleading. The precise question is whether there exists an algorithm with run time \(\mathcal {O}(f(k)|V|^{\mathcal {O}(1)})\) computing a FVS of length less than *k* or determing that no such set exists. Since the FVSP is NP-complete the function *f* will be exponentially dependent on *k* unless *P* = *N P*. Indeed, the algorithm of [9] solves the parametrised version of the FVSP in \(\mathcal {O}\big (|E|^{4}4^{k}k^{3}k!\big )\). Thus, *f*(*k*) = *k* ^{3}4^{ k } *k*!, increases even worse than exponentially in *k*. Since a small feedback length almost always correlates to small graphs or very special graphs, e.g. tree-like graphs, even improvements of the algorithm won’t be usefull in many applications. Therefore, the article might be seen as an purely theoretical approach answering this question. Indeed, to the best of our knowledge none of the algorithms were used for an implementation of a general FVSP/FASP-SOLVER.

In contrast, the algorithms *CUT* and *CUT & RESOLVE* solve the FASP or FVSP on weighted multi-digraphs in \(\mathcal {O}\big (2^{m}|E|^{4}\log (|V|)\big )\) and \(\mathcal {O}\big (2^{n}\Delta (G)^{4}|V|^{4}\log (|E|)\big )\). The parameters *m* and *n* fulfill *m* ≤|*E*|−|*V* | + 1, *n* ≤ (Δ(*G*) − 1)|*V* |−|*E*| + 1 and can be computed in \(\mathcal {O}(|E|^{3})\), \(\mathcal {O}(\Delta (G)^{3}|V|^{3})\), respectively. Thus, in both cases we can efficently control the run time of the exact solutions, which enables us to a priori decide whether the given instance shall be solved exactly or by an heuristic, e.g., Strategy 1. This crucial difference to the other approaches and the fact that Strategy 1 is an heuristic on the meta level and not on the instance itsself, makes us confident that an implementation generates a fast and accurate FASP/FVSP-SOLVER yielding a deep impact on computational an applied sciences.

### 9.2 The polytop approach from C. Lucchesi et al.

In [26] and [16] a polytope of arc sets is assigned to a given graph. The FASP translates to solve a certain linear optimization over this polytope. In the case of *planar* or more general *weakly acyclic graphs* the polytope is integral, i.e., it possesses integral corners. Since the optimum will be obtained in at least one of the corners, one can apply the so called *ellipsoid method for submodular functions* [17] to find the right corner in polynomial time, see also [27] for further details. The approach is certainly remarkable though it contains some weaknesses.

The first problem is that though the algorithm runs in polynomial time the degree of the polynomial depends on a variety of parameters and cannot be estimated by hand a priori. Therefore, there are planar or weakly acyclic graphs, which can be solved efficently from a theoretical view point but actually a computer based implementation of the approach cannot ensure to meet a performance behavior applications require.

*K*

_{3,3}in Fig. 8, which is known to be a weakly acyclic graph. Then it is not hard to see that the meta graph

*M*

_{ c }contains only one cycle. Thus, though

*G*is not resolvable we can efficently solve the FASP on

*G*by applying the algorithm

*CUT*. In fact all examples of weakly acyclic graphs given in [17] turn out to be efficently solvable by

*CUT*. Since the techniques of this article are not sensitive to topological obstructions as planarity we expect that there are instances of the FASP, which are neither planar nor weakly acyclic and even though can be solved efficently by

*CUT*or

*CUT & RESOLVE*. On the other hand, by arranging cycles along several meta cycles it is quite easy to construct a planar graph

*G*with a number \(m \in \mathcal {O}(|E|)\) of linear independent meta cycles. Thus, so far none of the approaches can state to solve the “larger” instance class efficently.

However, a deeper understanding of the meta graphs and their topology seem to be the most relevant tasks for further research, which might enable us to classify weakly acyclic graphs and yield a completely new perspective to other questions in graph theory.

### 9.3 Heuristics

*ε*denotes a feedback set the heuristic

*GREEDY-CUT*or

*GREEDY-CUT & RESOLVE*proposes, then by Proposition 6 we have shown that if

*ω*≡ 1 then

*μ*(

*G*) can be determined or estimated from below, see [31]. We conjecture that (18) improves the known estimates given by [7]. Furthermore, other heuristics can be improved by the results of this article. For instance, the counter example for the Greedy approach introduced in [19] is resolvable and therefore

*RESOLVE & CUT*closes this gap. A comparison of Strategy 1, with the approximation of [13], where an approximation ratio in \(\mathcal {O}\big (\log (\Omega )\log (\log (\Omega ))\big )\) was established, might be usefull as well.

### 9.4 New Approach to the Subgraph Homeomorphism Problem

The NP-complete *directed subgraph homeomorphism problem* studied by [14] is to consider two given graphs *G* = (*V* _{ G }, *E* _{ G }) and *P* = (*V* _{ P }, *E* _{ P }) together with an injective mapping *m* : *V* _{ P }→*V* _{ G } of vertices of *P* into the vertices of *G*. Now the problem is given by deciding whether there exists a injective mapping from arcs of *P* into pairwise node disjoint elementary paths of *G* such that an arc *f* with head *h* and tail *t* is mapped on an elementary path from *m*(*t*) to *m*(*h*). For a given graph *G* ^{∗} = (*V* ^{∗}, *E* ^{∗}), *u*, *v* ∈ *V* ^{∗}, *f* = (*p*, *q*) ∈ *E* ^{∗} with deg(*p*),deg(*q*) ≥ 2 we consider a special instance of the directed subgraph homeomorphism problem by setting *G* = *G* ^{∗}∖ *f*, *P* = (*V* _{ P }, *E* _{ P }) with *V* _{ P } = {*a*, *b*, *c*, *d*}, *E* _{ P } = {(*a*, *b*),(*c*, *d*)} and *m*(*a*) = *u*, *m*(*b*) = *p*, *m*(*c*) = *q*, *m*(*d*) = *v*. Thus, solving the subgraph homeomorphism problem with respect to these special instances is equivalent to decide whether *f* is an arc of \(G^{*}_{\text {el}}(u,v)\). Hence, in addition to the polynomial time solvable instance classes known from [14], e.g. stars, also problem instances as defined above are polynomial time solvable due to Theorem 2. Potentially, our observations can be generalized in regard of this problem.

## Notes

### Acknowledgements

Open Access Funding provided by Max Planck Society. I want to thank Matthias Bernt for many fruitful discussions and his support for formalizing some algorithms. Moreover, a heartful thank you goes to Peter F. Stadler for the nice time at his bioinformatics institute in Leipzig.

## References

- 1.Alon, N.: Ranking tournaments. SIAM J. Discret. Math.
**20**(1), 137–142 (2006)MathSciNetCrossRefzbMATHGoogle Scholar - 2.Arora, S., Barak, B.: Computational Complexity: A Modern Approach, 1st edn. Cambridge University Press, New York (2009)CrossRefzbMATHGoogle Scholar
- 3.Korte, B., Lovász, L.: Mathematical structures underlying greedy algorithms. Fundamentals of Computation Theory, Lecture Notes in Comp. Sci. pages 205–209 (1981)Google Scholar
- 4.Bang-Jensen, J., Gutin, G.Z.: Digraphs: Theory, Algorithms and Applications, 2nd edn. Springer Publishing Company, Incorporated (2008)Google Scholar
- 5.Berge, C.: Hypergraphs, volume 45 of North-Holland Mathematical Library. Combinatorics of Finite Sets, North-Holland (1989)Google Scholar
- 6.Berge, C.: The Theory of Graphs. Dover books on mathematics, Dover (2001)zbMATHGoogle Scholar
- 7.Berger, B., Shor, P.W.: Approximation algorithms for the maximum acyclic subgraph problem. In SODA, pp. 236–243. SIAM (1990)Google Scholar
- 8.Biggs, N.: Algebraic Graph Theory, 2nd edn. Cambridge University Press, Cambridge (1993)zbMATHGoogle Scholar
- 9.Chen, J., Liu, Y., Lu, S., O’sullivan, B., Razgon, I.: A fixed-parameter algorithm for the directed feedback vertex set problem. J. ACM
**55**(5), 21:1–21:19 (2008)MathSciNetCrossRefzbMATHGoogle Scholar - 10.Dinic, E.: Algortithm for solution of a problem of maximum flow in network with power estimates. Dokl. Akad. Nauk SSSR
**194**(4), 1277–1280 (1970)MathSciNetGoogle Scholar - 11.Dinitz, Y.: Dinitz’ algorithm: The original version and even’s version Theoretical Computer Science, Essays in Memory of Shimon Even, pp 218–240 (2006)CrossRefGoogle Scholar
- 12.Dinur, I., Safra, S.: On the hardness of approximating minimum vertex cover. Ann. Math., 162 (2005)Google Scholar
- 13.Even, G., (Seffi) Naor, J., Schieber, B., Sudan, M.: Approximating minimum feedback sets and multicuts in directed graphs. Algorithmica
**20**(2), 151–174 (1998)MathSciNetCrossRefzbMATHGoogle Scholar - 14.Fortune, S., Hopcroft, J., Wyllie, J.: The directed subgraph homeomorphism problem. Theor. Comput. Sci.
**10**(2), 111–121 (1980)MathSciNetCrossRefzbMATHGoogle Scholar - 15.Gavril, F.: Some NP-complete problems on graphs 11th Conference on Information Sciences and Systems, pp 91–95 (1977)Google Scholar
- 16.Grötschel, M., Jünger, M., Reinelt, G.: On the acyclic subgraph polytope. Math. Program.
**33**(1), 28–42 (1985)MathSciNetCrossRefzbMATHGoogle Scholar - 17.Grötschel, M., Lovasz, L., Schrijver, A.: The ellipsoid method and its consequences in combinatorial optimization. Combinatorica
**1**(2), 169–197 (1981)MathSciNetCrossRefzbMATHGoogle Scholar - 18.Huang, H., Ma, J., Shapira, A., Sudakov, B., Yuster, R.: Large feedback arc sets, high minimum degree subgraphs, and long cycles in eulerian digraphs. Comb. Probab. Comput.
**22**, 859–873 (2013)MathSciNetCrossRefzbMATHGoogle Scholar - 19.Ispolatov, I., Maslov, S.: Detection of the dominant direction of information flow and feedback links in densely interconnected regulatory networks. BMC Bioinforma.
**9**(1), 424 (2008)CrossRefGoogle Scholar - 20.Johnson, D.B.: Finding all the elementary circuits of a directed graph. SIAM J. Comput.
**4**(1), 77–84 (1975)MathSciNetCrossRefzbMATHGoogle Scholar - 21.Kann, V.: On the approximability of the maximum common subgraph problem STACS 92, 9th Annual Symposium on Theoretical Aspects of Computer Science, Cachan, France, February 13-15, 1992, Proceedings, pp 377–388 (1992)Google Scholar
- 22.Karp, R.M.: Reducibility among combinatorial problems. In: Miller, R.E., Thatcher, J.W. (eds.) Complexity of Computer Computations, pp 85–103 (1972)CrossRefGoogle Scholar
- 23.Karpinski, M., Schudy, W.: Faster Algorithms for Feedback Arc Set Tournament, Kemeny Rank Aggregation and Betweenness Tournament 3–14. Springer Berlin Heidelberg, Berlin Heidelberg (2010)zbMATHGoogle Scholar
- 24.Kunzmann, A., Wunderlich, H.-J.: An analytical approach to the partial scan problem. J. Electron. Test.
**1**(2), 163–174 (1990)CrossRefGoogle Scholar - 25.Leiserson, C.E., Saxe, J.B.: Retiming synchronous circuitry. Algorithmica
**6**(1-6), 5–35 (1991)MathSciNetCrossRefzbMATHGoogle Scholar - 26.Lucchesi, C., Younger, D.: A minimax theorem for directed graphs. J. Lond. Math. Soc.
**2, 17**(3), 369–374 (1978)MathSciNetCrossRefzbMATHGoogle Scholar - 27.Martí, R.: The Linear Ordering Problem: Exact and Heuristic Methods in Combinatorial Optimization. Applied Mathematical Sciences. Springer (2011)Google Scholar
- 28.Mateti, P., Deo, N.: On algorithms for enumerating all circuits of a graph. SIAM J. Comput.
**5**(1), 90–99 (1976)MathSciNetCrossRefzbMATHGoogle Scholar - 29.Ramachandran, V.: Finding a minimum feedback arc set in reducible flow graphs. J. Algorithm.
**9**(3), 299–313 (1988)MathSciNetCrossRefzbMATHGoogle Scholar - 30.Razgon, I.: Computing minimum directed feedback vertex set in o(1.9977
^{n}) Theoretical Computer Science, 10th Italian Conference, ICTCS 2007, Rome, Italy, October 3-5, 2007, Proceedings, pp 70–81 (2007)Google Scholar - 31.Roberts, B., Kroese, D.P.: Estimating the number of s-t paths in a graph. J. Graph Algorithm. Appl. (2007)Google Scholar
- 32.Saab, Y.: A fast and effective algorithm for the feedback arc set problem. J. Heuristics
**7**(3), 235–250 (2001)CrossRefzbMATHGoogle Scholar - 33.Silberschatz, A., Galvin, P.B., Gagne, G.: Operating System Concepts. 8th edn. Wiley Publishing (2008)Google Scholar
- 34.Tarjan, R.E.: Enumeration of the elementary circuits of a directed graph. SIAM J. Comput.
**2**(3), 211–216 (1973)MathSciNetCrossRefzbMATHGoogle Scholar

## Copyright information

**Open Access**This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.