English

The CDAWG Index and Pattern Matching on Grammar-Compressed Strings

Data Structures and Algorithms 2024-07-15 v1

Abstract

The compact directed acyclic word graph (CDAWG) is the minimal compact automaton that recognizes all the suffixes of a string. Classically the CDAWG has been implemented as an index of the string it recognizes, requiring o(n)o(n) space for a copy of the string TT being indexed, where n=Tn=|T|. In this work, we propose using the CDAWG as an index for grammar-compressed strings. While this enables all analyses supported by the CDAWG on any grammar-compressed string, in this work we specifically consider pattern matching. Using the CDAWG index, pattern matching can be performed on any grammar-compressed string in O(ra(m)+occ)\mathcal{O}(\text{ra}(m)+\text{occ}) time while requiring only O(er(T))\mathcal{O}(\text{er}(T)) additional space, where mm is the length of the pattern, ra(m)\text{ra}(m) is the grammar random access time, occ\text{occ} is the number of occurrences of the pattern in TT, and er(T)\text{er}(T) is the number of right-extensions of the maximal repeats in TT. Our experiments show that even when using a na\"ive random access algorithm, the CDAWG index achieves state of the art run-time performance for pattern matching on grammar-compressed strings. Additionally, we find that all of the grammars computed for our experiments are smaller than the number of right-extensions in the string they produce and, thus, their CDAWGs are within the best known O(er(T))\mathcal{O}(\text{er}(T)) space asymptotic bound.

Keywords

Cite

@article{arxiv.2407.08826,
  title  = {The CDAWG Index and Pattern Matching on Grammar-Compressed Strings},
  author = {Alan M. Cleary and Joseph Winjum and Jordan Dood and Shunsuke Inenaga},
  journal= {arXiv preprint arXiv:2407.08826},
  year   = {2024}
}
R2 v1 2026-06-28T17:37:54.777Z