タグ付けされた質問 「sparse-matrix」

2
疎グラフで5サイクルを効率的に見つける。
(MathOverflowからクロスポスト) こんにちは、 私はこのスレッドを読んでいました:https : //mathoverflow.net/questions/16393/finding-a-cycle-of-fixed-length グラフで5サイクルを見つけたい。実際、私が本当に欲しいのは、少なくとも5の長さの最短の奇数サイクルですが、多分それはポイントの少し横にあります。目的のために、複雑性分析ではと同じように扱います。 nmmmnnn この場合、5サイクルを見つけるためにカラーコーディングよりも優れていますか?私の質問を具体的に定式化してみましょう。 長さ5のサイクルを検出するための時間アルゴリズムがあるような最小は何ですか?アルゴリズムとは何ですか?また、Coppersmith-Winograd高速行列乗算などの非実用的な方法を禁止する場合、このは何ですか?O (M α)ααα\alphaO(mα)O(mα)O(m^\alpha)αα\alpha

4
線形方程式系の最も疎な解を見つける
線形方程式系の最もまばらな解を見つけるのはどれほど難しいですか? より正式には、次の決定問題を考慮してください。 インスタンス:整数係数と数持つ線形方程式のシステムccc。 質問:少なくともccc個の変数がゼロに割り当てられているシステムの解決策はありますか? また、に対する依存関係を判断しようとしていますccc。つまり、おそらく問題はパラメーター FPT cccです。 どんなアイデアや参考文献も本当に感謝しています。

1
高速スパースブール行列チェーン積
したがって、辺の長さが数十個の非常にまばらな正方ブール行列が約100から200個あり、それらの積を計算する必要があります。連続してそれらを乗算すると、通常、各ステップで製品がまばらにとどまることがわかります。 この場合に特に高速に動作するマトリックスチェーン製品アルゴリズムはありますか? より高いレベルでは、問題は、ほとんどの要素が0〜3にしかマッピングされない、かなり小さいグラフ(NFAの遷移関数)で一連の1対多マッピングの構成を計算することです。 (すべてのマトリックスは同じサイズであり、最適な括弧付けを選択する必要がないため、これは通常の「マトリックスチェーン積」問題ではないことに注意してください)

2
前処理が可能な高速スパースブール行列積
2つの非常にまばらなブール行列を乗算するための最も実際的に効率的なアルゴリズムは何ですか(たとえば、N = 200で、100-200の非ゼロ要素がいくつかあります)。 実際、AにBを掛けると、Bが事前定義され、それらに対して任意の複雑な前処理を行うことができるという利点があります。また、製品の結果は常に元の行列と同じくらいまばらであることも知っています。 「かなり単純な」アルゴリズム(行ごとにAをスキャン、A行の各1ビット、または結果とBの対応する行)は、非常に効率的であり、単一の製品を計算するのに数千のCPU命令しか必要ありません。 、それを超えるのは簡単ではなく、一定の係数を超えるだけです(結果には数百の1ビットがあるため)。しかし、私は希望を失い、コミュニティに助けを求めているわけではありません:)

1
優れたパフォーマンスを備えた関数型スパースマトリックス?
ペトリネットプログラムを作成しているときに、グラフを表すデータ構造に関する選択に直面しました。隣接リスト(つまり、個々の場所または遷移への弧を列挙するリスト)は実装が簡単ですが、ペトリネットの理論を研究しているときに、マトリックスベースの状態方程式アプローチの美しさに夢中になりました。おそらく、スパース行列を使用する必要があります。 どちらが私を不思議に思いました-行と列の両方で高速な列挙を提供するスパース行列の実装はありますか?そうでない場合、Erlangなどの関数型言語で2部グラフを構築して効率的にトラバースできる代替手段はありますか? FWIW-「効率的に」とは、この場合、特定の遷移または場所に発生するアークをすばやく列挙することを意味します。トレードオフが必要な場合は、時間とスペースをトレードするほうが幸せです。グラフは作成後に変更されないため、挿入や更新に特に効率的である必要はありません。 TIA
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.