离散第20讲图的矩阵表示
Download
Report
Transcript 离散第20讲图的矩阵表示
计算机专业基础课程
PowerPoint Template_Sub
1
图的基础知识
2
路径、回路及连通性
3
欧拉图与哈密顿图
4
图的矩阵表示
《离散数学》第20讲
图的矩阵表示
Page 122 to 125
邻接矩阵(adjacency matrix)
设G=<V,E>为一无重边的有向图。其中V={v1,v2,…,vn},那
么nn矩阵A = [aij],称为图G的邻接矩阵,记为A[G]。
当 vi , v j E
1
aij
0
当 vi , v j E
v1
v4
第20讲 图的矩阵表示
v2
v3
1
0
1
1
1
0
1
0
0
1
0
0
0
1
1
0
-4-
有向图的邻接矩阵
V1
V2
V3
第20讲 图的矩阵表示
V5
V4
0
1
0
0
0
0 0 0 1
0 1 0 0
0 0 0 1
0 1 0 0
1 0 1 0
-5-
无向图的邻接矩阵
v1
v4
v2
v3
第20讲 图的矩阵表示
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
-6-
邻接矩阵的性质
零图的邻接矩阵为
零矩阵
对角线元素aii=1表示 vi上有环
一图的每个顶点以且仅以环为关联的边,其邻接矩阵为 么阵
矩阵对称表示
第i行之和表示
边成对出现
vi的出度
第j列之和表示
vj的入度
有向图矩阵所有元素之和为
无向图的邻接矩阵是
Kn的邻接矩阵是
对称矩阵
对角线元素为0,其余元素为1的矩阵
有向完全图的邻接矩阵是
第20讲 图的矩阵表示
图的边数
全1矩阵
-7-
邻接矩阵与同构
带有下列邻接矩阵的简单图是否同构?
v1
v1
0 0 1
0 0 1
1 1 0
0
1
0
1
1
0
0
1
0
0
0
1
1
1
1
0
0 1 1
1 0 0
1 0 0
0
1
1
1
第20讲 图的矩阵表示
1
0
0
1
1
0
0
1
1
1
1
0
v3
v2
v3
v2
v1
v1
v2
v3
v4
v2
v4
v3
-8-
重图和赋权图的邻接矩阵
v1
v2
v4
v1
v3
v2
10
4
6
8
6
4
v4
11
v3
第20讲 图的矩阵表示
v5
1
1
1
1
1
0
2
1
1
2
0
1
1
1
1
0
0 10 0 6
10 0 6 8
0 6 0 11
6 8 11 0
0 4 4 0
0
4
4
0
0
10
10 6
6
6 8 11
4 4
8 4
11 4
6
-9-
矩阵的运算
设A为图G的邻接矩阵,A=[aij],AT为A的转置矩阵,
ο为矩阵乘运算符。若AοB=C, A=[aij], B=[bij], C=[cij],
n
那么
cij aik bkj
k 1
用Ak表示k个矩阵A的乘积。
第20讲 图的矩阵表示
-10-
邻接矩阵的运算
令Ak= [aij(k)],那么aij(k)的意义是:G中从顶点vi
到vj的长度为k的拟路径恰为aij(k)条。
v1
v4
v2
1
0
A
1
1
1
0
1
0
0
1
0
0
0
1
1
0
3
3
3
A
4
1
2
2
3
1
1
1
1
1
2
1
2
1
v3
( 3)
a31
= 4,v3到v1有4条长度为3的拟路径,它们是(v3 ,v1 ,
v1 ,v1), (v3 ,v4 ,v1 ,v1),(v3 ,v2 ,v4 ,v1),(v3 ,v2 ,v3 ,v1)。
第20讲 图的矩阵表示
-11-
邻接矩阵的运算
证明:
对k作归纳
k=1时, A1=A=[aij(1)]=[aij] ,显然成立
假设Ak=[aij(k)]中aij(k)对任意i,j均表示vi到vj的长度为k的拟
路径条数,考虑Ak+1=[aij(k+1)]
n
因为aij(k+1)=
aih ahj ai1 a1 j ... ain anj
(k )
(k )
(k )
h 1
而其中aih(k)表示vi到vh的长度为k的拟路径条数,ahj表示vh
到vj的长度为1的拟路径条数,两者乘积代表vi到vj最后一
步经vh的长度为k+1的拟路径条数
n
因此 aij
条数
(k+1)=
aih ahj 就表示vi到vj的长度为k+1的拟路径
(k )
h 1
证毕
第20讲 图的矩阵表示
-12-
邻接矩阵的运算
AοAT= [bij],那么bij的意义是:有bij个顶点v,使得vi
到v,vj到v都有边(两边交于v)。
bii表示顶点vi的出度。
v1
v4
v2
1
0
A AT
1
1
1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
1
0
1
1 2
0 0
0 2
0 1
0
2
1
0
2
1
3
1
1
0
1
1
v3
b31 = 2,有两个顶点v1,v2,使得v3与v1到它们都有边;
b33 = 3,顶点v3的出度为3。
第20讲 图的矩阵表示
-13-
邻接矩阵的运算
ATοA =[bij],那么bij 的意义是:有bij 个顶点v,使得
v到vi , v到vj都有边
bii表示顶点vi的入度。
v1
v2
AT
v4
1
1
A
0
0
0
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
1
0
1
0
0
1
0
0
0 3
1 2
0
1
0 1
2
2
0
1
0
0
1
1
1
1
1
2
v3
b31=0,图中确无到v3,v1均有边的顶点;
b44 = 2,而v4的入度正是2
第20讲 图的矩阵表示
-14-
路径矩阵 —引入
ο为矩阵乘运算符。若AοB=C,
A=[aij], B=[bij], C=[cij],那
n
么
cij aik bkj
k 1
令Ak= [aij(k)],那么aij(k)的意义是:G中从顶点vi
到vj的长度为k的拟路径恰为aij(k)条。
若不考虑路径条数,只考虑有无
路径,怎样对矩阵进行简化?
1
0
1
1
1
0
1
0
0
1
0
0
0
1
1
0
3
3
3
A
4
1
2
2
3
1
1
1
1
1
2
1
2
1
a 31 = 4,v3到v1有4条长度为3的拟路径,它们是(v3 ,v1 ,v1 ,v1), (v3 ,
( 3)
v4 ,v1 ,v1),(v3 ,v2 ,v4 ,v1),(v3 ,v2 ,v3 ,v1)。
第20讲 图的矩阵表示
-15-
矩阵的∨和∧运算
设有n维矩阵A、C,定义∨及∧运算如下
若A = [aij],C = [cij],则
A∨C = [dij] dij=aij∨cij
n
A∧C = [eij] eij=
这里
(aik ∧ckj)
k 1
n
n
k 1
k 1
为连续求∨运算的缩记符, 以下 相同
第20讲 图的矩阵表示
-16-
举例
0 1 1
A 1 1 0
0 0 1
1 0 0
C 0 0 1
1 0 1
0 1 1 0 1 0 1 1 1
A C 1 0 1 0 0 1 1 1 1
0 1 0 0 1 1 1 0 1
1 0 1
A C 1 0 1
1 0 1
第20讲 图的矩阵表示
(0 1) (1 0) (1 1) 1
(0 0) (0 0) (1 0) 0
-17-
路径矩阵
v1
v2
v5
v3
v4
B=A∨A(2)∨…∨A(n) ,它的第i,j分量bij=1当且仅当图
G中有vi到vj的路径。B称为图G的路径矩阵(walk
matrix)
B=A∨A(2)∨A(3)∨A(4)∨A(5)
第20讲 图的矩阵表示
1
1
1
1
1
1 1 1 0
1 1 1 0
1 1 1 0
1 1 1 0
1 1 1 0
-18-
路径矩阵与可达性矩阵
用A(m)表示A∧A∧…∧A (m个A)
矩阵B=A∨A(2)∨…∨A(n)称为图G的路径矩阵(walk matrix) ,它
的第i,j分量bij=1当且仅当图G中有vi到vj的路径。
令矩阵P=I∨B,其中I为(nn)么矩阵,称P为图G的可达性矩
阵。
v1
v2
v3
P=I∨B
v5
v4
第20讲 图的矩阵表示
1
1
1
1
1
1 1 1 0
1 1 1 0
1 1 1 0
1 1 1 0
1 1 1 1
-19-
可达性矩阵与强分图
v1
v2
v3
P=I∨B
v5
v4
第20讲 图的矩阵表示
1
1
1
1
1
1 1 1 0
1 1 1 0
1 1 1 0
1 1 1 0
1 1 1 1
-20-
本讲小结
主要内容
图的邻接矩阵表示方法
矩阵变换的实际意义
路径矩阵和可达性矩阵
重点是掌握矩阵与图之间的对应关系
作业
P129
33
第20讲 图的矩阵表示
-21-