我参加讨论的时间很晚,但是我将尝试解决先前提出的几个问题。
首先,正如亚伦·斯特林(Aaron Sterling)观察到的那样,重要的是要首先确定我们所说的“真正随机”数是什么意思,特别是如果我们从计算复杂性或可计算性的角度看待事物。
但是让我争辩说,在复杂性理论中,人们主要对伪随机性和伪随机生成器感兴趣,即,从字符串到字符串的函数,使得除了某些有效过程的均匀分布之外,输出序列的分布也无法被告知(其中可以考虑有效的几种含义,例如可乘时计算,多项式电路等)。这是一个美丽而活跃的研究领域,但我想大多数人都会同意,它所研究的对象并不是真正的随机对象,它们看上去只是随机的就足够了(因此称为“伪”)。
在可计算性理论中,人们对“真正的随机性”这个好的概念已经达成共识,并且确实是盛行的Martin-Löf随机性概念(其他人已经提出并且有研究的兴趣,但是并不能掩盖全部)。 Martin-Löf随机性的优良特性)。为了简化问题,我们将考虑无限二进制序列的随机性(其他对象,例如从字符串到字符串的函数可以很容易地由此类序列编码)。
如果没有可计算的过程(即使我们允许该过程在三倍指数时间或更长时间内可计算),则无限二进制序列是Martin-Löf随机数,则无法检测到随机性缺陷。α
(1)“随机缺陷”是什么意思?这部分很简单:它是一个集测度为0,即几乎所有的序列不具有(在这里我们谈论财产勒贝格测度即每个比特具有测量的概率是0独立于所有其他的位)。这种缺陷的一个例子是“渐近地具有1/3的零和2/3的零”,这违反了大数定律。另一个示例是“对于每n个,α的前2n位是完美分布的(零个与1个一样多”)。在这种情况下,可以满足大数定律,但不能满足中心极限定理。等等1 / 20α
(2)可计算过程如何测试一个序列不属于特定度量0集?换句话说,可以计算地描述哪些度量0集?这正是Martin-Löf测试的目的。Martin-Löf检验是一种可计算的过程,该过程在给定输入k的情况下(例如,通过具有输入的图灵机)可计算地生成一系列字符串w k ,0,w k ,1,... ü ķ通过其中的一个起始无穷序列瓦特ķ ,我具有测量至多2 - ķķwķ ,0wķ ,1üķwk,i2−k(如果您喜欢拓扑,请注意,这是产品拓扑中一组无限二进制序列的开放集)。然后该组具有量度0和作为被称为马丁-LOF nullset。现在,我们可以说马丁-洛夫随机性,方法是说一个无限的二进制序列α如果不属于任何马丁-洛夫空集,则是马丁-洛夫随机。 G=⋂kUk0α
此定义看似技术性的,但由于以下几个原因而被广泛接受为正确的定义:
- 它足够有效,即其定义涉及可计算的过程
- 它足够强大:您可以在概率论教科书中找到的任何“几乎确定”的属性(大数定律,对数迭代定律等)都可以通过Martin-Löf检验进行检验(尽管有时很难证明)
- 它是由几个人使用不同的定义(特别是使用Kolmogorov复杂度的Levin-Chaitin定义)独立提出的;它们都导致同一个概念,这暗示着它应该是正确的概念(有点像可计算函数的概念,可以通过Turing机器,递归函数,Lambda微积分等来定义)。
- 它背后的数学理论非常好!参见三本优秀的著作《 Kolmogorov复杂性及其应用简介》(Li和Vitanyi),算法随机性和复杂性(Downey和Hirschfeldt),可计算性和随机性(Nies)。
Martin-Löf随机序列是什么样的?好吧,拿一个完美平衡的硬币开始翻转。每次翻转时,在头上写0,在头上写1。继续直到时间结束。这就是Martin-Löf序列的样子:-)
ααααkakαk2−kUkα
αβαnn−O(1)βnα
好的,现在是约瑟夫问题的“编辑”部分:是这样的情况:具有访问纯随机性源(预言)的TM可以计算经典TM不能计算的函数吗?
f:N→Nfnn
ffnnfϵ>0σσfσ