数学建模图论模型ppt课件.ppt
《数学建模图论模型ppt课件.ppt》由会员分享,可在线阅读,更多相关《数学建模图论模型ppt课件.ppt(91页珍藏版)》请在三一办公上搜索。
1、图论模型,2,图论模型,图论基本概念最短路径算法最小生成树算法遍历性问题二分图与匹配,网络流问题关键路径问题系统监控模型着色模型,3,1、图论的基本概念,问题1(哥尼斯堡七桥问题): 能否从任一陆地出发通过每座桥恰好一次而回到出发点?,4,欧拉指出: 如果每块陆地所连接的桥都是偶数座,则从任一陆地出发,必能通过每座桥恰好一次而回到出发地.,5,问题2(哈密顿环球旅行问题): 十二面体的20个顶点代表世界上20个城市,能否从某个城市出发在十二面体上依次经过每个城市恰好一次最后回到出发点?,欧拉问题是“边遍历”,哈密尔顿问题是“点遍历”,6,问题3(四色问题): 对任何一张地图进行着色,两个共同边
2、界的国家染不同的颜色,则只需要四种颜色就够了.,问题4(关键路径问题): 一项工程任务,大到建造一座大坝,一座体育中心,小至组装一台机床,一架电视机, 都要包括许多工序.这些工序相互约束,只有在某些工序完成之后, 一个工序才能开始. 即它们之间存在完成的先后次序关系,一般认为这些关系是预知的, 而且也能够预计完成每个工序所需要的时间. 这时工程领导人员迫切希望了解最少需要多少时间才能够完成整个工程项目, 影响工程进度的要害工序是哪几个?,图的定义,图论中的“图”并不是通常意义下的几何图形或物体的形状图, 而是以一种抽象的形式来表达一些确定的事物之间的联系的一个数学系统.,定义1 一个有序二元组
3、(V, E ) 称为一个图, 记为G = (V, E ), 其中, V称为G的顶点集, V, 其元素称为顶点或结点, 简称点; E称为G的边集, 其元素称为边, 它联结V 中的两个点, 如果这两个点是无序的, 则称该边为无向边, 否则, 称为有向边. 如果V = v1, v2, , vn是有限非空点集, 则称G为有限图或n阶图.,8,如果E的每一条边都是无向边, 则称G为无向图(如图1); 如果E的每一条边都是有向边, 则称G为有向图(如图2); 否则, 称G为混合图.,图1 图2,并且常记:,V = v1, v2, , vn, |V | = n ;E = e1, e2, , em(ek=vi
4、vj ) , |E | = m.,称点vi , vj为边vivj的端点. 在有向图中, 称点vi , vj分别为边vivj的始点和终点. 该图称为(n,m)图,9,对于一个图G = (V, E ), 人们常用图形来表示它, 称其为图解. 凡是有向边, 在图解上都用箭头标明其方向.,例如, 设V = v1 , v2 , v3 , v4, E = v1v2 , v1v3 , v1v4 , v2v3 , v2v4 , v3v4, 则G = (V, E ) 是一个有4个顶点和6条边的图, G的图解如下图所示.,10,一个图会有许多外形不同的图解, 下面两个图表示同一个图G = (V, E )的图解.这
5、两个图互为同构图,今后将不计较这种外形上的差别,而用一个容易理解的、确定的图解去表示一个图.,11,有边联结的两个点称为相邻的点, 有一个公共端点的边称为相邻边. 边和它的端点称为互相关联. 常用d(v)表示图G中与顶点v关联的边的数目, d(v)称为顶点v的度数. 对于有向图,还有出度和入度之分. 用N(v)表示图G中所有与顶点v相邻的顶点的集合.,d(v1)= d(v3)= d(v4)=4, d(v2)=2,dout(v1)= dout (v3)= dout (v4)=2, dout(v2)=1din(v1)= din(v3)= din(v4)=2, din(v2)=1,12,握手定理,握
6、手定理:无向图中,所有结点的度数之和等于2m。右图:推论1:无向图中必有偶数个度数为奇数的结点。推论2:有向图中所有结点的出度之和等于入度之和。,d(v1)= d(v3)= d(v4)=4, d(v2)=2,我们今后只讨论有限简单图:,(1) 顶点个数是有限的; (2) 任意一条边有且只有两个不同的点与它相互关联; (3) 若是无向图, 则任意两个顶点最多只有一条边与之相联结; (4) 若是有向图, 则任意两个顶点最多只有两条边与之相联结. 当两个顶点有两条边与之相联结时,这两条边的方向相反. 如果某个有限图不满足(2)(3)(4),可在某条边上增设顶点使之满足.,14,定义2 若将图G的每一
7、条边e都对应一个实数F (e), 则称F (e)为该边的权, 并称图G为赋权图(网络), 记为G = (V, E , F ).,定义3 任意两点均有通路的图称为连通图. 定义4 连通而无圈的图称为树, 常用T表示树.,常用的图,给定图G= 和 G = 是两个图,如果有 V V 和 E E,则称图G是图 G 的子图。若V =V 称图G是图 G 的生成子图;若将图G的每一条边e都对应一个实数F(e),则称F(e)为该边的权,并称图G为赋权图(网络), 记为G = 。任意两点均有通路的图称为连通图。连通而无圈的图称为树,常用T=表示树。 若图G是图 G 的生成子图,且G又是一棵树,则称G是图G 的生
8、成树。,例 Ramsey问题,问题:任何6个人的聚会,其中总会有3个互相认识或3人互相不认识。图论模型:用红、蓝两种颜色对6个顶点的完全图K6的边进行任意着色,则不论如何着色必然都存在一个红色的K3或一个蓝色的K3 。对应关系:每个人即为一个结点;人与人之间的关系即为一条边,例 Ramsey问题,图论证明:用红、蓝两种颜色对K6的边进行着色,K6的任意一个顶点均有5条边与之相连接,这5条边必有3条边的颜色是相同的,不妨设为蓝色(如图)与这3条边相关联的另外3个节点之间的3条边,若都为红色,则形成红色的K3;若另外3个节点之间的3条边有一条为蓝色,则与上面的蓝色边形成蓝色的K3;因此必然存在一个
9、红色的K3或一个蓝色的K3 。,18,例 Ramsey问题,Ramsey数:R(3,3)=6;R(3,4)=9;。,例 过河问题,问题:一摆渡人欲将一只狼、一头羊、一篮菜从河西渡过河到河东。由于船小,一次只能带一物过河,并且狼与羊,羊与菜不能独处,给出渡河方法。这里显然不能用一个节点表示一个物体。一个物体可能在河东,也可能在河西,也可能在船上,状态表示不清楚。另外,问题也可以分成几个小问题,如:问题是否能解?有几种不同的解法?最快的解决方案是什么?,例 过河问题,解:用四维0-1向量表示(人,狼,羊,菜)在河西岸的状态(在河西岸则分量取1,否则取0),共有24 =16 种状态。在河东岸的状态类
10、似记作。由题设,状态(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,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)
11、(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 A6 A3 A7 A2 A8 A5 A10;A1 A6 A3 A9 A4 A8 A5 A10.,问题的转换:过河问题是否能解?即:图中A1到A10是否连通?有几种不同的解法?即: A1到A10之间有多少条不同的路径?最快的解决方案是什么?即: A1到A10最短路径有哪些?,22,图的矩阵表示, 邻接矩阵:邻接矩阵表示了点与点之间的邻接关系.一个n阶图G的邻接矩阵A =
12、(aij )nn , 其中,23,无向图G的邻接矩阵A是一个对称矩阵., 权矩阵 一个n阶赋权图G = (V, E, F)的权矩阵A = (aij ) nn , 其中,有限简单图基本上可用权矩阵来表示.,24,无向图G的权矩阵A是一个对称矩阵.,25, 关联矩阵:一个有m条边的n阶有向图G的关联矩阵A = (aij )nm , 其中,若vi是ej的始点;若vi是ej的终点;若vi与ej不关联.,有向图的关联矩阵每列的元素中有且仅有一个1,有且仅有一个 - 1.,26,一个有m条边的n阶无向图G的关联矩阵A = (aij )nm , 其中,若vi与ej关联;若vi与ej不关联.,无向图的关联矩阵
13、每列的元素中有且仅有两个1.,2、最短路径算法,定义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的最短路.,28,重要性质:,若v0 v1 vm 是图G中从v0到vm的最短路, 则1km, v0v1 vk 必为G中从v0到vk的最短路.,即:最短路是一条路,且最短路
14、的任一段也是最短路. 求非负赋权图G中某一点到其它各点最短路,一般用Dijkstra标号算法;求非负赋权图上任意两点间的最短路,一般用Floyd算法. 这两种算法均适用于有向非负赋权图. 下面分别介绍两种算法的基本过程.,29,Dijkstra算法,指标(a为起点) 设T为V的子集,P=V-T且aT,对所有tT,设 l(t)表示从a到t的所有通路中距离最短的一条的长度,且这条路径中不包含T中其他的结点,则称l(t)为t关于集合P的指标,若不存在这样的路径,这记l(t)= 注:l(t)不一定是从a到t的最短路径,因为最短路径中可能包含T中其他的节点。定理1 若t是T中关于P由最小指标的结点,则l
15、(t)是a和t之间的最短距离。定理2 设 T为V的子集,P=V-T,设 (1)对P中的任一点p,存在一条从a到p的最短路径,这条路径仅有P中的点构成, (2)对于每一点t,它关于P的指标为l(t),令x为最小指标所在的点, 即: (3)令P=P Ux,T=T-x,l(t)表示T中结点t关于P的指标,则,30,Dijkstra算法(求a点到其他点的最短路径),1、初始化,P=a,T=V-a,对每个结点t计算指标 l(t)=w(a,t) 2、设x为T中关于P有最小指标的点, 即:l(x)=min(l(t) (tT), 3、若T=,则算法结束; 否则,令P=P Ux,T=T-x 按照公式l(t)=m
16、inl(t),l(x)+w(x,t), 计算T中每一个结点t关于P的指标. 4、P代替P,T代替T,重复步骤2,3 ( 其中:w(x,y)为图的权矩阵),31,改进Dijkstra算法(求a点到其他点的最短路径),1、初始化,P=a,T=V-a,对每个结点t计算指标 l(t)=w(a,t) ,pro(t)=a;2、设x为T中关于P有最小指标的点, 即:l(x)=min(l(t) (tT);3、若T=,则算法结束; 否则,令P=P Ux,T=T-x 按照公式l(t)=minl(t),l(x)+w(x,t), 计算T中每一个结点t关于P的指标. 若 l(x)+w(x,t) l(t), pro(t)
17、=x;4、P代替P,T代替T,重复步骤2,3 ( 其中:w(x,y)为图的权矩阵),32,例 求下图中A点到其他点的最短路.,Floyd算法(求任意两点的最短路径),设A = (aij )nn为赋权图G = (V, E, F)的权矩阵, dij表示从vi到vj点的距离, rij表示从vi到vj点的最短路中前一个点的编号. 赋初值. 对所有i, j, dij = aij, rij = j. k = 1. 转向. 更新dij , rij . 对所有i, j, 若dik + dk jdij , 则令dij = dik + dkj , rij = k, 转向; 终止判断. 若k = n终止; 否则令k
18、 = k + 1, 转向. 最短路线可由rij得到.,34,例 求下图中任意两点间的最短路.,例 设备更新问题,某企业每年年初,都要作出决定,如果继续使用旧设备,要付维修费;若购买一台新设备,要付购买费.试制定一个5年更新计划,使总支出最少. 已知设备在每年年初的购买费分别为11,11, 12,12,13. 使用不同时间设备所需的维修费分别为5,6,8,11,18. 解 设bi 表示设备在第i 年年初的购买费,ci 表示设备使用i 年后的维修费, V=v1, v2, , v6,点vi表示第i 年年初购进一台新设备,虚设一个点v6表示第5年年底. E =vivj | 1ij6,每条边vivj表一
19、台设备,从第i年年初购买使用到第j年年初报废.,36,这样上述设备更新问题就变为:在有向赋权图G = (V, E, F )(图解如下)中求v1到v6的最短路问题.,37,由实际问题可知,设备使用三年后应当更新,因此删除该图中v1到v5 ,v1到v6 ,v2到v6的连线;又设备使用一年后就更新则不划算,因此再删除该图中v1v2 ,v2v3 ,v3v4 ,v4v5 ,v5v6 五条连线后得到,从上图中容易得到v1到v6只有两条路:,v1v3v6和v1v4v6.,而这两条路都是v1到v6的最短路.,3、最小生成树,由树的定义不难知道, 任意一个连通的(n,m)图G适当去掉m - n +1条边后, 都
20、可以变成树, 这棵树称为图G的生成树.,设T是图G的一棵生成树, 用F(T)表示树T中所有边的权数之和, F(T)称为树T的权. 一个连通图G的生成树一般不止一棵, 图G的所有生成树中权数最小的生成树称为图G的最小生成树-Minimum-cost Spanning Tree (MST). 求最小生成树问题有很广泛的实际应用. 例如, 把n个乡镇用高压电缆连接起来建立一个电网, 使所用的电缆长度之和最短, 即费用最小, 就是一个求最小生成树问题.,39,Kruskal算法,从未选入树中的边中选取权重最小的且不构成回路的边加入到树中.(判断回路比较麻烦),算法过程:1.将各边按权值从小到大进行排序
21、2.找出权值最小且不与已加入最小生成树集合的边构成回路的边。若符合条件,则加入最小生成树的集合中。不符合条件则继续遍历图,寻找下一个最小权值的边。3.递归重复步骤1,直到找出n-1条边为止,得到最小生成树。,时间复杂度只和边有关,可以证明其时间复杂度为O(mlogm),40,求最小生成树,41,Prim算法,把结点分成两个集合,已加入树中的(P)和未加入树中的(Q),然后每次选择一个点在P中一个点在Q中的权重最小的边,加入树中,并把相应点加入P中。,类似地,可定义连通图G 的最大生成树.,算法过程:1:初始化:任取一个节点u加入生成树,P=u0, Q=V-u0, 生成树的边集TE=。2:在所有
22、uP,vQ的边(u,v) (称为可选边集)中,找一条权重最小的边(u1,v1),将此边加进集合TE中,并将v加入P中。同时对与v关联的边,若另一个端点已经在P中,则从可选边集中删除,否则加入可选边集。3:如果P=V,则算法结束;否则重复步骤2。 我们可以算出当U=V时,步骤2共执行了n1次,TE中也增加了n1条边,这n1条边就是需要求出的最小生成树的边。,例 选址问题,现准备在 n 个居民点v1, v2, , vn中设置一银行.问设在哪个点,可使最大服务距离最小? 若设置两个银行,问设在哪两个点? 模型假设 假设各个居民点都有条件设置银行,并有路相连,且路长已知. 模型建立与求解 用Floyd
23、算法求出任意两个居民点vi , vj 之间的最短距离,并用dij 表示., 设置一个银行,银行设在 vi 点的最大服务距离为,43,求k,使,即若设置一个银行,则银行设在 vk 点,可使最大服务距离最小. 设置两个银行,假设银行设在vs , vt 点使最大服务距离最小.,记,则s,t 满足:,进一步,若设置多个银行呢?,44,4、遍历性问题,一、欧拉图G=(V,E)为一连通无向图经过G中每条边至少一次的回路称为巡回;经过G中每条边正好一次的巡回称为欧拉巡回;存在欧拉巡回的图称为欧拉图。二、中国邮递员问题(CPPchinese postman problem) 一名邮递员负责投递某个街区的邮件。
24、如何为他(她)设计一条最短的投递路线(从邮局出发,经过投递区内每条街道至少一次,最后返回邮局)?这一问题是我国管梅谷教授1962年首先提出,国际上称之为中国邮递员问题。,45,解法:若本身就是欧拉图,则直接可以找到一条欧拉巡回就是本问题的解。若不是欧拉图,必定有偶数个奇度数结点,在这些奇度数点之间添加一些边,使之变成欧拉图,再找出一个欧拉巡回。具体解法:Fleury算法+Edmonds最小对集算法,46,三、哈密尔顿图G=(V,E)为一连通无向图经过G中每点一次且正好一次的路径称为哈密尔顿路径;经过G中每点一次且正好一次的回路称为哈密尔顿回路;存在哈密尔顿回路的图称为哈密尔顿图。四、旅行商问题
25、(TSPTraveling Salesman Problem)一名推销员准备前往若干城市推销产品。如何为他(她)设计一条最短的旅行路线? 即:从驻地出发,经过每个城市恰好一次,最后返回驻地(最小哈密尔顿回路)对于n个节点的旅行商问题,n个节点的任意一个全排列都是问题的一个可能解(假设任意两个点之间都有边)。G个节点的全排列有(n-1)!个,因此间题归结为在(n-1)!个回路中选取最小回路。 TSP问题的解法属于NP完全问题,一般只研究其近似解法,47,最邻近算法(1) 选取任意一个点作为起始点,找出与该点相关联的权重最小的边,形成一条初始路径.(2) 找出与最新加入到路径中的点相关联的权重最小
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 建模 模型 ppt 课件

链接地址:https://www.31ppt.com/p-1339981.html