upd 2020-07-21 增加了Routings: the Lindstrm–Gessel–Viennot lemma章节
upd 2020-07-14 17:36 增加了完美匹配的部分,已经快看不懂了,枯了????
upd 2020-07-14 增加了欧拉路径和BEST theorem 章节
做笔记,不然学了忘
文章目录
- 预备知识
- 一些结论
- 应用
- Example1 项链染色
- Example2 Words with forbidden subwords,1
- Example3 Words with forbidden subwords,2
- Example4 Monomer-dimer problem
- 应用续1-生成树
- 应用续2-欧拉回路,the BEST theorem
- 一些定义
- 一个有向图是欧拉的充要条件
- BEST定理
- BSET定理推论
- k-ary de Bruijn sequence定义
- BSET theorem在k-ary de Bruijn sequences of order n计数 中的应用
- 彩蛋-超排列
- 应用续3-Perfect matchings: the Pfaffian method
- 应用续4-Routings: the Lindstrm–Gessel–Viennot lemma
- 计算行列式
- 附录
把计数问题转化为计算矩阵行列式
预备知识
adjacency matrix 中文是不是邻接矩阵?
有向图 The adjacency matrix is the matrix whose entries are
= number of edges from u to v.
无向图 The (undirected) adjacency matrix is the matrix whose entries are
= number of edges connecting u and v.
一些结论
不解释,邻接矩阵定义和矩阵乘法定义
算矩阵幂 ,如果可对角化是容易计算的
嗯其实也有办法,我找到了《矩阵分析与应用》(第2版)7.3.3矩阵幂的计算,我放在末尾附录了
第一个等号是等比数列的求和,第二个等号是克拉姆法则
不解释
我楞了一下,应该是的
证明那里我楞了一下,你把A对角形式带进去就比较容易理解了
和记号混用,意思是那么个意思
联系了前面的Corollary 1.4.2
应用
Example1 项链染色
个珠子围成一圈,给你种颜色来染色,要求相邻颜色不同,求方案数目。(旋转和翻转视为不同的方案)
把种颜色想成个节点,完全图 ,邻接矩阵是 ,是全1矩阵
的个特征值是
答案就是此图中长度为的closed walk的数目
利用前面的Corollary 1.4.3
答案是
Example2 Words with forbidden subwords,1
给定一长的字符串,只由{a,b}组成,且不会有子串aa(子串是连续的)。问你方案数目。
说实话这个递推方程都能直接写,
建图就是节点a和节点b,边a→b,b→a,b→b
是的元素和,是Fibonacci[n+2]
Example3 Words with forbidden subwords,2
给定一长的cyclic word,只由{a,b}组成,且不会有子串aa,abba(子串是连续的)。问你方案数目。
不会,吃了没文化的亏,看不懂cyclic word是啥
我认为是好比babbb,然后它就是你的重复单元
。。。babbb|babbb|babbb|babbb。。。里找子串
这样就解释通了
Example4 Monomer-dimer problem
给你1×1和1×2的砖都是无数个,问你无重叠填充大矩形的方案数目
这里介绍简单的情形,
强制加上顺序,一列一列的铺,共有6条竖线
每次从上往下数,突出计0,不突出计1
一种方案的图解如下,
111–110–>011–>101–>010–>111.
这正好对应图从111到111的长为路径
要求的答案就是111到111的长度为6的路径数
图到底长什么样呢?规律不是很明显
比如:
000到000肯定是0条边,
111到111有3种铺法(2+1,1+2,1+1+1),111到111有3条边
101到111有1条
110到111有2条(1+1,2)
图G长这样
接着图的邻接矩阵写出来就可以上手算啦
应用续1-生成树
这里研究的第一个问题就是图的生成树计数问题 (节点带序,1-2-3和1-3-2不同)
记号说明
A principal cofactor is obtained from by removing the th row and th column for some vertex v.
基尔霍夫矩阵树定理
证明我看不懂
矩阵树定理的应用-一些典型图的生成树数目
给一个完全图的生成树数目的证明:
塔特有向矩阵树定理
有向矩阵树定理证明
应用续2-欧拉回路,the BEST theorem
一些定义
- An Eulerian path is a path in the graph that visits every edge exactly once.
- If the path starts and ends at the same vertex,then it is called an Eulerian cycle.
- We say is an Eulerian graph if it has an Eulerian cycle.
一个有向图是欧拉的充要条件
Theorem 1.4.8 A directed graph is Eulerian if and only if it is connected and every vertex satisfies .
定理1.4.8 一个有向图而言,它是欧拉的当且仅当对所有节点出度等于入度。
BEST定理
BSET定理推论
在欧拉有向图中,每个节点的有向生成树数目都是相等的。
k-ary de Bruijn sequence定义
A k-ary de Bruijn sequence of order n
定义为一个cyclic word,长度是,用的字母表是{0,1,…,k-1},
它的每一个subword正好遍历【长度为,用字母表为{0,1,…,k-1}组成的个序列】(每个出现一次)
举个例子,我从维基百科截的图:
BSET theorem在k-ary de Bruijn sequences of order n计数 中的应用
建图呗。下面这也是维基截的图。
比如你想求解2-ary de Bruijn sequences of order 3的数目,每个节点的序列长度是3,
数哈密顿路径。(收集的序列就是点上的序列)
或者,你想求解2-ary de Bruijn sequences of order 4的数目,每个节点的序列长度是3,
数欧拉环。 (收集的序列就是【边和边的发出点】构成的序列)
下面定理证明中用到的是把长度为n-1的序列作为点,找到欧拉环。
彩蛋-超排列
应用续3-Perfect matchings: the Pfaffian method
一些定义
-
一个图的完美匹配是说一系列边,使得的每一个点都在且仅在的一条边上。或者你从字面理解:个点正好分成组,每组2个,…
-
skew-symmetric matrix (就是说关于主对角线对称的元素是相反数,)
-
Pfaffian的定义。emm这里书讲得不清楚,直接截图维基。
Pfaffian是对满足的矩阵定义的。
-
定理 证明看不懂
-
有向图的邻接矩阵 当然有
用2×1的砖密铺a×b的大矩形的方法数
假设了是偶数是因为:都是奇数肯定密铺不了
这里不写了 ┏(゜ロ゜;)┛
应用续4-Routings: the Lindstrm–Gessel–Viennot lemma
一些定义
- DAG 有向无环图
- 边的权重
- 路径的权重
- routing的权重
- 源,汇 Let S ={s1,…,sn} and T ={t1,…,tn} be two (not necessarily disjoint) sets of vertices,which we call sources and sinks,respectively
- Routing定义 A routing from S to T is a set of paths P1,…, Pn from the n sources s1,…,sn to the n sinks t1,…,tn such that no two paths share a vertex.
- Let π be the permutation of [n] such that starts at source and ends at sink , and define sign® = sign(π).
- path matrix Q定义 考虑Q的元素时只是看到的所有路径
原文如下
the Lindstrm–Gessel–Viennot lemma
维基百科词条-Lindstrm–Gessel–Viennot lemma
式子右边的求和是对到的所有routings
【In particular】那里是说,
如果正好图还有这样的性质:每条边权都是1,而且到的所有routing都是1->1,2->2…这样的形式,那么
Lindstrm–Gessel–Viennot lemma 应用
Example1 Binomial determinants
记号表示的是那个行列式
…开始我还看不懂为什么there are SE paths from to
SE path 是说south 和 east ,我以为是往东往北了
since every SE routing from A to B takes Ai to Bi for all i, 这是因为0≤a1 <···<an and 0≤b1 <···<bn ; points A ={A1,…,An} and B ={B1,…,Bn} where Ai = (0,ai) and Bi = (bi,bi) for1≤i≤n 然后你还要要走SE path
Example2 Counting permutations by descent set
先定义一个n排列的decent set是说一个集合,集合的元素是所有的index i使得
然后问你 number of permutations of [n] with descent set
可以构造一个A到B的SE routings构成bijeciton,答案是(前面的行列式记号)
计算行列式
这里方法太多了哈,方法不要太多
Of course, when we wish to evaluate a new determinant, one first step is to check whether it is a special case of some known determinantal evaluation
确实确实,能找到现成的或者是现成的特例情形绝不自己动手
附录
利用Cayley-Hamilton定理变形一下,
先求特征值,再解个线性方程构成的方程组
算法和例子如下,如果矩阵阶数也很大的话就。。。。
书用的是Handbook of enumerative combinatorics
资料来自网络