为什么在计算机科学中将最多多项式的复杂度视为有效的?
对于任何实际应用(a)来说,复杂度为的算法比及时运行的算法(即要快得多,但是前者被认为效率低下,而后者是有效的。逻辑在哪里?
(a)例如,假设宇宙中的原子数约为。
为什么在计算机科学中将最多多项式的复杂度视为有效的?
对于任何实际应用(a)来说,复杂度为的算法比及时运行的算法(即要快得多,但是前者被认为效率低下,而后者是有效的。逻辑在哪里?
(a)例如,假设宇宙中的原子数约为。
Answers:
关于“效率”的另一个观点是,多项式时间使我们能够定义不依赖于机器模型的“效率”的概念。具体来说,有一种名为“有效的教堂-图灵论题”的“教堂-图灵论”的变体,它说在某种机器模型上以多项式时间运行的任何问题也将在另一个同样强大的机器模型上以多项式时间运行。
这对于一般的CT论文来说是一个较弱的陈述,并且被随机算法和量子算法都“违反了”,但是在能够通过改变聚类时间解决NP难题的意义上并没有被违反。机器型号。
最终,这就是为什么多项式时间成为理论CS中流行的概念的原因。但是,大多数人意识到这并不反映“实践效率”。有关更多信息,Dick Lipton在“ 银河算法 ” 上的帖子是一本好书。
从理论上讲,我们关心渐近行为,并根据渐近行为描述问题和算法的类别。这里的关键字是渐近的。渐近地,比快,即从(顺便说一句:septillion!)开始,假设单位常数系数,并且不低订单条款。O (n log n)n > 1208925819614629174706176
然而,实际上,要注意指数和常数系数。实际上,输入大小不能增长到数十亿,因此,是的,会比更好。在实践中,其他因素也很重要:并行性,内存访问模式(例如局部性)。 n 80
例如,大多数用于整数乘法的库(例如GMP)将实现算法的混合,并根据输入大小选择劣等算法,但根据输入大小选择实际上优等的算法,尽管这些算法可能渐近劣等。在某些输入大小上,某些渐近“劣等”算法会更快,并且会在最佳算法上进行选择。
另一个示例是已知最快的矩阵乘法算法,它是在运行的Coppersmith-Winograd算法(最近有改进,请此处)。但是,它从未实现过,因为(1)很难(2)常数系数巨大。所有线性代数包都使用不太理想的Strassen。
TL; DR理论关注渐近行为,以便在输入大小的限制达到任意大数时比较算法。
该答案将着眼于您问题的“大局”。计算机科学实际上是一门相对年轻且开放的科学,它对某些基本问题和根本问题还没有很好甚至很好的答案。基本的问题:“什么是有效地计算”要么准确或大致在CS形式化(根据意见),而著名的P VS NP问题(或密切相关的P VS Exptime问题),其仍然开放后超过四个十年最初是由Cook / Levin于1970年提出的,后来由世界上最伟大的计算机科学家进行了艰苦的工作(许多数学家也对该问题感兴趣,因为它们是基本问题)。
因此,换句话说,即使将“效率” 粗略地定义为P时间,并且是价值最高的科学奖励之一,即10年来与该问题相关的100万美元奖励,计算机科学甚至无法证明某些问题(接近此边界)必须具有或不能具有有效的(Ptime)算法。因此“高效”更精确的小于P时间的精确定义不是必要的或甚至可能在这个时候。如果/当以一种或另一种方式解决P对NP猜想时,“效率”的更严格定义可能或大概将是可能的。
而且,人们可能会觉得Ptime对“效率”的定义甚至可能有点“草率”,大多数计算机科学家可能会同意,而且几乎所有人都认为P对NP猜想对于解决,他们甚至可能认为这种主张或观察微不足道。。。换句话说,这是一项正在进行的工作/我们正在努力。(实际上,主流计算机科学家甚至只是半开玩笑地走到现在为止,经常将差距和缺乏进展/确定性的间隔称为尴尬。)
实际上,甚至有一个与P对NP 密切相关/ 远比P对NP 更强的猜想,即NP对P / poly,目前计算机科学也无法解决。它猜想NP时间问题不能通过任何 “ P大小”电路来解决,即甚至不限于可以由算法/图灵机创建的电路。
至于P vs NP的难度,有充分的理由认为它至少可以与数学上非常古老的Riemann猜想(现在是1.5 世纪)一样困难,因为两者都获得了相同的100万美元奖金。十年,至今尚未解决。
因此,换句话说,精确定义哪些算法真正“有效”实际上是理论科学和数学中最重要和最困难的现有开放问题之一。
实际上,“有效地计算什么”的问题实际上甚至更加微妙,因为存在Church-Turing命题的一种变体,称为P-time CT命题,而且量子计算是否确实违反了它,这一点尚不清楚。鉴于Shor在P-time QM方面取得的突破性结果,保理被认为是本研究中的重大转折。换句话说,有效计算的问题实际上似乎可以归结为深层物理学原理,并且与量子计算是否可以比传统计算更有效地计算有关,这也是理论CS和高级物理学中普遍存在的问题。
因此,人们甚至可以补充说,P与NP以及有效计算的问题对于CS以及数学之外的物理学可能都至关重要。
[1] P与NP问题,维基百科
[2] 千年奖金问题
[3] P / Poly类,维基百科
[4] Shor算法
仅与最难的非多项式时间(尤其是所谓的NP-Complete)相比,多项式时间算法才被认为是有效的。参见图像:关于P,NP,NP完全和NP困难的问题的欧拉图。