Efficient searching with linear constraints

We show how to preprocess a set S of points in Rd into an external memory data structure that efficiently supports linear-constraint queries. Each query is in the form of a linear constraint xd?a0+?d?1i=1aixi; the data structure must report all the points of S that satisfy the constraint. This problem is called halfspace range searching in the computational geometry literature. Our goal is to minimize the number of disk blocks required to store the data structure and the number of disk accesses (I/Os) required to answer a query. For d=2, we present the first data structure that uses linear space and answers linear-constraint queries using an optimal number of I/Os in the worst case. For d=3, we present a near-linear-size data structure that answers queries using an optimal number of I/Os on the average. We present linear-size data structures that can answer d-dimensional linear-constraint queries (and even more general d-dimensional simplex queries) efficiently in the worst case. For the d=3 case, we also show how to obtain trade-offs between space and query time.

[1]  Tamal K. Dey,et al.  Improved bounds on planar k-sets and k-levels , 1997, Proceedings 38th Annual Symposium on Foundations of Computer Science.

[2]  Kurt Mehlhorn,et al.  Randomized external-memory algorithms for some geometric problems , 1998, SCG '98.

[3]  Tamal K. Dey,et al.  Improved Bounds for Planar k -Sets and Related Problems , 1998, Discret. Comput. Geom..

[4]  R. Pollack,et al.  Advances in Discrete and Computational Geometry , 1999 .

[5]  Bernard Chazelle,et al.  Filtering search: A new approach to query-answering , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[6]  Hanan Samet,et al.  A qualitative comparison study of data structures for large line segment databases , 1992, SIGMOD '92.

[7]  Dan E. Willard,et al.  Polygon Retrieval , 1982, SIAM journal on computing (Print).

[8]  Sridhar Ramaswamy,et al.  OODB indexing by class-division , 1995, SIGMOD '95.

[9]  Sridhar Ramaswamy,et al.  Indexing for Data Models with Constraints and Classes , 1996, J. Comput. Syst. Sci..

[10]  Bernard Chazelle,et al.  Halfspace range search: an algorithmic application of K-sets , 1985, SCG '85.

[11]  MatoušekJiří Geometric range searching , 1994 .

[12]  Micha Sharir,et al.  On Levels in Arrangements of Lines, Segments, Planes, and Triangles% , 1998, Discret. Comput. Geom..

[13]  Sridhar Ramaswamy,et al.  Path caching (extended abstract): a technique for optimal external searching , 1994, PODS '94.

[14]  David Haussler,et al.  ɛ-nets and simplex range queries , 1987, Discret. Comput. Geom..

[15]  Jeffrey D. Ullman,et al.  Principles of Database Systems , 1980 .

[16]  Jeffrey Scott Vitter,et al.  External-Memory Algorithms for Processing Line Segments in Geographic Information Systems , 1996 .

[17]  Hans-Peter Kriegel,et al.  The X-tree : An Index Structure for High-Dimensional Data , 2001, VLDB.

[18]  Jeffrey Scott Vitter,et al.  Efficient 3-D range searching in external memory , 1996, STOC '96.

[19]  A. Guttman,et al.  A Dynamic Index Structure for Spatial Searching , 1984, SIGMOD 1984.

[20]  Jürg Nievergelt,et al.  The Grid File: An Adaptable, Symmetric Multikey File Structure , 1984, TODS.

[21]  Jirí Matousek,et al.  Efficient partition trees , 1991, SCG '91.

[22]  Jeffrey Scott Vitter,et al.  Optimal dynamic interval management in external memory , 1996, Proceedings of 37th Conference on Foundations of Computer Science.

[23]  Timothy M. Chan Random Sampling, Halfspace Range Reporting, and Construction of (<= k)-Levels in Three Dimensions , 2000, SIAM J. Comput..

[24]  Micha Sharir,et al.  On levels in arrangements of lines, segments, planes, and triangles , 1997, SCG '97.

[25]  Bernard Chazelle,et al.  Halfspace range search: An algorithmic application ofk-sets , 1986, Discret. Comput. Geom..

[26]  Jürg Nievergelt,et al.  Spatial Data Structures: Concepts and Design Choices , 2000, Handbook of Computational Geometry.

[27]  Jirí Matousek,et al.  Constructing levels in arrangements and higher order Voronoi diagrams , 1994, SCG '94.

[28]  Jeffrey Scott Vitter,et al.  Online Data Structures in External Memory , 1999, WADS.

[29]  Peter Widmayer,et al.  Spatial Data Structures: Concepts and Design Choices , 1996, Algorithmic Foundations of Geographic Information Systems.

[30]  David Haussler,et al.  Epsilon-nets and simplex range queries , 1986, SCG '86.

[31]  Mark H. Overmars,et al.  Intersection Queries in Curved Objects , 1993, J. Algorithms.

[32]  Marc Gyssens,et al.  On the Decidability of Semilinearity for Semialgebraic Sets and Its Implications for Spatial Databases , 1999, J. Comput. Syst. Sci..

[33]  Jeffrey Scott Vitter,et al.  External-Memory Algorithms for Processing Line Segments in Geographic Information Systems (Extended Abstract) , 1995, ESA.

[34]  David B. Lomet,et al.  The hB-tree: a multiattribute indexing method with good guaranteed performance , 1990, TODS.

[35]  Jan van Leeuwen,et al.  Maintenance of Configurations in the Plane , 1981, J. Comput. Syst. Sci..

[36]  Georgios Evangelidis,et al.  The hB $^\Pi$-tree: a multi-attribute index supporting concurrency, recovery and node consolidation , 1997, The VLDB Journal.

[37]  Kurt Mehlhorn,et al.  Multi-dimensional searching and computational geometry , 1984 .

[38]  Jonathan Goldstein,et al.  Processing queries by linear constraints , 1997, PODS '97.

[39]  Raimund Seidel,et al.  Constructing Arrangements of Lines and Hyperplanes with Applications , 1986, SIAM J. Comput..

[40]  Hanan Samet,et al.  The Design and Analysis of Spatial Data Structures , 1989 .

[41]  J. T. Robinson,et al.  The K-D-B-tree: a search structure for large multidimensional dynamic indexes , 1981, SIGMOD '81.

[42]  Andreas Henrich Improving the performance of multi-dimensional access structures based on k-d-trees , 1996, Proceedings of the Twelfth International Conference on Data Engineering.

[43]  Christos Faloutsos,et al.  Hilbert R-tree: An Improved R-tree using Fractals , 1994, VLDB.

[44]  Sridhar Ramaswamy,et al.  Path Caching: A Technique for Optimal External Searching , 1994, PODS 1994.

[45]  Maurizio Talamo,et al.  Orders, k-sets and Fast Halfplane Search on Paged Memory , 1994, ORDAL.

[46]  Jirí Matousek,et al.  Reporting Points in Halfspaces , 1992, Comput. Geom..

[47]  Russ Bubley,et al.  Randomized algorithms , 1995, CSUR.

[48]  Marc Gyssens,et al.  On the decidability of semi-linearity for semi-algebraic sets and its implications for spatial databases (extended abstract) , 1997, PODS '97.

[49]  Sridhar Ramaswamy,et al.  The P-range tree: a new data structure for range searching in secondary memory , 1995, SODA '95.

[50]  Hanan Samet,et al.  Applications of spatial data structures , 1989 .

[51]  Jirí Matousek,et al.  Geometric range searching , 1994, CSUR.

[52]  Hans-Peter Kriegel,et al.  The R*-tree: an efficient and robust access method for points and rectangles , 1990, SIGMOD '90.

[53]  Jyh-Jong Tsay,et al.  External-memory computational geometry , 1993, Proceedings of 1993 IEEE 34th Annual Foundations of Computer Science.

[54]  Timothy M. Chan Random sampling, halfspace range reporting, and construction of (/spl les/k)-levels in three dimensions , 1998, Proceedings 39th Annual Symposium on Foundations of Computer Science (Cat. No.98CB36280).

[55]  Antonin Guttman,et al.  R-trees: a dynamic index structure for spatial searching , 1984, SIGMOD '84.

[56]  Bernard Chazelle,et al.  The power of geometric duality , 1985, BIT Comput. Sci. Sect..

[57]  Douglas Comer,et al.  Ubiquitous B-Tree , 1979, CSUR.

[58]  Kenneth L. Clarkson,et al.  Applications of random sampling in computational geometry, II , 1988, SCG '88.

[59]  Ralf Hartmut Güting,et al.  An introduction to spatial database systems , 1994, VLDB J..

[60]  Christian Böhm,et al.  A cost model for nearest neighbor search in high-dimensional data space , 1997, PODS.

[61]  Jeffrey Scott Vitter,et al.  On two-dimensional indexability and optimal range search indexing , 1999, PODS '99.

[62]  Herbert Edelsbrunner,et al.  Constructing Belts in Two-Dimensional Arrangements with Applications , 1986, SIAM J. Comput..

[63]  Christos Faloutsos,et al.  The R+-Tree: A Dynamic Index for Multi-Dimensional Objects , 1987, VLDB.

[64]  Richard Cole,et al.  New Upper Bounds for Neighbor Searching , 1986, Inf. Control..