網絡流:
定義:
網絡:
網絡是指一個有向圖 \(G =(V,E)\).
每條邊 \((x,y) \in E\) 都有一個權值 \(c(u,v)\) ,稱之為容量,當 \((u,v) \notin E\) 時有 \(c(u,v)=0\)
其中有兩個特殊的點:源點 \(s\) 和匯點 \(t\), \((s\not ={t})\)
流:
設 \(f(u,v)\) 定義在二元組 \((u \in V,v \in V)\) 上的實數函數滿足:
-
容量限制:
對於每條邊,流經該邊的流量不超過該邊的容量,即 \(f(u,v) \leq c(u,v)\) -
斜對稱性:
每條邊的流量與其相反邊的流量之和為 \(0\) ,即 \(f(u,v)+f(v,u)=0\) -
流守恆性:
從源點流出的流量等於匯點流入的流量。
那么 \(f\) 稱為網絡 \(G\) 的流函數,對於 \((u,v)\in E\),\(f(u,v)\) 稱為邊的流量。
\(c(u,v)-f(u,v)\) 稱為 邊的剩余容量。
整個網絡的流量為 \(\sum_{(s,v\in E)}f(s,v)\) ,即 從源點發出的所有流量之和
一般來說也可以把網絡流理解為整個圖的流量,這個流量滿足上述三個性質。
常見問題:
最大流:
我們有一張圖,要求從源點流向匯點的最大流量 (可以有很多條路到達匯點).
最小費用最大流:
每條邊都有一個費用,代表單位流量流過這條邊的開銷。我們要在求出最大流的同時,要求花費的費用最小。
最小割:
最小割就是割掉 \(X\) 條邊來讓 \(S\) 跟 \(T\) 不互通。我們要求 \(X\) 條邊加起來的流量總和最小。