网络流之最小割

网络流 最小割

专业讲解:

 

    对于给定网络,为了保证没有从s到t的路径,求需要删去的边的总容量的最小值。

    对于某个顶点集合S⊆V,从S出发指向S外部的边的集合,记为割(S, V\S)。如果s∈S,t∈(V\S),那么此时的割成为s-t割。如果将割包含的边都删去,就不再有从s到t的路径了。

 

    与最大流问题有很大的联系,到代码实现的时候就知道了。

    对于任意的s-t流f和任意的s-t割(S, V\S)。很容易证明:(f的流量) = (S的出边的总流量-S的入边的总流量) ≤ (S的出边的总流量) = (割的容量)。

    用Ford-Fulkerson算法求出了流f,“流完”后的残余网络已经不存在s到t的路径。用总方案减去不合法的最小流f,即是最优的方案。

通俗点讲:

    我承认,上面一大段文字绝大部分都是资料里复制粘贴的。下面说说自己的理解。

    其实最小割就是求出最小的非法值,之所以要叫最小割,也就是最小要割去哪些点。

    比如说,A不可以到B,在AB之间连一条边,在跑最小割的时候,如果不跑到点B结果是最优的,就把点B割掉。。。感觉理解得不是特别透彻。

posted @ 2017-08-19 16:02  yiyiyizqy  阅读(173)  评论(0编辑  收藏  举报