私は数千のノードとエッジのグラフを持っており、力向きのJavaScriptレイアウトアルゴリズム(coseとcola)でCytoscape.jsのパフォーマンスが不足していることがわかりました。力指向のグラフレイアウトのパフォーマンスと複雑さ?
他のライブラリやアルゴリズムを探す時間がかかるか、それらのアルゴリズムの複雑さが一般的に高すぎるかどうかは疑問です。素朴なアルゴリズムでは、すべてのノードを他のすべてのノードと比較する必要があるので、2次の複雑さが必要ですが、接続性の低いデータを賢明にフィルタリングすると、良い近似が想像できます(私は数学的に完全な結果は必要ありませんユーザーにとって直感的なもの)。
私の目標は、典型的なユーザーマシンで10秒未満でグラフをレイアウトすることです。私が見つけた
出版物(のためのGoogleニュース "力は複雑さを監督"):
- A fast adaptive layout algorithm for undirected graphs (1995)見積りのO(| V |^3)
- The Galois Complexity of Graph Drawing: Why Numerical Solutions Are Ubiquitous for Force-Directed, Spectral, and Circle Packing Drawingsは、(それが正確に計算することは困難だと言う、私はしています?グラフ理論家ではない)
- A Multi-dimensional Approach to Force-Directed Layouts of Large Graphs "サブ二次の時間と空間で2次元、3次元、および高次元の図を生成する"ので、私はその1つのJavaScript実装を見つけようとします。
あなたはこれまでに何を研究しましたか?調査結果を共有する。 – MrSmith42
@ MrSmith42:私はいくつかの研究を加えました。 –