繁体   English   中英

算法复杂度:Strassen算法比n立方正则矩阵乘法的多项式速度快。 “多项式更快”是什么意思?

[英]algorithm complexity: Strassen's algorithm is polynomially faster than n-cubed regular matrix multiplication. What does “polynomially faster” mean?

Strassen的算法在多项式上比n立方正则矩阵乘法快。 “多项式更快”是什么意思?

您的问题与“复杂性”的理论概念有关。 例如,规则矩阵乘法据说具有O(n ^ 3)的复杂度。 这意味着随着维数“ n”的增长,运行算法所需的时间T(n)保证不超过相对于正常数的函数“ n ^ 3”(三次函数)。 正式地,这意味着:

存在一个正阈值n_t,使得对于每一个n> = n_t,T(n)<= c * n ^ 3,其中c> 0是某个常数。

在您的情况下,已证明Strassen算法具有复杂度O(n ^ log7)。 由于log7 = 2.8 <3,因此随着n的增长,可以保证Strassen算法的运行速度比经典乘法算法快。

作为一个旁注,请记住,对于非常小的n值(即,当上述n <n_t时),该语句可能不成立。

复杂度为O(n^3)O(n^2)都是多项式。 但是第二个多项式速度更快

在这种情况下,我认为这意味着两个算法都有一个运行时间,但是Strassen算法更快。

这仅仅是因为标准(即使对于多维数据集)也是多项式的。

无论如何,我不认为“多项式更快”是一个标准术语。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM