有效计算的概念


11

如果多项式时间Turing机器算法的运行时间在最坏的情况下受输入大小中的多项式函数的限制,则认为该算法是有效的。我知道强力的“ Turing-Turing”论点:

可以在图灵机上有效模拟任何合理的计算模型

但是,我不了解用于分析微积分算法的计算复杂性的扎实理论。λ

对于每个已知的计算模型,我们是否都有计算效率的概念?是否有仅对可计算性问题有用但对计算复杂性问题无用的模型?

Answers:


9

据我所知,可计算性的主要模型是λ微积分,图灵机和递归函数。我不了解有关递归函数复杂性的情况,它们对于复杂性可能没有用,也可能没有用。

可以看作是幸运的巧合,图灵机不是那么低效的机器,也是很好的复杂模型。使事情变得自然的原因是,涉及多项式的多项式都涉及许多转换。(通用机器,用1 台机器模拟台机器,从任意字母到二进制,模拟PRAM等),并且多项式是一类通过算术运算和组合稳定的函数–这使它们成为复杂性理论的理想候选者。ñ

纯λ微积分本身对于复杂性没有用。但是,一个简单的类型系统开始起作用,并允许以非常简单的方式保证某些λ项的终止。然后,其他一些系统(系统TF,..)在保持终止的同时还具有很高的表现力。

效率或复杂性是对端接的一种改进,类型与逻辑密切相关,后来出现了轻型线性逻辑,它表征了几类复杂性。(Elementary,P和PSPACE的一些变体以及其他)。该领域的研究非常活跃,不仅限于这些复杂度类别,甚至不限于λ微积分。

tl; dr: λ演算对于可计算性,终止和复杂性理论很有用。

然而,在应得的荣誉中给予称赞Turing机器是定义复杂性的好方法,而且是一致的方式,但这仅适用于“多项式”之类的宽松界限,而不适用于更适合PRAM类模型的严密界限。


那么为什么我们要使用类似RAM的模型来进行大多数运行时分析?
拉斐尔

Ø1个Ø日志|ËØ[Rÿ|ñ日志27

@Raphael:您对我的最后一句话有反应,对吗?
jmad 2012年

是的,我做到了(为了没有经验的读者)。
拉斐尔

1

β

λXŤË[RvŤË[R[X:=v]
1个

β

@吉尔斯:由于我们不知道实施最优减排的实际(统一模型)成本是多少,因此您的评论并不十分重要。目前,这些研究仅对该答案中提出的问题进行了细化。
斯特凡希门尼斯

1

关于在标准复杂性模型中包含λ微积分,这是该主题的一些(非常)新研究的摘要。它为β-还原的某些受限形式给出了这个问题的答案。基本上,标准成本模型中的复杂度类似于在限制人员减少(包括按姓名致电和按值致电策略)计算β减少步骤。

Beniamino Accattoli和Ugo Dal Lago 提出的人头削减单一成本模型的不变性。(WST2012,链接至会议记录

λ演算是高阶函数程序的一种被广泛接受的计算模型,但尚无任何直接且普遍接受的成本模型。结果,通常通过对具体实现算法进行推理来研究将λ项还原为其正规形式的计算难度。在这里,我们表明,当人头减少是基本动力时,单位成本模型的确是不变的。这在已知结果上有所改善,已知结果仅处理弱(按值调用或按名称调用)减少。通过显式替换的线性演算证明了不变性,该演算可以很好地将λ演算中的任何头部减少步骤分解为更多的基本替换步骤,从而使头部减少的组合易于理解。


λ
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.