[论文解读] Construction of Sparse Suffix Trees and LCE Indexes in Optimal Time and Space
本文提出了一种确定性算法,可在 O(n/b) 时间和 O(b) 空间内构造长度为 n 的字符串的 τ-划分集合,其大小为 O(b),从而实现稀疏后缀树和 LCE 索引的最优 O(b) 空间和 O(n/b) 查询时间。该方法利用子串的位表示上的压缩字典树以及预计算的查找表,实现了线性时间构造,且渐近空间使用效率最优。
The notions of synchronizing and partitioning sets are recently introduced variants of locally consistent parsings with great potential in problem-solving. In this paper we propose a deterministic algorithm that constructs for a given readonly string of length $n$ over the alphabet $\{0,1,\ldots,n^{\mathcal{O}(1)}\}$ a variant of $τ$-partitioning set with size $\mathcal{O}(b)$ and $τ= \frac{n}{b}$ using $\mathcal{O}(b)$ space and $\mathcal{O}(\frac{1}εn)$ time provided $b \ge n^ε$, for $ε> 0$. As a corollary, for $b \ge n^ε$ and constant $ε> 0$, we obtain linear construction algorithms with $\mathcal{O}(b)$ space on top of the string for two major small-space indexes: a sparse suffix tree, which is a compacted trie built on $b$ chosen suffixes of the string, and a longest common extension (LCE) index, which occupies $\mathcal{O}(b)$ space and allows us to compute the longest common prefix for any pair of substrings in $\mathcal{O}(n/b)$ time. For both, the $\mathcal{O}(b)$ construction storage is asymptotically optimal since the tree itself takes $\mathcal{O}(b)$ space and any LCE index with $\mathcal{O}(n/b)$ query time must occupy at least $\mathcal{O}(b)$ space by a known trade-off (at least for $b \ge Ω(n / \log n)$). In case of arbitrary $b \ge Ω(\log^2 n)$, we present construction algorithms for the partitioning set, sparse suffix tree, and LCE index with $\mathcal{O}(n\log_b n)$ running time and $\mathcal{O}(b)$ space, thus also improving the state of the art.
研究动机与目标
- 开发一种在最优时间和空间复杂度下构造稀疏后缀树和 LCE 索引的确定性算法。
- 解决在仅使用 O(b) 额外空间(在只读字符串基础上)构建这些索引的挑战。
- 改进先前的确定性构造方法,后者需要 O(n log n / b) 时间或更差。
- 为两种数据结构实现最优的 O(b) 空间和 O(n/b) 查询时间,与已知的下界一致。
- 将局部一致划分的应用范围扩展至确定性、小空间的字符串索引。
提出的方法
- 使用 τ-划分集合(τ = n/b)以在 O(b) 空间下实现高效的索引。
- 在子串的位表示上构建压缩字典树,以支持快速的 LCE 查询。
- 利用融合树和位操作,在 O(k) 时间内为 k 个子串构建压缩字典树。
- 预计算一个查找表 D,用于所有可能的位块(编码子串、位数组和压缩字典树),以实现 O(1) 时间的字符计算。
- 使用位移操作维护动态位数组,以指示 S′ 中在大小为 τ 的滑动窗口内的位置。
- 利用预计算的表 F 在 O(1) 时间内初始化每个位置的数组 Mi,从而实现高效的范围计数。
实验结果
研究问题
- RQ1是否存在一种确定性算法,可在 O(n/b) 时间和 O(b) 空间内为任意 b ≥ n^ϵ 构造稀疏后缀树?
- RQ2是否可能仅使用 O(b) 空间和确定性构造实现 LCE 索引的 O(n/b) 查询时间?
- RQ3如何利用局部一致划分设计最优的小空间字符串索引?
- RQ4构造大小为 O(b) 的划分集合所需的最小空间和时间开销是多少?
- RQ5能否使用位级表示和压缩字典树在不存储完整子串的情况下加速 LCE 计算?
主要发现
- 该算法可在 O(n/b) 时间和 O(b) 空间内为任意 b ≥ n^ϵ 且 ϵ > 0 构造出大小为 O(b) 的 τ-划分集合。
- 稀疏后缀树和 LCE 索引在 O(n log b n) 时间和 O(b) 空间内被构造,适用于任意 b ≥ Ω(log² n),优于先前的确定性界。
- O(n/b) 的构造时间对于 b ≥ n^ϵ 是最优的,与查询时间的下界一致。
- O(b) 的空间使用量对两种数据结构而言都是渐近最优的,符合已知的时间-空间权衡。
- 通过使用预计算的查找表和位级压缩字典树,实现了每个位置 O(1) 的处理时间,从而获得线性总时间复杂度。
- 该方法在不依赖随机化的情况下实现了最优性能,填补了确定性小空间索引领域的一个空白。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。