【网络流】:一些基本知识
来源:互联网 发布:blog与mysql的分离 编辑:程序博客网 时间:2024/05/16 15:41
1)求最小割的割集:
在最大流中,源点 s 和残留网络中所有 s 可达的节点构成最小割。
2)最大流和最小割唯一性的关系
3)怎么判断一个流图中的最小割是否唯一
先求最大流,得到残留网络,从源点出发得到能够到达的结点,然后从汇点出发逆着边的方向往回走得到能够到达的结点(即能够到达汇点的结点),如果结点全部能够被访问到,最小割就是唯一的。否则如果中间有结点,两边都访问不到,最小割就不是唯一的。以图 2 为例,残留网络中所有边的方向正好反过来, 源点能够到达的结点只有 s,能够到达汇点的只有 t, 存在结点使两边都访问不到, 所以最小割不是唯一的。
4)最大流算法回顾
Ford-Fulkerson: 凡是用增广路径求最大流的都可以说是Ford-Fulkerson算法
Edmonds-Karp: 每次直接用BFS找增广路径
Dinic: 先用BFS找层次图, 然后在层次图上用 DFS 找增广路径那么能不能只用DFS 来找增广路径?正确性可以保证, 但是容易出现低效率的情况, 举例流图如下( 有可能需要增广2*106次):
Blocking Flow算法:正向边全都被堵死了,Dinic 算法本质上是一个 Blocking Flow算法。
Dinic 算法:第一次用 BFS 找层次图, 然后 DFS 只准沿着层次往下走, 当 Dinic算法这一阶段走完的时候, 说明这个层次图是不连通的,这个时候的流对于开始阶段时候的流图来说就是Blocking Flow。
Blocking Flow 和最大流的关系:如果一个流是最大流, 那么它一定是 Blocking Flow, 但是倒过来就不行。反例如下图所示(这个流图中最大流实际上应该是2, 但是你可以有一个Blocking Flow 直接从最上面 3 条有向边走, 但它不是最大流):
5)几个匹配定理:
Hall’s theorem: 如果分成X 与 Y 两边的二部图 G=(V,E)有一个完美匹配,那么对所有A ⊆ X 的必须有Γ ≥(A)A 。Γ(A)表示 A 在 Y 中对应的点的集合。
Menger’s theorem:
Edge disjoint path 版本:在每个具有节点 s 与 t 的有向图(或无向图)中,边不交 s-t 路径的最大数目等于为分离 s 与 t 所需移走的最少边数。
Node disjoint path 版本:Given a directed (or undirected) graph with two nonadjacent nodes s and t, the max number of internally node-disjoint s-t paths equals the min number of internal nodes whose removal disconnects t from s.
- 【网络流】:一些基本知识
- 网络编程一些基本知识
- 网络上一些基本知识的理解
- 一些基本知识
- 网络基本知识
- 网络基本知识
- 网络基本知识
- 网络基本知识
- 网络基本知识
- 网络基本知识
- 网络基本知识
- 网络基本知识
- 网络基本知识
- 网络基本知识
- UNIX的一些基本知识
- MIDp一些基本知识
- JAVA的一些基本知识
- .net的一些基本知识
- C++小题(十三)
- 大华乐橙云JavaWEB版实现网页直播远程监控DEMO
- vim常用操作命令 合集
- Ruby元编程-Week-1
- 怎么给MFC弹出右键选择框的效果,Cmenu
- 【网络流】:一些基本知识
- Android 之自定义弹出提示框
- Hive内存溢出的问题
- Struts2中的OGNL详解
- 关于iOS中如何给字体加粗的问题总结
- Spring MVC和Spring配置AOP
- android 禁止scrollview 因控件变化自动滚动到底的方法
- iOS使用自定义字体
- 偏光片在LCD中的应用