8 research outputs found
Approximate Data Structures with Applications
In this paper we introduce the notion of approximate
data structures, in which a small amount of error is
tolerated in the output. Approximate data structures
trade error of approximation for faster operation, leading to theoretical and practical speedups for a wide variety of algorithms. We give approximate variants of the van Emde Boas data structure, which support the same dynamic operations as the standard van Emde Boas data structure [28, 201, except that answers to queries are approximate. The variants support all operations in constant time provided the error of approximation is l/polylog(n), and in O(loglog n) time provided the error
is l/polynomial(n), for n elements in the data structure.
We consider the tolerance of prototypical algorithms to approximate data structures. We study in particular Prim’s minimumspanning tree algorithm, Dijkstra’s single-source shortest paths algorithm, and an on-line variant of Graham’s convex hull algorithm. To obtain output which approximates the desired output
with the error of approximation tending to zero, Prim’s algorithm requires only linear time, Dijkstra’s algorithm requires O(mloglogn) time, and the on-line variant of Graham’s algorithm requires constant amortized time per operation
Dynamic Generation of Discrete Random Variates
The original publication is available at www.springerlink.comWe present and analyze efficient new algorithms for generating a random variate distributed according
to a dynamically changing set of N weights. The base version of each algorithm generates the
discrete random variate in O(log N) expected time and updates a weight in O(2log N) expected
time in the worst case. We then show how to reduce the update time to O(log N) amortized
expected time. We nally show how to apply our techniques to a lookup-table technique in order
to obtain expected constant time in the worst case for generation and update. We give parallel
algorithms for parallel generation and update having optimal processor-time product.
Besides the usual application in computer simulation, our method can be used to perform
constant-time prediction in prefetching applications. We also apply our techniques to obtain an
eÆcient dynamic algorithm for maintaining an approximate heap of N elements, in which each query
is required to return an element whose value is within an multiplicative factor of the maximal
element value. For = 1=polylog(N), each query, insertion, or deletion takes O(log log logN) time
Recommended from our members
Approximate data structures with applications
In this paper we introduce the notion of approximate data structures, in which a small amount of error is tolerated in the output. Approximate data structures trade error of approximation for faster operation, leading to theoretical and practical speedups for a wide variety of algorithms. We give approximate variants of the van Emde Boas data structure, which support the same dynamic operations as the standard van Emde Boas data structure, except that answers to queries are approximate. The variants support all operations in constant time provided the error of approximation is 1/polylog(n), and in O(log log n) time provided the error is 1/polynomial(n), for n elements in the data structure. We consider the tolerance of prototypical algorithms to approximate data structures. We study in particular Prim's minimum spanning tree algorithm, Dijkstra's single-source shortest paths algorithm, and an on-line variant of Graham's convex hull algorithm. To obtain output which approximates the desired output with the error of approximation tending to zero, Prim's algorithm requires only linear time, Dijkstra's algorithm requires O(m log log n) time, and the on-line variant of Graham's algorithm requires constant amortized time per operation
Approximate data structures with applications
In this paper we introduce the notion of approximate da2a siruclures, in which a small amount of error is tolerated in the output. Approximate data structures trade error of approximation for faster operation, lead-ing to theoretical and practical speedups for a wide va-riety of algorithms. We give approximate variants of the van Emde Boas data structure, which support the same dynamic operations as the standard van Emde Boas data structure [28, 201, except that answers to queries are approximate. The variants support all operations in constant time provided the error of approximation is l/polylog(n), and in O(loglog n) time provided the er-ror is l/polynomial(n), for n elements in the data struc-ture. We consider the tolerance of prototypical algo-rithms to approximate data structures. We study in particular Prim’s minimumspanning tree algorithm, Di-jkstra’s single-source shortest paths algorithm, and an on-line variant of Graham’s convex hull algorithm. To obtain output which approximates the desired output with the error of approximation tending to zero, Prim’s algorithm requires only linear time, Dijkstra’s algorithm requires O(mloglogn) time, and the on-line variant of Graham’s algorithm requires constant amortized time per operation
Approximate Data Structures with Applications (Extended Abstract)
) Yossi Matias y Jeffrey Scott Vitter z Neal E. Young x Abstract In this paper we introduce the notion of approximate data structures, in which a small amount of error is tolerated in the output. Approximate data structures trade error of approximation for faster operation, leading to theoretical and practical speedups for a wide variety of algorithms. We give approximate variants of the van Emde Boas data structure, which support the same dynamic operations as the standard van Emde Boas data structure [28, 20], except that answers to queries are approximate. The variants support all operations in constant time provided the error of approximation is 1=polylog(n), and in O(log log n) time provided the error is 1=polynomial(n), for n elements in the data structure. We consider the tolerance of prototypical algorithms to approximate data structures. We study in particular Prim's minimumspanning tree algorithm, Dijkstra 's single-source shortest paths algorithm, and an on-line varia..