succinct geometric indexes supporting point location queries prosenjit bose, eric y. chen, meng he,...

22
Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin

Upload: susan-richardson

Post on 01-Jan-2016

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin

Succinct Geometric Indexes Supporting Point Location Queries

Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari,

Pat Morin

Page 2: 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

Page 3: Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin

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)

Page 4: Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin

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

Page 5: Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin

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

Page 6: Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin

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

Page 7: Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin

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)…

+

Page 8: Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin

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

Page 9: Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin

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

Page 10: Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin

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)

Page 11: Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin

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)

Page 12: Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin

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

Page 13: Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin

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

Page 14: Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin

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,2R1,3

R1

1, 2, 3, 4, 5, 6, 7, 8, 9, 10 11, 12,13,14,15, …

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

Page 15: Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin

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

Page 16: Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin

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

Page 17: Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin

Main Result

A succinct geometric index supporting point location in planar triangulations

Space: o(n) bits Time: O(lg n) Preprocessing time: O(n)

Page 18: Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin

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

Page 19: Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin

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)

Page 20: Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin

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

Page 21: Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin

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

Page 22: Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin

Thank you!