Adleman证明包含的证明表明,如果存在一个针对大小为输入在时间上运行的问题的随机算法,那么对于在时间上运行的问题也存在确定性算法输入大小为 [算法在独立的随机字符串上运行随机算法。重复算法必须具有随机性,这对所有都有利P / p ö 升ý 吨(Ñ )ñ Θ (吨(Ñ )⋅ Ñ )ñ Θ (Ñ )2 Ñ可能的输入]。确定性算法不统一-对于不同的输入大小,其行为可能有所不同。因此,阿德勒曼(Adleman)的论点表明-如果不关心均匀性-随机化只能以输入大小呈线性的因数加速算法。
据我们所知,随机化可以加速计算的一些具体示例是什么?
一个例子是多项式身份测试。这里的输入是一个n大小的算术电路,用于计算一个字段上的m变量多项式,任务是找出该多项式是否相等为零。随机算法可以在随机点上评估多项式,而我们所知的最佳确定性算法(可能是现有的最好的)可以在许多点上评估多项式。
另一个例子是最小生成树,其中Karger-Klein-Tarjan的最佳随机算法是线性时间(错误概率呈指数小!),而Chazelle的最佳确定性算法在时间(是Ackermann逆函数,因此随机化加速确实很小)。有趣的是,Pettie和Ramachandran证明,如果最小生成树存在非统一的确定性线性时间算法,那么也存在统一的确定性线性时间算法。α
还有哪些其他示例?您知道哪些示例的随机化加速率较高,但这可能仅仅是因为我们尚未找到足够有效的确定性算法?