Succinct Geometric Indexes Supporting Point Location Queries

Post on 07-Feb-2016

25 views 0 download

Tags:

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

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!