Shortest Non-trivial Cycles in Directed and Undirected Surface Graphs
Proceedings of the Twenty-Fourth Annual ACM-SIAM Symposium on Discrete Algorithms
Let G be a graph embedded on a surface of genus g with b boundary cycles. We describe algorithms to compute multiple types of non-trivial cycles in G, using different techniques depending on whether or not G is an undirected graph. If G is undirected, then we give an algorithm to compute a shortest non-separating cycle in G in 2 O(g) n log log n time. Similar algorithms are given to compute a shortest non-contractible or non-null-homologous cycle in 2 O(g+b) n log log n time. Our algorithms for
... undirected G combine an algorithm of Kutz with known techniques for efficiently enumerating homotopy classes of curves that may be shortest non-trivial cycles. Our main technical contributions in this work arise from assuming G is a directed graph with possibly asymmetric edge weights. For this case, we give an algorithm to compute a shortest non-contractible cycle in G in O((g 3 + g b)n log n) time. In order to achieve this time bound, we use a restriction of the infinite cyclic cover that may be useful in other contexts. We also describe an algorithm to compute a shortest non-null-homologous cycle in G in O((g 2 + g b)n log n) time, extending a known algorithm of Erickson to compute a shortest non-separating cycle. In both the undirected and directed cases, our algorithms improve the best time bounds known for many values of g and b.