180 likes | 394 Views
11. その他のアルゴリズム. 五島. 最大流問題 平面グラフ 同形性 グラフのマッチング etc. グラフに関するその他のアルゴリズム. 最大流 問題. 最大流問題. 最大流問題 (maximum flow problem) ネットワーク・フロー問題 (network flow problem) 辺にふった容量以下の流量 始点から終点に流せる最大の流量は?. 5/5. 4/4. 6/8. 9. 1/2. 9. 0/3. 1/1. 5/5. 3/3. 4/4. アイディア 始点から終点に至る経路の, どの辺にも余裕がある
E N D
離散数学 11. その他のアルゴリズム 五島
最大流問題 平面グラフ 同形性 グラフのマッチング etc. 離散数学 グラフに関するその他のアルゴリズム
離散数学 最大流問題
離散数学 最大流問題 • 最大流問題 (maximum flow problem) • ネットワーク・フロー問題 (network flow problem) • 辺にふった容量以下の流量 • 始点から終点に流せる最大の流量は? 5/5 4/4 6/8 9 1/2 9 0/3 1/1 5/5 3/3 4/4
アイディア • 始点から終点に至る経路の,どの辺にも余裕がある • ⇒ その経路の流量を増やす • これを繰り返す • 鍵: • このような経路をいかに組織的に探すか? 離散数学 Ford-Fulkerson のアルゴリズム
線形計画法 (linear programming) • Edmonds-Karpのアルゴリズム • Ford-Fulkerson の特殊ケース • Dinitzのアルゴリズム • 動的木を使った Dinitz のアルゴリズム • 汎用プッシュ再ラベル法 • FIFO式頂点選択規則付きプッシュ再ラベル法 • 動的木を使ったプッシュ再ラベル法 離散数学 他のアルゴリズム
離散数学 平面性の問題
離散数学 平面グラフ • 平面グラフ (planar graph) • 辺を交差させずに平面に描けるグラフ
離散数学 平面グラフ(別の定義) • 平面グラフ (plane graph):辺を交差させずに平面に描いたグラフ • 平面的グラフ (planar graph):辺を交差させずに平面に描けるグラフ • 平面描画 (planar drawing):辺を交差させずに平面に描画したもの
IC,LSI の配線 • 層内は平面でなければならない • 実際には,多層で via があるので… • 深さ優先探索を用いるアルゴリズムがある • O(m + n) で,すなわち,効率よく解ける! 離散数学 平面性の判定
離散数学 非平面グラフ • 平面グラフ ⇔ 以下の2つに縮約可能な部分グラフを含まない
離散数学 同形性の判定
離散数学 同形性 (isomorphism) • 2つのグラフが 同形 • 頂点を1対1に対応させた時,辺の接続関係が同じになる
原理的には,全ての組み合わせについて辺が一致するか検査原理的には,全ての組み合わせについて辺が一致するか検査 • ⇒ O(n!) • 実際には,全ての組み合わせを試す必要はない • 頂点の入出力の数が違うとか, • ⇒ O(an), (a > 1) • この問題を解くのに,指数関数的な計算量が必要かどうかは分かっていない! • 必要としないアルゴリズムは見つかっていない(見つかる見込みは薄い?) • 必要と証明されてもいない 離散数学
離散数学 グラフのマッチング
離散数学 2部グラフ • 2部グラフ (bi-partite graph) • 2つの「部」の間だけに辺がある • それぞれの「部」の中には辺がない
離散数学 グラフのマッチング • グラフのマッチング • 辺で結ばれた2つの頂点を「組」にする • 各頂点は,1つの組にしか属さない • 応用: • 人 と 仕事 • 学生 と 研究室
目標: • 組に属さない頂点数を最小にする • O(mn) のアルゴリズムが知られている • 辺の重みの和を最大にする • etc 離散数学 アルゴリズム