数学建模图论讲ppt课件.ppt
《数学建模图论讲ppt课件.ppt》由会员分享,可在线阅读,更多相关《数学建模图论讲ppt课件.ppt(86页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 数学建模数学建模 图论方法专题图论方法专题图论方法专题图的基本概念图的基本概念最短路问题及其算法最短路问题及其算法最小生成树问题最小生成树问题E图与图与H图图图的矩阵表示图的矩阵表示 32022年年7月月26日日 一、图的基本概念一、图的基本概念42022年年7月月26日日 一、图的基本概念一、图的基本概念 一、图的基本概念一、图的基本概念次数为奇数顶点称为次数为奇数顶点称为奇点奇点,否则称为否则称为偶点偶点。52022年年7月月26日日常用常用d d( (v v) )表示图表示图G G中与顶点中与顶点v v关联的边的数目关联的边的数目, , d d( (v v) )称为顶点称为顶点v v的
2、度数的度数. .与顶点与顶点v v出关联的边的数目称为出关联的边的数目称为出度出度,记作,记作d d + +( (v v) ),与顶点与顶点v v入关联的边的数目称为入关联的边的数目称为入度入度,记作,记作d d - -( (v v) )。用用N N( (v v) )表示图表示图G G中所有与顶点中所有与顶点v v相邻的顶点的集合相邻的顶点的集合. 任意两顶点都相邻的简单图称为任意两顶点都相邻的简单图称为完全图完全图. .有有n n个顶点的完全图记为个顶点的完全图记为K Kn n 。 一、图的基本概念一、图的基本概念几个基本定理:几个基本定理: .21EvdEVGVv,有,、对图数个。、度为奇
3、数的顶点有偶2 . 3EvdvdEVGVvVv则是有向图,、设 一、图的基本概念一、图的基本概念 若将图若将图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 i
4、E E, , 则称则称v v0 0 v v1 1 v vk k是是G G的一条的一条通路通路. . 如果通路中没有相同的顶点如果通路中没有相同的顶点, , 则称此通路为则称此通路为路径路径, , 简称简称路路. . 始点和终点相同的路称为始点和终点相同的路称为圈圈或或回路回路. . 一、图的基本概念一、图的基本概念 顶点顶点u u与与v v称为称为连通连通的,如果存在的,如果存在u u到到v v通路,任二顶通路,任二顶点都连通的图称为点都连通的图称为连通图连通图,否则,称为,否则,称为非连通图非连通图。极大。极大连通子图称为连通子图称为连通分图连通分图。 连通而无圈的图称为连通而无圈的图称为树
5、树, , 常用常用T T 表示树表示树. . 树树中中最长路的边数称为树的最长路的边数称为树的高,高,度数为度数为1 1的顶点的顶点称为称为树叶树叶。其余的顶点称为。其余的顶点称为分枝点分枝点。树的边称为。树的边称为树树枝枝。 设设G G是有向图,如果是有向图,如果G G的底图是树,则称的底图是树,则称G G是是有向树有向树,也简称,也简称树树。 一、图的基本概念一、图的基本概念邻接矩阵(结点与结点的关系)邻接矩阵(结点与结点的关系)关联矩阵(结点与边的关系)关联矩阵(结点与边的关系)路径矩阵(任意两结点之间是否有路径)路径矩阵(任意两结点之间是否有路径)可达性矩阵可达性矩阵直达矩阵直达矩阵
6、等等等等二、图的矩阵表示二、图的矩阵表示1 1 有向图的邻接矩阵有向图的邻接矩阵 A = (aij )nn (n为结点数)EvvEvvajijiij, 0, 1 例例1 1:写出右图的邻接矩阵:写出右图的邻接矩阵:0101100101001010A解:二、图的矩阵表示二、图的矩阵表示2 2 有向图的权矩阵有向图的权矩阵A = (aij ) nn (n为结点数) EvvjiEvvvvFajijijiij , , 0 ,例2:写出右图的权矩阵:05420370860A解:二、图的矩阵表示二、图的矩阵表示3 有向图的有向图的关联矩阵关联矩阵A A =(aij )nm (n为结点数m为边数) 不关联与
7、若的终点是若的始点是若iiiiiiijeveveva, 0, 1, 1有向有向图:图: 无向图:无向图:不关联与若关联与若jijiijvvvva, 0 , 1 二、图的矩阵表示二、图的矩阵表示例3:分别写出右边两图的关联矩阵解:分别为:1101100011011000000111011001A 二、图的矩阵表示二、图的矩阵表示eabcd1e2e3e4e5e0001101001111000011010000A 二、图的矩阵表示二、图的矩阵表示4 4 应用实例应用实例 某厂生产一种弹子锁具,每个锁具的钥匙有5个槽,每个槽的高度从1,2,3,4,5,6)中任取一数由于工艺及其它原因,制造锁具时对5个
8、槽的高度有两个限制:(1)至少有3个不同的数;(2)相邻两槽的高度之差不能为5 满足以上条件制造出来的所有互不相同的锁具称为一批我们的问题是如何确定每一批锁具的个数?19941994年全国大学生数学建模竞赛年全国大学生数学建模竞赛B B题题( (锁具装箱锁具装箱) )中关于中关于锁具总数的问题可叙述如下:锁具总数的问题可叙述如下: 该问题用图论中的邻接矩阵解决较为简单该问题用图论中的邻接矩阵解决较为简单易见,易见, x=x=t-st-s,其中,其中,t t代表相邻两槽高度之差不为代表相邻两槽高度之差不为5 5的锁具数,即:满足限制条件的锁具数,即:满足限制条件(2)(2)的锁具数,的锁具数,s
9、 s代表相代表相邻两槽高度之差不为邻两槽高度之差不为5 5且槽高仅有且槽高仅有1 1个或个或2 2个的锁具数,个的锁具数,即:满足限制条件即:满足限制条件(2)(2)但不满足限制条件但不满足限制条件(1)(1)的锁具的锁具数数 我们用图论方法计算我们用图论方法计算t t和和s.s. 二、图的矩阵表示(应用实例及解法分析)二、图的矩阵表示(应用实例及解法分析),1,2,3,4,5,6,5GVEVEij i jVij,且 在在G G中中t t每一条长度为每一条长度为4 4的道路对应于一个相的道路对应于一个相邻两槽邻两槽高度之差不超过高度之差不超过5 5的锁具,即满足限制条件(的锁具,即满足限制条件
10、(2 2)的锁)的锁具,反之亦然,于是可以通过具,反之亦然,于是可以通过G G的邻接矩阵的邻接矩阵A A来计算来计算t t的的值,具体步骤如下:值,具体步骤如下: 二、图的矩阵表示(应用实例及解法分析)二、图的矩阵表示(应用实例及解法分析)构造无向图构造无向图 124356111110111111111111111111111111011111A5555545555555555555555555555554555552A1411651651651651401651941941941941651651941941941941651651941941941941651651941941941941
11、651401651651651651414A.63066161)4(ijijat因此,因此, 二二、图的矩阵表示(应用实例及解法分析)、图的矩阵表示(应用实例及解法分析)又令又令 ,654321yyyyyys其中其中y yi i表示满足限制条件表示满足限制条件(2)(2)但不满足限制条件但不满足限制条件(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. 计算计算
12、y y1 1可分别考虑槽高只有可分别考虑槽高只有1 1,1212,1313,1414,1515的的情形若只有情形若只有1 1,这样的锁具效只有,这样的锁具效只有1 1个,个,若只有若只有1 1和和i(ii(i=2,3,4,5)=2,3,4,5),这样的锁具数,这样的锁具数=G=G中以中以1 1和和i i为为顶点,长度为顶点,长度为3 3的道路数,此数可通过的道路数,此数可通过A A的子矩阵的子矩阵A A1i1i计计算得到算得到 二、图的矩阵表示(应用实例及解法分析)二、图的矩阵表示(应用实例及解法分析)124356 二、图的矩阵表示(应用实例解法分析)二、图的矩阵表示(应用实例解法分析)事实上
13、,因为事实上,因为 444422221111i131211iiiAAA,行第行第其中其中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,21,23,24,25,2626时的情形,类似计算可得时的情形,类似计算可得 y y2 2=1=1+(4+4+4+4-1+(4+4+4+4-1) )5=765=76 于是,于是,s=61s=612+762+764=4264=426,x=6306-426=5880.x=6306
14、-426=5880. 该算法既易理解又易操作并且又可扩展该算法既易理解又易操作并且又可扩展 二、图的矩阵表示(应用实例及解法分析)二、图的矩阵表示(应用实例及解法分析)公交线路选择问题:公交线路选择问题:在给定某城市公交线路的公交网信息后,在给定某城市公交线路的公交网信息后,求任意两个站点之间的最佳出行路线,包括换乘次数最少、出行求任意两个站点之间的最佳出行路线,包括换乘次数最少、出行时间最短、出行费用最低等。以下图的简化公交网为例来说明。时间最短、出行费用最低等。以下图的简化公交网为例来说明。 12345 图中由两条公交线路组成,实线表示第图中由两条公交线路组成,实线表示第一条线路,依次经过
15、站点一条线路,依次经过站点1,3,4,51,3,4,5,虚线表,虚线表示第二条线路,依次经过站点示第二条线路,依次经过站点2,3,52,3,5。 首先考虑换乘次数最少的线路选择模型,首首先考虑换乘次数最少的线路选择模型,首先建立直达矩阵如下:先建立直达矩阵如下: 二、图的矩阵表示(应用实例及解法分析)二、图的矩阵表示(应用实例及解法分析)0111110101110111010011100A12345计算计算A A2 2得到:得到:42312232223241212122222232A 由于由于A A2 2为非零矩阵,所以任意两站点经为非零矩阵,所以任意两站点经过换乘一次都可到达,由于问题较简单
16、,结过换乘一次都可到达,由于问题较简单,结果显然正确。果显然正确。 一般地,比较一般地,比较A=(aA=(aijij),A),A2 2=(a=(a(2)(2)ijij),), , A Ak k=(=(a a(k)(k)ijij) )中的中的( (i,ji,j) )元够成的向量中第一个元够成的向量中第一个非零向量的上标即为出行换乘的最少次数。非零向量的上标即为出行换乘的最少次数。 二、图的矩阵表示(应用实例及解法分析)二、图的矩阵表示(应用实例及解法分析)011231012110112103210T12345接下来考虑出行时间最短的接下来考虑出行时间最短的模型,建立直达距离矩阵:模型,建立直达距
17、离矩阵: 下面利用下面利用FloydFloyd矩阵算法可计算出出行时矩阵算法可计算出出行时间最短的路线。定义间最短的路线。定义T T* *T=(tT=(t(2)(2)ijij), ), t t(2)(2)ijij=minmin=minmin1=k=51=k=5ttikik+t+tkjkj,t,tijij, t(2)ij表示表示从站点从站点i i到站点到站点j j的至多换乘一次的最短时间。的至多换乘一次的最短时间。 站点不可直达站点与,站的距离站点共有站点jinjintij, 二、图的矩阵表示(应用实例及解法分析)二、图的矩阵表示(应用实例及解法分析)41235利用利用matlabmatlab编
18、写程序如下:编写程序如下: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计算结果为:计算结果为: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 二、图的矩阵表示(应用实例及解法分析)二、图的矩阵表示(应用实例及解法分析)12345 类似可计算出类似可计算出T T3 3,T T
19、4 4,实际上实际上T T2 2的值已为的值已为出行路线的最短时间,例如出行路线的最短时间,例如T T2 2(2,52,5)=2=2,说明站点说明站点2 2到站点到站点5 5的最短时间为的最短时间为2 2站路时间。站路时间。思考:思考:最省乘车费用的最佳出行路线该如何考最省乘车费用的最佳出行路线该如何考虑呢?(分情况讨论)虑呢?(分情况讨论)(1 1)按路程收费;()按路程收费;(出行时间最短出行时间最短)(2 2)按换乘次数收费)按换乘次数收费。(。(最少换乘次数最少换乘次数) 二、图的矩阵表示(应用实例及解法分析)二、图的矩阵表示(应用实例及解法分析)商人过河问题:商人过河问题:假如有三个
20、商人各带一名随从要过河,只有一假如有三个商人各带一名随从要过河,只有一条船,每次最多只能坐两个人。为安全起见,商人数不能少于随条船,每次最多只能坐两个人。为安全起见,商人数不能少于随从数,否则随从会杀人越货。船过一次河需要从数,否则随从会杀人越货。船过一次河需要5 5分钟,问最短几分钟,问最短几分钟能使他们都过去?分钟能使他们都过去?用邻接矩阵来解决:用邻接矩阵来解决:设设( (m,n,m,n,l) )表示左岸商人表示左岸商人m m人,随从人,随从n n人;设人;设( (m,n,rm,n,r) )表示右岸有商人表示右岸有商人m m人,随从人,随从n n人。从左岸到右岸去,所有可人。从左岸到右岸
21、去,所有可能的状态为:能的状态为: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,=(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
22、,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 v1818=(0,1,r).=(0,1,r). 二、图的矩阵表示(应用实例及解法分析)二、图的矩阵表示(应用实例及解法分析))(00对称阵BBAV10 v11 v12 v13 v14 v15 v16 v17 v18v1 v2 v3 v4 v5 v6 v7 v8 v9 渡河可以理解为上面状态的转移,例如
23、状态渡河可以理解为上面状态的转移,例如状态v v1 1渡河一次可渡河一次可以转化为其他状态以转化为其他状态v v1515 v v1717 v v1818,其他状态也易列出。以其他状态也易列出。以V=vV=v1 1, , v v2 2,. v,. v1818 为顶点集,当两种状态可以互相转化时,就在相应为顶点集,当两种状态可以互相转化时,就在相应的来那个顶点间连一边,从而建立一个二分图的来那个顶点间连一边,从而建立一个二分图G=G=,如右,如右图所示。图所示。G=G=的邻接矩阵为:的邻接矩阵为: 二、图的矩阵表示(应用实例及解法分析)二、图的矩阵表示(应用实例及解法分析)000000001000
24、000011000000110000000011000010100000000000001010000011100000110100000BV10 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)元,目标是使)元,目标是使a(k)1,10不等于不等于0 0的最小的的最小的自然数自然数k.k. 利用利用matlabmatlab容易计算出容易计算出k=11k=11,且,且a(11)1,10 =4,=4,即小船至少即小船至少111
25、1次才次才能把所有人全部运到右岸,说明共有能把所有人全部运到右岸,说明共有4 4种不同的过河方案。继续计种不同的过河方案。继续计算可得出算可得出a a(19)(19)1,10 1,10 =45060=45060,如果允许小船过河,如果允许小船过河1919次的话,共有次的话,共有4506045060中不同的方案。中不同的方案。 若将图若将图G G的每一条边的每一条边e e都对应一个实数都对应一个实数F F( (e e) ), , 则称则称F F( (e e) )为该边的为该边的权权, , 并称图并称图G G为为赋权图赋权图, , 记为记为G G = ( = (V V, , E E , , F F
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 建模 图论讲 ppt 课件
限制150内