[论文解读] Self-Index Based on LZ77
本论文提出了首个基于Lempel-Ziv 1977(LZ77)压缩格式的实用自索引,专为基因组数据库、软件仓库和版本化文档等高度重复的文本集合而设计。其空间使用量为LZ77压缩文本大小的2.6至4.0倍,与现有最佳自索引(RLCSA)相比,空间效率最高提升6.6倍,并支持每秒100万至200万个字符的快速随机访问,以及每次匹配10至50微秒的模式搜索速度。
We introduce the first self-index based on the Lempel-Ziv 1977 compression format (LZ77). It is particularly competitive for highly repetitive text collections such as sequence databases of genomes of related species, software repositories, versioned document collections, and temporal text databases. Such collections are extremely compressible but classical self-indexes fail to capture that source of compressibility. Our self-index takes in practice a few times the space of the text compressed with LZ77 (as little as 2.6 times), extracts 1--2 million characters of the text per second, and finds patterns at a rate of 10--50 microseconds per occurrence. It is smaller (up to one half) than the best current self-index for repetitive collections, and faster in many cases.
研究动机与目标
- 为解决现有自索引在处理基因组数据库、软件仓库和版本化文档等高度重复文本集合时无法充分捕捉重复性的局限性。
- 设计一种自索引,充分利用LZ77相比k阶熵模型和游程编码模型的更优可压缩性,而当前自索引未能充分挖掘这一优势。
- 克服以往基于LZ77的索引方法中因无法使用原始文本明文形式而导致无法构建功能性自索引的关键障碍。
- 在空间占用、构建时间和查询速度方面实现实际性能,使基于LZ77的自索引在真实世界应用中具备可行性。
提出的方法
- 自索引基于LZ77解析的一种变体——LZ-End,该方法支持高效随机访问并降低空间开销,同时保持压缩效率。
- 采用后缀数组和反向后缀数组数据结构,并通过压缩表示增强,以支持快速模式定位和文本提取。
- 在隐式或显式ID数组及反向ID数组上使用二分查找,以减少空间占用,同时保持对文本中位置的对数时间访问。
- 引入一种新型压缩数据结构用于支持'prevLess'操作,即高效查找序列中前一个更小元素,从而提升空间和时间效率。
- 支持LZ77和LZ-End两种解析方式,提供五种空间-时间权衡变体,从最节省空间到最耗空间。
- 构建过程采用压缩后缀数组和FM-index中使用的压缩数据结构与技术,并针对LZ77解析模型进行适配。
实验结果
研究问题
- RQ1能否在不依赖原始文本明文形式的前提下,直接在LZ77压缩文本上构建自索引,同时支持快速随机访问和模式匹配?
- RQ2在高度重复的文本集合上,基于LZ77的自索引与当前最先进的RLCSA索引相比,其空间使用量如何?
- RQ3该索引是否能在真实世界的重复数据上同时实现高压缩率和高性能的提取与搜索速度?
- RQ4该索引的最节省空间配置是什么?其与构建时间和查询时间之间的权衡关系如何?
主要发现
- 所提出的LZ77自索引最多使用2|LZ| + o(|LZ|)比特空间,其中|LZ|为LZ77压缩文本的大小,因此具有极高的空间效率。
- 最节省空间的变体仅使用p7zip压缩后的LZ77输出大小的2.5至4.0倍,与512采样率的RLCSA相比,空间使用量最高可降低6.6倍。
- 在Einstein数据集上,该索引仅占用原始文本大小的0.18%(LZ-End 5),而RLCSA 512则占用1.20%,表明其在高度重复数据上具有更优的压缩性能。
- 文本提取性能达到每秒100万至200万个字符,多数情况下优于RLCSA;模式定位时间每匹配一次仅需10至50微秒。
- 在许多情况下,该索引的模式定位速度优于RLCSA,尤其在索引较小时更为明显,且即使采样率极低,也能保持高性能。
- ‘prevLess’数据结构的设计以及隐式ID数组的使用,显著提升了空间效率,且该设计可能可复用于其他压缩数据结构中。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。