Professor Caesar wishes to develop a matrix-multiplication algorithm that is asymptotically faster than Strassen’s algorithm. His algorithm will use the divide-and-conquer method, dividing each matrix into pieces of size \(n/4 \times n/4\), and the divide and combine steps together will take \(\Theta(n^2)\) time. He needs to determine how many subproblems his algorithm has to create in order to beat Strassen’s algorithm. If his algorithm creates \(a\) subproblems, then the recurrence for the running time \(T(n)\) becomes \(T(n) = aT(n/4) + \Theta(n^2)\). What is the largest integer value of \(a\) for which Professor Caesar’s algorithm would be asymptotically faster than Strassen’s algorithm?
Strassen’s algorithm has an asymptotic complexity of \(n^{\log_{2}7}\) and so we must find the set of values of \(a\) that beat this time and then select the highest integer among them.
In order to satisfy Case 1, we must choose some integer \(a\) such that \(a > 4\) and then the output becomes simply \(\Theta(n^{\log_{4}a})\). Plotting \(\log_{4}x\) against \(\log_{2}7\) shows us the cross-over point is at \(x = 49\) which indicates that the set of integers we care about is \({5, 48}\) (graph). Thus the largest integer value of \(a\) for which Professor Caesar’s algorithm is asymptotically faster than Strassen’s algorithm is \(48\).