Skip to content

定义Definition

复杂性类 ZPP

施工中 · 内容逐步修订

Zero-error probabilistic polynomial time · ZPP

以每个固定输入上的期望时间和零错误保证定义,并通过截断重启证明 ZPP 等于 RP 与 coRP 的交。

形式陈述 ​

ZPP 是可由零错误、期望多项式时间随机算法解决的语言类。具体地,存在使用独立公平随机位带的随机算法 A 和多项式 p(n)≥1,使得对每个输入 x,A 输出时总是正确的成员资格答案,且

Er[TA(x;r)]≤p(|x|).

随机位带允许无限长;这里约束期望耗时,而不预先限制每条路径读取的位数。期望针对算法的随机币 r,输入 x 固定;不是对某个“通常容易”的输入分布取平均。有限期望蕴含以概率 1 停机,但允许概率为零的无限随机币序列使算法永不结束,也不要求每条路径都在多项式步内停机。

这是一种 Las Vegas 范式:随机性改变得到答案所花的时间,不改变最终答案的真假。与之相比,BPP 固定多项式时间预算,但允许每个输入上有小概率答错。

直觉

允许回答“暂时不知道” ​

另一种等价定义是:存在最坏多项式时间算法 B,输出 0、1 或失败符号 ⊥;输出 0/1 时一定正确,每个输入上 Pr(B(x)=⊥)≤1/2。

从期望时间定义得到它,只需在 2p(|x|) 步后截断 A,未结束就返回 ⊥。由Markov 不等式,

Pr(TA>2p(|x|))≤1/2.

反过来,用全新的独立随机币反复运行 B,遇到 0/1 就返回。对固定输入,一轮成功概率至少 1/2,所以轮数的期望至多 2,总期望时间仍为多项式。这由几何等待时间得到;失败符号是“本轮没有结论”,不是语言的第三种答案。

为什么 ZPP=RP∩coRP ​

RP 算法给出的“接受”是可靠结论:非成员绝不被接受,成员以至少 1/2 的概率被接受。coRP 则反过来:“拒绝”可靠,非成员以至少 1/2 的概率被拒绝,成员绝不被拒绝。

若一个语言同时有这两种算法,每轮分别运行一次。RP 算法接受就输出 1;coRP 算法拒绝就输出 0;否则本轮返回 ⊥。两种确定结论都不会错,也不可能在同一输入上冲突。

输入属于哪边 能给出可靠答案的一方 每轮得到答案的概率
x∈L RP 算法接受 至少 1/2
x∉L coRP 算法拒绝 至少 1/2

每轮耗时有多项式上界,用新随机币重试便得到 ZPP 算法。这是两种可靠输出方向的组合,不是把任意两个可能出错的答案互相投票。

反向从三输出的 ZPP 刻画出发:将 ⊥ 改为拒绝,就得到 RP 算法;将 ⊥ 改为接受,就得到 coRP 算法。两方向合起来证明

ZPP=RP∩coRP.
例子与边界

随机快速排序展示了什么 ​

以互异键的随机快速排序为例,无论选到哪些枢轴,完成时都给出正确排序。对每个固定输入,它的期望比较次数为 O(nlog⁡n),而某些枢轴序列可能产生 Θ(n2) 次比较。这展示了“答案固定正确、成本随随机性波动”的 Las Vegas 形态。

排序是函数问题,而 ZPP 的对象是语言判定问题,因此不能直接把“快速排序”当成 ZPP 中的一个语言。这个例子的作用是解释时间保证的含义,而不是证明某个困难判定问题因此属于 ZPP。

期望界与截止时间 ​

仅从 ET≤p(n) 可推出 Pr(T>kp(n))≤1/k,不能直接宣称原算法具有指数下降的运行时间尾部。截断后独立重启则不同:连续 k 轮均失败的概率至多 2−k。指数尾来自重新安排运行方式,而非把 Markov 界的 1/k 擅自改成 2−k。

固定截止时间后强行猜一个 0/1 会引入错误,因而这个被截断的程序不再满足零错误定义;保留 ⊥ 才保留可靠输出。有限次多数投票只能降低已有错误概率,不能一般性地把它变成零错误:必须存在可被可靠识别的成功条件。

推论与应用

确定性多项式算法是不使用随机币的特例,故P 包含于 ZPP。将三输出算法独立运行两轮,再把两轮都失败的情形任意映射为 0/1,错误概率至多 1/4,于是

P⊆ZPP⊆BPP.

把一个 ZPP 算法的最终 0/1 对调,期望时间不变,因此 ZPP 对补语言封闭;这也与 RP∩coRP 的对称性一致。

设计此类算法时,核心任务是把不确定性变成可检测的“重试”,并对每个固定输入给出非微小的成功概率。一个永远答对却经常等待极久的过程,和一个总是很快却可能悄悄答错的过程,都尚未同时满足这两个要求。

这里约束的是随机运行时间的期望,而不是每条随机执行路径都满足同一个时间复杂度上界。

参考资料
关系图谱16 个相邻概念 · 3 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
分类位置

上位 / 更一般

下位 / 直接特例

暂未标注直接特例。

类型化关系