Fast Matrix Multiplication Without Tears: A Constraint Programming Approach

要約

$N \times M$ 行列と $M \times P$ 行列の乗算は、単純な $NMP$ アプローチよりも少ない乗算を使用して実行できることが知られています。
この最も有名な例は、2 つの $2\times 2$ 行列を 8 回の乗算ではなく 7 回で乗算する Strassen のアルゴリズムです。
これにより、高速行列乗算の制約満足問題が生じます。$R < NMP$ 乗算項のセットは、出力行列の正確性制約を満たすように選択および結合されなければなりません。 この問題は、その高度な組み合わせの性質にもかかわらず、たとえば最近の AlphaTensor の深層強化学習アプローチによって証明されているように、その観点から徹底的に検討されていません。 この研究では、高速な行列乗算のための非可換アルゴリズムを見つけたり、そうでない場合の実行不可能性の証明を提供したりするための、シンプルでありながら新しい制約プログラミング アプローチを提案します。 実行不可能性を証明するのに特に役立つ、対称性を破る制約と有効な不等式のセットを提案します。 実現可能な側面では、スパースベースの問題分解と組み合わせてソルバーのパフォーマンスの変動を利用することで、高速行列乗算のより大きな (実現可能な) インスタンスに対する解決策を見つけることができることがわかりました。 CP オプティマイザーを使用した実験結果は、$3\times 3$ までの行列に対する高速な行列乗算アルゴリズムを短時間で見つけられることを示しています。

要約(オリジナル)

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.

arxiv情報

著者 Arnaud Deza,Chang Liu,Pashootan Vaezipoor,Elias B. Khalil
発行日 2023-07-17 15:14:53+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.DS, math.CO パーマリンク