Compression by Contracting Straight-Line Programs
Moses Ganardi

TL;DR
This paper introduces contracting straight-line programs (SLPs), a new class of balanced grammars that enable efficient string compression, navigation, and finger search operations with improved time complexities and linear space requirements.
Contribution
The authors define contracting SLPs, show how to transform any SLP into this form efficiently, and demonstrate their applications in compressed tree navigation and finger search problems.
Findings
Transform SLPs into contracting SLPs in linear time with constant rule length.
Achieve $O( ext{log } d)$ time for child navigation in compressed trees.
Improve finger search time to $O( ext{log } d + ext{log}^{(t)} N)$, surpassing previous methods.
Abstract
In grammar-based compression a string is represented by a context-free grammar, also called a straight-line program (SLP), that generates only that string. We refine a recent balancing result stating that one can transform an SLP of size in linear time into an equivalent SLP of size so that the height of the unique derivation tree is where is the length of the represented string (FOCS 2019). We introduce a new class of balanced SLPs, called contracting SLPs, where for every rule the string length of every variable on the right-hand side is smaller by a constant factor than the string length of . In particular, the derivation tree of a contracting SLP has the property that every subtree has logarithmic height in its leaf size. We show that a given SLP of size can be transformed in linear time into an equivalent…
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.
