击败Strassen算法的算法

时间:2016-10-02 23:12:43

标签: algorithm strassen

Caesar教授希望开发一种矩阵乘法算法 渐近地比Strassen的算法快。他的算法将使用分而治之的方法,将每个矩阵分成大小为n / 4 x n / 4的片段,并且将分割和组合步骤合并在一起将花费Theta(n ^ 2)时间。

1 个答案:

答案 0 :(得分:1)

你并没有真正指出这里的问题,但我想这反驳说这个简单算法的运行速度比Strassen快。

假设您将矩阵划分为多个块(n / k)X(n / k)(在您的问题中, k 为4)。然后每个矩阵将有 k 2 块,并且将有 k 3 块乘法(每个块在第一个矩阵将乘以第二个矩阵中的 k 块。因此,复杂性重现是

T(n)= k 3 T(n / k)+Θ(n 2

case 1 of the Master theorem,这意味着

T(n)=Θ(n log k (k 3 )=Θ(n 3功能

这与普通矩阵乘法相同。显然,它并没有击败斯特拉森。