决策问题,以至于任何算法都可以采用指数级更快的算法


19

在Hromkovič的《困难问题算法》(第二版)中,有一个定理(2.3.3.3,第117页):

存在一个(可确定的)决策问题这样,对于每个求解P的算法,都有另一个算法A'也会求解P,并且另外满足\ qquad \ forall ^ \ infty n \ in \ mathbb {N}。\ mathrm {时间} _ {A'}(n)= \ log_2 \ mathrm {时间} _A(n)PAPAP
nN.TimeA(n)=log2TimeA(n)

TimeA(n)是在最坏的情况下运行时A大小的输入n “为所有,但有限多个”的意思。

没有给出证明,我们也不知道如何去做。实际上,这很违反直觉。定理如何证明?


1
对于标题,可能是这样的:“是否存在可以改进任何求解算法的决策问题?” 话虽这么说,这只是黑暗中的一枪,但难道不是因为这是一个琐碎的决策问题的退化案例吗?无论如何,如果您放弃平等,那意味着总是有可能以“最糟糕”的方式解决问题(通过执行无用的步骤)。但这只是一个猜测。
查尔斯

Answers:


12

这似乎是百隆加速定理的一个简单例子:

给定Blum复杂度测度(φ,Φ)和带有两个参数的总可计算函数f,则存在总可计算谓词g(布尔值可计算函数),因此对于g的每个程序i,都有一个程序j代表g,所以几乎对所有x f(x,\ Phi_j(x))\ leq \ Phi_i(x)igjgx

f(x,Φj(x))Φi(x)

只需让复杂度度量为时间复杂度度量即可(即是代码为的图灵机的时间复杂度),令。Φe(x)ef(x,y)=2y


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.