生成树计数

考虑简单带权无向图的情况。
约定这张图为\(G=(V,E),n=|V|,m=|E|\)\(e_i=(u_i,v_i,w_i)\)表示第\(i\)条边,\(deg_u\)表示\(u\)所连边的边权和。

\(\text{Some Definitions}\)

邻接矩阵

\(\mathbf A_{n*n}\)满足\(\mathbf A_{i,j}=w(i,j)\)

度数矩阵

\(\mathbf D_{n*n}\)满足\(\mathbf D_{i,j}=[i=j]deg_i\)

关联矩阵

\(\mathbf B_{n*m}\)满足\(\mathbf B_{i,j}=[u_j=i\vee v_j=i](-1)^{[u_j=i]}\sqrt{w_j}\)

Laplace矩阵(Kirchhoff矩阵)

一张图的Laplace矩阵\(\mathbf L=\mathbf D-\mathbf A\)

\(\text{Some Properties}\)

\(1.\det(\mathbf L)=0\)
\(2.\operatorname{rank}(\mathbf L)=n-1\)
\(3.\mathbf L\)的所有\(C_{i,j}\)都相等,且等于\(\mathbf L\)\(\prod\limits_{i=1}^{n-1}\lambda_i\)
\(3.\mathbf B^{\mathbf T}\mathbf B=\mathbf L\)

Kirchhoff定理

一棵生成树的权值为边权之积,所有生成树的权值和就是\(\mathbf L\)的任意一个\(C_{i,j}\)
对于重边,考虑分配率,发现可以将重边缩成一条,边权求和即可。

可以发现Cayley定理就是Kirchhoff定理的特例。

Ex-Kirchhoff定理

考虑扩展至有向图的树形图。

\(\text{Part.1}\)

假如我们要求的是外向树。
修改:\(deg_i\)表示\(i\)的入边的边权和。
那么此时以\(i\)为根的所有外向树的权值和为\(\mathbf L\)\(C_{i,i}\)

\(\text{Part.2}\)

假如我们要求的是内向树。
修改:\(deg_i\)表示\(i\)的入边的边权和。
那么此时以\(i\)为根的所有外向树的权值和为\(\mathbf L\)\(C_{i,i}\)

其实内向树和外向树就是把边反向的区别。
因为把边反向相当于把\(\mathbf L\)转置,这并不会让它的某个\(C_{i,i}\)发生变化。
所以我们可以不需要修改\(\mathbf A\)
还需要注意,在有向图中\(\mathbf A\)的数条性质皆不成立,关联矩阵也暂时没法定义。

posted @ 2020-01-02 16:31  Shiina_Mashiro  阅读(341)  评论(0编辑  收藏  举报