220 likes | 303 Views
Succinct Geometric Indexes Supporting Point Location Queries. Prosenjit Bose, Eric Y. Chen, Meng He , Anil Maheshwari, Pat Morin. Point Location: the Initial Problem. A fundamental geometric query problem
E N D
Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin
Point Location: the Initial Problem • A fundamental geometric query problem • Data sets: The subdivision of an Euclidean plane into polygons (faces) by line segments • Query: Given a query point, locate the face that the query point is in
Classic Solutions (1980’s) • Kirkpartrick: Hierarchical Triangulation • Edelsbrunner et al.: Layered directed acyclic graph • Cole: Searching in similar lists • Sarnak and Tarjan: Persistant search trees • ... • Analysis • Space: O(n) words or O(nlgn) bits • Time: O(lgn)
Improving Query Efficiency Under Various Assumptions • Exact number of point-line comparisons • Seidel and Adamy 2000: lgn + 2lg1/2n + O(lg1/4n) • Integer coordinates bounded by U • Chan & Pătraşcu 2006: O(min{lgn/lglgn, lg1/2U}) time • Query distribution is known • Entropy: H=-Σpilgpi, where pi is the probability of the ith face containing the query point • Iacono 2004: O(H + 1) expected time • Arya et al. 2007: H + O(H1/2 + 1) expected comparisons
New Problem • Massive geometric data sets available • Geographic information systems • Spatial databases • Computer graphics • … • New problem: Space-efficient point location structures • New Direction: succinct data structures for geometric queries
Background: Succinct Data Structures • What are succinct data structures (Jacobson 1989) • Representing data structures using ideally information-theoretic minimum space • Supporting efficient navigational operations • Why succinct data structures • Large data sets in modern applications: textual, genomic, spatial or geometric
Our Model: Succinct Geometric Indexes (x5,y5), (x10,y10), (x3,y3), (x8,y8), (x2,y2), (xn,yn)… + A permutation of the point coordinates Geometric Queries Succinct Geometric Indexes (o(n) bits)
Point Location in Planar Triangulations • Planar Triangulations: A planar graph whose faces are all triangles • Applications: computer graphics, GIS • Notation: n – number of vertices, m – number of edges, f – number of faces
Partitioning a Planar Triangulations by Removing Faces • A tool: t-separator (Aleksandrov & Djidjev 1996), 0<t<1 • Size of separator: O((n/t)1/2) vertices • Size of each connected component: at most tn vertices • Our separator: t-face separator • Size of separator: O((f/t)1/2) faces • Size of each connected component (adjacent face component): at most tf faces
Properties of t-Face Separators Number of adjacent face component: O((f/t)1/2) Sum of the duplication degrees of boundary vertices: O((f/t)1/2) Face of a adjacent face component Separator face
Two-Level Partition • Top-level partition • Parameter t = lg3f / f • Size of region: O(lg3n) • Size of separator: O(n / lg3/2n) • Bottom-level partition • Parameter t = lg n / ni for region Ri with ni vertices • Size of subregion: O(lgn) • Size of separator: O(ni / lg1/2n)
Overview of Labeling Scheme • Labels at three levels for the same vertex • Graph-label (unique) • Region-label (zero or more) • Subregion-label (zero or more) • Assign the labels from bottom up • Store the coordinates of the vertices in the order of graph-labels
Subregion-Labels • Encoding subregion Ri,j by permuting its vertex set (Denny & Sohler 1997) • Subregion-label: the kth vertex in the above permutation has subregion-label k in Ri,j
1, 2, 3, 4, 5, 6, 7, 8, 9, 10 11, 12,13,14,15, … 1, 2, 3, 4, 5, 6 1, 2, 3, 4, 5, 6, 7 1, 2, 3, 4, 5 Region-Labels and Graph-Labels R1 R1,3 R1,2 R1,1 The assignment of graph-labels are similar Succinct structures of o(n) bits are constructed to support conversion between labels at different levels in O(1) time
Point Location Structures • Top-level structures • A point location structure for the triangulated graph consisting of separator and outer face • Vertex coordinates are referred to by graph-labels • For each face, indicate which region (or none) contains it • Space: O(n/lg3/2n x lgn) = o(n) bits • Bottom-level structures • Similar structures are constructed for each region • Vertex coordinates are referred to by region-labels • Space: O(n/lg1/2n x lglgn) = o(n) bits
Answering Point Location Queries • Graph level • Answer point location query using top-level structures in O(lgn) time • Region level • Answer point location query using bottom-level structures in O(lglgn) time • Subregion level • Check each face to answer point location query in O(lgn) time
Main Result • A succinct geometric index supporting point location in planar triangulations • Space: o(n) bits • Time: O(lgn) • Preprocessing time: O(n)
Three Variants of Our Succinct Indexes • Optimizing the extra number of point-line comparisons • Query: lgn + 2lg1/2n + O(lg1/4n) comparisons • Point location in sub-logarithmic • Query time: O(min{lgn/lglgn,lg1/2U}+lgєn) • Input-sensitive point location • Query time: O(H+1) expected • These indexes can be constructed in O(n)time
Succinct Indexes for More Geometric Queries • Point location in planar subdivisions • Query time: O(lgn) • Preprocessing time: O(n) • Membership queries on a simple polygon • Query time: O(lgn) • Preprocessing time: O(n) • Vertical Ray Shooting • Query time: O(lgn) • Preprocessing time: O(nlgn)
Application: Implicit Point Location Structures • Implicit geometric structures: store a permuted sequence of the point set to answer geometric queries • Our result: O(lg2n)-time support for: • Point location • Membership • Vertical ray shooting
Conclusions • We started a new line of research by designing succinct geometric indexes • Our results match the query efficiency of previous geometric data structures, while saving drastic amounts of space