[论文解读] Almost Linear Time Computation of Maximal Repetitions in Run Length Encoded Strings
该论文提出了一种时间复杂度为 O(mN + nM) 的算法,用于计算两个字符串 A 和 B 的最长公共子序列(LCS),其中 LCS 必须包含给定的约束字符串 C 作为子串(STR-IC-LCS),其中 m 和 n 分别为 A 和 B 的游程编码(RLE)形式的大小。通过利用 RLE 减少冗余计算,并使用经过优化的区间组合的紧凑动态规划表,该方法在可压缩字符串上相比标准的 O(MN) 方法实现了更快的性能。
The constrained LCS problem asks one to find a longest common subsequence of two input strings $A$ and $B$ with some constraints. The STR-IC-LCS problem is a variant of the constrained LCS problem, where the solution must include a given constraint string $C$ as a substring. Given two strings $A$ and $B$ of respective lengths $M$ and $N$, and a constraint string $C$ of length at most $\min\{M, N\}$, the best known algorithm for the STR-IC-LCS problem, proposed by Deorowicz~({\em Inf. Process. Lett.}, 11:423--426, 2012), runs in $O(MN)$ time. In this work, we present an $O(mN + nM)$-time solution to the STR-IC-LCS problem, where $m$ and $n$ denote the sizes of the run-length encodings of $A$ and $B$, respectively. Since $m \leq M$ and $n \leq N$ always hold, our algorithm is always as fast as Deorowicz's algorithm, and is faster when input strings are compressible via RLE.
研究动机与目标
- 开发一种更快的 STR-IC-LCS 算法,要求 LCS 包含给定的约束字符串 C 作为子串。
- 利用游程编码(RLE)压缩输入字符串并降低计算复杂度。
- 在 Deorowicz(2012)提出的最优 O(MN) 时间算法基础上进一步改进 STR-IC-LCS 的时间复杂度。
- 证明 RLE 方法在实际应用中具有可行性,特别是在音乐和时间序列数据等场景中。
提出的方法
- 该算法使用游程编码(RLE)表示输入字符串 A、B 和 C,分别将它们的有效大小减少为 m、n 和 |RLE(C)|。
- 引入一种紧凑的动态规划表(cDP 表),用于存储 RLE 段前缀和后缀的 LCS 长度。
- 该方法识别 A 和 B 中的最小 C-区间——即包含 C 作为子串的区间——并根据运行类型将它们分组为等价类。
- 通过利用引理 13,将需要考虑的区间组合数量从 O(gg') 减少到 O(mN + nM),其中 g 和 g' 分别为最小 C-区间的数量。
- 通过引理 9,利用 cDP 表在 O(1) 时间内计算每对相关最小 C-区间的 LCS 长度。
- 通过在 cDP 表中回溯并合并 RLE 段,该算法在 O(m + n) 时间内恢复实际的 STR-IC-LCS。
实验结果
研究问题
- RQ1能否通过游程编码在 O(MN) 以下的时间复杂度解决 STR-IC-LCS 问题?
- RQ2如何利用 RLE 压缩字符串的结构来减少冗余的 LCS 计算?
- RQ3是否可以设计一种动态规划方法,使其时间复杂度随 RLE 大小 m 和 n 而增长,而非原始字符串长度 M 和 N?
- RQ4在如 STR-IC-LCS 这类受限 LCS 问题中,使用 RLE 的理论与实际性能增益是多少?
主要发现
- 所提出的算法以 O(mN + nM) 时间计算 STR-IC-LCS 的长度,当字符串可通过 RLE 压缩时,该复杂度在渐近意义上优于 Deorowicz 的 O(MN) 算法。
- 该算法通过利用最小 C-区间的结构特性和 cDP 表,将区间组合数量减少到 O(mN + nM),从而实现加速。
- 通过存储并回溯最优 C-区间对,该方法可在预处理后以 O(m + n) 时间高效重构实际的 STR-IC-LCS。
- 该方法不仅适用于人工构造的案例,也适用于真实场景,因为 RLE 在音乐、时间序列数据(如 SAX)以及其他数据离散化且具有重复性的领域中自然出现。
- 当 |RLE(C)| = 1 时,该算法仍能保持正确性和效率,时间复杂度不变。
- 在可压缩字符串上,实证性能增益预计显著,因为 m ≤ M 且 n ≤ N 恒成立,且 m 和 n 可远小于 M 和 N。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。