• 生成树计数


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

    ( ext{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=ivee v_j=i](-1)^{[u_j=i]}sqrt{w_j})

    Laplace矩阵(Kirchhoff矩阵)

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

    ( ext{Some Properties})

    (1.det(mathbf L)=0)
    (2.operatorname{rank}(mathbf L)=n-1)
    (3.mathbf L)的所有(C_{i,j})都相等,且等于(mathbf L)(prodlimits_{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定理

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

    ( ext{Part.1})

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

    ( ext{Part.2})

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

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

  • 相关阅读:
    如何提取一个转录本的3'UTR区域的序列
    如何研究某个gene的ceRNA 网络
    ceRNA 调控机制
    利用circpedia 数据库探究circRNA的可变剪切
    R语言低级绘图函数-symbols
    R语言低级绘图函数-grid
    R语言低级绘图函数-axis
    R语言低级绘图函数-title
    R语言低级绘图函数-points
    二叉树和二叉查找树之间的区别
  • 原文地址:https://www.cnblogs.com/cjoierShiina-Mashiro/p/12133724.html
Copyright © 2020-2023  润新知