グラフとネットワーク (第 9 回) 安藤 和敏 [email protected] 静岡大学工学部 グラフとネットワーク (第 9 回) – p.1/30 第 2 章 ネットワーク b 16 31 22 d 21 a h 32 23 15 18 g 12 29 20 k 35 25 f グラフとネットワーク (第 9 回) – p.2/30 2.1.1 最小木問題 グラフとネットワーク (第 9 回) – p.3/30 木 b 16 a h 31 d 22 21 b 32 23 15 (a) k a d 25 32 21 g 12 20 35 f 22 18 g 12 29 20 h k 35 f 25 (b) (a) グラフ G と w: A → R; (b) G の木 T (太字 の枝) グラフとネットワーク (第 9 回) – p.4/30 木の重み グラフ G = (V, A) と枝の重み w: A → R が与 えられているとする. G の木 T に対して, w(T ) = w(a) (2.1) a∈T を木 T の重みという. グラフとネットワーク (第 9 回) – p.5/30 木の重み (例) b 16 22 d 21 a b h 31 32 23 15 18 g 12 29 20 35 16 22 d 21 a 重み= 155 32 23 15 18 g 12 29 k 20 k 35 25 f h 31 25 f 重み= 112 グラフとネットワーク (第 9 回) – p.6/30 最小木問題 最小木問題とは, 重みが最小である木を見付け る問題である. 最小木問題を解くためのアルゴリズムには, 貪欲 アルゴリズムとヤルニーク-プリムのアルゴリズ ムが良く知られている. グラフとネットワーク (第 9 回) – p.7/30 貪欲アルゴリズム (クラスカルのアルゴリズム) グラフとネットワーク (第 9 回) – p.8/30 Step 1 終了時 b 16 31 22 d 21 a h 32 23 15 18 g 12 29 20 k 35 25 f グラフとネットワーク (第 9 回) – p.9/30 1 回目の Step 3 終了時 b 16 31 22 d 21 a h 32 23 15 18 g 12 29 20 k 35 25 f グラフとネットワーク (第 9 回) – p.10/30 2 回目の Step 3 終了時 b 16 31 22 d 21 a h 32 23 15 18 g 12 29 20 k 35 25 f グラフとネットワーク (第 9 回) – p.11/30 3 回目の Step 3 終了時 b 16 31 22 d 21 a h 32 23 15 18 g 12 29 20 k 35 25 f グラフとネットワーク (第 9 回) – p.12/30 4 回目の Step 3 終了時 b 16 31 22 d 21 a h 32 23 15 18 g 12 29 20 k 35 25 f グラフとネットワーク (第 9 回) – p.13/30 5 回目の Step 3 終了時 b 16 31 22 d 21 a h 32 23 15 18 g 12 29 20 k 35 25 f グラフとネットワーク (第 9 回) – p.14/30 6 回目の Step 3 終了時 b 16 31 22 d 21 a h 32 23 15 18 g 12 29 20 k 35 25 f グラフとネットワーク (第 9 回) – p.15/30 貪欲アルゴリズムの正当性 (定理 2.1) 定理 2.1 貪欲アルゴリズムの実行中に得られる T はつぎの性質をもつ: (*) T は, 枝数 |T | をもちサーキットを含まない ような枝集合のうちで, その重みが最小なも のである. (ここで, 木でない枝集合 T に対しても (2.1) で重 みを定義する.) グラフとネットワーク (第 9 回) – p.16/30 定理 2.1 より, 貪欲アルゴリズムが終了したとき の T は |T | = |V | − 1 を満たしているから, (*) T は, 枝数 |V | − 1 をもちサーキットを含ま ないような枝集合のうちで, その重みが最小 なものである. ところで, 枝数 |V | − 1 をもちサーキットを含まないような枝集合 =G の木 であるから, 貪欲アルゴリズムが終了したときの T は最小重みの木である. グラフとネットワーク (第 9 回) – p.17/30 定理 2.1 のための補題 補題: グラフ G = (V, A) の 2 つの枝部分集合 B1, B2 ⊆ A に対して, B1 と B2 がともに閉路を含まない, かつ, |B1| < |B2| ならば, ある a∗ ∈ B2 \ B1 に対して B1 ∪ {a∗} は 閉路を含まない. (証明終り) グラフとネットワーク (第 9 回) – p.18/30 補題の説明図 b b h h d d a a g B1 g k f B2 b k f h d a g k f B1 U {(d,g)} グラフとネットワーク (第 9 回) – p.19/30 定理 2.1 の証明 グラフとネットワーク (第 9 回) – p.20/30 基本サーキット グラフ g = (V, A) の木 T と枝 a ∈ A \ T に対し て, T ∪ {a} はちょうど一つの閉路を含む. この 閉路を C(T |a) と表し, T と a に関連する基本 サーキットと呼ぶ. b 16 22 d 23 15 18 g 12 29 20 35 16 h 31 32 21 a b h 31 22 d 32 21 a 23 18 g 12 29 k 15 20 k 35 25 25 f f (a) (b) グラフ G の木 T T と a = (f, k) に関連 する基本サーキット グラフとネットワーク (第 9 回) – p.21/30 定理 2.2 グラフ G = (V, A) の木 T ⊆ A が重み w: A → R に関する最小木であるための必要十 分条件は, 各 a ∈ A \ T とそれに関連する基本 サーキット C(T |a) 上の任意の枝 a に対して w(a ) ≤ w(a) (2.5) が成り立つことである. グラフとネットワーク (第 9 回) – p.22/30 ヤルニーク-プリム のアルゴリズム グラフとネットワーク (第 9 回) – p.23/30 Step 1 終了時 b 16 31 22 d 21 a U h 32 23 15 18 g 12 29 20 k 35 25 f グラフとネットワーク (第 9 回) – p.24/30 1 回目の Step 3 終了時 b U 16 22 d 21 a h 31 32 23 15 18 g 12 29 20 k 35 25 f グラフとネットワーク (第 9 回) – p.25/30 2 回目の Step 3 終了時 b 16 31 22 d 21 a h 32 23 g 12 29 20 U 15 18 k 35 25 f グラフとネットワーク (第 9 回) – p.26/30 3 回目の Step 3 終了時 b 16 22 d 21 a h 31 32 23 g 12 29 20 U 15 18 k 35 25 f グラフとネットワーク (第 9 回) – p.27/30 4 回目の Step 3 終了時 b 16 31 22 d 21 a h 32 23 g 12 29 20 U 15 18 k 35 25 f グラフとネットワーク (第 9 回) – p.28/30 5 回目の Step 3 終了時 b 16 31 22 d 21 a h 32 23 15 18 g 12 29 20 k 35 25 f U グラフとネットワーク (第 9 回) – p.29/30 6 回目の Step 3 終了時 b 16 22 d 21 a 32 23 15 18 g 12 29 20 U h 31 k 35 25 f グラフとネットワーク (第 9 回) – p.30/30
© Copyright 2024 Paperzz