The Encoding Complexity of Two Dimensional Range Minimum Data Structures MADALGO, October 2, 2013 (Work presented at ESA 2013) 1234  n 131342128 27146111537.

Slides:



Advertisements
Similar presentations
Time-Space Trade-Offs for 2D Range Minimum Queries Gerth Stølting BrodalPooya Davoodi Aarhus University S. Srinivasa Rao Seoul National University 18 th.
Advertisements

Surender Baswana Department of CSE, IIT Kanpur. Surender Baswana Department of CSE, IIT Kanpur.
Lars Arge Gerth Stølting Brodal Algorithms and Data Structures Computer Science Day, Department of Computer Science, Aarhus University, May 31, 2013.
Gerth Stølting Brodal University of Aarhus Monday June 9, 2008, IT University of Copenhagen, Denmark International PhD School in Algorithms for Advanced.
Size-estimation framework with applications to transitive closure and reachability Presented by Maxim Kalaev Edith Cohen AT&T Bell Labs 1996.
I/O-Algorithms Lars Arge Fall 2014 September 25, 2014.
Constant-Time LCA Retrieval
Advanced Topics in Algorithms and Data Structures 1 Rooting a tree For doing any tree computation, we need to know the parent p ( v ) for each node v.
Time-Space Trade-Offs for 2D Range Minimum Queries
Lowest common ancestors. Write an Euler tour of the tree LCA(1,5) = 3 Shallowest node.
Course Review COMP171 Spring Hashing / Slide 2 Elementary Data Structures * Linked lists n Types: singular, doubly, circular n Operations: insert,
6/26/2015 7:13 PMTries1. 6/26/2015 7:13 PMTries2 Outline and Reading Standard tries (§9.2.1) Compressed tries (§9.2.2) Suffix tries (§9.2.3) Huffman encoding.
Lecture 27 CSE 331 Nov 3, Combining groups Groups can unofficially combine in the lectures.
Fast Isocontouring For Improved Interactivity Chandrajit L. Bajaj Valerio Pascucci Daniel R. Schikore.
Tree edit distance1 Tree Edit Distance.  Minimum edits to transform one tree into another Tree edit distance2 TED.
Heaps and heapsort COMP171 Fall 2005 Part 2. Sorting III / Slide 2 Heap: array implementation Is it a good idea to store arbitrary.
Lecture 25 CSE 331 Nov 2, Adding teeth to group talk Form groups of size at most six (6) Pick a group leader I will ask group leader(s) to come.
Algorithm Engineering, September 2013Data Structures, February-March 2010Data Structures, February-March 2006 Cache-Oblivious and Cache-Aware Algorithms,
The Encoding Complexity of Two Dimensional Range Minimum Data Structures European Symposium on Algorithms, Inria, Sophia Antipolis, France, September 3,
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.
Introduction n – length of text, m – length of search pattern string Generally suffix tree construction takes O(n) time, O(n) space and searching takes.
14/13/15 CMPS 3130/6130 Computational Geometry Spring 2015 Windowing Carola Wenk CMPS 3130/6130 Computational Geometry.
The Binary Heap. Binary Heap Looks similar to a binary search tree BUT all the values stored in the subtree rooted at a node are greater than or equal.
The LCA Problem Revisited
Geometric Matching on Sequential Data Veli Mäkinen AG Genominformatik Technical Fakultät Bielefeld Universität.
The Lower Bounds of Problems
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.
Constant-Time LCA Retrieval Presentation by Danny Hermelin, String Matching Algorithms Seminar, Haifa University.
Path Minima on Dynamic Weighted Trees Pooya Davoodi Aarhus University Aarhus University, November 17, 2010 Joint work with Gerth Stølting Brodal and S.
Succinct Dynamic Cardinal Trees with Constant Time Operations for Small Alphabet Pooya Davoodi Aarhus University May 24, 2011 S. Srinivasa Rao Seoul National.
Suffix trees. Trie A tree representing a set of strings. a b c e e f d b f e g { aeef ad bbfe bbfg c }
Priority Queues Two kinds of priority queues: Min priority queue. Max priority queue. Nov 4,
Union-Find  Application in Kruskal’s Algorithm  Optimizing Union and Find Methods.
1 Nearest Common Ancestors (NCA) Discrete Range Maximum Cartesian Tree [Vuillemin 1980] i j max(i, j) i.
Interval S = [3,10]  {x | 3 ≤ x ≤ 10} Closed segment S = (3,10)  {x | 3 < x < 10} Opened segment S = [3,3]  {3} Point.
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.
Succinct Data Structures
arxiv.org/abs/ y 3-sided x1 x2 x1 x2 top-k
Tries 4/16/2018 8:59 AM Presentation for use with the textbook Data Structures and Algorithms in Java, 6th edition, by M. T. Goodrich, R. Tamassia, and.
Succinct Data Structures
Tries 07/28/16 11:04 Text Compression
Data Structures: Disjoint Sets, Segment Trees, Fenwick Trees
Tries 5/27/2018 3:08 AM Tries Tries.
Succinct Data Structures
Priority Queues An abstract data type (ADT) Similar to a queue
CMPS 3130/6130 Computational Geometry Spring 2017
Lecture 26 CSE 331 Nov 2, 2016.
Tries 9/14/ :13 AM Presentation for use with the textbook Data Structures and Algorithms in Java, 6th edition, by M. T. Goodrich, R. Tamassia, and.
Space-efficient graph algorithms
Orthogonal Range Searching and Kd-Trees
Data Structures: Segment Trees, Fenwick Trees
Fast Trie Data Structures
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]
Tree Representation Heap.
Lecture 26 CSE 331 Nov 1, 2017.
Lecture 26 CSE 331 Nov 2, 2012.
Md. Abul Kashem, Chowdhury Sharif Hasan, and Anupam Bhattacharjee
The Lower Bounds of Problems
Covering Uncertain Points in a Tree
Lecture 27 CSE 331 Oct 31, 2014.
Priority Queues An abstract data type (ADT) Similar to a queue
Lecture 28 CSE 331 Nov 7, 2012.
8th Workshop on Massive Data Algorithms, August 23, 2016
Range Queries on Uncertain Data
Discrete Range Maximum
CMPT 225 Lecture 16 – Heap Sort.
Presentation transcript:

The Encoding Complexity of Two Dimensional Range Minimum Data Structures MADALGO, October 2, 2013 (Work presented at ESA 2013) 1234  n  m i1i1 i2i2 j2j2 j1j1 Gerth Stølting BrodalAndrej BrodnikPooya Davoodi AarhusPrimorska & LjubljanaPolytechnic New York Cost Space (bits) Query time Preprocessing time Models Indexing (input accessible) Encoding (input not accessible) RMQ(i 1, i 2, j 1, j 2 ) = (2,3) = position of min Assumption 1 ≤ m ≤ n

Indexing Model (input accessible) Encoding Model (input not accessable) m ≤ n Preprocessing: Do nothing ! Very fast preprocessing Very space efficient Queries O(mn) Tabulate the answer to all ~ m 2 n 2 possible queries Preprocessing O(m 2 n 2 ) Space O(m 2 n 2  log n) bits Queries O(1) Store rank of all elements Preprocessing O(mn  log n) Space O(mn  log n) bits Queries O(mn) Some (Trivial) Results

Encoding m = 1 (Cartesian tree) j1j1 j2j2 RMQ(j 1, j 2 ) = NCA(j 1, j 2 ) To support RMQ queries we need... tree structure ( ) mapping between nodes and cells (inorder) n 1 min ?

Indexing Model (input accessible) Encoding Model (input not accessable) m = 1 1D 2n+o(n) bits, O(1) time [FH07] n/c bits  Ω(c) time [BDR10] n/c bits, O(c) time [BDR10] ≥ 2n - O(log n) bits 2n+o(n) bits, O(1) time [F10] 1 < m < n1 < m < n O(mn  log n) bits, O(1) time [AY10] O(mn) bits, O(1) time [BDR10] mn/c bits  Ω(c) time [BDR10] O(c  log 2 c) time [BDR10] O(c  log c  (loglog c) 2 ) time [BDLRR12] Ω(mn  log m) bits [BDR10] O(mn  log n) bits, O(1) time [BDR10] O(mn  log m) bits, O(mn) time [NEW] m = n squared Ω(mn  log n) bits [DLW09] O(mn  log n) bits, O(1) time [AY10] Some (Less Trivial) Results

New Results 1. O(mn  (log m+loglog n)) bits – tree representation – component decomposition 2. O(mn  log m  log* n)) bits – bootstrapping 3. O(mn  log m) bits – relative positions of roots – refined component construction

Tree Representation Requirements (Index of ) Cells  leafs Query  Answer = rightmost leaf Trivial solution Sort leafs Ω(mn  log n) bits

Components  = Construction Consider elements in decreasing order Find connected components with size ≥  L-adjacency  |C 1 |≤ 4  -3, |C i |≤ 2m  Representation O(mn + mn/  log n + mn  log m + mn  log(m  ))  = log n  O(mn  (log m+loglog n)) C1C C3C C2C L L-adjacency Spanning tree structures Spanning tree edges Component root positions Local leaf ranks in components

Results better upper or lower bound ? Thank you Indexing Model (input accessible) Encoding Model (input not accessable) m = 1 1D 2n+o(n) bits, O(1) time [FH07] n/c bits  Ω(c) time [BDR10] n/c bits, O(c) time [BDR10] ≥ 2n - O(log n) bits 2n+o(n) bits, O(1) time [F10] 1 < m < n1 < m < n O(mn  log n) bits, O(1) time [AY10] O(mn) bits, O(1) time [BDR10] mn/c bits  Ω(c) time [BDR10] O(c  log 2 c) time [BDR10] O(c  log c  (loglog c) 2 ) time [BDLRR12] Ω(mn  log m) bits [BDR10] O(mn  log n) bits, O(1) time [BDR10] O(mn  log m) bits, O(mn) time [NEW] m = n squared Ω(mn  log n) bits [DLW09] O(mn  log n) bits, O(1) time [AY10]