行列の乗算が


39

一般に、ϵ>0すべてについてO n 2 + ϵ時間で2つのn×n行列を乗算することが可能であると考えられています。議論はここにありますO(n2+ϵ)

私は、研究に精通している人々に、nに依存しないk>0があり、行列乗算のO n 2 log k n アルゴリズムが存在し、圧倒的に直感的であると思われるかどうかを尋ねました答えは「いいえ」ですが、理由を説明できませんでした。つまり、O n 2.001時間でできるが、O n 2 log 100 n 時間ではできないと彼らは信じています。nO(n2logkn)O(n2.001)O(n2log100n)

固定k > 0O(n2logkn)アルゴリズムがないと信じる理由は何ですか?k>0

回答:


29

N 2ポリログN 算術演算で、N×N0.172行列とN0.172×N行列を乗算するアルゴリズムがあります。それのために使用される主なアイデンティティは、銅細工の紙「の矩形行列の迅速な乗算」から来ているが、それはにつながる理由の説明N 2 polylog N の代わりに、N 2 + εは、ウィリアムズの付録にある、「新しいアルゴリズムおよび線形しきい値ゲートを持つ回路の下限」。N2polylog(N)N2polylog(N)N2+ϵ

これは、CoppersmithのIDに利用できる追加の構造があり、最近のMMアルゴリズムにはこの構造がないように見えるためです。そうは言っても、なぜこのアプローチをN×N×N行列乗算に拡張することを期待できないのかはわかりません。


11

AϵO(n2+ϵ)O(n2poly(logn))

O(n2poly(logn))


3
家族を十分に説明できれば、より大きなnに対してより効率的な家族を選択できるので、家族を持つことがO(n ^ 2poly(log n))につながるとは考えられません。これがもっともらしいO(n ^ 2poly(log N))ではない唯一の理由は、関係する定数がおそらく非常に大きいことですが、必ずしもそうであることが明らかではありません。
ジョシュアズ

1
O(n2+x)ε>0O(n2+ε)

1
@JoshuaZ私が失敗する可能性のある別のさらに奇妙な方法は、何らかの形で家族を選択/構築するのにO(n ^ 2 poly(log n))時間以上かかる場合だと思います-例えば、おそらくO(1 / e)コードが必要ですO(n ^(2 + e))アルゴリズムなどを実装します。それは野生ではないでしょうか?
ダニエルワーグナー

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.