非常に大きなリンクグラフの視覚化


25

非常に大きな有向リンクグラフを視覚化するツールを探しています。現在、〜2,000,000のノードと〜1000万のエッジがあります。私はいくつかの異なることを試しましたが、ほとんどの場合、10万ノードのグラフを作成するのにも数時間かかります

私が試したこと:
gephiで1日過ごしましたが、80Kノードを追加するのに約1時間かかり、アプリケーションはほとんど役に立たなくなります。

助言がありますか?

インタラクティブな視覚化はプラスになります。


すでに試したことを述べておくと役立ちます。Graphvizを試してみましたか?
ウルフギャングバンガース

1
Graphvizは私が最初に試すものです。そのサイズの何かで動作するかどうかはわかりません。明らかに、隣接行列にスパース表現を使用するものが必要になりますが、ソフトウェアパッケージがそうすることは想像できません。
デビッドケッチャソン

今、Graphvizを
試して

2
グラフをスパース行列として解釈し、MATLABまたはOctaveの 'spy'関数で視覚化しようとしましたか?1000万個の非ゼロエントリは、適度に強力なデスクトップの範囲内です。これにより、スペクトル二分法も設定されます(グラフのパーティションを見つけると、グラフを視覚化するのが簡単になる場合があります)。
ジャックポールソン

1
あなたは訪問を検討しましたか?
pyCthon

回答:


13

Graphvizは動作するはずです。フロリダ大学のスパースマトリックスコレクションのマトリックスに関連付けられた画像は、Yifan Huが開発した力指向グラフ視覚化アルゴリズムであるsfdpを使用して視覚化されたと思います。コレクション内のほとんどの行列には、対応する視覚化の生成に関連する計算時間があります。そのため、グラフの視覚化したい特性と類似した特性を持つ行列を検索できる場合があります。たとえば、約210万のノードと約300万のエッジを持つグラフでは、Huの生成に約36000秒、つまり10時間かかりました。グラフの生成にどのハードウェアが使用されたかは明らかではありませんが、おそらくデスクトップまたはラップトップが使用されたという合理的な推測であり、時間は少なくともグラフのレンダリングにかかる​​時間の大まかな考えを与えるでしょう。Huのアルゴリズムは最先端の視覚化アルゴリズムの1つであるように見えます(2005年に公開されました)が、この分野の専門家ではないため、より良いアルゴリズムが存在するかどうかについて話すことはできません。このアルゴリズムは、Graphvizにオプションとして含まれており、説明するような大きなグラフで使用するように設計されています。


とてもきちんとした。グラフのノード間の力をシミュレートするためにBarnes-Hutが使用されているように見えるので、並列FMM実装により大幅な高速化が得られると想定します。一方、HuのメソッドはMeTiSに似たマルチレベル構造を持っているようで、並列化が難しい傾向があります。
ジャックポールソン

ええ、私が論文を見たとき、並列FMMの実装も面白いと思いましたが、並列アルゴリズムの経験があまりないので、どれほど実用的かはわかりませんでした。
ジェフオックスベリー

3
@JackPoulson-
アロン

@GeoffOxberry-上記のリンクを参照してください
アロン

1
@JackPoulson-強制指向レイアウトアルゴリズムは最初のシードに非常に敏感であることがわかります。他のグループは、より美的なレイアウトのために問題を再定式化するための素晴らしい作業をいくつか行いました。
アロンアーマディア


5

Graphinsight 1.2を参照してください。数百万のノードを簡単に処理でき、インタラクティブで3Dです。

また、高効率の代数的手法または強制指向手法を使用して、数百万のノードとエッジを持つグラフをレイアウトできます。評価版の試用版が利用可能です(免責事項:私はプログラムの著者の1人です)。

www.graphinsight.com


1
@linelio-ご回答ありがとうございます。scicompへようこそ!してください振興に関するルールを参照し、提言を行うとき、あなたは明らかに任意の人脈を開示していることを確認してください。
アロンアーマディア

5

以下は、時間の経過とともに収集されたいくつかの推奨事項とリンクです。

  • 2Mノードの場合、ハードウェアを知らないものを推奨することは困難であり、場合によってはデータ削減が適切に行われますが、自由に利用できるものを使用すると、zGrViewerが視覚化のニーズに合う場合があります(GraphVizが必要です)。
  • @pyCthonのアイデアに従って、プロットのインタラクティブ性についてVisItご覧ください。
  • R統計言語のigraphパッケージを再検討しています。これには、整然としたレイアウトアルゴリズム(Fruchterman-ReingoldおよびKamada-Kawai)などが含まれています。
  • 大規模なグラフレイアウトライブラリは現在SourceForgeにあります。

0

http://www.github.com/graphistry/pygraphistryを構築して、ほとんどのブラウザーとノートブックからこれを実行できるようにしました。WebGLを使用して大きなグラフ(パン/ズーム/など)をレンダリングし、リアルタイムコンピューティング(レイアウト、フィルターなど)のほとんどをGPUクラウドにオフロードするという考え方です。GephiやCytoscapeに似ていますが、大きなグラフとデータ分析に重点を置いており、Webとノートブックに統合しています。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.