行列乗算指数


15

口語、マトリックス乗算指数の定義ω既知が存在するために最小値であるnω行列乗算アルゴリズムは。これは正式な数学的定義としては受け入れられないので、技術的な定義は、n tに行列乗算アルゴリズムが存在するような全体にわたる無限大のようなものだと思います。tnt

この場合、我々は、中のマトリックス乗算のためのアルゴリズムが存在すると言うことはできませんnωあるいはnω+o(1)全てに対して単にこと、ϵ>0アルゴリズムがに存在するnω+ϵ。マトリックス乗算は単に彼らのコストを報告します使用多くの場合、しかし、論文や結果O(nω)。

この使用を許可する代替定義はありωますか?時間またはアルゴリズムが存在することを保証する結果はありますか?または、使用法単にずさんですか?nωnω+o(1)O(nω)


2
あなただけのブラックボックスとしての行列の乗算を使用する場合は、最も簡単な方法は、「してみましょうと言うことです乗算我々ができるようになり、N × Nで-matrices O (N ω)算術演算」。もちろん、ωはそのときの行列乗算の指数ではありませんが、任意に近くすることができます。最終的な実行の指数を10進表現で表したい場合、現在、とにかく丸める必要があります。私が知っているωの自明でない推定値はすべて、無理数または無限シーケンスです。ωn×nO(nω)ωω
— マルクスブレイザー

2
、典型的には、すべての実数の上infimumとして定義される K用の Nに行く ∞があるように O (N 、K)時間アルゴリズムがその乗算2のN × N時間に加算、乗算および分割数である行列(基礎となるフィールド)。これも技術的には、我々は常に書くべき手段のn ω + O (1 )それは、あなたが見乱雑を取得します O (N ω)あなたが考えなければならない O (M (nはωkn∞O(nk)n×nnω+o(1)O(nω)ここで、 M (n )は行列乗算アルゴリズムのランタイムです。O(M(n))M(n)
— virgi 14

回答:


20

行列乗算指数である時間で実行されることのアルゴリズムが存在することを保証するものではないO (N ωは)が、それぞれについてだけでε > 0、アルゴリズムが存在するが、その中に実行O (N ω + ε)。実際、時間O (n 2 p o l y l o g(n ))で実行されるアルゴリズムを見つけることができる場合、これはω = 2であることを示します。ωO(nω)ϵ>0O(nω+ϵ)O(n2polylog(n))ω=2

正式な定義については、PeterBürgisser、Michael Clausen、Amin Shokrollahiの著書「代数的複雑性理論」を参照してください。


7

コメントには長すぎるマイナーなコメント:

あなたは問題があるとき時々する時間実行しているアルゴリズムでありごとに1つずつε > 0、実行している時間とアルゴリズムがあるのn のk + O (1 )。O(nk+ϵ)ϵ>0nk+o(1)

たとえば、時にはあなたは次のように行くのアルゴリズムを得るいくつかの急成長中の関数のためのF(のような2 2 1 / ε)。あなたの設定した場合、F (1 / ε )(例えば)にログインnは、その後、εは、(1)Oとなります。例では、F (1 / ε )という2 2 1 / ε、あなたが選ぶことができます1 / εf(1/ϵ)nk+ϵf221/ϵf(1/ϵ)log⁡nϵf(1/ϵ)221/ϵ1/ϵすべき与え、ε = 1 /(ログログログNを)(1)Oです。したがって、このアルゴリズムの最終実行時間はn k + o (1 )になります。lognもn o (1 )であるためです。log⁡log⁡log⁡nϵ=1/(log⁡log⁡log⁡n)nk+o(1)log⁡nno(1)


Coppersmith-Winogradアルゴリズムがこのカテゴリーに分類されると思いますか?
— デビッドハリス

2
@DavidHarris:それについて知らない。おそらく、アルゴリズムを理解している人は、そのことにいくらかの光を当てることができるでしょう。私は、多くの場合、と言うことを意味し、それは見た目ほど悪いようではありません。O(nk+ϵ)
— ロビンコタリ

5

これはよく知られている結果こと銅細工とウィノグラードの -timeは、任意の単一のアルゴリズムでは実現できません。しかし、Strassenに似た双一次恒等式に基づいたアルゴリズムに制限されていることを読んだので、この論文はペイウォールの裏にあるので、私にはわかりません。O(nω)


3

私はその問題のあなたの声明に同意しないで明確に定義されていない「知られているなる最小値のn ωマトリックス乗算アルゴリズム。」人々は、この定数を使用している場合は、それは彼らのアルゴリズムは行列の乗算で、かつ複雑で依存しているためであるN ω、それらの意味「私たちのアルゴリズムの最適な複雑さは行列乗算のための最適なアルゴリズムによって与えられます。」ωnωnω

そうでなければ、を定義することは不可能だと言っているのではありません(例えば、ωが達成可能な最高の複雑さであると言っています)。ωω

ところで、私が間違えなければ、行列乗算の最もよく知られている上限は改善されました。 2.3737


3
私はどのように人間の知識は数学的な定義の一部にすることができます表示されません
— デビッド・ハリス

2
最近の経験は、現在人類が知っているすべてのアルゴリズムよりもすべてのアルゴリズムを定量化する方がはるかに簡単であることを示しています
— ;
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.