Skip to content

复杂度类 BPP

Complexity class BPP

具有有界双边误差多项式时间随机算法的语言类。

条目类型
定义

形式陈述

语言 L 属于 BPP,若存在一台运行时间受多项式限制的随机化算法 A,使对所有输入 x

xLPr[A(x)=1]23,xLPr[A(x)=1]13.

两侧都有错误,但与 1/2 保持常数间隙。独立运行奇数次并取多数,由Chernoff 界可把错误概率降为 eΩ(k);因此 2/3,1/3 可替换为任意固定、可放大的有界误差常数。

直觉

BPP 算法每次可能答错,但在每个固定输入上,正确答案的概率都以一个常数间隙高于错误答案,因而在随机运行中形成稳定多数。这个间隙使独立重复与多数投票能把固定可靠性放大为极高置信度,而不是因为“随机算法平均起来总会正确”。双边误差允许是实例和否实例都偶尔答错,但保证必须对最坏输入成立。

例子与边界

若单次正确率为 2/3,独立运行 k 次取多数,Chernoff 方法把“多数失败”写成独立 Bernoulli 和偏离均值的尾事件,给出错误概率 eΩ(k);取 k=O(logn) 即可把错误压到 1/nc,仍保持多项式时间。若成功率仅为 1/2+2n,多项式次样本无法稳定分辨,这不满足通常 BPP 的可放大间隙。

算法在某个输入分布下平均准确不够;BPP 对每个输入的内部随机位取概率,并要求随机位数和运行时间都由输入长度的多项式界定。重复运行若复用高度相关的随机性,也不能直接套独立多数分析。

随机学习器也可能以概率至少 1δ 输出低风险预测器,但这不使它自动成为 BPP 算法。高效学习的输入包含样本或样本 oracle,输出是预测器而非一个可立即核对的 bit;“风险是否不超过阈值”往往依赖未知分布,未必能像判定答案那样直接多数表决。两者的失败概率都可研究放大,问题类型、量词与聚合规则却不同。

随机通信、查询与性质测试也沿用有界错误语言,但不因此成为 BPP 的同义模型。随机通信复杂度把双方本地计算视为免费而计算交换 bit;随机查询复杂度计算 oracle 访问,可能允许远超多项式的本地处理;性质测试只保证成员与 ε-far 两端,gap 内没有正确性要求。BPP 则对完整显式输入的每个实例要求多项式总时间和判定正确率。比较这些结论时,必须同时对齐输入可见性、资源单位、最坏输入量词和错误区域。

推论与应用

概率放大说明阈值 2/3,1/3 不是本质常数。包含关系上,PRPBPPZPP也包含于 BPP,BPP 对补封闭且位于PP和多项式层级内。随机性是否真正扩展多项式时间能力仍未知;伪随机生成器研究试图把所需随机位替换为可枚举种子,并在适当困难性假设下去随机化到 P。

参考资料
  • Sanjeev Arora and Boaz Barak, Computational Complexity: A Modern Approach, Cambridge University Press, 2009,Ch. 7。
  • Rajeev Motwani and Prabhakar Raghavan, Randomized Algorithms, Cambridge University Press, 1995,Ch. 1。
关系图谱12 个相邻概念 · 1 类关系

拖动节点调整位置。

显示关系

显示:依赖

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