我认为这里提出的问题大致是“在某种意义上,我们可以用确定性地从适当长的Kolmogorov随机字符串中确定的位替换算法中的随机位序列吗? ”至少这是我将尝试解决的问题回答!(简短的回答是“是,但仅当您首先放大错误概率时”)
是...
我们当然可以在这里说些什么。令为某种语言,令为将和的随机字符串作为输入()st。换句话说,是一种算法,其概率最多为。甲X - [R ∈ ù ˚F (| X |) { 0 ,1 } ˚F (| X |)镨[ 甲(X ,- [R )= 大号(X )] > 1 - ε (X )甲ε (⋅ )大号一个X[R ∈ üF(| x |){ 0 ,1 }F(| x |)Pr [ A (x ,r )= L (x )] > 1 − ϵ (x )一个ϵ (⋅ )
现在注意,如果在上给出了错误的答案即,这为我们提供了一些描述,特别是,我们可以将其描述为第一个字符串,导致在上出错要做到这一点,我们简单地使具有硬编码的机器,,,以及位,并简单地列举的选择从直到找到第个选择,使得。(x ,r )A (x ,r )≠ L (x )r i A x 。x A i b = 1一个(x ,r )A (x ,r )≠ L (x )[R一世一个X 。X一个一世- [R ' { 0 ,1 } ˚F (| X |)我- [R '甲(X ,- [R ')≠ bb = 1⟺X ∈ 大号[R′{ 0 ,1 }F(| x |)一世[R′甲(X ,- [R′)≠ b
因此,既然我们知道我们可以利用对随机字符串的错误选择来进行描述,那么让我们观察一些足以将的描述转换为压缩的条件。为了描述,我们需要足够的位来描述,,,然后是我们过程的代码(的代码和我们描述的例程),并给出了对长度r x i b A | x | + | 我| + O (1 )= | x | + log 2(2 f (| x |) ϵ (x ))+ O (1 )= | x | + f (| x |)− log (1 / ϵ ([R[RX一世b一个
| x | + | 我 | +O(1)= | x | +日志2(2F(| x |)ϵ (x ))+ O (1 )= | x | + f(| x |)− 日志(1 / ϵ (x ))+ O (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[R PÇ ø - [R P乙PP
...但前提是我们先放大。
后续问题可能是“我可以在不增加错误概率的情况下执行此操作吗?” 考虑下面的算法,该算法确定,错误概率为。{ 0 ,1 } * 1 / 2 Ñ一个{ 0 ,1 }∗1 / 2ñ
在输入:X
- 生成字符串ř ∈ { 0 ,1 }ñ
- 如果,则拒绝。r = x
- 接受。
请注意,对于每一个选择,有一些选择,使得对犯错,即选择即是,所以我们不能代替使用位的随机序列的与没有放大一柯尔莫哥洛夫随机字符串这是错误概率!x A x r x A[RX一个X[R X一个
关于来源的注释:我不确定这是否新颖,但是我在资格考试的笔试中包含了第一个论点,我将在完成修改后将其在线上获得。