Randomized algorithms for finding the shortest negative cost cycle in networks
Author(s)Orlin, James B; Subramani, K.; Wojciechowki, Piotr
MetadataShow full item record
In this paper, we design and analyze a fast, randomized algorithm for the problem of finding a negative cost cycle having the smallest number of edges in a directed, weighted graph. This problem will henceforth be referred to as the Shortest Negative Cost Cycle problem (SNCC). SNCC is closely related to the problem of checking whether a directed, weighted graph contains a negative cost cycle (NCCD). NCCD is an extremely well-studied problem within the domains of operations research and theoretical computer science. SNCC is important in its own right and finds several applications in program verification (Satisfiability modulo theories), abstract interpretation and real-time scheduling. It is also an important subroutine in solving the generalized submodular flow problem, which has applications in trading networks. The randomized algorithm presented in this paper for SNCC determines a shortest negative cost cycle with probability at least (1−e−1) in O(m⋅n⋅logn) time, on a network with n vertices and m edges. This is, in general, a significant improvement over the best deterministic bound of O(m⋅n⋅|C∗|) over the same parameters, where C∗ is a shortest negative cost cycle. This algorithm requires Ω(n⋅logn) random bits. We then propose a second randomized algorithm that runs in O(m⋅n⋅logn) expected time and requires O(n) random bits (expected).
Discrete Applied Mathematics
Orlin, James B., et al. “Randomized Algorithms for Finding the Shortest Negative Cost Cycle in Networks.” Discrete Applied Mathematics 236 (February. 2018): 387–94.
Author's final manuscript