《离散数学》图论-第3-4节.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《《离散数学》图论-第3-4节.ppt》由会员分享,可在线阅读,更多相关《《离散数学》图论-第3-4节.ppt(103页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、除用图形表示图外,还可用矩阵表示图,它的优点:(1)将图的问题变为数学计算问题,从而可借助计算机来研究图,进行相关的计算。 (2)表示更清楚。 知识点: 1.邻接矩阵 邻接矩阵求两点间不同长度的路的条数 2.可达性矩阵 3.完全关联矩阵 由于矩阵的行和列有固定的次序,因此在用矩阵表示图时,先要将图的结点进行排序,若不具体说明排序,则默认为书写集合V时结点的顺序。,7-3 图的矩阵表示,预备知识,预备知识,一、图的邻接矩阵,以结点与结点之间的邻接关系确定的矩阵。 定义7-3.1 设简单图G=,其中V=v1,v2,vn,则n阶方阵A(G)=(aij)nn ,称为图G的邻接矩阵。 其中第i行j列的元
2、素。,图的邻接矩阵例,例7-3.1 (1) 写出下面无向图的邻接矩阵,例7-3.1(2):写出下面有向图的邻接矩阵,图的邻接矩阵例,0 1 0 0 0 0 1 1 1 1 0 1 1 0 0 0,A(G)=,(1)邻接矩阵的主对角线元素aii=0。 (2)主对角线以外的元素aij aij=1 (ij),说明图G是完全图; aij=0 (ij),说明图G是零图。 (3)无向图的邻接矩阵是对称的; 而有向图的邻接矩阵不一定对称; 因为在无向图中一条无向边应看成方向相反的两条有向边,因此无向图的邻接矩阵关于主对角线对称。,图的邻接矩阵说明:,(4)结点的度数 无向图: 每行1的个数=每列1的个数=对
3、应结点的度 有向图: 每行1的个数=对应结点的出度 每列1的个数=对应结点的入度,图的邻接矩阵说明:,图的邻接矩阵的应用,(1)由邻接矩阵可计算出从vi到vj的长度为L的路的数 目,也可计算从vi出发的长度为L的回路数。 (2)计算结点vi与vj之间的距离。 (3)判断G是否是连通图,及G中任意两个结点是否 连通。,图G的邻接矩阵为,A2中:G中从结点v2到结点v3长度为2路数目为0。 A3中:G中从结点v2到结点v3长度为3的路数目为2。 A2中:G中长度为2的路(含回路)总数为8,其中6条为回路。 A3中: G中长度为3的路(含回路)总数为10,其中0条为回路。,aij(2)=ai1a1j
4、+ai2a2j+ai3a3j+ainanj aij(L+1)=ai1a1j(L)+ai2a2j(L)+ai3a3j(L)+ainanj(L),图的邻接矩阵的应用,(1)由邻接矩阵可计算出从vi到vj的长度为L的路的数目,可计算从vi出发的长度为L的回路数。 定理7-3.1 设G是具有结点集v1,v2,vn和邻接矩阵A的图,则矩阵AL(l=1,2,)的第i行第j列的元素aij(L)=m,表示图G中从结点vi到vj长度为L的路有m条(即路的数目)。,aij(2)=ai1a1j+ai2a2j+ai3a3j+ainanj aij(L+1)=ai1a1j(L)+ai2a2j(L)+ai3a3j(L)+a
5、inanj(L),定理7-3.1 设G是具有结点集v1,v2,vn和邻接矩阵A的图,则矩阵AL(l=1,2,)的第i行第j列的元素aij(L)=m,表示图G中从结点vi到vj长度为L的路有m条(即路的数目)。,证明: (从vi到vj的长度为l的路可看作从vi到vk的长度为1的路,再联结vk到vj的长度为l-1的路。) 用数学归纳法: 1)当l=2时,成立。 2)设l=p时命题对l成立,即aij(p)表示图G中有几条从结点vi到vj长度为p的路(即路的数目),3)证明lp1时定理成立。 由 故 而aik是结点vi到vk长度为1的路的数目, 是结点vk到vj长度为p的路的数目, 所以上式右边的每一
6、项表示从vi经过一条边到vk,再由vk经过一条长度为p的路到vj的总长度为p+1的路的数目,对所有k求和, 是所有从vi到vj的长度为p+1的路的数目。所以对l=p+1成立。 证毕。,定理7-3.1 设G是具有结点集v1,v2,vn和邻接矩阵A的图,则矩阵AL(l=1,2,)的第i行第j列的元素aij(L)=m,表示图G中从结点vi到vj长度为L的路有m条(即路的数目)。,图的邻接矩阵求不同长度的路例,例7-3.2:求下图中图G的从结点v2到结点v3长度为2和3的路数目及所有长度为2和3的路数目。,分析 利用定理7-3.1 ,求图中长度为m的路数目,只需要先写出图的邻接矩阵,然后计算邻接矩阵的
7、m次方即可。,图G的邻接矩阵为,G中从结点v2到结点v3长度为2通路数目为0,G中长度为2的路(含回路)总数为8,其中6条为回路。 G中从结点v2到结点v3长度为3的通路数目为2, G中长度为3的路(含回路)总数为10,其中0条为回路。,若 中至少有一个不为0,,则可断定vi与vj相连接,求 中不为0的最小的L即为d。,(2)计算结点vi与vj之间的距离。,图的邻接矩阵的应用,如: d=1,d=2, d=1,d= ,(3)判断G是否是连通图,及G中任意两个结点是否连通。,计算B= A1 +A2 + An ,bij表示从结点vi到vj有长度分别为1、2、3n 的不同长度路的总数。 连通图的判断
8、若B的每一个元素都非0,则为连通图。 结点间的连通性 若bij为0,那么结点vi与vj不相连接。 若bij不为0 ,vi与vj有路相连接。,图的邻接矩阵的应用,在许多问题中需要判断有向图的一个结点vi到另一个结点vj是否存在路的问题。,如果利用图G的邻接矩阵A,则可计算A,A2 ,A3,An,当发现其中的某个Al的 1,就表明结点vi到vj可达。,二、有向图的可达矩阵,(1)可达矩阵的定义 (2)可达矩阵的计算方法 (3)可达矩阵的应用,可达性矩阵表明了图中任意两个结点间是否至少存在一条路以及在任何结点上是否存在回路。 定义7-3.2 设简单有向图G=(V,E),其中V=v1,v2,vn ,n
9、阶方阵P=(pij)nn ,称为图G的可达性矩阵,其中第i行j列的元素,=,从vi到vj没有路,至少有一条路,和,0,v,v,1,p,j,i,ij,1 1 1 0 0,1 1 1 0 0,1 1 1 0 0,0 0 0 1 1,0 0 0 1 1,(一)有向图的可达性矩阵,设G是n阶简单有向图,由可达性矩阵的定义知,当ij时, 如果vi到vj有路,则pij=1; 如果vi到vj无路,则pij=0; 又由定理7-2.1知,如果vi到vj有路,则必存在长度小于等于n1的路。 通过对图G的邻接矩阵A进行运算可得到G的可达性矩阵P。其方法如下: 1由A计算A2,A3,An。 2计算B=A+A2+An。
10、 3将矩阵B中非零元素改为1,所得到的矩阵即为可达性矩阵P。,(二)图的可达性矩阵计算方法(1),由邻接矩阵A求可达性矩阵P的另一方法: 将邻接矩阵A看作是布尔矩阵,矩阵的乘法运算和加法运算中,元素之间的加法与乘法采用布尔运算 布尔乘:只有11=1 布尔加:只有00=0 计算过程: 1由A,计算A2,A3,An。 2计算P=A A2 An P便是所要求的可达性矩阵。,图的可达性矩阵计算方法(2),无向图的可达性矩阵称为连通矩阵,也是对称的。,图的可达性矩阵计算方法(3)Warshall算法,A(4)= A(2) A(5)=A(3),解:,例7-3.3 求右图中图G中的可达性矩阵。,分析:先计算
11、图的邻接矩阵A布尔乘法的的2、3、4、5次幂,然后做布尔加即可。,P=A A(2) A(3) A(4)A(5),图的可达性矩阵的应用,(1)利用可达性矩阵判断有向图的连通性。 强连通 单侧连通 弱连通 (2) 求强分图 (3)利用可达性矩阵判断无向图的连通性。 无向图G为连通图的充要条件是图的可达性矩阵所有元素均为1。,(2)利用可达性矩阵判断有向图的连通性,有向图G为强连通的充要条件是图的可达性矩阵所有元素均为1。 有向图G为单侧连通的充要条件是图的可达性矩阵P及其转置矩阵PT所组成的矩阵P=PPT,在P中除对角线元素外所有元素均为1。 原因: 设 PT为Q, 即qij=pji, 若qij
12、pij=1,则结点vi与vj可达,或vj与vi可达; 若qij pij=0,则结点vi与vj不可达。 有向图G为弱连通的充要条件是忽略边的方向得到矩阵B=AAT,求B的可达性矩阵PB,在PB中除对角线元素外所有元素均为1。,利用可达性矩阵判断有向图的连通性,强连通图,利用可达性矩阵判断有向图的连通性,单侧连通图,(3)利用可达性矩阵P,求强分图,方法:设PT为P的转置矩阵,由PPT求强分图 原因:因为对PT,PijT =Pji 若从vi到vj 可达,则Pij=1, 若从vj到vi可达,则Pji=1,即PijT=1,于是当且仅当Vi和Vj相互可达时,PPT的第(i,j)项PijPijT值为1。
13、步骤如下:,计算可达性矩阵P; 计算P的转置矩阵PT ; 计算PPT ; PPT第i行元素为1的在第j1,j2,jk列,则结点vi,vj1,vj2,vjk在同一个强连通分支中,即vi,vj1,vj2,vjk导出的子图是G的一个强连通分支。,例,强分图为 v1,v3,v2,v4,v5,由可达性矩阵,求强分图例,V1,V2,V3,V4,V5,可达矩阵的应用,判断是否存在递归调用, 设P=P1,P2, ,Pn表示程序中的函数集合,对应为结点,若一函数Pi调用Pj,则在有向图中用从Pi到Pj的有向边表示, 设函数集合P=P1,P2,P3,P4,P5 调用关系:P1调用P2;P2调用P4; P3调用P1
14、; P4调用P5; P5调用P2;,可达矩阵的应用,P2,P4,P5产生递归调用,P1,P2,P3,P4,P5,完全关联矩阵 表示结点和边的关系 无向图的完全关联矩阵 有向图的完全关联矩阵,四、图的完全关联矩阵(结点和边关系),定义 7-3.3 给定无向图G=,V=v1,v2, vp,E=e1, e2, eq,则矩阵M(G)=(mij)pq,其中,称M(G)为G的完全关联矩阵。,无向图的完全关联矩阵(结点和边关系),1 1 0 0 1 1 1 1 1 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 0 0 0 0 0 0,图的完全关联矩阵例,(3) 这个结果正是握手定理的内容,即各
15、结点的度数之和等于边数的2倍。 (4)一行中元素全为0,其对应结点是孤立结点。 (5)若两列相同,则相应的两边平行。,(2)每行元素的和 即,是结点vi的度数deg(vi),(1)图中的一边关联两个点,M(G)中每列中只有两个1。,图的完全关联矩阵性质,定义 7-3.3 给定简单有向图G=, V=v1,v2, vp,E=e1, e2, ,eq, 则矩阵M(G)= (mij)pq,其中,称M(G)为G的完全关联矩阵。,有向图的完全关联矩阵,v1 V2 V3 V4 v5,M(G)=,e1 e2 e3 e4 e5 e6 e7,1 0 0 0 1 1 1 -1 1 0 0 0 0 0 0 -1 1 0
16、 0 -1 0 0 0 -1 1 0 0 -1 0 0 0 -1 -1 0 0,e3,e1,e2,e5,e4,e6,e7,v2,v1,v3,v4,v5,有向图的完全关联矩阵例,(1)图中的一边关联两个点,M(G)中每列中只有一个1和一个-1。 (2)每行中1的个数和-1的个数分别为相应结点的出度、入度。 (3)结点vi的度数: (4)一行中元素全为0,其对应结点是孤立结点。,有向图的完全关联矩阵性质,小结,掌握邻接矩阵(有向图、无向图)的求法及性质应用 理解利用邻接矩阵求两点间不同长度的路的数目 掌握有向图可达性矩阵的求法 了解完全关联矩阵的求法及性质,7-4 欧拉图和汉密尔顿图,具有某种特殊
17、路(回路)的图。 知识点: 欧拉路(回路)定义、七桥问题、一笔画问题 欧拉路(回路)判别定理 有向图欧拉路(回路) 汉密尔顿路(回路)定义、周游世界问题 汉密尔顿路(回路)必要条件 汉密尔顿路(回路)充分条件 图的闭包,欧拉图与汉密尔顿图总结,欧拉图与汉密尔顿图的判别方法,全体非空连通图,满足定理7-4.1的条件,不满足定理7-4.1的条件,欧拉图,非欧拉图,全体非空连通图,汉密尔顿图,非汉密尔顿图,满足必要条件但不满足任何充分条件,至少满足一个充分条件,不满足某个必要条件,不能根据已知的充分条件或已知的必要条件判别是否是汉密尔顿图。 根据给定的图的特点采用特定的方法 1.若能找到汉密尔顿回路
18、,则它是汉密尔顿图。 2.(反证法)假设存在一个汉密尔顿回路,如果导致发生矛盾,则它不是汉密尔顿图。 3.暂时无法判别。,1.欧拉图,(1)七桥问题,一笔画,欧拉(回)路,欧拉图 (2)判定欧拉图的充分必要条件(求欧拉回路的算法),七桥问题,1736年瑞士数学家列昂哈德欧拉(leonhard Euler)发表了图论的第一篇论文“哥尼斯堡七桥问题”。 这个问题是这样的:哥尼斯堡(Knigsberg)城市有一条横贯全城的普雷格尔(PreGel)河,城的各部分用七座桥连接,每逢假日,城中的居民进行环城的逛游,这样就产生一个问题,能不能设计一次“逛游”,使得从某地出发对每座跨河桥走一次,而在遍历了七桥
19、之后却又能回到原地。,七桥问题的图表示,图中的结点A,B,C,D表示四块地,而边表示七座桥。 哥尼斯堡七桥问题是在图中找寻经过每一条边且仅一次而回到原地的路。 欧拉在1736年的一篇论文中提出了一条简单的准则,确定了哥尼斯堡七桥问题是不能解的。,g,f,a,b,c,d,e,一笔画,与七桥问题类似的还有一笔画的判别问题,要判定一个图G是否可一笔画出,有两种情况: 一是从图G中某一结点出发,经过图G的每一边一次且仅一次到达另一结点。 另一种就是从G的某个结点出发,经过G的每一边一次且仅一次回到该结点。 上述两种情况可以由欧拉路和欧拉回路的判定条件给予解决。,欧拉图(Eulerian),定义7-4.
20、1 欧拉路(Euler trail):无孤立结点的图(无向图或有向图),若存在一条路,经过图中所有边一次且一次,该条路称为欧拉路。 欧拉回路(Euler tour/circuit):若存在一条回路,经过图中所有边一次且一次,该回路称为欧拉回路。 欧拉图(Eulerian): 有欧拉回路的图。 半欧拉图(semi-Eulerian): 有欧拉路的图。 几点说明: 平凡图是欧拉图。 环不影响图的欧拉性。 单向欧拉路(回路):给定有向图,通过图中每个结点一次且一次的单向路(回路),称作单向欧拉路(回路)。,欧拉图的判定例7-4.1,e1,e2,(2),欧拉图,半欧拉图,非(半)欧拉图,欧拉图,半欧拉
21、图,非(半)欧拉图,无向图的欧拉路及欧拉回路的判断方法,定理7-4.1无向图G具有一条欧拉路,当且仅当G是连通的,且有零个或两个奇数度数的结点。 推论:无向图G具有一条欧拉回路,当且仅当G是连通的,所有结点的度数均为偶数。,有向图的欧拉路及欧拉回路的判断方法,定理7-4.2 有向图G具有一条单向欧拉回路,当且仅当是G是强连通的,且每个结点的入度等于出度。 推论:一个有向图G具有单向欧拉路,当且仅当是G是单侧连通的,而且除两个结点外,每个结点的入度等于出度,但这两个结点中,一个结点的入度比出度大1(终点),另一个结点的入度比出度小1(起点)。 这个定理的证明可以看作是定理7-4.1(无向图的欧拉
22、路)的推广,因为对于有向图的任意一个结点来说,如果入度与出度相等,则该结点的总度数为偶数,若入度和出度之差为1时,其总度数为奇数。,其原理就是每个结点都要能进去多少次就能出来多少次。,一笔画,g,f,a,b,c,d,e,无向图G存在欧拉路,当且仅当( ) AG中所有结点的度数全为偶数 BG中至多有两个奇数度结点 CG连通且所有结点的度数全为偶数 DG连通且至多有两个奇数度结点,g,f,a,b,c,d,e,思考题: 无向连通图含G有m个奇数度结点,问 (1)至少加入多少条边才能使图G变为欧拉图? (2)至少加入多少条边才能使图G变为半欧拉图?,例7-4.3 欧拉路(回路)判定,欧拉路(回路)判定
23、,半欧拉图,欧拉图,非(半)欧拉图,欧拉图,半欧拉图,非(半)欧拉图,定理7-4.1 无向图G具有一条欧拉路,当且仅当G是连通的,且有零个或两个奇数度数的结点。,证明: 设无向图G具有一条欧拉路,则G是连通的,且有零个或两个奇数度数的结点。 设G有欧拉路L,即有点边序列v0e1v1e2eiviei+1 envn,其中结点可能重复出现,但边不重复。 (1)证G是连通的, 欧拉路L经过G的所有边,即经过所有结点, G必连通。 (2)证有零个或两个奇数度数。 对任意一个不是端点的结点vi ,每当沿欧拉路L经过vi一次,都经过该结点关联的两条边(一进一出),即给结点的度数加2,vi可重复出现,但deg
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 离散数学 图论
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内