Succinct Geometric Indexes Supporting Point Location Queries
description
Transcript of Succinct Geometric Indexes Supporting Point Location Queries
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!