真正的随机数生成器:图灵可计算吗?


39

我正在寻找一个确定的答案,即“真正随机”数的生成是否是图灵可计算的。我不知道该怎么说。 关于“用于生成随机数的有效算法”的StackExchange问​​题几乎可以回答我的问题。查尔斯·斯图尔特(Charles Stewart)在回答中说:“ [马丁·洛夫随机性]不能由机器产生。” 罗斯·斯尼德(Ross Snider)表示:“任何确定性过程(例如图灵/套准机)都不能产生“哲学”或“真实”随机数。” 关于什么才是真正的随机数生成器,是否有一个明确的公认概念?如果是这样,是否知道它不能由图灵机计算?

也许将我指向相关文献就足够了。感谢您的任何帮助,您可以提供!

编辑。感谢Ian和Aaron的丰富知识!我在这方面没有受过教育,因此我很感谢您的协助。如果我可以在此附录中稍微扩展一下这个问题:是一种可以访问纯随机性源(TM)的TM可以计算传统TM无法实现的函数吗?


1
如果您首先考虑“真正随机”的定义,这将有所帮助。
MS Dousti

Answers:


52

我参加讨论的时间很晚,但是我将尝试解决先前提出的几个问题。

首先,正如亚伦·斯特林(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 0w k 1,... ü ķ通过其中的一个起始无穷序列瓦特ķ 具有测量至多2 - ķkwk,0wk,1Ukwk,i2k(如果您喜欢拓扑,请注意,这是产品拓扑中一组无限二进制序列的开放集)。然后该组具有量度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αk2kUkα

αβαnnO(1)βnα


好的,现在是约瑟夫问题的“编辑”部分:是这样的情况:具有访问纯随机性源(预言)的TM可以计算经典TM不能计算的函数吗?

f:NNfnn

ffnnfϵ>0σσfσ


8
多么美丽的答案。
Suresh Venkat 2010年

1
非常感谢您对这个(对我!)纠结的问题所作的详细答复的清晰性。谢谢!
约瑟夫·奥洛克

12

为了回答您的问题,“可能可计算”和“有效可计算”之间可能有所区别。如果一个人将“随机过程”定义为“一个无法预测的过程,无论我们拥有什么资源”,而一个人将“确定性过程”定义为“可预测的过程”,则要获得(可能是很多)资源的输入和访问, “那么图灵可计算函数就不可能是随机的,因为如果我们了解图灵机并对其进行仿真,我们就可以始终预测该过程的下一个“实验”的结果。

在此框架中,马丁-洛夫检验可以看作是确定性过程,而随机序列的定义恰好是其行为无法通过任何马丁-洛夫检验/图灵可计算/确定性过程预测的序列。

但是,这引出了一个问题:“在现实生活中,随机序列是否可以有效计算?” 实际上,这里有一个行业。已发布的CD上有数十亿个随机(?)位,用于执行物理系统的计算机模拟等。这些CD保证其位序列可以通过一堆Martin-Lof测试。《醉汉之行:随机性如何统治我们的生活》一书对此问题进行了流行科学解释。

无关紧要:我喜欢你的专栏。:-)


11

直观上,“随机”表示“不可预测”,并且可以通过运行图灵机预测由图灵机生成的任何序列,因此图灵机不能生成“真正随机”的数字。随机序列有很多形式上的定义(当字符串的长度达到无穷大时,随机性才真正有意义),所有这些基本上都是等效的。其中最自然的可能是Martin-Lof随机性,这意味着一个序列通过了所有可能的随机性统计计算,而Chaitin随机性则意味着所有初始子序列都是不可压缩的(更具体地说,Kolmogorov的复杂度很高)。在这两个定义中,生成随机序列并识别它们都是无可争议的。请参阅“信息和随机性:


链接到预定的位置:amazon.com/...
苏雷什Venkat

谢谢,伊恩(Ian&Suresh),我正在从我们的图书馆中检索那本书!
约瑟夫·奥洛克

另一本很棒的书是Nies的“可计算性和随机性”。
迭戈·德埃斯特拉达

11

当然,任何考虑产生随机数的算术方法的人都处于犯罪状态。因为,正如多次指出的那样,没有随机数之类的东西,只有产生随机数的方法,严格的算术过程当然不是这样的方法。—约翰·冯·诺依曼


哈!好报价,杰夫!并且具有实质性意义。
约瑟夫·奥洛克

7

似乎没有人回答您的附录,因此我将对此进行尝试:

如果我可以在此附录中稍微扩展一下这个问题:是一种可以访问纯随机性源(TM)的TM可以计算传统TM无法实现的函数吗?

我将尝试使问题更精确,然后回答。(尽管我的版本可能与您的想法不符,所以如果不是,请告诉我。)

我们有一个确定性TM,可以访问随机数生成器。现在,该TM以某种方式利用随机数生成器来计算某些函数(实际函数,即从输入空间到输出空间的确定性映射)。

那么具有随机性的TM是否允许出错?如果不是,那么DTM不管提供了什么随机位,都必须给出正确的答案。在这种情况下,不需要随机位,因为您可以将随机字符串设为00000 ...

fi(x,r)fir


我发现这很有见地:“如果没有,那么DTM不管提供了什么随机位,都必须给出正确的答案。” 谢谢!
约瑟夫·奥洛克

其实我不明白这一点。您似乎在暗示P = ZPP或具有零错误的随机算法(例如lass Vegas算法)必须是确定性的?
Suresh Venkat 2010年

通过具有oracle访问权限的DTM决定一种语言,我假设DTM在有限的时间后停止。在这种情况下,我们可以摆脱甲骨文。对于零错误,我们仅将其替换为0000 ...,并且出于任何其他目的,可以在所有有限长度的随机字符串上施加蛮力。(我确定有人可能会认为拉斯维加斯算法并不是真正的算法,因为它们不一定会终止。)
罗宾·科塔里

5

关于您的“编辑问题”:如果您要询问可计算性或复杂性,那将有很大的不同。如果TM上存在复杂性界限,那么您将获得所谓的随机预言模型。如果TM可以使用任意大但有限的资源,那么您将处于相对随机的世界:甲骨文具有随机性等级,与图灵度一样。(观点:Koblitz和Menzes的(其中)著名的批评之一是关于随机Oracle模型的使用,因此您的元问题正在引起最近的学术争论。)


只是为了澄清一下:乔是想要一个随机预言机(本质上是一个随机哈希函数)还是仅仅是随机性的来源?这些不是一回事,对吗?
Suresh Venkat 2010年

谢谢亚伦,提到随机性Oracle层次结构很有用。
约瑟夫·奥洛克

@Suresh:我的意思是随机性的来源。
约瑟夫·奥洛克

在这里,你们俩可能都领先于我,但我试图说的是,必须相对于“参考框架”(即,可用于进行预测的资源)定义随机性。对于Turing机器,“随机性源”可能是随机的,但对于Halting Oracle,则不是。我同意罗宾·科塔里(Robin Kothari)的回答;我的观点只是,在当前的定义下似乎不存在“纯随机性源”,因为我们总是可以对角线化它并获得一些随机的东西。
亚伦·斯特林

5

我仍在尝试理解您修改后的问题,尤其是您对TM的限制。因此,尽管此答案可能无法完全满足您的要求,但也许会有所帮助。

我们知道,存在一个无条件的不可能结果,即用确定性地将凸形体的体积近似于次指数因子(这是Bárány和Füredi的古老结果)。相反,我们可以使用采样获得针对此问题的FPRAS。这是您要寻找的分离示例吗?


这个结果是针对多项式时间算法的,对吧?我将OP的问题解释为关于可计算性理论的问题,而不是关于复杂性理论的问题。我的意思是将其解释为“由DTM解决的问题集+随机源是否大于由DTM解决的问题集?”
罗宾·科塔里

这个有可能。因此,我尝试更详细地充实它。在可计算性方面,差异对我而言会使Church-Turing论文无效。
Suresh Venkat

我喜欢那个音量示例!尽管我特别询问了可计算性理论,但我也对复杂性差异感兴趣。我不知道这怎么会使CT失效,因为先前的答案确定了纯随机性来源是不可计算的……?
约瑟夫·奥洛克

我认为,一旦我们将DTM的形式正式化并可以使用随机源(包括其接受标准,停止概率等),我们就应该能够证明该模型还可以精确计算递归语言。
罗宾·科塔里

真实(可计算的领域)。但是现在我想知道:假设我们构造了一个字符串,该字符串的ith位是根据自身编码运行ith图灵机的结果。能够预测该字符串是否对应于解决Halting问题,并且该字符串在Martin-Lof意义上是随机的吗?
Suresh Venkat
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.