強連結成分分解とトポロジカルソート
有向グラフの構造を解析する基盤アルゴリズム群。
強連結成分 (SCC)
有向グラフで任意の 2 頂点 について かつ の経路がある頂点同士を同じ成分にまとめる。強連結成分分解で各成分を 1 頂点に縮約 (condensation) すると DAG が得られる。
トポロジカルソート
DAG の頂点を、全ての辺が前方を向くように一列に並べる。依存関係の直列化に使い、巡回除去で DAG 化した後に適用するのが serigraph のパイプライン。
関連手法
- 木分解 (Tree Decomposition) — 木幅を定義してグラフを木にマッピングする。グラフの分割・近似に使う。
- PageRank — 遷移行列の定常状態でノードを重み付ける。グラフ上の重要度算出。
- 並列グラフ簡約 — プログラムを DAG として表現し各部分を並列評価する。データ競合が本質的にこの処理内に閉じるため、デッドロック等を意識せず並列実行できる。
関連: feedback-arc-set / minimum-spanning-tree / _moc-algorithm