Tradeoffs in Approximate Range Searching Made Simpler Sunil Arya Hong Kong University of Science and Technology Guilherme D. da Fonseca Universidade Federal.

Slides:



Advertisements
Similar presentations
WSPD Applications.
Advertisements

Nearest Neighbor Search
INTERVAL TREE & SEGMENTATION TREE
Cutting trees and the cutting lemma Presented by Amir Mograbi.
Fast Algorithms For Hierarchical Range Histogram Constructions
Lecture 3: Parallel Algorithm Design
Augmenting Data Structures Advanced Algorithms & Data Structures Lecture Theme 07 – Part I Prof. Dr. Th. Ottmann Summer Semester 2006.
Dynamic Planar Convex Hull Operations in Near- Logarithmic Amortized Time TIMOTHY M. CHAN.
I/O-Algorithms Lars Arge Fall 2014 September 25, 2014.
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
 Distance Problems: › Post Office Problem › Nearest Neighbors and Closest Pair › Largest Empty and Smallest Enclosing Circle  Sub graphs of Delaunay.
Searching on Multi-Dimensional Data
Computing Diameter in the Streaming and Sliding-Window Models J. Feigenbaum, S. Kannan, J. Zhang.
A Self-adjusting Data Structure for Multi-dimensional Point Sets Eunhui Park & David M. Mount University of Maryland Sep
1 Voronoi Diagrams. 2 Voronoi Diagram Input: A set of points locations (sites) in the plane.Input: A set of points locations (sites) in the plane. Output:
The Divide-and-Conquer Strategy
By Groysman Maxim. Let S be a set of sites in the plane. Each point in the plane is influenced by each point of S. We would like to decompose the plane.
Convex Hulls in 3-space Jason C. Yang.
Convexity of Point Set Sandip Das Indian Statistical Institute.
Quadtrees Raster and vector.
I/O-Algorithms Lars Arge Aarhus University February 27, 2007.
Micha Streppel TU Eindhoven  NCIM-Groep, the Netherlands and Ke Yi AT&T Labs, USA  HKUST, Hong Kong.
Computing Diameter in the Streaming and Sliding-Window Models J. Feigenbaum, S. Kannan, J. Zhang.
Approximate Range Searching in the Absolute Error Model Guilherme D. da Fonseca CAPES BEX Advisor: David M. Mount.
Persistent Data Structures Computational Geometry, WS 2007/08 Lecture 12 Prof. Dr. Thomas Ottmann Khaireel A. Mohamed Algorithmen & Datenstrukturen, Institut.
I/O-Algorithms Lars Arge University of Aarhus March 1, 2005.
I/O-Algorithms Lars Arge Spring 2009 March 3, 2009.
Tirgul 8 Universal Hashing Remarks on Programming Exercise 1 Solution to question 2 in theoretical homework 2.
Spatial Information Systems (SIS) COMP Spatial access methods: Indexing.
I/O-Algorithms Lars Arge Aarhus University March 5, 2008.
Point Location Computational Geometry, WS 2007/08 Lecture 5 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
UNC Chapel Hill M. C. Lin Overview of Last Lecture About Final Course Project –presentation, demo, write-up More geometric data structures –Binary Space.
Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.
Spatial Indexing I Point Access Methods. Spatial Indexing Point Access Methods (PAMs) vs Spatial Access Methods (SAMs) PAM: index only point data Hierarchical.
Efficient Distance Computation between Non-Convex Objects By Sean Quinlan Presented by Sean Augenstein and Nicolas Lee.
Spatial Indexing I Point Access Methods. Spatial Indexing Point Access Methods (PAMs) vs Spatial Access Methods (SAMs) PAM: index only point data Hierarchical.
AALG, lecture 11, © Simonas Šaltenis, Range Searching in 2D Main goals of the lecture: to understand and to be able to analyze the kd-trees and.
Efficient Partition Trees Jiri Matousek Presented By Benny Schlesinger Omer Tavori 1.
Fast Subsequence Matching in Time-Series Databases Christos Faloutsos M. Ranganathan Yannis Manolopoulos Department of Computer Science and ISR University.
Orthogonal Range Searching I Range Trees. Range Searching S = set of geometric objects Q = query object Report/Count objects in S that intersect Q Query.
Data Structures for Computer Graphics Point Based Representations and Data Structures Lectured by Vlastimil Havran.
Trees for spatial data representation and searching
UNC Chapel Hill M. C. Lin Point Location Reading: Chapter 6 of the Textbook Driving Applications –Knowing Where You Are in GIS Related Applications –Triangulation.
Basics Set systems: (X,F) where F is a collection of subsets of X. e.g. (R 2, set of half-planes) µ: a probability measure on X e.g. area/volume is a.
UNC Chapel Hill M. C. Lin Orthogonal Range Searching Reading: Chapter 5 of the Textbook Driving Applications –Querying a Database Related Application –Crystal.
RA PRESENTATION Sublinear Geometric Algorithms B 張譽馨 B 汪牧君 B 李元翔.
B-trees and kd-trees Piotr Indyk (slides partially by Lars Arge from Duke U)
Computer Algorithms Submitted by: Rishi Jethwa Suvarna Angal.
Mehdi Mohammadi March Western Michigan University Department of Computer Science CS Advanced Data Structure.
PRESENTED BY – GAURANGI TILAK SHASHANK AGARWAL Collision Detection.
R-Tree. 2 Spatial Database (Ia) Consider: Given a city map, ‘index’ all university buildings in an efficient structure for quick topological search.
Open Problem: Dynamic Planar Nearest Neighbors CSCE 620 Problem 63 from the Open Problems Project
Computational Geometry Piyush Kumar (Lecture 5: Range Searching) Welcome to CIS5930.
1 Embedding and Similarity Search for Point Sets under Translation Minkyoung Cho and David M. Mount University of Maryland SoCG 2008.
Geometric Problems in High Dimensions: Sketching Piotr Indyk.
1 Point Location Strategies Idit Haran
Minkowski Sums and Distance Computation Eric Larsen COMP
Dense-Region Based Compact Data Cube
Spatial Data Management
Lecture 3: Parallel Algorithm Design
Spatial Indexing I Point Access Methods.
Polynomial-time approximation schemes for NP-hard geometric problems
KD Tree A binary search tree where every node is a
Orthogonal Range Searching and Kd-Trees
Craig Schroeder October 26, 2004
Computing Shortest Path amid Pseudodisks
Quadtrees Hierarchical grids
Dynamic Data Structures for Simplicial Thickness Queries
Aggregate-Max Nearest Neighbor Searching in the Plane
CMPS 3130/6130 Computational Geometry Spring 2017
Presentation transcript:

Tradeoffs in Approximate Range Searching Made Simpler Sunil Arya Hong Kong University of Science and Technology Guilherme D. da Fonseca Universidade Federal do Rio de Janeiro David M. Mount University of Maryland SIBGRAPI, Campo Grande, MS 10/2008

Contents Range Searching Quadtrees Range Sketching Halfspaces Spheres Simplices Future research

Exact Range Searching P: Set of n points in d- dimensional space. w: Weight function. R : Set of regions (ranges). Preprocess P such that, given R ∈ R, we can quickly compute: c

Generators and Tradeoffs A generator is a set of point whose sum is precomputed. We answer a query by adding generators. Tradeoff:  Many large generators: High storage, low query time.  Few small generators: Low storage, high query time.

Why approximate? Exact solutions are complicated and inefficient. Polylogarithmic time requires n d space. With linear space, the query time approaches O(n) as d increases. Troublemakers: Points close to the boundary of the query region.

Relative Model In the relative model, points within distance ε diam(R) of the range boundary may be counted or not. [AM00] No unbounded regions such as halfspaces. Original data structures based on Approximate Voronoi Diagrams (AVDs). [AM00] Sunil Arya, David M. Mount. Approximate range searching, CGTA, 2000.

Absolute Model In the absolute model, points within distance ε from the range boundary may be counted or not. [Fo07] All points inside [0,1] d. We use absolute model data structures to build our relative model data structures. [Fo07] Guilherme D. da Fonseca, Approximate range searching: the absolute model, WADS, 2007

Quadtrees A quadtree is a recursive subdivision of the bounding box into 2 d equal boxes. Subdivisions are called quadtree boxes. We recursively subdivide boxes with more than 1 point. Problems: Size is unbounded in terms of n and ε. Also, height is Θ(n).

Compressed Quadtree Compression reduces storage to O(n), but height remains Θ(n). Pointers can be added to allow searching the quadtree in O(log n) time. [HP08] Preprocessing takes O(n log n) time. [HP08] [HP08] Sariel Har-Peled. Geometric approximation algorithms, available online, 2008.

Range Sketching Range counting: very limited information. Range reporting: very verbose information. Range sketching: offers a resolution tradeoff. Returns the counts of points inside each quadtree box of diameter s that intersect the query range.

Range Sketching Consider a slightly larger range R +. Let k and k' respectively be the number of non-empty quadtree boxes of diameter s that intersect R and R +. The compressed quadtree answers sketching queries in O(log n + k') time. The query result has size k.

Halfspace Range Searching Ranges are d-dimensional halfspaces. Exact [Ma93]:  Query time: O(n 1-1/d ).  Storage: O(n). Absolute model [Fo07]:  Query time: O(1).  Storage: O(1/ε d ). [Ma93] Jirí Matousek, Range searching with efficient hiearchical cutting, DCG, 1993.

Halfspace Data Structure We can ε-approximate every halfspace using O(1/ε d ) halfspaces. Store query results in a table. Answer queries by rounding halfspace parameters and returning the corresponding value from the table.

Spherical Range Searching Ranges are d-dimensional spheres. Exact version:  Project the points onto a (d+1)-dimensional paraboloid.  Use halfspace range searching. In the paper, we consider the more general smooth ranges.

Approximating Spheres with Halfboxes A halfbox is the intersection of a quadtree box and a halfspace. We can ε-approximate a sphere with O(1/ε (d-1)/2 ) halfboxes. We can associate halfspace data structures with quadtree nodes to obtain halfboxes.

Halfbox Quadtree Let γ between 1 and 1/√ε control the space-time tradeoff. Associate a (δ/γ)- approximate halfspace structure with each box of diameter δ. Storage: O(nγ d ). Prepro.: O(nγ d + n log n). Spherical queries: O(log n + 1/(εγ) d-1 ).

Preprocessing Naive preprocessing takes O(n 2 γ d ) time. Instead, we perform 2 d approximate queries among the children. Preprocessing takes contant time per unit of storage, after building the quadtree in O(n log n) time. Prepro.: O(nγ d + n log n).

Simplex Range Searching Ranges are d-dimensional simplices: intersection of d+1 halfspaces. Exact version is similar to halfspaces: [Ma93]  Query time: O(n 1-1/d ).  Storage: O(n). Approximate version: use a multi-level variation of the halfbox quadtree. [Ma93] Jiří Matoušek, Range Searching with Efficient Hiearchical Cutting, DCG, 1993.

Multi-level Data Structure Let k be an integer parameter to control the space-time tradeoff. We build k levels of the halfspace data structure. Intersection of k hyperplanes can now be answered in O(1) time. Storage: O(nγ dk ). Prepro.: O(nγ dk + n log n).

Simplex Queries Start querying with box v: Answer trivially if v is a leaf, or v∩R={}, or diam(v) < ε diam(R). If diam(v) < εγ diam(R) and v contains no (d-1-k)-face, then answer by subtracting all (d-k)-faces. Otherwise, answer recursively.

Simplex Range Searching Complexity Storage: O(nγ dk ). Preprocessing time: O(nγ dk + n log n). Query time: O(log n + log 1/ε + 1/(εγ) d-1 + 1/ε d-1-k ). Set γ=1/ε k/(d-1) to balance the last two terms. Storage: O(n/ε k 2 d/(d-1) ). Preprocessing time: O(n/ε k 2 d/(d-1) + n log n). Query time: O(log n + log 1/ε + 1/ε d-1-k ).

Future Research More efficient data structures or tighter lower bounds? (Partially answered.)‏ Data structures that benefit from idempotence? (Idempotent semigroup: x+x=x)‏ Can we obtain simpler Approximate Voronoi Diagrams by extending these techniques? SIBGRAPI 2009 will happen in Rio.

Smooth Region A convex region R is α-smooth if every point in the boundary of R is touched by a sphere of diameter α diam(R) inside R. Spheres are 1-smooth. A region is smooth if it is α-smooth for constant α.

Smooth Range Searching Besides the unit-cost test assumption, we assume that a tangent hyperplane inside a quadtree box can be found in O(1) time. Use quadtree boxes of diameter at most diam(R)√αε for the boundary.

Smooth Range Searching Besides the unit-cost test assumption, we assume that a tangent hyperplane inside a quadtree box can be found in O(1) time. Use quadtree boxes of diameter at most diam(R)√αε for the boundary. Since each quadtree box of diameter δ contains a (δ/γ)-approximate data structure, use boxes of diameter at most εγ diam(R) for the boundary. By packing lemma, the number of boxes is O(1/ε (d-1)/2 + 1/(εγ) d-1 ). Query time: O(log n + 1/ε (d-1)/2 + 1/(εγ) d-1 ).