中文

高度重复文本压缩索引的最优构造

数据结构与算法 2020-12-09 v8

摘要

我们提出了若干算法,给定长度为 nn、字母表大小为 σ\sigma 的整数字母串输入,可在 O(n/logσn+rpolylogn)O(n/\log_{\sigma}n+r\,{\rm polylog}\,n) 的时间与工作空间内构造 Burrows-Wheeler 变换(BWT)、置换最长公共前缀(PLCP)数组以及 LZ77 解析,其中 rr 为输入 BWT 中的游程数。这些是许多压缩索引(如压缩后缀树、FM-index 以及基于文法和 LZ77 的索引)的核心组成部分,同时也在序列分析与数据压缩中有大量应用。rr 的值是重复性的常用度量,若字符串高度重复则显著小于 nn。由于仅访问字符串每个符号就需要 Ω(n/logσn)\Omega(n/\log_{\sigma}n) 时间,对于满足重复性假设 n/rΩ(polylogn)n/r\in\Omega({\rm polylog}\,n) 的输入,所提算法在时间与空间上均是最优的。对此类输入,我们的结果改进了 Belazzougui(STOC 2014)与 Munro 等人(SODA 2017)当前最快的通用算法,后者运行时间为 O(n)O(n) 且使用 O(n/logσn)O(n/\log_{\sigma} n) 工作空间。我们还展示了如何运用我们的技术,针对高度重复数据在其他基础字符串处理问题上获得最优解,例如:Lyndon 分解、游程长度压缩后缀数组的构造,以及一些经典的“教科书”问题,如计算至少出现某固定次数的最长子串。

关键词

引用

@article{arxiv.1712.04886,
  title  = {Optimal Construction of Compressed Indexes for Highly Repetitive Texts},
  author = {Dominik Kempa},
  journal= {arXiv preprint arXiv:1712.04886},
  year   = {2020}
}