Results 1  10
of
220
Fibonacci Heaps and Their Uses in Improved Network . . .
, 1987
"... In this paper we develop a new data structure for implementing heaps (priority queues). Our structure, Fibonacci heaps (abbreviated Fheaps), extends the binomial queues proposed by Vuillemin and studied further by Brown. Fheaps support arbitrary deletion from an nitem heap in qlogn) amortized t ..."
Abstract

Cited by 746 (18 self)
 Add to MetaCart
In this paper we develop a new data structure for implementing heaps (priority queues). Our structure, Fibonacci heaps (abbreviated Fheaps), extends the binomial queues proposed by Vuillemin and studied further by Brown. Fheaps support arbitrary deletion from an nitem heap in qlogn) amortized time and all other standard heap operations in o ( 1) amortized time. Using Fheaps we are able to obtain improved running times for several network optimization algorithms. In particular, we obtain the following worstcase bounds, where n is the number of vertices and m the number of edges in the problem graph: ( 1) O(n log n + m) for the singlesource shortest path problem with nonnegative edge lengths, improved from O(m logfmh+2)n); (2) O(n*log n + nm) for the allpairs shortest path problem, improved from O(nm lo&,,,+2,n); (3) O(n*logn + nm) for the assignment problem (weighted bipartite matching), improved from O(nm log0dn+2)n); (4) O(mj3(m, n)) for the minimum spanning tree problem, improved from O(mloglo&,,.+2,n), where j3(m, n) = min {i 1 log % 5 m/n). Note that B(m, n) 5 log*n if m 2 n. Of these results, the improved bound for minimum spanning trees is the most striking, although all the
Retiming Synchronous Circuitry
 ALGORITHMICA
, 1991
"... This paper describes a circuit transformation called retiming in which registers are added at some points in a circuit and removed from others in such a way that the functional behavior of the circuit as a whole is preserved. We show that retiming can be used to transform a given synchronous circui ..."
Abstract

Cited by 374 (3 self)
 Add to MetaCart
This paper describes a circuit transformation called retiming in which registers are added at some points in a circuit and removed from others in such a way that the functional behavior of the circuit as a whole is preserved. We show that retiming can be used to transform a given synchronous circuit into a more efficient circuit under a variety of different cost criteria. We model a circuit as a graph in which the vertex set Visa collection of combinational logic elements and the edge set E is the set of interconnections, each of which may pass through zero or more registers. We give an 0(V E lgV) algorithm for determining an equivalent retimed circuit with the smallest possible clock period. We show that the problem of determining an equivalent retimed circuit with minimum state (total number of registers) is polynomialtime solvable. This result yields a polynomialtime optimal solution to the problem of pipelining combinational circuitry with minimum register cost. We also give a characterization of optimal retiming based on an efficiently solvable mixedinteger linearprogramming problem.
The New Routing Algorithm for the ARPANET
 IEEE TRANSACTIONS ON COMMUNICATIONS
, 1980
"... The new ARPANET routing algorithm is an improvement test results. This paper is a summary of our conclusions only; over the old procedure in that it uses fewer network resources, operates on for more complete descriptions of our research findings, see more realistic estimates of network conditions, ..."
Abstract

Cited by 300 (2 self)
 Add to MetaCart
The new ARPANET routing algorithm is an improvement test results. This paper is a summary of our conclusions only; over the old procedure in that it uses fewer network resources, operates on for more complete descriptions of our research findings, see more realistic estimates of network conditions, reacts faster to important our internai reports on this project [3][5]. network changes, and does not suffer from longterm loops or oscillations. In the new procedure, each node in the network maintains a database 11. PROBLEMS WITH THE ORIGINAL ALGORITHM describing the complete network topology and the delays on all lines, and uses the database describing the network to generate a tree representing the me original ARPANET routing algorithm and the new verminimum delay paths from a given root node to every other network node. sion both attempt to route packets along paths of least delay. Because the traffic in the network can be quite variable, each node The total path is not determined in advance; rather, each node periodically measures the delays along its outgoing lines and forwards this decides which line to use in forwarding the packet to the next information to all other nodes. The delay information propagates quickly through the network so that all nodes can update their databases and node. In the original approach, each node maintained a table continue to route traffic in a consistent and efficient manner. An extensive series of tests were conducted on the ARPANET, showing that line overhead and CPU overhead are 60th less than two percent, most nodes learn of an update within 100 ms, and the algorithm detects congestion and routes packets around congested areas.
Faster algorithms for the shortest path problem
, 1990
"... Efficient implementations of Dijkstra's shortest path algorithm are investigated. A new data structure, called the radix heap, is proposed for use in this algorithm. On a network with n vertices, mn edges, and nonnegative integer arc costs bounded by C, a onelevel form of radix heap gives a t ..."
Abstract

Cited by 133 (13 self)
 Add to MetaCart
(Show Context)
Efficient implementations of Dijkstra's shortest path algorithm are investigated. A new data structure, called the radix heap, is proposed for use in this algorithm. On a network with n vertices, mn edges, and nonnegative integer arc costs bounded by C, a onelevel form of radix heap gives a time bound for Dijkstra's algorithm of O(m + n log C). A twolevel form of radix heap gives a bound of O(m + n log C/log log C). A combination of a radix heap and a previously known data structure called a Fibonacci heap gives a bound of O(m + n /log C). The best previously known bounds are O(m + n log n) using Fibonacci heaps alone and O(m log log C) using the priority queue structure of Van Emde Boas et al. [17].
All Pairs Almost Shortest Paths
 SIAM Journal on Computing
, 1996
"... Let G = (V; E) be an unweighted undirected graph on n vertices. A simple argument shows that computing all distances in G with an additive onesided error of at most 1 is as hard as Boolean matrix multiplication. Building on recent work of Aingworth, Chekuri and Motwani, we describe g) time ..."
Abstract

Cited by 96 (7 self)
 Add to MetaCart
Let G = (V; E) be an unweighted undirected graph on n vertices. A simple argument shows that computing all distances in G with an additive onesided error of at most 1 is as hard as Boolean matrix multiplication. Building on recent work of Aingworth, Chekuri and Motwani, we describe g) time algorithm APASP 2 for computing all distances in G with an additive onesided error of at most 2. The algorithm APASP 2 is simple, easy to implement, and faster than the fastest known matrix multiplication algorithm. Furthermore, for every even k ? 2, we describe an g) time algorithm APASP k for computing all distances in G with an additive onesided error of at most k.
All Pairs Shortest Paths using Bridging Sets and Rectangular Matrix Multiplication
 Journal of the ACM
, 2000
"... We present two new algorithms for solving the All Pairs Shortest Paths (APSP) problem for weighted directed graphs. Both algorithms use fast matrix multiplication algorithms. The first algorithm solves... ..."
Abstract

Cited by 88 (6 self)
 Add to MetaCart
(Show Context)
We present two new algorithms for solving the All Pairs Shortest Paths (APSP) problem for weighted directed graphs. Both algorithms use fast matrix multiplication algorithms. The first algorithm solves...
Fourier meets Möbius: fast subset convolution
 Proceedings of the 39th Annual ACM Symposium on Theory of Computing
, 2007
"... We present a fast algorithm for the subset convolution problem: given functions f and g defined on the lattice of subsets of an nelement set N, compute their subset convolution f ∗g, defined for all S ⊆ N by (f ∗ g)(S) = X f(T)g(S \ T), T ⊆S where addition and multiplication is carried out in an a ..."
Abstract

Cited by 80 (10 self)
 Add to MetaCart
(Show Context)
We present a fast algorithm for the subset convolution problem: given functions f and g defined on the lattice of subsets of an nelement set N, compute their subset convolution f ∗g, defined for all S ⊆ N by (f ∗ g)(S) = X f(T)g(S \ T), T ⊆S where addition and multiplication is carried out in an arbitrary ring. Via Möbius transform and inversion, our algorithm evaluates the subset convolution in O(n 2 2 n) additions and multiplications, substantially improving upon the straightforward O(3 n) algorithm. Specifically, if the input functions have an integer range {−M, −M+1,..., M}, their subset convolution over the ordinary sum–product ring can be computed in Õ(2 n log M) time; the notation Õ suppresses polylogarithmic factors. Furthermore, using a standard embedding technique we can compute the subset convolution over the max–sum or min–sum semiring in Õ(2n M) time. To demonstrate the applicability of fast subset convolution, we present the first Õ(2k n 2 + nm) algorithm for the Steiner tree problem in graphs with n vertices, k terminals, and m edges with bounded integer weights, improving upon the Õ(3k n+2 k n 2 +nm) time bound of the classical Dreyfus– Wagner algorithm. We also discuss extensions to recent Õ(2 n)time algorithms for covering and partitioning problems
Scaling Algorithms for Network Problems
, 1985
"... This paper gives algorithms for network problems that work by scaling the numeric parameters. Assume all parameters are integers. Let n, m, and N denote the number of vertices, number of edges, and largest parameter of the network, respectively. A scaling algorithm for maximum weight matching on a b ..."
Abstract

Cited by 76 (2 self)
 Add to MetaCart
This paper gives algorithms for network problems that work by scaling the numeric parameters. Assume all parameters are integers. Let n, m, and N denote the number of vertices, number of edges, and largest parameter of the network, respectively. A scaling algorithm for maximum weight matching on a bipartite graph runs in O(n3 % log N) time. For appropriate N this improves the traditional Hungarian method, whose most efftcient implementation is O(n(m + n log n)). The speedup results from finding augmenting paths in batches. The matching algorithm gives similar improvements for the following problems: singlesource shortest paths for arbitrary edge lengths (Bellman’s algorithm); maximum weight degreeconstrained subgraph; minimum cost flow on a cl network. Scaling gives a simple maximum value flow algorithm that matches the best known bound (Sleator and Tarjan’s algorithm) when log N = O(log n). Scaling also gives a good algorithm for shortest paths on a directed graph with nonnegative edge lengths (Dijkstra’s algorithm).
Finding the Hidden Path: Time Bounds for AllPairs Shortest Paths
, 1993
"... We investigate the allpairs shortest paths problem in weighted graphs. We present an algorithmthe Hidden Paths Algorithmthat finds these paths in time O(m* n+n² log n), where m is the number of edges participating in shortest paths. Our algorithm is a practical substitute for Dijkstra&ap ..."
Abstract

Cited by 76 (0 self)
 Add to MetaCart
(Show Context)
We investigate the allpairs shortest paths problem in weighted graphs. We present an algorithmthe Hidden Paths Algorithmthat finds these paths in time O(m* n+n² log n), where m is the number of edges participating in shortest paths. Our algorithm is a practical substitute for Dijkstra's algorithm. We argue that m* is likely to be small in practice, since m* = O(n log n) with high probability for many probability distributions on edge weights. We also prove an Ω(mn) lower bound on the running time of any pathcomparison based algorithm for the allpairs shortest paths problem. Pathcomparison based algorithms form a natural class containing the Hidden Paths Algorithm, as well as the algorithms of Dijkstra and Floyd. Lastly, we consider generalized forms of the shortest paths problem, and show that many of the standard shortest paths algorithms are effective in this more general setting.