图与网络模型及方法讲课稿.ppt
《图与网络模型及方法讲课稿.ppt》由会员分享,可在线阅读,更多相关《图与网络模型及方法讲课稿.ppt(193页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、图与网络模型及方法|图与子图|图的连通与割集|树与支撑树|最小树|最短有向路|最大流|最小费用流|最大对集绪论|图论中所谓的“图”是指某类具体事物和这些事物之间的联系。|如果我们用点表示这些具体事物,用连接两点的线段(直的或曲的)表示两个事物的特定的联系,就得到了描述这个“图”的几何形象。|图论为任何一个包含了一种二元关系的离散系统提供了一个数学模型,借助于图论的概念、理论和方法,可以对该模型求解。哥尼斯堡七桥问题这个图是连通的,且每个点都与偶数线相关联这个图是连通的,且每个点都与偶数线相关联绪论|图与网络是运筹学(OperationsResearch)中的一个经典和重要的分支,所研究的问题涉
2、及经济管理、工业工程、交通运输、计算机科学与信息技术、通讯与网络技术等诸多领域|的最短路问题、最大流问题、最小费用流问题和匹配问题等都是图与网络的基本问题。图-由若干个点和连接这些点的连线所组成的图形vi图中的点,称为顶点(代表具体事物,研究对象。ei图中的连线,称为边(对象之间的联系)m(G)=|E|G的边数,简记为mn(G)=|V|G的顶点数,简记为n一.图的概念记V=vi点的集合,E=ei边的集合G=V,EG 一个图m=6,n=5图的基本概念有向图无向图边e=(vi,vj)有方向vi为始点,vj为终点边e=(vi,vj)无方向,此时(vi,vj)=(vj,vi)e4=(v3,v4)=(v
3、4,v3)e4=(v3,v4)(v4,v3)e5=(v3,v4)=(v4,v3)此时(vi,vj)(vj,vi)e5=(v4,v3)(v3,v4)图有向图无向图二.常用名词:1、端点和关联边:2、相邻点和相邻边:3、多重边与环:4、多重图和简单图:无环也无多重边的图称为简单图。含有多重边的图称为多重图;5、次:6、悬挂点和悬挂边:次为1的点称为悬挂点,与悬挂点相联的边称为悬挂边。7、孤立点:8、奇点与偶点:,G的边数m=6性质性质1 1:在图:在图G=(V,E)G=(V,E)中,所有点的次之和是边数中,所有点的次之和是边数m m的两倍。的两倍。证明:由于每条边均与两个顶点关联,因此在计算顶点的
4、次时每条边都计算了两遍,所以顶点次数的总和等于边数的二倍。三三.次(度)的性质次(度)的性质性质性质2 2:在任何图:在任何图G=(V,E)G=(V,E)中,中,奇点的个数为偶数奇点的个数为偶数证明:设V1,V2分别是图G中奇点和偶点的集合,则V1V2=V,V1V2=,有性质1,因为V2是偶点的集合,d(vi)(iV2)均为偶数,所以只有偶数个奇数相加才能得到偶数,所以V1中的点,即奇点的个数为偶数。四四.链、路、连通图链、路、连通图1.链:对于无向图G=(V,E),若图G中有一个点与边的交替序列=vi0,ei1,vi1,ei2,vik-1,eik,vik,且eit=(vit-1,vit)(t
5、=1,2,k),则称该交替序列为连结vi0和vik的一条链。简单链:简单链:中只有重复的点而无重复边者为简单链。初等链:初等链:中没有重复的点和重复边者为初等链。圈:圈:无向图G中,连结vi0与vik的一条链,当vi0与vik是同一个点时,称此链为圈。圈中只有重复点而无重复边者为简单圈,既(除起点、终点重复外)无重复点也无重复边者为初等圈不是链初等链简单链(简单圈)(初等圈)2 路路:在有向图D=(V,A)中,若有从vi0到vik不考虑方向的链,且各边方向一致,则称之为从vi0到vik的一条路。对于有向图可以类似于无向图定义链和圈,初等链、圈,简单链、圈此时不考虑边的方向。而当链(圈)上的边方
6、向相同时,称为道路(回路)。对于无向图来说,道路与链、回路与圈意义相同3 连通图连通图:一个图中任意两点间至少有一条链(或路)相连的图。连通图非连通图五网络在实际问题中,往往只用图来描述所研究对象之间的关系还不够,与图联系在起的,通常还有与点或边有关的某些数量指标,通常称之为“权”,权可以代表如距离、费用、通过能力(容量)等等。这种带有某种数量指标的图称为网络(赋权图)。如公路交通图:vi表示城市,ei表示公路w(ei)表示公路ei的长度如w(e2)=50表示城市v2与城市v3之间的距离是50千米六.完全图、偶图1完全图:一个简单图,若任意两个顶点之间均有一条边相连,则称这样的图为完全图。对于
7、完全图,由于每个顶点与所有其余顶点都有一条边相连,所以在有n个顶点的完全图中,各个顶点的次均为(n-1)。2.偶图:若图G的顶点能分成两个互不相交的非空集合V1和V2,使在同一集合中的任意两个顶点均不相邻,称这样的图为偶图,也称为二部图。若偶图的顶点集合V1,V2之间的每一对不同顶点都有一条边相连,称这样的图为完全偶图。v2v3v4v5v2v3v4v5v1v1完全图(完全)偶图定理定理 一个图为偶图的充分必要条件该图无奇圈一个图为偶图的充分必要条件该图无奇圈七.子图、部分图对于图G1=V1,E1和图G2=V2,E2,若有,称G1是G2的一个子图。若有,称G1是G2的一个部分图(生成子图)。*部
8、分图也是子图,但子图不一定是部分图。生成子图七.子图、部分图*部分图也是子图,但子图不一定是部分图。生成子图对于图G1=V1,E1和图G2=V2,E2,若有,称G1是G2的一个子图。若有,称G1是G2的一个部分图(生成子图)。八.前向弧与后向弧设是一条从vs到vt的链,则链上与链的方向一致的弧称为前向弧,记这些弧为+;链上与链的方向相反的弧称为后向弧,记这些弧为-。vsv1v2v3v4v5vt前向弧与后向弧|子图子图 设设 G1=V1,E1,G2=V2,E2子图定义:子图定义:如果V2V1,E2E1称G2是G1的子图;真子图:真子图:如果V2V1,E2E1称G2是G1的真子图;部分图:部分图:
9、如果V2=V1,E2E1称G2是G1的部分图;导出子图:导出子图:如果V2V1,E2=vi,vjvi,vjV2,称G2是G1中由V2导出的导出子图。九、图的矩阵表示 用矩阵表示图对研究图的性质及应用常常是比较方便的定义:网络(赋权图)G(V,E),其边(vi,vj)有权ij,构造矩阵A=(aij)nn,其中:称矩阵A为网络G的权矩阵。例、写出下图的权矩阵v1v2v3v4v5765424938定义:对于图G(V,E),|V|=n,构造一个矩阵A=(aij)nn,其中:称矩阵A为图G的邻接矩阵。例、写出下图的邻接矩阵v1v3v5v2v4v6当G为无向图时,邻接矩阵为对称矩阵最短轨道问题最短轨道问题
10、|给出了一个连接若干个城镇的铁路网络,在这个给出了一个连接若干个城镇的铁路网络,在这个网络的两个指定城镇间,找一条最短铁路线。网络的两个指定城镇间,找一条最短铁路线。|以各城镇为图以各城镇为图G 的顶点,两城镇间的直通铁路为的顶点,两城镇间的直通铁路为图图G 相应两顶点间的边,得图相应两顶点间的边,得图G。对。对G 的每一边的每一边e,赋以一个实数,赋以一个实数w(e)直通铁路的长度,称为直通铁路的长度,称为e的的权,得到赋权图权,得到赋权图G。G 的子图的权是指子图的各的子图的权是指子图的各边的权和。边的权和。|问题就是求赋权图问题就是求赋权图G 中指定的两个顶点中指定的两个顶点u0,v0间
11、的间的具最小权的轨。这条轨叫做具最小权的轨。这条轨叫做u0,v0间的最短路,它间的最短路,它的权叫做的权叫做u0,v0间的距离,亦记作间的距离,亦记作d(u0,v0)最短轨道问题求法最短轨道问题求法 -Dijkstra算法|基本思想是按距u 0从近到远为顺序,依次求得u 0到G 的各顶点的最短路和距离,直至v 0(或直至G 的所有顶点),算法结束。为避免重复并保留每一步的计算信息,采用了标号算法。最短轨道问题求法最短轨道问题求法 -Dijkstra算法定义:连通且不含圈的无向图称为树。记作T(V,E)二、二、树树|树可以有很多等价的定义,以下定理中的各命题都体现树的特征.定理设G=V,E是一无
12、向图,|V|=n,|E|=m。则以下命题是等价的.(1)G是树;(2)G的每对顶点之间有唯一的一条路;(3)G连通且m=n-1;(4)G无圈且m=n-1;(5)G无圈,在G的任一对顶点上加一新边后产生圈;(6)G连通,但删去任何一边后不再连通。定理:无向图G有生成树当且仅当G连通。证明:必要性显然,只证充分性。若G无圈,则G本身就是G的生成树。若G有圈C,则在G中删去C的一条边,所得的图是连通的,继续这个过程,直到所得的图T无圈为止,则T就是G的一棵生成树。定义:若图G的生成子图是一棵树,则称该树为G的生成树(支撑树)。或简称为图G的树(b)为(a)图的生成树最小生成树的求法:避圈法与破圈法定
13、义:树的各条边称为树枝。一般图G的生成树有多个,称其中树枝总长度最小的生成树为最小树。避圈法:在图G中,每步选出一条边e,使它与已选边不构成圈,且e是未选边中长度最小的边,直到选够n-1边为止。v1v2v3v8v7v6v5v4v04112131444523552v1v2v3v8v7v6v5v4v011211232v1v2v3v8v7v6v5v4v04112131444523552v1v2v3v8v7v6v5v4v011211232破圈法:从网络图N中任取一回路,去掉该回路中权数最大的一条边,得一子网络图N1。在N1中再任取一回路,去掉该回路中权数最大的一条边,得一子网络图N2。如此继续下去,直
14、到剩下的子图中不再含回路为止。该子图就是N的最小生成树。v1v2v3v8v7v6v5v4v04112131444523552筑路选线问题|欲修筑连接n个城市的铁路,已知i城与j城之间的铁路造价为wij,设计一个线路图使总造价最低|连线问题的数学模型是在连通赋权图上求权最小的生成树。赋权图的具最小权的生成树叫做最小生成树|造最小生成树的两种常用算法-prim 算法与Kruskal 算法。prim 算法构造最小生成树|设置两个集合P 和Q,其中P 用于存放G 的最小生成树中的顶点,集合Q存放G的最小生成树中的边。令集合P的初值为1P=v(假设构造最小生成树时,从顶点v 1出发),集合Q的初值为Q=
15、。|prim算法的思想是:从所有pP,vV P的边中,选取具有最小权值的边pv,将顶点v 加入集合P 中,将边pv 加入集合Q中,如此不断重复,直到P=V 时,最小生成树构造完毕,这时集合Q中包含了最小生成树的所有边。Kruskal 算法构造最小生成树可行遍问题|定义1:经过G 的每条边的迹叫做G 的Euler迹;闭的Euler迹叫做Euler回路或E回路;含Euler回路的图叫做Euler图。|直观地讲,Euler图就是从一顶点出发每边恰通过一次能回到出发点的那种图,即不重复地行遍所有的边再回到出发点。|定理6(i)G 是Euler图的充分必要条件是G 连通且每顶点皆偶次。|(ii)G 是E
16、uler图的充分必要条件是G 连通且|(iii)G 中有Euler迹的充要条件是G 连通且至多有两个奇次点。|定义包含G 的每个顶点的轨叫做Hamilton(哈密顿)轨;闭的Hamilton轨叫做Hamilton圈或H 圈;含Hamilton圈的图叫做Hamilton图。|直观地讲,Hamilton图就是从一顶点出发每顶点恰通过一次能回到出发点的那种图,即不重复地行遍所有的顶点再回到出发点。Euler回路的Fleury算法可行遍问题的应用|中国邮递员问题一位邮递员从邮局选好邮件去投递,然后返回邮局,当然他必须经过他负责投递的每条街道至少一次,为他设计一条投递路线,使得他行程最短。|中国邮递员问
17、题的数学模型:在一个赋权连通图上求一个含所有边的回路,且使此回路的权最小。|若此连通赋权图是Euler图,则可用Fleury算法求Euler回路,此回路即为所求。|对于非Euler图,1973年,Edmonds和Johnson给出下面的解法:多邮递员问题|邮局有k(k 2)位投递员,同时投递信件,全城街道都要投递,完成任务返回邮局,如何分配投递路线,使得完成投递任务的时间最早?我们把这一问题记成kPP。|kPP的数学模型如下:旅行商(TSP)问题|一名推销员准备前往若干城市推销产品,然后回到他的出发地。如何为他设计一条最短的旅行路线(从驻地出发,经过每个城市恰好一次,最后返回驻地)?|是在一个
18、赋权完全图中,找出一个有最小权的Hamilton圈。称这种圈为最优圈|与最短路问题及连线问题相反,目前还没有求解与最短路问题及连线问题相反,目前还没有求解旅行商问题的有效算法。所以希望有一个方法以旅行商问题的有效算法。所以希望有一个方法以获得相当好(但不一定最优)的解。获得相当好(但不一定最优)的解。改良圈算法。旅行商问题的数学表达式对集1957年,贝尔热(Berge)得到最大对集的充要条件:|定理2 M 是图G 中的最大对集当且仅当G 中无M 可增广轨。1935年,霍尔(Hall)得到下面的许配定理:|定理3 G 为二分图,X 与Y 是顶点集的划分,G 中存在把X 中顶点皆许配的对集的充要条
19、件是,S X,则|N(S)|S|,其中N(S)是S 中顶点的邻集。|推论1:若G 是k 次(k 0)正则2分图,则G 有完美对集。|所谓k 次正则图,即每顶点皆k 度的图。由此推论得出下面的婚配定理:|定理定理 4 每个姑娘都结识k(k 1)位小伙子,每个小伙子都结识k 位姑娘,则每位姑娘都能和她认识的一个小伙子结婚,并且每位小伙子也能和他认识的一个姑娘结婚。人员分派问题|工作人员 x 1,x2,xn 去做n件工作y 1,y 2,y n,每人适合做其中一件或几件,问能否每人都有一份适合的工作?如果不能,最多几人可以有适合的工作?|这个问题的数学模型是:G 是二分图,顶点集划分为V(G)=X U
20、Y,|X=x1,x n,Y=y1,y n,当且仅当x i适合做工作y j时,x i y j E(G),求G 中的最大对集。人员分派问题匈牙利算法|1965年埃德门兹(Edmonds)提出匈牙利算法。|匈牙利算法:|(i)从G 中任意取定一个初始对集M。|(ii)若M 把X 中的顶点皆许配,停止,M 即完美对集;否则取X 中未被M 许|配的一顶点u,记S=u,T=。|(iii)若N(S)=T,停止,无完美对集;否则取yN(S)T。|(iv)若y 是被M 许配的,设yzM,S=S Uz,T=T Uy,转(iii);|否则,取可增广轨P(u,y),令M=(M E(P)U(E(P)M),转(ii)。最
21、优分派问题|在人员分派问题中,工作人员适合做的各项工作当中,效益未必一致,我们需要制定一个分派方案,使公司总效益最大。|这个问题的数学模型是:在人员分派问题的模型中,图G 的每边加了权|w(x i,y j)0表示 x i干 y j工作的效益,求加权图G 上的权最大的完美对集。|解决这个问题可以用库恩曼克莱斯(Kuhn-Munkres)算法|定义若映射l:V(G)R,满足xX,yY,l(x)+l(y)w(x,y),|则称l 是二分图G 的可行顶点标号。|令El=xy|xy E(G),l(x)+l(y)=w(xy),称以l E 为边集的G 的生成子图为相等子图,记作G l。|可行顶点标号是存在的。
22、例如定理5 G l的完美对集即为G 的权最大的完美对集。Kuhn-Munkres 算法最短路问题最短路问题是网络理论中应用最广泛的问题之一。许多优化问题可以便用这个模型如设备更新、管道铺设、线路安排、厂区布局等。最短路问题的一般提法:设G=V,E为连通图,图中各边(vi,vj)有权lij(lij=表示vi,vj间无边)。vs,vt为图中任意两点,求一条路,使它是从vs到vt的所有路中总权最小的路。即最小有些最短路问题是求网络中某指定点到其余所有点的最短路,或求网络中任意两点间的最短路。下面介绍三种算法,可分别用于求解这几种最短路问题。(2)(2)使用条件网络中所有的弧(边)权均非负非负,即:(
23、1)基本思路基于以下原理:若序列vs,v1,vn-1,vn是从vs到vn的最短路,则序列vs,v1,vn-1必为从vs到vn-1的最短路。1、Dijkstra算法本算法由Dijkstra于1959年提出,可用于求解指定两点vs、vt间的最短路,或从指定点vs到其余各点的最短路。下面给出Dijkstra算法基本步骤,采用标号法。可用两种标号:T标号与P标号,T标号为试探性标号,P为永久性标号,给vi点一个P标号时,表示从vs到点vi的最短路权,vi点的标号不再改变。给vi点一个T标号时表示从vs到点vi的估计最短路权的上界,是一种临时标号凡没有得到P标号的点都有T标号。算法每一步都把某一点的T标
24、号改为P标号,当终点vt得到P标号时,全部计算结束。对于有n个顶点的图,最多经n一1步就可以得到从始点到终点的最短路。标号的意义:标号P(永久性标号)从始点到该标号点的最短路权。标号T(临时性标号从始点到该标号点的最短路权上界上界。计算步骤:计算步骤:第二步:若vi为刚得到P标号的点,考虑这样的点vj:(vi,vj)属于E,且vj为T标号。对vj的T标号进行如下的更改:T(vj)=minT(vj),P(vi)+lij第三步:比较所有具有T标号的点,把最小者改为P标号,即第一步:给始点vs标上永久性标号P(vs)=0,其余各点标临时性标号T(vj)=+,当存在两个以上最小者时,可同时改为P标号。
25、若全部点均为P标号则停止。否则用代vi转回第二步。例、用Dijkstar算法求下图中v1到v7点的最短路。v1v3v2v7v5v4v6171344452572(1)首先给v1以P标号,P(v1)=0,其余所有点给T标号,T(vi)=+(图中()内的数表示P标号;内的数表示T标号)v1(0)v2v7v5v411344452572v3v67v1(0)v2v7v5v411344452572v32v645(2)由于边(v1,v2)、(v1,v3)、(v1,v4)属于E,且v2,v3,v4为T标号,所以修改这三个点的标号:T(v2)=minT(v2),P(v1)+l12=min,0+4=4T(v3)=m
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 模型 方法 讲课
限制150内