形式陈述
公平无限比特与有限观察
令 2 N 表示所有无限比特序列 X = X ( 0 ) X ( 1 ) ⋯ ,坐标从 0 开始。有限比特串的集合记为 2 < N ;X ↾ n 是前 n 位,σ ≺ X 表示 σ 是 X 的前缀。有限串 σ 对应的柱集 为
[ σ ] = { X ∈ 2 N : σ ≺ X } . 它包含所有与这次有限观察相符的无限延续。公平币概率测度 μ 满足
μ ( [ σ ] ) = 2 − | σ | . 例如 [ 01 ] 的质量为 1 / 4 ;空串的柱集是整个空间,质量为 1 。各有限长度的公平比特分布彼此一致,Kolmogorov 扩张定理 公理库 Kolmogorov 扩张定理 Kolmogorov extension theorem · Daniell–Kolmogorov theorem · Kolmogorov consistency theorem 从一族彼此相容的有限维分布构造乘积空间上唯一的概率测度与坐标随机过程。 把它们延伸为无限序列上的概率模型。下文只使用柱集生成的事件及概率公理 公理库 Kolmogorov 概率公理 Kolmogorov axioms · Probability axioms 把概率定义为样本空间上总质量为一的可数可加测度。 所保证的单调性、可数次可加性和连续性。
柱集的任意并称为开集。若存在一个程序逐个列出有限串,使
被 列 出 U = ⋃ σ 被列出 [ σ ] , 就称 U 为有效开集 ,也称可计算枚举开集或 c.e. 开集。这里的“可枚举”正是可识别语言 公理库 可识别语言 Turing-recognizable language · Recursively enumerable language 存在图灵机对语言内输入接受、对语言外输入可拒绝或不停机的语言。 对应的单边有效性:程序最终会列出每个需要列出的串,但不必对尚未出现的串给出否定答案。重复输出没有影响,枚举也可以永远继续。
检验、失败与通过的量词
一个 Martin-Löf 检验 是开集列 ( U n ) n ≥ 0 ,满足两个条件:存在同一个可枚举集合 W ⊆ N × 2 < N ,使
U n = ⋃ ( n , σ ) ∈ W [ σ ] , μ ( U n ) ≤ 2 − n ( n ≥ 0 ) . 第一个条件叫统一有效性 :一台程序枚举带层号的柱集,因而同时描述所有层。第二个条件限制每层允许圈入的概率质量。它不要求程序算出 μ ( U n ) 的精确值,也不要求这些质量构成可计算实数序列。[1,2]
检验的失败集是 N U = ⋂ n ≥ 0 U n 。序列 X 称为 Martin-Löf 随机 ,当且仅当
ö 检 验 ∀ Martin-Löf 检验 ( U n ) ∃ n ≥ 0 X ∉ U n . 相应地,非随机性的量词是“存在一个合法检验,使 X 落在它的每一层”。只落入某一层不构成失败;通过某一个检验也不等于随机。这里固定的是公平币测度下的定义。
直觉
检验逐步收紧“可疑序列”的概率预算。第一层可以很宽,后续层至多占 1 / 2 , 1 / 4 , 1 / 8 , … 的质量。一条序列如果始终躲在同一套有效规则圈出的这些小集合里,就有一个可以用程序描述的零概率异常来解释它。随机序列要求避开所有这种异常。
开集与有限观察的关系很直接:一旦检验列出了 σ ,而已观察到的比特以 σ 开头,就有有限证据证明 X ∈ U n 。相反,观察很久仍未遇到这样的前缀,不能证明 X ∉ U n ;枚举器以后可能再输出一个命中的柱集。因此定义中的“存在一层不属于”是数学条件,并未附带一个总会停机的认证程序。
为什么只排除有效描述的零集?每条指定序列的单点集都满足
{ X } = ⋂ n [ X ↾ n ] , μ ( { X } ) = 0. 若把落入任意零测集都称为不随机,每条序列都会因自身的单点集而被排除。有效性限制了哪些零集能充当统一的反证,使“单条序列随机”成为一个有内容的概念。
同样,不能把统一有效性弱化为“每个 U n 单独有一个程序”。对任意 X ,每个固定的有限串 X ↾ n 都可以写死在某个程序里,于是每个 [ X ↾ n ] 单独都是有效开集;但这些程序未必能由 n 统一生成。若忽略这一点,上面的单点排除会再次把所有序列都排除掉。
例子与边界
可计算序列必然失败
称 X 可计算,是指存在全可计算函数 公理库 可计算函数 Computable function · Recursive function 有图灵机对每个合法输入都停机并输出其值的全函数。 在输入 i 时输出 X ( i ) 。这时令
U n = [ X ↾ n ] . 程序可以按 n = 0 , 1 , 2 , … 计算前缀并输出 ( n , X ↾ n ) ,所以开集列统一有效;每层质量恰为 2 − n 。由于 X ∈ U n 对所有 n 成立,X 不随机。运行时间再长也不改变这个证明,只要每个比特最终都能算出。
例如 010101 ⋯ 中 1 的长期频率为 1 / 2 ,却仍被上述前缀检验捕获。满足这一条频率规律不足以通过所有有效检验。
非可计算仍不足以随机
取任意不可计算的比特序列 Y ,把它放进奇数坐标,并让偶数坐标全部为零:
X ( 2 i ) = 0 , X ( 2 i + 1 ) = Y ( i ) . 若 X 可计算,读取奇数位就能计算 Y ,所以 X 不可计算。然而令
U n = { Z : Z ( 0 ) = Z ( 2 ) = ⋯ = Z ( 2 n − 2 ) = 0 } . 当 n = 0 时取整个空间。对 n > 0 ,枚举所有长为 2 n 、偶数坐标为零的串,就得到 U n 。它由 2 n 个互不相交的柱集组成,每个质量为 2 − 2 n ,故
μ ( U n ) = 2 n 2 − 2 n = 2 − n . 枚举过程对 n 统一,而 X 在每一层里,所以仍不随机。不可计算只排除了“程序逐位生成整条序列”,没有排除程序识别出无限多位上的固定结构。
弱典型性与无限序列随机性
弱典型集 公理库 弱典型集 Typical set · Weak typical set · Weakly typical set 单位自信息接近熵、总概率趋近一的弱典型序列集合。 检验有限串的单位自信息是否接近源的熵。公平币源下,每条长为 m 的串都有概率 2 − m ,单位自信息恒为 1 ,因此每条有限串都弱典型,包括全零串。全零无限序列的每个前缀都弱典型,它本身却被可计算前缀检验捕获。
这里的差别来自定义所检查的对象与条件:弱典型性研究固定概率模型中的有限块及其质量,Martin-Löf 随机性研究单条无限序列能否逃过所有统一有效的零测异常。不能把弱典型性换称为频率典型性,再据此推出二者等价。
推论与应用
随机序列存在,而且占据概率一
对任意合法检验 ( U n ) ,单调性给出
对 每 个 0 ≤ μ ( N U ) ≤ μ ( U n ) ≤ 2 − n 对每个 n , 所以 μ ( N U ) = 0 。程序只有可数多个,合法检验也至多可数多个。用可数并集界 公理库 并集界 Union bound · Boole 不等式 多个坏事件中至少一个发生的概率,不超过各事件概率之和。 合并它们的失败集,便得
为 合 法 检 验 是 ö 随 机 的 μ ( ⋃ U 为合法检验 N U ) = 0 , μ ( { X : X 是 Martin-Löf 随机的 } ) = 1. 这个存在性证明不需要判定哪些程序确实给出了合法检验。它只在集合论意义上取合法程序的可数子集,再对零集取并。[3] 结合前面的前缀检验,随机序列必然不可计算。
通用检验:先修整预算,再合并所有程序
更强的结论是,存在一个合法检验 ( T n ) ,其失败集恰好包含所有非随机序列。构造的困难在于:可以列举所有程序,却不能直接把它们都当作合法检验。有些程序会在某一层输出过多柱集,破坏预算。以下构造把每个候选程序都修整成合法检验,并保证原本合法的程序不受影响。[2]
先说明一个有限计算。给定有限串集合 F ,删除重复串,再删除所有已经有较短前缀留在集合中的串,得到前缀互不包含的集合 P 。两个柱集要么不交,要么一个包含另一个,因此
μ ( ⋃ σ ∈ F [ σ ] ) = ∑ σ ∈ P 2 − | σ | . 右侧是能够精确比较的二进有理数。例如 F = { 00 , 000 , 01 } 的并等于 [ 00 ] ∪ [ 01 ] ,质量为 1 / 2 ,不是把三个柱集质量相加得到的 5 / 8 。前缀比较与有限整数运算足以完成这项计算,无需近似无限开集的最终质量。
将所有枚举二元组 ( k , σ ) 的程序编号为 e = 0 , 1 , … ,忽略不合法的输出编码。对每个 e 和每一层 k ,维护该层已经接受的有限柱集并。候选程序新输出 ( k , σ ) 时,精确计算把 [ σ ] 加入后的有限并质量:若不超过 2 − k ,就接受并列出它;否则丢弃这次输出。通过交错模拟各个程序,所有这些操作可以由同一台机器完成。
记最终接受的开集为 V k e 。每个有限阶段的质量都不超过 2 − k ,由测度的从下连续性,最终仍有
μ ( V k e ) ≤ 2 − k . 例如预算为 1 / 4 的一层先收到 00,可以接受;再收到 000,并没有增加质量,仍可接受;再收到 01,质量会变为 1 / 2 ,于是丢弃它。检查的始终是柱集的并,而不是输出次数或字符串长度之和。
如果原程序 e 本来枚举的就是合法检验 ( U k ) ,它的任意有限部分都包含在 U k 中,质量自然不超过预算。因此修整不会丢弃它的任何输出,且 V k e = U k 。对不合法的程序,则无需判断哪里出了错;逐步预算检查已经保证修整后的每一层合法。
现在定义移位并集
T n = ⋃ e ≥ 0 V n + e + 1 e . 这仍统一有效:交错运行修整枚举器;每次接受 ( e , k , σ ) 且 k ≥ e + 1 时,就向第 n = k − e − 1 层输出 σ 。由并集界,
μ ( T n ) ≤ ∑ e ≥ 0 2 − ( n + e + 1 ) = 2 − n , 所以 ( T n ) 是合法检验。若 X 失败于某个由程序 e 枚举的合法检验 ( U k ) ,那么对每个 n ,
X ∈ U n + e + 1 = V n + e + 1 e ⊆ T n . 故 X 失败于 ( T n ) 。反过来,失败于 ( T n ) 本身就说明不随机。因此
随 机 X 随机 ⟺ ∃ n X ∉ T n . 这里不仅得到了一个捕获全部非随机序列的检验,还明确给出了每个候选合法检验对应的层号移位 e + 1 。这个支配关系来自上述构造,不能仅凭“失败集相同”就推给任意其他通用检验。
嵌套约定与有限观察的限度
本页不要求 U n + 1 ⊆ U n 。若需要嵌套版本,可令 U ^ n = ⋂ i ≤ n U i 。有限个有效开集的交仍有效:枚举各层柱集的有限组合,前缀彼此相容时取其中最长的串,不相容时交为空。于是 U ^ n ⊆ U n 保留预算,而且 ⋂ n U ^ n = ⋂ n U n ,随机性定义不变。
任何有限前缀都不能认证或否定无限序列的随机性。给定 σ ,把它接上无限个零,得到一个可计算、因而非随机的延续;另一方面,[ σ ] 的质量为正,而非随机序列总质量为零,所以同一柱集内也存在随机延续。
概率一的结论依赖已指定的公平独立比特模型,不能单凭有限样本就验证现实发生器满足这个模型。随机性也不表示一个样本满足任意人为挑选的概率一性质:对任意指定的随机 X ,集合 2 N ∖ { X } 仍有概率一,却不含 X 。本页保证的是避开具有上述统一有效检验形式的异常。
参考资料
[1] Per Martin-Löf, The Definition of Random Sequences , Information and Control 9, 1966, pp. 602–619,尤其 §III, pp. 608–612:有效检验、构造性零集与通用性。原文采用顺序检验及其自身的编号、嵌套约定;本页采用现代 c.e. 开集表述。
[2] Rodney G. Downey, Denis R. Hirschfeldt, André Nies and Sebastiaan A. Terwijn, Calibrating Randomness ,作者公开稿,§§2.1、3.1,PDF pp. 4、6–7:有效开集、Martin-Löf 检验及通用检验的移位合并。上文展开了枚举候选程序时所需的有限柱集预算修整。
[3] André Nies, Sofia 2009 lecture slides , 2009,slides 34–35:有效零类与随机序列集合具有测度一的说明。