Skip to main content
QUICK REVIEW

[论文解读] Longest Common Extensions with Recompression

I Tomohiro|arXiv (Cornell University)|Nov 16, 2016
Algorithms and Data Compression参考文献 12被引用 5
一句话总结

本文提出了一种使用重压缩技术的新压缩最长公共扩展(LCE)数据结构,实现 O(lg N) 的查询时间与 O(z lg(N/z)) 的空间复杂度,其中 z 是不包含自引用的 Lempel-Ziv 77 分解的大小。该方法通过在相同子串间保持一致的压缩模式,实现了对语法压缩字符串的高效 LCE 查询,在时间和空间复杂度上均优于以往工作。

ABSTRACT

Given two positions $i$ and $j$ in a string $T$ of length $N$, a longest common extension (LCE) query asks for the length of the longest common prefix between suffixes beginning at $i$ and $j$. A compressed LCE data structure is a data structure that stores $T$ in a compressed form while supporting fast LCE queries. In this article we show that the recompression technique is a powerful tool for compressed LCE data structures. We present a new compressed LCE data structure of size $O(z \lg (N/z))$ that supports LCE queries in $O(\lg N)$ time, where $z$ is the size of Lempel-Ziv 77 factorization without self-reference of $T$. Given $T$ as an uncompressed form, we show how to build our data structure in $O(N)$ time and space. Given $T$ as a grammar compressed form, i.e., an straight-line program of size n generating $T$, we show how to build our data structure in $O(n \lg (N/n))$ time and $O(n + z \lg (N/z))$ space. Our algorithms are deterministic and always return correct answers.

研究动机与目标

  • 设计一种压缩的 LCE 数据结构,以在高度可压缩字符串上实现快速查询并最小化空间使用。
  • 利用重压缩技术确保相同子串的压缩模式一致,从而支持高效的 LCE 计算。
  • 在时间与空间复杂度上优于现有随机化或高空间消耗的替代方案,实现确定性且正确的答案。
  • 支持从原始字符串和语法压缩字符串(SLP)表示两种形式高效构建。

提出的方法

  • 该方法使用重压缩技术将字符串中频繁出现的字符对替换为新变量,从而生成压缩的语法表示。
  • 维护一个高度为 O(lg N) 的平衡推导树结构,支持 O(lg N) 时间内完成 LCE 查询的遍历。
  • 该算法确保相同子串以几乎相同的方式被压缩,其上下文差异仅在 O(lg N) 范围内。
  • 在重压缩过程中采用两种类型的划分:一种用于以恒定因子压缩字符串,另一种用于压缩语法大小,从而将中间上下文自由文法(CFG)的大小保持在 O(n) 范围内。
  • 通过改进的 SimTtoG 算法按层构建,当字符串足够小时切换为直接的 TtoG 方法。
  • 最终生成的语法称为 RLSLP,通过模拟推导树遍历并匹配公共变量序列,实现 O(lg N) 时间内的 LCE 查询。

实验结果

研究问题

  • RQ1重压缩技术能否用于构建时间与空间复杂度优于现有方法的压缩 LCE 数据结构?
  • RQ2如何利用相同子串的一致压缩模式,以支持语法压缩字符串中的快速 LCE 查询?
  • RQ3在 SLP 压缩字符串上,LCE 查询的构建时间、空间使用与查询时间之间最优权衡为何?
  • RQ4该数据结构能否从 SLP 输入在 O(n lg(N/n)) 时间与 O(n + z lg(N/z)) 空间内确定性地构建?

主要发现

  • 所提出的数据结构实现 O(lg N) 的查询时间,优于以往工作的 O(lg N + lg ℓ lg* N) 时间复杂度。
  • 空间复杂度为 O(z lg(N/z)),显著优于以往基于签名编码方法的 O(z lg N lg* N) 空间复杂度。
  • 从原始字符串构建需 O(N) 时间与空间,从大小为 n 的 SLP 输入构建需 O(n lg(N/n)) 时间与 O(n + z lg(N/z)) 空间。
  • 构建过程为确定性算法,始终返回正确结果,避免了随机化方法中所需的概率验证步骤。
  • 该方法无需显式解压即可在语法压缩字符串上实现高效的 LCE 查询,从而在压缩字符串算法中实现更快速的处理。
  • 通过使用双重划分策略,在构建过程中保持中间 CFG 大小为 O(n),确保语法大小线性增长。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。