ProblemData StructuresLower Bound Preprocess a set of N 3-dimensional points into an I/O-efficient data structure, such that all points inside an axis.

Slides:



Advertisements
Similar presentations
Trees for spatial indexing
Advertisements

Graphics Application Lab The DR-tree: A Main Memory Data Structure for Complex Multi-dimensional Objects Seung-Hyun Ji Graphics Application Lab YOUNG-JU.
I/O-Algorithms Lars Arge Fall 2014 September 25, 2014.
External Memory Geometric Data Structures
Fractional Cascading CSE What is Fractional Cascading anyway? An efficient strategy for dealing with iterative searches that achieves optimal.
. Computing Contour Maps & Answering Contour Queries Pankaj K. Agarwal Joint work with Lars Arge ThomasMolhave Thomas Molhave Bardia Sadri.
I/O-Algorithms Lars Arge University of Aarhus February 21, 2005.
I/O-Algorithms Lars Arge Aarhus University February 27, 2007.
Optimal Planar Point Enclosure Indexing Lars Arge, Vasilis Samoladas and Ke Yi Department of Computer Science Duke University Technical University of Crete.
Orthogonal Range Searching-1Computational Geometry Prof. Dr. Th. Ottmann 1 Orthogonal Range Searching 1.Linear Range Search : 1-dim Range Trees 2.2-dimensional.
I/O-Algorithms Lars Arge Aarhus University February 13, 2007.
I/O-Algorithms Lars Arge Aarhus University March 16, 2006.
I/O-Algorithms Lars Arge Spring 2009 February 2, 2009.
I/O-Algorithms Lars Arge Aarhus University February 16, 2006.
I/O-Algorithms Lars Arge Aarhus University February 7, 2005.
I/O-Algorithms Lars Arge University of Aarhus February 13, 2005.
More on Decision Trees. Numerical attributes Tests in nodes can be of the form x j > constant Divides the space into rectangles.
I/O-Algorithms Lars Arge Spring 2009 April 28, 2009.
I/O-Algorithms Lars Arge University of Aarhus March 1, 2005.
I/O-Algorithms Lars Arge Spring 2009 March 3, 2009.
I/O-Algorithms Lars Arge Aarhus University February 6, 2007.
Lars Arge1, Mark de Berg2, Herman Haverkort3 and Ke Yi1
I/O-Algorithms Lars Arge Aarhus University March 5, 2008.
I/O-Efficient Structures for Orthogonal Range Max and Stabbing Max Queries Second Year Project Presentation Ke Yi Advisor: Lars Arge Committee: Pankaj.
I/O-Algorithms Lars Arge Aarhus University March 9, 2006.
Obtaining Provably Good Performance from Suffix Trees in Secondary Storage Pang Ko & Srinivas Aluru Department of Electrical and Computer Engineering Iowa.
I/O-Algorithms Lars Arge Aarhus University February 14, 2008.
I/O-Algorithms Lars Arge Aarhus University March 6, 2007.
I/O-Algorithms Lars Arge University of Aarhus March 7, 2005.
1 Geometric index structures April 15, 2004 Based on GUW Chapter , [Arge01] Sections 1, 2.1 (persistent B- trees), 3-4 (static versions.
O RTHOGONAL R ANGE S EARCHING الهه اسلامی فروردین 92, 1.
Fractional Cascading and Its Applications G. S. Lueker. A data structure for orthogonal range queries. In Proc. 19 th annu. IEEE Sympos. Found. Comput.
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.
The Encoding Complexity of Two Dimensional Range Minimum Data Structures MADALGO, October 2, 2013 (Work presented at ESA 2013) 1234  n
The Encoding Complexity of Two Dimensional Range Minimum Data Structures European Symposium on Algorithms, Inria, Sophia Antipolis, France, September 3,
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.
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.
Problems and MotivationsOur ResultsTechnical Contributions Membership: Maintain a set S in the universe U with |S| ≤ n. Given an x in U, answer whether.
UNC Chapel Hill M. C. Lin Orthogonal Range Searching Reading: Chapter 5 of the Textbook Driving Applications –Querying a Database Related Application –Crystal.
B-trees and kd-trees Piotr Indyk (slides partially by Lars Arge from Duke U)
Bin Yao Spring 2014 (Slides were made available by Feifei Li) Advanced Topics in Data Management.
Mehdi Mohammadi March Western Michigan University Department of Computer Science CS Advanced Data Structure.
CSIS7101 – Advanced Database Technologies Spatio-Temporal Data (Part 1) On Indexing Mobile Objects Kwong Chi Ho Leo Wong Chi Kwong Simon Lui, Tak Sing.
Lars Arge Presented by Or Ozery. I/O Model Previously defined: N = # of elements in input M = # of elements that fit into memory B = # of elements per.
MotivationFundamental ProblemsProblems on Graphs Parallel processors are becoming common place. Each core of a multi-core processor consists of a CPU and.
Succinct Dynamic Cardinal Trees with Constant Time Operations for Small Alphabet Pooya Davoodi Aarhus University May 24, 2011 S. Srinivasa Rao Seoul National.
Lecture 2: External Memory Indexing Structures CS6931 Database Seminar.
Computational Geometry Piyush Kumar (Lecture 5: Range Searching) Welcome to CIS5930.
Bin Yao (Slides made available by Feifei Li) R-tree: Indexing Structure for Data in Multi- dimensional Space.
Approximate Nearest Neighbors: Towards Removing the Curse of Dimensionality Piotr Indyk, Rajeev Motwani The 30 th annual ACM symposium on theory of computing.
Lecture 3: External Memory Indexing Structures (Contd) CS6931 Database Seminar.
ProblemAssumption and PreliminariesAlgorithm  How does the water flow and depressions fill during non-uniform rain over a terrain?  Can we efficiently.
Problem Definition I/O-efficient Rectangular Segment Search Gautam K. Das and Bradford G. Nickerson Faculty of Computer science, University of New Brunswick,
MotivationLocating the k largest subsequences: Main ideasResults Problem definitions Problem instance ( k=5 ) Bibliography
ProblemResultsConcurrent Range Reporting Input: n points in d dimensional space. Support reporting the t points in a query box. The best previous result:
Internal Memory Pointer MachineRandom Access MachineStatic Setting Data resides in records (nodes) that can be accessed via pointers (links). The priority.
The Range Mode ProblemCell Probe Lower Bounds for the Range Mode ProblemThe Range k-frequency Problem Preprocess an array A of n elements into a space.
X1x1 x2x2 top-k y 3-sided x1x1 x2x2 External Memory Three-Sided Range Reporting and Top-k Queries with Sublogarithmic Updates Gerth Stølting Brodal Aarhus.
arxiv.org/abs/ y 3-sided x1 x2 x1 x2 top-k
On the analysis of indexing schemes
Succinct Data Structures
CMPS 3130/6130 Computational Geometry Spring 2017
Chapter 12: Query Processing
Orthogonal Range Searching and Kd-Trees
R-tree: Indexing Structure for Data in Multi-dimensional Space
STACS arxiv.org/abs/ y 3-sided x1 x2 x1 x2 top-k
Reporting (1-D) Given a set of points S on the line, preprocess them to build structure that allows efficient queries of the from: Given an interval I=[x1,x2]
8th Workshop on Massive Data Algorithms, August 23, 2016
CMPS 3130/6130 Computational Geometry Spring 2017
Presentation transcript:

ProblemData StructuresLower Bound Preprocess a set of N 3-dimensional points into an I/O-efficient data structure, such that all points inside an axis aligned query hyper rectangle can be reported efficiently. Q(d,k) denotes the d dimensional problem with k finitely bounded dimensions. Basic Structure Our Q(3,k) structure (k>0) is a search tree over one of the k finitely bounded dimensions. The tree has fanout (log B N) (1-  )/2. Queries To answer a query q, search down the tree until q intersects several children of a node, q is then decomposed into two Q(3,k-1) queries and O((log B N) (1-  )/2 ) Q(2,k-1) queries. This is shown for Q(3,1) above. The Q(3,k-1) queries are answered in a Q(3,k-1) structure stored in the children, but the Q(2,k-1) queries cannot be answered this way, since there are O((log B N) (1-  )/2 ) of them. For Q(3,2) and Q(3,3), we store a Q(2,k-1) structure for every range of children c i …c j. The trick is to answer all Q(2,k-1) queries at the same time, and we do this by querying the correct such structure. For Q(3,1) we develop a structure answering Q(2,0) [-∞,x 1 ]x[-∞,y 1 ] queries in O(1+T/B) I/Os if we know the rank of x 1 amongst the points. We then build a rank tree as shown above, which obtains the rank of x 1 in each child at the same time. Indexability Model Construct a hard d-dimensional point set and query set. Point set P = {(p a(1) (i),p a(2) (i),…,p a(d-1) (i),i) | i=0,…,N-1} p a(j) (i) is i written in base a(j) truncated to log a(j) N (1/d) digits, and finally with those digits reversed. The a(j)’s are d-1 relatively prime integers all greater than log B N. Hard point set for 2D Query set Queries are defined from a set of candidate query dimensions (log a(1) N) k(1) x ∙∙∙ x (log a(d-1) N) k(d-1) x B log B N f(k(1),…,k(d-1)) where k(j) Є {0,…, log a(j) N (1/d) }. For each candidate, we tile the point set with query rectangles of that dimension. Results Space usage of previous and new structures. All have optimal O(log B N+T/B) query cost, where B is the I/O block size and T is the output size. References [1]P. Afshani. On dominance reporting in 3D. In Proc. European Symposium on Algorithms, pages 41-51, [2]L. Arge and K. D. Karsen. Towards Optimal Three-Dimensional Range Search Indexing. Submitted. [3]L. Arge, V. Samoladas and J. S. Vitter. On two-dimensional indexability and optimal range searching. In Proc. ACM Symposium on Principles of Database Systems, pages , [4]J. Hellerstein, E. Koutsoupias, D. Miranker, C. Papadimitriou and V. Samoladas. On a model of indexability and its bounds for range queries. Journal of ACM, 49(1), Three-Dimensional Range Search Indexing MADALGO – Center for Massive Data Algorithmics, a Center of the Danish National Research Foundation Kasper Dalgaard Larsen Aarhus University ProblemPrevious WorkOur Contribution [2] Q(2,0)O(N) [3] - Q(2,1)O(N) [3] - Q(2,2)O(N(log 2 N / log 2 log B N)) [3] - Q(3,0)O(N) [1] - Q(3,1)O(N(log 2 N)) [1] O(N(log 2 N / log 2 log B N)) Q(3,2)O(N(log 2 N) 2 ) [1] O(N(log 2 N / log 2 log B N) 2 ) Q(3,3)O(N(log 2 N) 3 ) [1] O(N(log 2 N / log 2 log B N) 3 ) Q(d,d) lower bound  (N(log 2 B / log 2 log B N) d-1 ) [4]  (N(log 2 N / log 2 log B N) d-1 ) Q(3,0) Q(2,0) Q(2,1)Q(2,0)Q(2,2) Q(3,0)Q(3,1)Q(3,2)Q(3,3) x y