当前位置: 首页 > news >正文

最大流最小割定理

1. 符号与定义

设流网络为有向图 \(G = (V, E)\),其中:

  • 容量函数 \(c : E \to \mathbb{R}^+\),边 \((u,v)\) 的容量记为 \(c(u,v) \ge 0\)
  • 源点 \(s \in V\),汇点 \(t \in V\),且 \(s \neq t\)
  • 一个 \(f : E \to \mathbb{R}\) 满足:
    • 容量限制:对每条边 \((u,v) \in E\),有 \(0 \le f(u,v) \le c(u,v)\)
    • 流量守恒:对每个顶点 \(u \in V \setminus \{s, t\}\),有 \(\sum_{v \in V} f(u,v) = \sum_{v \in V} f(v,u)\)

\(f\)定义为从源点流出的净流量:

\[|f| = \sum_{v \in V} f(s,v) - \sum_{v \in V} f(v,s). \]

一个 \((S, T)\) 是将顶点集划分为两个子集,使得 \(s \in S\)\(t \in T\)\(T = V \setminus S\)。割的容量定义为从 \(S\)\(T\) 的所有边的容量之和(只计方向从 \(S\) 指向 \(T\) 的边):

\[c(S,T) = \sum_{u \in S} \sum_{v \in T} c(u,v). \]

定义流过割的净流量(考虑两个方向的边):

\[f(S,T) = \sum_{u \in S} \sum_{v \in T} f(u,v) - \sum_{u \in S} \sum_{v \in T} f(v,u). \]


2. 引理:任意流的值不超过任意割的容量

对任意流 \(f\) 与任意割 \((S,T)\),有

\[|f| = f(S,T) \le c(S,T). \]

证明:
由流量守恒,对所有 \(u \in S \setminus \{s\}\),它流入与流出 \(S\) 内部的净效果为零。通过将所有属于 \(S\) 的顶点的流量守恒方程相加,可得

\[|f| = \sum_{u \in S}\left(\sum_{v \in V} f(u,v) - \sum_{v \in V} f(v,u)\right) = f(S, V) - f(V, S). \]

由于 \(S \cup T = V\)\(S \cap T = \emptyset\),将 \(V\) 拆为 \(S\)\(T\),化简后即得 \(|f| = f(S,T)\)
又由容量限制 \(f(u,v) \le c(u,v)\) 且反向边流量非负,有

\[f(S,T) \le \sum_{u \in S}\sum_{v \in T} c(u,v) - 0 = c(S,T). \]

因此 \(|f| \le c(S,T)\)
由此立即可得:最大流的值 ≤ 最小割的容量。


3. 可达性构造:等号成立的割

\(f\) 是网络中的一个最大流(即不再存在增广路径)。定义残量网络 \(G_f = (V, E_f)\),其中对原网络每条边 \((u,v)\)

  • \(f(u,v) < c(u,v)\),则在 \(G_f\) 中加一条正向边 \((u,v)\),剩余容量为 \(c(u,v) - f(u,v)\)
  • \(f(u,v) > 0\),则在 \(G_f\) 中加一条反向边 \((v,u)\),剩余容量为 \(f(u,v)\)

\(G_f\) 中,令

\[S = \{ v \in V \mid \text{存在从 } s \text{ 到 } v \text{ 的路径} \}, \quad T = V \setminus S. \]

显然 \(s \in S\)。因 \(f\) 是最大流,残量网络中 不存在从 \(s\)\(t\) 的路径(否则沿该路径增广可增大流值),故 \(t \in T\)。因此 \((S,T)\) 是一个合法割。


4. 最大流的值等于该割的容量

考察原网络中所有跨越割的边:

  1. 对任意 \(u \in S, v \in T\),若原网络中存在边 \((u,v)\),则必有 \(f(u,v) = c(u,v)\)
    否则 \(c(u,v) - f(u,v) > 0\),在 \(G_f\) 中会有正向边 \((u,v)\),由于 \(u\)\(s\) 可达,\(v\) 也会变得从 \(s\) 可达,与 \(v \in T\) 矛盾。
  2. 对任意 \(u \in S, v \in T\),若原网络中存在边 \((v,u)\)(方向从 \(T\)\(S\)),则必有 \(f(v,u) = 0\)
    否则 \(f(v,u) > 0\),在 \(G_f\) 中会有反向边 \((u,v)\),同样导致 \(v\)\(s\) 可达,矛盾。

因此,

\[f(S,T) = \sum_{u \in S}\sum_{v \in T} f(u,v) - \sum_{u \in S}\sum_{v \in T} f(v,u) = \sum_{u \in S}\sum_{v \in T} c(u,v) - 0 = c(S,T). \]

由引理有 \(|f| = f(S,T)\),于是

\[|f| = c(S,T). \]

即该流 \(f\) 的值等于割 \((S,T)\) 的容量。


5. 完成

结合第 2 节(任意流值 ≤ 任意割容量)与第 4 节(存在一个流与一个割使值相等),可得:

  • \(f\) 为最大流(其值不可能再增大),\((S,T)\) 为最小割(其容量不可能再减小)。
  • 最大流值 = 最小割容量
http://www.zskr.cn/news/1493905.html

相关文章:

  • 3D目标跟踪评测避坑指南:别再只看MOTA了,AMOTA/sAMOTA怎么算?
  • 上海闵行区江诗丹顿手表回收测评|同城上门 + 无损验表 - 禹竞
  • 举证倒置?电子合同在司法诉讼中的采信标准与证据链构建
  • 别再手动拷贝DLL了!用CMake自动化配置OSG 3.6.5开发环境(VS2022版)
  • LPC210x系列ARM7微控制器:从定时器、PWM到低功耗设计的嵌入式实战指南
  • 出手旧金看这里!宁波靠谱回收,无损计价当场回款 - 奢侈品交易观察员
  • macOS光标定制终极指南:用Mousecape打造个性化鼠标指针体验
  • 2026年佛山冻品批发小型餐饮店怎么选?山禾冻品起订灵活 - 资讯快报
  • DzzOffice集成OnlyOffice踩坑实录:从插件冲突到API配置,我的避坑指南全在这了
  • 2026年上海全屋定制怎么选:本地工厂直营vs全国连锁品牌,性价比与售后深度对标 - 年度推荐企业名录
  • 基于JTAG与Nexus的MPC5500 Flash底层编程实战解析
  • 常州黄金回收去哪,本地实体店铺报价透明无套路 - 奢侈品回收测评
  • 2026年兰州石膏线定制供应商深度选型指南:源头直供vs中间商对比 - 年度推荐企业名录
  • SAP ABAP开发避坑指南:GUID做主键时,RAW(16)和SYSUUID_*这些类型到底怎么选?
  • 嵌入式低功耗设计实战:从KL27电气特性到功耗模式优化
  • 别再手动建模了!用Python+Blender API,5分钟搞定一个随机太阳系动画
  • 2026济南黄金回收王者|收的顶=行业标杆!大盘价+5元/克碾压同行,无损检测+免费上门,当场秒到账,全程0套路 - 奢侈品回收评测
  • 让AI成为第二天性:认知接口重定义实践指南
  • VR-Reversal:终极免费工具,3D VR视频轻松转2D观看
  • 深度拆解novel-downloader:200+站点通用型小说下载器的技术架构与实战指南
  • Visual Studio Code + MCP Server + Claude Code 三件套进行 ABAP 开发
  • 嵌入式系统内存可靠性实战:基于PowerQUICC II Pro的ECC配置与验证详解
  • 抖音内容创作者的专业素材库构建指南:从零开始打造无水印视频资源库
  • 3步掌握HTML转Word文档:html-to-docx实战指南
  • 2026好用的PDF转换器手把手教程,多款工具实操对比指南 - 办公小帮手
  • 2026年贵阳高考志愿填报与升学规划:如何避免高分低就与滑档陷阱 - 优质企业观察收录
  • KMA221磁角度传感器:从AMR原理到工业级应用实战
  • LangGraph高级RAG:从线性链到可决策智能体工作流
  • Superpowers 与 OpenSpec 使用指导手册
  • 露营装备独立站和阿里国际站哪个好? - 外贸营销驿站