Karppa & Kaski (2019) proposed a novel type of ``broken" or ``opportunistic" multiplication algorithm, based on a variant of Strassen's algorithm, and used this to develop new algorithms for Boolean matrix multiplication, among other tasks. For instance, their algorithm can compute Boolean matrix multiplication in $O(n^{\log_2(6+6/7)} \log n) = O(n^{2.778})$ time. While faster matrix multiplication algorithms exist asymptotically, in practice most such algorithms are infeasible for practical problems. In this note, we describe an alternate way to use the broken matrix multiplication algorithm to approximately compute matrix multiplication, either for real-valued matrices or Boolean matrices. In brief, instead of running multiple iterations of the broken algorithm on the original input matrix, we form a new larger matrix by sampling and run a single iteration of the broken algorithm. Asymptotically, the resulting algorithm has runtime $O(n^{\frac{3 \log6}{\log7}} \log n) \leq O(n^{2.763})$, a slight improvement of Karppa-Kaski's algorithm. Since the goal is to obtain new practical matrix-multiplication algorithms, these asymptotic runtime bounds are not directly useful. We estimate the runtime for our algorithm for some sample problems which are at the upper limits of practical algorithms; unfortunately, for these parameters, the new algorithm does not appear to be beneficial.
翻译:Karppa & Kaski (2019年) 根据斯特拉斯森的算法变量, 提议了一种新型的“ broken” 或“ opportunistic” 乘法算法, 其依据是斯特拉斯森的算法变量, 并用它来开发布林矩阵乘法, 以及其他任务。 例如, 他们的算法可以计算布林矩阵乘法乘法以$O (n ⁇ log_ 2( 6+6/7)\\ log n) = O (n ⁇ 2. 778}\ log n) = O (n ⁇ 2. 278} ) 。 虽然快速矩阵乘法乘法乘法乘法的倍增法并不简单, 但实际上, 多数这样的算法对于实际问题来说是行不通的。 在目前O( n ⁇ forc{3)\\\\ log6\\\\\\\\\\\\\\\\\\ maxal 的运算法中, 这算算算算算算算是轻微的累变数。