RP的真正随机性可以用Kolmogorov随机性替代吗?


10

有没有尝试表明Kolmogorov随机性足以满足RP要求?在这种情况下,是否始终会很好地定义语句“如果正确答案为是,那么它(概率图灵机)以概率……返回是”的概率?还是这种可能性只有上下限?还是仅存在某些概率图灵机,其概率将得到很好的定义(或者至少应下限大于1/2)?

这里的RP类是相对任意的,对于(伪)随机性比Kolmogorov随机性更弱的概念,也可以问这个问题。但是,Kolmogorov的随机性似乎是一个很好的起点。


理解“概率”一词将是试图证明Kolmogorov随机性可用于RP的尝试的一部分。但是,让我尝试描述一种可能的方法,以阐明其含义以及为什么我谈论上下限:

让是(柯尔莫哥洛夫随机)字符串。令为对应于RP语言的给定概率图灵机。润以作为源的随机比特倍,继续使用来自先前未消耗的比特一个接一个。小号Ñ 小号s一个一个sñs

对于,让和p _- ^ s:= \ liminf_ {n \ to \ infty} p_n ^ s。观察p _ + ^ sp _- ^ s对于给定的字符串s定义良好,即使它不是随机的。但是人们可能会怀疑在情况sp _ + ^ s = p _- ^ s是Kolmogorov随机的,还是两个任意Kolmogorov随机字符串s_1s_2的p _- ^ {s_1} = p _- ^ {s_2}。或者是否存在p \ geq 1/2使得任何Kolmogorov随机字符串的p \ leq p _- ^ spñs:=#YES首先出现 ñ 运行 一个 上 sñ p 小号- = LIM INF Ñ →交通 p 小号Ñ p 小号+ p 小号-小号p 小号+ = p 小号-小号p 小号1 - = p 小号2 - š 1 小号2 p 1 / 2 p pp+s:=lim supñpñsp-s:=lim infñpñsp+sp-ssp+s=p-ssp-s1个=p-s2s1个s2p1个/2 spp-ss


2
我不明白这个问题。““ <随机性的概念>对<复杂性类别>来说是足够的”是什么意思?可以使用多项式对RP在多项式时间内对RP进行随机化,以解决Kolmogorov随机字符串的问题。
EmilJeřábek'17

2
我不明白您所说的RP将“起作用”是什么意思,而且我也不理解您的最后评论(根据定义,RP机器总是经过多项步骤后停止,如果使用不便,则不会失去一般性定义)。
埃米尔·杰拉贝克(EmilJeřábek)

2
在问题本身中,当我谈论Kolomogorov随机字符串时,我也不理解您所说的“概率”是什么意思。与通常从随机分布中得出的“随机字符串”不同,Kolmogorov随机是给定字符串具有或不具有的实际“是”-“否”属性。因此,这样的字符串是否使算法接受不是随机变量,因此询问其概率是没有意义的。
EmilJeřábek'17

1
一种合理的方法是采用算法随机字符串的“构造性Martingales”观点。特别是,人们可能希望,如果不能欺骗,那么这将转化为的“下一位预测器” ,然后转化为证明不是随机的下注策略。我不知道这种方法是否有效,即使和收敛速度也;但是,显然有一种较旧的方法可以研究使用此思想的复杂性类(关键字:“资源限制的度量”),因此存在一些希望。小号小号p + p -s一个ssp+p-
安德鲁·摩根

1
相关链接维基百科(其中有进一步的参考)我之前的评论:建设性鞅(见第三个定义),以及资源有限的措施
安德鲁·摩根

Answers:


13

我认为这里提出的问题大致是“在某种意义上,我们可以用确定性地从适当长的Kolmogorov随机字符串中确定的位替换算法中的随机位序列吗? ”至少这是我将尝试解决的问题回答!(简短的回答是“是,但仅当您首先放大错误概率时”)


是...

我们当然可以在这里说些什么。令为某种语言,令为将和的随机字符串作为输入()st。换句话说,是一种算法,其概率最多为。X - [R ù ˚F | X | { 0 1 } ˚F | X |[ X - [R = 大号X ] > 1 - ε X ε 大号一个X[RüF|X|{01个}F|X|[一个X[R=大号X]>1个-ϵX一个ϵ

现在注意,如果在上给出了错误的答案即,这为我们提供了一些描述,特别是,我们可以将其描述为第一个字符串,导致在上出错要做到这一点,我们简单地使具有硬编码的机器,,,以及位,并简单地列举的选择从直到找到第个选择,使得。x r A x r L x r i A x x A i b = 1一个X[R一个X[R大号X[R一世一个XX一个一世- [R ' { 0 1 } ˚F | X |- [R 'X - [R 'bb=1个X大号[R{01个}F|X|一世[R一个X[Rb

因此,既然我们知道我们可以利用对随机字符串的错误选择来进行描述,那么让我们观察一些足以将的描述转换为压缩的条件。为了描述,我们需要足够的位来描述,,,然后是我们过程的代码(的代码和我们描述的例程),并给出了对长度r x i b A | x | + | | + O 1 = | x | + log 22 f | x | ϵ x + O 1 = | x | + f | x |log 1 / ϵ [R[RX一世b一个

|X|+|一世|+Ø1个=|X|+日志22F|X|ϵX+Ø1个=|X|+F|X|-日志1个/ϵX+Ø1个

回想一下,是长度,所以这是一个压缩如果例如,当。f | x |r log 1 / ϵ x = | x | + ω 1 ε X = 1 / 2 2 | x |[RF|X|[R

日志1个/ϵX=|X|+ω1个
ϵX=1个/22|X|

最后,观察到如果是Kolmogorov随机字符串,那么我们就不可能进行这种压缩,因此,只要的错误概率足够小,用Kolmogorov随机字符串代替随机比特序列将使回答正确!一个一个[R一个一个

请注意,我们对的唯一利用是其错误概率很小。我们不在乎的运行时间是否非常长,或者一面或两面都有错误。A A一个一个一个

让我们回到(或或)问题,这就是说,只要我们扩大算法的错误概率,就可以使用Kolmogorov随机字符串代替其随机位。c o R P B P P[RPCØ[RPPP


...但前提是我们先放大。

后续问题可能是“我可以在不增加错误概率的情况下执行此操作吗?” 考虑下面的算法,该算法确定,错误概率为。{ 0 1 } * 1 / 2 Ñ一个{01个}1个/2ñ

在输入:X

  • 生成字符串[R{01个}ñ
  • 如果,则拒绝。[R=X
  • 接受。

请注意,对于每一个选择,有一些选择,使得对犯错,即选择即,所以我们不能代替使用位的随机序列的与没有放大一柯尔莫哥洛夫随机字符串这是错误概率!x A x r x A[RX一个X[R X一个


关于来源的注释:我不确定这是否新颖,但是我在资格考试的笔试中包含了第一个论点,我将在完成修改后将其在线上获得。


中号中号XX大号

1
迈克·西普瑟(Mike Sipser)在其很酷的论文sciencedirect.com/science/article/pii/0022000088900359中使用了类似的压缩参数(请注意,他所需的扩展器图确实已明确构建dl.acm.org/citation.cfm?id=273915
瑞安·威廉姆斯
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.