1 / 77

東京大学 大学院情報理工学系研究科

点素パス問題に対するアルゴリズム. 東京大学 大学院情報理工学系研究科. 小林 佑輔. 組合せ最適化セミナー 2012 年 7 月 13 日. 講演内容. イントロダクション 効率的に解けるケース 2点素パス問題 k 点素パス問題 ( Robertson-Seymour のアルゴリズム) その他の結果 最短点素パス問題 演習 近年の発展(最大点素パス問題). イントロダクション. 問題の定義 歴史. 点素パス問題. パスが頂点を共有しない. Input: 頂点対 ( s 1 , t 1 ),…, ( s k , t k )

carson
Télécharger la présentation

東京大学 大学院情報理工学系研究科

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 点素パス問題に対するアルゴリズム 東京大学 大学院情報理工学系研究科 小林 佑輔 組合せ最適化セミナー 2012 年 7月 13日

  2. 講演内容 • イントロダクション • 効率的に解けるケース • 2点素パス問題 • k点素パス問題 (Robertson-Seymour のアルゴリズム) • その他の結果 • 最短点素パス問題 • 演習 • 近年の発展(最大点素パス問題)

  3. イントロダクション 問題の定義 歴史

  4. 点素パス問題 パスが頂点を共有しない Input:頂点対 (s1, t1),…, (sk, tk) Find:点素なパスP1,…, Pk (Pi : si → ti ) s3 s1 t1 t2 s2 t3

  5. 点素パス問題 パスが頂点を共有しない Input:頂点対 (s1, t1),…, (sk, tk) Find:点素なパスP1,…, Pk (Pi : si → ti ) s3 s1 t1 t2 s2 t3

  6. 点素(辺素)パス問題 パスが頂点(辺)を共有しない Input:頂点対 (s1, t1),…, (sk, tk) Find:点素(辺素)なパスP1,…, Pk (Pi : si → ti ) • 様々な類似問題 • 有向グラフ or 無向グラフ • 頂点対数 kが 定数or 入力の一部 • 辺素パスor 点素パス etc. • 多くの応用を持つ(例: VLSI の設計) s1 s1 t1 t1 s2 s2 t2 t2

  7. 特殊ケース(1): s-t辺素パス問題 Input:頂点対 (s, t) Find:辺素なパスP1,…, Pk (Pi : s → t) V - X X 最大流アルゴリズムで多項式時間で解ける s t Menger の定理 (最大流・最小カット定理) k本の辺素パスが存在 すべての s ∊X⊆V – tで δ(X) ≧ k X と V-Xを結ぶ辺の数

  8. 特殊ケース(2): t1 = t2 = ・・・ = tkの時 Input:頂点対 (s1, t) ,…, (sk, t) Find:辺素なパスP1,…, Pk (Pi : si → t) s1 s2 最大流アルゴリズムで多項式時間で解ける s3 t sk

  9. 特殊ケース(2): t1 = t2 = ・・・ = tkの時 Input:頂点対 (s1, t) ,…, (sk, t) Find:辺素なパスP1,…, Pk (Pi : si → t) s1 s2 最大流アルゴリズムで多項式時間で解ける s3 s t sk

  10. 特殊ケース(2): t1 = t2 = ・・・ = tkの時 Input:頂点対 (s1, t) ,…, (sk, t) Find:辺素なパスP1,…, Pk (Pi : si → t) s1 s2 最大流アルゴリズムで多項式時間で解ける s3 s t sk 一般の場合にはうまくいかない t1 s1 t2 s2 結ぶ頂点の組を指定されるから難しい t3 s3 s t sk tk

  11. 目的:理論的計算量の解明 • 様々なバリエーションに対して • 多項式時間で解けるか? NP困難か? • より効率の良いアルゴリズムは?

  12. 目的:理論的計算量の解明 • 様々なバリエーションに対して • 多項式時間で解けるか? NP困難か? • より効率の良いアルゴリズムは? • 点素パス問題の計算量 k : 頂点対数

  13. 各問題の帰着(演習) 無向点素パス問題 有向点素パス問題 無向辺素パス問題 有向辺素パス問題 下記のように帰着可能であることを示せ. また,それぞれの帰着は平面性を保つか?

  14. 辺素パスと点素パスの関係 s1 t1 • 辺素パス問題は線グラフ上の点素パス問題に帰着可能 s1 t1 2 7 5 5 2 7 1 1 8 8 6 s2 3 t2 4 3 6 s2 t2 4 辺素パス 点素パス 定義(線グラフ) • 元のグラフの辺が線グラフの頂点に対応 • 元のグラフで同じ端点を持つ 線グラフで隣接

  15. 点素パス問題の計算量 k : 頂点対数 • 辺素パス問題の計算量

  16. 点素・辺素パス問題の歴史 (点素のみ)Schrijver

  17. 効率的に解けるケース 2点素パス問題 k点素パス問題 その他のケース

  18. 講演内容 • イントロダクション • 効率的に解けるケース • 2点素パス問題 • k点素パス問題 (Robertson-Seymour のアルゴリズム) • その他の結果 • 最短点素パス問題 • 演習 • 近年の発展(最大点素パス問題)

  19. 無向点素パス問題 パスが頂点を共有しない Input:頂点対 (s1, t1),…, (sk, tk) Find:点素なパスP1,…, Pk (Pi : si → ti ) s3 s1 • k=2 多項式時間アルゴリズム • k:定数 多項式時間アルゴリズム • k:変数 NP困難 t1 Seymour, Thomassen, Shiloach (1980) Robertson-Seymour (1995) t2 s2 Karp (1975) t3

  20. 無向点素パス問題 パスが頂点を共有しない Input:頂点対 (s1, t1),…, (sk, tk) Find:点素なパスP1,…, Pk (Pi : si → ti ) s3 s1 • k=2 多項式時間アルゴリズム • k:定数 多項式時間アルゴリズム • k:変数 NP困難 難しいポイント t1 Seymour, Thomassen, Shiloach (1980) • カット条件 • 幾何的な条件 Robertson-Seymour (1995) t2 s2 の両方を同時に扱う必要がある Karp (1975) t3

  21. 無向点素パス問題 パスが頂点を共有しない Input:頂点対 (s1, t1),…, (sk, tk) Find:点素なパスP1,…, Pk (Pi : si → ti ) s3 s1 • k=2 多項式時間アルゴリズム • k:定数 多項式時間アルゴリズム • k:変数 NP困難 t1 Seymour, Thomassen, Shiloach (1980) Robertson-Seymour (1995) t2 s2 Karp (1975) t3

  22. 2点素パス問題の解法 • 性質1 平面グラフで s1, s2, t1, t2が この順番に同じ面上 s2 s1 2点素パス無し t1 t2

  23. 2点素パス問題の解法 • 性質1 平面グラフで s1, s2, t1, t2が この順番に同じ面上 s2 s1 2点素パス無し t1 • 性質2 小さいカットがあると問題を帰着可能 s1 s1 t1 t1 t2 t2 t2 s2 連結 s2 サイズ3 サイズ3

  24. 2点素パス問題の解法 • 性質1 平面グラフで s1, s2, t1, t2が この順番に同じ面上 s2 s1 2点素パス無し t1 • 性質2 小さいカットがあると問題を帰着可能 s1 s1 t1 t1 t2 t2 t2 s2 連結 s2 サイズ3 サイズ3

  25. 2点素パスの存在条件 2点素パスが存在しない 性質2の帰着を繰り返すと,性質1 の形になる s2 s1 s1 t1 t1 t2 s2 サイズ3 t2

  26. 2点素パスの存在条件 定理(Seymour, 1980) 2点素パスが存在しない 性質2の帰着を繰り返すと,性質1 の形になる s2 s1 s1 t1 t1 t2 s2 サイズ3 t2

  27. 2点素パスの存在条件 定理(Seymour, 1980) 2点素パスが存在しない 性質2の帰着を繰り返すと,性質1 の形になる s2 s1 s1 t1 t1 t2 s2 サイズ3 2点素パス問題は多項式時間で解ける t2 • カットを見つけるアルゴリズム • 平面性判定アルゴリズム 現在: 線形時間 (Kapadia et al., 2010)

  28. 理解のために 定理 2点素パスが存在しない 命題 グラフが 「4点連結」かつ 「平面的でない」 帰着を繰り返すと,性質1 の形 2点素パスが存在 Shiloach (1980) の方針 平面的でない or をマイナーに持つ (Kuratowski の定理) K5 K3,3 縮約を繰り返すと部分グラフに持つ

  29. 理解のために 定理 2点素パスが存在しない 命題 グラフが 「4点連結」かつ 「平面的でない」 帰着を繰り返すと,性質1 の形 2点素パスが存在 Shiloach (1980) の方針 平面的でない or をマイナーに持つ (Kuratowski の定理) K5 K3,3 s1 t1 4点連結 s2 t2 or を使って繋げる K5 K3,3

  30. 演習 平面グラフで s1, s2, t1, t2が この順番に同じ面上 平面性判定のアルゴリズムを用いて, をみたすかどうかを判定できることを示せ.

  31. 講演内容 • イントロダクション • 効率的に解けるケース • 2点素パス問題 • k点素パス問題 (Robertson-Seymour のアルゴリズム) • その他の結果 • 最短点素パス問題 • 演習 • 近年の発展(最大点素パス問題)

  32. 無向点素パス問題 パスが頂点を共有しない Input:頂点対 (s1, t1),…, (sk, tk) Find:点素なパスP1,…, Pk (Pi : si → ti ) s3 s1 • k=2 多項式時間アルゴリズム • k:定数 多項式時間アルゴリズム • k:変数 NP困難 t1 Seymour, Thomassen, Shiloach (1980) Robertson-Seymour (1995) t2 s2 Karp (1975) t3

  33. Robertson-Seymour のアルゴリズム GraphMinors 13(1995) • 1983年~現在 23本の論文にわたる大理論 • グラフ理論・アルゴリズムにおける大きな成果 Robertson & Seymour: Graph Minors 1 ~ 23 n: グラフの頂点数 • kに依存する非常に大きな係数がかかる 頂点対数 k:定数,無向グラフ 点素(辺素)パス問題に対する多項式時間アルゴリズム グラフマイナー理論に基づく 計算時間は O(n3)

  34. Graph minors. I. Excluding a forest, JCTB, 35 (1983), 39-61 Graph minors. II. Algorithmic aspects of tree-width, J. Algorithms, 7 (1986), 309-322 Graph minors. III. Planar tree-width, JCTB, 36 (1984), 49-64 Graph minors. IV. Tree-width and well-quasi-ordering, JCTB,48 (1990), 227-254 Graph minors. V. Excluding a planar graph, JCTB, 41 (1986), 92-114 Graph minors. VI. Disjoint paths across a disc, JCTB,41 (1986), 115-138 Graph minors. VII. Disjoint paths on a surface, JCTB, 45 (1988), 212-254 Graph minors. VIII. A Kuratowski theorem for general surfaces, JCTB, 48 (1990), 255-288 Graph minors. IX. Disjoint crossed paths, JCTB, 49 (1990), 40-77 Graph minors. X. Obstructions to tree-decomposition, JCTB,52 (1991), 153-190 Graph minors. XI. Circuits on a surface, JCTB, 60 (1994), 72-106 Graph minors. XII. Distance on a surface, JCTB, 64 (1995), 240-272 Graph minors. XIII. The disjoint paths problem, JCTB,63 (1995), 65-110 Graph minors. XIV. Extending an embedding, JCTB, 65 (1995), 23-50 Graph minors. XV. Giant steps, JCTB, 68 (1996), 112-148 Graph minors. XVI. Excluding a non-planar graph, JCTB, 89 (2003), 43-76 Graph minors. XVII. Taming a vortex, JCTB, 77 (1999), 162-210 Graph minors. XVIII. Tree-decompositions and well-quasi-ordering, JCTB, 89 (2003), 77-108 Graph minors. XIX. Well-quasi-ordering on a surface, JCTB, 90 (2004), 325-385 Graph minors. XX. Wagner's conjecture, JCTB, 92 (2004), 325-357 Graph minors. XXI. Graphs with unique linkages, JCTB, 99 (2009), 583-616 Graph minors. XXII. Irrelevant vertices in linkage problems, JCTB, 102 (2012), 530-563. Graph minors. XXIII. Nash-Williams' immersion conjecture, JCTB, 100 (2010), 181-205.

  35. RSアルゴリズムの概要 グラフの複雑さの指標 グラフの木幅を計算 (1) 木幅≦(定数): 動的計画法で解く (2) 木幅 > (定数): 大きなウォールを含む GM5 など ウォール

  36. RSアルゴリズムの概要 グラフの木幅を計算 (1) 木幅≦(定数): 動的計画法で解く (2) 木幅 > (定数): 大きなウォールを含む (2-1) 内部がほぼ平面的な大きなウォールを含む (2-2) 大きなクリークマイナーを含む ウォール クリークマイナー 連結な 部分グラフ

  37. RSアルゴリズムの概要 グラフの木幅を計算 (1) 木幅≦(定数): 動的計画法で解く (2) 木幅 > (定数): 大きなウォールを含む (2-1) 内部がほぼ平面的な大きなウォールを含む (2-2) 大きなクリークマイナーを含む 中央の頂点を取り除く GM22 の結果 ウォール クリークマイナー s1 連結な 部分グラフ t3 t1 s2 s3 t2

  38. RSアルゴリズムの概要 グラフの木幅を計算 (1) 木幅≦(定数): 動的計画法で解く (2) 木幅 > (定数): 大きなウォールを含む (2-1) 内部がほぼ平面的な大きなウォールを含む (2-2) 大きなクリークマイナーを含む 中央の頂点を取り除く • 点素パスが見つかる • 頂点を取り除く s1 t3 t1 以上を繰り返す s2 t2 s3

  39. n: グラフの頂点数 m: グラフの辺数 RSアルゴリズムの概要 グラフの木幅を計算 O(n2) (1) 木幅≦(定数): 動的計画法で解く (2) 木幅 > (定数): 大きなウォールを含む (2-1) 内部がほぼ平面的な大きなウォールを含む (2-2) 大きなクリークマイナーを含む 中央の頂点を取り除く O(n2) • 点素パスが見つかる • 頂点を取り除く O(m) 以上を繰り返す O(n) 回 合計 O(n3) 時間

  40. 少しだけ各ステップの説明 (1) 木幅とは? (2) 木幅小さい →動的計画法 グラフの木幅を計算 (3) 木幅大きい →ウォール (1) 木幅≦(定数): 動的計画法で解く (2) 木幅 > (定数): 大きなウォールを含む (4) ほぼ平面的? (2-1) 内部がほぼ平面的な大きなウォールを含む (2-2) 大きなクリークマイナーを含む 中央の頂点を取り除く (5) (2-1) の正当性 (6) (2-2) の正当性 • 点素パスが見つかる • 頂点を取り除く 以上を繰り返す

  41. 木幅とは • グラフがどれくらい木に近いか? を表す指標 • 木幅 = 1 森 • 定義は置いておいて... G G G G 木幅= 3 木幅= 1 木幅= 2 木幅= 2

  42. 木幅とは • グラフがどれくらい木に近いか? を表す指標 • 木幅 = 1 森 • 定義は置いておいて... • “部品” を “木のように” 組み合わせることでグラフを作る • 木幅:= “部品” の最大頂点数 – 1 G G G G 木幅= 3 木幅= 1 木幅= 2 木幅= 2

  43. 木幅の定義 • (T, W) が G = (V, E) の 木分解 • Tが木, W • , 各枝に対して,Wt が存在して両端点を含む • tがTの上でt’とt’’の間にあるならば G T 木幅= 2

  44. 木幅の定義 • (T, W) が G = (V, E) の 木分解 • Tが木, W • , 各枝に対して,Wt が存在して両端点を含む • tがTの上でt’とt’’の間にあるならば G T 木幅= 2

  45. 木幅の定義 • (T, W) が G = (V, E) の 木分解 • (T, W) の幅:= maxt |Wt| - 1 • Gの木幅:= すべての木分解の中で最小の幅 • Tが木, W • , 各枝に対して,Wt が存在して両端点を含む • tがTの上でt’とt’’の間にあるならば G T 木幅= 2

  46. 演習 • サイクルの木幅が 2 であることを示せ.

  47. 少しだけ各ステップの説明 (1) 木幅とは? (2) 木幅小さい →動的計画法 グラフの木幅を計算 (3) 木幅大きい →ウォール (1) 木幅≦(定数): 動的計画法で解く (2) 木幅 > (定数): 大きなウォールを含む (4) ほぼ平面的? (2-1) 内部がほぼ平面的な大きなウォールを含む (2-2) 大きなクリークマイナーを含む 中央の頂点を取り除く (5) (2-1) の正当性 (6) (2-2) の正当性 • 点素パスが見つかる • 頂点を取り除く 以上を繰り返す

  48. 木幅小さい → 動的計画法 定理(RS 1995, Arnborg-Proskurowski 1989 など) 木幅が w以下のグラフ G=(V, E) において, k点素パス問題は,(k+w)O(k+w) |V|O(1) 時間で解ける 部分問題 s1 G r1 r2 で,s1, t1, s2, r1, r2, r3が … t1 どのように繋げるか,を列挙 r3 s2 例:{ s1t1 , s2 r2 }, { s1r2 , s2 r3 }, … T G … … 木幅= 2

  49. 木幅小さい → 動的計画法 定理(RS 1995, Arnborg-Proskurowski 1989 など) 木幅が w以下のグラフ G=(V, E) において, k点素パス問題は,(k+w)O(k+w) |V|O(1) 時間で解ける 部分問題 s1 G r1 r2 で,s1, t1, s2, r1, r2, r3が … t1 どのように繋げるか,を列挙 r3 s2 葉から順に,繰り返し解く T G … … 木幅= 2

  50. 少しだけ各ステップの説明 (1) 木幅とは? (2) 木幅小さい →動的計画法 グラフの木幅を計算 (3) 木幅大きい →ウォール (1) 木幅≦(定数): 動的計画法で解く (2) 木幅 > (定数): 大きなウォールを含む (4) ほぼ平面的? (2-1) 内部がほぼ平面的な大きなウォールを含む (2-2) 大きなクリークマイナーを含む 中央の頂点を取り除く (5) (2-1) の正当性 (6) (2-2) の正当性 • 点素パスが見つかる • 頂点を取り除く 以上を繰り返す

More Related