随机算法的概率放大

时间:2019-02-06 18:39:11

标签: algorithm random probability

我错过了关于随机算法的演讲,也无法将自己的头放在放大双面误差算法的概率上。

有人可以解释为什么以下算法通过重复来提供正确输出的概率会增加,并且该概率如何计算?

L是一种形式语言
  如果输入x∈L,则算法的输出为YES,概率为2/3
如果输入x!∈L,则算法的输出将为NO,且概率> 1/2

提前谢谢

1 个答案:

答案 0 :(得分:0)

您需要一个时髦的决策规则来破解此规则。运行算法n次,如果输出的至少7/12(= 1/2和2/3之间的中间)是,则输出YES。

手工波浪化的理由是,对于每个NO输入,YES输出的期望分数根据大数定律收敛至最大1/2,对于每个YES输入,YES输出的期望分数收敛至至少2/3。形式上,我们必须调用Hoeffding's inequality或类似的方法,这表明对于某个固定常数O(exp(-cn)),错误概率降低为c