最大流问题及Ford-Fulkerson方法

本文深入探讨了流网络的概念、形式化定义及其关键性质,包括容量限制、流值计算和最大流问题。通过解释残存网络的概念,阐述了Ford-Fulkerson方法在寻找最大流过程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

流网络

流网络是一个有向图,G=(V,E),图中的每条边有一个非负的容量值c(u,v)0.如果(u,v)E,则定义c(u,v)=0。且在流网络中含有两个特殊的点:源节点 s汇结点 t
流网络的形式化定义如下:
G=(V,E)为一个流网络,其容量函数为 cG中的是一个实值函数f:V×VR,满足如下性质:

  • 容量限制:对于所有结点u,vV,其中0f(u,v)c(u,v) .

  • 对于所有结点uVs,t,其中

    vVf(v,u)=vVf(u,v)

f(u,v)为从结点u到结点 v的流。

一个的值 |f|定义为:

|f|=vVf(s,v)vVf(v,s)

即,流f的值为从源结点流出的总流量减去流入源结点的总流量。

最大流问题就是在给定的流网络中找到最大的

Ford-Fulkerson

之所以称它为方法,是因为它本身包含了几种运行时间各不相同的具体实现。
在了解Ford-Fulkerson方法之前,我们先来看以下几个概念。

残存网络

在给定的流网络G和流f,* 残存网络 Gf *由那些仍有空间对流量进行调整的边构成。其残存流量定义为

cf(u,v)=c(u,v)f(u,v)

只有当cf(u,v)>0,才将边<u,v>加入到残次网络中。
更一般的,残存容量可以定义为:
假定有一个流网络G=(V,E),其源结点为s,汇结点为t。设f为图G中的一个流,考虑结点对u,vV的残存容量cf(u,v)
cf(u,v)=c(u,v)f(u,v),f(u,v)0(u,v)E(u,v)E

而残存网络的每条边,即残存边必须允许大于0的流量通过。

添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值