Answers:
Vor的答案给出了标准定义。让我尝试更直观地解释差异。
令为语言的有界错误概率多项式时间算法,该语言以至少概率正确回答。令为输入,为输入大小。
任意算法与算法的区别在于,接受的概率与接受的概率之间存在正差。的本质在于,间隙至少为。我将尝试解释为什么这种区别很重要,并允许我们考虑将视为高效算法(甚至可以推测等于),而将视为效率低下(实际上是包含)。所有这些都来自这个差距。
让我们从更仔细地查看。
请注意,如果算法在执行过程中最多使用随机位,并且错误概率小于则错误概率实际上为,那么将无法选择任何随机位使算法答案错误。
此外,运行时间为的算法不能使用超过随机位,因此,如果在最坏情况下运行时间为的概率算法的错误优于
通过类似的论点,我们可以证明接受的概率与接受的概率之差太小的情况类似于我们几乎没有差别的情况就像情况一样。
现在让我们走向。
在概率算法中,我们可以提高正确回答的概率。假设我们想将正确概率提高到,例如误差概率(指数小误差)。
这个想法很简单:多次运行并得到大多数答案。
多少次我们应该运行获得错误概率至多?次。该答案的底部给出了证明。
现在让我们考虑一下我们正在讨论的算法需要是多项式时间。这意味着我们不能多次运行换句话说,或更简单
该关系根据有界错误概率算法的错误概率将其分类。错误概率为或正常数(即不随改变)或之间没有区别。在保留多项式时间的同时,我们可以从其中一个获取另一个。
但是,如果太小,说,,甚至那么我们没有提高正确性概率,充分减少错误概率的一种方式进入。
这里的要点是,在我们可以按指数方式有效地降低错误概率,因此我们几乎可以肯定答案,这就是我们将这类算法视为有效算法的原因。与概率算法造成的错误相比,可以大大降低错误概率,以致更有可能发生硬件故障,甚至流星落在计算机上。
并非如此,我们不知道有什么方法可以降低错误概率,而我们几乎就像投掷硬币来获得答案一样,正在回答问题(我们并不完全是,概率是不是一半,但是非常接近这种情况)。
本节提供的证明是,当我们从带有间隙的算法开始时,要获得错误概率,我们应该运行次。
让是运行的算法为次,然后回答根据多数人的答案。为了简单起见,让我们假设为奇数,因此我们没有联系。
考虑。的情况下是相似的。然后 要分析的正确性概率,我们需要估计以下概率:该运行接受。
让是1,如果个运行接受并为,如果它拒绝。请注意,每次运行都独立于其他运行,因为它们使用独立的随机位。因此是独立的布尔型随机变量,其中
令。我们需要估计多数接受的概率,即的概率。
怎么做?我们可以使用切尔诺夫边界,它告诉我们概率集中在期望值附近。对于任何具有期望值随机变量,我们有
它说的是,概率是远离其预期值是指数地减小增加。我们将使用它来限制的概率。
请注意,根据期望的线性度,我们有
现在我们可以应用切尔诺夫界。我们想要一个的概率的上限。Chernoff边界将给出的概率的上限就足够了。我们有
如果我们选择使得完成,那么我们选择。
因此,我们有
如果您进行计算,您将看到
我们有
我们希望错误最多为,所以我们想要
或者换句话说
这里最重要的一点是,在此过程中,我们将使用更多的随机位,并且运行时间也会增加,即,最坏情况下的运行时间约为的运行时间的倍。
差距的中点是。但总的来说,情况并非必须如此。通过采用其他分数代替多数来接受,我们可以对其他值采用类似的方法。