zoukankan      html  css  js  c++  java
  • 网络流(二)——最大流最小割定理

    最小割
    <1>什么是割?
        引例:你的仇人是一个工厂老板.你要炸掉一些车,让他每个货物都运不到销售点.
            炸掉越大的车,你越容易被发现.你希望炸掉的车的容量之和尽量小.
            最小化这个值.
        定义:选出一些边的集合,使得删除它们之后从源点无法到达汇点,那么这个集合就叫做一个割.
            这些边的容量之和称作这个割的容量.
    <2>最小割最大流定理
        定理1:任取一个割,其容量大于最大流的流量.
            证明:           

        从源点到汇点的每条路径都会经过割上的至少一条边.
                割掉这些边之后,把源点能到达的点放到左边,不能到达的放到右边.
               显然源点到汇点的流量不会超过从左边走向右边的次数,而这又不会超过从左边到右边的边的容量之和.
                直观一点,假设你是在车装着货物的时候炸掉了它.
                每个货物你至少付出1的代价炸掉(流量小于容量的时候你要付出比货物数更多的代价),所以你炸的代价不会小于货物数.
        定理2:最小割的容量等于最大流的流量,且FF方法能够正确的求出它.
            这意味着一个惊人的事实:你能够仅付出和货物数相同的代价,就把你的仇人的财路炸断.
            证明:

          考虑FF算法结束时,残量网络上没有了增广路.
                那么我们假设这时候,从源点经过残量网络能到达的点组成的集合为X,
                不能到达的点为Y.显然汇点在Y里,并且残量网络上没有从X到Y的边.
                可以发现以下事实成立:
                    (1)Y到X的边流量为0.如果流量不为0那么应该存在一条从X到Y的反向边,于是矛盾.
                    (2)X到Y的边流量等于其容量.只有这样它才不会在残量网络中出现.
                根据第一个条件,我们可以得知:没有流量从X到Y之后又回到了X.
                所以当前流量应该等于从X到Y的边的流量之和,而根据第二个条件它又等于从X到Y的边容量之和.
                而所有从X到Y的边又构成一个割,其容量等于这些边的容量之和.
            这意味着我们找到一个流和一个割,使得前者的流量等于后者的容量.
            而根据前面的结论,最大流的流量不会超过这个割的容量,所以这个流一定是最大流.
            同样的,最小割的容量也不会小于这个流的流量,所以这个割也一定是最小割.
            这就是FF法最后的局面(由于FF会终止,所以它必定求出这样一个局面),由此我们得出结论:FF是正确的,并且最大流等于最小割
     

  • 相关阅读:
    冯小刚贺岁片十大经典台词
    网络”X客”大集合:博客、维客、奇客、播客、闪客、摩客、威克…
    [ASP.NET]动态页面调用JS错误。保存为HTML文件就不报错了。
    xp sp2 pro 安装IIS时候出现 安装程序无法复制文件staxmem.dl_
    上传功能出现 asp 0104 不允许操作解决方法
    插入数据库记录时候“输入字符串的格式不正确。 ”
    猪的FLASH-星晴
    Tab Bar Controller 与 Navigation Controller 共存
    iPhone控件之UILabel
    使用MPMoviePlayerViewController播放视频
  • 原文地址:https://www.cnblogs.com/yanyiming10243247/p/9384952.html
Copyright © 2011-2022 走看看