Optimal Partition Trees

We revisit one of the most fundamental classes of data structure problems in computational geometry: range searching. Back in SoCG'92, Matousek gave a partition tree method for <i>d</i>-dimensional simplex range searching achieving <i>O</i>(<i>n</i>) space and <i>O</i>(<i>n</i><sup>1-1/<i>d</i></sup>) query time. Although this method is generally believed to be optimal, it is complicated and requires <i>O</i>(<i>n</i><sup>1+ε</sup>) preprocessing time for any fixed ε>0. An earlier method by Matousek (SoCG'91) requires <i>O</i>(<i>n</i> log <i>n</i>) preprocessing time but <i>O</i>(<i>n</i><sup>1-1/<i>d</i></sup> log<sup><i>O</i>(1)</sup><i>n</i>) query time. We give a new method that achieves simultaneously <i>O</i>(<i>n</i> log <i>n</i>) preprocessing time, <i>O</i>(<i>n</i>) space, and <i>O</i>(<i>n</i><sup>1-1/<i>d</i></sup>) query time with high probability. Our method has several advantages: It is conceptually simpler than Matousek's SoCG'92 method. Our partition trees satisfy many ideal properties (e.g., constant degree, optimal crossing number at almost all layers, and disjointness of the children's cells at each node). It leads to more efficient multilevel partition trees, which are important in many data structural applications (each level adds at most one logarithmic factor to the space and query bounds, better than in all previous methods). A similar improvement applies to a shallow version of partition trees, yielding <i>O</i>(<i>n</i> log <i>n</i>) time, <i>O</i>(<i>n</i>) space, and <i>O</i>(<i>n</i><sup>1-1=⌊<i>d</i>=2⌋</sup>) query time for halfspace range emptiness in even dimensions <i>d</i> ≥ 4. Numerous consequences follow (e.g., improved results for computing spanning trees with low crossing number, ray shooting among line segments, intersection searching, exact nearest neighbor search, linear programming queries, finding extreme points, ... ).

[1]  Mark de Berg,et al.  Cuttings and applications , 1995, Int. J. Comput. Geom. Appl..

[2]  Jirí Matousek,et al.  Spanning trees with low crossing number , 1991, RAIRO Theor. Informatics Appl..

[3]  Ketan Mulmuley,et al.  Computational geometry : an introduction through randomized algorithms , 1993 .

[4]  B. Monien,et al.  Data structures and efficient algorithms , 1992, Lecture Notes in Computer Science.

[5]  Jiri Matousek,et al.  Lectures on discrete geometry , 2002, Graduate texts in mathematics.

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

[7]  Micha Sharir,et al.  Vertical Decomposition of Shallow Levels in 3-Dimensional Arrangements and Its Applications , 1999, SIAM J. Comput..

[8]  Nancy M. Amato,et al.  Parallel algorithms for higher-dimensional convex hulls , 1994, Proceedings 35th Annual Symposium on Foundations of Computer Science.

[9]  B. Chazelle Lower bounds on the complexity of polytope range searching , 1989 .

[10]  Kenneth L. Clarkson,et al.  Las Vegas algorithms for linear and integer programming when the dimension is small , 1995, JACM.

[11]  Bernard Chazelle,et al.  A deterministic view of random sampling and its use in geometry , 1990, Comb..

[12]  Jirí Matousek,et al.  Range searching with efficient hierarchical cuttings , 1992, SCG '92.

[13]  Sanjeev Arora,et al.  The Multiplicative Weights Update Method: a Meta-Algorithm and Applications , 2012, Theory Comput..

[14]  Andrew Chi-Chih Yao,et al.  A general approach to d-dimensional geometric queries , 1985, STOC '85.

[15]  Edgar A. Ramos Linear programming queries revisited , 2000, SCG '00.

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

[17]  Pankaj K. Agarwal,et al.  Ray shooting and other applications of spanning trees with low stabbing number , 1992, SCG '89.

[18]  Raimund Seidel,et al.  Constructing higher-dimensional convex hulls at logarithmic cost per face , 1986, STOC '86.

[19]  Jeffrey Scott Vitter,et al.  Efficient searching with linear constraints , 1998, PODS '98.

[20]  Edgar A. Ramos,et al.  On range reporting, ray shooting and k-level construction , 1999, SCG '99.

[21]  Timothy M. Chan Fixed-dimensional linear programming queries made easy , 1996, SCG '96.

[22]  Pankaj K. Agarwal,et al.  Geometric Range Searching and Its Relatives , 2007 .

[23]  Timothy M. Chan Output-sensitive results on convex hulls, extreme points, and related problems , 1995, SCG '95.

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

[25]  Kenneth L. Clarkson,et al.  A Randomized Algorithm for Closest-Point Queries , 1988, SIAM J. Comput..

[26]  Subhash Suri,et al.  Stabbing triangulations by lines in 3D , 1995, SCG '95.

[27]  Timothy M. Chan,et al.  Optimal halfspace range reporting in three dimensions , 2009, SODA.

[28]  Timothy M. Chan,et al.  Primal Dividing and Dual Pruning: Output-Sensitive Construction of Four-Dimensional Polytopes and Three-Dimensional Voronoi Diagrams , 1997, Discret. Comput. Geom..

[29]  Michael Ian Shamos,et al.  Computational geometry: an introduction , 1985 .

[30]  Jirí Matousek Linear Optimization Queries , 1993, J. Algorithms.

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

[32]  F. Frances Yao,et al.  A 3-space partition and its applications , 1983, STOC.

[33]  Micha Sharir,et al.  Applications of a New Space Partitioning Technique , 1991, WADS.

[34]  Emo Welzl,et al.  On Spanning Trees with Low Crossing Numbers , 1992, Data Structures and Efficient Algorithms.

[35]  Otfried Cheong,et al.  On ray shooting in convex polytopes , 1993, Discret. Comput. Geom..

[36]  Herbert Edelsbrunner,et al.  Halfplanar Range Search in Linear Space and O(n^(0.695)) Query Time , 1986, Inf. Process. Lett..

[37]  Pankaj K. Agarwal Intersection and decomposition algorithms for planar arrangements , 1991 .

[38]  Bernard Chazelle,et al.  Simplex Range Reporting on a Pointer Machine , 1995, Comput. Geom..

[39]  Joseph O'Rourke,et al.  Handbook of Discrete and Computational Geometry, Second Edition , 1997 .

[40]  W. Hoeffding Probability Inequalities for sums of Bounded Random Variables , 1963 .

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

[42]  Leonidas J. Guibas,et al.  Implicitly representing arrangements of lines or segments , 2011, SCG '88.

[43]  Bernard Chazelle,et al.  Cutting hyperplanes for divide-and-conquer , 1993, Discret. Comput. Geom..

[44]  Timothy M. Chan An optimal randomized algorithm for maximum Tukey depth , 2004, SODA '04.

[45]  Sunil Arya,et al.  Tight Lower Bounds for Halfspace Range Searching , 2010, Discret. Comput. Geom..

[46]  Jirí Matousek,et al.  Efficient partition trees , 1992, Discret. Comput. Geom..

[47]  Rajeev Motwani,et al.  Randomized algorithms , 1996, CSUR.

[48]  Bernard Chazelle,et al.  1 Cuttings , 2005 .

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

[50]  Jon Louis Bentley,et al.  Decomposable Searching Problems I: Static-to-Dynamic Transformation , 1980, J. Algorithms.

[51]  Michael T. Goodrich,et al.  Almost optimal set covers in finite VC-dimension , 1995, Discret. Comput. Geom..

[52]  Subhash Suri,et al.  A pedestrian approach to ray shooting: shoot a ray, take a walk , 1993, SODA '93.

[53]  Bernard Chazelle,et al.  Quasi-optimal range searching in spaces of finite VC-dimension , 1989, Discret. Comput. Geom..

[54]  Jirí Matousek,et al.  On range searching with semialgebraic sets , 1992, Discret. Comput. Geom..

[55]  Sartaj Sahni,et al.  Handbook of Data Structures and Applications , 2004 .

[56]  David P. Dobkin,et al.  Partitioning Space for Range Queries , 1989, SIAM J. Comput..