Succinct Geometric Indexes Supporting Point Location Queries

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

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 Presentation

Transcript of Succinct Geometric Indexes Supporting Point Location Queries

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

Page 2: Succinct Geometric Indexes Supporting Point Location Queries

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

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

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

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

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

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

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

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

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

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

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

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

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

Page 15: Succinct Geometric Indexes Supporting Point Location Queries

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

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

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

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

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

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

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

Thank you!