Efficient pebbling for list traversal synopses
Yossi Matias, Ely Porat

TL;DR
This paper introduces efficient algorithms for supporting back traversal in unidirectional lists with minimal memory and overhead, using a novel pebbling technique on virtual trees, applicable to general directed graphs and program rollback.
Contribution
It presents a new pebbling-based method for list traversal synopses that enables efficient back steps with small memory, and extends to program rollback support with low overhead.
Findings
Back steps take O(log i) worst-case time.
Memory usage is O(log n) for list of size n.
Supports arbitrary sequences of forward and back steps efficiently.
Abstract
We show how to support efficient back traversal in a unidirectional list, using small memory and with essentially no slowdown in forward steps. Using memory for a list of size , the 'th back-step from the farthest point reached so far takes time in the worst case, while the overhead per forward step is at most for arbitrary small constant . An arbitrary sequence of forward and back steps is allowed. A full trade-off between memory usage and time per back-step is presented: vs. and vice versa. Our algorithms are based on a novel pebbling technique which moves pebbles on a virtual binary, or -ary, tree that can only be traversed in a pre-order fashion. The compact data structures used by the pebbling algorithms, called list traversal synopses, extend to general directed graphs, and have other interesting applications,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAlgorithms and Data Compression · Complexity and Algorithms in Graphs · Cryptography and Data Security
