吸引子是每个子串都会穿过的位置集合
字符串 T 的字符串吸引子是一组位置 Γ,要求 T 的每个非空子串都至少有一次出现穿过 Γ 中的某个位置。换句话说,没有任何子串被限制在所选位置之间的空隙里:每个子串都能在某个经过标记下标的出现中被读到。这样的集合能达到的最小大小记作 γ(T),而这篇论文研究的不是这个大小,而是所有达到该大小的集合的完整集合,记作 A(T)。
这一区分很重要,因为大小问题此前已经解决。已有工作确定,长度至少为 2 的斐波那契词和倍周期词的最小吸引子大小为 2,长度至少为 25 的 Thue-Morse 词的最小吸引子大小为 4。缺的是对每一个达到这些大小的位置集合的描述。论文为这三个族都给出了这种描述,而答案在共享同一大小的不同族之间差别极大。
论文还说明了为什么这个量值得确定:字典压缩算法可以被看作计算字符串吸引子的过程,而 γ(T) 从下方约束所有字典压缩度量。对任意字符串计算 γ(T) 是 NP 难的,这也是为什么被显式刻画好的族是有用的参照案例。
相同吸引子大小掩盖了数量上的巨大差异
最核心的比较发生在最小吸引子大小相同的族之间。斐波那契词和倍周期词都有 γ = 2,但第 n 个斐波那契词在 n ≥ 7 时有 2^(n−4) + 2^⌈n/2⌉ − 2 个不同的最小吸引子,这个数量随词长增长;而第 n 个倍周期词在 n ≥ 2 时恰好有两个,是一个常数。Thue-Morse 词处在大小 4,在 n ≥ 6 时恰好有 32 个最小吸引子,同样是常数。
所以最小吸引子的大小并不决定最小吸引子有多少个。作者明确指出了这一点,并补充说他们目前还没有对“这个数量刻画了什么”的清晰解释;他们提出,它或许能支持更细粒度的重复性概念。这是作者对一个开放问题的表述,而不是已经展示的应用。
倍周期词的具体答案足够简洁,可以直接写出:对于 n ≥ 3,第 n 个倍周期词 D_n 的两个最小吸引子是位置对 {3·2^(n−3), 6·2^(n−3)} 和 {4·2^(n−3), 6·2^(n−3)}。两对都共享位置 6·2^(n−3),只在第一个坐标上不同。
斐波那契词的吸引子由递归公式计数
对于由 F_0 = b、F_1 = a 和 F_n = F_(n−1)F_(n−2) 定义的斐波那契词,论文给出的是递归公式而不是封闭清单,因为位置对的数量会增长。该公式描述 2^(n−4) + 2^⌈n/2⌉ − 2 个不同的位置对,它们是每个 n ≥ 7 的 F_n 的最小吸引子。指数结构说明了为什么递归是自然的呈现方式:数量大约每四个阶翻一倍,同时多出一项与 n 的奇偶性相关。
这一刻画依赖于奇异词在斐波那契词内部的出现。论文的证明通过 F_(n−1) 及其反向副本出现的位置,加上偏移量,以及对一组特殊位置的单独情形,来组织这些吸引子对;随附的图把 F_8 和 F_9 的全部最小吸引子画成水平对齐的点对,并用颜色标出论证的哪一部分对应哪一对。
一个有用的参照是,其中一个最小吸引子此前已有封闭形式。关于标准 Sturmian 词的早期工作给出了位置对 {f_(n−1) − 1, f_(n−1)},其中 f_(n−1) 是 F_(n−1) 的长度;论文解释说,另一个候选 {f_(n−2) − 1, f_(n−2)} 不成立,因为 F_n 的长度为 f_(n−1) 的后缀只出现一次,它的任何出现都不会穿过该对中的位置。新结果就是在这个已知位置对之外的全部内容。
倍周期与 Thue-Morse 的证明把位置减半降到低一阶
对于倍周期词和 Thue-Morse 词,论文使用一套共同的证明方案。第 n 个倍周期词是 D_0 = a,在 φ(a) = ab、φ(b) = aa 下 D_n = φ(D_(n−1));第 n 个 Thue-Morse 词是 T_0 = a,在 μ(a) = ab、μ(b) = ba 下 T_n = μ(T_(n−1))。在两种情形中,论文都证明第 n 个词的每个最小吸引子把位置减半后,会投影到第 (n−1) 个词的一个最小吸引子上。
这一投影把整个刻画归结为排除常数个候选位置,而这些排除是用短子串完成的。在 Thue-Morse 情形中,论文列出了具体的短见证串,例如 bbaaba、babbabaabb、aabbabaaba、abaababbaa、bbaababbab 和 babbaa,每一个都表明某个边界候选不能属于吸引子。由于这些见证串很短,任何穿过相关边界的出现都必须是某个小的固定周边块集合的子串。
归纳随后闭合:如果 T_k 的某个吸引子含有所述族之外的元素,那么 T_(k−1) 就会存在一个在对应族之外的吸引子,与归纳假设矛盾。基础情形 n = 6 由暴力枚举确认,n ≥ 6 的计数由此得到 32。
定理证明器独立确认了这三个刻画
论文并不只依赖组合证明。作者使用 Walnut 定理证明器,为倍周期词、斐波那契词和 Thue-Morse 词构造自动机,这些自动机接受吸引子位置连同前缀长度的表示。倍周期词和 Thue-Morse 词的位置用二进制编码,斐波那契词的位置用 Zeckendorf 表示,自动机并行读取多条轨道:每个吸引子位置一条轨道,再加一条长度轨道。
用于四个位置的 Thue-Morse 自动机有 1440 个状态,其构造在 2.8 GHz 的 Intel Xeon Platinum 8462Y+ 处理器上耗时约 6.5 小时,使用 705 GiB 内存;由于默认确定化策略无法完成,需要使用策略元命令 CCLS。随后作者直接从自己的定理构造单独的自动机,并在乘积自动机上做广度优先搜索,检查每个自动机在所述阶数范围内接受的语言完全相同。
这是一种机械确认,作者也明确说明了它的认识论地位:它依赖于 Walnut 以及上述简单自动机构造的正确性,本身并不能解释这些命题为什么成立,而后者正是组合证明所提供的。验证脚本和 Walnut 命令据报告已公开可用。
公式覆盖整词,而非任意前缀
每个结果都带有明确的阶数门槛:斐波那契词为 n ≥ 7,摘要中陈述的倍周期公式为 n ≥ 2(位置对公式给出的是 n ≥ 3),Thue-Morse 词为 n ≥ 6。更低阶数不在公式覆盖范围内;论文为完整起见在图中单独列出了它们的最小吸引子。因此读者不应把这些公式读作关于小词的陈述。
第二个边界是被刻画的对象。这些结果针对整词 F_n、D_n 和 T_n,而不是底层无限序列的任意前缀。论文把前缀问题列为开放问题,同时列出的还有:刻画同一批族的全部最小双向宏方案和全部最小直线程序,以及把刻画推广到其他标准 Sturmian 词(其中包括斐波那契词)。
论文所依赖的先前结果还有一条范围说明:斐波那契词和倍周期词的大小为 2 的结论,以及 Thue-Morse 词的大小为 4 的结论,来自更早的工作,其中包括对自动序列前缀的基于 Walnut 的分析。这里的贡献是对最小化集合的完整枚举,而不是对最小大小的重新推导。
区分这些词族的是数量而非大小
论文最具决策相关性的主张是其自身结果内部的一个比较:知道 γ(F_n) = γ(D_n) = 2 并不能告诉你存在多少个最小化位置集合,因为斐波那契词的数量按 2^(n−4) + 2^⌈n/2⌉ − 2 增长,而倍周期词的数量始终为二。Thue-Morse 词展示了第三种模式:在大小 4 上固定为 32 个集合。因此,任何把这些族用作基于吸引子的压缩或索引测试案例的人,都应把最小吸引子的数量视为独立于最小大小的参数。
作者对这个参数的含义保持谨慎。他们表示,目前还没有对最小吸引子的数量刻画了什么有清晰解释,并把理解它作为一个开放而有趣的问题提出,认为它或许能带来更细粒度的重复性类型。论文的贡献是精确枚举以及由此暴露出的对比,而不是对压缩性能的已证明后果。
论文还报告,Faro、Marino 和 Pavone 的独立并行工作通过不同途径得到了相同的 Thue-Morse 刻画:他们从连续三个 Thue-Morse 词中最小唯一子串出现所覆盖的位置推导,而不是对阶数做归纳。两种推导的一致,是把 32 集合结果视为已确定的最强理由。
本文引用的文献
The Smallest String Attractors of Fibonacci and Period-Doubling Words
论文完整刻画了全部最小字符串吸引子:第 n 个斐波那契词(n ≥ 7)有 2^(n−4) + 2^⌈n/2⌉ − 2 个位置对,第 n 个倍周期词(n ≥ 2)有两个位置对,第 n 个 Thue-Morse 词(n ≥ 6)有 32 个四位置集合,表明相同的最小吸引子大小可以伴随差别极大的最小吸引子数量。
