《离散数学》第七章_图论-第3-4节

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
阵所有元素均为1。 有向图G为单侧连通的充要条件是图的可达性 矩阵P及其转置矩阵PT所组成的矩阵P’=P∨PT, 在P’中除对角线元素外所有元素均为1。
原因:
设 PT为Q, 即qij=pji, 若qij ∨pij=1,则结点vi与vj可达,或vj与vi可达; 若qij ∨pij=0,则结点vi与vj不可达。

vn}和邻接矩阵A的图,则矩阵AL(l=1, 2,…)的第i行第j列的元素aij(L)=m,表 示图G中从结点vi到vj长度为L的路有m条 (即路的数目)。 3)证明l=p+1时定理成立。
由 故
而aik是结点vi到vk长度为1的路的数目, 是结点vk到vj长度为p的路的数目, 所以上式右边的每一项表示从vi经过一条边到vk,再 由vk经过一条长度为p的路到vj的总长度为p+1的路的 数目,对所有k求和, 是所有从vi到vj的长度 为p+1的路的数目。所以对l=p+1成立。 证毕。
矩阵为
v4
v3
v2
aij(L+1)=ai1•a1j(L)+ai2•a2j(L)+ai3•a3j(L)++ain•anj(L)
A2中:G中从结点v2到结点 v3长度为2路数目为0。 A3中:G中从结点v2到结点 v3长度为3的路数目为2。 A2中:G中长度为2的路(含 回路)总数为8,其中6条为 回路。 A3中: G中长度为3的路
图的邻接矩阵的应用
(1)由邻接矩阵可计算出从vi到vj的长度为L的
路的数
目,也可计算从vi出发的长度为L的回路数
。 (2)计算结点vi与vj之间的距离。 (3)判断G是否是连通图,及G中任意两个结点
v1 v5 图G的邻接
aij(2)=ai1•a1j+ai2•a2j+ai3•a3j++ain•anj
A(4)= A(2) A(5)=A(3)
图的可达性矩阵的应用
(1)利用可达性矩阵判断有向图的连通性。
强连通 单侧连通 弱连通
(2) 求强分图 (3)利用可达性矩阵判断无向图的连通性。
无向图G为连通图的充要条件是图的可达
性矩阵所有来自百度文库素均为1。
(2)利用可达性矩阵判断有向 图的连通性 有向图G为强连通的充要条件是图的可达性矩
i≠j时, 如果vi到vj有路,则pij=1; 如果vi到vj无路,则pij=0; 又由定理7-2.1知,如果vi到vj有路,则必存在长度小 于等于n–1的路。 通过对图G的邻接矩阵A进行运算可得到G的可达性矩 阵P。其方法如下: 1.由A计算A2,A3,…,An。 2.计算B=A+A2+…+An。 3.将矩阵B中非零元素改为1,所得到的矩阵即 为可达性矩阵P。

(1)可达矩阵的定义
如果利用图G的邻接矩阵A,则可计算A, Al2 ,A3,…,An,…,当发现其中的某 ( ) aij l的 个A ≥1,就表明结点vi到vj可达。
在许多问题中需要判断有向图的 一个结点vi到另一个结点vj是否存 在路的问题。
二、有向图的可达矩阵
(2)可达矩阵的计算方法 (3)可达矩阵的应用
1 0
1 1 1 1 0 0 0 0 0 0 1 1 1 1
v i 和 vj 至少有一条路
从vi到vj没有路
0 0 0 0 0 0 1 1 1 1
v1
v4 v2
1 1 0 0 0 0 0 0 0 0
v3
v5
(二)图的可达性矩阵计算 方法(1) 设G是n阶简单有向图,由可达性矩阵的定义知,当
0 A(G)= 0 1 1 1 0 1 0 0 1 0 0 0 1 1 0
v1
v4
v3
图的邻接矩阵 说明: (1)邻接矩阵的主对角线元素aii=0。A(G)=
(2)主对角线以外的元素aij v2 aij=1 (i<>j),说明图G是完全图; v1 aij=0 (i<>j),说明图G是零图。 (3)无向图的邻接矩阵是对称的; 而有向图的邻接矩阵不一定对称; v4 因为在无向图中一条无向边应看成方向相反的两条v3 有向边,因此无向图的邻接矩阵关于主对角线对称。

图的邻接矩阵的应用
(1)由邻接矩阵可计算出从vi到vj的长度为L的 路的数目,可计算从vi出发的长度为L的回 路数。 定理7-3.1 设G是具有结点集{v1,v2,…,vn} 和邻接矩阵A的图,则矩阵AL(l=1, 2,…)的第i行第j列的元素aij(L)=m,表示 aij(2)=ai1•a1j+ai2• i 2j+a 长度为L的路有m条 图G中从结点va到vji3•a3j++ain•anj (即路的数目)。 2j(L)+ai3•a3j(L)++ain•anj(L) aij(L+1)=ai1•a1j(L)+ai2•a
定理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的长度为l1的路。) 用数学归纳法: 1)当l=2时,成立。 2)设l=p时命题对l成立,即aij(p)表示 图G中有几条从结点vi到vj长度为p的路
图的邻接矩阵例
例7-3.1 (1) 写出下面无向图的邻接矩阵 v1 v2 A(G)=3 v v4 v5 v1 0 1 1 0 0 v2 1 0 1 0 0 v3 1 1 0 0 0 v4 0 0 0 0 1 v5 0 0 0 1 0
图的邻接矩阵例
例7-3.1(2):写出下面有向图的邻 接矩阵 v2
0 1 A(G)= 1 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0
0 0 1 1
1 0 1 0
0 1 0 0
0 1 1 0
图的邻接矩阵说明:
v
A(G)=
0 0 1 1
1 0 1 0
0 1 0 0
0 1 1 0
v1 v2 A v3
v1
v1 v2 v3 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0

可达矩阵的应用
P1
P2
P5
P4
P3

P2,P4,P5产生递归调 用
四、图的完全关联矩阵(结点
和边关系)
完全关联矩阵
表示结点和边的关系
无向图的完全关联矩阵 有向图的完全关联矩阵
无向图的完全关联矩阵(结点
和边关系)
定义 7-3.3 给定无向图G=<V,E>,V={v1,v2,……, vp}, E={e1, e2,…… eq},则矩阵M(G)=(mij)pq,其中
v4
vv 2
5
(4)结点的度数 无向图: 每行1的个数=每列1的个数=对应结点的度
0 0 1 1 1 1 v4 0 0 0 4v5 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 v0
3
有向图: 每行1的个数=对应结点的出度 每列1的个数=对应结点的入度
v4
v3
v2
G中从结点v2到结点v3长度 为2通路数目为0,G中长 度为2的路(含回路)总数 为8,其中6条为回路。 G中从结点v2到结点v3长度 为3的通路数目为2, G中 长度为3的路(含回路)总

图的邻接矩阵的 应用 (2)计算结点vi与vj之间的距离。
中不为0的最小的L即为d<vi,vj>。
预备知识
预备知识
一、图的邻接矩阵

以结点与结点之间的邻接关系确定的矩阵。
定义7-3.1 设简单图G=<V,E>,其中 V={v1,v2,…,vn},则n阶方阵A(G)=(aij)nn ,称为 图G的邻接矩阵。
1, v i , v j E或( v i , v j ) E adjacent(邻接) a其中第i行j列的元素。 ij 0, v i , v j E或( v i , v j ) E 或者i=j
7-3 图的矩阵表示
除用图形表示图外,还可用矩阵表示图,它的优点: (1)将图的问题变为数学计算问题,从而可借助计算 机来研究图,进行相关的计算。 (2)表示更清楚。 知识点: 1.邻接矩阵 邻接矩阵求两点间不同长度的路的条数 2.可达性矩阵 3.完全关联矩阵 由于矩阵的行和列有固定的次序,因此在用矩阵表 示图时,先要将图的结点进行排序,若不具体说明 排序,则默认为书写集合V时结点的顺序。
图的邻接矩阵求不同长度的路 例7-3.2:求下图中图G的从结点v2到结点v3长 例
度为2和3的路数目及所有长度为2和3的路数 目。
分析 利用定理7-3.1 ,求图中长度为m的路数 目,只需要先写出图的邻接矩阵,然后计算邻 接矩阵的m次方即可。
v5
v1
v2 v4 v3
v1 v5 图G的邻接
矩阵为
(一)有向图的可达性矩阵
可达性矩阵表明了图中任意两个结点间是否至少存在一条 路以及在任何结点上是否存在回路。
定义7-3.2 设简单有向图G=(V,E),其中V={v1, v2,…,vn },n阶方阵P=(pij)nn ,称为图G的可达 性矩阵,其中第i行j列的元素
p ij =
1 1 1 1 P v3 1 1 v4 0 0 v5 0 0 v1 v2 1 1 1 1 1 1
有向图G为弱连通的充要条件是忽略边的方向 得到矩阵B=A∨AT,求B的可达性矩阵PB,在 PB中除对角线元素外所有元素均为1。
利用可达性矩阵判断有向图 v1 的连通性
v3 v2
强连通图
利用可达性矩阵判断有向图 的连通性
v1 v3 v2
单侧连通 图
(3)利用可达性矩阵P, T 方法:设PT为P的转置矩阵,由P∧P 求强分图 求强分图 =Pji 原因:因为对PT,PijT
步骤如下:

由可达性矩阵,求强分图例 V
1
V2
V5 V4
V3
0 1 0 PT= 1 1
0 1 0 1 1
1 1 0 1 1
0 1 0 1 1
0 1 0 1 1

强分图为 {v1},{v3},{v2,v4,v5}
可达矩阵的应用
判断是否存在递归调用, 设P={P1,P2, …,Pn}表示程序中的函数集合, 对应为结点,若一函数Pi调用Pj,则在有 向图中用从Pi到Pj的有向边表示, 设函数集合P={P1,P2,P3,P4,P5} 调用关系:P1调用P2;P2调用P4; P3调用 P1; P4调用P5; P5调用P2;
图的可达性矩阵计算方法(2)
由邻接矩阵A求可达性矩阵P的另一方法: 将邻接矩阵A看作是布尔矩阵,矩阵的乘法运算和加 法运算中,元素之间的加法与乘法采用布尔运算 布尔乘:只有1∧1=1 布尔加:只有0∨0=0 计算过程: 1.由A,计算A2,A3,…,An。 2.计算P=A ∨ A2 ∨ … ∨ An P便是所要求的可达性矩阵。
若从vi到vj 可达,则Pij=1, 若从vj到vi可达,则Pji=1,即PijT=1,于是当且
仅当Vi和Vj相互可达时,P∧PT的第(i,j)项 Pij∧PijT值为1。

(1) 计算可达性矩阵P; (2) 计算P的转置矩阵PT ; (3) 计算P∧PT ; (4) P∧PT第i行元素为1的在第j1,j2,…,jk列,则结点 vi,vj1,vj2,…,vjk在同一个强连通分支中,即 {vi,vj1,vj2,…,vjk}导出的子图是G的一个强连通分支。
图的可达性矩阵计算方法 (3) 无向图的可达性矩阵称为连通矩阵,也是对称的。 Warshall算法
例7-3.3 求右图中图G中的可达性矩 阵。 分析:先计算图的邻接矩阵A布尔乘法的的2、 v1
3、4、5次幂,然后做布尔加即可。
解:
v4
v2
v3 v5
P=A∨ A(2) ∨ A(3) ∨A(4)∨A(5)
v5 v1
v2
v3 若 中至少有一个不为0, 则可断定vi与vj相连接,求
v4
如: d<v1,v2>=1,d<v1,v3>=2, d<v5,v4>=1,d<v1,v4>= ∞
图的邻接矩阵的应用
(3)判断G是否是连通图,及G中任意两个结点是否连通。 计算B= A1 +A2 +…+ An ,bij表示从结点vi到vj有长度 分别为1、2、3…n 的不同长度路的总数。 ①连通图的判断 若B的每一个元素都非0,则为连通图。 ②结点间的连通性 若bij为0,那么结点vi与vj不相连接。 若bij不为0 ,vi与vj有路相连接。
相关文档
最新文档