Theory of linear and integer programming
Theory of linear and integer programming
Network flows: theory, algorithms, and applications
Network flows: theory, algorithms, and applications
Scaling Algorithms for the Shortest Paths Problem
SIAM Journal on Computing
Shortest paths algorithms: theory and experimental evaluation
Mathematical Programming: Series A and B
Computers and Intractability: A Guide to the Theory of NP-Completeness
Computers and Intractability: A Guide to the Theory of NP-Completeness
Introduction to Algorithms
A greedy strategy for detecting negative cost cycles in networks
Future Generation Computer Systems - Special issue: High-speed networks and services for data-intensive grids: The DataTAG project
Chain programming over difference constraints
Nordic Journal of Computing
A mechanical verification of the stressing algorithm for negative cost cycle detection in networks
Science of Computer Programming
Analyzing chain programs over difference constraints
TAMC'06 Proceedings of the Third international conference on Theory and Applications of Models of Computation
Hi-index | 0.00 |
This paper is concerned with the problem of checking whether a network with positive and negative costs on its arcs contains a negative cost cycle. We introduce a fundamentally new approach for negative cost cycle detection; our approach, which we term as the Stressing Algorithm, is based on exploiting the connections between the Negative Cost Cyle Detection (NCCD) problem and the problem of checking whether a system of difference constraints is feasible. The Stressing Algorithm is an incremental, comparison-based procedure which is asymptotically optimal, modulo the fastest comparison-based algorithm for this problem. In particular, on a network with n vertices and m edges, the Stressing Algorithm takes O(mn) time to detect the presence of a negative cost cycle or to report that none exist. A very important feature of the Stressing Algorithm is that it uses zero extra space; this is in marked contrast to all known algorithms that require Ω(n) extra space.