zoukankan      html  css  js  c++  java
  • 关于网络流的一些基本名词及其定义。

    根据自己的理解写的,可能有错误。

    弧的容量:指的是一条弧(有向边)最大承受能力。

    弧的流量:实际通过这条弧的流量。

    网络流:所有弧上流量的集合。

    可行流:简单的说就是一张图能够实现的网络流。

    可行流的流量:能够实现的网络流的流量。

    零流:每条弧的流量都为零。

    伪流(容量可行流):满足弧流量限制条件,不满足平衡条件。

    最大流(网络最大流):流量最大的可行流。

    饱和弧:流量等于容量。

    非饱和弧:流量小于容量。

    零流弧:流量等于零。

    非零流弧:流量大于零。

    链:顶点序列(u,a,b,c....,v)为一条链,链中的弧的方向不一定要求一致。因此一条链中有前向弧(其集合记作P+)和向弧(其集合记作P-)。

    前向弧:方向从u指向v的弧。

    后向弧:方向从v指向u的弧。

    前向弧和后向弧都是相对的,根据指定链的方向而决定。

    增广路:

    假设P是一条从源点到汇点的链。P中所有的前向弧满足0<=f(u,v)<c(u,v),即P+不饱和;P中所有的后向弧满足0<f(u,v)<=c(u,v),即P-都是非零流弧。那么P就是一条增广路(增广路不一定是一条路径)。

    通过寻找增广路,可以增加流量。具体操作如下:

    (1) 先算出α=   α就是可以改进的增量。

    (2) 对于增广路上的P+,流量都加上α。对于P-,流量都减去α。

    这样操作之后,可行流增加了。

    残留容量: 弧<u,v>的残留容量c~(u,v)=c(u,v)-f(u,v)。此外,还有一个反向的残留容量,c~(v,u)=f(u,v)。

    残留网络(剩余网络): 把每条弧都做成残留容量,就成了残留网络。残留网络中任意一条从源点到汇点的路径都对应这一条增广路,路径中剩余容量最小的边的值可以作为增广的流量。

    割: E是弧的集合,设E~为E的一个子集,如果G在删除E~之后不再连通,则E~为G的割。

    S—t割: 删除E~将图分成两部分,源点在其中一部分,而汇点在另一部分内,则称E~为S—t割。

    割的容量: c(S,T)=∑c(u,v),u∈S,v∈T,<u,v>∈E。在统计割的容量时,不统计反向弧的容量。

    最小割:容量最小的割。

    割的净流量:f(S,T)=∑f(u,v),u∈S,v∈T,(<u,v>||<v,u>)∈E。在统计净流量时,反向弧的流量为负值。

    Ford-Fulkerson标号法求网络最大流:简单的说就是不断地求出增广路,不断增加流量,最终算出网络最大流。

  • 相关阅读:
    git 获取领先落后的命令
    django orm 时间字段讲解
    在SAE上同步djanogo的mysql数据库
    使用JS来实现验证码功能
    一个基于python的即时通信程序
    关于python多线程编程中join()和setDaemon()的一点儿探究
    Django1.6添加comments应用的简单过程
    使用saltstack批量部署服务器运行环境事例——批量部署nagios客户端
    Web服务器集群搭建关键步骤纪要
    关于rsync的密码问题
  • 原文地址:https://www.cnblogs.com/zufezzt/p/4583862.html
Copyright © 2011-2022 走看看