## Parameters

`module GB : sig ... end`

## Signature

`exception Stuck of GB.G.vertex list`

Raised if cycles remain and all the remaining vertexes are obligatory. The argument gives the list of remaining vertexes.

`val feedback_arc_set : GB.G.t -> GB.G.edge list`

Return a minimal set of arcs whose removal or reversal would make the given graph acyclic.

By minimal, we mean that each arc in the returned list must be removed or reversed, i.e., none are superfluous. Since a heuristic is used, the returned list may not be a minimum feedback arc set. Finding the minimum feedback arc set, dually, the maximum acyclic subgraph is NP-hard for general graphs.