首页 > 其他分享 >Matrix-Tree 定理 & BEST 定理

Matrix-Tree 定理 & BEST 定理

时间:2024-11-11 22:29:35浏览次数:1  
标签:Matrix text 定理 det Tree 矩阵 out

矩阵树定理

  • 感谢这篇文章对我更深层次理解矩阵树定理的帮助。

预备知识

行列式

图的关联矩阵

对于一张无向图 \(G=(V,E)\),定义其关联矩阵 \(M\) 为(在此我们给边暂定方向,一条边 \(e\) 的入点和出点分别为 \(\text{in}(e)\) 和 \(\text{out}(e)\)):

\[M_{i,j}=\begin{cases}1&V_i=\text{out}(E_j)\\-1&V_i=\text{in}(E_j)\\0&\text{otherwise.}\end{cases} \]

Laplacian Matrix

定义 \(\text{cnt}(u,v)\) 表示无向图中边 \((u,v)\) 的数量,则图 \(G=(V,E)\) 的 Laplacian Matrix \(L\) 为

\[L_{i,j}=\begin{cases}\text{deg}(V_i)&i=j\\-\text{cnt}(V_i,V_j)&i\not=j\end{cases} \]

即为图的度数矩阵 \(D\) 减去图的邻接矩阵 \(E\)。

其中有等式 \(L=MM^T\),可以分讨 \(i=j\) 和 \(i\not= j\) 的关系来证明。

Cauchy-Binet Formula

令 \(C_{n\times n}=A_{n\times m}B_{m\times n}\),\(A[S]\) 表示选出 \(A\) 所有 \(\in S\) 的列构成的矩阵,\(B[S]\) 表示选出 \(B\) 所有 \(\in S\) 的行构成的矩阵,则有:

\[\det(C)=\sum\limits_{S\subset\{1,\cdots,m\},|S|=n}\det(A[S])\det(B[S]) \]

下面矩阵 \(A\) 中选出所有 \(\in S\) 的行 / 列构成的矩阵行列式统写为 \(\det(A[S])\),因为 \(\det(A)=\det(A^T)\)。

证明略,详细可看 sys 博客

无向图的 Matrix-Tree 定理

令 \(L_0\) 为无向图的 Laplacian Matrix 去掉第 \(k\) 行第 \(k\) 列(\(k\) 任意),则无向图的生成树个数为 \(\det(L_0)\)。

证明

令 \(M_0\) 表示 \(L_0\) 对应的关联矩阵,则:

\[\begin{aligned}\det(L_0)&=\sum\limits_{S\subset\{1,\cdots,m\},|S|=n-1}\det(M_0[S])\det(M_0^T[S])\\&=\sum\limits_{S\subset\{1,\cdots,m\},|S|=n-1}\det(M_0[S])^2\end{aligned} \]

观察从 \(M_0\) 中选 \(\in S\) 的列向量构成的矩阵,相当于从 \(m\) 条边里面选 \(n-1\) 条边,且如果出现环矩阵应该是不满秩的,此时 \(\det(M_0[S])^2=0\),否则我们可以类似高斯消元从叶子到根把矩阵消成每行每列只有一个元素,且为 \(-1/1\),此时 \(\det(M_0[S])^2=1\)。

这里还有另一种简洁证法,不多阐述。

有向图的 Matrix-Tree 定理

令 \(D_{\text{in}}\) 和 \(D_{\text{out}}\) 分别为图 \(G\) 的入度矩阵和出度矩阵,对应 \(E_{\text{in}} / L_{\text{in}}\) 和 \(E_{\text{out}} / L_{\text{out}}\),则:

  • 以 \(r\) 为根的叶向树个数为 \(L_{\text{in}}\) 去掉第 \(r\) 行第 \(r\) 列后的行列式。
  • 以 \(r\) 为根的根向树个数为 \(L_{\text{out}}\) 去掉第 \(r\) 行第 \(r\) 列后的行列式。

证明比较相似,分别证明 \(L_{\text{in}}=MD_{\text{in}}^T\),然后 \(\det(M)\) 限制树无环,\(\det(D_{\text{in}})\) 限制除 \(r\) 恰好都有一条入边,\(\text{out}\) 同理。

带权图的 Matrix-Tree 定理

把权值看成重边即可。

BEST 定理

令一个有向图 \(G=(V,E)\) 的根向生成树为 \(\mathcal T_{\text{out}}(G)\),则若此图为欧拉图,则 \(s\) 出发并从 \(s\) 结束的欧拉回路条数为 \(d\mathcal T_{\text{out}}(G)\prod\limits_{u\in V}(\text{deg}(u)-1)\)。其中当循环同构算一种方案时,\(d=1\),否则 \(d=\text{deg}(s)\)。

证明

以下证明基于 \(d=\text{deg}(s)\)。

式子的意思即为我们在原图中钦定每个点最后走的边作为根向树(除了 \(s\)),其他的边任意排列,我们只要证明这两者是双射关系。

  • 根向树对应欧拉回路

考虑这样的走法:从根节点开始按顺序走,只有当前节点 \(u\) 除了 \((u,fa_u)\) 的边都被走过了,再走这条边。

考虑是否能保证每条边都被走过。

如果走到 \(u\not = rt\) 走不下去了,根据欧拉图定义,这种情况不可能存在。

如果走到 \(u=rt\) 走不下去了,则存在一条内向树边未走,则这条边到根的所有边都未走,根据欧拉图定义可以退出根节点有至少一条出边未走,矛盾。

  • 欧拉回路对应根向树

我们提出欧拉路中每个点最后走的出边(除了 \(s\)),一定是根向树。如果出现了环,说明一个点绕了一圈,但是走不出去了,不满足欧拉回路的性质。

故双射关系得证。

标签:Matrix,text,定理,det,Tree,矩阵,out
From: https://www.cnblogs.com/notears/p/18540728

相关文章

  • G. Binary Tree
    “交互的本质是二分”本题的询问次数卡得很严,必须保证每次都能让候选点集合严格缩小一半。因此三选二的时候不能任选,而要选较大的两个点击查看代码#include<bits/stdc++.h>usingnamespacestd;vector<int>a[100005];introot,p,val,s[100005],cnt[100005],va[100005],d......
  • 随机链表 (Randomized Linked List)、随机树 (Randomized Tree)详细解读
    一、随机化数据结构(RandomizedDataStructures)随机化数据结构是通过引入随机性来优化传统数据结构的性能,特别是在最坏情况性能表现较差时。通过随机化,许多原本具有较差时间复杂度的操作可以实现平均O(1)或O(logn)的时间复杂度,减少了最坏情况下的复杂度。常见的随机......
  • K-D Tree
    K-DTree细节KDT和树套树并非等价,树套树一般是时间\(O(n\log^2n)\),空间\(O(n\logn)\)的,KDT是时间\(O(n\logn+n\sqrtn)\)(修改+查询),空间\(O(n)\)子树递归时,值域越界判断不要像线段树一样写\(L<=mid,R>mid\),而是转到儿子去写,不然会报错,因为一层只判一个维度,另一个维度可能越界,......
  • TinyVue v3.19.0 正式发布!Tree 组件终于支持虚拟滚动啦!UI 也升级啦,更更符合现代审美~
    你好,我是Kagol,个人公众号:前端开源星球。我们非常高兴地宣布,2024年10月28日,TinyVue发布了v3.19.0......
  • C语言数据结构之二叉树(BINARY TREE)的多种数据类型存贮
    C语言数据结构之二叉树(BINARYTREE)的多种数据类型存贮用无类型指针(void*)来做为基本数据类型来存贮数据,将其他数据类型强制转化为无类型指针,从而达到目标!!!输出函数指针BTFunc比较函数指针BTCmpFunc返回值为整型值1、-1、0,表示大于、小于、相等代码如下:/*filename:btr......
  • TreeUtil
    点击查看代码importorg.apache.commons.collections4.CollectionUtils;importjava.util.ArrayList;importjava.util.List;importjava.util.concurrent.CopyOnWriteArrayList;importjava.util.concurrent.atomic.AtomicInteger;importjava.util.function.BiConsume......
  • [USACO23JAN] Subtree Activation P 题解
    这种问题一看满足条件就知道,一般不用想着怎么模拟题意。考虑转化问题。假如节点\(u\)满足了条件一,也就是仅有子树节点全部开启。那么我们把转化具象为:进行\(\text{siz}_u\)次操作直接清空;进行\(\text{siz}_{\text{fa}(u)}-\text{siz}_u\)次操作使\(\text{fa}(u)\)满足......
  • 11月7日 NOIP模拟(难题math、矩阵游戏matrix、括号序列seq、道路road) - 模拟赛记录
    PrefaceT1试图找规律失败,正经推反而几分钟就出来了。以后应该少想这些歪门邪道(除非实在闲的蛋疼或者没有一点头绪,且必须要打完所有能打的子任务比如暴力或特殊性质;而且必须在用常规方法思考过后,才能够用一些稍微不那么常规的方法)至于T2、T3、T4,因为知道T1浪费了太多时间,都是......
  • 套利定理的证明
    内容来源数理金融初步(原书第3版)SheldonM.Ross著冉启康译机械工业出版社先看上篇套利定理线性规划中的对偶定理这部分是运筹学的内容原问题与对偶问题的形式原问题......
  • 美国高中女生因数学竞赛,发现勾股定理新证明!论文已发《美国数学月刊》
    来源|新智元 ID | AI-era两年前,两位高中在读的学生发现了全新的勾股定理证明方法。遗憾的是,当时并没有更具体的论文,以提供实质性细节。就在最近,两人的全新论文,在《美国数学月刊》上正式发表了!论文地址:https://www.tandfonline.com/doi/full/10.1080/00029890.2......