succinct geometric indexes supporting point location queries
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
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(n lg n) bits Time: O(lg n)
Improving Query Efficiency Under Various Assumptions Exact number of point-line comparisons
Seidel and Adamy 2000: lg n + 2 lg1/2 n + O(lg1/4
n) Integer coordinates bounded by U
Chan & Pătraşcu 2006: O(min{lg n/lglg n, lg1/2
U}) time Query distribution is known
Entropy: H=-Σpi lg pi, 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
Geometric Queries
Succinct Geometric Indexes (o(n) bits)
A permutation of the point coordinates
(x5,y5), (x10,y10), (x3,y3), (x8,y8), (x2,y2), (xn,yn)…
+
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
t n 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 t f faces
Properties of t-Face Separators
Separator face
Face of a adjacent face component
Number of adjacent face component: O((f/t)1/2)
Sum of the duplication degrees of boundary vertices:O((f/t)1/2)
Two-Level Partition Top-level partition
Parameter t = lg3 f / f Size of region: O(lg3 n) Size of separator: O(n / lg3/2 n)
Bottom-level partition Parameter t = lg n / ni for region Ri with ni
vertices Size of subregion: O(lg n) Size of separator: O(ni / lg1/2 n)
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
Region-Labels and Graph-Labels
1, 2, 3, 4, 5, 6
1, 2, 3, 4, 5
1, 2, 3, 4, 5, 6, 7
R1,1 R1,2 R1,3
R1
1, 2, 3, 4, 5, 6, 7, 8, 9, 10 11, 12,13,14,15, …
The assignment of graph-labels are similarSuccinct 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/2 n x lg n) = 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/2 n x lglg n) = o(n) bits
Answering Point Location Queries Graph level
Answer point location query using top-level structures in O(lg n) time
Region level Answer point location query using bottom-
level structures in O(lglg n) time Subregion level
Check each face to answer point location query in O(lg n) time
Main Result A succinct geometric index
supporting point location in planar triangulations
Space: o(n) bits Time: O(lg n) Preprocessing time: O(n)
Three Variants of Our Succinct Indexes Optimizing the extra number of point-line
comparisons Query: lg n + 2 lg1/2 n + O(lg1/4 n) comparisons
Point location in sub-logarithmic Query time: O(min{lg n/lglg n,lg1/2 U}+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(lg n) Preprocessing time: O(n)
Membership queries on a simple polygon Query time: O(lg n) Preprocessing time: O(n)
Vertical Ray Shooting Query time: O(lg n) Preprocessing time: O(n lg n)
Application: Implicit Point Location Structures Implicit geometric structures: store
a permuted sequence of the point set to answer geometric queries
Our result: O(lg2 n)-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
Thank you!