dissect
Nested Dissection 置換
説明
例
入力引数
出力引数
アルゴリズム
[1]で説明される Nested Dissection 順序法アルゴリズムは、複数レベルのグラフ分割アルゴリズムで、スパース行列の非ゼロ要素を減らす順序付けの生成に使用されます。入力行列は、グラフの隣接行列として扱われます。このアルゴリズムは、頂点とエッジを縮約することでグラフを疎化し、より小さいグラフを並べ替えてから、洗練ステップを使用してその小さいグラフを密化し、元のグラフの並べ替えを生成します。
dissect
の名前と値のペアにより、このアルゴリズムのさまざまな段階を制御できます。
疎化
この段階で、アルゴリズムは頂点の隣接ペアをまとめて縮約することで、元のグラフからより小さいグラフを連続して作成します。
'MaxDegreeThreshold'
を使用して、グラフで連結度の高い頂点 (行列内の密な列) の順序を最後にすることで、これらの頂点をフィルター処理して除外できます。分割
グラフを疎化した後に、アルゴリズムは小さいグラフをすべて並べ替えます。各分割ステップで、アルゴリズムはグラフを均等な部分に分割しようと試みます。
'NumSeparators'
はグラフを分割する区画数を指定し、'VertexWeights'
はオプションで頂点に重みを割り当て、'MaxImbalance'
は異なる区画間の重みの差に関するしきい値を指定します。洗練
最小のグラフを並べ替えた後に、アルゴリズムは以前まとめた頂点を細分化して投影を行い、グラフを元の大きさのサイズに戻します。各投影ステップの後に、頂点を区画間で移動して解の品質を向上させる洗練ステップを実行します。
'NumIterations'
はこの密化段階で使用する洗練ステップの数を制御します。
参照
[1] Karypis, George and Vipin Kumar. "A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs." SIAM Journal on Scientific Computing. Vol. 20, Number 1, 1999, pp. 359–392.
拡張機能
バージョン履歴
R2017b で導入