max-flow min-cut定理のおかげで、任意のアルゴリズムを使用してネットワークグラフの最大フローを計算し、 -min-cut を計算できることがわかります。したがって、最小の計算の複雑さ最大値の計算の複雑度以下である留分 -flowを。(s 、t )(s 、t )
少なくてもいいですか?最小カットを計算するアルゴリズムは、max-flowアルゴリズムよりも高速ですか?
私は、削減の削減発見しようとしたに)-max-フローの問題を -minカット問題は、しかし、私は1つを見つけることができませんでした。私が最初に考えたのは、分割統治アルゴリズムを使用することでした。まず、グラフを2つの部分に分割する最小カットを見つけます。ここで、左部分の最大フローと右部分の最大フローを再帰的に見つけ、それらをカットを横断するすべてのエッジと結合します。これは実際に最大フローを生成するために機能しますが、その最悪の場合の実行時間は、min-cutアルゴリズムの実行時間の倍にもなります。より良い削減はありますか?(s 、t )O (| V |)
max-flow min-cut定理は、max-flowの値を計算する複雑さがmin-cutの容量を計算する複雑さと同じであることを示していますが、それは私が求めていることではありません。最大フローを見つけ、最小カットを(明示的に)見つける問題について質問しています。
これは、以下を除き、min-cutからのmax-flowの計算と非常に密接に関連しています。おそらく与えられた我々は見つけることができますいくつかのグラフの最小カットするような、それは簡単の最大フローを計算することができます、他の質問の範囲外だものです。G ' G ' G