Caesar教授希望开发一种矩阵乘法算法 渐近地比Strassen的算法快。他的算法将使用分而治之的方法,将每个矩阵分成大小为n / 4 x n / 4的片段,并且将分割和组合步骤合并在一起将花费Theta(n ^ 2)时间。
答案 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功能)
这与普通矩阵乘法相同。显然,它并没有击败斯特拉森。