It is known that the multiplication of an $N \times M$ matrix with an $M \times P$ matrix can be performed using fewer multiplications than what the naive $NMP$ approach suggests. The most famous instance of this is Strassen's algorithm for multiplying two $2\times 2$ matrices in 7 instead of 8 multiplications. This gives rise to the constraint satisfaction problem of fast matrix multiplication, where a set of $R < NMP$ multiplication terms must be chosen and combined such that they satisfy correctness constraints on the output matrix. Despite its highly combinatorial nature, this problem has not been exhaustively examined from that perspective, as evidenced for example by the recent deep reinforcement learning approach of AlphaTensor. In this work, we propose a simple yet novel Constraint Programming approach to find non-commutative algorithms for fast matrix multiplication or provide proof of infeasibility otherwise. We propose a set of symmetry-breaking constraints and valid inequalities that are particularly helpful in proving infeasibility. On the feasible side, we find that exploiting solver performance variability in conjunction with a sparsity-based problem decomposition enables finding solutions for larger (feasible) instances of fast matrix multiplication. Our experimental results using CP Optimizer demonstrate that we can find fast matrix multiplication algorithms for matrices up to $3\times 3$ in a short amount of time.
翻译:众所周知,将 $N \times M$ 矩阵与 $M \times P$ 矩阵相乘所需的乘法次数可少于朴素方法 $NMP$ 所暗示的次数。最著名的例子是 Strassen 算法,它在计算两个 $2\times 2$ 矩阵的乘积时仅需 7 次乘法而非 8 次。这引出了快速矩阵乘法的约束满足问题:需选择并组合一组 $R < NMP$ 个乘法项,使其满足输出矩阵的正确性约束。尽管该问题具有高度组合性质,但尚未有研究从该角度对其进行彻底考察,例如最近的深度强化学习方法 AlphaTensor 便佐证了这一点。本文提出一种简单而新颖的约束规划方法,用于寻找非交换快速矩阵乘法算法;若不存在此类算法,则提供不可行性证明。我们提出一组对称性破缺约束和有效不等式,这些约束对证明不可行性尤为有效。在可行情况下,我们发现利用求解器性能差异并结合基于稀疏性的问题分解,能够为更大(可行)的快速矩阵乘法实例找到解。使用 CP Optimizer 的实验结果表明,我们可在短时间内为至多 $3\times 3$ 的矩阵找到快速矩阵乘法算法。