帮我解释下网络流

网上有关“帮我解释下网络流”话题很是火热,小编也是针对帮我解释下网络流寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。

必须知识:最短路径问题

1.Dijkstra

适用于满足所有权系数大于等于0(lij≥0)的网络最短路问题,能求出起点v1到所有其他点vj的最短距离;

朴素的Dijkstra算法复杂度为O(N^2),堆实现的Dijkstra复杂度为O(NlogN).

2.bellman-ford

适用于有负权系数,但无负回路的有向或无向网络的最短路问题,能求出起点v1到所有其它点 vj的最短距离。bellman-ford算法复杂度为O(V*E)。

3.Floyed

适用于有负权系数,可以求出图上任意两点之间的最短路径。DP思想的算法,时间复杂度为O(N^3);

for ( k= 1; k<= n; k++)

for ( i= 1; i<= n; i++)

if (graph[i][k]!=INF)

for ( j= 1; j<= n; j++)

if (graph[k][j]!=INF && graph[i][k]+graph[k][j]< graph[i][j])

graph[i][j]= graph[i][k]+ graph[k][j];

NO.1 s-t最大流

两大类算法

1.增广路算法

Ford-Fulkerson算法: 残留网络中寻找增加路径

STEP0:置初始可行流。

STEP1:构造原网络的残量网络,在残量网络中找s-t有向路。如果没有,算法得到最大流结束。否则继续下一步。

STEP2:依据残量网络中的s-t有向路写出对应到原网络中的s-t增广路。对于增广路中的前向弧,置s(e)=u(e)- f(e)。对于反向弧,置s(e)=f(e) STEP3:计算crement=min{s(e1),s(e2),…,s(ek)}

STEP4:对于增广路中的前向弧,令f(e)=f(e)+crement;对于其中的反向弧,令f(e)=f(e)-crement,转STEP1。

关键点:寻找可增广路。决定了算法复杂度。

实现:Edmonds-Karp 通过采用了广度优先的搜索策略得以使其复杂度达到O(V*E^2)。

优化—> Dinic算法(*)

Dinic算法的思想是为了减少增广次数,建立一个辅助网络L,L与原网络G具有相同的节点数,但边上的容量有所不同,在L上进行增广,将增广后的流值回写到原网络上,再建立当前网络的辅助网络,如此反复,达到最大流。分层的目的是降低寻找增广路的代价。

算法的时间复杂度为O(V^2*E)。其中m为弧的数目,是多项式算法。邻接表表示图,空间复杂度为O(V+E)。

2.预流推进算法

一般性的push-relabel算法: 时间复杂度达到O(V^2*E)。(*)

relabel-to-front算法->改进

最高标号预流推进:时间复杂度O(V^2*sqrt(E))

NO2. 最小费用最大流

求解最小费用流的步骤和求最大流的步骤几乎完全一致,只是在步骤1时选一条非饱和路时,应选代价和最小的路,即最短路。

步骤1. 选定一条总的单位费用最小的路,即要给定最小费用的初始可行流,而不是包含边数最小的路。

步骤2. 不断重复求最大流的步骤来进行,直到没有饱和路存在为止。然后计算每个路的总费用。

和Edmonds-Karp标号算法几乎一样,因为这两种算法都使用宽度优先搜索来来寻找增广路径,所以复杂度也相同,都是O(V*E^2)。

连续最短路算法 + 线性规划对偶性优化的原始对偶算法(*)

传说中,没见过,据说复杂度是O(V^3)

NO3. 有上下届的最大流和最小流(通过添加点来进行转化)(*)

NO4. 相关图论算法

二分图最大匹配: 加s和t构造最大流

专用算法:hungary算法 O(M*N)

二分图最佳匹配: 加s和t构造最小费用最大流

专用算法:KM算法

朴素的实现方法,时间复杂度为O(n^4)

加上松弛函数O(n^3)

最小路径覆盖:

顶点数-二分图的最大匹配

s-t最小边割集:

最大流最小割定理:最小割等于最大流

普通最小边割集:

Stoer-Wagner Minimum Cut O(n^3)

二分图的最大独立集:

N - 二分图的最大匹配(POJ monthly)girls and boys

反证法证明

普通图的最大独立集是np问题。(*)

费用不一样。

1、最小费用最大流是指:满足最大流的情况下,让费用最小。

2、最小费用最大流,是在满足上面所说的前提下,经过的路径要最多。

3、最大流模型,费用高于后者,但是最大流模型流的路径比它更多,覆盖面更广。

关于“帮我解释下网络流”这个话题的介绍,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!

本文来自作者[hzjyqz]投稿,不代表金永号立场,如若转载,请注明出处:https://hzjyqz.cn/zshi/202507-5180.html

(16)
hzjyqz的头像hzjyqz签约作者

文章推荐

发表回复

作者才能评论

评论列表(3条)

  • hzjyqz的头像
    hzjyqz 2025年07月21日

    我是金永号的签约作者“hzjyqz”

  • hzjyqz
    hzjyqz 2025年07月21日

    本文概览:网上有关“帮我解释下网络流”话题很是火热,小编也是针对帮我解释下网络流寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。必须知识:最短路径...

  • hzjyqz
    用户072108 2025年07月21日

    文章不错《帮我解释下网络流》内容很有帮助