Update Persistent Data Structures (Version Control) v0v0 v1v1 v2v2 v3v3 v4v4 v5v5 v6v6 Ephemeral query v0v0 v1v1 v2v2 v3v3 v4v4 v5v5 v6v6 Partial persistence.

Slides:



Advertisements
Similar presentations
List Order Maintenance
Advertisements

Planar point location -- example
Incremental Clustering Previous clustering algorithms worked in “batch” mode: processed all points at essentially the same time. Some IR applications cluster.
Tight Bounds for Dynamic Convex Hull Queries (Again) Erik DemaineMihai Pătraşcu.
1 Persistent data structures. 2 Ephemeral: A modification destroys the version which we modify. Persistent: Modifications are nondestructive. Each modification.
1 Functional Data Structures Purely functional car cdr never modify only create new pairs only DAGs [C. Okasaki, Simple and efficient purely functional.
Computing Diameter in the Streaming and Sliding-Window Models J. Feigenbaum, S. Kannan, J. Zhang.
Randomized Algorithms Randomized Algorithms CS648 Lecture 15 Randomized Incremental Construction (building the background) Lecture 15 Randomized Incremental.
1 Algorithmic Aspects of Searching in the Past Christine Kupich Institut für Informatik, Universität Freiburg Lecture 1: Persistent Data Structures Advanced.
1 Self-Adjusting Data Structures. 2 Lists [D.D. Sleator, R.E. Tarjan, Amortized Efficiency of List Update Rules, Proc. 16 th Annual ACM Symposium on Theory.
Chapter 7 Data Structure Transformations Basheer Qolomany.
A Linear Time Algorithm for the k Maximum Sums Problem By Gerth S. Brodal and Allan G. Jørgensen.
Fractional Cascading CSE What is Fractional Cascading anyway? An efficient strategy for dealing with iterative searches that achieves optimal.
Unified Access Bound 1 [M. B ă doiu, R. Cole, E.D. Demaine, J. Iacono, A unified access bound on comparison- based dynamic dictionaries, Theoretical Computer.
Multiversion Access Methods - Temporal Indexing. Basics A data structure is called : Ephemeral: updates create a new version and the old version cannot.
WS Prof. Dr. Th. Ottmann Algorithmentheorie 16 – Persistenz und Vergesslichkeit.
Data Structures: Range Queries - Space Efficiency Pooya Davoodi Aarhus University PhD Defense July 4, 2011.
CS Section 600 CS Section 002 Dr. Angela Guercio Spring 2010.
1 Nearest Commen Ancestors (NCA) Discrete Range Maximum Cartesian Tree [Vuillemin 1980] i j max(i, j) i.
Update 1 Persistent Data Structures (Version Control) v0v0 v1v1 v2v2 v3v3 v4v4 v5v5 v6v6 Ephemeral query v0v0 v1v1 v2v2 v3v3 v4v4 v5v5 v6v6 Partial persistence.
Computing Diameter in the Streaming and Sliding-Window Models J. Feigenbaum, S. Kannan, J. Zhang.
Spatio-Temporal Databases
Temporal Databases. Outline Spatial Databases Indexing, Query processing Temporal Databases Spatio-temporal ….
Persistent Data Structures Computational Geometry, WS 2007/08 Lecture 12 Prof. Dr. Thomas Ottmann Khaireel A. Mohamed Algorithmen & Datenstrukturen, Institut.
Indexing Positions of Moving Objects Using B + -trees 4-th WIM meeting, Aalborg 2002 Laurynas Speičys
Temporal Indexing MVBT. Temporal Indexing Transaction time databases : update the last version, query all versions Queries: “Find all employees that worked.
I/O-Algorithms Lars Arge Spring 2009 March 3, 2009.
An almost linear fully dynamic reachability algorithm.
Fully Persistent B-Trees 23 rd Annual ACM-SIAM Symposium on Discrete Algorithms, Kyoto, Japan, January 18, 2012 Gerth Stølting Brodal Konstantinos Tsakalidis.
MAE 552 – Heuristic Optimization Lecture 26 April 1, 2002 Topic:Branch and Bound.
Point Location Computational Geometry, WS 2007/08 Lecture 5 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
Spatio-Temporal Databases. Introduction Spatiotemporal Databases: manage spatial data whose geometry changes over time Geometry: position and/or extent.
Uniquely Represented Data Structures Advanced Algorithms & Data Structures Lecture Theme 10 Prof. Dr. Th. Ottmann Summer Semester 2006.
1 Persistent data structures. 2 Ephemeral: A modification destroys the version which we modify. Persistent: Modifications are nondestructive. Each modification.
Liam Roditty Reachability in Directed Graphs. Connectivity in undirected graphs Given two vertices decide whether they are in the same component. Reachability.
Spatio-Temporal Databases. Outline Spatial Databases Temporal Databases Spatio-temporal Databases Multimedia Databases …..
1 Divide and Conquer Binary Search Mergesort Recurrence Relations CSE Lecture 4 – Algorithms II.
1 Chapter 1 Analysis Basics. 2 Chapter Outline What is analysis? What to count and consider Mathematical background Rates of growth Tournament method.
Unit III : Introduction To Data Structures and Analysis Of Algorithm 10/8/ Objective : 1.To understand primitive storage structures and types 2.To.
Complexity of algorithms Algorithms can be classified by the amount of time they need to complete compared to their input size. There is a wide variety:
ITCS 6163 Lecture 5. Indexing datacubes Objective: speed queries up. Traditional databases (OLTP): B-Trees Time and space logarithmic to the amount of.
Time O(log d) Exponential-search(13) Finger Search Searching in a sorted array time O(log n) Binary-search(13)
The Volcano Query Optimization Framework S. Sudarshan (based on description in Prasan Roy’s thesis Chapter 2)
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.
Search by partial solutions.  nodes are partial or complete states  graphs are DAGs (may be trees) source (root) is empty state sinks (leaves) are complete.
Path Minima on Dynamic Weighted Trees Pooya Davoodi Aarhus University Aarhus University, November 17, 2010 Joint work with Gerth Stølting Brodal and S.
Λίστα Εργασιών External Memory Data Structures Vitter, J. S. and Shriver, E. 1994a. Algorithms for parallel memory I: Two-level memories. Algorithmica.
Open Problem: Dynamic Planar Nearest Neighbors CSCE 620 Problem 63 from the Open Problems Project
Λίστα Εργασιών Data Structures for Tree Manipulation D. Harel and R.E. Tarjan. Fast Algorithms for finding nearest common ancestors. SIAM J. Computing,
Approximate Nearest Neighbors: Towards Removing the Curse of Dimensionality Piotr Indyk, Rajeev Motwani The 30 th annual ACM symposium on theory of computing.
Exact quantum algorithms Andris Ambainis University of Latvia.
1 Nearest Common Ancestors (NCA) Discrete Range Maximum Cartesian Tree [Vuillemin 1980] i j max(i, j) i.
Temporal Indexing MVBT. Temporal Indexing Transaction time databases : update the last version, query all versions Queries: “Find all employees that worked.
1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 467 / Phys 767 C&O 481 / C&O 681 Richard Cleve DC 3524 Course.
Spatio-Temporal Databases. Term Project Groups of 2 students You can take a look on some project ideas from here:
BIN SORTING Problem Pack the following items in bins of size Firstly, find the lower bound by summing the numbers to be packed.
Michal Balas1 I/O-efficient Point Location using Persistent B-Trees Lars Arge, Andrew Danner, and Sha-Mayn Teh Department of Computer Science, Duke University.
Confluently Persistent Tries Eric Price, MIT joint work with Erik Demaine, MIT Stefan Langerman, Université Libre de Bruxelles.
Self-Adjusting Data Structures
Spatio-Temporal Databases
List Order Maintenance
Persistent Data Structures (Version Control)
Temporal Indexing MVBT.
Partial Products Algorithm for Multiplication
Web Data Integration Using Approximate String Join
Spatio-Temporal Databases
Branch and Bound.
Discrete Range Maximum
Algorithms CSCI 235, Spring 2019 Lecture 8 Recurrences III
Presentation transcript:

update Persistent Data Structures (Version Control) v0v0 v1v1 v2v2 v3v3 v4v4 v5v5 v6v6 Ephemeral query v0v0 v1v1 v2v2 v3v3 v4v4 v5v5 v6v6 Partial persistence query only update & query v0v0 v1v1 v2v2 v3v3 v4v4 v6v6 Full persistence updates at leaves any version can be copied query all versions v5v5 v0v0 v1v1 v2v2 v3v3 Confluently persistence update/merge/query all versions v5v5 Purely functional car cdr never modify only create new pairs only DAGs version DAG version tree version list 1 Retroactive v0v0 v1v1 v2v2 v3v3 v4v4 update & query all versions updates in the past propragate

Retroactive Data Structures 2 v0v0 v1v1 v2v2 v3v3 v4v4 mTotal number of updates/versions rDistance from current time nMaximal data structure size at any time Partial retroactiveUpdate all versions & query current Full retroactiveUpdate & query all versions r m [E.D. Demaine, J. Iacono, S. Langerman, Retroactive Data Structures, Proc. 15 th Annual ACM- SIAM Symposium on Discrete Algorithms, , 2004]

Rollback  Full Retroactivity 3 v0v0 v1v1 v2v2 v3v3 v4v4 Update u 1 u2u2 u3u3 u4u4 Change  1  2 2  3 3  4 4 current + Generic, can always be applied, space efficient - Slow retroactive operations

Lower bounds for Retroactivity 4 a 0 + a 1 x + a 2 x 2 + ∙∙∙ + a n x n ( requires Ω(n) multiplications given x by Motzkin’s theorem ) x0x0 x1x1 x2x2 ∙∙∙xixi xnxn * [M. Patrascu, E.D. Demaine, Logarithmic Lower Bounds in the Cell-Probe Model, SIAM J. of Computing 35(4): , 2006] ( prefix sum queries require Ω(log n) ) *

Partial  Full Retroactivity 5 v5v5 v7v7 v8v8 v1v1 v2v2 v4v4  (  m) u1u1 u2u2 u3u3 partial retroactive structures (remember using full persistence) v0v0 v9v9 current u7u7 u8u8 u9u9 ½ v3v3 v6v6 u4u4 u5u5 u6u6 v5v5 v4v4 temporary during queries to V 5 (rollback)

Partial Retroactive Commutative Data Structures 6

Decomposable Search Problems 7 n T(2n)≥(1+  )T(n) A B C ADAD A BB C CDCD DD time delete(D)insert(D)

Specific Retroactive Data Structures 8 * [D.D. Sleator, R.E. Tarjan, A Data Structure for Dynamic Trees, Proc. 13 th Annual ACM Symposium on Theory of Computing, , 1981] * ?