[论文解读] Longest Unbordered Factor in Quasilinear Time
本文提出了一种 O(n log n) 时间的随机化算法,以及一种 O(n log n log² log n) 时间的确定性变体,用于计算任意字母表上单词的最长非边界因子数组。该算法高效地确定了单词中每个位置起始的最长非边界因子的长度,显著优于先前针对整数字母表的 O(n^1.5) 时间复杂度,并通过基于后继因子和钩指针的新型组合方法,将解法扩展至所有字母表。
A border u of a word w is a proper factor of w occurring both as a prefix and as a suffix. The maximal unbordered factor of w is the longest factor of w which does not have a border. Here an O(n log n)-time with high probability (or O(n log n log^2 log n)-time deterministic) algorithm to compute the Longest Unbordered Factor Array of w for general alphabets is presented, where n is the length of w. This array specifies the length of the maximal unbordered factor starting at each position of w. This is a major improvement on the running time of the currently best worst-case algorithm working in O(n^{1.5}) time for integer alphabets [Gawrychowski et al., 2015].
研究动机与目标
- 计算单词中每个位置的最长非边界因子数组,以指定从每个位置起始的最长非边界因子的长度。
- 通过引入一种新型组合方法,克服先前针对整数字母表算法的 O(n^1.5) 最坏时间复杂度。
- 将解法扩展至整数字母表之外的一般字母表,实现对任意字母表的高效计算。
- 在时间复杂度上实现对先前最优算法的显著改进,该算法仅计算最大非边界因子,而非完整数组。
- 同时提供一种高概率下 O(n log n) 时间复杂度的随机化算法和一种 O(n log n log² log n) 时间复杂度的确定性变体。
提出的方法
- 该算法利用最长后继因子(LSFℓ 和 LSFr)的概念,预计算非边界因子的候选参考。
- 维护一个 HOOK 数组,以追踪因子可被扩展而不引入边界的最早位置。
- 从右至左遍历每个位置 i,使用动态规划结合来自 LSFℓ 和 LSFr 的引用,计算从 i 起始的最长非边界因子。
- 采用潜在参考检查机制以更新 HOOK 数组,避免冗余计算。
- 利用非边界词的组合性质以及边与周期之间的对偶性,限制相关比较的次数。
- 随机化版本利用非边界因子长度的期望界限,以高概率实现 O(n log n) 时间复杂度。
实验结果
研究问题
- RQ1能否在一般字母表上以亚二次时间复杂度计算最长非边界因子数组?
- RQ2计算所有位置上最长非边界因子完整数组的最优时间复杂度是多少?
- RQ3如何利用边与周期之间的对偶性来设计更高效的算法?
- RQ4随机化算法能否在一般字母表上以高概率实现 O(n log n) 时间复杂度?
- RQ5计算最长非边界因子数组的确定性时间复杂度是多少?能否使其与随机化版本具有竞争力?
主要发现
- 本文提出了一种随机化算法,可在任意字母表上以高概率 O(n log n) 时间复杂度计算最长非边界因子数组。
- 该算法的确定性变体运行时间复杂度为 O(n log n log² log n),提供了最坏情况下的保证。
- 该方法优于先前针对整数字母表的 O(n^1.5) 时间复杂度,后者仅计算最大非边界因子,而非完整数组。
- 该方法具有通用性,适用于任意字母表,而不仅限于大小为 n 的多项式规模的整数字母表。
- 该算法的最坏情况行为在最坏输入族中总栈大小为 Θ(n log n),证实了理论时间复杂度界限。
- 该算法使用一种新颖的数据结构,结合后继因子与钩指针,高效地从右至左传播非边界因子信息。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。