概率复杂度类:随机计算的力量与局限
随机计算的魅力与挑战
在计算领域,将随机性引入计算过程带来了诸多好处。我们把随机性视为一种资源,概率算法使得计算能够依赖于理想随机生成器的输出,就像抛硬币的结果一样。这些算法可以通过对其所定义接受的语言进行分类。许多用普通确定性计算难以解决的重要计算问题,使用概率算法却能得到高效的解决方案。概率算法易于实现,能为原本困难的问题提供快速且可靠的解决途径。然而,这种效率的提升是有代价的,概率算法有时会出错。
为了精确地定义概率复杂度类,我们需要引入概率图灵机的概念。概率图灵机本质上是一种非确定性图灵机,但接受的定义有所不同。每个非确定性选择都被看作是一个随机实验,每个结果的概率相等。我们可以假设每个非确定性分支恰好有两个可能的结果,每个结果的概率为 1/2。概率图灵机有三种最终状态:接受状态(1 - 状态)、拒绝状态(0 - 状态)和未确定状态(? - 状态)。机器对输入的输出现在是一个随机变量,其取值范围为 {1, 0,?}。我们用 Pr[M(x) = a] 表示机器 M 在输入 x 时停在 a - 状态的概率。给定路径的概率是通过将 1/2 提升到与该路径上非确定性选择数量相等的幂得到的。机器 M 接受输入 x 的概率 Pr[M(x) = 1] 是所有接受路径概率的总和。
多项式概率时间类(PP)
我们可以定义几种不同的概率复杂度类,其中第一个是多项式概率时间类 PP。PP 是最容易定义但实用性最低的类。设 χA 表示集合 A 的特征函数。
PP 类的定义如下:PP 是这样一类语言 A,存在一个概率多项式时间有界的图灵机 M,使得对于所有的 x,Pr[M(x) = χA(x)] > 1/2。也就
超级会员免费看
订阅专栏 解锁全文
961

被折叠的 条评论
为什么被折叠?



