自 2010 年 · 每月支援超過 200 萬次工具執行
自 2010 年
加到 Chrome

我的工具箱

自動模式

尚未收藏任何工具。

升級為高級版
相關工具
拓撲排序計算機數字提取器
主頁 > 數學 > 進階數學計算
 

網路最大流計算機

以搭配 Edmonds-Karp 的 Ford-Fulkerson 演算法計算容量網路中從源點到匯點的最大流。以動畫呈現每條增廣路徑,顯示剩餘容量、飽和邊與作為證明的最小割。

免費使用無需註冊即時出結果
網路最大流計算機立即免費試用 ▼
邊格式:A -> B : 10(箭頭加容量),或 A, B, 10
矩陣格式:每行一個橫列,C[i][j] 為邊 i → j 的容量(無邊則填 0)。對角線必須為 0。
以逗號或空格分隔標籤,每個對應一個矩陣行。預設為 S, A, B, …, T。

Embed 網路最大流計算機 Widget

網路最大流計算機

這款網路最大流計算機可以計算任何帶容量的有向網路中,從選定的源點 s 到選定的匯點 t最大流。它底層運行帶有廣度優先增廣路徑Ford-Fulkerson 方法(即 Edmonds-Karp 演算法),並記錄找到的每一條路徑,讓您可以逐次迭代地重播整個決策過程。結果頁面還會顯示最小割 — 證明您的流量值確實是最優的瓶頸分區。

什麼是最大流問題?

流量網路是一個有向圖 G = (V, E),連同一個容量函數 c: E → ℝ≥0。其中區分了兩個頂點:源點 s(流量發源地)和匯點 t(流量消耗地)。流量 f 是分配在邊上的值 f(u, v) ≥ 0,且遵循:

容量限制: 0 ≤ f(u, v) ≤ c(u, v) 對於每一條邊 (u, v) 流量守恆: Σ f(w, v) = Σ f(v, w) 對於所有 v ∈ V \ {s, t} 流量值: |f| = Σ f(s, w) − Σ f(w, s) (離開 s 的淨流量)

最大流問題旨在尋找能使 |f| 最大化的流量 f。直觀來說:如果邊是具有給定容量的水管,您每秒可以從 s 運送多少公升的水到 t

演算法原理 — 配合 BFS 的 Ford-Fulkerson

演算法在處理當前流量的同時維護一個剩餘圖。對於每條具有容量 c 和當前流量 f 的邊 (u, v),剩餘圖包含:

在每次迭代中,它會在剩餘圖上執行從 st廣度優先搜尋 (BFS)。如果找到路徑,則路徑上的最小邊容量(即瓶頸)會加到路徑上每條前向邊的流量中,並從每條反向邊的流量中減去。這被稱為增廣路徑。當 BFS 再次執行卻無法到達 t 時,當前流量即為最優解。

當 剩餘圖中存在從 s 到 t 的增廣路徑 P 時: b ← 路徑 P 中邊 (u, v) 的最小剩餘容量 c_residual(u, v) 沿路徑 P 推送 b 單位的流量 // 更新剩餘圖與流量 返回 總流量 |f|

使用 BFS(而非任意路徑搜尋策略)將 Ford-Fulkerson 轉變為 Edmonds-Karp 演算法,其保證運行時間為 O(V · E²)。它還保證在邊容量為無理數時也能終止,而普通的 Ford-Fulkerson 則無法保證。

最大流最小割定理

割 (Cut) 是將頂點劃分為兩個集合 (S, T) 的分區,其中 s ∈ St ∈ T。其容量是從 ST 的邊容量之和:

cap(S, T) = Σ c(u, v) 對於 u ∈ S, v ∈ T

最大流最小割定理 (Ford & Fulkerson, 1956) 指出:

最大流值 = 最小割容量

此工具會自動尋找最小割。在 Edmonds-Karp 終止後,它會在剩餘圖上從 s 執行最後一次 BFS;所到達的頂點形成 S,其餘頂點形成 T,且原始圖中所有橫跨 S → T 的邊都是飽和的。它們的容量之和恰好等於最大流值 — 在核心結果中顯示為「最小割容量 ✓ 確認最優性」。

專為學習設計的功能

輸入格式

1. 帶容量的邊列表

每行輸入一條邊。箭頭形式最易讀,但以下幾種替代方案也適用:

S -> A : 10 S -> B : 13 A -> B : 10 B -> A : 4 B -> T : 14

同樣接受:A, B, 10 · A B 10 · A -> B , 10。相同頂點對之間的多條邊將會被加總。

2. 容量矩陣

每行輸入一個橫列,數值以空格或逗號分隔。項目 C[i][j] 是從頂點 i 到頂點 j 的邊容量。使用 0 代表「無邊」。矩陣必須是正方形,且對角線必須為 0(不允許自環)。

S A B C D T S [ 0 10 0 10 0 0 ] A [ 0 0 4 2 8 0 ] B [ 0 0 0 0 0 10 ] C [ 0 0 0 0 9 0 ] D [ 0 0 6 0 0 10 ] T [ 0 0 0 0 0 0 ]

矩陣標籤欄位中輸入對應的頂點標籤(以逗號或空格分隔)。如果省略,標籤預設為 S, A, B, …, T

最大流的應用

領域最大流的使用方式
運輸與物流鐵路/道路/管道網路每天從起點到終點能運輸多少貨物?
二分圖匹配將工作分配給工人,或將學生分配給專案。單位容量的最大流可得出最大匹配。
圖像分割計算機視覺中的 Boykov–Kolmogorov 最小割可將前景與背景畫素分離。
網路可靠性最小割可識別出哪些最弱連結失效後會導致網路中斷。
專案時程管理閉包問題和選擇問題可以簡化為最小割問題。
棒球淘汰分析判斷一支球隊在數學上是否已與聯賽冠軍無緣。

範例解析

「教科書」快速範例編碼了一個具有源點 S 和匯點 T 的 6 節點網路。執行 Edmonds-Karp 會產生四條增廣路徑:

  1. S → A → B → T,瓶頸為 4(邊 A-B 是限制因素)。累計流量:4。
  2. S → A → D → T,瓶頸為 6。累計流量:10。
  3. S → C → D → T,瓶頸為 4(邊 D-T 現在是限制因素,僅剩 4)。累計流量:14。
  4. S → C → D → B → T,瓶頸為 5。累計流量:19。

演算法停止 — 不再存在增廣路徑。最小割為 (S = {S, C}, T = {A, B, D, T}),橫跨邊為 S → A (容量 10)C → D (容量 9),總和為 19 — 恰好等於最大流值。

如何使用此計算機

  1. 使用選項卡選擇輸入格式 — 邊列表(建議)或容量矩陣。
  2. 輸入您的網路。 您可以從快速範例開始並進行修改。若使用矩陣輸入,如果您想要 S, A, B, …, T 以外的名稱,請提供標籤。
  3. 指定源點和匯點(或留空以自動偵測 ST)。
  4. 點擊計算最大流。 結果頁面會顯示最大流值、最小割分區、分層圖表視覺化、每一條增廣路徑、邊利用率表以及三個矩陣(容量、流量、剩餘流量)。
  5. 播放圖表下方的動畫以重播演算法的決策過程。點擊任何增廣路徑步驟可直接跳轉至該步驟。

限制

常見問題

什麼是最大流問題?

給定一個有向網路,其中每條邊都有非負容量,最大流問題在探討:在滿足每條邊的流量不超過其容量,且流入每個非源點、非匯點頂點的流量必須等於流出該頂點的流量這兩個規則下,從指定的源點 s 可以向匯點 t 推送多少流量?答案稱為最大流值。

什麼是 Ford-Fulkerson 方法?

Ford-Fulkerson 是計算最大流的一種通用技術。它反覆在剩餘圖中尋找從源點到匯點的增廣路徑,沿該路徑推送盡可能多的流量(瓶頸容量),然後更新剩餘圖。當不存在增廣路徑時,程序終止。當使用廣度優先搜尋 (BFS) 進行路徑選擇時,它被稱為 Edmonds-Karp 演算法,運行時間為 O(V · E²) 級別。

流量網路的最小割是什麼?

割是將頂點劃分為兩個集合 S 和 T 的分區,使得源點在 S 中,匯點在 T 中。割的容量是從 S 到 T 的邊容量之和。最小割是容量最小的割。著名的最大流最小割定理證明,最大流值始終等於最小割容量,因此找到其中一個就等於免費得到了另一個。

什麼是剩餘圖?

剩餘圖追蹤每條邊還能推送多少流量。對於每條原始邊 (u, v),若容量為 c 且當前流量為 f,則剩餘圖包含一條容量為 c 減 f 的前向邊 (u, v)(剩餘容量)和一條容量為 f 的反向邊 (v, u)(可取消流量)。增廣路徑使用剩餘圖的邊,允許演算法撤銷之前的決定。

為什麼工具使用 BFS 尋找增廣路徑?

選擇使用廣度優先搜尋 (Edmonds-Karp) 尋找增廣路徑可以保證無論邊容量如何,都能在多項式時間內終止。普通的 Ford-Fulkerson 若使用任意路徑尋找策略,在病態輸入下可能會循環指數級次迭代,在無理數容量下甚至可能不終止。BFS 還會產生最短的增廣路徑,更易於閱讀和推理。

飽和邊代表什麼意思?

當邊的流量等於其容量時,該邊即為飽和,這意味著無法再在其上推送更多流量。飽和邊是網路的瓶頸,且每個最小割完全由從割的 S 側到 T 側的飽和邊組成。工具會以紅色突出顯示飽和邊,讓您一眼就能看到瓶頸結構。

延伸閱讀

引用此內容、頁面或工具為:

"網路最大流計算機" 於 https://MiniWebtool.com/zh-tw/網路最大流計算機/,來自 MiniWebtool,https://MiniWebtool.com/

由 miniwebtool 團隊製作。更新日期:2026年4月22日

您還可以嘗試我們的 AI數學解題器 GPT,通過自然語言問答解決您的數學問題。

進階數學計算:

熱門與最新工具:

最大心率計算機One Rep Max (1RM) 計算機現金流量保證金計算機查看全部 →
主頁 > 數學 > 進階數學計算 > 網路最大流計算機