考虑一个场景,我们需要求从 源点到 终点
的最大流量。
几个概念:
容量:每条边最多可以通过的流量
流: 一条从源点到汇点的 一个合法解(路径)称为 一条流
源点: 起点
汇点: 终点
不成熟的方法:
从源点开始搜索,一直到汇点,可以搜索出来一条流,然后在源点不停搜索,直到无法找到一条流。
但是这样的结果,不一定是正确的。
考虑下面这幅图,我们随机选择了一条不正确的路,所以最终的答案是不正确的。
解决方法:
建立反向边,给我们的程序反悔的机会。 【可以这样来理解,这条边流量的方向是不确定的,所以可以退回反方向的流量,当然正反方向可以流量不相等】
一些极限的情况:
考虑上面这幅图,这样的话,我们的程序 最差的情况下需要 200000次搜索。
改进算法:EK算法,每次寻找最短路进行增广
还能优化么?
以后再写
参考博客:https://www.cnblogs.com/rmy020718/p/9546071.html