noise

計算機科学や各種設定のメモ

大域最小カット(Global Minimum Cut)

問題

連結無向グラフG=(V,E)のカットのうち最小のものを求める。

実装

ソースコード(IdeOne)

解説

  • 乱択アルゴリズムによる実装。
  • 一辺をランダムに選んで縮約していく。
  • 最後に2点残る。これらの点に縮約された点が大域最小カットである可能性は1/\binom{n}{2}以上。
  • 頂点の数をnとし、\binom {n}{2} \ln nアルゴリズムを繰り返すとき、大域最小カットが得られない確率は\frac{1}{n}以下となる。
  • 決定的アルゴリズムの素朴な実装は始点sを任意に選び、s-tカットアルゴリズムn-1回使用して最小値をとったものとなる。これは多項式時間アルゴリズムである。
  • このKargerによる方法をさらに改良したアルゴリズムがある。参照(pdf)
  • 大域最小カット問題は画像の領域分割に使えるらしい。