Dynamic Planar Range Maxima Queries (presented at ICALP 2011) Gerth Stølting Brodal Aarhus University Kostas Tsakalidis LIAFA, Université Paris Diderot,

Slides:



Advertisements
Similar presentations
Turning Amortized to Worst-Case Data Structures: Techniques and Results Tsichlas Kostas.
Advertisements

Gerth Stølting Brodal University of Aarhus Monday June 9, 2008, IT University of Copenhagen, Denmark International PhD School in Algorithms for Advanced.
Tight Bounds for Dynamic Convex Hull Queries (Again) Erik DemaineMihai Pătraşcu.
Priority Queues  MakeQueuecreate new empty queue  Insert(Q,k,p)insert key k with priority p  Delete(Q,k)delete key k (given a pointer)  DeleteMin(Q)delete.
An Optimal Dynamic Interval Stabbing-Max Data Structure? Pankaj K. Agarwal, Lars Arge and Ke Yi Department of Computer Science Duke University.
Augmenting Data Structures Advanced Algorithms & Data Structures Lecture Theme 07 – Part I Prof. Dr. Th. Ottmann Summer Semester 2006.
I/O-Algorithms Lars Arge Fall 2014 September 25, 2014.
Prioritetskøer med Afskæring Rajamani Sundar, Worst-case data structures for the priority queue with attrition, Information Processing Letters, 31(2),
Msb(x) in O(1) steps using 5 multiplications Word size n = g∙g, g a power of 2 [M.L. Fredman, D.E. Willard, Surpassing the information-theoretic bound.
Advanced Topics in Algorithms and Data Structures Lecture 7.1, page 1 An overview of lecture 7 An optimal parallel algorithm for the 2D convex hull problem,
Konstantinos Tsakalidis 1 Dynamic Data Structures: Orthogonal Range Queries and Update Efficiency Konstantinos Tsakalidis PhD Defense 23 September 2011.
Navigating Nets: Simple algorithms for proximity search Robert Krauthgamer (IBM Almaden) Joint work with James R. Lee (UC Berkeley)
17. Computational Geometry Chapter 7 Voronoi Diagrams.
I/O-Algorithms Lars Arge Aarhus University February 27, 2007.
Dynamic Planar Range Maxima Queries (presented at ICALP 2011) Gerth Stølting Brodal Aarhus University Kostas Tsakalidis University of Primorska, October.
O(log n) bits or atomic elements
Engineering a Sorted List Data Structure for 32 Bit Keys Roman Dementiev Lutz Kettner Jens Mehnert Peter Sanders MPI für Informatik, Saarbrücken.
Lecture 12 : Special Case of Hidden-Line-Elimination Computational Geometry Prof. Dr. Th. Ottmann 1 Special Cases of the Hidden Line Elimination Problem.
Purely Functional Worst Case Constant Time Catenable Sorted Lists Gerth Stølting Brodal University of Aarhus Joint work with Christos Makris Kostas Tsichlas.
I/O-Algorithms Lars Arge University of Aarhus March 1, 2005.
I/O-Algorithms Lars Arge Spring 2009 March 3, 2009.
Amortized Rigidness in Dynamic Cartesian Trees Iwona Białynicka-Birula and Roberto Grossi Università di Pisa STACS 2006.
Convex Hull Algorithms for Dynamic Data Kanat Tangwongsan Joint work with Guy Blelloch and Umut Acar (TTI-C)
I/O-Algorithms Lars Arge Aarhus University March 5, 2008.
Fully Persistent B-Trees 23 rd Annual ACM-SIAM Symposium on Discrete Algorithms, Kyoto, Japan, January 18, 2012 Gerth Stølting Brodal Konstantinos Tsakalidis.
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.
I/O-Algorithms Lars Arge Aarhus University March 6, 2007.
I/O-Algorithms Lars Arge University of Aarhus March 7, 2005.
Augmenting Data Structures Advanced Algorithms & Data Structures Lecture Theme 07 – Part II Prof. Dr. Th. Ottmann Summer Semester 2006.
PQ, binary heaps G.Kamberova, Algorithms Priority Queue ADT Binary Heaps Gerda Kamberova Department of Computer Science Hofstra University.
Heaps and heapsort COMP171 Fall 2005 Part 2. Sorting III / Slide 2 Heap: array implementation Is it a good idea to store arbitrary.
Longest Increasing Subsequences in Windows Based on Canonical Antichain Partition Erdong Chen (Joint work with Linji Yang & Hao Yuan) Shanghai Jiao Tong.
Strict Fibonacci Heaps Gerth Stølting Brodal Aarhus University George Lagogiannis Robert Endre Tarjan Agricultural University of Athens Princeton University.
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)
Time O(log d) Exponential-search(13) Finger Search Searching in a sorted array time O(log n) Binary-search(13)
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.
Path Minima on Dynamic Weighted Trees Pooya Davoodi Aarhus University Aarhus University, November 17, 2010 Joint work with Gerth Stølting Brodal and S.
Kinetic data structures. Goal Maintain a configuration of moving objects Each object has a posted flight plan (this is essentially a well behaved function.
Bin Yao (Slides made available by Feifei Li) R-tree: Indexing Structure for Data in Multi- dimensional Space.
Equivalence Between Priority Queues and Sorting in External Memory
Exponential random graphs and dynamic graph algorithms David Eppstein Comp. Sci. Dept., UC Irvine.
Kinetic Heaps K, Tarjan, and Tsioutsiouliklis. Broadcast Scheduling Parametric and Kinetic Heaps Broadcast Scheduling Using a Kinetic Heap The Computational.
Dynamic Dictionaries Primary Operations:  get(key) => search  put(key, element) => insert  remove(key) => delete Additional operations:  ascend()
Optimal Planar Orthogonal Skyline Counting Queries Gerth Stølting Brodal and Kasper Green Larsen Aarhus University 14th Scandinavian Workshop on Algorithm.
Sorting Integers in the RAM Model Gerth Stølting Brodal Joint work with Djamal Belazzougui and Jesper Sindal Nielsen (to be presented at the 14th Scandinavian.
Internal Memory Pointer MachineRandom Access MachineStatic Setting Data resides in records (nodes) that can be accessed via pointers (links). The priority.
(A Survey on) Priority Queues IanFest, University of Waterloo, Waterloo, Ontario, Canada, August 14-15, 2013 Gerth Stølting Brodal Aarhus Universty.
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.
Priority Search Trees Keys are distinct ordered pairs (x i, y i ). Basic operations.  get(x,y) … return element whose key is (x,y).  delete(x,y) … delete.
arxiv.org/abs/ y 3-sided x1 x2 x1 x2 top-k
lsb(x) = Least Significant Bit ?
List Order Maintenance
CMPS 3130/6130 Computational Geometry Spring 2017
Persistent Data Structures (Version Control)
Searching in Trees Gerth Stølting Brodal Aarhus University
Priority Queues MakeQueue create new empty queue
Advanced Topics in Data Management
STACS arxiv.org/abs/ y 3-sided x1 x2 x1 x2 top-k
Priority Queues (Chapter 6.6):
Strict Fibonacci Heaps
Dynamic Data Structures for Simplicial Thickness Queries
8th Workshop on Massive Data Algorithms, August 23, 2016
Range Queries on Uncertain Data
Melding Priority Queues
CSE 373, Copyright S. Tanimoto, 2002 Priority Queues -
Presentation transcript:

Dynamic Planar Range Maxima Queries (presented at ICALP 2011) Gerth Stølting Brodal Aarhus University Kostas Tsakalidis LIAFA, Université Paris Diderot, France, November 22, 2011

2 Orthogonal Range Queries xlxl ybyb xrxr ytyt

3 Priority Search Tree [McCreight’75] Recursively move up maximum y Space: O(n) Update: O(log n) y 1-Sided reporting: O(1+t)

4 3-Sided Reporting Queries O(log n) trees O(log n + t ) xlxl xrxr ybyb Priority search tree

5 Orthogonal Range MAXIMA Reporting alias “Generalized Planar SKYLINE Operator” Dominance Maxima Queries Report all maximal points among points with x in [x l,+∞) and y in [y b,+∞) Contour Maxima Queries Report all maximal points among points with x in (-∞, x r ] 3-Sided Maxima Queries Report all maximal points among points with x in [x l, x r ] and y in [y b,+∞) 4-Sided Maxima Queries Report all maximal points among points with x in [x l, x r ] and y in [y b,y t ] Maximal Points Maximal Point xlxl ybyb xlxl ybyb xrxr ybyb xlxl xlxl xrxr ybyb ytyt Static maximal points in O(n∙log n) time [Kung, Luccio, Preparata, J.ACM’75]

6 Dynamic Range Maxima Reporting SpaceInsertDelete Overmars, van Leeuwen ‘81nlog n + tlog 2 n + tlog 2 n Frederickson, Rodger ‘90nlog n + t log 2 n + t (1+t)log n log nlog 2 n Janardan ‘91nlog n + tlog nlog 2 n Kapoor ‘00nlog n + t amo.-log n B., Tsakalidis [ICALP ’11] nlog n / loglog n + tlog n / loglog n n∙log nlog 2 n / loglog n + tlog 2 n / loglog n RAM

7 Overmars, van Leeuwen [JCSS ’81] O(log n + t ) Updates: O(log 2 n)

8 Our Structure - Tournament Tree Copy Up Maximum y Right(u) = u

9 MAX( ) Tournament Tree Right(u) u Find next point to be reported in O(1) time y

10 U URUR ULUL Computation of MAX(Right(u)) MAX(Right(u R )) MAX(Right(u)) MAX(Right(u L )) [Sundar ‘89] Priority Queue with Attrition O(1) time

11 Reconstruct Rollback Update Operation Priority Queue with Attrition with Rollback Space:O(n) Update:O(log n)

12 Priority Queues with Attrition [Sundar, IPL ‘89]  Deletemin()  InsertAndAttrite(element) O(1) worst case time

13 CBDfDf DrDr 17 ≥ 4+2∙5 insertion order Priority Queues with Attrition [Sundar, IPL ‘89] Invariants 1)C, B, D f sorted 2)max C ≤ min (B D f D r ) 3)|C|≥ |D f |+2|D r |

14 CBDfDf DrDr Invariants 1)C, B, D f sorted 2)max C ≤ min (B D f D r ) 3)|C|≥ |D f |+2|D r | B IAS ≥ “+1”

15 D f +1 D r -1 B D f -1 A C C=C+D f B=D f =0 D C +1 B -1 A B C D CBDfDf DrDr CBDfDf DrDr CBDfDf DrDr CBDfDf DrDr Invariants 1)C, B, D f sorted 2)max C ≤ min (B D f D r ) 3)|C|≥ |D f |+2|D r | B IAS ≥ “+1”

16 Dominance Range Maxima Queries O(log n) trees Query time O(log n + t )

17 Contour Range Maxima Queries O(log n) trees Query time O(log n + t )

18 3-Sided Range Maxima Queries O(log n) trees Query time O(log n + t )

19 4-Sided Range MAXIMA Reporting and Rectangular Visibility Queries SpaceInsertDelete Overmars, Wood ‘88n∙log n log 2 n + t log 2 n + t∙log n log 2 n log 3 n log 2 n [ICALP ’11]n∙log nlog 2 n + tlog 2 n 4x4x (+∞,+∞) (+∞,-∞) (-∞,+∞) (-∞,-∞) Proximity Queries/Similarity Search 4-Sided Range Maxima Queries

20 4-sided Range Maxima Queries Query time O(log 2 n + t), space O(n∙log n)

21 RAM – O(log n/loglog n + t) … O(log ε n) U Height O(log n / loglog n) MAX(Right(u)) maintained using Q-heaps [Fredman, Willard, JCSS ´94]

Thank You Gerth Stølting Brodal Aarhus University SpaceQueryInsert/Delete O(n)O(log n/loglog n + t)O(log n/loglog n) O(n∙log n)O(log 2 n + t)O(log 2 n/loglog n) RAM

23 Laboratoire d'Informatique Algorithmique: Fondements et Applications Université Paris Diderot Title: Dynamic Planar Range Maxima Queries. Abstract: We consider the dynamic two-dimensional maxima query problem. Let P be a set of n points in the plane. A point is maximal if it is not dominated by any other point in P. We describe two data structures that support the reporting of the t maximal points that dominate a given query point, and allow for insertions and deletions of points in P. In the pointer machine model we present a linear space data structure with O(log n + t) worst case query time and O(log n) worst case update time. This is the first dynamic data structure for the planar maxima dominance query problem that achieves these bounds in the worst case. The data structure also supports the more general query of reporting the maximal points among the points that lie in a given 3-sided orthogonal range unbounded from above in the same complexity. We can support 4-sided queries in O(log ^2 n + t) worst case time, and O(log ^2 n) worst case update time, using O(n*log n) space, where t is the size of the output. This improves the worst case deletion time of the dynamic rectangular visibility query problem from O(log ^3 n) to O(log ^2 n). We adapt the data structure to the RAM model with word size w, where the coordinates of the points are integers in the range U = {0,...,2^w-1}. We present a linear space data structure that supports 3-sided range maxima queries in O((log n)/(loglog n) + t) worst case time and updates in O((log n)/(loglog n)) worst case time. These are the first sublogarithmic worst case bounds for all operations in the RAM model. Joint work with Konstas Tsakalidis