Tools

"... The nearest neighbor problem is the following: Given a set of n points P = fp 1 ; : : : ; png in some metric space X, preprocess P so as to efficiently answer queries which require finding the point in P closest to a query point q 2 X. We focus on the particularly interesting case of the d-dimens ..."

The nearest neighbor problem is the following: Given a set of n points P = fp 1 ; : : : ; png in some metric space X, preprocess P so as to efficiently answer queries which require finding the point in P closest to a query point q 2 X. We focus on the particularly interesting case of the d-dimensional Euclidean space where X = ! d under some l p norm. Despite decades of effort, the current solutions are far from satisfactory; in fact, for large d, in theory or in practice, they provide little improvement over the brute-force algorithm which compares the query point to each data point. Of late, there has been some interest in the approximate nearest neighbors problem, which is: Find a point p 2 P that is an ffl-approximate nearest neighbor of the query q in that for all p 0 2 P , d(p; q) (1 + ffl)d(p 0 ; q). We present two algorithmic results for the approximate version that significantly improve the known bounds: (a) preprocessing cost polynomial in n and d, and a trul...

"... We address the problem of designing data structures that allow efficient search for approximate nearest neighbors. More specifically, given a database consisting of a set of vectors in some high dimensional Euclidean space, we want to construct a space-efficient data structure that would allow us to ..."

We address the problem of designing data structures that allow efficient search for approximate nearest neighbors. More specifically, given a database consisting of a set of vectors in some high dimensional Euclidean space, we want to construct a space-efficient data structure that would allow us to search, given a query vector, for the closest or nearly closest vector in the database. We also address this problem when distances are measured by the L 1 norm, and in the Hamming cube. Significantly improving and extending recent results of Kleinberg, we construct data structures whose size is polynomial in the size of the database, and search algorithms that run in time nearly linear or nearly quadratic in the dimension (depending on the case; the extra factors are polylogarithmic in the size of the database). Computer Science Department, Technion --- IIT, Haifa 32000, Israel. Email: eyalk@cs.technion.ac.il y Bell Communications Research, MCC-1C365B, 445 South Street, Morristown, NJ ...

"... We survey the computational geometry relevant to finite element mesh generation. We especially focus on optimal triangulations of geometric domains in two- and three-dimensions. An optimal triangulation is a partition of the domain into triangles or tetrahedra, that is best according to some cri ..."

We survey the computational geometry relevant to finite element mesh generation. We especially focus on optimal triangulations of geometric domains in two- and three-dimensions. An optimal triangulation is a partition of the domain into triangles or tetrahedra, that is best according to some criterion that measures the size, shape, or number of triangles. We discuss algorithms both for the optimization of triangulations on a fixed set of vertices and for the placement of new vertices (Steiner points). We briefly survey the heuristic algorithms used in some practical mesh generators.

...rst-case time bound for computing the three-dimensional DT must bes(n 2 ), an \output-sensitive" algorithm runs much more quickly on simple input instances. Techniques recently developed by Matousek =-=[148]-=- for halfspace range queries give an algorithm with running time O(n 4=3+ + k logn), where k is the complexity of the DT. See Fortune's survey [88] for more details on threedimensional DT algorithms,...

"... Representing data as points in a high-dimensional space, so as to use geometric methods for indexing, is an algorithmic technique with a wide array of uses. It is central to a number of areas such as information retrieval, pattern recognition, and statistical data analysis; many of the problems aris ..."

Representing data as points in a high-dimensional space, so as to use geometric methods for indexing, is an algorithmic technique with a wide array of uses. It is central to a number of areas such as information retrieval, pattern recognition, and statistical data analysis; many of the problems arising in these applications can involve several hundred or several thousand dimensions. We consider the nearest-neighbor problem for d-dimensional Euclidean space: we wish to pre-process a database of n points so that given a query point, one can efficiently determine its nearest neighbors in the database. There is a large literature on algorithms for this problem, in both the exact and approximate cases. The more sophisticated algorithms typically achieve a query time that is logarithmic in n at the expense of an exponential dependence on the dimension d; indeed, even the averagecase analysis of heuristics such as k-d trees reveals an exponential dependence on d in the query time. In this wor...

...h query time O(exp(d) \Delta log n) and pre-processing O(n dd=2e(1+&quot;) ), where exp(d) denotes a function that grows at least as quickly as 2 d . Most of the subsequent approaches and extensions (=-=e.g. [42, 32, 2]-=- and others) have required a query time of at least \Omega\Gammaast/ d) \Delta log n). Indeed, even the average-case analysis of heuristics such as k-d trees [22, 6, 26, 39], for restricted cases such...

"... Given a set of n points in d-dimensional Euclidean space, S ae E d , and a query point q 2 E d , we wish to determine the nearest neighbor of q, that is, the point of S whose Euclidean distance to q is minimum. The goal is to preprocess the point set S, such that queries can be answered as effic ..."

Given a set of n points in d-dimensional Euclidean space, S ae E d , and a query point q 2 E d , we wish to determine the nearest neighbor of q, that is, the point of S whose Euclidean distance to q is minimum. The goal is to preprocess the point set S, such that queries can be answered as efficiently as possible. We assume that the dimension d is a constant independent of n. Although reasonably good solutions to this problem exist when d is small, as d increases the performance of these algorithms degrades rapidly. We present a randomized algorithm for approximate nearest neighbor searching. Given any set of n points S ae E d , and a constant ffl ? 0, we produce a data structure, such that given any query point, a point of S will be reported whose distance from the query point is at most a factor of (1 + ffl) from that of the true nearest neighbor. Our algorithm runs in O(log 3 n) expected time and requires O(n log n) space. The data structure can be built in O(n 2 ) expe...

"... The arrangement of a finite collection of geometric objects is the decomposition of the space into connected cells induced by them. We survey combinatorial and algorithmic properties of arrangements of arcs in the plane and of surface patches in higher dimensions. We present many applications of arr ..."

The arrangement of a finite collection of geometric objects is the decomposition of the space into connected cells induced by them. We survey combinatorial and algorithmic properties of arrangements of arcs in the plane and of surface patches in higher dimensions. We present many applications of arrangements to problems in motion planning, visualization, range searching, molecular modeling, and geometric optimization. Some results involving planar arrangements of arcs have been presented in a companion chapter in this book, and are extended in this chapter to higher dimensions. Work by P.A. was supported by Army Research Office MURI grant DAAH04-96-1-0013, by a Sloan fellowship, by an NYI award, and by a grant from the U.S.-Israeli Binational Science Foundation. Work by M.S. was supported by NSF Grants CCR-91-22103 and CCR-93-11127, by a Max-Planck Research Award, and by grants from the U.S.-Israeli Binational Science Foundation, the Israel Science Fund administered by the Israeli Ac...

...angements, that a two-dimensional halfspace range-reporting query can be answered in O(log n + t) time using O(n) space. In higher dimensions, by constructing (1=r)-cuttings for Ak (\Gamma), Matousek =-=[253]-=- developed a data structure that can answer a halfspace range-reporting query in time O(log n + t) using O(n bd=2c log c n) space, for some constant c. He also developed a data structure that can answ...

"... Let P be a set of n points in R d (where d is a small fixed positive integer), and let \Gamma be a collection of subsets of R d , each of which is defined by a constant number of bounded degree polynomials. We consider the following \Gamma-range searching problem: Given P , build a data structur ..."

Let P be a set of n points in R d (where d is a small fixed positive integer), and let \Gamma be a collection of subsets of R d , each of which is defined by a constant number of bounded degree polynomials. We consider the following \Gamma-range searching problem: Given P , build a data structure for efficient answering of queries of the form `Given a fl 2 \Gamma, count (or report) the points of P lying in fl&apos;. Generalizing the simplex range searching techniques, we give a solution with nearly linear space and preprocessing time and with O(n 1\Gamma1=b+ffi ) query time, where d b 2d \Gamma 3 and ffi ? 0 is an arbitrarily small constant. The actual value of b is related to the problem of partitioning arrangements of algebraic surfaces into constant-complexity cells. We present some of the applications of \Gamma-range searching problem, including improved ray shooting among triangles in R³.

"... 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 range-searching problem. A typical range-searching problem has the following form. Let S be a set of n points in R d , an ..."

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 range-searching problem. A typical range-searching 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 &quot; 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.

"... We study the question of finding a deepest point in an arrangement of regions, and provide a fast algorithm for this problem using random sampling, showing it sufficient to solve this problem when the deepest point is shallow. This implies, among other results, a fast algorithm for solving linear pr ..."

We study the question of finding a deepest point in an arrangement of regions, and provide a fast algorithm for this problem using random sampling, showing it sufficient to solve this problem when the deepest point is shallow. This implies, among other results, a fast algorithm for solving linear programming with violations approximately. We also use this technique to approximate the disk covering the largest number of red points, while avoiding all the blue points, given two such sets in the plane. Using similar techniques imply that approximate range counting queries have roughly the same time and space complexity as emptiness range queries.