zoukankan      html  css  js  c++  java
  • 最大流最小割定理证明

    对于单源单汇网络, 最大流等于最小割 。网络的一个割是指对于这个网络的点的划分, 划分成两个集合 (S,T),要保证源点属于 (S), 汇点属于 (T), 其价值定义为 (sumlimits_{uin S, vin T,(u,v)in E}c(u,v)) , 其中 (c) 是容量。最小割是价值最小。

    证明

    首先显然地, 对于网络的任意一个可行流 (f) 和其任意一个割 ((S,T)), 都有 (f(s,t) = color{red}{sumlimits_{uin S, vin T,(u,v)in E}f(u,v)} color{black}{-} color{blue}{sumlimits_{uin T, vin S,(u,v)in E}f(u,v)})

    这个东西是小于等于 (sumlimits_{uin S, vin T,(u,v)in E}c(u,v)) 的, 所以 最大流小于等于最小割

    将网路跑出最大流后,可以构造出一个割:把 (s) 能通过残量网络到的点集设为 (S),其余设为 (T), 作为割 ((S,T)), 从 (S)(T) 的边必然满流, 从 (T)(S) 的边必然 0 流, 所以这个割的价值就是最大流的流量, 而这个割显然就是最小割。

    关于从 (T)(S) 的边必然 0 流:也就是一条边 (f(uin T,vin S)>0),这意味着它的对称边 (f(v,u)=-f(u,v)), 由于 (c(v,u)=0), 所以边 ((v,u)) 的残量其实是 (f(u,v)), 所以可以推出 (v otin T), 与定义相悖。

  • 相关阅读:
    java降序排列
    冒泡排序-java
    redis-并发竞争问题
    超卖问题
    算法-题目汇总-6
    算法-题目汇总-4
    算法-题目汇总-1
    算法-二分查找-1
    算法-bst-平衡搜索二叉树-1
    算法-位运算-1
  • 原文地址:https://www.cnblogs.com/tztqwq/p/14108827.html
Copyright © 2011-2022 走看看