最大流量法

最大流量法(Maximum Flow Algorithm)是一種算法,用於在給定的有向圖(也稱為流量網路)中找到從一個特定源點(source)到匯點(sink)的最大可能流量。流量網路中的每個邊都有一個容量(capacity),表示該邊能夠承載的最大流量。最大流量問題就是在不違反邊容量的情況下,找到從源點到匯點的最大流量路徑。

最大流量問題在許多領域都有套用,例如在交通網路中找到最佳的貨物運輸路徑,在電路中找到最大電流路徑,以及在網路流中找到最大數據傳輸路徑等。

解決最大流量問題有許多算法,其中最著名的是福特-福爾克森算法(Ford-Fulkerson algorithm),它是一種疊代增廣(iterative augmentation)算法。該算法通過反覆找到增廣路(augmenting path)來逐步增加流,直到無法再找到增廣路為止。

最大流量的性質包括:

  1. 最大流必存在:對於任何給定的流量網路,從源點到匯點的最大流是存在的。
  2. 最大流最小割定理:最大流等於網路中割集(s-t cut)的最小容量。
  3. 流網路中的流有基爾霍夫定律:流入一個節點的流必須等於流出該節點的流。

最大流量法通常用於最佳化和網路流問題,是計算機科學和 operations research 中的重要概念。