相关笔记

概览

全章围绕最大流(Maximum Flow)问题展开。首先建立流网络的形式化框架,定义容量约束流守恒等基本概念(24.1);然后介绍经典的Ford-Fulkerson方法,通过残差网络增广路径迭代逼近最大流,并证明核心的最大流最小割定理(24.2);最后将最大流算法应用于二部图最大匹配问题,展示问题归约的威力(24.3)。全章的核心主线是 如何高效计算网络中的最大流量——从基本概念到经典算法再到实际应用。


知识结构总览

flowchart TD
    A["第24章 最大流"] --> B["24.1 流网络"]
    A --> C["24.2 Ford-Fulkerson方法"]
    A --> D["24.3 最大二分匹配"]

    B --> B1["流的形式化定义"]
    B --> B2["容量约束 + 流守恒"]
    B --> B3["反平行边处理"]
    B --> B4["多源多汇归约"]

    C --> C1["残差网络 Gf"]
    C --> C2["增广路径"]
    C --> C3["最大流最小割定理"]
    C --> C4["Edmonds-Karp: O(VE²)"]

    D --> D1["匹配 → 最大流归约"]
    D --> D2["流网络构造"]
    D --> D3["Hall婚配定理"]
    D --> D4["O(VE)"]

    B --> C
    C --> D

核心概念回顾

三节内容对比

比较维度24.1 流网络24.2 Ford-Fulkerson24.3 最大二分匹配
定位基础概念框架核心算法应用实例
核心问题如何定义流?如何求最大流?如何求最大匹配?
关键概念容量约束、流守恒、流值残差网络、增广路径、割匹配、完美匹配、归约
核心定理引理24.1(归约正确性)最大流最小割定理定理24.10(匹配=流值)
复杂度Ford-Fulkerson不确定;Edmonds-Karp

算法选型指南

最大流算法选择

  • 一般场景:Edmonds-Karp(BFS选最短增广路径),,实现简单
  • 大规模稀疏图:Dinic算法,,理论更优
  • 大规模稠密图:推送-重贴标签算法,
  • 二部图匹配:直接归约为最大流,;或使用Hopcroft-Karp算法,

核心定理

最大流最小割定理(Theorem 24.2)

以下三个条件等价:

  1. 的最大流
  2. 残差网络 中不包含从 的增广路径
  3. 的某个割 ,有

推论: 最大流值等于最小割容量。

二部图匹配与最大流的关系(Theorem 24.10)

在二部图匹配归约得到的流网络中,最大匹配的大小等于最大流的值。


跨章关联

与第20章(基本图算法)的关系

第20章概念第24章应用
BFS(广度优先搜索)Edmonds-Karp算法中用BFS找最短增广路径
DFS(深度优先搜索)Ford-Fulkerson方法中可用DFS找增广路径
图的表示(邻接表/邻接矩阵)流网络使用邻接表表示,便于遍历残差边

与第22章(单源最短路径)的关系

  • Edmonds-Karp用BFS找最短增广路径(按边数),这与BFS求无权图最短路径的思想一致
  • 残差网络中边的权重视为1(每条增广路径的”长度”=边数),因此BFS天然适用
  • 最大流最小割定理的证明中,割的概念与最短路径中的距离概念有类比关系

与第23章(所有结点对最短路径)的关系

  • 第23章的矩阵乘法方法与第24章的Ford-Fulkerson方法都是迭代改进策略
  • 两者都通过逐步”扩展”或”增广”来逼近最优解
  • 最大流问题与最短路径问题都是网络优化的经典问题

与第25章(二部图匹配)的关系

  • 24.3节是第25章的前置:24.3展示了匹配→最大流的归约方法
  • 第25章将进一步讨论稳定婚姻问题、匈牙利算法等更高级的匹配算法

综合复习题


常见误区

误区1:流和容量是同一个概念

正确理解:容量 是边 能承载的流量的上界,是网络的固有属性。流 是实际通过边 的流量,是算法的输出。流必须满足 (容量约束)。类比:容量是管道的粗细,流是实际流过的水量。

误区2:Ford-Fulkerson方法总是能在多项式时间内终止

正确理解:基本的Ford-Fulkerson方法(用DFS选增广路径)在容量为无理数时可能不终止。即使容量为整数,其运行时间为 ,其中 是最大流值——这不是输入规模的多项式。只有Edmonds-Karp(BFS选最短增广路径)才能保证 的多项式时间。

误区3:最大流问题只适用于运输网络

正确理解:最大流是一个通用的组合优化框架,应用远超运输网络。典型应用包括:二部图匹配(24.3节)、图像分割(Graph Cut)、棒球淘汰判定、项目选择问题、网络可靠性分析、社交网络影响力最大化等。任何可以建模为”在容量约束下最大化流量”的问题都可以用最大流算法求解。


学习要点总结

学习目标掌握程度对应笔记
流网络的形式化定义掌握24.1 流网络
容量约束与流守恒熟练24.1 流网络
反平行边与多源多汇处理掌握24.1 流网络
残差网络与增广路径熟练24.2 Ford-Fulkerson方法
最大流最小割定理及证明熟练24.2 Ford-Fulkerson方法
Edmonds-Karp算法与复杂度分析掌握24.2 Ford-Fulkerson方法
二部图匹配→最大流归约熟练24.3 最大二分匹配
Hall婚配定理掌握24.3 最大二分匹配

参见Wiki

概念页尚未创建

第24章-最大流 章节汇总