第10章 网络流与二分图.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第10章 网络流与二分图.ppt》由会员分享,可在线阅读,更多相关《第10章 网络流与二分图.ppt(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第10章章 网络流与二分图网络流与二分图第第12、13讲:黄丽韶讲:黄丽韶ly_12/25/2022目目 录录10.1 网络与流网络与流10.1.1 网络流基本概念网络流基本概念10.1.2 增广路算法增广路算法10.1.3 求最大流的标号法求最大流的标号法Ford-Fulkerson方法方法10.2 二分图匹配二分图匹配10.2.1 二分图与匹配二分图与匹配10.2.2 二分图最大匹配问题网络流算法二分图最大匹配问题网络流算法10.2.3 二分图最大匹配问题的匈牙利算法二分图最大匹配问题的匈牙利算法10.2.4 最小点覆盖与最小路径覆盖最小点覆盖与最小路径覆盖10.2.5 二分图最优匹配二
2、分图最优匹配12/25/2022问题引入问题引入 如下图,经济区域中城市如下图,经济区域中城市s和城市和城市t间的物流运输网络。记间的物流运输网络。记v1为为s,v9为为t,每一条有向边(每一条有向边(vi,vj)表示从表示从vi到到vj的运输的运输线,货物经这条运输线由线,货物经这条运输线由vi运送到运送到vj,线旁的数字表示线线旁的数字表示线的最大运输能力。货物经过网络从城市的最大运输能力。货物经过网络从城市s运送到城市运送到城市t。现要求制定一个运输方案,使从现要求制定一个运输方案,使从s运送到运送到t的货物最多。的货物最多。物流运输网络图物流运输网络图12/25/2022一种运输方案一
3、种运输方案 12/25/2022运输网络的特点运输网络的特点 (1)实际运输量不能为负。)实际运输量不能为负。(2)每条有向边上的实际运输量不能大于该边上的容量。)每条有向边上的实际运输量不能大于该边上的容量。(3)除了起点)除了起点s和终点和终点t外,对于其他顶点来说,所有指向外,对于其他顶点来说,所有指向vi的的线上的运输量的和,应该等于所有从线上的运输量的和,应该等于所有从vi出发的有向边上的运出发的有向边上的运输量的和。输量的和。12/25/202210.1 10.1 网络与流网络与流12/25/202210.1.1 10.1.1 网络流基本概念网络流基本概念 1网络网络 设设G是一个
4、简单有向图,是一个简单有向图,G=(V,E),),V=v1,v2,v3,vn。在。在V中指定一个顶点中指定一个顶点s,称为源(或称源点或发称为源(或称源点或发点),取另一个顶点点),取另一个顶点t,称为汇(或称汇点或收点)。对称为汇(或称汇点或收点)。对于有向图于有向图G的每一条有向边(的每一条有向边(vi,vj)E,对应的有一个对应的有一个值值cij0,称为该有向边上的容量。通常把这样的有向图称为该有向边上的容量。通常把这样的有向图G叫做一个网络,记为叫做一个网络,记为G=(V,E,C),),其中其中C是网络的是网络的容量函数。容量函数。2网络流网络流 网络上的流,是指定义在有向边集合网络上
5、的流,是指定义在有向边集合E上的一个函数上的一个函数F=fij:(vi,vj)E,并称并称fij为边为边(vi,vj)上的流量。上的流量。12/25/202210.1.1 10.1.1 网络流基本概念网络流基本概念3可行流可行流容量限制条件:对于每一条边(容量限制条件:对于每一条边(vi,vj)E,0fijcij。平衡条件:对于每个中间点平衡条件:对于每个中间点vi,vi的流出量的流出量=vi的流入量。的流入量。V(F)=可行流的流量可行流的流量 12/25/202210.1.1 10.1.1 网络流基本概念网络流基本概念4最大流最大流一个可行流一个可行流F=fij,使其流量使其流量V(F)达
6、到最大,并且满足:达到最大,并且满足:(vi,vj)E,0fijcij12/25/202210.1.1 10.1.1 网络流基本概念网络流基本概念5残流网络残流网络 边(边(vi,vj)E的残流容量为的残流容量为cij fij,表示通过该边能调整表示通过该边能调整的最大流容量。的最大流容量。给定网络给定网络G=(V,E,C),及),及G的一个可行流的一个可行流F fij。G的残流网络的残流网络G是通过下列方法得到的网络是通过下列方法得到的网络G=(V,E,C),),设(设(vi,vj)E:当当cij fij时,时,G中有对应的边(中有对应的边(vi,vj)E,边上的流量边上的流量是是cij=c
7、ijfij;当当fij 0时,时,G中还有一条边(中还有一条边(vj,vi)E,边(边(vj,vi)上上的流量是的流量是cij=fij。12/25/202210.1.2 10.1.2 增广路算法增广路算法1向前边与后向边向前边与后向边 对于网络对于网络G=(V,E,C),),若给一个可行流若给一个可行流F fij,则则把网络中使把网络中使fijcij 的有向边称为饱和边,使的有向边称为饱和边,使fij 的边称为非零流的边称为非零流边。边。若若P是网络中联结源点是网络中联结源点s和汇点和汇点t的一条路,定义路的方向是的一条路,定义路的方向是从从s 到到t,则路上的边被分成两类:一类是边的方向与路
8、的方向则路上的边被分成两类:一类是边的方向与路的方向一致,叫做向前边。向前边的全体记为一致,叫做向前边。向前边的全体记为P+。另一类边与路的另一类边与路的方向相反,叫做向后边。向后边的全体记为方向相反,叫做向后边。向后边的全体记为P-。12/25/2022原问题的算法设计原问题的算法设计2增广路增广路定义:设定义:设F是一个可行流,是一个可行流,P是从是从s到到t的一条路,若的一条路,若P满足满足下列条件:下列条件:(1)在)在P的所有向前边(的所有向前边(vi,vj)上,上,0fij cij,即,即P+中的中的每一条边是非饱和边。每一条边是非饱和边。(2)在)在P的所有向后边(的所有向后边(
9、vi,vj)上,上,0 fij cij,即,即P-中的中的每一条边是非零流边。每一条边是非零流边。12/25/20223 3增广路算法思想与增广路定理增广路算法思想与增广路定理 对一条增广路对一条增广路P,将可行流将可行流F改进成一个值更大的流改进成一个值更大的流F,基本基本思想:思想:(1)不属于增广路)不属于增广路P的边(的边(vi,vj)上的流量一概不变,即上的流量一概不变,即fij fij。(2)增广路增广路P上的所有边(上的所有边(vi,vj)上的流量按下述规则调整:上的流量按下述规则调整:在在P+中的向前边(中的向前边(vi,vj)上,上,fij fij+;在在P-中的向后边(中的
10、向后边(vi,vj)上,上,fij fij;12/25/2022实例实例-调整后的运送方案调整后的运送方案 12/25/2022增广路定理增广路定理 设设F是网络是网络G的一个流,如果不存在从的一个流,如果不存在从s到到t关于关于F的的增广路增广路P,那么那么F一定是最大流。一定是最大流。12/25/2022增广路方法求最大流的基本流程增广路方法求最大流的基本流程 12/25/2022残流网络残流网络 如果残流网络如果残流网络G中没有从中没有从s到到t的增广路,那么当前流为最的增广路,那么当前流为最大流;反之,如果当前流大流;反之,如果当前流G不为最大流,则不为最大流,则G一定有增广一定有增广
11、路。路。12/25/202210.1.3 10.1.3 求最大流的标号法求最大流的标号法Ford-FulkersonFord-Fulkerson方法方法从一个可行流出发(若网络中没有给定可行流从一个可行流出发(若网络中没有给定可行流F,则可以设则可以设F为平凡的零流),经过标号过程和调整过程,可以求出网为平凡的零流),经过标号过程和调整过程,可以求出网络中的最大流。络中的最大流。标号过程:网络中的顶点逐渐进行标号,顶点分为两类:标标号过程:网络中的顶点逐渐进行标号,顶点分为两类:标号顶点(已检查和未检查两种);未标号顶点。每个标号顶号顶点(已检查和未检查两种);未标号顶点。每个标号顶点点v的标
12、号由两个部分(的标号由两个部分(u,d)组成:标号的第一部分组成:标号的第一部分u指指明它的标号是从哪一个顶点得到的,以便找出增广路;标号明它的标号是从哪一个顶点得到的,以便找出增广路;标号的第二部分的第二部分d是为确定增广路的调整量是为确定增广路的调整量用的。用的。12/25/2022标号步骤标号步骤 1.先将先将s标上(标上(0,+)标号(或称标记)标号(或称标记)2.取一个已标号而未检查的顶点取一个已标号而未检查的顶点vi,对一切与对一切与vi相连而未标相连而未标号顶点号顶点vj:(1)若在边(若在边(vi,vj)上,上,fij,则给则给vj标号为(标号为(vi,d(vj)),),这里这
13、里d(vj)Mind(vi),fji。这时顶点这时顶点vj成为标号成为标号而未检查的顶点。而未检查的顶点。12/25/2022标号步骤标号步骤在在vi的全部相邻顶点都已标号后,的全部相邻顶点都已标号后,vi成为已检查过的顶点。成为已检查过的顶点。于是,重复上述步骤。一旦于是,重复上述步骤。一旦t被标上号,表明得到一条从被标上号,表明得到一条从s到到t的增广路的增广路P,转入调整过程。转入调整过程。若所有标号都是已检查过的,而标号过程无法进行时,则若所有标号都是已检查过的,而标号过程无法进行时,则算法结束,这时的可行流即为最大流。算法结束,这时的可行流即为最大流。12/25/2022调整过程调整
14、过程 采用采用“逆向追踪逆向追踪”的方法,从的方法,从t t开始,利用标号点的开始,利用标号点的第一个分量得到前趋顶点,逐条边地寻找,得到一条增第一个分量得到前趋顶点,逐条边地寻找,得到一条增广路广路P P,并以并以t t标号的第二个分量标号的第二个分量d d(t t)作为改进量作为改进量,改改进路径进路径P P上的流量。上的流量。12/25/202210.2 10.2 二分图匹配二分图匹配11.2.1 问题问题 一个公司有一个公司有 n 个工作空缺,每项工作需要具有一定个工作空缺,每项工作需要具有一定资格的人承担。今有资格的人承担。今有 m 个人申请这个人申请这 n 项工作。如果一个项工作。
15、如果一个工作空缺只能由一名满足该工作资格的人承担,那么在工作空缺只能由一名满足该工作资格的人承担,那么在这这m个申请人中能够承担工作的最大个数是多少?个申请人中能够承担工作的最大个数是多少?12/25/2022求职者关系图求职者关系图 申请者的集合为申请者的集合为X=x1,x2,xm,工作的集合为工作的集合为Y=y1,y2,yn。X与与Y关系图关系图12/25/202210.2.2 10.2.2 二分图与匹配二分图与匹配 二分图二分图G:所有的顶点分成两个集合所有的顶点分成两个集合X和和Y,其中其中X或或Y在在各自集合中的任意两个点都不相连,而在各自集合中的任意两个点都不相连,而在X和和Y中的
16、顶点可中的顶点可以构成边。以构成边。12/25/2022匹配概念匹配概念二二分分图图G的的匹匹配配M:边边集集 E的的子子集集M,具具有有性性质质:M中中没没有两条边有公共顶点。有两条边有公共顶点。最大匹配:就是在最大匹配:就是在G的所有匹配中具有最多边数的匹配。的所有匹配中具有最多边数的匹配。完美匹配:如果所有点都在匹配边上,称这个最大匹配完美匹配:如果所有点都在匹配边上,称这个最大匹配是完美匹配。是完美匹配。12/25/202210.2.3 二分图最大匹配问题网络流算法二分图最大匹配问题网络流算法 给定二分图给定二分图G=(X,E,Y)。)。构造与构造与G对应的网络对应的网络G*,构造方法
17、如下:构造方法如下:(1)增加一个源点)增加一个源点s,一个汇点一个汇点t。(2)从)从s向向X的每个顶点引一条有向边,从的每个顶点引一条有向边,从Y的每个顶点向的每个顶点向t引一条有向边。引一条有向边。(3)将原图)将原图G的每条边改为从的每条边改为从X指向指向Y的有向边。的有向边。(4)置所有边的容量为)置所有边的容量为1。求网络求网络F的最大流。最大流值是对应于二分图的最大流。最大流值是对应于二分图G的最大匹的最大匹配边数。配边数。12/25/202210.2.4 二分图最大匹配问题的匈牙利算法二分图最大匹配问题的匈牙利算法 令令G=(X,E,Y)是一个二分图,其中是一个二分图,其中x=
18、x1,x2,xm,Y=y1,y2,yn。令。令M为为G的任意匹配。的任意匹配。S1:将:将X的所有不与的所有不与M的边关联的顶点标上(的边关联的顶点标上(*),并称所),并称所有的顶点为未扫描的。转到有的顶点为未扫描的。转到S2。S2:如果在上一步没有新的标记加到如果在上一步没有新的标记加到X的顶点上,那么停止,的顶点上,那么停止,否则,转否则,转S3。S3:当:当X中存在被标记但未被扫描的顶点时,选择一个被标中存在被标记但未被扫描的顶点时,选择一个被标记但未被扫描的记但未被扫描的X的顶点,比如的顶点,比如xi,用(用(xi)标记标记Y的所有的所有顶点,这些顶点被不属于顶点,这些顶点被不属于M
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第10章 网络流与二分图 10 网络 二分
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内