より抽象的に言えば、これらの問題はどちらも、入力が部分順序集合と整数Wで構成される問題として定式化できます。望ましい出力は、部分順序集合の要素に整数レベルの数値を割り当てることです。つまり、x < y が部分順序の関連する要素の順序対である場合、xに割り当てられる数値はyに割り当てられる数値よりも小さく、最大でW個の要素に同じ数値が割り当てられ、割り当てられた数値の最小値と最大値の差が最小になるようにします。
部分順序を推移的縮約または被覆関係によって表現します。これは、 x < yの場合にxからyへのエッジを持ち、 x < z < yとなるような部分順序の3 番目の要素z が存在しない有向非巡回グラフ G です。コフマン・グラハム アルゴリズムのグラフ描画アプリケーションでは、結果として得られる有向非巡回グラフは描画中のグラフと同じではない可能性があり、スケジューリング アプリケーションでは、入力のすべての先行制約に対してエッジを持たない可能性があります。どちらの場合も、推移的縮約は部分順序を定義するために不要な冗長なエッジを削除します。
1 2 3 di Battista, Giuseppe; Eades, Peter ; Tamassia, Roberto ; Tollis, Ioannis G. (1999), "第9章:有向グラフの階層的描画", Graph Drawing: Algorithms for the Visualization of Graphs , Prentice Hall, pp. 265–302。
↑ Bastert, Oliver; Matuszewski, Christian (2001), "Layered drawings of digraphs", in Kaufmann, Michael; Wagner, Dorothea (eds.), Drawing Graphs: Methods and Models , Lecture Notes in Computer Science, vol. 2025, Springer-Verlag, pp. 87– 120, doi : 10.1007/3-540-44969-8_5 , ISBN978-3-540-42062-0バスタートとマトゥシェフスキーはコフマン・グラハム・アルゴリズムの説明もしているが、アルゴリズムの推移的還元段階については省略している。
↑ Braschi, Bertrand; Trystram, Denis (1994), "A new insight into the Coffman–Graham algorithm", SIAM Journal on Computing , 23 (3): 662–669 , doi : 10.1137/S0097539790181889 , MR 1274650。
↑ Chardon, Marc; Moukrim, Aziz (2005), "The Coffman-Graham algorithm optimally solves UET task systems with overinterval orders", SIAM Journal on Discrete Mathematics , 19 (1): 109– 121, doi : 10.1137/S0895480101394999 , MR 2178187。
↑ Sethi, Ravi (1976)、「2つのプロセッサ上でのグラフのスケジューリング」、SIAM Journal on Computing、5 (1): 73–82、doi : 10.1137/0205005、MR 0398156。
↑ Gabow, Harold N. ; Tarjan, Robert Endre (1985), "A linear-time algorithm for a special case of disjoint set union", Journal of Computer and System Sciences , 30 (2): 209– 221, doi : 10.1016/0022-0000(85)90014-5 , MR 0801823。