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

Upload: rafe

Post on 07-Feb-2016

29 views

Category:

Documents


0 download

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

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!