[论文解读] Solving Classical String Problems on Compressed Texts
本文提出了一种全新的 O(n²m) 算法,用于完全压缩的模式匹配,其中文本 T 和模式 P 均由直线程序(SLPs)表示,从而在无需解压缩的情况下实现对压缩数据的高效字符串操作。该方法基于算术级数的动态规划,相较于先前的方法实现了显著的性能提升,同时为在 SLP 压缩文本上计算覆盖、周期和指纹表提供了多项式时间解法,但证明了汉明距离计算在 NP 和 coNP 难问题范围内。
Here we study the complexity of string problems as a function of the size of a program that generates input. We consider straight-line programs (SLP), since all algorithms on SLP-generated strings could be applied to processing LZ-compressed texts. The main result is a new algorithm for pattern matching when both a text T and a pattern P are presented by SLPs (so-called fully compressed pattern matching problem). We show how to find a first occurrence, count all occurrences, check whether any given position is an occurrence or not in time O(n^2m). Here m,n are the sizes of straight-line programs generating correspondingly P and T. Then we present polynomial algorithms for computing fingerprint table and compressed representation of all covers (for the first time) and for finding periods of a given compressed string (our algorithm is faster than previously known). On the other hand, we show that computing the Hamming distance between two SLP-generated strings is NP- and coNP-hard.
研究动机与目标
- 确定经典字符串问题是否可以在由直线程序(SLPs)表示的压缩文本上高效求解,而无需完全解压缩。
- 解决完全压缩模式匹配(FCPM)问题:在 SLP 压缩文本中查找模式出现位置。
- 将 FCPM 算法扩展至解决额外的字符串问题,如计算压缩字符串的所有覆盖、周期和指纹表。
- 通过证明 SLP 生成字符串之间的汉明距离计算为 NP 和 coNP 难问题,确立计算复杂性的边界。
- 探索在压缩输入上各类字符串问题的多项式时间算法可行性,区分可解与不可解情形。
提出的方法
- 核心技术基于 n×m 表格上的动态规划,其中 n 和 m 分别为生成文本 T 和模式 P 的 SLP 的大小。
- 表格中的每个条目通过算术级数表示压缩文本中模式出现位置的潜在匹配。
- 引入一种新颖的局部模式匹配(Local PM)过程,通过比较子串的前缀和后缀来验证有效模式出现,从而减少误报。
- 该算法利用 SLP 的特性,在不解压缩完整字符串的前提下计算中间字符串值及其结构特征(如边界、覆盖)。
- 对于指纹表计算,通过归纳 SLP 结构,递归计算前缀、后缀和“含切割点”的子串指纹。
- 通过从子集和问题的规约建立复杂性结果,构造出字符串 P 和 T 的 SLP,使得 HD(P,T) < h 当且仅当存在解。
实验结果
研究问题
- RQ1是否可以在 SLP 大小的多项式时间内求解完全压缩模式匹配问题,而无需解压缩字符串?
- RQ2是否可以使用 SLP 表示在多项式时间内计算压缩字符串的所有覆盖和周期?
- RQ3是否可以高效计算压缩字符串所有子串的指纹表,且输出大小有界?
- RQ4计算两个 SLP 生成字符串之间的汉明距离的计算复杂性是什么?
- RQ5是否存在比当前 O(n²m) 更高效的完全压缩模式匹配算法,或者这是否为最优解?
主要发现
- 本文提出了一种 O(n²m) 的完全压缩模式匹配算法,其中 n 和 m 分别为生成文本和模式的 SLP 的大小,相较于先前的 O(n²m²) 和 O((n+m)⁵log³|T|) 方法有显著改进。
- 该算法采用基于算术级数的动态规划与一种新颖的 Local PM 过程,高效验证模式出现,将每个条目计算时间降低至 O(n)。
- 开发了计算压缩字符串所有覆盖和周期的多项式时间算法,时间复杂度为 O(n³log²|T|)。
- 可在 O(n|Σ|²log n) 时间内计算压缩字符串所有子串的指纹表,输出大小为 O(n|Σ|²)。
- 证明了两个 SLP 生成字符串之间的汉明距离问题为 NP 和 coNP 难问题,确立了压缩字符串上可解与不可解问题之间的清晰复杂性边界。
- 结果表明,所提出的 FCPM 算法可直接应用于通过 SLP 转换的 LZ 压缩文本,且时间复杂度保持不变。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。