バックグラウンド
外部メモリ(DAMモデル)は、実行するI / Oの数(本質的に、キャッシュミスの数)によってアルゴリズムのコストを定義します。これらの実行時間は、一般の用語で与えられる、メモリのサイズ、及びB、一度にメモリに転送することができる単語の数。BとMにそれぞれLとZが使用される場合があります。
例えば、ソーティングはコストが必要およびナイーブ行列乗算は必要とΘ (nは3 / Bを√。
このモデルは、またはMの知識を持たない「キャッシュ忘却型アルゴリズム」の分析に使用されます。通常、目標は、キャッシュを無視するアルゴリズムが外部メモリモデルで最適に実行されることです。これは、たとえば、順列問題(Bradal、Faderberg 2003に示されている)のように、常に可能とは限りません。ソートおよび行列乗算の説明を含む、キャッシュを使用しないアルゴリズムの詳細については、Erik Demaineによるこの記事を参照してください。
を変更すると、ソートの対数高速化と行列乗算の多項式高速化が発生することがわかります。(この結果は1981年のKung Hongからのものであり、実際にはキャッシュの忘却と外部メモリモデルの形式化の両方に先立っています)。
私の質問はこれです:
スピードアップが指数関数的になる場合はありますか?実行時間はf (N 、B )/ 2 O (M )のようなものになります。この説明に適合するキャッシュを意識しないアルゴリズムまたはデータ構造に特に興味がありますが、キャッシュを認識するアルゴリズム/データ構造、または最もよく知られている下限にも満足しています。
一般に、ほとんどのモデルでは、Nが入力サイズであり、明らかにM > wである場合、ワードサイズと想定されます。次に、2 Mの高速化により、Nの多項式高速化が行われます。これは、私が探している問題が存在する場合、それは多項式ではないと信じさせます。(そうでない場合は、キャッシュサイズを定数で変更して、一定数のI / Oを取得できますが、これはありそうにないことです)。