私はこれらの線に沿って知っている唯一の理論的な結果が論文に私の名前を持っているので、私はこれに答えることを渋っていました...
理論的には、稠密を前処理することが可能であるブール行列Aとそのスパース行列-ベクトル乗算のでA(の半環上OR及びAND)高速ナイーブ走行時間より行うことができます。それを実際に実装するにはかなりの量のハッキングが必要になるでしょうが、十分に大きいnと適切な実装であれば、実際にはうまくいくと思います。n×nAAn
(注:このアルゴリズムは、一方の行列が密でもう一方が疎の場合にのみ非常に役立ちます。ただし、この場合は多く発生します。たとえば、疎グラフの推移閉包を計算する場合、推移閉包行列は最終的に密になる元の隣接行列と比較します。)
論文は
Guy E. Blelloch、Virginia Vassilevska、Ryan Williams:スパースグラフ問題の新しい組み合わせアプローチ。ICALP(1)2008:108-120
そして紙から関連する結果は、すべてのそれであるが存在するO (N 2 + ε)任意の、ある時間アルゴリズムN × N 0-1行列Aは、次の動作がサポートされています。ε>0O(n2+ε)n×nA
-任意のベクトルについてはのみとのT nonzeroes、Vは、で計算することができるO (N (T / K + N / ℓ )/ログN )時間、ℓ、k個の自由パラメータが満足されている( ℓvtAvO(n(t/k+n/ℓ)/logn)ℓk。(1つの良い設定はℓ=logcnおよびk=ε(logn)/loglognであるため、任意の定数cの実行時間は約nt/logn+n2/logcnです。(ℓk)≤nεℓ=logcnk=ε(logn)/loglognnt/logn+n2/logcnc
行と列の更新は、O (n 1 + ε)時間で計算できます。AO(n1+ε)
このデータ構造を使用して、スパースな重みのないグラフでAPSPのより高速な理論的アルゴリズムを提供しました。