[图论]最大流问题(Maximum flow)的定义

来源:互联网 发布:python 卡尔曼滤波 编辑:程序博客网 时间:2024/06/11 18:20


首先定义网络(network)N =(V,E), V表示顶点(Vertices)集合, E表示边(Edges)集合。


s,t是V中的两个顶点,分别表示网络N中的源点(source)和汇点(sink)。


容量(Capacity)是一个映射c:E->R+,记为c(u,v),表示边(u,v)上的容量。


流(flow)也是一个定义在边上的映射f:E->R+, 记为f(u,v),表示边(u,v)上的流。


网络N中的流,满足两个限制:

1) f(u,v) <=c(u,c), (u,c) \in E, 这表示N中任意边上的流(flow)不会超过边上的容量(capacity)。

2)\sum_{u:(u,v) \in E}f(u,v) = \sum_{u:(v,u)\in E}f(v,u), 这表示N中每个顶点进入和离开的流量之和相等,需要注意的是,这个限制不包括source和sink两个顶点。


网络流量值(the value of flow):为\sum_{(s,v)\in E} f(s,v), 就是从s(source)点离开的流的和,也就是整个网络的流量。


最大化这个流量值就是最大流问题。

0 0
原创粉丝点击