Equivalences The minimum feedback arc set and maximum acyclic subgraph are equivalent for the purposes of exact optimization, as one is the
complement set of the other. However, for parameterized complexity and approximation, they differ, because the analysis used for those kinds of algorithms depends on the size of the solution and not just on the size of the input graph, and the minimum feedback arc set and maximum acyclic subgraph have different sizes from each other. A feedback arc set of a given graph G is the same as a
feedback vertex set of a directed
line graph Here, a feedback vertex set is defined analogously to a feedback arc set, as a subset of the vertices of the graph whose deletion would eliminate all cycles. The line graph of a directed graph G has a vertex for each edge and an edge for each two-edge path In the other direction, the minimum feedback vertex set of a given graph G can be obtained from the solution to a minimum feedback arc set problem on a graph obtained by splitting every vertex of G into two vertices, one for incoming edges and one for outgoing edges. These transformations allow exact algorithms for feedback arc sets and for feedback vertex sets to be converted into each other, with an appropriate translation of their complexity bounds. However, this transformation does not preserve approximation quality for the maximum acyclic subgraph problem. s, the rightmost of which can be split at articulation vertex d into two
biconnected components, each a cycle of two vertices. The feedback arc set problem can be solved separately in each strongly connected component, and in each biconnected component of a strongly connected component. In both exact and approximate solutions to the feedback arc set problem, it is sufficient to solve separately each
strongly connected component of the given graph, and to break these strongly connected components down even farther to their
biconnected components by splitting them at articulation vertices. The choice of solution within any one of these subproblems does not affect the others, and the edges that do not appear in any of these components are useless for inclusion in the feedback arc set. When one of these components can be separated into two disconnected subgraphs by removing two vertices, a more complicated decomposition applies, allowing the problem to be split into subproblems derived from the
triconnected components of its strongly connected components.
Exact One way to find the minimum feedback arc set is to search for an ordering of the vertices such that as few edges as possible are directed from later vertices to earlier vertices in the ordering. Searching all
permutations of an graph would take but a
dynamic programming method based on the
Held–Karp algorithm can find the optimal permutation in also using an exponential amount of space. A
divide-and-conquer algorithm that tests all partitions of the vertices into two equal subsets and recurses within each subset can solve the problem in {{nowrap|time O(4^n/\sqrt{n}),}} using
polynomial space. In
parameterized complexity, the time for algorithms is measured not just in terms of the size of the input graph, but also in terms of a separate parameter of the graph. In particular, for the minimum feedback arc set problem, the so-called
natural parameter is the size of the minimum feedback arc set. On graphs with n vertices, with natural the feedback arc set problem can be solved in by transforming it into an equivalent feedback vertex set problem and applying a parameterized feedback vertex set algorithm. Because the exponent of n in this algorithm is the independent this algorithm is said to be fixed-parameter tractable. Other parameters than the natural parameter have also been studied. A fixed-parameter tractable algorithm using dynamic programming can find minimum feedback arc sets in where r is the
circuit rank of the underlying undirected graph. The circuit rank is an undirected analogue of the feedback arc set, the minimum number of edges that need to be removed from a connected graph to reduce it to a
spanning tree; it is much easier to compute than the minimum feedback arc set. For graphs of dynamic programming on a tree decomposition of the graph can find the minimum feedback arc set in time polynomial in the graph size and exponential Under the
exponential time hypothesis, no better dependence on t is possible. Instead of minimizing the size of the feedback arc set, researchers have also looked at minimizing the maximum number of edges removed from any vertex. This variation of the problem can be solved in
linear time. All minimal feedback arc sets can be listed by an algorithm with
polynomial delay per set.
Approximate The best known polynomial-time approximation algorithm for the feedback arc set has the non-constant
approximation ratio This means that the size of the feedback arc set that it finds is at most this factor larger than the optimum. Determining whether feedback arc set has a constant-ratio approximation algorithm, or whether a non-constant ratio is necessary, remains an open problem. The maximum acyclic subgraph problem has an easy approximation algorithm that achieves an approximation ratio • Fix an arbitrary ordering of the vertices • Partition the edges into two acyclic subgraphs, one consisting of the edges directed consistently with the ordering, and the other consisting of edges directed oppositely to the ordering. • Return the larger of the two subgraphs. This can be improved by using a
greedy algorithm to choose the ordering. This algorithm finds and deletes a vertex whose numbers of incoming and outgoing edges are as far apart as possible, recursively orders the remaining graph, and then places the deleted vertex at one end of the resulting order. For graphs with m edges and n vertices, this produces an acyclic subgraph with m/2+n/6 edges, in linear time, giving an approximation ratio Another, more complicated, polynomial–time approximation algorithm applies to graphs with maximum and finds an acyclic subgraph with m/2+\Omega(m/\sqrt{\Delta}) edges, giving an approximation ratio of the {{nowrap|form \tfrac12+\Omega(1/\sqrt{\Delta}).}} When \Delta=3, the approximation ratio 8/9 can be achieved.
Restricted inputs In directed
planar graphs, the feedback arc set problem is
dual to the problem of contracting a set of edges (a
dijoin) to make the resulting graph
strongly connected. This dual problem is polynomially solvable, and therefore the planar minimum feedback arc set problem is as well. It can be solved in {{nowrap|time O(n^{5/2}\log n).}} A weighted version of the problem can be solved in or when the weights are positive integers that are at most a in {{nowrap|time O(n^{5/2}\log nN).}} These planar algorithms can be extended to the graphs that do not have the
utility graph K_{3,3} as a
graph minor, using the fact that the triconnected components of these graphs are either planar or of bounded size. Planar graphs have also been generalized in a different way to a class of directed graphs called
weakly acyclic digraphs, defined by the
integrality of a certain
polytope associated with their feedback arc sets. Every planar directed graph is weakly acyclic in this sense, and the feedback arc set problem can be solved in polynomial time for all weakly acyclic digraphs. The
reducible flow graphs are another class of directed graphs on which the feedback arc set problem may be solved in polynomial time. These graphs describe the flow of control in structured programs for many programming languages. Although structured programs often produce planar directed flow graphs, the definition of reducibility does not require the graph to be planar. When the minimum feedback arc set problem is restricted to
tournaments, it has a
polynomial-time approximation scheme, which generalizes to a weighted version of the problem. A subexponential parameterized algorithm for weighted feedback arc sets on tournaments is also known. The maximum acyclic subgraph problem for
dense graphs also has a polynomial-time approximation scheme. Its main ideas are to apply
randomized rounding to a
linear programming relaxation of the problem, and to
derandomize the resulting algorithm using walks on
expander graphs. ==Hardness==