由 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 解析构造:复杂度为 ,其中 为 LZ77 解析的大小, 为输入文本长度。尽管有这些优势,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}
}