Results 1  10
of
142
Data Structures and Algorithms for Nearest Neighbor Search in General Metric Spaces
, 1993
"... We consider the computational problem of finding nearest neighbors in general metric spaces. Of particular interest are spaces that may not be conveniently embedded or approximated in Euclidian space, or where the dimensionality of a Euclidian representation is very high. Also relevant are highdim ..."
Abstract

Cited by 333 (4 self)
 Add to MetaCart
We consider the computational problem of finding nearest neighbors in general metric spaces. Of particular interest are spaces that may not be conveniently embedded or approximated in Euclidian space, or where the dimensionality of a Euclidian representation is very high. Also relevant are highdimensional Euclidian settings in which the distribution of data is in some sense of lower dimension and embedded in the space. The vptree (vantage point tree) is introduced in several forms, together with associated algorithms, as an improved method for these difficult search problems. Tree construction executes in O(n log(n)) time, and search is under certain circumstances and in the limit, O(log(n)) expected time. The theoretical basis for this approach is developed and the results of several experiments are reported. In Euclidian cases, kdtree performance is compared.
Geometric Range Searching and Its Relatives
 CONTEMPORARY MATHEMATICS
"... ... process a set S of points in so that the points of S lying inside a query R region can be reported or counted quickly. Wesurvey the known techniques and data structures for range searching and describe their application to other related searching problems. ..."
Abstract

Cited by 266 (43 self)
 Add to MetaCart
... process a set S of points in so that the points of S lying inside a query R region can be reported or counted quickly. Wesurvey the known techniques and data structures for range searching and describe their application to other related searching problems.
A Decomposition of MultiDimensional Point Sets with Applications to kNearestNeighbors and nBody Potential Fields
 J. ACM
, 1992
"... We define the notion of a wellseparated pair decomposition of points in ddimensional space. We then develop efficient sequential and parallel algorithms for computing such a decomposition. We apply the resulting decomposition to the efficient computation of knearest neighbors and nbody potential ..."
Abstract

Cited by 258 (4 self)
 Add to MetaCart
(Show Context)
We define the notion of a wellseparated pair decomposition of points in ddimensional space. We then develop efficient sequential and parallel algorithms for computing such a decomposition. We apply the resulting decomposition to the efficient computation of knearest neighbors and nbody potential fields.
Programming Parallel Algorithms
, 1996
"... In the past 20 years there has been treftlendous progress in developing and analyzing parallel algorithftls. Researchers have developed efficient parallel algorithms to solve most problems for which efficient sequential solutions are known. Although some ofthese algorithms are efficient only in a th ..."
Abstract

Cited by 231 (10 self)
 Add to MetaCart
(Show Context)
In the past 20 years there has been treftlendous progress in developing and analyzing parallel algorithftls. Researchers have developed efficient parallel algorithms to solve most problems for which efficient sequential solutions are known. Although some ofthese algorithms are efficient only in a theoretical framework, many are quite efficient in practice or have key ideas that have been used in efficient implementations. This research on parallel algorithms has not only improved our general understanding ofparallelism but in several cases has led to improvements in sequential algorithms. Unf:ortunately there has been less success in developing good languages f:or prograftlftling parallel algorithftls, particularly languages that are well suited for teaching and prototyping algorithms. There has been a large gap between languages
Linear programming in linear time when the dimension is fixed
 J
, 1953
"... Abstract. It is demonstrated hat he linear programming problem in d variables and n constraints can be solved in O(n) time when d is fixed. This bound follows from a multidimensional search technique which is applicable for quadratic programming aswell. There is also developed an algorithm that is p ..."
Abstract

Cited by 202 (12 self)
 Add to MetaCart
(Show Context)
Abstract. It is demonstrated hat he linear programming problem in d variables and n constraints can be solved in O(n) time when d is fixed. This bound follows from a multidimensional search technique which is applicable for quadratic programming aswell. There is also developed an algorithm that is polynomial inboth n and d provided is bounded by a certain slowly growing function of n.
A Simple Algorithm for Nearest Neighbor Search in High Dimensions
 IEEE Transactions on Pattern Analysis and Machine Intelligence
, 1997
"... Abstract—The problem of finding the closest point in highdimensional spaces is common in pattern recognition. Unfortunately, the complexity of most existing search algorithms, such as kd tree and Rtree, grows exponentially with dimension, making them impractical for dimensionality above 15. In ne ..."
Abstract

Cited by 149 (1 self)
 Add to MetaCart
(Show Context)
Abstract—The problem of finding the closest point in highdimensional spaces is common in pattern recognition. Unfortunately, the complexity of most existing search algorithms, such as kd tree and Rtree, grows exponentially with dimension, making them impractical for dimensionality above 15. In nearly all applications, the closest point is of interest only if it lies within a userspecified distance e. We present a simple and practical algorithm to efficiently search for the nearest neighbor within Euclidean distance e. The use of projection search combined with a novel data structure dramatically improves performance in high dimensions. A complexity analysis is presented which helps to automatically determine e in structured problems. A comprehensive set of benchmarks clearly shows the superiority of the proposed algorithm for a variety of structured and unstructured search problems. Object recognition is demonstrated as an example application. The simplicity of the algorithm makes it possible to construct an inexpensive hardware search engine which can be 100 times faster than its software equivalent. A C++ implementation of our algorithm is available upon request to search@cs.columbia.edu/CAVE/.
Filtering Search: A new approach to queryanswering
 SIAM J. Comput
, 1986
"... Abstract. We introduce a new technique for solving problems of the following form: preprocess a set ofobjects so that those satisfying a given property with respect to a query object canbe listed very effectively. Wellknown problems that fall into this category include range search, point enclosure ..."
Abstract

Cited by 113 (8 self)
 Add to MetaCart
(Show Context)
Abstract. We introduce a new technique for solving problems of the following form: preprocess a set ofobjects so that those satisfying a given property with respect to a query object canbe listed very effectively. Wellknown problems that fall into this category include range search, point enclosure, intersection, and nearneighbor problems. The approach which we take is very general and rests on a new concept called filtering search.We show on a number ofexamples how it can be used to improve the complexity ofknown algorithms and simplify their implementations as well. In particular, filtering search allows us to improve on the worstcase complexity ofthe best algorithms known so far for solving the problems mentioned above. Key words, computational geometry, database, data structures, filtering search, retrieval problems
Separators for spherepackings and nearest neighbor graphs
 J. ACM
, 1997
"... Abstract. A collection of n balls in d dimensions forms a kply system if no point in the space is covered by more than k balls. We show that for every kply system �, there is a sphere S that intersects at most O(k 1/d n 1�1/d) balls of � and divides the remainder of � into two parts: those in the ..."
Abstract

Cited by 90 (9 self)
 Add to MetaCart
Abstract. A collection of n balls in d dimensions forms a kply system if no point in the space is covered by more than k balls. We show that for every kply system �, there is a sphere S that intersects at most O(k 1/d n 1�1/d) balls of � and divides the remainder of � into two parts: those in the interior and those in the exterior of the sphere S, respectively, so that the larger part contains at most (1 � 1/(d � 2))n balls. This bound of O(k 1/d n 1�1/d) is the best possible in both n and k. We also present a simple randomized algorithm to find such a sphere in O(n) time. Our result implies that every knearest neighbor graphs of n points in d dimensions has a separator of size O(k 1/d n 1�1/d). In conjunction with a result of Koebe that every triangulated planar graph is isomorphic to the intersection graph of a diskpacking, our result not only gives a new geometric proof of the planar separator theorem of Lipton and Tarjan, but also generalizes it to higher dimensions. The separator algorithm can be used for point location and geometric divide and conquer in a fixed dimensional space.
Range Searching
, 1996
"... Range searching is one of the central problems in computational geometry, because it arises in many applications and a wide variety of geometric problems can be formulated as a rangesearching problem. A typical rangesearching problem has the following form. Let S be a set of n points in R d , an ..."
Abstract

Cited by 73 (1 self)
 Add to MetaCart
(Show Context)
Range searching is one of the central problems in computational geometry, because it arises in many applications and a wide variety of geometric problems can be formulated as a rangesearching problem. A typical rangesearching problem has the following form. Let S be a set of n points in R d , and let R be a family of subsets; elements of R are called ranges . We wish to preprocess S into a data structure so that for a query range R, the points in S " R can be reported or counted efficiently. Typical examples of ranges include rectangles, halfspaces, simplices, and balls. If we are only interested in answering a single query, it can be done in linear time, using linear space, by simply checking for each point p 2 S whether p lies in the query range.
New data structures for orthogonal range searching
 In Proc. 41st IEEE Symposium on Foundations of Computer Science
, 2000
"... ..."