Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Persistent Data Structures (Version Control) Ephemeral v0 Partial persistence version list Full persistence version tree v0 Confluently persistence version DAG v0 Purely functional v0 car cdr update v1 v1 v2 v3 v3 v4 v4 v5 v5 v2 v3 v6 v4 v5 query v6 update & query v3 v5 updates at leaves any version can be copied query all versions update/merge/query all versions Retroactive v0 v6 v1 v2 query only v2 v1 never modify only create new pairs only DAGs v1 v2 v3 update & query all versions updates in the past propragate v4 1 Retroactive Data Structures [E.D. Demaine, J. Iacono, S. Langerman, Retroactive Data Structures, Proc. 15th Annual ACMSIAM Symposium on Discrete Algorithms, 274-283, 2004] r v0 v1 v2 v3 v4 m m Total number of updates/versions r Distance from current time n Maximal data structure size at any time Partial retroactive Update all versions & query current Full retroactive Update & query all versions 2 Rollback Full Retroactivity current v0 Update u1 Change 1 v1 v2 u2 2 v3 u3 3 + Generic, can always be applied, space efficient v4 u4 4 - Slow retroactive operations 3 Lower bounds for Retroactivity a0 + a1x + a2x2 + ∙∙∙ + anxn ( requires Ω(n) multiplications given x by Motzkin’s theorem ) * x0 x1 x2 ∙∙∙ xi ∙∙∙ xn ( prefix sum queries require Ω(log n) ) * [M. Patrascu, E.D. Demaine, Logarithmic Lower Bounds in the Cell-Probe Model, SIAM J. of Computing 35(4): 932-963, 2006] 4 Partial Full Retroactivity (m) v0 u1 v1 u2 partial retroactive structures (remember using full persistence) current v2 v3 u3 u4 v4 v4 u5 v5 u6 v6 u7 v7 u8 v8 u9 v9 v5 temporary during queries to V5 (rollback) 5 Partial Retroactive Commutative Data Structures commutative = state independent of order of operations 6 Decomposable Search Problems n C A AD B D A C insert(D) CD B D B delete(D) time 7 Specific Retroactive Data Structures ? * * [D.D. Sleator, R.E. Tarjan, A Data Structure for Dynamic Trees, Proc. 13th Annual ACM Symposium on Theory of Computing, 114-122, 1981] 8