🔖 算法图论网络流最大权闭合图

Terms

对于有向图 G=(V,E),其中 VG 的点集,EG 的边集。

  • 割集: 一个 st[S,T]V 的一种划分,使得 sStT

  • 最小割: 一个 st 割的容量是 c(S,T)=(μ,ν)(S×T)Ec(μ,ν);容量最小的割集称为最小割

  • 简单割:若一个 st 割满足割中的每条边都只与源点 s 或汇点 t 相连,则称该割为简单割

  • 闭合图:若点集 VV 是一个闭合图,那么对于 μ,νE,若 μV 则必有 νV

  • 最大权闭合图: 一个点权和最大的闭合图

    如下图所示,图中有 9 个闭合图(含空集):{3,4,5}{4,5}{5}{1,2,4,5}{2,5}{2,4,5}{2,3,4,5}{1,2,3,4,5}。其中,惟一的最大权闭合图为 {3,4,5},且权和为 4

    1.png

最大流最小割定理

f 为流网络 G=(V,E) 中的一个流, 该流网络的源节点为 s, 汇点为 t, 则下面的条件是等价的:

  • fG 的一个最大流
  • 残流网络 Gf 不包含任何增广路径
  • |f|=c(S,T), 其中 [S,T] 是流网络 G 的最小割

网络流与最大权闭合图

将原图转化为网络 N=(VN,EN)

  • 将原图中的所有有向边 μ,νE 替换为容量为 c(μ,ν)= 的有向边 μ,ν,并将其纳入边集 EN

  • 增加源点 s 和汇点 t

  • 由源点向原图中的所有正权点 ν(ων>0) 连接一条容量为 c(s,ν)=ων 的有向边 s,ν,并将其纳入边集 EN

  • 由原图中的所有负权点 ν(ων<0) 连接一条容量为 c(ν,t)=ων 的有向边 ν,t,并将其纳入边集 EN

也就是

(1)VN=V{s,t}(2)(3)EN=E{s,ν|νV,ων>0}{ν,t|νV,ων<0}(4)(5)其中,{c(μ,ν)=μ,νEc(s,ν)=ωνων>0c(ν,t)=ωνων<0

上式中的 取一个大于 νV|Wν| 即可。则原图 G 构成的网络 N 如下图

2.png

若原图所有正权点的点权和为 Rv,对该网络跑最大流,且最大流为 Rf,所得到的最小割为 [S,T],则有:

  • 原图的最大权闭合图的权和为 RvRf

  • S{s} 为原图点数最少最大权闭合图

证明由下述几个引理构成。


引理1

本问题的网络 N 中,最小割是简单割。

由于除与源点 s 或汇点 t 直接相连的边的容量是有限的,其它边是无限的,那么最小割中显然不会出现容量为无限的边(因为强行割断所有与源点相连的边可以构成一个割集,且割的容量是有限的,最小割的容量不会比这个大),所以该最小割是简单割。


引理2

G1 是原图 G 的一个闭合子图V1G1 的点集;V1 为点集 V1 在原图 G 中的补集,即 V1V1=V。则网络 N 的简单割 [S,T] 与图 G 的闭合子图 G1 存在一个一一对应关系:

V1{s}=S

其中

  • 闭合图对应简单割:即 S=V1{s}T=V1{t}

    因为 V1 是一个闭合图,所以不存在 μ,νE,其中 μS{s}νT{t}。也就是不存在不与源汇有关联的边,其两个端点分别在 V1V1 中,所以 [S,T] 是一个割集。
    引理1 可知,[S,T] 是一个简单割。

  • 简单割对应闭合图:即 V1=S{s} 是一个闭合图。

    μS{s}νT{t};显然不存在边 μ,νE,否则与 [S,T] 是割集矛盾(因为 c(μ,ν)=)。


引理3

V+V点权为正的最大点集,VV点权为负的最大点集;类似地,定义 V1+V1V1+V1. 则在 引理2 的一一对应关系下(即 V1{s}=SV1{t}=T),有:

(1)c[S,T]=νV1+ων+νV1(ων)

显然,[S,T]=[{s},V1][{t},V1][V1,V1] (分析构造图的源汇关联情况不难得出结论)

  • 因为[S,T] 是简单割,故 [V1,V1]=
  • 又因为 s 只与正权点连边,故 [{s},V1]=[{s},V1+]
  • t 只与负权点连边,故 [{t},V1]=[{t},V1] 因此,[S,T]=[{s},V1+][{t},V1],即可证明了式 (1) 的正确性

引理4

当网络 N 取得最小割时,其对应的图 G 的闭合图(V1=Ss)将取得最大权(最优性):

按照定义,闭合图的权值为正权点的权的绝对值和 - 负权点的权的绝对值和,即

(2)ω(V1)=νV1+ωννV1(ων)

由式 (1) 和式 (2),可得:

(6)ω(V1)+c[S,T]=νV1+ωννV1(ων)+νV1+ων+νV1(ων)(7)=νV1+ων+νV1+ων(8)=νV+ων

整理得 ω(V1)=νV+ωνc[S,T]

  • 《最小割模型在信息学竞赛中的应用》--by 胡伯涛
© 2017-2025 光和尘有花满渚、有酒盈瓯

Comments