Algorithm Engineering, September 2013Data Structures, February-March 2010Data Structures, February-March 2006 Cache-Oblivious and Cache-Aware Algorithms,

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.
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
Computer Science Day 2008 Algorithms and Data Structures for Faulty Memory Gerth Stølting Brodal Department of Computer Science, University of Aarhus,
Lowest common ancestors. Write an Euler tour of the tree LCA(1,5) = 3 Shallowest node.
Chapter 9 Graph algorithms. Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Chapter 9: Greedy Algorithms The Design and Analysis of Algorithms.
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.
Comparison Based Dictionaries: Fault Tolerance versus I/O Efficiency Gerth Stølting Brodal Allan Grønlund Jørgensen Thomas Mølhave University of Aarhus.
Lecture 27 CSE 331 Nov 3, Combining groups Groups can unofficially combine in the lectures.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 11 Instructor: Paul Beame.
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.
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,
I/O-Efficient Graph Algorithms Norbert Zeh Duke University EEF Summer School on Massive Data Sets Århus, Denmark June 26 – July 1, 2002.
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
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.
An experimental study of priority queues By Claus Jensen University of Copenhagen.
Succinct Dynamic Cardinal Trees with Constant Time Operations for Small Alphabet Pooya Davoodi Aarhus University May 24, 2011 S. Srinivasa Rao Seoul National.
Lecture 19 Greedy Algorithms Minimum Spanning Tree Problem.
Pawe ł Gawrychowski* and Pat Nicholson** *University of Warsaw **Max-Planck-Institut für Informatik.
Data Structures and Algorithms in Parallel Computing Lecture 2.
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.
Data Structures and Algorithms in Parallel Computing Lecture 3.
1 Nearest Common Ancestors (NCA) Discrete Range Maximum Cartesian Tree [Vuillemin 1980] i j max(i, j) i.
CS6045: Advanced Algorithms Sorting Algorithms. Heap Data Structure A heap (nearly complete binary tree) can be stored as an array A –Root of tree is.
Optimal Planar Orthogonal Skyline Counting Queries Gerth Stølting Brodal and Kasper Green Larsen Aarhus University 14th Scandinavian Workshop on Algorithm.
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.
(A Survey on) Priority Queues IanFest, University of Waterloo, Waterloo, Ontario, Canada, August 14-15, 2013 Gerth Stølting Brodal Aarhus Universty.
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.
Priority Queues An abstract data type (ADT) Similar to a queue
Experimental evaluation of Navigation piles
Space-efficient graph algorithms
Data Structures: Segment Trees, Fenwick Trees
Fast Trie Data Structures
STACS arxiv.org/abs/ y 3-sided x1 x2 x1 x2 top-k
Elementary graph algorithms Chapter 22
Tree Representation Heap.
Md. Abul Kashem, Chowdhury Sharif Hasan, and Anupam Bhattacharjee
Covering Uncertain Points in a Tree
Priority Queues An abstract data type (ADT) Similar to a queue
8th Workshop on Massive Data Algorithms, August 23, 2016
Range Queries on Uncertain Data
Binary and Binomial Heaps
Elementary graph algorithms Chapter 22
Minimum Spanning Trees (MSTs)
Discrete Range Maximum
CMPT 225 Lecture 16 – Heap Sort.
Presentation transcript:

Algorithm Engineering, September 2013Data Structures, February-March 2010Data Structures, February-March 2006 Cache-Oblivious and Cache-Aware Algorithms, July 2004Data Structures, February-March 2002Experimental Algorithmics, September 2000 Data Structures, February-March 2000Data Structures, March 1998Data Structures, February-March 1996 Cache-Oblivious Data Structures and Algorithms for Undirected BFS and SSSP Rolf Fagerberg University of Southern Denmark - Odense with G.S. Brodal, U. Meyer, N. Zeh

Range Minimum Queries (Part II) Gerth Stølting Brodal Aarhus University Dagstuhl Seminar on Data Structures and Advanced Models of Computation on Big Data, February 23-28, 2014 Join work with Andrej Brodnik and Pooya Davoodi (ESA 2013)

1234  n  m i1i1 i2i2 j2j2 j1j1 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 The Problem

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 [BBD13] 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 [BBD13] m = n squared Ω(mn  log n) bits [DLW09] O(mn  log n) bits, O(1) time [AY10] Results better upper or lower bound ?

1D Range Minimum Queues O(n log n) words O(n) words Fischer Kasper Nielsen, Mathieu Dehouck, Sarfraz Raza 2013

1D Range Minimum Queues Kasper Nielsen, Mathieu Dehouck, Sarfraz Raza 2013

1D Range Minimum Queues Kasper Nielsen, Mathieu Dehouck, Sarfraz Raza 2013

1D Range Minimum Queues Kasper Nielsen, Mathieu Dehouck, Sarfraz Raza 2013