先のアルゴリズムを用いると,辺素なパスの数を多項式時間で求めることができる.
(証明)
グラフ に対し,パスの数は辺の数を超えないから,高々 個.
一つのパスは深さ優先探索などを用いることで 時間で求めることができる.よって,全体でも 時間で終了する.
→ 本には と書かれているがなぜ?
頂点のペアは 個であるから,すべてのペアについて局所辺連結度を調べても,多項式時間で終了する. → 実際にはもっと高速なアルゴリズムも存在する.
メンガーの定理
- 互いに隣接しない頂点 に対して, を分ける点カットの最小サイズは, 間の内部点素なパスの最大数に等しい.
辺の場合と同様に,各辺を異なる向きの本の有向辺に変換する.
その後,以下の変形を行い,グラフ に変換する.(変換 )
この変換によって,元のグラフ において頂点 を通るパスは,変換後の有向グラフでは必ず有向辺 を通ることになる.
このとき,以下のつの集合が対応付けられる(1)
→ 先の辺についてのメンガーの定理に帰着させて考えることができる
- グラフ 上のパスの集合 とグラフ 上のパスの集合 の間に全単射 が存在すること
- グラフ のパス が互いに内部点素であることと,
グラフ のパス が互いに辺素であることが同値であること
を示せば良い.
1.
(1) に対し,
とすれば逆写像が存在し,全単射となる.
2.
における から へのパス を考える. が互いに内部点素でない場合,変換後のパス は共有している頂点 に対して辺 を共有するため,辺素でない.逆に が辺素でない場合, 上の頂点 に対し 上の辺 または 上の辺 に対し, 上の辺 のいずれかを共有していることになるが,いずれにせよ同じ頂点を共有しているためパス は内部点素ではない.
辺連結度・点連結度の大小関係
- 任意の について,.
- .
(証明)
任意のグラフ と 上のパス に対し,「」が成立する.すなわち「」が成り立つ.
さらに,
また,任意の頂点 について であることから,
これまでの連結度の議論をもとに,
の2つの問題を取り扱う.
耐故障性の観点から,与えられたネットワークの性能や信頼性の解析を行う.
例)グラフ のネットワークの辺連結度は であるから,辺 本までの故障には耐えられることがわかる.
現実には,辺連結度の値だけでなく
「どの頂点間で局所連結度が最小になるか」
を知りたい場合が多い.
(先のアルゴリズムでも最小辺カットを見つけることはできるが,すべて見つけることは難しい)
図5のグラフを別の形式に変換することにより,
すべての最小辺カットを表現する.
図6:カクタスグラフ と呼ばれる表現 →
※カクタス:サボテンのこと
カクタスグラフ
任意のつの閉路が高々つの共有点しか持たないグラフ
カクタスグラフ上では,以下の手順で簡単に
最小辺カットをみつけることができる.
図6
グラフ とそのカクタス表現 の対応関係
- の任意の最小辺カット に対して, に対応付けられている の頂点集合を とすると, は の最小辺カットである.
- の任意の最小辺カットが のある最小辺カットに対して1の変換により表現される.
カクタスは非常に簡潔なグラフで,最小辺カットのサイズはであるから,簡単に最小辺カットを見つけることができる.
また, の最小辺カットの総数は である.
なぜ最小辺カットはカクタスのような閉路を繋げた形で表現できるのか?
→ 証明は長いので関連する性質を紹介
カクタス表現と関係がある最小辺カットの性質
グラフ の辺カット のサイズを と表す.このとき,次の関係式が成り立つ.
とする. はともに最小辺カットであるが,互いに交差するような形になっている.ここで,
であることから, をまとめてカクタス表現できる.
ネットワークを完結に表現する手法としては他にも「ゴモリー・フー木」がある
下図の木 の各頂点はグラフ の各頂点に対応しており,任意の頂点 に対し,
「 における 間の局所辺連結度」
「 における 間のパス上に付されている数値の最小値」
さらに,「 での 間のパス上の最小の数値を持つ辺を削除したときに得られる連結なつの頂点集合 について, は において と を分ける最小辺カットである」という性質も満たす.
↓ 実際, は 上の最小辺カットである.()
ゴモリー・フー木の存在性については長いので省略.任意のグラフに対応するゴモリー・フー木を以下のアルゴリズムで構築できる.
ゴモリー・フーのアルゴリズム
- とおく.
- の順に,以下の i - iv を反復する
- である を選択し, に属する点 を選択する. において に対応する点 に接続する各辺を と記し, の先の頂点を縮約し, と定める.
- どの も横断しない における最小 -カット とその重み を計算する.
- に対応する点 と に対応する点 を新たに作る. において, を に置き換え,この新しい点の間に重み の辺を加える.また,各 について であれば, を新しい辺 に置き換える.この結果得られる木を とする.
- .
- を出力して終了.
ゴモリー・フーのアルゴリズムで最も計算時間を要するのはステップ 2 - i で 間の最小辺カットを計算する部分である.よって,アルゴリズム全体では最小辺カットを 回計算するだけの計算回数が必要になる.
ここで,最小カットは頂点,辺の数に関して多項式時間で計算できるため,ゴモリー・フー木も多項式時間で計算できる.
参考:「グラフ理論 -連結構造とその応用-」p76-83 [2]
「グラフ理論 -連結構造とその応用-」p83 [2]
辺カット解析においては,カクタス表現,ゴモリー・フー木などを用いてグラフを単純な形に変形する手法が有効である.
また,任意のグラフについてカクタス表現もゴモリー・フー木も必ず存在し,かつ多項式時間で計算できることがわかっている.
程度の低い点連結度のグラフに関しては木表現などの手法を用いることが可能.
それ以上のグラフに関してはきれいな表現方法は知られていない.
既存のネットワークの耐故障性を解析する問題を取り上げた.
より実践的な「グラフにどのように辺を追加すれば,連結度を向上させられるか」という問題を扱う.
連結度増大問題
入力
グラフ ,目標の辺連結度出力
の辺連結度が 以上となる最小本数の辺集合
(ただし, とする)
(点連結度の場合もある)
ここでは,図5のグラフ の連結度をからに増大させてみる.
解法1
- 本の辺の加え方を全通り
- 本の辺の加え方を全通り
- ...
グラフ全体の連結度がを超えるまで行う
→ かなり効率が悪い
見方を変えて,「何本の辺を加える必要があるか」を考える.
例) の連結度は であるから,少なくとも本は辺を加える必要がある.
→ もし本加えて辺連結度が になれば,その解は最適である.
辺連結度を増やすためには,各最小辺カット に対して と の間に少なくとも本の辺を加える必要がある.→「 の不足度は である」と表現する.
の最小辺カットは図6の で表されているため, を見てみる. の次数の頂点に対応する の頂点集合 に対して, は の最小辺カットであることから, はいずれもその不足度は である.
→ 不足度の合計は .これを,辺を追加することで解消したい.
辺 を追加すると, の不足度がずつ上がる.同様に本の辺を加えることで,多くての不足度を解消することができる.よって, 本の辺を追加する必要がある.
図6は のすべての最小辺カットを表現しているため,これらの辺に対して辺が本以上加えられていることがわかる.→ 最低限必要な本数の辺集合で解を構成できたため,この解は最適である.
すべての最小辺カットを表すカクタスグラフが多項式時間で構成できることから,この解は多項式時間で構成できる.
「解の下界値」を用いて最適解を多項式時間で求めることが可能
点連結度を増大させる問題に関しては,未解決な部分が多く,多項式時間で解けるかどうかもわかっていない.
[1] 伊藤大雄・宇野裕之,「離散数学のすすめ」, 現代数学社, 2010
[2] 茨木俊秀・永持仁・石井利昌, 「グラフ理論 -連結構造とその応用-」, 朝倉書店, 2010