当前位置:
文档之家› 14-L.03 图的关联矩阵及生成树数目
14-L.03 图的关联矩阵及生成树数目
故 r(B) ≥ n‐1 又由[定理1],r(B)<n 所以 r(B)=n‐1
• 定义. 基本关联矩阵 − 有向连通图 G=(V, A),V=(v1,v2,..,vn),|A|=m,从 G 的关联矩阵 Bn×m 中去掉 与结点 vk∈V 对应的一行,得到一个 (n‐1)×m 的矩阵 Bk,称为对应于结点 vk 的基本关联矩阵。
• 算法:求有向连通图所有生成树的清单。
− 设有向连通图 G =(V, A),n=|V|,m=|A|,并设
A = {a1, a2 , …, am}。 对基本关联矩阵 Bk = (bij) (n‐1)×m 令 Bke = (bije)(n‐1)×m
其中 bije =bij ⋅ aj (标记为整数系数 ⋅ 结点标志符),则 det(Bke ⋅ BkT)
− 例.
v1 ⎡ 1 1 1 0 0 0 0 ⎤
v2 ⎢⎢−1 0
0
−1
0
−1
0
⎥ ⎥
v3 v4
⎢ ⎢ ⎢
0 0
−1 0 0 −1
1 0
1 −1
0 1
0⎥
0
⎥ ⎥
v5
⎢ ⎢
0
v6 ⎢ 0
0 0
0 0
0 0
0 0
0 1⎥ 0 −1⎥⎥
v7 ⎢⎣ 0 0 0 0 0 0 0 ⎥⎦
a1 a2 a3 a4 a5 a6 a7
编号规则: (1) 分层结构以 vk 为根,连接上下层的弧可以是向上弧或向下弧; (2) 共有 l 层。第 i 层的结点编号为 vi1~ vibi,根为第0层,bi 为第 i 层结点
数; (3) 结点数目为 n = 1+ b1 + b2 + … + bl ; (4) 除 vk 外的任一结点 vij 都有唯一的上紧邻关联弧,记为aij ,i=1 .. l ,j = 1 ..
给出所有生成树的清单。
− 上例中: 取 B4
则
⎛ 1 1 1 0 0 0⎞
B4
=
⎜ ⎜⎜⎝
−1 0
0 −1
0 0
1 −1
1 0
0 1
⎟ ⎟⎠⎟
因此
⎛ a1
B4e
=
⎜ ⎜⎜⎝
−a1 0
a2 0 −a2
a3 0 0
0
a4 −a4
0 a5 0
0⎞
0 a6
⎟ ⎟⎠⎟
B4e ⋅ B4T
=
⎛ ⎜ ⎜⎜⎝
a1
+ a2 + a3 −a1 −a2
下一单元内容提示 − 二叉树的性质 − Huffman树
− 例:有向图 G 及其关联矩阵如下。
取 B4 则
⎛ 1 1 1 0 0 0⎞
B4
=
⎜ ⎜
−1
0
0
1
1
0
⎟ ⎟
⎜⎝ 0 −1 0 −1 0 1 ⎟⎠
⎛ 3 −1 −1⎞
B4
⋅ B4T
=
⎜ ⎜⎜⎝
−1 −1
3 −1
−1 3
⎟ ⎟⎟⎠
因此图 G 的生成树的数目是:det(B4⋅B4T) = 16
• 讨论:无向连通图的生成树数目。 − 为无向连通图的每一条边任意定义一个方向,得到一个有向连通图并应用[定 理6],得到的生成树数目就是相应的无向连通图的生成树数目。
离散数学基础
2017-11-19
• 单元内容提示 − 图的关联矩阵 − 比内‐柯西定理 − 图的生成树的数目
• 定义. 有向图的关联矩阵 − 对有向图 G=(V, A),n=|V|,设 V={v1, v2, …, vn},A={a1, a2, …, am},构造矩阵 B=(bij)n×m,其中
称 B 是图 G 的关联矩阵。
−a1 a1 + a4 + a5
−a4
a2
−a2 −a4 + a4 +
a6
⎞ ⎟ ⎟⎠⎟
作行列式展开得到全部 16 棵生成树的清单: det(B4e ⋅ B4T ) = a1a2a3 + a1a2a5 + a1a2a6 + a1a3a4 + a1a3a6 + a1a4a5 + a1a4a6 + a1a5a6 + a2a3a4 + a2a3a5 + a2a4a5 + a2a4a6 + a2a5a6 + a3a4a5 + a3a4a6 + a3a5a6
− ① 若 C 不经过 vk,则从 B 生成 Bk 时从 D 中划去的是全0 (不在 D1 中) 的行向量,lk = l,D1k=D1,即D1k每列都含+1和‐1。故D1k不满秩,或r(D1k) < l
− ② 若 C 经过 vk,则从 B 生成 Bk 时从 D 中划去了 D1 中的一行,此时 lk = l‐1,即 D1k 中最多有 l‐1 个非 0 行向量,故 r(D1k) ≤ l‐1 ,或 r(D1k) < l 。
• 定理3. − 若 Bk 是有向连通图 G=(V, A) 的基本关联矩阵,C= {a1, a2, …, al}(ai∈A, i=1…l, l≤m =|A|)构成 G 中的弱连通回路,则 C 的各边对应的 Bk 的各列向量线性 相关。 − 证明:设关联矩阵 B 和 Bk 中与 C 各边对应的列向量分别构成矩阵 Dn×l 、 Dk (n−1)×l 。由于 C 最多经过 l 个结点,故 D 中最多有 l 个非0行向量。经过 适当重排行序后得到 D 和相应的 Dk 形如:
• 例:
⎛2 1⎞
A
=
⎛ ⎜ ⎝
1 −1
2 3
1⎞
1
⎟, ⎠
B
=
⎜ ⎜⎜⎝
0 1
11 ⎟⎟⎟⎠
1 221 1 121 2101
det(AB) = −1
⋅ 30
+
1
= 13
• 定理6. − 设有向连通图 G =(V, A),n=|V|, Bk 是 G 的一个基本关联矩阵 ,则 G 的 生成树的数目为 det(Bk ⋅ BkT) − 证明:由 Binet‐Cauchy 定理有:
∑ ∑ det(Bk ⋅ BkT ) = BjBTj = B2j
( j)
( j)
其中,其中 Bj 为 Bk 的某一个 (n‐1) 阶子式。由[定理 4],当且仅当 Bj 各列 对应的弧构成一棵生成树时, Bj ≠0;又由[定理 2],此时 Bj2=1。而 ( j ) 是在 图 G 中任取 n‐1 条边的所有可能性。
− 关联矩阵的特征 » 每列有两个非零元 +1、‐1; » 孤立点对应的行是0向量; » 非连通图的结点和弧经适当排列,可得到对角分块的关联矩阵。
⎛ ⎜
P1
⎜0
0 %
0
⎞ ⎟
0⎟
⎜⎝ 0
0
Pk
⎟ ⎠
• 定理1. − 有向图 G =(V, A) 的关联矩阵 B 的秩 r(B)<|V|。 − 证明:B 的 |V| 个行向量之和为0,故 r(B)<|V| 。
bi (5) 弧的数目为 n‐1。 按照上述编号规则给原图 G 的顶点和边重新编号,则其关联矩阵对应于这 棵生成树的列向量部分构成所示矩阵:
去掉第1行,得到定理所述的子式为上三角型,其行列式的值非0。
• 定理5. (Binet‐Cauchy) − 已知矩阵 A =(aij)m×n,B =(bij)n×m ,且 m≤n,则:
− 综上,总有 r(D1k) < l,即 D1k 中的列向量线性相关,故 Dk 中的列向量也线性 相关,定理得证。
− 定理揭示了图的回路与基本关联矩阵之间的内在联系。
• 定理4. − 有向连通图 G=(V, A),n=|V|,其基本关联矩阵 Bk 的任一 (n‐1) 阶子式非零的 充要条件是:该子式各列对应的图 G 的弧构成 G 的一棵生成树。 ⇒ 必要性:若此 n‐1 条弧中存在弱连通回路,则该回路对应于 Bk 中相应的列 向量线性相关,此 n‐1 条弧对应于 Bk 中相应的列向量也线性相关,由 [定理 3] 该 (n‐1) 阶子式为零,矛盾。 ⇐ 充分性:编号法。将该子式各列对应的弧构成的生成树画成以 vk 为根的一 棵树如图。
• 定理2’. − 有向连通图 G=(V,A) 的关联矩阵 B 的秩 r(B)=n‐1,n=|V|。 − 证明:先证明 r(B) ≥ n‐1。反证:若 r(B)<n‐1,则在 B中有 n‐1个行向量线性相 关,不妨设此线性相关向量组为 V1, V2, … , Vn‐1。即存在不全为0的 ki, 1≤ i ≤ n‐1,使得:
k1⋅0+ k2⋅0+…+ kt‐1⋅0+kt⋅1+kt+1⋅0+…+kl⋅0 = 0 得到 kt = 0,1≤t≤l,矛盾。 对 (V1,V2,..,Vl)T 作适当列交换,得:
其中 A1 式每列同含+1和‐1。故原关联矩阵 B 经过上述列交换可得分块矩阵 如图所示,其中 l≤n‐1。此时 G 非连通,矛盾。
k1a1p + k2a2p +… + kl alp = 0, 1≤ p ≤ m 注意到 kj≠0 (1≤ j ≤ l),而 B 中每列只含一个+1元和一个‐1元,其它都是0元。 欲使上式成立,a1p , a2p , … alp 中必须同含一个+1和一个‐1元,或只含0元。例 如,假如其中只含一个+1元 at,p,1≤t≤l,则有:
k1V1+ k2V2+… + kn‐1Vn‐1 = 0 不妨设 kj≠0 (1≤ j ≤ l ≤ n‐1 ),ks=0 (l <s≤ n‐1), 则有:
k1V1+ k2V2+… + klVl = 0 若设 Vj =(aj1, aj2, …, ajm),(m=|A|, 1≤ j ≤ l),考察 m 维向量 k1V1+ k2V2+… + klVl 的第 p 维分量