Algorithm 为什么福特·富尔克森如此无处不在?

Algorithm 为什么福特·富尔克森如此无处不在?,algorithm,time-complexity,max-flow,ford-fulkerson,Algorithm,Time Complexity,Max Flow,Ford Fulkerson,在研究最大流解决方案时,福特·富尔克森似乎无处不在,因为它是大多数人用来解决这个问题的算法。然而,有一些算法可以解决这些问题,并且在一个特定的时间内。那么为什么ford fulkerson仍然被如此广泛地使用呢?ford–fulkerson是最简单的算法,它体现了一个关键思想,即当且仅当没有增广路径时,流才是最大的。这对教学很有用 因为F–F没有指定如何找到扩充路径,所以它更像是一个框架,而不是一个算法。Edmonds–Karp是F–F的一个实例,它限制了必须找到的扩充路径的数量。Dinic的算

在研究最大流解决方案时,福特·富尔克森似乎无处不在,因为它是大多数人用来解决这个问题的算法。然而,有一些算法可以解决这些问题,并且在一个特定的时间内。那么为什么ford fulkerson仍然被如此广泛地使用呢?

ford–fulkerson是最简单的算法,它体现了一个关键思想,即当且仅当没有增广路径时,流才是最大的。这对教学很有用

因为F–F没有指定如何找到扩充路径,所以它更像是一个框架,而不是一个算法。Edmonds–Karp是F–F的一个实例,它限制了必须找到的扩充路径的数量。Dinic的算法改进了Edmonds–Karp,保留了一个数据结构,使其能够更有效地找到扩充路径。(有点偏离传统路径,平面网络中s-t流的O(n logn)-时间算法也是F–F实例化。)

push-relabel算法进一步继承了Dinic算法的思想,但它们打破了F-F模式,使用了预流,而不是流(预流允许更多的流进入顶点而不是离开,但反之亦然)。从历史上看,他们遵循Dinic的算法,作为对Dinic的一种反应,更具直觉意义

该列表中的其他算法很复杂,不适合本科教学,这就解释了为什么缺少教程材料。

你说的“广泛使用”是什么意思?(也就是说,你在哪里“寻找最大流量解决方案”?)@shananton-如果我在谷歌上搜索“最大流量”,几乎每个链接都专门谈论福特富尔克森和实施福特富尔克森解决最大流量问题等。