The Encoding Complexity of Two Dimensional Range Minimum Data Structures European Symposium on Algorithms, Inria, Sophia Antipolis, France, September 3,

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.
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,
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
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 MADALGO, October 2, 2013 (Work presented at ESA 2013) 1234  n
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.
Data Structure & Algorithm II.  Delete-min  Building a heap in O(n) time  Heap Sort.
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.
Lecture – Searching a Tree Neil Ghani University of Strathclyde.
CSED101 INTRODUCTION TO COMPUTING TREE 2 Hwanjo Yu.
Lecture 19 Greedy Algorithms Minimum Spanning Tree Problem.
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.
Lossless Decomposition and Huffman Codes Sophia Soohoo CS 157B.
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.
1 CS Review, iClicker -Questions Week 15. ANY QUESTIONS? 2.
Succinct Data Structures
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.
Priority Queues An abstract data type (ADT) Similar to a queue
CMPS 3130/6130 Computational Geometry Spring 2017
Graph Algorithms BFS, DFS, Dijkstra’s.
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
Data Structures: Segment Trees, Fenwick Trees
Fast Trie Data Structures
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.
Lecture 25 CSE 331 Oct 27, 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
Lecture 25 CSE 331 Oct 28, 2011.
Discrete Range Maximum
CMPT 225 Lecture 16 – Heap Sort.
Presentation transcript:

The Encoding Complexity of Two Dimensional Range Minimum Data Structures European Symposium on Algorithms, Inria, Sophia Antipolis, France, September 3,  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 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 & space O(m 2 n 2  log n) bits Queries O(1) Store rank of all elements Preprocessing & 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 [BDS10] n/c bits, O(c) time [BDS10] ≥ 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 [BDS10] mn/c bits  Ω(c) time [BDS10] O(c  log 2 c) time [BDS10] O(c  log c  (loglog c) 2 ) time [BDLRR12] Ω(mn  log m) bits [BDS10] O(mn  log n) bits, O(1) time [BDS10] O(mn  log m) bits, ? 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(nm  (log m+loglog n)) bits – tree representation – component decomposition 2. O(nm  log m  log* n)) bits – bootstrapping 3. O(nm  log m) bits – relative positions of roots – refined component construction

Tree Representation Requirements 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

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 [BDS10] n/c bits, O(c) time [BDS10] ≥ 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 [BDS10] mn/c bits  Ω(c) time [BDS10] O(c  log 2 c) time [BDS10] O(c  log c  (loglog c) 2 ) time [BDLRR12] Ω(mn  log m) bits [BDS10] O(mn  log n) bits, O(1) time [BDS10] O(mn  log m) bits, ? time [NEW] m = n squared Ω(mn  log n) bits [DLW09] O(mn  log n) bits, O(1) time [AY10] Results better upper or lower bound ? Thank you