力指向型グラフ描画アルゴリズムを用いたソーシャルネットワークの可視化[ 1 ] 力指向型レイアウトを用いたWiki上のページ間のリンクの可視化 力指向型グラフ描画アルゴリズムは、 グラフを 美しく描画するためのアルゴリズム の一種です。その目的は、グラフ のノードを2次元または3次元空間に配置し、すべてのエッジの長さがほぼ等しくなり、交差するエッジが可能な限り少なくなるようにすることです。そのためには、エッジとノードの相対位置に基づいて、エッジとノードの集合間に力を割り当て、これらの力を使用してエッジとノードの動きをシミュレートするか、またはそれらのエネルギーを最小化します。[ 2 ]
グラフ描画は難しい問題になり得るが、力指向アルゴリズムは物理シミュレーションであるため、通常は平面性 などのグラフ理論に関する特別な知識を必要としない。
力 力指向型グラフ描画アルゴリズムは、グラフ描画 のエッジ集合とノード集合の間に力を割り当てます。通常、フックの法則に基づく バネ のような引力を用いて、グラフのエッジの端点のペア同士を引き付け、同時にクーロンの法則 に基づく帯電 粒子のような反発力を用いて、すべてのノードのペアを分離します。この力系の平衡状態 では、エッジは(バネの力によって)均一な長さになり、エッジで接続されていないノードは(電気的な反発力によって)より遠くに引き離される傾向があります。エッジの引力と頂点の反発力は、バネや粒子の物理的な挙動に基づかない関数を用いて定義することもできます。例えば、力指向型システムの中には、引力が線形ではなく対数的なバネを用いるものもあります。
別のモデルでは、節点のペアごとにバネのような力を考慮する。( 私 、 j ) {\displaystyle (i,j)} 理想的な長さδ 私 j \displaystyle \delta _{ij}} 各バネの力は、別途反発力を用いることなく、ノードi とj 間のグラフ理論上の距離に比例する。ノード間のユークリッド 距離と理想距離の差(通常は二乗差)を最小化することは、多次元尺度構成 法におけるメトリック問題と同等である。
力指向グラフでは、機械的なバネや電気的な反発力以外の力も考慮に入れることができます。重力に類似した力を用いて頂点を描画空間の固定点に引き寄せることができます。これは、反発力によって互いに離れてしまう可能性のある、連結されていないグラフの異なる連結成分をまとめたり、 中心性 の高いノードを描画の中心位置に描画したりするために使用できます。[ 3 ] また、単一の成分内の頂点間隔にも影響を与える可能性があります。磁場 に類似した力を有向グラフに用いることもできます。最終的な描画で重なりやほぼ重なりが生じないように、エッジだけでなくノードにも反発力を加えることができます。円弧 やスプライン曲線などの曲線エッジを持つ描画では、例えば 角度分解能 を向上させるために、これらの曲線の制御点にも力を加えることができます。[ 4 ]
方法 グラフのノードとエッジにかかる力が定義されると、これらの力源の下でのグラフ全体の挙動を、あたかも物理システム であるかのようにシミュレーションすることができます。このようなシミュレーションでは、ノードに力が加えられ、ノード同士が引き寄せられたり、離れたりするようになります。この操作は、システムが機械的平衡 状態に達するまで繰り返し行われます。つまり、ノードの相対位置が、繰り返しごとに変化しなくなるまで繰り返されます。この平衡状態におけるノードの位置を用いて、グラフの図が生成されます。
理想的な長さがグラフ理論的な距離に比例するバネから定義される力の場合、応力優位化は、これらの差を 最小化し 、したがってグラフの良いレイアウトを見つけるための非常に扱いやすい(つまり単調収束する )[ 5 ]数学的に洗練された方法を提供します。
物理シミュレーションに代わる、あるいは物理シミュレーションと併用して、エネルギー最小値をより直接的に探索するメカニズムを用いることも可能である。このようなメカニズムは、一般的なグローバル最適化 手法の例であり、シミュレーテッドアニーリング や遺伝的アルゴリズム などが挙げられる。
利点 力指向型アルゴリズムの最も重要な利点は以下のとおりです。
質の高い結果 少なくとも中規模グラフ(頂点数50~500個程度)の場合、得られる結果は通常、以下の基準に基づいて非常に良好な品質を示します。すなわち、辺の長さが均一であること、頂点の分布が均一であること、そして対称性を示すことです。この最後の基準は最も重要な基準の一つであり、他のアルゴリズムでは達成が困難です。 柔軟性 力指向アルゴリズムは、追加の美的基準を満たすように容易に適応および拡張できます。これにより、力指向アルゴリズムは最も汎用性の高いグラフ描画アルゴリズムのクラスとなります。既存の拡張の例としては、有向グラフ、3D グラフ描画、[ 6 ] クラスタグラフ描画、制約付きグラフ描画、動的グラフ描画などがあります。 直感的 これらのアルゴリズムはバネなどの身近な物体の物理的な類似性に基づいているため、その挙動は比較的容易に予測・理解できる。これは他のタイプのグラフ描画 アルゴリズムには当てはまらない。シンプルさ 典型的な力指向型アルゴリズムは単純で、数行のコードで実装できる。直交配置のためのアルゴリズムなど、他の種類のグラフ描画アルゴリズムは、通常、はるかに複雑である。 インタラクティブ性 この種のアルゴリズムのもう一つの利点は、対話的な側面です。グラフの中間段階を描画することで、ユーザーはグラフがどのように進化していくかを追跡し、絡み合った状態から整った形状へと展開していく様子を見ることができます。一部の対話型グラフ描画ツールでは、ユーザーは1つまたは複数のノードを平衡状態から引き離し、それらが元の位置に戻る様子を観察できます。このため、動的かつオンラインの グラフ描画システムにおいて、これらのアルゴリズムは好ましい選択肢となります。 強固な理論的基盤 単純なアドホックな 力指向アルゴリズムは、文献や実務でよく見られますが(比較的理解しやすいため)、より論理的なアプローチが注目を集め始めています。統計学者は1930 年代から多次元尺度構成法(MDS) で同様の問題を解決しており、物理学者も関連する n 体 問題に取り組んできた長い歴史があるため、非常に成熟したアプローチが存在します。例として、メトリック MDS のストレス優位化 アプローチは、上記のようにグラフ描画に適用できます。これは単調に収束する ことが証明されています。[ 5 ] 単調収束、つまりアルゴリズムが各反復でレイアウトのストレスまたはコストを減少させる特性は、レイアウトが最終的に局所的最小値に達して停止することを保証するため重要です。減衰スケジュールはアルゴリズムを停止させますが、真の局所的最小値に到達することを保証することはできません。
関連項目 Cytoscapeは 、生物学的ネットワークを可視化するためのソフトウェアです。基本パッケージには、組み込み機能の一つとして力指向型レイアウトが含まれています。Gephiは 、あらゆる種類のネットワークや複雑系、動的グラフや階層型グラフのための、インタラクティブな可視化および探索プラットフォームです。Graphvizは 、非常に大規模なグラフを処理できる、多段階の力指向型レイアウトアルゴリズム(その他多数)を実装したソフトウェアです。Tulipは 、力指向型レイアウトアルゴリズム(GEM、LGL、GRIP、FM³)のほとんどを実装したソフトウェアです。プレヒューズ
参考文献 ↑ Grandjean、Martin (2015)、「視覚化の概要、歴史分析の紹介」、Geschichte und Informatik 18/19 (PDF) 、pp. 109–128 ↑ Kobourov, Stephen G. (2012), Spring Embedders and Force-Directed Graph Drawing Algorithms , arXiv : 1201.3011 , Bibcode : 2012arXiv1201.3011K 。↑ Bannister, MJ; Eppstein, D. ; Goodrich, MT ; Trott, L. (2012), "社会的重力とスケーリングを用いた力指向型グラフ描画", Proc. 20th Int. Symp. Graph Drawing , arXiv : 1209.0748 , Bibcode : 2012arXiv1209.0748B 。↑ Chernobelskiy, R.; Cunningham, K.; Goodrich, MT ; Kobourov, SG; Trott, L. (2011), "Force-directed Lombardi-style graph drawing", Proc. 19th Symposium on Graph Drawing (PDF) , pp . 78–90 。1 2 de Leeuw, Jan (1988)、「多次元尺度構成法における主化法の収束」、 Journal of Classification 、 5 (2)、Springer: 163–180 、 doi : 10.1007/BF01897162 、 S2CID 122413124 。↑ Vose, Aaron、 「3D系統樹ビューア」 、 2012年 6月3日 取得 ↑ Harel, David ; Koren, Yehuda (2002), "高次元埋め込みによるグラフ描画", Proceedings of the 9th International Symposium on Graph Drawing , Springer, pp. 207–219 , CiteSeerX 10.1.1.20.5390 , ISBN 3-540-00158-1 1 2 Quigley, Aaron; Eades, Peter (2001)、「FADE: グラフ描画、クラスタリング、および視覚的抽象化」、 第8回国際グラフ描画シンポジウム議事録 (PDF) 、pp. 197–210 、 ISBN 3-540-41554-8 。↑ 大規模グラフのギャラリー ( 2017年 10月22日 取得) ↑ Collberg, Christian; Kobourov, Stephen; Nagra, Jasvir; Pitts, Jacob; Wampler, Kevin (2003), "A System for Graph-based Visualization of the Evolution of Software", Proceedings of the 2003 ACM Symposium on Software Visualization (SoftVis '03) , New York, NY, USA: ACM, pp. 77– 86, 図はp. 212, doi : 10.1145/774833.774844 , ISBN 1-58113-642-0 、S2CID 824991、グラフの美的レイアウトを実現するには、修正されたフルヒターマン-ラインゴールド力を使用する必要もあります。鎌田-河合法はそれ自体では満足のいく方法を実現せず、むしろフルヒターマン-ラインゴールド計算がレイアウトを迅速に「整える」ことができるように、良い近似レイアウトを作成するからです。 1 2 鎌田富久、河合悟 (1989)、「一般無向グラフ描画アルゴリズム」、 Information Processing Letters 、 31 (1)、Elsevier: 7–15 、 doi : 10.1016/0020-0190(89)90102-6 。1 2 Fruchterman, Thomas MJ; Reingold, Edward M. (1991), "Graph Drawing by Force-Directed Placement", Software: Practice and Experience , 21 (11), Wiley: 1129–1164 , doi : 10.1002/spe.4380211102 , S2CID 31468174 。↑ Walshaw, Chris (2003), "力指向型グラフ描画のための多段階アルゴリズム", Journal of Graph Algorithms and Applications , 7 (3): 253–285 , doi : 10.7155/jgaa.00070 , MR 2112231 ↑ Tutte, WT (1963)、「グラフの描き方」、 ロンドン数学会紀要 、 13 (52): 743–768 、 doi : 10.1112/plms/s3-13.1.743 。↑ Eades、Peter (1984)、「A Heuristic for Graph Drawing」、 Congressus Numerantium 、 42 ( 11): 149–160 。
さらに読む di Battista, Giuseppe; Peter Eades ; Roberto Tamassia ; Ioannis G. Tollis (1999), Graph Drawing: Algorithms for the Visualization of Graphs , Prentice Hall, ISBN 978-0-13-301615-4 Kaufmann, Michael; Wagner, Dorothea 編 (2001)、グラフ描画:方法とモデル 、Lecture Notes in Computer Science 2025、vol. 2025、Springer、doi : 10.1007/3-540-44969-8、ISBN 978-3-540-42062-0 S2CID 1808286
外部リンク スティーブン・G・コボウロフ著「力指向型描画アルゴリズム」に関する書籍の一章