
グラフ理論では、グラフの最小カットまたは最小カットとは、あるメトリックにおいて最小となるカット(グラフの頂点を 2 つの互いに素な部分集合に 分割すること)のことです。
最小カット問題のバリエーションでは、重み付きグラフ、有向グラフ、端末、および頂点を 2 つ以上のセットに分割することが考慮されます。
正と負の両方の重みを許容する重み付き最小カット問題は、すべての重みの符号を反転することで、 重み付き最大カット問題に簡単に変換できます。
終端ノードなし
非負の重みに制限された無向の重み付きグラフの最小カット問題は、 Stoer-Wagner アルゴリズムによって多項式時間で解決できます。グラフが重み付けされていない特殊なケースでは、Karger のアルゴリズムによってカットを見つけるための効率的なランダム化方法が提供されます。この場合、最小カットはグラフの エッジ接続に等しくなります。
最小カット問題を末端なしで一般化したものには最小kカットがあり、その目的はできるだけ少ない辺を削除してグラフを少なくともk 個の連結成分に分割することです。 kの値が固定されている場合、この問題は多項式時間で解くことができますが、 k が大きい場合にはこのアルゴリズムは実用的ではありません。[2]
ターミナルノード付き
2 つの終端ノードが指定されている場合、それらは通常、ソースとシンクと呼ばれます。フロー ネットワークでは、最小カットによってソース頂点とシンク頂点が分離され、カットのソース側からカットのシンク側に向けられたエッジの容量の合計が最小になります。最大フロー最小カット定理に示されているように、このカットの重みは、指定されたネットワークでソースからシンクに送信できるフローの最大量に等しくなります。
重み付けされた無向ネットワークでは、特定の頂点のペアを互いに分離し、重みが最小となるカットを計算することができます。すべての可能な頂点のペアに対してこの問題を解決するカットのシステムは、グラフの Gomory-Hu ツリーと呼ばれる構造にまとめることができます。
端子付き最小カット問題の一般化はk端子カット、または多端子カットである。平面グラフでは、この問題は多項式時間で解くことができる。しかし、一般にこの問題は の場合でもNP困難である。[3]
アプリケーション
グラフ分割問題は、グラフを2つ以上の部分に分割し、カットの両側のサイズのバランスをとるなどの追加の制約を課す組み合わせ最適化問題の一種です。セグメンテーションベースのオブジェクト分類は、正規化された最小カットスペクトルクラスタリングを画像セグメンテーションに適用した特殊なケースと見なすことができます。また、ノードがメトリック空間から取得されたと想定されるデータサンプルであり、エッジの重みがそれらの距離である一般的なクラスタリング手法としても使用できます。ただし、の計算が複雑すぎるため、これは多くの場合非現実的です。
最大フロー最小カット定理により、2 つのノードの最小カット値は、それらの最大フロー値に等しくなります。この場合、最大フロー問題で使用されるいくつかのアルゴリズムを使用して、この問題を解決することもできます。
最小カット数
頂点を持つグラフは、最大で異なる最小カットを持つことができます。この境界は、頂点上の(単純な) サイクルが正確に最小カットを持つという意味で厳密です。
参照
参考文献
- ^ 「4 Min-Cut アルゴリズム」。2016 年 8 月 5 日時点のオリジナルよりアーカイブ。
- ^ Goldschmidt, Olivier; Hochbaum, Dorit S. (1994). 「固定kに対するkカット問題に対する多項式アルゴリズム」.オペレーションズ・リサーチの数学. 19 : 24–37 . doi :10.1287/moor.19.1.24.
- ^ Dahlhaus, E.; Johnson, DS; Papadimitriou, CH; Seymour, PD; Yannakakis, M. (1994). 「The Complexity of Multiterminal Cuts」(PDF) . SIAM Journal on Computing . 23(4):864– 894. doi :10.1137/S0097539792225297. S2CID 1123876. 2018-12-25に オリジナル(PDF)からアーカイブ。
