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

Slides:



Advertisements
Similar presentations
組合せ最適化輪講 2.3 連結性 川原 純. 2.3 連結性 内容 – グラフ上の節点をすべてたどるアルゴリズム 計算機上でのグラフの表現 – 強連結成分を求めるアルゴリズム トポロジカル順序を求める方法も – k- 連結、 k- 辺連結について – 2- 連結グラフの耳分解について.
Advertisements

2015 年度 有限幾何学 期末試験 次の各問に答えよ.( (1), (2), (3), (4), (5), (7), (8), (10) は答えだけでよい) (1) 有向閉路が存在しない位数 4 のトーナメントを描け. (2) 内点の個数が 10 個の正則 2 分木の葉の個数を求めよ. (3) グラフ.
A Simple Constant Time Enumeration Algorithm for Free Trees 中野 眞一 宇野 毅明 群馬大学 情報学研究所 2003 年 9 月 19 日 アルゴリズム研究会.
ベイズの定理と ベイズ統計学 東京工業大学大学院 社会理工学研究科 前川眞一. 2 Coffe or Tea 珈琲と紅茶のどちらが好きかと聞いた場合、 Star Trek のファンの 60% が紅茶を好む。 Star Wars のファンの 95% が珈琲を好む。 ある人が紅茶を好むと分かったとき、その人が.
ハノイグラフの生成と最短経路の導出 東京電機大学 理工学部 村田和也 松浦昭洋
区間グラフにおける区間表現からMPQ-treeを効率よく構成するアルゴリズム
ロジスティクス工学 第6章 動的ロットサイズ決定モデル 東京商船大学 久保 幹雄
2009/12/4 グラフ (2) 第10講: 平成21年12月4日 (金) 4限 E252教室 コンピュータアルゴリズム.
ネットワーク理論講義補助資料 Text. 組合せ最適化とアルゴリズム 4.5 節 主・双対法 pp
データ構造と アルゴリズム 第十二回 知能情報学部 知能情報学科 新田直也.
ラベル付き区間グラフを列挙するBDDとその応用
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
Qianping Gu (Simon Fraser大)
組合せ最適化の地平 Combinatorial Optimization: A Tour d’Horizon
曲面上のグラフの彩色 ~種数の増加,面の制限及び局所平面性~
On the Enumeration of Colored Trees
An Algorithm for Enumerating Maximal Matchings of a Graph
Permutationグラフと Distance-Hereditaryグラフの 再構築アルゴリズム
組合せ最適化 輪講 第1回 ERATO研究員 川原 純.
Probabilistic Method.
Extremal Combinatrics Chapter 4
Approximation of k-Set Cover by Semi-Local Optimization
Reed-Solomon 符号と擬似ランダム性
JAG Regional Practice Contest 2012 問題C: Median Tree
Paper from PVLDB vol.7 (To appear in VLDB 2014)
データ構造とアルゴリズム 第6回の2 木 ~ データ構造(3)~.
s a b f c e d 2016年度 有限幾何学 期末試験 問1:15点
Licensing information
5.5 The Linear Arboricity of Graphs (グラフの線形樹化数)
Selfish Routing and the Price of Anarchy 第2回
計算量理論輪講 岩間研究室 照山順一.
k 個のミスマッチを許した点集合マッチング・アルゴリズム
シャノンのスイッチングゲームにおけるペアリング戦略について
シャノンのスイッチングゲームにおけるペアリング戦略の複雑さについて
点素パス問題に対するアルゴリズム 小林 佑輔 東京大学 大学院情報理工学系研究科 組合せ最適化セミナー 2012 年 7月 13日
遺伝的アルゴリズムへの 統計力学的アプローチ 大阪大学 大学院理学研究科 鈴木譲 CISJ2005 於早稲田大学理工学部
第25章 単一始点最短路 3節 Bellman-Fordのアルゴリズム
ネットワーク上での社会的効用と個人的効用の対立問題に対するアルゴリズム的研究
ネットワーク理論 Text. Part 3 pp 最短路問題 pp 最大流問題 pp.85-94
第3回 アルゴリズムと計算量 2019/2/24.
25. Randomized Algorithms
b f c a d e g h a b c d e f g 図1 図2 2012年度 有限幾何学 期末試験
計算量理論輪講 chap5-3 M1 高井唯史.
東北大学大学院情報科学研究科 教授 西関 隆夫
計算の理論 II 言語とクラス 月曜4校時 大月美佳.
First Course in Combinatorial Optimization
A Simple Algorithm for Generating Unordered Rooted Trees
離散数学 07. 木 五島.
情報生命科学特別講義III (13) 固定パラメータアルゴリズムと 部分k木
九州大学大学院 情報学専攻特別講義 (6) 固定パラメータアルゴリズムと 部分k木
生物情報ソフトウェア特論 (2)たたみ込みとハッシュに 基づくマッチング
ナップサック問題 クマさん人形をめぐる熱いドラマの結末.
北大MMCセミナー 第62回 附属社会創造数学センター主催 Date: 2016年11月4日(金) 16:30~18:00
Lecture 8 Applications: Direct Product Theorems
離散数学 06. グラフ 序論 五島.
Max Cut and the Smallest Eigenvalue 論文紹介
A02 計算理論的設計による知識抽出モデルに関する研究
ガウス分布における ベーテ近似の理論解析 東京工業大学総合理工学研究科 知能システム科学専攻 渡辺研究室    西山 悠, 渡辺澄夫.
7.8 Kim-Vu Polynomial Concentration
生命情報学特論 (6) 固定パラメータアルゴリズムと 部分k木
発表者: 稲葉 一浩 複雑ネットワーク・地図グラフ セミナー 2017/1/19
卒業研究 Treedecompositionを生成するヒューリスティックアルゴリズムの幅に関する評価実験
卒業研究 木分解ヒューリスティック アルゴリズムの性能評価実験 ~アルゴリズムの改良の考察と そのプログラム作成~
離散数学 11. その他のアルゴリズム 五島.
13.近似アルゴリズム.
点素パス問題に対するアルゴリズム 小林 佑輔 東京大学 大学院情報理工学系研究科 組合せ最適化セミナー 2012 年 7月 13日
生物情報ソフトウェア特論 (10)固定パラメータアルゴリズムと 部分k木
アノテーションガイドラインの管理を行う アノテーションシステムの提案
北大MMCセミナー 第28回 Date: 2014年10月3日(金)14:30~16:00 ※通常と開始時間が異なります
グラフの帯域幅連続多重彩色 を求めるアルゴリズム (Bandwidth Consective Multicolorings of Graphs) 西関研究室 西川和秀.
Presentation transcript:

点素パス問題に対するアルゴリズム 小林 佑輔 東京大学 大学院情報理工学系研究科 組合せ最適化セミナー 2012 年 7月 13日 Thank you. Today I’d like to talk about “an extension of the disjoint paths problem” 小林 佑輔 東京大学 大学院情報理工学系研究科 組合せ最適化セミナー 2012 年 7月 13日

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

イントロダクション 問題の定義 歴史 Thank you. Today I’d like to talk about “an extension of the disjoint paths problem”

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

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

点素(辺素)パス問題 Input: 頂点対 (s1, t1),…, (sk, tk) パスが頂点(辺)を共有しない Input: 頂点対 (s1, t1),…, (sk, tk) Find: 点素(辺素)なパス P1,…, Pk (Pi : si → ti ) s1 s1 t1 t1 s2 s2 t2 t2 様々な類似問題 有向グラフ or 無向グラフ 頂点対数 k が 定数 or 入力の一部 辺素パス or 点素パス etc. 多くの応用を持つ (例: VLSI の設計) The disjoint paths problem, denoted DPP in this talk, is a classic and important problem in algorithmic graph theory, which is defined as follows. Suppose that we are given a graph and a collection of vertex pairs (s1, t1), …, (sk, tk). The problem is to find k vertex disjoint paths P1, …, Pk such that Pi is a path from si to ti for each i. For example, in this digraph, these two paths are a solution of the disjoint paths problem, the red path is from s1 to t1, the blue path is from s2 to t2, and they do not share any vertices. We can also consider the disjoint paths problem in an undirected graph. For example, in this graph, these two paths are a solution of the disjoint paths problem. Besides the theoretical interest of the problem, its importance arises from its practical applications, for example in VLSI-design. The disjoint paths problem has a number of variants, for example, the given graph is directed or undirected, the number of pairs k is a fixed constant or a part of the input, and the graph is planar and so on.

特殊ケース(1): s-t 辺素パス問題 Input: 頂点対 (s, t) Find: 辺素なパス P1,…, Pk (Pi : s → t ) X V - X 最大流アルゴリズムで多項式時間で解ける s t Menger の定理 (最大流・最小カット定理) k 本の辺素パスが存在 すべての s ∊ X ⊆V – t で δ(X) ≧ k The disjoint paths problem, denoted DPP in this talk, is a classic and important problem in algorithmic graph theory, which is defined as follows. Suppose that we are given a graph and a collection of vertex pairs (s1, t1), …, (sk, tk). The problem is to find k vertex disjoint paths P1, …, Pk such that Pi is a path from si to ti for each i. For example, in this digraph, these two paths are a solution of the disjoint paths problem, the red path is from s1 to t1, the blue path is from s2 to t2, and they do not share any vertices. We can also consider the disjoint paths problem in an undirected graph. For example, in this graph, these two paths are a solution of the disjoint paths problem. Besides the theoretical interest of the problem, its importance arises from its practical applications, for example in VLSI-design. The disjoint paths problem has a number of variants, for example, the given graph is directed or undirected, the number of pairs k is a fixed constant or a part of the input, and the graph is planar and so on. X と V-X を結ぶ辺の数

特殊ケース(2): t1 = t2 = ・・・ = tk の時 Input: 頂点対 (s1, t) ,…, (sk, t) Find: 辺素なパス P1,…, Pk (Pi : si → t ) s1 s2 最大流アルゴリズムで多項式時間で解ける s3 t sk The disjoint paths problem, denoted DPP in this talk, is a classic and important problem in algorithmic graph theory, which is defined as follows. Suppose that we are given a graph and a collection of vertex pairs (s1, t1), …, (sk, tk). The problem is to find k vertex disjoint paths P1, …, Pk such that Pi is a path from si to ti for each i. For example, in this digraph, these two paths are a solution of the disjoint paths problem, the red path is from s1 to t1, the blue path is from s2 to t2, and they do not share any vertices. We can also consider the disjoint paths problem in an undirected graph. For example, in this graph, these two paths are a solution of the disjoint paths problem. Besides the theoretical interest of the problem, its importance arises from its practical applications, for example in VLSI-design. The disjoint paths problem has a number of variants, for example, the given graph is directed or undirected, the number of pairs k is a fixed constant or a part of the input, and the graph is planar and so on.

特殊ケース(2): t1 = t2 = ・・・ = tk の時 Input: 頂点対 (s1, t) ,…, (sk, t) Find: 辺素なパス P1,…, Pk (Pi : si → t ) s1 s2 最大流アルゴリズムで多項式時間で解ける s3 s t sk The disjoint paths problem, denoted DPP in this talk, is a classic and important problem in algorithmic graph theory, which is defined as follows. Suppose that we are given a graph and a collection of vertex pairs (s1, t1), …, (sk, tk). The problem is to find k vertex disjoint paths P1, …, Pk such that Pi is a path from si to ti for each i. For example, in this digraph, these two paths are a solution of the disjoint paths problem, the red path is from s1 to t1, the blue path is from s2 to t2, and they do not share any vertices. We can also consider the disjoint paths problem in an undirected graph. For example, in this graph, these two paths are a solution of the disjoint paths problem. Besides the theoretical interest of the problem, its importance arises from its practical applications, for example in VLSI-design. The disjoint paths problem has a number of variants, for example, the given graph is directed or undirected, the number of pairs k is a fixed constant or a part of the input, and the graph is planar and so on.

特殊ケース(2): t1 = t2 = ・・・ = tk の時 Input: 頂点対 (s1, t) ,…, (sk, t) Find: 辺素なパス P1,…, Pk (Pi : si → t ) s1 s2 最大流アルゴリズムで多項式時間で解ける s3 s t sk 一般の場合にはうまくいかない The disjoint paths problem, denoted DPP in this talk, is a classic and important problem in algorithmic graph theory, which is defined as follows. Suppose that we are given a graph and a collection of vertex pairs (s1, t1), …, (sk, tk). The problem is to find k vertex disjoint paths P1, …, Pk such that Pi is a path from si to ti for each i. For example, in this digraph, these two paths are a solution of the disjoint paths problem, the red path is from s1 to t1, the blue path is from s2 to t2, and they do not share any vertices. We can also consider the disjoint paths problem in an undirected graph. For example, in this graph, these two paths are a solution of the disjoint paths problem. Besides the theoretical interest of the problem, its importance arises from its practical applications, for example in VLSI-design. The disjoint paths problem has a number of variants, for example, the given graph is directed or undirected, the number of pairs k is a fixed constant or a part of the input, and the graph is planar and so on. s1 t1 s2 t2 s3 t3 結ぶ頂点の組を指定されるから難しい s t sk tk

目的:理論的計算量の解明 様々なバリエーションに対して 多項式時間で解けるか? NP困難か? より効率の良いアルゴリズムは? The disjoint paths problem, denoted DPP in this talk, is a classic and important problem in algorithmic graph theory, which is defined as follows. Suppose that we are given a graph and a collection of vertex pairs (s1, t1), …, (sk, tk). The problem is to find k vertex disjoint paths P1, …, Pk such that Pi is a path from si to ti for each i. For example, in this digraph, these two paths are a solution of the disjoint paths problem, the red path is from s1 to t1, the blue path is from s2 to t2, and they do not share any vertices. We can also consider the disjoint paths problem in an undirected graph. For example, in this graph, these two paths are a solution of the disjoint paths problem. Besides the theoretical interest of the problem, its importance arises from its practical applications, for example in VLSI-design. The disjoint paths problem has a number of variants, for example, the given graph is directed or undirected, the number of pairs k is a fixed constant or a part of the input, and the graph is planar and so on.

目的:理論的計算量の解明 様々なバリエーションに対して 多項式時間で解けるか? NP困難か? より効率の良いアルゴリズムは? 点素パス問題の計算量 有向グラフ 無向グラフ k : 定数 NP-困難 多項式時間 (平面グラフ) 多項式時間 (非巡回的) 多項式時間 線形時間 (平面グラフ) k : 変数 The disjoint paths problem, denoted DPP in this talk, is a classic and important problem in algorithmic graph theory, which is defined as follows. Suppose that we are given a graph and a collection of vertex pairs (s1, t1), …, (sk, tk). The problem is to find k vertex disjoint paths P1, …, Pk such that Pi is a path from si to ti for each i. For example, in this digraph, these two paths are a solution of the disjoint paths problem, the red path is from s1 to t1, the blue path is from s2 to t2, and they do not share any vertices. We can also consider the disjoint paths problem in an undirected graph. For example, in this graph, these two paths are a solution of the disjoint paths problem. Besides the theoretical interest of the problem, its importance arises from its practical applications, for example in VLSI-design. The disjoint paths problem has a number of variants, for example, the given graph is directed or undirected, the number of pairs k is a fixed constant or a part of the input, and the graph is planar and so on. k : 頂点対数

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

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

点素パス問題の計算量 辺素パス問題の計算量 有向グラフ 無向グラフ k : 定数 NP-困難 多項式時間 (平面グラフ) 多項式時間 (非巡回的) 多項式時間 線形時間 (平面グラフ) k : 変数 k : 頂点対数 辺素パス問題の計算量 有向グラフ 無向グラフ k : 定数 NP-困難 多項式時間 (非巡回的) 多項式時間 k : 変数 The disjoint paths problem, denoted DPP in this talk, is a classic and important problem in algorithmic graph theory, which is defined as follows. Suppose that we are given a graph and a collection of vertex pairs (s1, t1), …, (sk, tk). The problem is to find k vertex disjoint paths P1, …, Pk such that Pi is a path from si to ti for each i. For example, in this digraph, these two paths are a solution of the disjoint paths problem, the red path is from s1 to t1, the blue path is from s2 to t2, and they do not share any vertices. We can also consider the disjoint paths problem in an undirected graph. For example, in this graph, these two paths are a solution of the disjoint paths problem. Besides the theoretical interest of the problem, its importance arises from its practical applications, for example in VLSI-design. The disjoint paths problem has a number of variants, for example, the given graph is directed or undirected, the number of pairs k is a fixed constant or a part of the input, and the graph is planar and so on.

点素・辺素パス問題の歴史 最大最小定理 (s-t パス) Menger 最大流アルゴリズム Ford-Fulkerson 1927 最大最小定理 (s-t パス) Menger 1956 最大流アルゴリズム Ford-Fulkerson 1970s 頂点対数 k が入力の一部の時NP困難 Karp など 1980 k=2, 無向グラフの時のアルゴリズム Seymour, Thomassen, Shiloach k=2, 有向グラフの時NP困難 Even-Itai-Shamir 1994 k: 定数,平面有向グラフの時のアルゴリズム 1995 k: 定数,無向グラフの時のアルゴリズム Robertson-Seymour (点素のみ) Schrijver 近年 k: 入力の一部の時の近似アルゴリズム 特殊ケースに対するアルゴリズム など

2点素パス問題 k点素パス問題 その他のケース 効率的に解けるケース 2点素パス問題 k点素パス問題 その他のケース Thank you. Today I’d like to talk about “an extension of the disjoint paths problem”

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

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

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

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

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

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

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

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

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

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

木幅の定義 (T, W) が G = (V, E) の 木分解 (T, W) の幅 := maxt |Wt| - 1 t が T の上で t’ と t’’ の間にあるならば G T 木幅= 2

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

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

木幅小さい → 動的計画法 定理 (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 例: { s1 t1 , s2 r2 }, { s1 r2 , s2 r3 }, … G T … … 木幅= 2

木幅小さい → 動的計画法 定理 (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 葉から順に,繰り返し解く G T … … 木幅= 2

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

木幅大きい → ウォール 定理 (RS 1986) 任意の r に対してある f(r) が存在して以下が成立. 木幅が f(r) 以上の任意のグラフはサイズ r のウォールを含む Known results f(r) =2 , f(r) =Ω(r2 log r) G : planar f(r) = O(r) G : bounded genus f(r) = O(r) G : H-minor-free f(r) = cH・r G : K3,k-minor-free f(r) = 204k・r O(r5) (Robertson-Seymour-Thomas [1994], Diestel et al. [1999]) (Robertson-Seymour-Thomas [1994]) (Demaine et al. [2005]) (Demaine-Hajiaghayi [2008]) (Demaine et al. [2009])

木幅大きい → ウォール 定理 (RS 1986) 任意の r に対してある f(r) が存在して以下が成立. 木幅が f(r) 以上の任意のグラフはサイズ r のウォールを含む Known results f(r) =2 , f(r) =Ω(r2 log r) G : planar f(r) = O(r) G : bounded genus f(r) = O(r) G : H-minor-free f(r) = cH・r G : K3,k-minor-free f(r) = 204k・r G : H-minor-free f(r) = |V(H)|O(|E(H)|)・r G : general f(r) = 2 O(r5) (Robertson-Seymour-Thomas [1994], Diestel et al. [1999]) (Robertson-Seymour-Thomas [1994]) (Demaine et al. [2005]) (Demaine-Hajiaghayi [2008]) (Demaine et al. [2009]) Our results (Kawarabayashi-K [2012]) O(r2 log r)

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

ほぼ平面的なウォール (2) tw(G) > (定数) なら大きなウォールを含む (2-1) 内部がほぼ平面的な大きなウォールを含む (2-1) 内部がほぼ平面的な大きなウォールを含む (2-2) 大きなクリークマイナーを含む ウォール内部がほぼ平面的 def (高々 9k2 個の頂点を取り除くと) 対角の頂点を結ぶ2本の点素パスがウォール内部に取れない

目標: ほぼ平面的な大きなウォール 大きなクリークマイナー 大きなウォール def ウォールがほぼ平面的 (定数個頂点除くと) が無い

目標: ほぼ平面的な大きなウォール 大きなクリークマイナー 大きなウォール def ウォールがほぼ平面的 (定数個頂点除くと) が無い

ケース (2) の場合分け (2) tw(G) > (定数) なら大きなウォールを含む (2-1) 内部がほぼ平面的な大きなウォールを含む (2-2) 大きなクリークマイナーを含む ポイント がたくさんあると,クリークマイナーを作れる

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

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

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

クリークマイナーの処理 サイズ 2k のクリーク C があるとする ターミナルから C へ 2k 個の点素パスが存在 (本当はクリークマイナーだが簡単のため) s1 s1 t1 t3 t3 t1 s2 s2 t2 t2 s3 s3 サイズ ≦ 2k - 1 Menger の定理

クリークマイナーの処理 サイズ 2k のクリーク C があるとする ターミナルから C へ 2k 個の点素パスが存在 (本当はクリークマイナーだが簡単のため) s1 s1 t1 t3 t3 t1 s2 s2 t2 t2 s3 s3 サイズ ≦ 2k - 1 Menger の定理

クリークマイナーの処理 サイズ 2k のクリーク C があるとする ターミナルから C へ 2k 個の点素パスが存在 (本当はクリークマイナーだが簡単のため) s1 s1 t1 t3 t3 t1 s2 s2 t2 t2 s3 s3 サイズ ≦ 2k - 1 無関係! Menger の定理

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

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

その他の結果(1) 平面的 グラフが平面的で,ターミナルが高々1つの面の周上のとき, 点素パス問題は多項式時間で解ける 観察 t2 t1 s3 tk s1 t3 s2 平面的 sk

その他の結果(1) 平面的 平面的 グラフが平面的で,ターミナルが高々1つの面の周上のとき, 点素パス問題は多項式時間で解ける 観察 グラフが平面的で,ターミナルが高々1つの面の周上のとき, 点素パス問題は多項式時間で解ける 定理 (Suzuki-Akama-Nishizeki, 1988) グラフが平面的で,ターミナルが高々2つの面の周上のとき, 点素パス問題は O(n) 時間で解ける t2 t1 t1 t2 s3 tk tk s1 s2 sk s3 s1 t3 t3 s2 平面的 平面的 sk

その他の結果(2) 平面的 平面的 グラフが平面的で,ターミナルが高々1つの面の周上のとき, 点素パス問題は多項式時間で解ける 観察 グラフが平面的で,ターミナルが高々1つの面の周上のとき, 点素パス問題は多項式時間で解ける 定理 (Okamura-Seymour, 1981) グラフが平面的で,ターミナルが1つの面の周上, オイラー条件を満たすとき,辺素パス問題は t2 t1 s3 t1 t2 s3 tk tk s1 s1 t3 t3 s2 平面的 s2 平面的 sk sk

その他の結果(2) 平面的 平面的 グラフが平面的で,ターミナルが高々1つの面の周上のとき, 点素パス問題は多項式時間で解ける 観察 グラフが平面的で,ターミナルが高々1つの面の周上のとき, 点素パス問題は多項式時間で解ける 定理 (Okamura-Seymour, 1981) グラフが平面的で,ターミナルが1つの面の周上, オイラー条件を満たすとき,辺素パス問題は 多項式時間で解ける 各頂点に接続する 需要+供給 の枝数が偶数 現在:O(n) 時間 (Wagner-Weihe [1993]) t2 t1 s3 t1 t2 s3 tk tk s1 s1 t3 t3 s2 平面的 s2 平面的 sk sk

その他の結果(2) グラフが平面的で,ターミナルが高々1つの面の周上のとき, 点素パス問題は多項式時間で解ける 観察 グラフが平面的で,ターミナルが高々1つの面の周上のとき, 点素パス問題は多項式時間で解ける 定理 (Okamura-Seymour, 1981) グラフが平面的で,ターミナルが1つの面の周上, オイラー条件を満たすとき,辺素パス問題は 多項式時間で解ける 各頂点に接続する 需要+供給 の枝数が偶数 現在:O(n) 時間 (Wagner-Weihe [1993]) 定理 (Frank, 1985) グラフが平面的で,ターミナルが1つの面の周上, 内点が偶数次数のとき,辺素パス問題は多項式時間で解ける 現在:O(n) 時間 (Weihe [1999])

その他の結果(2) 難しいポイント カット条件 幾何的な条件 の両方を同時に扱う必要がある どれも幾何的な条件が扱いやすい形 観察 グラフが平面的で,ターミナルが高々1つの面の周上のとき, 点素パス問題は多項式時間で解ける 定理 (Okamura-Seymour, 1981) グラフが平面的で,ターミナルが1つの面の周上, 難しいポイント オイラー条件を満たすとき,辺素パス問題は 多項式時間で解ける どれも幾何的な条件が扱いやすい形 各頂点に接続する 需要+供給 の枝数が偶数 現在:O(n) 時間 カット条件 幾何的な条件 (Wagner-Weihe [1993]) 定理 (Frank, 1985) の両方を同時に扱う必要がある グラフが平面的で,ターミナルが1つの面の周上, 内点が偶数次数のとき,辺素パス問題は多項式時間で解ける 現在:O(n) 時間 (Weihe [1999])

演習 枝集合 s1t1, s2t2, …, siti をもつグラフを H とする. グラフが平面的,ターミナルが1つの面の周上, Demand graph 枝集合 s1t1, s2t2, …, siti をもつグラフを H とする. 定理 (Okamura-Seymour, 1981) グラフが平面的,ターミナルが1つの面の周上, オイラー条件 (G+H の次数がすべて偶数) を満たすとき, 辺素パスが存在 カット条件が成立 任意のカットに対して, G の枝数 ≧ H の枝数 「オイラー条件」を除くと,この関係が成り立たなくなることを示せ. 「1つの面の周上」という条件を除くと,成り立たなくなることを示せ.

第一部,第二部 まとめ 点素パス問題の難しさ カット条件 幾何的な条件 未解決問題 の両方を同時に扱う必要がある 第一部,第二部 まとめ 点素パス問題の難しさ 未解決問題 有向平面グラフ上の辺素パス問題 有向平面グラフ上の点素パス問題のFPT 3点素パスの存在の特徴づけ カット条件 幾何的な条件 の両方を同時に扱う必要がある

例題 点素パスを見つけよ s2 s1 s3 s4 t1 t3 t2 t4

例題2 点素パスを見つけよ s3 s2 s4 s1 t2 t4 t3 t1