カット (グラフ理論)
From Wikipedia, the free encyclopedia
グラフ理論において、グラフ G(V, E) の頂点 V の 2 分割 (S, T) をカット(英: Cut)とよぶ。このとき、ある辺 (u,v) E の端点が u S かつ v T(有向グラフの場合 u T でかつ v S の場合もある)であるとき、この辺を「カットエッジ」と呼ぶ。
カットのサイズ(カットの重み)は、カットエッジの総数(辺重みグラフの場合はカットエッジそれぞれの辺重みの総和)で表される。フローネットワークでは、カットのサイズは始点側から終点側へ向かう辺重みの総和で定義される(逆方向のエッジは加算されない)。
頂点集合のべき集合を定義域としたカットのサイズを返す集合関数は「カット関数」と呼ばれ、 劣モジュラ関数、かつ、正モジュラ関数である。
最小カット


最小サイズのカットのことを最小カットとよぶ。最大フロー最小カット定理は、最大フロー(流量)が始点と終点をそれぞれ含む頂点集合の二分割の間にあるカットエッジの重み付けの総和と等しいことを意味する。最小カット問題には多項式時間のアルゴリズムが存在し、フォード・ファルカーソンのアルゴリズムや、グラフの最大隣接順序を用いた永持・茨木のアルゴリズムがある。
無向グラフにおける最小カットのサイズは辺連結度とも呼ばれる。無向グラフのすべての最小カットはカクタスと呼ばれるグラフで表現でき、辺連結度に関するアルゴリズムにおけるデータ構造としての利用を含め様々な応用が存在する。
最小カット問題を線形計画問題として定式化したとき、双対問題は最大フロー問題である。最小カット問題と最大カット問題は双対ではないので注意されたい。
最大カット
最大サイズのカットを最大カットとよぶ。最大カット問題はNP完全であり、この証明は、最大充足可能性問題からの変換で得られる。無向グラフの最大カット問題に対する既存の乱択アルゴリズムについて述べる[1]。まず、基本的な解法は無向グラフのそれぞれの頂点を 1/2 の確率で選んで頂点集合を構成することで得られる。カットはこの操作で得られた頂点集合とそれ以外の頂点集合からなる 2 分割となる。また、Goemans と Williamson による0.878近似アルゴリズムが存在する。これは、グラフを超球面上への描画を考え、各辺重みと辺の両端点の距離の積の総和を最大化するような頂点配置の問題に帰着する解法であり半正定値計画問題を解くことで最大カットを算出する。unique games conjecture が真である限りにおいて、このアルゴリズムは最適な近似アルゴリズムと言える。