《数学建模图论讲稿幻灯片.ppt》由会员分享,可在线阅读,更多相关《数学建模图论讲稿幻灯片.ppt(86页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数学建模数学建模数学建模数学建模图论讲图论讲稿稿稿稿第1页,共86页,编辑于2022年,星期六图论方法专题一图的基本概念图的基本概念二二三三最短路问题及其算法最短路问题及其算法四四四四最小生成树问题最小生成树问题五E图与图与H图图图的矩阵表示图的矩阵表示第2页,共86页,编辑于2022年,星期六 数学建模-图论32022年年10月月3日日 一、图的基本概念一、图的基本概念第3页,共86页,编辑于2022年,星期六数学建模-图论42022年年10月月3日日 一、图的基本概念一、图的基本概念第4页,共86页,编辑于2022年,星期六 一、图的基本概念一、图的基本概念次数为奇数顶点称为次数为奇数顶点
2、称为奇点奇点,否则称为否则称为偶点偶点。52022年年10月月3日日数学建模-图论第5页,共86页,编辑于2022年,星期六常用常用d d(v v)表示图表示图G G中与顶点中与顶点v v关联的边的数目关联的边的数目,d d(v v)称为顶点称为顶点v v的度数的度数.与顶点与顶点v v出关联的边的数目称为出关联的边的数目称为出度出度,记作,记作d d +(v v),与顶点与顶点v v入关联的边的数目称为入关联的边的数目称为入度入度,记作,记作d d -(v v)。用用N N(v v)表示图表示图G G中所有与顶点中所有与顶点v v相邻的顶点的集合相邻的顶点的集合.任意两顶点都相邻的简单图称为
3、任意两顶点都相邻的简单图称为完全图完全图.有有n n个顶点的完全图记为个顶点的完全图记为K Kn n。一、图的基本概念一、图的基本概念数学建模-图论第6页,共86页,编辑于2022年,星期六几个基本定理:几个基本定理:一、图的基本概念一、图的基本概念数学建模-图论第7页,共86页,编辑于2022年,星期六 若将图若将图G G的每一条边的每一条边e e都对应一个实数都对应一个实数F F(e e),则称则称F F(e e)为该为该边的边的权权,并称图并称图G G为为赋权图赋权图,记为记为G G=(=(V V,E E,F F ).设设G G=(=(V V,E E)是一个图是一个图,v v0 0,v
4、v1 1,v vk kV V,且且“11i ik k,v vi i1 1 v vi iE E,则称则称v v0 0 v v1 1 v vk k是是G G的一条的一条通路通路.如果通路中没有相同的顶点如果通路中没有相同的顶点,则称此通路为则称此通路为路径路径,简称简称路路.始点和终点相同的路称为始点和终点相同的路称为圈圈或或回路回路.一、图的基本概念一、图的基本概念数学建模-图论第8页,共86页,编辑于2022年,星期六 顶点顶点u u与与v v称为称为连通连通的,如果存在的,如果存在u u到到v v通路,任二顶点都连通路,任二顶点都连通的图称为通的图称为连通图连通图,否则,称为,否则,称为非连
5、通图非连通图。极大连通子图称为。极大连通子图称为连通分图连通分图。连通而无圈的图称为连通而无圈的图称为树树,常用常用T T 表示树表示树.树中最长路的边数称为树的树中最长路的边数称为树的高,高,度数为度数为1 1的顶点称为的顶点称为树叶树叶。其余的顶点称为。其余的顶点称为分枝点分枝点。树的边称为。树的边称为树枝树枝。设设G G是有向图,如果是有向图,如果G G的底图是树,则称的底图是树,则称G G是是有向树有向树,也简称,也简称树树。一、图的基本概念一、图的基本概念数学建模-图论第9页,共86页,编辑于2022年,星期六邻接矩阵(结点与结点的关系)邻接矩阵(结点与结点的关系)关联矩阵(结点与边
6、的关系)关联矩阵(结点与边的关系)路径矩阵(任意两结点之间是否有路径)路径矩阵(任意两结点之间是否有路径)可达性矩阵可达性矩阵直达矩阵直达矩阵 等等等等二、图的矩阵表示二、图的矩阵表示数学建模-图论第10页,共86页,编辑于2022年,星期六1 1 有向图的邻接矩阵有向图的邻接矩阵A=(aij)nn(n为结点数)例例1 1:写出右图的邻接矩阵:写出右图的邻接矩阵:解:二、图的矩阵表示二、图的矩阵表示数学建模-图论第11页,共86页,编辑于2022年,星期六2 2 有向图的权矩阵有向图的权矩阵A=(aij)nn(n为结点数)例2:写出右图的权矩阵:解:二、图的矩阵表示二、图的矩阵表示数学建模-图
7、论第12页,共86页,编辑于2022年,星期六3 有向图的有向图的关联矩阵关联矩阵A A=(aij)nm(n为结点数m为边数)有向图:有向图:无向图:无向图:二、图的矩阵表示二、图的矩阵表示数学建模-图论第13页,共86页,编辑于2022年,星期六例3:分别写出右边两图的关联矩阵解:分别为:二、图的矩阵表示二、图的矩阵表示数学建模-图论第14页,共86页,编辑于2022年,星期六 二、图的矩阵表示二、图的矩阵表示4 4 应用实例应用实例 某厂生产一种弹子锁具,每个锁具的钥匙有5个槽,每个槽的高度从1,2,3,4,5,6)中任取一数由于工艺及其它原因,制造锁具时对5个槽的高度有两个限制:(1)至
8、少有3个不同的数;(2)相邻两槽的高度之差不能为5 满足以上条件制造出来的所有互不相同的锁具称为一批我们的问题是如何确定每一批锁具的个数?19941994年全国大学生数学建模竞赛年全国大学生数学建模竞赛B B题题(锁具装箱锁具装箱)中关于锁具中关于锁具总数的问题可叙述如下:总数的问题可叙述如下:数学建模-图论第15页,共86页,编辑于2022年,星期六 该问题用图论中的邻接矩阵解决较为简单该问题用图论中的邻接矩阵解决较为简单易见,易见,x=t-sx=t-s,其中,其中,t t代表相邻两槽高度之差不为代表相邻两槽高度之差不为5 5的锁的锁具数,即:满足限制条件具数,即:满足限制条件(2)(2)的
9、锁具数,的锁具数,s s代表相邻两槽高度代表相邻两槽高度之差不为之差不为5 5且槽高仅有且槽高仅有1 1个或个或2 2个的锁具数,即:满足限制个的锁具数,即:满足限制条件条件(2)(2)但不满足限制条件但不满足限制条件(1)(1)的锁具数的锁具数 我们用图论方法计算我们用图论方法计算t t和和s.s.数学建模-图论 二、图的矩阵表示(应用实例及解法分析)二、图的矩阵表示(应用实例及解法分析)第16页,共86页,编辑于2022年,星期六 在在G G中中t t每一条长度为每一条长度为4 4的道路对应于一个相邻两槽高度的道路对应于一个相邻两槽高度之差不超过之差不超过5 5的锁具,即满足限制条件(的锁
10、具,即满足限制条件(2 2)的锁具,反之)的锁具,反之亦然,于是可以通过亦然,于是可以通过G G的邻接矩阵的邻接矩阵A A来计算来计算t t的值,具体步骤的值,具体步骤如下:如下:数学建模-图论 二、图的矩阵表示(应用实例及解法分析)二、图的矩阵表示(应用实例及解法分析)构造无向图构造无向图 124356第17页,共86页,编辑于2022年,星期六因此,因此,数学建模-图论 二二、图的矩阵表示(应用实例及解法分析)、图的矩阵表示(应用实例及解法分析)第18页,共86页,编辑于2022年,星期六又令又令 其中其中y yi i表示满足限制条件表示满足限制条件(2)(2)但不满足限制条件但不满足限制
11、条件(1)(1)且首位且首位为为i i的锁具数的锁具数,(i=1,2,3,4,5,6),i=1,2,3,4,5,6),显然显然y y1 1=y=y6 6,y,y2=2=y y4 4=y=y3 3=y=y5 5,于于是我们只需要计算是我们只需要计算y y1 1和和y y2.2.计算计算y y1 1可分别考虑槽高只有可分别考虑槽高只有1 1,1212,1313,1414,1515的情的情形若只有形若只有1 1,这样的锁具效只有,这样的锁具效只有1 1个,个,若只有若只有1 1和和i(i=2,3,4,5)i(i=2,3,4,5),这样的锁具数,这样的锁具数=G=G中以中以1 1和和i i为顶点,为顶
12、点,长度为长度为3 3的道路数,此数可通过的道路数,此数可通过A A的子矩阵的子矩阵A A1i1i计算得到计算得到数学建模-图论 二、图的矩阵表示(应用实例及解法分析)二、图的矩阵表示(应用实例及解法分析)124356第19页,共86页,编辑于2022年,星期六 二、图的矩阵表示(应用实例解法分析)二、图的矩阵表示(应用实例解法分析)事实上,因为事实上,因为 其中其中i=2,3,4,5,i=2,3,4,5,显然显然y y1 1=1+(4+4+4+4-1)=1+(4+4+4+4-1)4=61.4=61.同理,计算同理,计算y y2 2时应考虑槽高只有时应考虑槽高只有2,21,23,24,25,2
13、,21,23,24,25,2626时的情形,类似计算可得时的情形,类似计算可得 y y2 2=1+(4+4+4+4-1)5=76=1+(4+4+4+4-1)5=76 于是,于是,s=612+764=426s=612+764=426,x=6306-426=5880.x=6306-426=5880.该算法既易理解又易操作并且又可扩展该算法既易理解又易操作并且又可扩展数学建模-图论第20页,共86页,编辑于2022年,星期六 二、图的矩阵表示(应用实例及解法分析)二、图的矩阵表示(应用实例及解法分析)公交线路选择问题:公交线路选择问题:在给定某城市公交线路的公交网信息后,求任意在给定某城市公交线路的
14、公交网信息后,求任意两个站点之间的最佳出行路线,包括换乘次数最少、出行时间最短、出行费两个站点之间的最佳出行路线,包括换乘次数最少、出行时间最短、出行费用最低等。以下图的简化公交网为例来说明。用最低等。以下图的简化公交网为例来说明。数学建模-图论12345 图中由两条公交线路组成,实线表示第一条图中由两条公交线路组成,实线表示第一条线路,依次经过站点线路,依次经过站点1,3,4,51,3,4,5,虚线表示第二条线,虚线表示第二条线路,依次经过站点路,依次经过站点2,3,52,3,5。首先考虑换乘次数最少的线路选择模型,首先建立首先考虑换乘次数最少的线路选择模型,首先建立直达矩阵如下:直达矩阵如
15、下:第21页,共86页,编辑于2022年,星期六 二、图的矩阵表示(应用实例及解法分析)二、图的矩阵表示(应用实例及解法分析)数学建模-图论12345计算计算A A2 2得到:得到:由于由于A A2 2为非零矩阵,所以任意两站点经过为非零矩阵,所以任意两站点经过换乘一次都可到达,由于问题较简单,结果显换乘一次都可到达,由于问题较简单,结果显然正确。然正确。一般地,比较一般地,比较A=(aA=(aijij),A),A2 2=(a=(a(2)(2)ijij),),A Ak k=(a=(a(k)(k)ijij)中的中的(i,j)(i,j)元够成的向量中第一个非零向元够成的向量中第一个非零向量的上标即
16、为出行换乘的最少次数。量的上标即为出行换乘的最少次数。第22页,共86页,编辑于2022年,星期六 二、图的矩阵表示(应用实例及解法分析)二、图的矩阵表示(应用实例及解法分析)数学建模-图论12345接下来考虑出行时间最短的模型,接下来考虑出行时间最短的模型,建立直达距离矩阵:建立直达距离矩阵:下面利用下面利用FloydFloyd矩阵算法可计算出出行时间最矩阵算法可计算出出行时间最短的路线。定义短的路线。定义T*T=(tT*T=(t(2)(2)ijij),),t t(2)(2)ijij=minmin=minmin1=k=51=k=5ttikik+t+tkjkj,t,tijij,t(2)ij表示
17、从站表示从站点点i i到站点到站点j j的至多换乘一次的最短时间。的至多换乘一次的最短时间。第23页,共86页,编辑于2022年,星期六 二、图的矩阵表示(应用实例及解法分析)二、图的矩阵表示(应用实例及解法分析)数学建模-图论41235利用利用matlabmatlab编写程序如下:编写程序如下:T=0 inf 1 2 3;inf 0 1 inf 2;1 1 0 1 1;2 inf 1 0 1;3 2 1 1 0;n=length(T);T2=zeros(n);for i=1:n for j=1:n T2(i,j)=min(min(T(i,:)+T(:,j),T(i,j);endendT2计算
18、结果为:计算结果为:T2=0 2 1 2 2 2 0 1 2 2 1 1 0 1 1 2 2 1 0 1 2 2 1 1 0 第24页,共86页,编辑于2022年,星期六 二、图的矩阵表示(应用实例及解法分析)二、图的矩阵表示(应用实例及解法分析)数学建模-图论12345 类似可计算出类似可计算出T T3 3,T T4 4,实际上实际上T T2 2的值已为出行的值已为出行路线的最短时间,例如路线的最短时间,例如T T2 2(2,52,5)=2=2,说明站点,说明站点2 2到站点到站点5 5的最短时间为的最短时间为2 2站路时间。站路时间。思考:思考:最省乘车费用的最佳出行路线该如何考虑最省乘车
19、费用的最佳出行路线该如何考虑呢?(分情况讨论)呢?(分情况讨论)(1 1)按路程收费;()按路程收费;(出行时间最短出行时间最短)(2 2)按换乘次数收费)按换乘次数收费。(。(最少换乘次数最少换乘次数)第25页,共86页,编辑于2022年,星期六 二、图的矩阵表示(应用实例及解法分析)二、图的矩阵表示(应用实例及解法分析)数学建模-图论商人过河问题:商人过河问题:假如有三个商人各带一名随从要过河,只有一条船,每假如有三个商人各带一名随从要过河,只有一条船,每次最多只能坐两个人。为安全起见,商人数不能少于随从数,否则随从会杀次最多只能坐两个人。为安全起见,商人数不能少于随从数,否则随从会杀人越
20、货。船过一次河需要人越货。船过一次河需要5 5分钟,问最短几分钟能使他们都过去?分钟,问最短几分钟能使他们都过去?用邻接矩阵来解决:用邻接矩阵来解决:设设(m,n,(m,n,l)表示左岸商人表示左岸商人m m人,随从人,随从n n人;设人;设(m,n,r)(m,n,r)表示右岸有商人表示右岸有商人m m人,随从人,随从n n人。从左岸到右岸去,所有可能的状态为:人。从左岸到右岸去,所有可能的状态为:v v1 1=(3,3,=(3,3,l),v),v2 2=(3,2,=(3,2,l),v),v3 3=(3,1,=(3,1,l),v),v4 4=(3,0,=(3,0,l),v),v5 5=(2,2
21、,=(2,2,l),),v v6 6=(1,1,=(1,1,l),v),v7 7=(0,3,=(0,3,l),v),v8 8=(0,2,=(0,2,l),v),v9 9=(0,1,=(0,1,l),v),v1010=(3,3,r),=(3,3,r),v v1111=(3,2,r),v=(3,2,r),v1212=(3,1,r),v=(3,1,r),v1313=(3,0,r),v=(3,0,r),v1414=(2,2,r),=(2,2,r),v v1515=(1,1,r),=(1,1,r),v v1616=(0,3,r),=(0,3,r),v v1717=(0,2,r=(0,2,r),),v v
22、1818=(0,1,r).=(0,1,r).第26页,共86页,编辑于2022年,星期六 二、图的矩阵表示(应用实例及解法分析)二、图的矩阵表示(应用实例及解法分析)数学建模-图论V10 v11 v12 v13 v14 v15 v16 v17 v18v1 v2 v3 v4 v5 v6 v7 v8 v9 渡河可以理解为上面状态的转移,例如状态渡河可以理解为上面状态的转移,例如状态v v1 1渡河一次可以转渡河一次可以转化为其他状态化为其他状态v v1515 v v1717 v v1818,其他状态也易列出。以其他状态也易列出。以V=vV=v1 1,v v2 2,.v,.v1818 为顶点集,当两
23、种状态可以互相转化时,就在相应的来那个顶点为顶点集,当两种状态可以互相转化时,就在相应的来那个顶点间连一边,从而建立一个二分图间连一边,从而建立一个二分图G=G=,如右图所示。,如右图所示。G=G=的邻接矩阵为:的邻接矩阵为:第27页,共86页,编辑于2022年,星期六 二、图的矩阵表示(应用实例及解法分析)二、图的矩阵表示(应用实例及解法分析)数学建模-图论V10 v11 v12 v13 v14 v15 v16 v17 v18v1 v2 v3 v4 v5 v6 v7 v8 v9其中,矩阵其中,矩阵B B为:为:记记a a(k)(k)ijij为为A Ak k中的(中的(i,ji,j)元,目标是
24、使)元,目标是使a(k)1,10不等于不等于0 0的最小的的最小的自然数自然数k.k.利用利用matlabmatlab容易计算出容易计算出k=11k=11,且,且a(11)1,10=4,=4,即小船至少即小船至少1111次才次才能把所有人全部运到右岸,说明共有能把所有人全部运到右岸,说明共有4 4种不同的过河方案。继续计种不同的过河方案。继续计算可得出算可得出a a(19)(19)1,10 1,10=45060=45060,如果允许小船过河,如果允许小船过河1919次的话,共有次的话,共有4506045060中不同的方案。中不同的方案。第28页,共86页,编辑于2022年,星期六 若将图若将图
25、G G的每一条边的每一条边e e都对应一个实数都对应一个实数F F(e e),则称则称F F(e e)为该为该边的边的权权,并称图并称图G G为为赋权图赋权图,记为记为G G=(=(V V,E E,F F ).设设G G=(=(V V,E E)是一个图是一个图,v v0 0,v v1 1,v vk kV V,且且“11i ik k,v vi i1 1 v vi iE E,则称则称v v0 0 v v1 1 v vk k是是G G的一条的一条通路通路.如果通如果通路中没有相同的顶点路中没有相同的顶点,则称此通路为则称此通路为路径路径,简称简称路路.对于赋权图,对于赋权图,路的长度(即路的权)路的
26、长度(即路的权)通常指路上所有边通常指路上所有边的权之和。的权之和。最短路问题最短路问题:求赋权图上指定点之间的权最小的路。:求赋权图上指定点之间的权最小的路。三、最短路问题及其算法三、最短路问题及其算法数学建模-图论第29页,共86页,编辑于2022年,星期六重要性质:重要性质:若若v v0 0 v v1 1 v vm m 是是G G 中从中从v v0 0到到v vm m的最短路的最短路,则则对对11k km m,v v0 0v v1 1 v vk k 必为必为G G 中从中从v v0 0到到v vk k的的最短路最短路.即:最短路是一条路,且最短路的任一段即:最短路是一条路,且最短路的任一
27、段也是最短路。也是最短路。数学建模-图论 三、最短路问题及其算法三、最短路问题及其算法第30页,共86页,编辑于2022年,星期六 设有给定连接若干城市的公路网,寻求从指定城市到各设有给定连接若干城市的公路网,寻求从指定城市到各城市的最短路线。城市的最短路线。2、应用实例:最短路问题、应用实例:最短路问题 问题的数学模型问题的数学模型:三、最短路问题及其算法三、最短路问题及其算法312022年年10月月3日日数学建模-图论第31页,共86页,编辑于2022年,星期六322022年年10月月3日日 三、最短路问题及其算法三、最短路问题及其算法数学建模-图论254647109137106648第3
28、2页,共86页,编辑于2022年,星期六332022年年10月月3日日 三、最短路问题及其算法三、最短路问题及其算法数学建模-图论第33页,共86页,编辑于2022年,星期六342022年年10月月3日日 三、最短路问题及其算法三、最短路问题及其算法数学建模-图论第34页,共86页,编辑于2022年,星期六352022年年10月月3日日 三、最短路问题及其算法三、最短路问题及其算法数学建模-图论第35页,共86页,编辑于2022年,星期六362022年年10月月3日日 三、最短路问题及其算法三、最短路问题及其算法数学建模-图论254647109137106648第36页,共86页,编辑于202
29、2年,星期六372022年年10月月3日日 三、最短路问题及其算法三、最短路问题及其算法数学建模-图论第37页,共86页,编辑于2022年,星期六382022年年10月月3日日 三、最短路问题及其算法三、最短路问题及其算法数学建模-图论第38页,共86页,编辑于2022年,星期六392022年年10月月3日日 三、最短路问题及其算法三、最短路问题及其算法数学建模-图论第39页,共86页,编辑于2022年,星期六402022年年10月月3日日 三、最短路问题及其算法三、最短路问题及其算法数学建模-图论254647109137106648第40页,共86页,编辑于2022年,星期六412022年年
30、10月月3日日 三、最短路问题及其算法三、最短路问题及其算法数学建模-图论第41页,共86页,编辑于2022年,星期六422022年年10月月3日日 三、最短路问题及其算法三、最短路问题及其算法数学建模-图论第42页,共86页,编辑于2022年,星期六432022年年10月月3日日 三、最短路问题及其算法三、最短路问题及其算法数学建模-图论254647109137106648第43页,共86页,编辑于2022年,星期六442022年年10月月3日日 三、最短路问题及其算法三、最短路问题及其算法数学建模-图论第44页,共86页,编辑于2022年,星期六452022年年10月月3日日数学建模-图论
31、 三、最短路问题及其算法三、最短路问题及其算法第45页,共86页,编辑于2022年,星期六462022年年10月月3日日数学建模-图论求求v v1 1到到v v6 6的最短路问题的最短路问题.三、最短路问题及其算法三、最短路问题及其算法第46页,共86页,编辑于2022年,星期六472022年年10月月3日日数学建模-图论从上图中容易得到从上图中容易得到v v1 1到到v v6 6只有两条路只有两条路:v v1 1v v3 3v v6 6和和v v1 1v v4 4v v6 6.而这两条路都是而这两条路都是v v1 1到到v v6 6的最短路的最短路.三、最短路问题及其算法三、最短路问题及其算
32、法第47页,共86页,编辑于2022年,星期六482022年年10月月3日日 三、最短路问题及其算法三、最短路问题及其算法数学建模-图论第48页,共86页,编辑于2022年,星期六 顶点顶点u u与与v v称为称为连通连通的,如果存在的,如果存在u-vu-v通路,任二顶点都连通路,任二顶点都连通的图称为通的图称为连通图连通图,否则,称为,否则,称为不连通图不连通图。极大连通子图称为。极大连通子图称为连通分图连通分图。连通而无圈的图称为连通而无圈的图称为树树,常用常用T T 表示树表示树.树中最长路的边数称为树的树中最长路的边数称为树的高高的度为的度为1 1的顶点称为的顶点称为树树叶叶。其余的顶
33、点称为。其余的顶点称为分枝点分枝点。树的边称为。树的边称为树枝树枝。设设G G是有向图,如果是有向图,如果G G的底图是树,则称的底图是树,则称G G是是有向树有向树,也简称,也简称树树。四、最小生成树问题及其算法四、最小生成树问题及其算法数学建模-图论第49页,共86页,编辑于2022年,星期六若若 任任 意意 一一 个个 连连 通通 的的 图图G=G=的的 生生 成成 子子 图图T=VT=(V(V=V,E=V,E为为E E的的子子集集)为为树树,这这棵棵树树T T称称为为图图G G的生成树的生成树.设设T T是是图图G G的的一一棵棵生生成成树树,用用F F (T T)表表示示树树T T中
34、中所所有有边边的的权数之和权数之和,F F(T T)称为树称为树T T的的权权.一个连通图一个连通图G G的生成树一般不止一棵的生成树一般不止一棵,图图G G的所有生成树中权数最小的生成树称为的所有生成树中权数最小的生成树称为图图G G的的最小生成树最小生成树.数学建模-图论 四、最小生成树问题及其算法四、最小生成树问题及其算法第50页,共86页,编辑于2022年,星期六 怎样找出最小生成树?怎样找出最小生成树?G T1 T2 T3 T4 T5 T6 T7 T8 T T1 1至至T T8 8是是 图图G G的生的生成树成树数学建模-图论 四、最小生成树问题及其算法四、最小生成树问题及其算法第5
35、1页,共86页,编辑于2022年,星期六Kruskal 算法算法 思想:在不形成圈得条件下,优先挑选权小的边形成生成树。思想:在不形成圈得条件下,优先挑选权小的边形成生成树。76788334245v1v2v3v4v5v6v7683324v1v2v3v4v5v6v7数学建模-图论 四、最小生成树问题及其算法四、最小生成树问题及其算法第52页,共86页,编辑于2022年,星期六注:算法构造的最小生成树的边集为注:算法构造的最小生成树的边集为 E E1 1;标号;标号 l l 具有性质:当且仅具有性质:当且仅当当 u u、v v 之间有一条仅由之间有一条仅由 E E1 1 中的边形成的路时,中的边形
36、成的路时,l l(u u)=)=l l(v v),因,因此在步骤此在步骤 (2)(2)发现发现 l l(u u)=)=l l(v v)时,时,(u u,v v)不能放入不能放入 E E1 1,否则,否则会形成一个圈。会形成一个圈。数学建模-图论 四、最小生成树问题及其算法四、最小生成树问题及其算法第53页,共86页,编辑于2022年,星期六542022年年10月月3日日 四、最小生成树问题及其算法四、最小生成树问题及其算法数学建模-图论第54页,共86页,编辑于2022年,星期六552022年年10月月3日日 四、最小生成树问题及其算法四、最小生成树问题及其算法数学建模-图论第55页,共86页
37、,编辑于2022年,星期六562022年年10月月3日日 四、最小生成树问题及其算法四、最小生成树问题及其算法数学建模-图论运行结果如下:运行结果如下:T=1 3 5 1 6 3 2 6 6 6 7 4c=26上述例题的上述例题的matlab程序如下:程序如下:b=1 1 2 2 3 3 3 4 5 5 6;2 6 3 6 4 6 7 7 6 7 7;2 4 4 5 8 3 7 8 3 7 6;Krusf(b,1);76788334245v1v2v3v4v5v6v7683324v1v2v3v4v5v6v7第56页,共86页,编辑于2022年,星期六572022年年10月月3日日 四、最小生成树
38、问题及其算法四、最小生成树问题及其算法数学建模-图论 第57页,共86页,编辑于2022年,星期六582022年年10月月3日日 四、最小生成树问题及其算法四、最小生成树问题及其算法数学建模-图论第58页,共86页,编辑于2022年,星期六592022年年10月月3日日 四、最小生成树问题及其算法四、最小生成树问题及其算法数学建模-图论第59页,共86页,编辑于2022年,星期六602022年年10月月3日日 四、最小生成树问题及其算法四、最小生成树问题及其算法数学建模-图论 运行结果如下:运行结果如下:T=1 1 6 6 6 3 2 6 3 5 7 4c=2 4 3 3 6 87678833
39、4245v1v2v3v4v5v6v7第60页,共86页,编辑于2022年,星期六64686865505061456054例:分别利用例:分别利用KruskalKruskal算法和算法和PrimPrim算法如图算法如图G G的最小生成的最小生成树:树:四、最小生成树问题及其算法四、最小生成树问题及其算法数学建模-图论第61页,共86页,编辑于2022年,星期六称经过图称经过图 G G=(=(V V,E E)的每条边恰好一次的路为的每条边恰好一次的路为 EulerEuler路径路径,经,经过过G G 的每条边恰好一次的回路为的每条边恰好一次的回路为 EulerEuler回路回路。称有。称有 Eul
40、er Euler 回路的图回路的图为为 EulerEuler图图 五、五、E图与图与H图问题图问题数学建模-图论命题:命题:G G 是是 Euler Euler 图当且当图当且当G G 连通且连通且没有度数为奇数的点;没有度数为奇数的点;G G 有有 Euler Euler 路径当且仅当路径当且仅当 G G 连通且没有或只有二个度数为基数的连通且没有或只有二个度数为基数的点。点。ABCD4 个点的度数皆为奇数,个点的度数皆为奇数,不存在不存在 Euler 路路第62页,共86页,编辑于2022年,星期六中国邮递员问题:中国邮递员问题:一个邮递员从邮局取出邮件后,需要到他管辖区域内的每条街道进行
41、一个邮递员从邮局取出邮件后,需要到他管辖区域内的每条街道进行投递,送完邮件后返回邮局,问如何选择一条总路程最短的投递路线投递,送完邮件后返回邮局,问如何选择一条总路程最短的投递路线?以街道为边,街道的交叉口或端点为点,街道的长度为权,构造赋权图以街道为边,街道的交叉口或端点为点,街道的长度为权,构造赋权图G G=(V V,E,wE,w)。投递路线应是一条经过。投递路线应是一条经过G G的每条边至少一次的回路。的每条边至少一次的回路。数学建模-图论 五、五、E图与图与H图问题图问题第63页,共86页,编辑于2022年,星期六将将G G的度数为奇数的点(必为的度数为奇数的点(必为偶数个)两个一组、
42、两个一组偶数个)两个一组、两个一组用最短路连结起来。用最短路连结起来。4 3 3 34 3 3 3a 2 b 2 c 2 de 3 f 2 g 2 hi 4 j 2 k 2 l 24 322 如何分组可以使得重复路径的总长度最短?如何分组可以使得重复路径的总长度最短?23 2 22数学建模-图论 五、五、E图与图与H图问题图问题第64页,共86页,编辑于2022年,星期六数学建模-图论 五、五、E图与图与H图问题图问题若若G G是是EulerEuler图,则任何一条图,则任何一条EulerEuler回路是最短投递路线回路是最短投递路线,都满足条件,都满足条件,针对这种情况,针对这种情况,Fle
43、uryFleury提出一种算法,能够在提出一种算法,能够在EulerEuler图中找出图中找出EulerEuler路径,解决了邮递员问题;路径,解决了邮递员问题;若若G G 不是不是EulerEuler图,则投递路线将图,则投递路线将重复经过某些街道,最优投递路重复经过某些街道,最优投递路线应使得重复经过的街道的总长线应使得重复经过的街道的总长度最短。度最短。例如,确定右图是否例如,确定右图是否EulerEuler图,若是,找图,若是,找出图中的出图中的EulerEuler回路回路。2 3 6 5 4 1第65页,共86页,编辑于2022年,星期六662022年年10月月3日日数学建模-图论
44、五、五、E图与图与H图问题图问题第66页,共86页,编辑于2022年,星期六672022年年10月月3日日数学建模-图论 五、五、E图与图与H图问题图问题第67页,共86页,编辑于2022年,星期六682022年年10月月3日日数学建模-图论 五、五、E图与图与H图问题图问题第68页,共86页,编辑于2022年,星期六692022年年10月月3日日数学建模-图论 五、五、E图与图与H图问题图问题第69页,共86页,编辑于2022年,星期六702022年年10月月3日日数学建模-图论 五、五、E图与图与H图问题图问题第70页,共86页,编辑于2022年,星期六712022年年10月月3日日数学建
45、模-图论 五、五、E图与图与H图问题图问题上述例题的上述例题的MatlabMatlab程序如下:程序如下:cleard=0 1 1 1 1 1;1 0 1 1 1 1;1 1 0 1 1 1;1 1 1 0 1 1;1 1 1 1 0 1;1 1 1 1 1 0;T=Fleuf1(d);2 3 6 5 4 1第71页,共86页,编辑于2022年,星期六例:确定所示的赋权图是否例:确定所示的赋权图是否EulerEuler图,若是,图,若是,找出图中的找出图中的EulerEuler回路。回路。数学建模-图论 五、五、E图与图与H图问题图问题第72页,共86页,编辑于2022年,星期六732022年
46、年10月月3日日数学建模-图论 五、五、E图与图与H图问题图问题运行结果如下:运行结果如下:T=1 5 4 3 5 5 4 3 2 1c=5d=0 1 0 0 1 1 0 1 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0 1 0第73页,共86页,编辑于2022年,星期六称经过图称经过图 G G=(=(V V,E E)的每个点恰好一次的路为的每个点恰好一次的路为HamiltonHamilton路路,经过,经过G G的每的每个点恰好一次的回路为个点恰好一次的回路为HamiltonHamilton回路回路。称有。称有HamiltonHamilton回路的图为回路的图为Hamilton
47、Hamilton图图。1112345678910121314151617181920十二面体的平面嵌入为十二面体的平面嵌入为 Hamilton 图图 Hamilton 图与图与 Euler 图在定图在定义上很相似,但判断一个图义上很相似,但判断一个图是否是否 Hamilton 图较判断它图较判断它是否是否 Euler 图要困难得多,图要困难得多,目前还没有易验证的充要目前还没有易验证的充要条件。条件。数学建模-图论 五、五、E图与图与H图问题图问题第74页,共86页,编辑于2022年,星期六在国际象棋中,马跳动一次只能沿着一个在国际象棋中,马跳动一次只能沿着一个 23 23 的长方形的对角线从
48、一的长方形的对角线从一个角跳到另一个角,问是否存在一串符合规定的着法使得马可以从任个角跳到另一个角,问是否存在一串符合规定的着法使得马可以从任一格子出发跳遍一格子出发跳遍 88 88 的整个棋盘,并只到达每个格子一次?的整个棋盘,并只到达每个格子一次?56415835503960334744554059345138425746493653326145484354316237522053063221116132964214171425106192278231215128718326924*数学建模-图论 五、五、E图与图与H图问题图问题第75页,共86页,编辑于2022年,星期六旅行推销员问题旅
49、行推销员问题(货郎担问题)(货郎担问题)一个推销员要去一些城市访问他的客户然后返回出发城市,一个推销员要去一些城市访问他的客户然后返回出发城市,问如何选择旅行路线可以使得总路程最短?问如何选择旅行路线可以使得总路程最短?以城市为点,以两个城市之间的旅行距离为权,构造一个赋权完全图以城市为点,以两个城市之间的旅行距离为权,构造一个赋权完全图 G G =(=(V V,E,wE,w)。推销员的旅行路线应是推销员的旅行路线应是G G 的一条经过每个点至少一次的回路,且的一条经过每个点至少一次的回路,且回路的长度尽可能短。回路的长度尽可能短。数学建模-图论 五、五、E图与图与H图问题图问题第76页,共8
50、6页,编辑于2022年,星期六 与最短路问题相反,至今未找到有求解旅行商问题的有效算与最短路问题相反,至今未找到有求解旅行商问题的有效算法,我们试图寻找一个比较好的方法,但不一定是最优解;首先法,我们试图寻找一个比较好的方法,但不一定是最优解;首先给出近似最优的改良后的最邻近算法,称为给出近似最优的改良后的最邻近算法,称为改良圈算法,改良圈算法,改良圈改良圈算法是一种近似算法,给出的结果不一定是最优的,但是有理由算法是一种近似算法,给出的结果不一定是最优的,但是有理由认为它常常是比较好的。认为它常常是比较好的。该算法的该算法的matlabmatlab程序为:程序为:数学建模-图论 五、五、E图