机会与随机性(三)
为什么这应该是随机序列的问题? 大数字的属性显示几乎所有无限二进制序列都有限制数字频率
1
2
,但是没有说这种收敛发生的速度或概述初始段的统计特性一无所有。 当然存在汇集到的序列
1
2
但其中sn(x)/ n>
1
2
对于所有n(序列具有正确的平均值但从上方收敛')。 在我们随机序列的“随机步行”模型中,其中序列中的每个元素被解释为左侧(如果0)或沿整数行的右(如果为1),则该序列将由散步(在限制)最终返回原点但总是(甚至最终)组成留在右边。 直观地,这样的序列不是随机的。
这样的序列确实违反了至少一个随机性的性质,因为它在测量一组序列中,Sn(x)/ n将在均值多次上方,并且在均值多次下方。 所以说,这是对称振荡定律(Dasgupta,2011:13)。[10] 由于对称振荡的定律保持用于测量一组序列,因此随机性的可符号属性(它自然是一个家庭,具有其他性能的性质)。 Ville的结果表明,在地点选择方面的定义无法完全表征随机序列,因为它包括违反这一法律的序列(所以不要对应于真正随机随机步行)。 实际上,这种序列甚至没有对应于Von Mises Avowed目标。 正如李和维拉尼(2008年:54),“如果你一直赌去,那么违反这样一系列结果,你的积累增益总是积极的”。 因此,尽管他们不允许在地点选择的情况下,ville风格的序列似乎允许成功赌博。
2.1.2随机性和有效测试:马丁-Löf-ranthness
Von Mises和Church确定了一类序列,在递归地方选择下有限制频率不变的那些,该序列的许多测量是随机性思想特征的序列的一个随机性质。 但他们确定的课程过于包容。 该领域的下一个洞察力是由于(Martin-löf1966),而不是寻找序列在随机性上遇到所有进一步条件的序列的另一个序列的单一属性,它更简单地采用序列是随机IFF的定义。序列具有序列的定义所有测量可以指定的随机性的一个属性。 这里再次递归理论扮演一个角色,因为思想可以指定的随机性的一个属性相当于要求有效地测试序列是否违反属性的过程。 这会提示以下非常粗体的方法对随机序列的定义:
马丁-Löf随机性:
随机序列是不能有效地确定违反一个随机性属性的一个,(Downey和Hirschfeldt 2010:§5.2; Dasgupta 2011:§6.1;搬运工2016:461-2)。
从补充B.2回顾有效测量零的定义,Martin-Löf表明随机序列是任何不属于任何有效测量零序列序列的任何有效测量一组序列的序列。 有效测量零序列集将包含可以有效地确定具有“特殊志标志”的序列(例如,在每个第七位置处具有“1”,或者从未将字符串的'000000'作为子序列一起出现)。 这是Von Mises的一部分,即没有随机序列将拥有这些有效的可靠特殊标志的任何一个:这种标志将允许利用作为赌博系统的一部分。 但是,马丁-LÖF注意到所有常用的措施的一个随机性的一个性质都是有效的措施。 任何违反大量财产的序列,或对称振荡等法则,都将在越来越长的初始子句中进行。 因此,违反任何此类财产也将是非随机序列的特殊标志,这是一个具有不寻常的序列的指标。 由于问题的非截止值的不寻常性质是有效的尺度零,因此我们可以说随机序列是那些不特别的可行确定的方式。 为了将这一点正式化,Martin-Löf呼吁语言测试。 他的主要结果有时被提出作为随机序列作为传递序列的所有递归意义测试(Schnorr 1971:§1) - 他们从不是非典型的那些,以提示我们拒绝他们是随机的假设。 有关此点的更多详细信息,请参阅补充B.1.1。
注意,对序列有效性质的限制在这里至关重要。 例如,如果我们允许的属性与我最喜欢的随机序列x相同,那么即使它是随机的,它也会定义序列x会失败的测试。 但是,我们从我们的观察到von误法随机性(其仍然是随机性的必要条件),没有有效的可计算序列是随机的(如果是,则可以从序列中选择所有1s的算法中可定义的位置选择。 因此,没有有效的测试检查给定序列是否与某些随机序列相同。
Martin-Löf(1966)的中心结果如下:
定理3(通用测试和随机序列的存在)。 对ML-ACUNSINGS进行通用测试; 此外,只有测量零一组无限二进制序列失败了该测试。 所以几乎所有这样的序列都是ML-随机。
[证明]
通用测试确实定义了一个有效的一个属性,但(与正常性不同,或没有偏见的可接受的局部术语),它远非自然可抓住的财产。 然而,Martin-Löf的结果确实确实确定存在满足随机性的所有属性的随机序列,实际上几乎所有二进制序列都是随机的。 返回Ville的定理2,可以表明所有ML-随机序列满足对称振荡定律(Van Lambalgen 1987a:§3.3)。 因此,这种建筑Ville使用的种类产生的VM-随机序列,而不是ML-随机。 所有ML-随机序列都具有右限制相对频率,因为它们满足了大量的有效测量一个属性。 因此,马丁-Löf随机序列满足所有直观的属性,我们将期望通过抛掷段硬币产生的序列,但是通过引用有效鉴定的一组无限序列来完全表征。 因此,我们已经表现出完全在产品的明确特征方面的随机序列,而不是可能或可能不会躺在这些序列的生产后面的过程。
还有其他账户制定和扩展马丁-LÖF的随机性,在同一种类框架中,如雪诺(1971年); 有关一些进一步的细节,请参阅补充B.1.2。
2.2产品随机性:随机序列最无序
对于无限二进制序列,在有效测试方面的Martin-löf定义是一个强大而在数学上有吸引力的概念。 但是,它似乎只适用于无限二进制序列的主要缺陷。 (由于序列的有效性是有效可判定的,并且所有有限序列的集合测量为零,因此每个有限序列都违反了一个随机性属性的有效测量。)但通常我们很乐意为随机表征甚至是甚至是随机结果的相当小的有限序列。 如上所述(§2),有疑问的空间是我们可以如此正确的能力,因为我们似乎容易出现在被呈现的混合物序列,并且当被要求生产我们自己的随机序列时表现不佳。 然而,这篇文献中没有任何内容表明我们根本在将随机性的概念应用于有限序列的原因上被误解。 所以人们可能认为这表明马丁-LÖF方法过于严格。
然而,ML-Acquorness的想法有一些东西,我们可能会有利于有限序列的情况。 由于由有效程序产生的是无限序列的测量零属性,因为只有相当多的有效程序,它立即可以有效地产生ML-随机序列。 这与随机序列没有任何有限算法没有任何有限算法的常规模式的直观思想相适合,无论如何复杂,必须利用以产生无限序列。 随机序列之间的形成对比,该模式缺少使它们产生的算法的模式,并且确实表现出这样的图案的非随机序列,不适用于有限情况,因为有一种有效的程序,使我们能够产生任何特定的有限序列 - 最重要的是在算法的规范中列出这些结果。 但是存在相关的对比度是那些简单的结果的算法,以及产生涉及结果序列中的模式和规律的结果的算法。 这导致我们达到有限随机序列,如它们的无限兄弟,不能通过利用结果序列中的模式来产生的算法产生。 因此,随机序列中的结果是无形的,或无序的,其以直观特征的随机序列。
2.2.1 Kolmogorov复杂性和随机性
在上述意义上,无序序列是高度不可压缩的。 最好的有效描述我们可以提供这样的序列 - 一个能够使别人或计算机能够可靠地重现它 - 是简单地列出序列本身。 此功能允许我们将随机序列表征为不能通过紧凑算法产生的随机序列(相对于目标序列的长度,即)。 鉴于该算法可以由图灵机指令列表指定,我们有一些关于如何表征算法长度的基本思想。 然后,我们可以说随机序列是一种使得产生它的最短算法大致(下面要解释)与序列本身相同的长度 - 可以获得算法中的更大压缩。 这项提案,建议Kolmogorov,Chaitin和Solomonov(KCS)的工作,表征是随机性作为序列的算法或信息复杂性。 复杂性的综合调查和基于复杂的随机性方法是Li和Vitányi2008和Downey和Hirschfeldt 2010:第I部分。(另见Chaitin 1975,Dasgupta 2011:§7,Downey等,2006年:§§1-3,埃格曼1986:141-7,Kolmogorov 1963,Kolmogorov和Uspensky 1988,史密斯(1998:Ch.9)和Van Lambalgen 1995.)
如果F有效地计算 - 递归函数 - 让我们说Δ是有限串ΣIFFF的F-描述,在输入δ上产生σ。 我们可以定义字符串Σ,CF(σ)的F复杂度,作为F-描述σ的最短弦δ的长度。 如果没有这样的δ,让σ的F复杂度是无限的。 F是一种减压算法,将压缩的描述Δ返回到原始弦σ。 显然有许多不同类型的减压算法。 一个无聊的案例是身份函数(空程序),它将每个字符串自身占用。 该函数的存在表明,存在对任何有限字符串具有有限F复杂度的解压缩算法F. 然而,对于至少一些输入描述,任何有用的减压算法将产生显着长于输入描述的输出字符串。
一个示例是该算法:在输入长度4n的二进制弦δ的输入上,将输入的输入分解为4的N块,其进入输出序列σ,如下。 给定块B1,...,B4,它产生B1中包含的符号的块,其长度由二进制数字B2B3B4控制。 因此,块1101产生五个1s的字符串。 通过按顺序连接连续块的输出来获得输出序列。 每个字符串σ都可以由该算法表示,因为涉及在1001的σ中替换每1的字符串σ',并且每0到0001,当给出到该算法的输入时将产生σ。 因此,此算法对任何字符串都具有有限复杂性。 但这种算法可以做得很好; 例如,如果是原始字符串是十六个1s的字符串,则可以通过输入本说明来获得:11111111,这是一半的长度。 实际上,由于对该算法的反射,该算法可以从较短的描述重建原始字符串,特别是许多字符串,特别是如果它们包含连续1S或0s的合理长子串。
但是,有限制任何算法如何压缩串。 如果|σ| 是σ的长度,例如,如果存在F描述Δ,则将串σ压缩,使得σ= F(Δ)和| <|σ|。 如果有用的减压算法使得对于一些固定的K,| F(δ)|Δ|Δ| + k,则F描述是短于待压缩的序列的至少k,因此它遵循非常少的字符串。 对于有2L串σ,使得|σ| = L; 所以有最多的2L-KF描述; 由于F是一个功能,因此最多有2L-K可压缩字符串。 作为所有长度L的比例,那么,最多2L-k / 2L =
1
2
K可压缩字符串。 这意味着随着所需的压缩量增加,序列的数量使得可压缩的次数是指数增长的。 即使在最可怜的压缩量,K = 1,我们也看到,在大多数半的一半中可以通过任何算法F压缩给定长度的弦。
因此,我们的兴趣必须在那些最优秀的减压函数中。 我们可能希望说:F对于所有Σ,CF(σ)≤CG(σ)优于G IFF。 不幸的是,没有任何功能在这个意义上,因为对于任何带有f复杂度的给定的字符串σ,我们可以如下设计函数g:输入1,输出σ; 在输入nδ(对于任何n),输出f(δ)。 (概念,我们可以将长度M的任意长度为M长度M长度为G到G的输入,并对2M序列具有更好的压缩压缩。)但我们可以定义F到G IFF的近优势的复杂性的概念存在一些常量k,使任何字符串都有一些常数k,CF(σ)≤cg(σ)+ k.f至少与g的常量一样好,受某种常量,它们与有问题的函数无关。 如果F和G彼此靠近彼此的复杂性,对于同样的K,我们说它们是相当于复杂性的。
Kolmogorov(1965)显示有最佳的减压算法:
定理4(Kolmogorov)。 存在一个解压缩算法,其近优于任何其他程序。 此外,任何这种最佳算法是等于任何其他最佳算法的复杂性(参见Chaitin 1966和Martin-löf1969a)。
[证明]
这种通用功能Kolmogorov称为渐近最佳(例如,增加,常数K变得渐近可忽略不计)。
选择一些这样的渐近最佳函数U,并定义复杂性(简化符)C(σ)= Cu(σ)。 由于U是最佳的,因此它与身份函数接近; 因此,存在k使得c(σ)≤|σ| + k。 另一方面,我们还知道C(σ)≤|Σ1ak的串数最多
1
2
k。 因此,我们知道,除了1-2K的长度序列之外的所有序列都在n的k内具有复杂性。 由于n增加,因此对于固定大K,因此,我们看到几乎所有序列都具有大致长度的复杂性。 所有这些都可用于精确定义上面草图的随机性。
Kolmogorov随机:
我们说序列σ是kolmogorov-rantual iff c(σ)≈|σ|。
因此,我们刚才表示存在任何所选择的长度n的随机序列,并且随着n相对于k增加,随机序列成为该长度的绝大多数序列。
定理5.不能有效地产生给定长度的随机序列。
[证明]
即时推论是复杂性功能C不是递归函数。 如果是,对于任何n,我们可以有效地计算任何σ长度n的c(σ)。 通过简单地列出所有此类序列,在找到C(Σ)≥N的第一Σ后,我们可以停止。 但是,我们可以有效地产生随机序列,与定理5相反。
Kolmogorov随机性的概念很好地适合关于我们源自Martin-Löf账户的随机序列的无紊乱的直觉。 它还适合与随机性随机序列的其他直觉不具有简短描述,因此没有意义其合的是根据计划生产。 因此,Kolmogorov随机性也支持Von Mises关于随机性与赌博系统不可能相关的随机性的直觉,因为没有任何比序列小于序列的一组最初给定的数据,没有能力地产生给定随机序列的结果本身。 无法预先预测真正随机顺序,因为不能有效地产生随机序列,但是通过指定基于先前的结果来预测未来结果的方式,可以产生每个可预测的结果序列可以(直观)。 此外,由于对于增加k的k,所以随机增加的长度N的数量,并且因为对于增加N,我们可以选择较大且较大的k,有一些意义的是大多数序列是随机的; 这与几乎所有序列都应该随机的无限情况下匹配的desiderata。 最后,可以表明,序列的kolmogorov随机性等同于通过统计测试的电池的序列,在Martin-löf感觉中,即Kolmogorov随机序列只是那些通过了某种通用测试的序列随机性(Martin-löf1969a:§2)。[11]
2.2.2免费kolmogorov复杂性
普通的Kolmogorov复杂度措施直观地吸引。 然而,令人欣赏的允许F描述包括许多无法管理的编码。 特别地,对于给定的减压算法F,对于一些字符串τ,存在F-描述γ和Δ,使得Δ=γ⁀τ。 这是一个低效的编码,因为如果γ可以作为代码本身发生,并且作为另一个代码的初始部分,那么一旦检测到可理解的输入,算法就无法在飞行中解码其输入字符串“,但必须等到它已经扫描并处理开始解码之前的整个输入。 一种有效的编码,使得没有可接受的输入是另一个可接受输入的初始子字符串,被称为无缀(因为没有任何成员是任何其他成员的前缀)。 像这样的编码的一个很好的例子是电话号码的编码:电话交换机可以在输入一串数字的数字,立即连接您; 一旦输入了前缀集的可接受的代码,没有其他可接受的代码可以遵循它。
自由前缀编码对于许多实际目的是有用的,并且它们在定义随机性方面也很有用。 (正如我们在§2.3中看到的那样,它们在避免无限Kolmogorov随机序列的定义中的问题是特别重要的。被称为前缀复杂性(Doweey和Hirschfeldtt 2010:§2.5ff; Dasgupta 2011:§8)。
为了修复想法,有一个关于无需前缀编码的示例是有用的。 假设我们有一个字符串σ= x1 ... xk的长度k。 这是StringΣ1的初始部分,因此如果任何字符串是可接受的输入,我们将没有免费的编码。 但是,如果代码包含关于编码的字符串长度的信息,我们会知道σ,k的长度小于σ1的长度。 我们可以如下精确地使这种思想精确(使用类似于用于定理证明的证据中的不同结束的代码)。 让Σ的代码是String 1 [|σ|0σ-即,字符串的代码由字符串长度的表示,后跟0,后跟串。 这显然是一个免费的前缀编码。[12] 该编码并不是特别有效,但是确实存在更紧凑的前缀编码。
前缀复杂性的概念以完全相同的方式定义为纯粹的复杂性,具有额外的限制:给定解压缩函数f的禁用F描述必须形成无前缀集。 通过适当的编码选择,我们可以获得一组F-描述,该描述是单调的长度,即,如果|γ|<|Δ| 然后| F(γ)|<| F(δ)|。 我们的定义如前所述:前缀免费kolmogorov复杂性,给定串σ的前义域的解压缩函数f表示,表示为kf(σ),是σ(和无限否则)的最短F描述的长度。 自1 [|Σ|]0Σ是σ的有限前缀代码,我们知道每个字符串都有至少有一些具有有限KF的前缀解压缩算法。 如前所述,我们可以显示比这一个更好的解压缩算法,并且实际上,存在通用前缀减压算法U,使得对于每个其他算法M,存在k这样的ku(σ)≤km(σ)+ k,所有σ(Downey和Hirschfeldt 2010:§2.5)。 我们定义k(σ)= ku(σ)。
由于这组前缀代码是所有可能代码集的子集,因此我们应该期望C(σ)≤k(σ)。 另一方面,我们可以根据以下构造一个通用的前缀算法u。 一个通用的图灵机U'作为输入我们希望模拟的图灵数量的Gödel数量,以及我们希望向该机器提供的输入。 让我们将这两个输入连接到一个较长的输入字符串,它本身就是唯一可读的; 然后,我们将该更长的字符串编码为我们的前缀编码。 编码有效地计算,所以我们可以将解码机与我们的通用机器联锁连锁; 在输入可接受的前缀字符串上,解码器会将其分解为输入字符串,然后将输入字符串分解为Gödel号码和输入,并在该对输入上运行机器U'。 根据我们选择的特定编码,我们可以在k上建立各种界限; 我们已经建立的一个明显的束缚是C(σ)≤k(σ)<c(σ)+2 |σ|。 通过使用U'-描述的更有效的免费编码,我们可以建立更好的界限。[13] (在K和C之间的连接上有一些更多结果在Downey和Hirschfeldt 2010:§§3.1-3.2。)