Results 1  10
of
51
An Optimal Algorithm for Approximate Nearest Neighbor Searching in Fixed Dimensions
 ACMSIAM SYMPOSIUM ON DISCRETE ALGORITHMS
, 1994
"... Consider a set S of n data points in real ddimensional space, R d , where distances are measured using any Minkowski metric. In nearest neighbor searching we preprocess S into a data structure, so that given any query point q 2 R d , the closest point of S to q can be reported quickly. Given any po ..."
Abstract

Cited by 923 (32 self)
 Add to MetaCart
Consider a set S of n data points in real ddimensional space, R d , where distances are measured using any Minkowski metric. In nearest neighbor searching we preprocess S into a data structure, so that given any query point q 2 R d , the closest point of S to q can be reported quickly. Given any positive real ffl, a data point p is a (1 + ffl)approximate nearest neighbor of q if its distance from q is within a factor of (1 + ffl) of the distance to the true nearest neighbor. We show that it is possible to preprocess a set of n points in R d in O(dn log n) time and O(dn) space, so that given a query point q 2 R d , and ffl ? 0, a (1 + ffl)approximate nearest neighbor of q can be computed in O(c d;ffl log n) time, where c d;ffl d d1 + 6d=ffle d is a factor depending only on dimension and ffl. In general, we show that given an integer k 1, (1 + ffl)approximations to the k nearest neighbors of q can be computed in additional O(kd log n) time.
External Memory Data Structures
, 2001
"... In many massive dataset applications the data must be stored in space and query efficient data structures on external storage devices. Often the data needs to be changed dynamically. In this chapter we discuss recent advances in the development of provably worstcase efficient external memory dynami ..."
Abstract

Cited by 83 (37 self)
 Add to MetaCart
In many massive dataset applications the data must be stored in space and query efficient data structures on external storage devices. Often the data needs to be changed dynamically. In this chapter we discuss recent advances in the development of provably worstcase efficient external memory dynamic data structures. We also briefly discuss some of the most popular external data structures used in practice.
Ambivalent data structures for dynamic 2edgeconnectivity and k smallest spanning trees
 SIAM Journal of Computing
, 1997
"... ..."
(Show Context)
ClosestPoint Problems in Computational Geometry
, 1997
"... This is the preliminary version of a chapter that will appear in the Handbook on Computational Geometry, edited by J.R. Sack and J. Urrutia. A comprehensive overview is given of algorithms and data structures for proximity problems on point sets in IR D . In particular, the closest pair problem, th ..."
Abstract

Cited by 73 (14 self)
 Add to MetaCart
This is the preliminary version of a chapter that will appear in the Handbook on Computational Geometry, edited by J.R. Sack and J. Urrutia. A comprehensive overview is given of algorithms and data structures for proximity problems on point sets in IR D . In particular, the closest pair problem, the exact and approximate postoffice problem, and the problem of constructing spanners are discussed in detail. Contents 1 Introduction 1 2 The static closest pair problem 4 2.1 Preliminary remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2 Algorithms that are optimal in the algebraic computation tree model . 5 2.2.1 An algorithm based on the Voronoi diagram . . . . . . . . . . . 5 2.2.2 A divideandconquer algorithm . . . . . . . . . . . . . . . . . . 5 2.2.3 A plane sweep algorithm . . . . . . . . . . . . . . . . . . . . . . 6 2.3 A deterministic algorithm that uses indirect addressing . . . . . . . . . 7 2.3.1 The degraded grid . . . . . . . . . . . . . . . . . . ...
An experimental analysis of selfadjusting computation
 In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI
, 2006
"... Selfadjusting computation uses a combination of dynamic dependence graphs and memoization to efficiently update the output of a program as the input changes incrementally or dynamically over time. Related work showed various theoretical results, indicating that the approach can be effective for a r ..."
Abstract

Cited by 48 (23 self)
 Add to MetaCart
Selfadjusting computation uses a combination of dynamic dependence graphs and memoization to efficiently update the output of a program as the input changes incrementally or dynamically over time. Related work showed various theoretical results, indicating that the approach can be effective for a reasonably broad range of applications. In this article, we describe algorithms and implementation techniques to realize selfadjusting computation and present an experimental evaluation of the proposed approach on a variety of applications, ranging from simple list primitives to more sophisticated computational geometry algorithms. The results of the experiments show that the approach is effective in practice, often offering orders of magnitude speedup from recomputing the output from scratch. We believe this is the first experimental evidence that incremental computation of any type is effective in practice for a reasonably broad set of applications.
Searching dynamic point sets in spaces with bounded doubling dimension
 In The thirtyeighth annual ACM symposium on Theory of computing (STOC
, 2006
"... We present a new data structure that facilitates approximate nearest neighbor searches on a dynamic set of points in a metric space that has a bounded doubling dimension. Our data structure has linear size and supports insertions and deletions in O(log n) time, and finds a (1 + ɛ)approximate neares ..."
Abstract

Cited by 41 (14 self)
 Add to MetaCart
(Show Context)
We present a new data structure that facilitates approximate nearest neighbor searches on a dynamic set of points in a metric space that has a bounded doubling dimension. Our data structure has linear size and supports insertions and deletions in O(log n) time, and finds a (1 + ɛ)approximate nearest neighbor in time O(log n) +(1/ɛ) O(1). The search and update times hide multiplicative factors that depend on the doubling dimension; the space does not. These performance times are independent of the aspect ratio (or spread) of the points. Categories and Subject Descriptors: F.2.2 [Nonnumerical Algorithms and Problems]:Sorting and searching, computations on discrete structures; E.1 [Data Structures]:Graphs and networks, trees.
Algorithms for Dynamic Closest Pair and nBody Potential Fields
 In Proc. 6th ACMSIAM Sympos. Discrete Algorithms
, 1995
"... We present a general technique for dynamizing certain problems posed on point sets in Euclidean space for any fixed dimension d. This technique applies to a large class of structurally similar algorithms, presented previously by the authors, that make use of the wellseparated pair decomposition. We ..."
Abstract

Cited by 36 (1 self)
 Add to MetaCart
(Show Context)
We present a general technique for dynamizing certain problems posed on point sets in Euclidean space for any fixed dimension d. This technique applies to a large class of structurally similar algorithms, presented previously by the authors, that make use of the wellseparated pair decomposition. We prove efficient worstcase complexity for maintaining such computations under point insertions and deletions, and apply the technique to several problems posed on a set P containing n points. In particular, we show how to answer a query for any point x that returns a constantsize set of points, a subset of which consists of all points in P that have x as a nearest neighbor. We then show how to use such queries to maintain the closest pair of points in P . We also show how to dynamize the fast multipole method, a technique for approximating the potential field of a set of point charges. All our algorithms use the algebraic model that is standard in computational geometry, and have worstca...
An Optimal Algorithm for Closest Pair Maintenance
 Discrete Comput. Geom
, 1995
"... Given a set S of n points in kdimensional space, and an L t metric, the dynamic closest pair problem is defined as follows: find a closest pair of S after each update of S (the insertion or the deletion of a point). For fixed dimension k and fixed metric L t , we give a data structure of size O(n) ..."
Abstract

Cited by 34 (0 self)
 Add to MetaCart
(Show Context)
Given a set S of n points in kdimensional space, and an L t metric, the dynamic closest pair problem is defined as follows: find a closest pair of S after each update of S (the insertion or the deletion of a point). For fixed dimension k and fixed metric L t , we give a data structure of size O(n) that maintains a closest pair of S in O(logn) time per insertion and deletion. The running time of algorithm is optimal up to constant factor because \Omega\Gammaaus n) is a lower bound, in algebraic decisiontree model of computation, on the time complexity of any algorithm that maintains the closest pair (for k = 1). The algorithm is based on the fairsplit tree. The constant factor in the update time is exponential in the dimension. We modify the fairsplit tree to reduce it. 1 Introduction The dynamic closest pair problem is one of the very wellstudied proximity problem in computational geometry [6, 1720, 22, 2426, 2831]. We are given a set S of n points in kdimensional space...
Experiments on the Practical I/O Efficiency of Geometric Algorithms: Distribution Sweep vs. Plane Sweep
, 1995
"... We present an extensive experimental study comparing the performance of four algorithms for the following orthogonal segment intersection problem: given a set of horizontal and vertical line segments in the plane, report all intersecting horizontalvertical pairs. The problem has important applicati ..."
Abstract

Cited by 26 (8 self)
 Add to MetaCart
We present an extensive experimental study comparing the performance of four algorithms for the following orthogonal segment intersection problem: given a set of horizontal and vertical line segments in the plane, report all intersecting horizontalvertical pairs. The problem has important applications in VLSI layout and graphics, which are largescale in nature. The algorithms under evaluation are distribution sweep and three variations of plane sweep. Distribution sweep is specifically designed for the situations in which the problem is too large to be solved in internal memory, and theoretically has optimal I/O cost. Plane sweep is a wellknown and powerful technique in computational geometry, and is optimal for this particular problem in terms of internal computation. The three variations of plane sweep differ by the sorting methods (external vs. internal sorting) used in the preprocessing phase and the dynamic data structures (B tree vs. 234 tree) used in the sweeping ...
Spacetime tradeoffs for approximate spherical range counting
 In Proc. 16th ACMSIAM Sympos. Discrete Algorithms
, 2005
"... Abstract We present spacetime tradeoffs for approximate spherical range counting queries. Given a set S of n data points in Rdalong with a positive approximation factor ffl, the goal is to preprocess the points so that, given any Euclidean ball B,we can return the number of points of any subset of ..."
Abstract

Cited by 25 (11 self)
 Add to MetaCart
(Show Context)
Abstract We present spacetime tradeoffs for approximate spherical range counting queries. Given a set S of n data points in Rdalong with a positive approximation factor ffl, the goal is to preprocess the points so that, given any Euclidean ball B,we can return the number of points of any subset of S that contains all the points within a (1 ffl)factor contraction ofB, but contains no points that lie outside a (1 + ffl)factor expansion of B.In many applications of range searching it is desirable to offer a tradeoff between space and query time. Wepresent here the first such tradeoffs for approximate range counting queries. Given 0 < ffl < = 1/2 and a parameterfl, where 2 < = fl < = 1/ffl, we show how to construct a data structure of space O(nfld log(1/ffl)) that allows us toanswer fflapproximate spherical range counting queries in time O(log(nfl) + 1/(fflfl)d1). The data structure can be built in time O(nfld log(n/ffl) log(1/ffl)). Here n, ffl, and fl areasymptotic quantities, and the dimension d is assumed to be a fixed constant.At one extreme (low space), this yields a data structure of space O(n log(1/ffl)) that can answer approximate range queries in time O(log n + (1/ffl)d1) which, up to a factorof O(log 1/ffl) in space, matches the best known result