行列乗算を2次時間で実行できるという証拠はありますか?


59

行列乗算の最適な指数であるは実際には2に等しいと広く推測されています。私の質問は簡単です:ω

と信じる理由は何ですか?ω=2

Coppersmith-Winogradのような高速アルゴリズムは知っていますが、これらが証拠と見なされる理由はわかりません。ω=2

素朴に、それは、結果が純粋に審美的な理由で真実であることをコミュニティが望んでいる古典的な例のように思えます。それが本質的にここにあるかどうか知りたいです。


12
答えはおもに美学であり、それが2より大きいという正当な理由がないことを疑います。を意味するグループ理論的推測。PDFω=2
マーク・Reitblatt

5
数年前に、私は彼がを信じていると言ったStrassenと会話をしました。しかし、私は彼の理由が何だったのかわかりません。ω>2
ライアンウィリアムズ

2
@ Ryan、Strassenがcstheory.stackexchangeを読み取ることを期待しましょう。:)
スティーブフラミア

3
あり蘭ラズによるもの(いくつかの制約の下で)、下限はとても良く推測はそれだろう、達成されていません(ただし、infimumは確かである)。ω = 2 2Ω(nlogn)ω=22
ユヴァルフィルマス

5
@ Yuval、@ Steve:1)は通常、制限として定義されます。2)が何であれ、それが達成されないことは既にわかっています(minではなくinfです)。このCoppersmith-Winogradの論文:dx.doi.org/10.1137/0211038を参照してください。要約から:「行列乗算の指数は限界点です。つまり、単一のアルゴリズムでは実現できません。」(彼らの結果の詳細を考えると、この声明は額面通りに素朴に取ることはできないと思いますが、これは主に技術的です。)ωωω
ジョシュアグロチョウ

回答:


20

Mark ReitblattのコメントとAmir Shpilkaの回答に追加したいと思います。第一に、コーン、クラインバーグ、セゲディ、およびウーマンスによって提唱された推測の1つは、群論ではなく、純粋に組み合わせ論です(FOCS '05論文のConj。3.4)。この推測は、「強力なUSP容量はです」と述べています。コッパースミスとウィノグラードは、現在の行列乗算の最適なアルゴリズムを展示して、USP容量がこの同じ数であることを示しました(彼らはまったくこのようには言いませんでした)。強いUSPとUSPには違いがありますが、これは彼らの推測が少なくとももっともらしい証拠です。 3322/3322/3

(グループ理論である他の予想4.7については、単なる直感以外に、もっともらしさの同様の証拠を知りません。)

第二に、Amir Shpilkaに、過去のアルゴリズムの文字列がややアドホックな感覚を持っていることに同意します。ただし、グループ理論的アプローチの素晴らしい点の1つは、以前のアルゴリズムのほとんどすべて(すべてではない)をこのアプローチで表現できることです。[CKSU]のさまざまなグループ理論の構築は、外部では少しアドホックに見えるかもしれませんが、グループ理論フレームワークのコンテキストでは、多くの場合よりもはるかに自然でアドホックではありません(少なくとも私にとって)以前のアルゴリズム。


キャパシティについて考えるとき、独立したセットとクリークについて考えます。USPと基礎となるグラフの明示的な構築との間の辞書とは何ですか?これらのグラフには構造がありますか?
T ....

28

私は他の人については知りませんが、なぜと信じる傾向があるのか​​を説明できます。高速行列乗算アルゴリズムの歴史と開発を読んでいると、既知の技術を使用しても、が従うわずかに優れた基本アルゴリズムだけが必要だと感じないようにするのは難しいと思います。基本的に、今日のすべてのアルゴリズム(グループ理論的なアルゴリズムを含む)は、「単純な」構造から始まり、その後増幅されます。これらの構造は巧妙ですが、読者にある種の「アドホック」な感覚を与えます。私たちがより良い単純な構造を思い付くことができないと信じる理由がわかりません。ω = 2ω=2ω=2


20

という推測を自分に正当化するために私が使用するアナロジーがあります。私はこれがかなりヒューリスティックであることを理解していますが、それでも、例えば、コーンらの背後にある直観のいくつかを理解するのに、私に役立っています。論文。ω=2

畳み込みと行列乗算は類似しています。場合とであり行列の行列と次いで。場合とであり -lengthベクターおよび、その後、。どちらの場合も、最終結果は積の合計で構成されるベクトルですが、入力データの関係構造は異なります。畳み込みの場合、自明な代わりにFFTを使用して時間で答えを計算できます。同様に、人は期待するかもしれませんABnnC=ABC(i,j)=k=1nA(i,k)B(k,j)ABnC=ABC(i)=k=1nA(k)B(ik)ON2ON2O~(n)O(n2)O~(n2)行列乗算の時間アルゴリズム。問題は、行列の乗算に役立つフーリエ変換の類似物とは何ですか?


-1

可能性が高くなり。持つそれが拡張できように見えるしていません一定の係数の記帳など奇抜なようです。ω = 2O(n2log(n2))ω=2


1
の定義を誤解しています。これは、行列乗算を時間で解くことができるすべてのの最小値です。存在する場合行列乗算アルゴリズムは、このinfimumは依然としてであろう。ところで、有界係数を持つ算術回路のモデルにはが存在し。C O N CO N 2 ログ10 N 2 Ω N 2ログN ωcO(nc)O(n2log10n)2Ω(n2logn)
サショニコロフ

@SashoNikolovそれを指摘してくれてありがとう。誰もがboolean matmul A * B = Cのニューラルネットをトレーニングしようとしましたか?[Aエントリ、Bエントリ、Cエントリ]-> Bool(正しいまたは誤った乗算)。勾配まともな/ドロップアウトがどのような回路になるのか興味があります。訓練された回路が素分解の近くにアトラクタを持っている場合。3x3、4x4、5x5、6x6では、1時間のGPUで興味深い結果が得られるようです。
チャドブルーベーカー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.