相关概念介绍:

这里的相关概念引用的是yxc大佬的讲解,在这里特别感谢yxc大佬的算法课,让我入了算法竞赛的门。

1.1:流网络:G=(V,E)
特点:是一个有向图,且可以有环,不考虑反向边(即使有反向边,也可以通过加点来把一条反向边,变成两条单向边)。
组成:源点,容量,汇点。
源点可以认为是起点,类比与水库,可以源源不断地向外输水。
容量可以理解为离散数学的边权,类比与流速即单位时间内流过的最大的水量的大小。如果边不存在则认为容量是0。
汇点可以认为是终点,类比与大海,从水库里流出来的水,会源源不断的流向大海。
1.2:可行流:f(u,v)
描述:可行流是人为的指定的一条边,让它有你设定的流量。
特点:不需要考虑反向边
条件:当同时满足以下两个条件时,这条边可以成为可行流。
1.容量限制:也就是说你设定的流量不能够超过容量。即0<=f(u,v)<=C(u,v)
2.流量守恒:我们规定除了源点和汇点都不能储存流量,也就是说除了源点和汇点,剩下的节点都应该入多少流量,出多少流量,达到流量守恒:a+b+c=d+e+f
定义大小:|f|=每秒流出源点的总流量-每秒流入汇点的总流量(一般情况下只有流出,没有流入)
注:
1.它虽然是人为定义的,但是是可以计算的。
2.可行流不是指的某一个边,或者某一个点,而是有一个点的进入的流量等于流出的流量,将这些流入流出的边,抽象成一个可行流(满足可行流的两个条件)
3.一个流网络可以有无数个可行流,因为我们的数值不一定取整数
最大流: 对于一个流网络来说会有非常多的可行流,每一个可行流都可以求出一个流量值,这些流量值构成的集合中,流量最大的那个,就是最大流,即最大可行流。
残留网络:Gf
描述:针对流网络的一条可行流来说,所以可行流不同的话,残留网络也不同。
特点:
1.与可行流一一对应
2.考虑反向边

定义:残留网络中的点的点集和原图完全相同,但是边集不仅包含原图的所有边,还包含了原图中所有边的反向边,即包含两倍的边集(残留网络也是流网络,所以具备流网络的相应组成元素)
边:
1.正向边的容量:是指在原图容量下,除去已经流入的流量而剩下的流量,等于原图该边容量减去原图该边流量,意在还能增加多少流量。
2.反向边的容量:是指在原图该边的流量的基础上,表示退流的流量,退流就是反向流的流量,这个流量等于原图该边的流量(水管里有多少水就可以退多少水),意在减少流量。
残留网络可行流定理:原网络的可行流+其对应的残留网络的可行流仍然等于原网络的一个新的可行流,所以新的可行流的流量值=原可行流的流量值+其对应的残留网络可行流的流量值。
性质:在残留网络中每有一个流量不为0的可行流都可以增加原网络的可行流,即|f’+f|=|f|+|f’|,其中f与f‘是一一对应的关系,而不是任意的两个从原网络和残存网络取出的可行流
推论:
1.如果残留网络中含有流量不为0的可行流的话,原网络的可行流一定不是最大流,反过来,如果残留网络中没有含有流量大于等于0的可行流,原网络的可行流也不一定是最大流。
2.如果残留网络中没有可行流,则原网络中的可行流一定是最大流。

1.3:增广路径:
描述:在残存网络中,从源点开始,沿着容量大于0的边,能够到达汇点的路径,称为增广路径。(一般的增广路径没有环,只是简单的路径)
特点:增广路径一定是可行流。
定理:如果在原网络中的一个可行流,由这个可行流构造出的残留网络中没有增广路径,那么这个可行流必然是原网络中的最大可行流即最大流。
1.4:割:
描述:图网络G=(V,E)我们将图网络的点集V分为两个集合:S和T,其中S和T的关系是:S与T的交集为空集,S与T的并集是点集V,其中源点s是S的元素,汇点t是T的元素,我们把划分后的结果S和T称为割,注意S和T的点集不一定联通。

割的方式:2^(n-2)种
割的容量:是S到T中所有的边的容量之和,如果有T到S的则不计入割的容量之中(不考虑反向边),C(S,T).
如果一个流网络确定了,那么割的容量也确定。
最小割:指的是最小割的容量。
割的流量:所有从S到T的边的流量减去从T到S的边的流量。(考虑反向边)f(S,T).
对于不同的可行流,割的流量是不同的。
割的定理:
1.割的流量一定小于等于割的容量
f(S,T)小于等于C(S,T).
2.流网络的任意一个可行流和割的流量,一定有可行流的流量等于割的流量。
f(S,T)=|f|
割的性质:

  1. f(X,Y)=-f(Y,X)
  2. f(X,X)=0;
  3. 如果X和Y没有交集,则f(Z,X∪Y)=f(Z,X)+f(Z,Y)
  4. 果X和Y没有交集,则f(X∪Y,Z)=f(Z,X)+f(Z,Y)
    结论:
    对于任意一个网络流的可行流的流量等于割的流量小于等于割的容量:|f|<=C(S,T);
    所以最大可行流一定小于等于最小割的流量
    注:在考虑割中的边的时候使用的是原网络中的边的关系

1.5:最大流最小割定理:
可以通过两个推出一个,或者一个推出两个:

  1. 可行流f是最大可行流。
  2. 可行流f的残留网络不包含增广路径
  3. 存在一个割使得这个割的容量等于可行流的流量

其中可行流f是最大流则可行流f的残留网络必然不包含增广路径,而如果一个可行流f的残留网络不包含增广路径,这个可行流f不一定是最大流,需要借助定理3去证明

网络流(入门)-概念相关推荐

  1. C功底挑战Java菜鸟入门概念干货(一)

    一.认识Java 1.Java 程序比较特殊,它必须先经过编译,然后再利用解释的方式来运行.  2.Byte-codes 最大的好处是--可越平台运行,可让"一次编写,处处运行"成 ...

  2. CCNA-第一篇-基础入门概念

    ** 基础入门概念 **前言 没有什么学习是简单的.任何东西,包括你打游戏(除非是弱智的单机游戏)搞IT,一个月熬熬夜 月薪过X-W的大有人在,早9晚5一个月3K,自己选择.所以看你怎么学,每个人都很 ...

  3. 大数据入门概念及应用场景

    参考内容: [知乎]深入浅出大数据:到底什么是Hadoop? [知乎]五万字 | Hive知识体系保姆级教程​ 大数据入门概念及应用场景 一.入门概念 1.1 大数据的4V 1.2 大数据处理的最佳工 ...

  4. 一、 网络安全基础入门-概念名词

    目录 网络安全学习(2022.10.23) 一.基础入门--概念名词 DNS 脚本语言 后门(2022.11.06) WEB WEB相关安全漏洞 演示案例 网络安全学习(2022.10.23) 一.基 ...

  5. poj pku图论、网络流入门题总结、汇总

    poj pku图论.网络流入门题总结.汇总 分类: acm图论 2010-08-25 18:49 243人阅读 评论(0) 收藏 举报 网络算法networkgraphconstructioninte ...

  6. python中pyplot是什么意思_pyplot 入门概念小结

    pyplot 入门概念小结 知乎的markdown支持实在是太差了,我就不在这里一个一个代码显示样式了,详情看我在简书发的文章.也希望高手指点一下怎么在知乎里面用好Markdown.也可以移步我的微信 ...

  7. 对计算机文件概念的理解,入门概念之三: 什么是文件 - 电脑知识学习网

    入门概念之三: 什么是文件 12-05  电脑知识学习网   来源: 网络 文件在我们在电脑学习中用得最多的一个词.  那什么是文件呢? 文件是如何保存在电脑中的? 文件有那些类型? 文件有那些属性? ...

  8. 网络流入门——算法模板,习题和解析

    最近一段时间再搞网络流,今天终于搞完了!!!!QAQ,好累呀. 首先是关于网络流的基础知识,这部分东西有点多,就不在这里说了,给几个有用的资源. 先推荐一下建图的博客:链式向前星,静态链表和邻接矩阵建 ...

  9. 大白话ElasticSearch入门概念,看不懂找我!

    点击上方蓝色"胖滚猪学编程",选择"设为星标" 跟着胖滚猪学编程!好玩!有趣! 这是胖滚猪ES系列博文第三篇,大白话ElasticSearch入门概念. 阅读本 ...

  10. java web入门——概念理解、名词解释

    引言:当你想入门java web后,一定会查阅到很多相关的名词:Servlet,HTML,Spring...等等之类的,但是对于他们之间的关系总是比较混乱的,这篇文章就是理清这些名词的关系. 什么是w ...

最新文章

  1. 智能跳过节假日算法java_java计算两个日期之前的天数实例(排除节假日和周末)...
  2. v-show和v-if的区别
  3. python的clock函数,Python3 time clock()方法
  4. webview中cookie的读取与保存
  5. gdb可以查询执行文件的宏, 但是查询不了o文件的宏
  6. 软件协会发布开源软件与商业软件知识产权报告
  7. 《Puppet实战手册》——导读
  8. 空间说说秒赞java_人生靠反省,Java靠泛型
  9. nginx做负载均衡+keepalived(做主备)
  10. 学会使用box-sizing布局
  11. matlab 交换两列数据,在MATLAB单元阵列的两列中列出单元格内容(List cell contents in two columns of MATLAB cell array)...
  12. 小萌谈Art(3)——离线编程篇
  13. oracle存储过程报ORA-20000的错误
  14. 红米4a android 9 速度,雷军感叹科技进步速度太快!Redmi 9入门机性能已经相当于骁龙835...
  15. 设置IE文档模式解决IE浏览器兼容性
  16. 我的MATLAB学习
  17. 【案例】湘潭大学一体化运维管理平台
  18. 利用条形码扫描技术的智能仓储管理解决方案
  19. 话筒性能测试软件,动圈式话筒性能的检测
  20. 二次曲线指数平滑怎么用计算机运行,一次,两次和三次的指数平滑方法的深入分析...

热门文章

  1. 程序员大神,C++编程制作不一样的五子棋小游戏
  2. 使用visio绘制无线信号符号
  3. 网站url路径优化方法完全讲解 (url优化、基于tp5、API接口开发)
  4. js倒计时(js倒计时5秒)
  5. 国内下载centos的镜像网站大全
  6. 升级Java17问题记录
  7. c语言无穷大的常量,C/C++中如何表示正无穷和负无穷
  8. python可以做名字吗_我国男女生常用名有哪些?Python用wordcloud展示,有你名字吗?...
  9. Jdbc连接数据库做删除操作
  10. HTML的列表、表格、表单