最大流算法的最新进展
1. 引言
最大流问题是一个经典的优化问题,在众多领域都有广泛应用。过去四十多年来,人们一直在研究解决该问题的算法。近年来,最大流算法的理论性能有了显著提升。本文将对这些成果进行梳理,并提供相关文献指引。我们假定读者熟悉基本的流算法,如迪尼茨(Dinitz)的阻塞流算法。
2. 预备知识
最大流问题是在给定一个带弧容量的图 $G$、源点 $s$ 和汇点 $t$ 的情况下,找到具有最大流量值的流。这里的流是定义在弧上的函数,需满足所有弧的容量约束以及除源点和汇点外所有顶点的流量守恒约束。
我们区分有向和无向流问题。在标准问题表述中,容量为实数。该问题有两个重要的特殊情况:整数容量情况和单位容量情况。
在表述复杂度界限时,我们用 $n$ 表示输入图的顶点数,用 $m$ 表示弧的数量。使用 $O^ $ 符号忽略 $\log n$ 因子。对于整数容量情况,假设容量在区间 $[1…U]$ 内,做相似性假设 $\log U = O(\log n)$,并使用 $O^{ *}$ 符号忽略 $\log n$ 和 $\log U$ 因子。
有向和无向流问题密切相关。福特(Ford)和富尔克森(Fulkerson)提出的一个著名归约方法,可将无向问题归约为规模和容量值相近的有向问题。皮卡尔(Picard)和拉特利夫(Ratliff)提出的另一个归约方法则更为惊人,它不会显著增加问题规模,但可能会增大容量。当应用于单位容量问题时,该归约方法会产生一个容量为 $n$ 的多项式的问题(相当于一个具有单位容量且边数为 $n$ 和 $m$ 的多项式的无向多重图)。目前还没有已知的有效方法能将无向单位容量问题
超级会员免费看
订阅专栏 解锁全文
3796

被折叠的 条评论
为什么被折叠?



