Dynamic Grammar-Compressed Self-Index in $\delta$-Optimal Space
Abstract
A compressed self-index stores a string in compressed form while supporting locate queries without decompression. For highly repetitive strings (arising in web crawls, versioned documents, and genomic collections), static self-indexes can match the -optimal lower bound of bits up to constant factors, where is the string length, is the alphabet size, and is the substring complexity. Their dynamic counterparts, however, remain scarce: every existing dynamic self-index either fails to attain -optimal space, pays at least time per reported occurrence during locate, or exposes the longest common prefix (LCP) of the text inside its update time. We present the dynamic RR-index, a dynamic grammar-compressed self-index built on the restricted recompression run-length straight-line program (RLSLP). To our knowledge, it is the first dynamic self-index to attain -optimal space. The index occupies expected bits, answers locate queries in expected time (where is the pattern length and is the number of occurrences), and supports insertions and deletions of a length- substring in expected amortized time, with no dependence on the LCP. On eleven highly repetitive corpora, including a GB Wikipedia dump and a GB human-chromosome collection, the dynamic RR-index is up to faster than the dynamic r-index on updates and up to faster than other dynamic indexes on locate.
Cite
@article{arxiv.2604.24080,
title = {Dynamic Grammar-Compressed Self-Index in $\delta$-Optimal Space},
author = {Takaaki Nishimoto and Yasuo Tabei},
journal= {arXiv preprint arXiv:2604.24080},
year = {2026}
}
Comments
Fix the title