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