Dynamic Data Structures: Orthogonal Range Queries and Update Efficiency Konstantinos Athanasiou Tsakalidis
Total Page:16
File Type:pdf, Size:1020Kb
Dynamic Data Structures: Orthogonal Range Queries and Update Efficiency Konstantinos Athanasiou Tsakalidis PhD Dissertation Department of Computer Science Aarhus University Denmark Dynamic Data Structures: Orthogonal Range Queries and Update Efficiency A Dissertation Presented to the Faculty of Science of Aarhus University in Partial Fulfilment of the Requirements for the PhD Degree by Konstantinos A. Tsakalidis August 11, 2011 Abstract (English) We study dynamic data structures for different variants of orthogonal range reporting query problems. In particular, we consider (1) the planar orthogonal 3-sided range reporting problem: given a set of points in the plane, report the points that lie within a given 3-sided rectangle with one unbounded side, (2) the planar orthogonal range maxima reporting problem: given a set of points in the plane, report the points that lie within a given orthogonal range and are not dominated by any other point in the range, and (3) the problem of designing fully persistent B-trees for external memory. Dynamic problems like the above arise in various applications of network optimization, VLSI layout design, computer graphics and distributed computing. For the first problem, we present dynamic data structures for internal and external memory that support planar orthogonal 3-sided range reporting queries, and insertions and deletions of points efficiently over an average case sequence of update operations. The external memory data structures find applications in constraint and temporal databases. In particular, we assume that the coor- dinates of the points are drawn from different probabilistic distributions that arise in real-world applications, and we modify existing techniques for updating dynamic data structures, in order to support the queries and the updates more efficiently than the worst-case efficient counterparts for this problem. For the second problem, we present dynamic data structures for internal memory that support different variants of planar orthogonal range maxima reporting queries, and insertions and deletions of points efficiently in the worst case. The presented structures for the pointer machine model improve upon their previous counterparts either by a logarithmic factor in the query or update complexity, or by the fact that they support all the operations efficiently in the worst case. The presented structure for the word-RAM model is the first structure that supports all operations in sublogarithmic worst case time. The results are obtained by a new technique for updating dynamic data structures that is based on partial persistence. The technique is interesting in its own right, as it alleviates significantly the design of algorithms that handle deletions. For the third problem, we present the currently most efficient fully persistent B-trees, which comprises the implementation of an efficient multi-versioned indexing database. We first present a generic method for making data structures fully persistent in external memory. This method can render any database multi-versioned, as long as its implementation abides by our assumptions. We obtain the result by presenting an implementation of B-trees with worst case efficient update time, and applying our method for full persistence to it. v Abstract (Danish) Vi studerer dynamiske data strukturer for forskellige varianter af ortogonale range rapporterings query problemer. Specifikt, overvejer vi (1) det planfladet ortogonale 3-sidet range rapporterings problem: given en punktmængde i pla- nen, rapporter punkterne, der ligger indenfor et givet 3-sidet rektangel med en ubundet side, (2) det planfladet ortogonale range maxima rapporterings prob- lem: given en punktmængde i planen, rapporter punkterne, der ligger indenfor en given ortogonale range og der ikke er domineret af andre punkter i ranget, og (3) problemet for at designe fuldt-vedvarende B-træer for ekstern hukom- melse. Dynamiske problemer som de ovennævnte opst˚ari forskellige anvendelser i netværksoptimering, VLSI design, computer grafik og distributeret regning. I det første problem, præsenterer vi dynamiske data strukturer for intern og ekstern hukommelse, der støtter planflade ortogonale 3-sidet range rappor- terings querier, og indsættelser of slettelser af punkter effektivt over gennem- snitstilfælds sekvenser af opdateringsoperationer. Data strukturen for ekstern hukommelse har anvendelser i afgrænsede og tidsmæssige databaser. Specifikt, antager vi at punkternes kooordinater er udtrukket fra forskellige probabilistiske distributioner, som forekommer i dagligdags anvendelser, og vi modificer eksis- terende teknikker for at opdatere dynamiske data strukturer med det m˚alat støtte operationerne mere effektivt end problemets værste-tilfælds modstykker. I det andet problem, præsenterer vi dynamiske data strukturer for intern hukommelse, der støtter planflade ortogonale range maxima rapporterings querier, og indsættelser og slettelser af punkter effektivt i det værste tilfælde. De præsenterede strucktrurer for pointer-maskin modelen forbedrer de tidligere løsninger enten ved en logaritmisk faktor i queriets eller opdaterings komplek- siteten, eller ved at de støtte alle operationer effektivt i det værste tildfælde. De præsenterede strukturer for word-RAM modelen er de første strukturer, der støtter alle operarioner i underlogaritmiske værste tildfældes tid. Resultaterne opn˚aes ven en ny teknik for at opdatere dynamiske data strukturer, der er baseret p˚adelvisvedvarenhed. Teknikken er i sig selv interessant, fordi den væsentligt letter designet af algoritmer, der behandler slettelser. I det tredige problem, præsenterer vi de nuværende mest effektive fuldt- vedvarende B-træer, der best˚arimplementationen af en effektiv multi-version indeks database. Først præsenter vi en general metode for at lave data struk- turer fuldt-vedvarende i ekstern hukommelse. Metoden gør hver database multi- versioneret, s˚alængeden tilfredsstiller vores antagelser. Vi opn˚arresultatet ved at præsenter en implementation af B-træer med effektiv værste-tilfælds opda- teringstid, og ved at anvende vores metode for fuldt-vedvarenhed i den. vii Abstract (Greek) B VLSI computer pointer machine word-RAM ix Preface This dissertation is devoted to three aspects of dynamic data structures and algorithms: efficient update operations, persistent data structures and orthogo- nal range queries. Motivated by two different problems that arise in the field of Dynamic Geometric Orthogonal Range Searching, we study how to use existing techniques and we propose new techniques for updating dynamic data struc- tures efficiently over average and worst case sequences of update operations. Motivated by a problem that arises in the field of Multi-Versioned Databases, we study how to make data structures for external memory persistent. Structure of the dissertation Chapter 1 (Introduction). This chapter provides a detailed overview • of the subject of this dissertation. In particular, the three problems con- sidered in the following chapters are formally defined, the relevant lit- erature is surveyed, and our contributions are briefly stated. Moreover, Section 1.2 provides the necessary preliminaries and the terminology for the remainder of the dissertation. Chapter 2 (Dynamic Planar 3-Sided Range Reporting Queries) • The content of this chapter is based on two papers. In particular, Sections 2.2 and 2.3 are part of a paper published in the Proceed- ings of the 13th International Conference on Database Theory (ICDT 2010) [KPS+10]. It is entitled “Efficient Processing of 3-Sided Range Queries with Probabilistic Guarantees”, and it is joint work with Alexis Kaporis, Apostolos Papadopoulos, Spyros Sioutas and Kostas Tsich- las. Section 2.4 is part of a paper published in the Proceedings of the 20th International Symposium on Algorithms and Computation (ISAAC 2009) [BKS+09]. It is entitled “Dynamic 3-Sided Planar Range Queries with Expected Doubly Logarithmic Time”, and it is joint work with Gerth Stølting Brodal, Alexis Kaporis, Spyros Sioutas and Kostas Tsichlas. In this chapter, we study dynamic data structures for internal and ex- ternal memory that support planar orthogonal 3-sided range reporting queries and updates efficiently over an average case sequence of update operations. In Section 2.2 we present a dynamic data structure for internal memory and its variant for external memory, that support update oper- ations more efficiently than the previous worst-case efficient structures, under the assumption that the coordinates of the points are drawn from a continuous but unknown probabilistic distribution. In Section 2.3 we xi present a dynamic data structure for internal memory and its variant for external memory, that support both queries and updates more efficiently than previous worst-case efficient structures, under the assumption that the x-coordinates of the points are drawn from a smooth probabilistic distribution, and the y-coordinates are drawn from a class of probabilistic distributions that exhibit unbounded density. In Section 2.4 we waive the assumption on the y-coordinates of the points. We present a dynamic data structure for internal memory and its variant for external memory, that support both queries and updates more efficiently than previous worst- case efficient structures, only under the assumption that the x-coordinates of the points are drawn from a smooth probabilistic distribution. Finally, we propose some open problems. Chapter 3 (Dynamic Planar Range Maxima Queries) The con- • tent of this chapter is based on a paper published in the Proceedings of