Feedback arc set

From Wikipedia, the free encyclopedia
Jump to: navigation, search

In graph theory, a directed graph may contain directed cycles, a one-way loop of edges. In some applications, such cycles are undesirable, and we wish to eliminate them and obtain a directed acyclic graph (DAG). One way to do this is simply to drop edges from the graph to break the cycles. A feedback arc set (FAS) or feedback edge set is a set of edges which, when removed from the graph, leave a DAG. Put another way, it's a set containing at least one edge of every cycle in the graph.

Closely related are the feedback vertex set, which is a set of vertices containing at least one vertex from every cycle in the directed graph, and the minimum spanning tree, which is the undirected variant of the feedback arc set problem.

A minimal feedback arc set (one that can not be reduced in size by removing any edges) has the additional property that, if the edges in it are reversed rather than removed, then the graph remains acyclic. Finding a small edge set with this property is a key step in layered graph drawing.[1][2]

Example[edit]

As a simple example, consider the following hypothetical situation:

  • George says he will give you a piano, but only in exchange for a lawnmower.
  • Harry says he will give you a lawnmower, but only in exchange for a microwave.
  • Jane says she will give you a microwave, but only in exchange for a piano.

We can express this as a graph problem. Let each vertex represent an item, and add an edge from A to B if you must have A to obtain B. Your goal is to get the lawnmower. Unfortunately, you don't have any of the three items, and because this graph is cyclic, you can't get any of them either.

However, suppose you offer George $100 for his piano. If he accepts, this effectively removes the edge from the lawnmower to the piano, because you no longer need the lawnmower to get the piano. Consequently, the cycle is broken, and you can trade twice to get the lawnmower. This one edge constitutes a feedback arc set.

Computational Complexity[edit]

As in the above example, there is usually some cost associated with removing an edge. For this reason, we'd like to remove as few edges as possible. Removing one edge suffices in a simple cycle, but in general figuring out the minimum number of edges to remove is an NP-hard problem called the minimum feedback arc set problem. It is particularly difficult in k-edge-connected graphs for large k, where each edge falls in many different cycles. The decision version of the problem, which is NP-complete, asks whether all cycles can be broken by removing at most k edges; this was one of Richard M. Karp's 21 NP-complete problems, shown by reducing from the vertex cover problem.[3][4]

Although NP-complete, the feedback arc set problem is fixed-parameter tractable: there exists an algorithm for solving it whose running time is a fixed polynomial in the size of the input graph (independent of the number of edges in the set) but exponential in the number of edges in the feedback arc set.[5]

Viggo Kann showed in 1992 that the minimum feedback arc set problem is APX-hard, which means that there is a constant c, such that, assuming P≠NP, there is no polynomial-time approximation algorithm that always find an edge set at most c times bigger than the optimal result.[6][7] As of 2006, the highest value of c for which such an impossibility result is known is c = 1.3606.[8] The best known approximation algorithm has ratio O(log n log log n).[7][9] For the dual problem, of approximating the maximum number of edges in an acyclic subgraph, an approximation somewhat better than 1/2 is possible.[10][11]

If the input digraphs are restricted to be tournaments, the resulting problem is known as the minimum feedback arc set problem on tournaments (FAST). This restricted problem does admit a polynomial-time approximation scheme (PTAS); and this still holds for a restricted weighted version of the problem.[12] A subexponential fixed parameter algorithm for the weighted FAST was given by Karpinski & Schudy (2010).[13]

On the other hand, if the edges are undirected, the problem of deleting edges to make the graph cycle-free is equivalent to finding a minimum spanning tree, which can be done easily in polynomial time.

References[edit]

  1. ^ Di Battista, Giuseppe; Eades, Peter; Tamassia, Roberto; Tollis, Ioannis G. (1998), "Layered Drawings of Digraphs", Graph Drawing: Algorithms for the Visualization of Graphs, Prentice Hall, pp. 265–302, ISBN 9780133016154 .
  2. ^ Bastert, Oliver; Matuszewski, Christian (2001), "Layered drawings of digraphs", in Kaufmann, Michael; Wagner, Dorothea, Drawing Graphs: Methods and Models, Lecture Notes in Computer Science 2025, Springer-Verlag, pp. 87–120, doi:10.1007/3-540-44969-8_5 .
  3. ^ Karp, Richard M. (1972), "Reducibility Among Combinatorial Problems", Complexity of Computer Computations, Proc. Sympos. IBM Thomas J. Watson Res. Center, Yorktown Heights, N.Y., New York: Plenum, pp. 85–103 .
  4. ^ Garey, Michael R.; Johnson, David S. (1979), Computers and Intractability: A Guide to the Theory of NP-Completeness, W.H. Freeman, A1.1: GT8, p. 192, ISBN 0-7167-1045-5 .
  5. ^ Chen, Jianer; Liu, Yang; Lu, Songjian; O'Sullivan, Barry; Razgon, Igor (2008), "A fixed-parameter algorithm for the directed feedback vertex set problem", Journal of the ACM 55 (5), doi:10.1145/1411509.1411511 .
  6. ^ Kann, Viggo (1992), On the Approximability of NP-complete Optimization Problems, Ph.D. thesis, Department of Numerical Analysis and Computing Science, Royal Institute of Technology, Stockholm .
  7. ^ a b Crescenzi, Pierluigi; Kann, Viggo; Halldórsson, Magnús; Karpinski, Marek; Woeginger, Gerhard (2000), "Minimum Feedback Arc Set", A compendium of NP optimization problems .
  8. ^ Dinur, Irit; Safra, Samuel (2005), "On the hardness of approximating minimum vertex cover", Annals of Mathematics 162 (1): 439–485, doi:10.4007/annals.2005.162.439 . (Preliminary version in STOC 2002, titled "The importance of being biased", doi:10.1145/509907.509915.)
  9. ^ Even, G.; Naor, J.; Schieber, B.; Sudan, M. (1998), "Approximating minimum feedback sets and multicuts in directed graphs", Algorithmica 20 (2): 151–174, doi:10.1007/PL00009191, MR 1484534 .
  10. ^ Berger, B.; Shor, P. (1990), "Approximation algorithms for the maximum acyclic subgraph problem", Proceedings of the 1st ACM-SIAM Symposium on Discrete Algorithms (SODA’90), pp. 236–243 .
  11. ^ Eades, P.; Lin, X.; Smyth, W. F. (1993), "A fast and effective heuristic for the feedback arc set problem", Information Processing Letters 47: 319–323, doi:10.1016/0020-0190(93)90079-O .
  12. ^ Kenyon-Mathieu, Claire; Schudy, Warren (2007), "How to rank with few errors: a PTAS for weighted feedback arc set on tournaments", Proc. 39th ACM Symposium on Theory of Computing (STOC '07), pp. 95–103, doi:10.1145/1250790.1250806, MR 2402432 . See also author's extended version.
  13. ^ Karpinski, M.; Schudy, W. (2010), "Faster algorithms for feedback arc set tournament, Kemeny rank aggregation and betweenness tournament", Proc. 21st ISAAC (2010), Lecture Notes in Computer Science 6506, pp. 3–14, doi:10.1007/978-3-642-17517-6_3 .