最小割和最大流

最小割(Minimum Cut)和最大流(Maximum Flow)是網路流問題中的兩個基本概念,它們之間存在密切的關係。

最小割問題: 在一個帶權的有向圖中,找到一個割(即劃分頂點集為兩個不相交的子集),使得被割開的邊的權重總和最小。這個問題在許多最佳化問題中都有套用,例如在圖像分割、機器學習中的特徵選擇等。

最大流問題: 給定一個帶權的有向圖和一個起點的源點 S,一個終點的匯點 T,以及每個邊的容量(流量限制),找到從 S 到 T 的最大流量。最大流問題在許多領域都有套用,例如在物流調度、資源分配等。

最大流和最小割的關係: 最大流和最小割是等價的,即找到一個圖的最大流等價於找到一個圖的最小割。這個結論是由美國數學家David Gale、R. M. Karp、L. S. Larson和F. R. McMorris在1979年證明的。這個等價性可以通過福特-弗ulkerson算法(Ford-Fulkerson algorithm)來證明,該算法通過不斷找到增廣路(augmenting path)來找到最大流。

證明的簡要概述:

  1. 給定一個圖 G,我們可以通過福特-弗ulkerson算法找到從 S 到 T 的最大流。
  2. 我們可以通過檢查最大流中的每條邊是否滿流來構造一個割。如果一條邊滿流,那麼它屬於割;否則,它不屬於割。
  3. 我們可以證明,這個構造的割的容量總和等於最大流的流量。
  4. 因此,找到最大流等價於找到最小割。

這個等價性在理論計算機科學和 operations research 中有著重要的套用,它不僅提供了解決最大流問題的一種方法,而且還提供了一種理解網路流問題本質的途徑。