返回顶部

10.9传输网(Transport network)

10.9传输网(Transport network)

一些名词:

流量守恒(Conservation of flow)

除源点s(source)和宿点t(sink)之外,要求其他节点流入的流量和流出的流量相等

最大流(Maximal flow)

对于网络流图G,流量最大的可行流f,称为最大流

基本算法描述

  1. 最为朴素的算法,便是利用回溯法,对所有可能的路径情况分析并取所有可能情况的最大值
  2. 基于贪心算法的思考,在最开始先找一可行流(feasible flow),在此基础上上不断的寻找增广路径,直到再无增广路径;但是问题在于贪心寻找时不一定最优,故引入反向边的概念,利用这一思路达到回溯的作用以确保正确性;这就是这个算法的精华部分,利用反向边,使程序有了一个后悔和改正的机会

因此得到如下基本算法:

  1. 找一可行流,对每条边的流量更新称剩余流量和反向流量
  2. 寻找增广路径,注意流量既可以走正向流量,也可以走反向流量;将总的流量值更新
  3. 重复过程2直至再无增广路径;此时得到的流量值即为最大流

最大流最小割定理

一言以蔽之,最大流等于最小割

编程算法实现

从寻找增广路径着手,可以深搜,广搜和一些其他记忆化操作来辅助寻找增广路径(如给节点通过BFS进行分层,规定只能从低层级向高层级流通等进行优化),最常用高效的求最大流的算法:Dinic算法<暂缺>

posted on 2020-01-05 17:13  进击の辣条  阅读(640)  评论(0编辑  收藏  举报

导航