Faster algorithms for minimum cycle basis in directed graphs

Hariharan, Ramesh ; Kavitha, Telikepalli ; Mehlhorn, Kurt (2008) Faster algorithms for minimum cycle basis in directed graphs SIAM Journal on Computing, 38 (4). pp. 1430-1447. ISSN 0097-5397

Full text not available from this repository.

Official URL: http://epubs.siam.org/doi/abs/10.1137/060670730

Related URL: http://dx.doi.org/10.1137/060670730

Abstract

We consider the problem of computing a minimum cycle basis in a directed graph. The input to this problem is a directed graph G whose edges have nonnegative weights. A cycle in this graph is actually a cycle in the underlying undirected graph with edges traversable in both directions. A $\{-1,0,1\}$ edge incidence vector is associated with each cycle: edges traversed by the cycle in the right direction get 1 and edges traversed in the opposite direction get $-1$. The vector space over $\mathbb{Q}$ generated by these vectors is the cycle space of G. A set of cycles is called a cycle basis of G if it forms a basis for this vector space. We seek a cycle basis where the sum of weights of the cycles is minimum. The current fastest algorithm for computing a minimum cycle basis in a directed graph with m edges and n vertices runs in $\tilde{O}(m^{\omega+1}n)$ time, where $\omega < 2.376$ is the exponent of matrix multiplication. We present an $O(m^3n+m^2n^2\log n)$ algorithm. We obtain our algorithm by using fast matrix multiplication over rings and an efficient extension of Dijkstra's algorithm to compute a shortest cycle in G whose dot product with a function on its edge set is nonzero. We also present a simple $O(m^2n+mn^2\log n)$ Monte Carlo algorithm. The problem of computing a minimum cycle basis in an undirected graph has been well studied. In this problem a $\{0,1\}$ edge incidence vector is associated with each cycle and the vector space over $\mathbb{Z}_2$ generated by these vectors is the cycle space of the graph. The fastest known algorithm for computing a minimum cycle basis in an undirected graph runs in $O(m^2n + mn^2\log n)$ time and our randomized algorithm for directed graphs matches this running time.

Item Type:Article
Source:Copyright of this article belongs to Society for Industrial and Applied Mathematics.
ID Code:102369
Deposited On:09 Mar 2018 11:27
Last Modified:09 Mar 2018 11:27

Repository Staff Only: item control page