並列トポロジカル整列アルゴリズム

書誌事項

タイトル別名
  • ヘイレツ トポロジカル セイレツ アルゴリズム
  • Parallel Topological Sorting Algorithm
  • 計算科学と数値シュミレーションの理論と実践

この論文をさがす

抄録

無閉路有向グラフDAG (Directed Acyclic Graph )において節点数n ,辺数m とするとき,節点のトポロジカル整列を求める従来の並列アルゴリズムは,CRCW-PRAM 計算機モデルでO n 3個のプロセッサを用いて,O (log n 時間で実行するアルゴリズムがある.このアルゴリズムは推移的閉包行列の計算に依存しているので,O n 3 個のプロセッサを減少させることは難しい.本稿では,CREW-PRAM 計算機モデルのもとで,DAG 上における効率良い並列トポロジカル整列アルゴリズムを提案する.提案する並列アルゴリズムは分割統治法によるアルゴリズムの設計法をもとに,基本的な並列アルゴリズムのみを用いて設計される.具体的には,はじめにDAG を入出次数がたかだか1 の節点からなる線形リストに分割し,次に再帰的に線形リストを併合しながら各節点の最大ランク値を求める.最後に,最大ランク値をもとに節点のトポロジカル整列を行う並列アルゴリズムである.この提案するアルゴリズムの計算量はCREW-PRAM 計算機モデルでプロセッサ数がO (n +m ,計算時間がO log 2 m である.

The traditional parallel topological sorting algorithm in a DAG (Directed Acyclic Graph) with the number of vertices n and the number of edges m is the one that takes O (log n time using O n 3 processors on a CRCW-PRAM model.However this algorithm depends on the transitive closure matrix calculation,therefore it is difficult to reduce the number of processors furthermore.In this paper,we propose an efficient parallel topological sorting algorithm in a given DAG,based on a CREW-PRAM model.Namely,based on the divide-conquer method, the proposed algorithm at first divides a given DAG into several linked lists,in which each vertex has at most 1 both input and output edge degree.Next in the merging step,it merges recursively two combined linked lists to get a maximum rank of each vertex.Finally the maximum rank of each vertex is found,then all vertices of a given DAG are ordered so that all directed edges go from left to right,namely,a topological sorting is given.The proposed algorithm requires O (n +m processors and O log 2 m time on a CREW-PRAM model.

収録刊行物

被引用文献 (2)*注記

もっと見る

参考文献 (7)*注記

もっと見る

キーワード

詳細情報 詳細情報について

問題の指摘

ページトップへ