Implementing Minimum Cycle Basis Algorithms
In this paper we consider the problem of computing a minimum cycle basis of an undirected graph G = (V,E) with n vertices and m edges. We describe an efficient implementation of an O(m 3 + mn 2log n) algorithm presented in . For sparse graphs this is the currently best known algorithm. This algorithm’s running time can be partitioned into two parts with time O(m 3) and O( m 2 n + mn 2 log n) respectively. Our experimental findings imply that the true bottleneck of a sophisticated implementation is the O( m 2 n + mn 2 log n) part. A straightforward implementation would require Ω(nm) shortest path computations, thus we develop several heuristics in order to get a practical algorithm. Our experiments show that in random graphs our techniques result in a significant speedup.
Based on our experimental observations, we combine the two fundamentally different approaches to compute a minimum cycle basis used in [1,2] and [3,4], to obtain a new hybrid algorithm with running time O(m 2 n 2). The hybrid algorithm is very efficient in practice for random dense unweighted graphs.
Finally, we compare these two algorithms with a number of previous implementations for finding a minimum cycle basis in an undirected graph.
Unable to display preview. Download preview PDF.
- 1.de Pina, J.: Applications of Shortest Path Methods. PhD thesis, University of Amsterdam, Netherlands (1995)Google Scholar
- 2.Kavitha, T., Mehlhorn, K., Michail, D., Paluch, K.E.: A faster algorithm for minimum cycle basis of graphs. In: 31st International Colloquium on Automata, Languages and Programming, Finland, pp. 846–857 (2004)Google Scholar
- 4.Golynski, A., Horton, J.D.: A polynomial time algorithm to find the minimum cycle basis of a regular matroid. In: 8th Scandinavian Workshop on Algorithm Theory (2002)Google Scholar
- 5.Chua, L.O., Chen, L.: On optimally sparse cycle and coboundary basis for a linear graph. IEEE Trans. Circuit Theory CT-20, 495–503 (1973)Google Scholar
- 11.Boost: C++ Libraries (2001), http://www.boost.org
- 12.Kreisbasenbibliothek: CyBaL (2004), http://www-m9.ma.tum.de/dm/cycles/cybal
- 13.Huber, M.: Implementation of algorithms for sparse cycle bases of graphs (2002), http://www-m9.ma.tum.de/dm/cycles/mhuber