图论与网络优化 讲稿(4)PPT.ppt
《图论与网络优化 讲稿(4)PPT.ppt》由会员分享,可在线阅读,更多相关《图论与网络优化 讲稿(4)PPT.ppt(96页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 引例:1 哥尼斯堡七桥问题 哥尼斯堡位于前苏联的加里宁格勒,历史上曾经是德国东普鲁士省的省会,普雷格尔河横穿城堡,河中有两个小岛,共有七座桥连接两岸和小岛。哥尼斯堡人在寻找一条路线从某点出发经过每个桥一次回到出发点。欧拉将其概括为数学模型,“七桥”问题变为“一笔画”问题。CDBA 2 欧拉图和中国邮递员问题 欧拉图:如果从某点出发能经过图的每个边恰好一次再回到出发点,那么称此图为欧拉图。图为欧拉图的充要条件是每个点的度是偶数。1962年中国组合数学家管梅谷教授提出了著名的“中国邮递员问题”:一个邮递员从邮局出发,要走完他所管辖的每一条街道,然后返回邮局。那么如何选择一条尽可能短的路线3 哈密
2、顿环球旅行问题 十二面体的20个顶点代表世界上20个城市,能否从某个城市出发在十二面体上依次经过每个城市恰好一次最后回到出发点?哈密顿圈(环球旅行游戏)一:图论的基本概念 图论中的“图”并不是通常意义下的几何图形或物体的形状图,而是以一种抽象的形式来表达一些确定的事物之间的联系的一个数学系统.定义1 一个有序二元组(V,E)称为一个图,记为G=(V,E),其中 V称为G的顶点集,V,其元素称为顶点或结点,简称点;E称为G的边集,其元素称为边,它联结V 中的两个点,如果这两个点是无序的,则称该边为无向边,否则,称为有向边.如果V=v1,v2,vn是有限非空点集,则称G为有限图或n阶图.如果E的每
3、一条边都是无向边,则称G为无向图(如图1);如果E的每一条边都是有向边,则称G为有向图(如图2);否则,称G为混合图.图1图2并且常记V=v1,v2,vn,|V|=n;E=e1,e2,em(ek=vivj),|E|=m.称点vi,vj为边vivj的端点.在有向图中,称点vi,vj分别为边vivj的始点和终点.有边联结的两个点称为相邻的点,有一个公共端点的边称为相邻边.边和它的端点称为互相关联.常用d(v)表示图G中与顶点v关联的边的数目,d(v)称为顶点v的度数.用N(v)表示图G中所有与顶点v相邻的顶点的集合.d(v1)=d(v3)=d(v4)=4,d(v2)=2.定理1:在简单图中,所以点
4、的度的和等于边 数的两倍.定理2(握手定理):在简单图中,奇数点的个数为偶数.定义2 若将图G的每一条边e都对应一个实数F(e),则称F(e)为该边的权,并称图G为赋权图(网络),记为G=(V,E,F).定义3 设G=(V,E)是一个图,v0,v1,vkV,且1ik,vi-1viE,则称v0 v1 vk是G的一条通路.如果通路中没有相同的边,则称此通路为道路.始点和终点相同的道路称为圈或回路.如果通路中既没有相同的边,又没有相同的顶点,则称此通路为路径,简称路.定义4 任意两点均有通路的图称为连通图.定义5 连通而无圈的图称为树,常用T表示树.图的矩阵表示图的矩阵表示 邻接矩阵邻接矩阵:对无向
5、图对无向图 ,其邻接矩阵,其邻接矩阵 ,其中:,其中:例 一摆渡人欲将一只狼,一头羊,一篮菜从河西渡过河到河东.由于船小,一次只能带一物过河,并且狼与羊,羊与菜不能独处.给出渡河方法.解:用四维0-1向量表示(人,狼,羊,菜)在河西岸的状态(在河西岸则分量取1,否则取0),共有24=16 种状态.在河东岸的状态类似记作.由题设,状态(0,1,1,0),(0,0,1,1),(0,1,1,1)是不允许的,从而对应状态(1,0,0,1),(1,1,0,0),(1,0,0,0)也是不允许的.以可允许的10个状态向量作为顶点,将可能互相转移的状态用线段连接起来构成一个图.根据此图便可找到渡河方法.(1,
6、1,1,1)(1,1,1,0)(1,1,0,1)(1,0,1,1)(1,0,1,0)(0,0,0,0)(0,0,0,1)(0,0,1,0)(0,1,0,0)(0,1,0,1)(0,1,0,1)(0,1,0,0)(0,0,1,0)(0,0,0,1)(0,0,0,0)(1,0,1,0)(1,0,1,1)(1,1,0,1)(1,1,1,0)(1,1,1,1)河西=(人,狼,羊,菜)河东=(人,狼,羊,菜)将10个顶点分别记为A1,A2,A10,则渡河问题化为在该图中求一条从A1到A10的路.从图中易得到两条路:A1 A6 A3 A7 A2 A8 A5 A10;A1 A6 A3 A9 A4 A8 A5
7、 A10.二:最短路与最小生成树 定义1 设P(u,v)是赋权图G=(V,E,F)中从点u到v的路径,用E(P)表示路径P(u,v)中全部边的集合,记则称F(P)为路径P(u,v)的权或长度(距离).定义2 若P0(u,v)是G 中连接u,v的路径,且对任意在G 中连接u,v的路径P(u,v)都有F(P0)F(P),则称P0(u,v)是G 中连接u,v的最短路.重要性质:若v0 v1 vm 是图G中从v0到vm的最短路,则1km,v0v1 vk 必为G中从v0到vk的最短路.即:最短路是一条路,且最短路的任一段也是最短路.求非负赋权图G中某一点到其它各点最短路,一般用Dijkstra标号算法;
8、求非负赋权图上任意两点间的最短路,一般用Floyd算法.这两种算法均适用于有向非负赋权图.Dijkstra标号算法标号算法 如果刚刚得到P标号的点是vi,那么,对于所有这样的点将其T标号修改为:minT(vj),P(vi)+wij。若G中没有T标号,则停止。否则,把点 的T标号修改为P标号,然后再转入。其中,满足 开始,先给v1标上P标号P(v1)0,其余各点标上T标号T(vj)+(j1)。FloydFloyd算法算法 n n某些问题中,要求网络上任意两点间的最短路,如例某些问题中,要求网络上任意两点间的最短路,如例1515就是这样。这类问题可以用就是这样。这类问题可以用DijkstraDij
9、kstra算法一次改变起点的算法一次改变起点的办法计算,但比较繁琐。这里介绍的办法计算,但比较繁琐。这里介绍的FloydFloyd方法(方法(19621962)可直接求出网络中任意两点间的最短路。可直接求出网络中任意两点间的最短路。n n为计算方便,令网络的权矩阵为为计算方便,令网络的权矩阵为 。其中其中 n n算法基本步骤为:算法基本步骤为:n n首先介绍矩阵的两种运算:首先介绍矩阵的两种运算:例例:某县下属7个乡镇,各乡镇所拥有的人口数a(vi)(i=1,2,7),以及各乡镇之间的距离wij(i,j=1,2,7)如图所示。现在需要设立一个中心邮局,为全县所辖的7个乡镇共同服务。问该中心邮局
10、应该设在哪一个乡镇(顶点)?图10.2.3解解:第第1步步:用标号法求出每一个顶点vi至其他各个顶点vj的最短路径长度dij(i,j 1,2,7),并将其写成如下距离矩阵 第第2 2步步:以各顶点的载荷(人口数)加权,求每一个顶点至其他各个顶点的最短路径长度的加权和 第3步:判断。因为 所以,v3和v4都是图10.2.3的中位点。即:中心邮局设在点v3或点v4都是可行的。最小生成树 由树的定义不难知道,任意一个连通的p,q图(p个顶点q条边)G适当去掉q-p+1条边后,都可以变成树,这棵树称为图G的生成树.设T是图G的一棵生成树,用F(T)表示树T中所有边的权数之和,F(T)称为树T的权.一个
11、连通图G的生成树一般不止一棵,图G的所有生成树中权数最小的生成树称为图G的最小生成树.求最小生成树问题有很广泛的实际应用.例如,把n个乡镇用高压电缆连接起来建立一个电网,使所用的电缆长度之和最短,即费用最小,就是一个求最小生成树问题.求连通图G的最小生成树T的算法(Kruskal避圈法):将图G中的边按权从小到大逐条考察,按不构成圈的原则加入到T 中,直到 q(T)=p(G)-1为止.例如右图,其中p(G)=8.其最小生成树如下:类似地,可定义连通图G 的最大生成树.破圈法算法2 步骤如下:1)从图从图G中任选一棵树中任选一棵树T1.2)加上一条弦加上一条弦e1,T1+e1中中 立即生成一个圈
12、立即生成一个圈.去掉此去掉此 圈中最大权边,得到新圈中最大权边,得到新树树T2,以以T2代代T1,重复重复2)再再检查剩余的弦,直到全检查剩余的弦,直到全部弦检查完毕为止部弦检查完毕为止.例用破圈法求下图的最小树.先求出上图的一棵生成树先求出上图的一棵生成树.加以弦加以弦 e2,得到的圈得到的圈v1v3v2v1,去掉最大的权边去掉最大的权边e2,得到一棵新得到一棵新树仍是原来的树;树仍是原来的树;再加上弦e7,得到圈 v4v5v2v4,去掉最大的权边e6,得到一棵新树;如此重复进行,直到全全部的弦均已试过,得最小树.有序二元树定义:若一个树的出度为二,有方向即有父子,兄弟之分,则称其为有序二元
13、树.有序二元树编码:(1)根不标码.(2)兄弟有序,左为兄,标0,右为弟,标1.(3)从根到叶的轨上依次抄出各点之码,称为该叶的前缀码.(4)全树的叶从左到右抄出前缀码叫做该树的前缀码,中间用逗号隔开.000U1110111010100000 a0001 f001 g010 h011 i100 n101 x11 z11 010 011 101 011 100 001 0000 0001 0000 100 001 0000 001Huffman树定义:以U0为根,U1 Un为叶的有序二元 树,Ui代表的实物出现的概率为Pi,P1+P2+Pn=1,Pi的码长为它的0,1的个数,计为Li,使得 P1
14、 Li1+P2 L2+Pn Lin=min则称该有序二元树为Huffman树构造Huffman树例:求带权0.2,0.2,0.3,0.3的Huffman树0.40.20.20.30.30.20.20.30.30.40.6v0.40.60.20.20.30.3例:画出带权0.1,0.1,0.1,0.1,0.2,0.4的Huffman树。例:画出带权0.2,0.17,0.13,0.1,0.1,0.8,0.06,0.06,0.07,0.03的Huffman树0.10.10.10.10.20.20.20.40.40.4u二部图 定义定义1 1 设设X,Y 都是非空有限集都是非空有限集,且且XY=,E
15、xy|xX,yY,称称G=(X,Y,E)为为二部图二部图.二部图可认为是有限简单二部图可认为是有限简单无向图无向图.色数:色数:2 2 如果如果X中的每个点都与中的每个点都与Y中的每个点邻接中的每个点邻接,则则称称G=(X,Y,E)为为完备二部图完备二部图.若若F:ER+,则称则称G=(X,Y,E,F)为为二部赋二部赋权图权图.二部赋权图的权矩阵一般记作二部赋权图的权矩阵一般记作A=(aij)|X|Y|,其中其中aij=F(xi yj).定义定义2 2 设设G=(X,Y,E)为二部图为二部图,且且M E.若若M中任意两条边在中任意两条边在G中均不邻接中均不邻接,则称则称M是是二部图二部图G的一
16、个的一个匹配匹配.定义定义3 3 设设M是二部图是二部图G的一个匹配的一个匹配,如果如果G的的每一个点都是每一个点都是M中边的顶中边的顶点点,则称则称M是二部图是二部图G的的完美匹配完美匹配;如果如果G中没有另外的匹配中没有另外的匹配M0,使使|M0|M|,|,则则称称M是二部图是二部图G的的最大最大匹配匹配.(NP.(NP问题问题)在二部赋权图在二部赋权图G=(X,Y,E,F)中中,权数最大的权数最大的最大匹配最大匹配M称为二部赋权图称为二部赋权图G的的最佳匹配最佳匹配.显然显然,每个完美匹配都是最大匹配每个完美匹配都是最大匹配,反之不一反之不一定成立定成立.工作安排问题之一 给给n个工作人
17、员个工作人员x1,x2,xn安排安排n项工作项工作y1,y2,yn.n个工作人员中每个人能胜任一项或几个工作人员中每个人能胜任一项或几项工作项工作,但并但并不是所有工作人员都能从事任何一不是所有工作人员都能从事任何一项工作项工作.比如比如x1能做能做y1,y2工作工作,x2能做能做y2,y3,y4工作工作等等.这样便提出一个问题这样便提出一个问题,对所有的工作人员能对所有的工作人员能不能都分配一件他所能胜任的工作?不能都分配一件他所能胜任的工作?我们构造一个二部图我们构造一个二部图G=(X,Y,E),这里这里X=x1,x2,xn,Y=y1,y2,yn,并且当且仅当并且当且仅当工作人员工作人员x
18、i胜任工作胜任工作yj时时,xi与与yj才相邻才相邻.于是于是,问题转化为求二部图的一个完美匹配问题转化为求二部图的一个完美匹配.因为因为|X|=|Y|,所以完美匹配即为最大匹配所以完美匹配即为最大匹配.求二部图G=(X,Y,E)的最大匹配算法(匈牙利算法,P149)迭代步骤:从从G的任意匹配的任意匹配M开始开始.将将X中中M的所有的所有非饱和点非饱和点都给以标号都给以标号0 0和和标记标记*,转向转向.M的非饱和点即非的非饱和点即非M的某条边的顶点的某条边的顶点.若若X中所有有标号的点都已去掉了标记中所有有标号的点都已去掉了标记*,则则M是是G的最大匹配的最大匹配.否则任取否则任取X中一个既
19、有标号中一个既有标号又有标记又有标记*的点的点xi,去掉去掉xi的标记的标记*,转向转向.找出在找出在G中所有与中所有与xi邻接的点邻接的点yj,若所有若所有这样的这样的yj都已有标号都已有标号,则转向则转向,否则转向否则转向.对与对与xi邻接且尚未给标号的邻接且尚未给标号的yj都给定标号都给定标号i.若所有的若所有的 yj 都是都是M的的饱和点饱和点,则转向则转向,否则否则逆向返回逆向返回.即由其中即由其中M的任一个非饱和点的任一个非饱和点 yj 的标的标号号i 找到找到xi,再由再由 xi 的标号的标号k 找到找到 yk,最后由最后由 yt 的标号的标号s找到标号为找到标号为0 0的的xs
20、时结束时结束,获得获得M-增广路增广路xs yt xi yj,记记P=xs yt,xi yj ,重新记重新记M为为M P,转向转向.M P=MP MP,是对称差是对称差.将将yj在在M中与之邻接的点中与之邻接的点xk,给以标号给以标号 j 和和标记标记*,转向转向.例 求下图所示二部图G的最大匹配.解解 取初始匹配取初始匹配M0=x2 y2,x3 y3,x5 y5 (上图粗线所示上图粗线所示).).给给X中中M0的两个非饱和点的两个非饱和点x1,x4都给以标都给以标号号0 0和标记和标记*(如下图所示如下图所示).).给给X中中M0的两个非饱和点的两个非饱和点x1,x4都给以标号都给以标号0
21、0和标记和标记*(如下图所示如下图所示).).去掉去掉x1的标记的标记*,将与将与x1邻接的两个点邻接的两个点y2,y3都给以标号都给以标号1.1.因为因为y2,y3都是都是M0的两个饱和点的两个饱和点,所以将它们在所以将它们在M0中邻接的两个点中邻接的两个点x2,x3都给以相都给以相应的标号和标记应的标号和标记*(如下图所示如下图所示).去掉去掉x1的标记的标记*,将与将与x1邻接的两个点邻接的两个点y2,y3都给以标号都给以标号1.1.因为因为y2,y3都是都是M0的两个饱和点的两个饱和点,所以将它们在所以将它们在M0中邻接的两个点中邻接的两个点x2,x3都给以相都给以相应的标号和标记应的
22、标号和标记*(如下图所示如下图所示).去掉去掉x2的标记的标记*,将与将与x2邻接且尚未给标号邻接且尚未给标号的三个点的三个点y1,y4,y5都给以标号都给以标号2(如下图所示如下图所示).去掉去掉x2的标记的标记*,将与将与x2邻接且尚未给标号邻接且尚未给标号的三个点的三个点y1,y4,y5都给以标号都给以标号2(如下图所示如下图所示).因为因为y1是是M0的非饱和点的非饱和点,所以顺着标号逆所以顺着标号逆向返回依次得到向返回依次得到x2,y2,直到直到x1为为0为止为止.于是得到于是得到M0的增广路的增广路x1 y2x2 y1,记记P=x1 y2,y2x2,x2 y1.取取M1=M0P=x
23、1 y2,x2 y1,x3 y3,x5 y5,则则M1是比是比M多一边的匹配多一边的匹配(如下图所示如下图所示).因为因为y1是是M0的非饱和点的非饱和点,所以顺着标号逆所以顺着标号逆向返回依次得到向返回依次得到x2,y2,直到直到x1为为0为止为止.于是得到于是得到M0的增广路的增广路x1 y2x2 y1,记记P=x1 y2,y2x2,x2 y1.取取M1=M0P=x1 y2,x2 y1,x3 y3,x5 y5,则则M1是比是比M多一边的匹配多一边的匹配(如下图所示如下图所示).再给再给X中中M1的非饱和点的非饱和点x4给以标号给以标号0和标记和标记*,然后去掉然后去掉x4的标记的标记*,将
24、与将与x4邻接的两个点邻接的两个点y2,y3都给以标号都给以标号4.因为因为y2,y3都是都是M1的两个饱和点的两个饱和点,所以将它们所以将它们在在M1中邻接的两个点中邻接的两个点x1,x3都给以相应的标号和标都给以相应的标号和标记记*(如下图所示如下图所示).去掉去掉x1的标记的标记*,因为与因为与x1邻接的两个点邻接的两个点y2,y3都有标号都有标号4,所以去掉所以去掉x3的标记的标记*.而与而与x3邻接的两个点邻接的两个点y2,y3也都有标号也都有标号4,此时此时X中所有有标号的点都已去掉了标记中所有有标号的点都已去掉了标记*(如下图所如下图所示示),因此因此M1是是G的最大匹配的最大匹
25、配.G不存在饱和不存在饱和X的每个点的匹配的每个点的匹配,当然也不存当然也不存在完美匹配在完美匹配.工作安排问题 给给n个工作人员个工作人员x1,x2,xn安排安排n项工作项工作y1,y2,yn.如果每个工作人员工作效率不同如果每个工作人员工作效率不同,要求要求工作分配的同时考虑总效率最高工作分配的同时考虑总效率最高.我们构造一个二部赋权图我们构造一个二部赋权图G=(X,Y,E,F),这里这里X=x1,x2,xn,Y=y1,y2,yn,F(xi yj)为工作人员为工作人员xi胜任工作胜任工作yj时的工作效率时的工作效率.则问题转化为:求二部赋权图则问题转化为:求二部赋权图G的最佳匹配的最佳匹配
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图论与网络优化 讲稿4PPT 网络 优化 讲稿 PPT
限制150内