Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Update Persistent Data Structures (Version Control) v0v0 v1v1 v2v2 v3v3 v4v4 v5v5 v6v6 Ephemeral query v0v0 v1v1 v2v2 v3v3 v4v4 v5v5 v6v6 Partial persistence."— Presentation transcript:

1 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

2 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, 274-283, 2004]

3 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

4 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): 932-963, 2006] ( prefix sum queries require Ω(log n) ) *

5 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)

6 Partial Retroactive Commutative Data Structures 6

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

8 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, 114-122, 1981] * ?


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

Similar presentations


Ads by Google