Upload
duongdat
View
213
Download
0
Embed Size (px)
Citation preview
第6回
グラフ理論・組み合わせ論情報学部門 瀧本英二
http://www.i.kyushu-u.ac.jp/~eiji
最小全域木とその応用クラスタリング
ユークリッド最小全域木問題
巡回セールスマン問題
全域木(復習)
定義:連結グラフ 𝐺 = (𝑉, 𝐸)の全域木(spanning tree)とは,𝐺 の部分グラフ 𝑇 = 𝑉, 𝐸′ , 𝐸′ ⊆ 𝐸 で木であるもの.
3
例:
𝐺 𝐺 の全域木の1つ
最小全域木 (Minimum Spanning Tree)
定義:辺重み 𝑤:𝐸 → 𝑅 つき連結グラフ 𝐺 = (𝑉, 𝐸)の最小全域木とは,𝐺 の全域木 𝑇 = (𝑉, 𝐸’)で,重みの和
𝑒∈𝐸′𝑤(𝑒) が最小になるもの.
4
例:
𝐺 𝐺 の最小全域木
3 12
6 7 2
4
3
71
3 12
6 7 2
4
3
71
最小全域木問題
入力:辺重み 𝑤:𝐸 → 𝑅 つき連結グラフ 𝐺 = (𝑉, 𝐸)
出力:𝐺 の最小全域木
5
クラスカル法(Kruskal’s Algorithm)𝑂 𝐸 log 𝐸 時間
プリム法(Prim’s Algorithm)𝑂( 𝐸 + 𝑉 log 𝑉 ) 時間
平面上のグラフ(𝑉 ⊆ 𝑅2, 𝑤 𝑢, 𝑣 = 𝑢 − 𝑣 )のとき(ユークリッド最小全域木問題)𝑂 𝑉 log 𝑉 時間
クラスカル法
入力:辺重み 𝑤:𝐸 → 𝑅 つき連結グラフ 𝐺 = 𝑉, 𝐸
出力:𝐺 の最小全域木 𝑉, 𝐸′
6
初期化: 𝐸′ = ∅辺を重み順でソート: 𝑤 𝑒1 ≤ ⋯ ≤ 𝑤(𝑒𝑚)各 𝑖 = 1,… ,𝑚 に対し,以下を行う.もし 𝑉, 𝐸′ ∪ 𝑒𝑖 が閉路を持たないなら 𝐸′ = 𝐸′ ∪ 𝑒𝑖
4
3 12
6 7 2 3
71
4
3 12
6 7 2 3
71
4
3 12
6 7 2 3
71
クラスカル法
入力:辺重み 𝑤:𝐸 → 𝑅 つき連結グラフ 𝐺 = 𝑉, 𝐸
出力:𝐺 の最小全域木 𝑉, 𝐸′
7
初期化: 𝐸′ = ∅辺を重み順でソート: 𝑤 𝑒1 ≤ ⋯ ≤ 𝑤(𝑒𝑚)各 𝑖 = 1,… ,𝑚 に対し,以下を行う.もし 𝑉, 𝐸′ ∪ 𝑒𝑖 が閉路を持たないなら 𝐸′ = 𝐸′ ∪ 𝑒𝑖
4
3 12
6 7 2 3
71
4
3 12
6 7 2 3
71
4
3 12
6 7 2 3
71
クラスカル法
入力:辺重み 𝑤:𝐸 → 𝑅 つき連結グラフ 𝐺 = 𝑉, 𝐸
出力:𝐺 の最小全域木 𝑉, 𝐸′
8
初期化: 𝐸′ = ∅辺を重み順でソート: 𝑤 𝑒1 ≤ ⋯ ≤ 𝑤(𝑒𝑚)各 𝑖 = 1,… ,𝑚 に対し,以下を行う.もし 𝑉, 𝐸′ ∪ 𝑒𝑖 が閉路を持たないなら 𝐸′ = 𝐸′ ∪ 𝑒𝑖
4
3 12
6 7 2 3
71
4
3 12
6 7 2 3
71
4
3 12
6 7 2 3
71
×
×
クラスカル法
入力:辺重み 𝑤:𝐸 → 𝑅 つき連結グラフ 𝐺 = 𝑉, 𝐸
出力:𝐺 の最小全域木 𝑉, 𝐸′
9
初期化: 𝐸′ = ∅辺を重み順でソート: 𝑤 𝑒1 ≤ ⋯ ≤ 𝑤(𝑒𝑚)各 𝑖 = 1,… ,𝑚 に対し,以下を行う.もし 𝑉, 𝐸′ ∪ 𝑒𝑖 が閉路を持たないなら 𝐸′ = 𝐸′ ∪ 𝑒𝑖
4
3 12
6 7 2 3
71
4
3 12
6 7 2 3
71
クラスタリング
データ集合を,類似性に基づきクラスタと呼ばれる部分集合族に分割すること
11
定式化・アルゴリズムが無数に提案されている
階層的クラスタリング
入力:距離行列 𝑀 ∈ 𝑅𝑛×𝑛
𝑀[𝑖, 𝑗]はデータ 𝑖 とデータ 𝑗間の距離
出力:樹形図(dendrogram)
12
1
2
34
5
𝑀 1 2 3 4 5
1 0 1.9 1.7 1.0 2.3
2 1.9 0 2.1 2.7 1.4
3 1.7 2.1 0 1.6 1.9
4 1.0 2.7 1.6 0 2.8
5 2.3 1.4 1.9 2.8 01 4 3 2 5
樹形図
クラスタ間距離
階層的クラスタリング
入力:距離行列 𝑀 ∈ 𝑅𝑛×𝑛
𝑀[𝑖, 𝑗]はデータ 𝑖 とデータ 𝑗間の距離
出力:樹形図(dendrogram)
13
1
2
34
5
𝑀 1 2 3 4 5
1 0 1.9 1.7 1.0 2.3
2 1.9 0 2.1 2.7 1.4
3 1.7 2.1 0 1.6 1.9
4 1.0 2.7 1.6 0 2.8
5 2.3 1.4 1.9 2.8 01 4 3 2 5
樹形図
クラスタ間距離
階層的クラスタリング
入力:距離行列 𝑀 ∈ 𝑅𝑛×𝑛
𝑀[𝑖, 𝑗]はデータ 𝑖 とデータ 𝑗間の距離
出力:樹形図(dendrogram)
14
1
2
34
5
𝑀 1 2 3 4 5
1 0 1.9 1.7 1.0 2.3
2 1.9 0 2.1 2.7 1.4
3 1.7 2.1 0 1.6 1.9
4 1.0 2.7 1.6 0 2.8
5 2.3 1.4 1.9 2.8 01 4 3 2 5
樹形図
クラスタ間距離
階層的クラスタリング
入力:距離行列 𝑀 ∈ 𝑅𝑛×𝑛
𝑀[𝑖, 𝑗]はデータ 𝑖 とデータ 𝑗間の距離
出力:樹形図(dendrogram)
15
1
2
34
5
𝑀 1 2 3 4 5
1 0 1.9 1.7 1.0 2.3
2 1.9 0 2.1 2.7 1.4
3 1.7 2.1 0 1.6 1.9
4 1.0 2.7 1.6 0 2.8
5 2.3 1.4 1.9 2.8 01 4 3 2 5
樹形図
クラスタ間距離
凝集型階層的クラスタリング法
16
1
2
34
5
1 4 3 2 5
初期状態:1データ1クラスタ(クラスタ数 𝑛)
クラスタ数が1になるまで,以下を繰り返す.
クラスタ間距離が最小となるクラスタ対 (𝐶, 𝐶′) を併合
•最短距離法: 𝑑 𝐶, 𝐶′ = min 𝑀 𝑖, 𝑗 𝑖 ∈ 𝐶, 𝑗 ∈ 𝐶′
1.01.4
1.6
最小全域木による最短距離法の実装
17
重み 𝑤: 𝑖, 𝑗 ↦ 𝑀 𝑖, 𝑗 つき完全グラフ𝐾𝑛 = 1,2, … , 𝑛 , 𝐸 の最小全域木 (𝑉, 𝐸′)を求める
重みが小さい順に 𝐸′の辺の両端点を併合
1
2
34
51.0
1.9
1.7
2.3
2.1
2.7
1.4
1.6
1.9
2.8
1 4 3 2 5
1.01.4
1.6
1.9
ユークリッド最小全域木(EMST)問題
18
入力: 𝑉 ⊆ 𝑅2 (𝑛 = |𝑉|)
出力:重み 𝑤 𝑢, 𝑣 = 𝑢 − 𝑣 の完全グラフ 𝐾𝑛 の最小全域木
1
2
34
51.0
1.9
1.7
2.3
2.1
2.7
1.4
1.6
1.9
2.8
点集合 𝑉 に対する最短距離法による階層的クラスタリングに使える
距離行列を作成するとそれだけで Ω 𝑛2 時間
ボロノイ図(デローネイグラフ)を使うと 𝑂 𝑛 log 𝑛 時間
ボロノイ図(Voronoi diagram)
平面上にいくつかの点が与えられたとき,どの点に最も近いかという基準で平面を分割したもの.
2点だけの場合2点の垂直2等分線による分割
3点の場合垂直2等分線を組み合わせたもの
垂直2等分線の交点は3点の外接円の中心
ボロノイ辺
ボロノイ頂点
ボロノイ領域
母点(与えられた点)
ボロノイ図
𝑛 個の母点に対し,𝑂 𝑛 log 𝑛 時間で計算可能
デローネイグラフ(Delaunay Graph)
ボロノイ図の双対グラフ 𝐺(𝑉, 𝐸)•𝑉 =母点の集合•𝐸 = 𝑢, 𝑣 𝑢 と 𝑣のボロノイ領域が隣接している
デローネイグラフは平面グラフ
母点が一般の位置にあるとき,デローネイグラフは三角形分割を与える.(デローネイ三角形分割)
平面グラフの性質より|𝐸| ≤ 3𝑛 − 6 (𝑛 ≥ 3のとき)
・・・ オイラーの公式
デローネイグラフによるEMSTの解法
定理: 点集合 𝑉 に対するユークリッド最小全域木の辺は,𝑉 のデローネイグラフの辺である.
ユークリッド最小全域木を求めるアルゴリズム1. 𝑉 のデローネイグラフを求める 𝑂(𝑛 log 𝑛) 時間
2. 得られたグラフの最小全域木を求める 𝑂(𝑛 log 𝑛)時間
定理の証明の準備
補題 母点 𝑢, 𝑣 ∈ 𝑉 に対し,{𝑢, 𝑣}がデローネイグラフの辺であるための必要十分条件は,∃𝐶: 𝑢 と 𝑣を周上に含む円, ∀𝑤 ∈ 𝑉 𝑤 ∉ 𝑢, 𝑣 ,
𝑤 は円 𝐶 の内部に存在しない
23
証明(十分性):
𝑢
𝑣
そのような円 𝐶 が存在すると仮定
𝑢 と 𝑣 は 𝐶 の中心 𝑝から一番近い母点
𝑝 を通り 𝑢𝑣 に垂直なある線分がボロノイ辺になっているはず
𝑢 と 𝑣 のボロノイ領域は隣接している
𝐶
𝑝
定理の証明
定理: 点集合 𝑉 に対するユークリッド最小全域木の辺は,𝑉 のデローネイグラフの辺である.
証明(背理法):
最小全域木の辺であって,デローネイグラフの辺でない {𝑢, 𝑣}が存在すると仮定
補題(の対偶)より,𝑢𝑣 を直径とする円の内部に,別の母点𝑤 ∈ 𝑉 が存在
最小全域木において,𝑢𝑣 を切断したとき𝑤 は 𝑢 と同じ連結成分に属しているとする
𝑢𝑣 を切断して 𝑣𝑤 を加えた全域木の方が重みの総和が小さいので矛盾
𝑢
𝑣
𝐶
𝑤
巡回セールスマン問題
25
入力:辺重み 𝑤:𝐸 → 𝑅 つき完全グラフ 𝐺 = 𝑉, 𝐸出力:すべての点を通る閉路(巡回路)で重みの和が最小のもの
代表的なNP困難問題
P ≠ NP の仮定のもとで,定数近似も困難
平面上の巡回セールスマン問題
点が平面上の点で,辺重みがユークリッド距離𝑤 𝑢, 𝑣 = 𝑢 − 𝑣 のとき,最小全域木を用いた多項式時間 2近似アルゴリズムが存在
実際は,辺重みが三角不等式を満たせばOK
最小全域木と最小マッチングを組み合わせた1.5 近似アルゴリズムに拡張されている
26
2 近似アルゴリズム
最小全域木を求める
辺をなぞって閉じた歩道を作る
一度通った頂点に来たときは,ショートカットする
27
2 近似アルゴリズム
最小全域木を求める
辺をなぞって閉じた歩道を作る
一度通った頂点に来たときは,ショートカットする
28
演習
このアルゴリズムで2近似を達成していることを示せ
すわなち,出力巡回路の重みの和 ≤ 2 ⋅最適巡回路の重みの和が成り立つことを示せ.
29
次週(12/5)は特別講義のため休講
特別講義のお知らせ
題目:「計算幾何学特論:計算折り紙入門」
講師:上原隆平(北陸先端大)
日時:12/5(月)~12/6(火)10:30 ~ 10/26(水)
場所:第1講義室(309号室)
30