中文

由 LZ77 解析快速且空间高效地构造 AVL 文法

数据结构与算法 2022-01-06 v1

摘要

文法压缩是与 Lempel-Ziv(LZ77)和游程长度 Burrows-Wheeler 变换(RLBWT)并列的、最具灵活性用于表示和处理高度可压缩字符串的方法之一。其核心思想是将文本表示为一个上下文无关文法,该文法的语言恰为输入字符串。这被称为直线文法(SLG)。由 Rytter [Theor. Comput. Sci., 2003] 提出的 AVL 文法是一类额外的满足 AVL 性质的 SLG:每个非终结符的子节点分析树高度差至多为 1。与其他 SLG 构造不同,AVL 文法可在压缩时间内由 LZ77 解析构造:复杂度为 O(zlogn)\mathcal{O}(z \log n),其中 zz 为 LZ77 解析的大小,nn 为输入文本长度。尽管有这些优势,AVL 文法被认为过大而不实用。我们提出了一种由 LZ77 或类 LZ77 解析快速构造小型 AVL 文法的新技术。我们的算法所产生的文法始终比原始算法产生的至少小五倍,且大小不超过实用的 Re-Pair 压缩器 [Larsson and Moffat, Proc. IEEE, 2000] 所产生文法的两倍。我们的算法还实现了较低的峰值 RAM 使用量。通过将此算法与近期在近似 LZ77 解析方面的进展相结合,我们表明该方法有潜力以约其他方案所需三分之一的时间和峰值 RAM 由 LZ77 解析构造游程长度 BWT。总体而言,我们表明 AVL 文法出人意料地实用,为更快速构造关键压缩数据结构打开了大门。

关键词

引用

@article{arxiv.2105.11052,
  title  = {Fast and Space-Efficient Construction of AVL Grammars from the LZ77 Parsing},
  author = {Dominik Kempa and Ben Langmead},
  journal= {arXiv preprint arXiv:2105.11052},
  year   = {2022}
}