Listing Graph Orientations

Our journal paper on “Efficient enumeration of graph orientations with sources” is out on Discrete Applied Mathematics (available online since 24 August 2017). This is the result of the joint work with Alessio, Roberto, and Romeo about listing acyclic or cyclic orientation.

An orientation of an undirected graph is obtained by assigning a direction to each of its edges. It is called cyclic when a directed cycle appears, and acyclic otherwise. We study efficient algorithms for enumerating the orientations of an undirected graph. To get the full picture, we consider both the cases of acyclic and cyclic orientations, under some rules specifying which nodes are the sources (i.e. their incident edges are all directed outwards). Our enumeration algorithms use linear space and provide new bounds for the delay, which is the maximum elapsed time between the output of any two consecutively listed solutions. We obtain a delay of O(m) for acyclic orientations and Õ(m) for cyclic ones. When just a single source is specified, these delays become O(m⋅n) and O(m⋅h+h3), respectively, where h is the girth of the graph without the given source. When multiple sources are specified, the delays are the same as in the single source case.