【读书笔记】格子路径计数LatticePathEnumeration 学一半的笔记
流水账流水账这篇什么都不是
- 方法
- 10.2 Lattice paths without restrictions 无限制格子路径
- 10.3 Linear boundaries of slope 1
- 10.4 Simple paths with linear boundaries of rational slope,部分一
- 10.5 Simple paths with linear boundaries with rational slope,部分二
- 10.6 Simple paths with a piecewise linear boundary
- 10.7 Simple paths with general boundaries
- 10.8 Elementary results on Motzkin and Schröder paths
- 10.9 A continued fraction for the weighted counting of Motzkin paths
- 10.10 Lattice paths and orthogonal polynomials
- 10.11 Motzkin paths in a strip
- 10.12 Further results for lattice paths in the plane
- 10.13 Non-intersecting lattice paths
- 10.14 Lattice paths and their turns
- 10.15 Multidimensional lattice paths
- 10.16 Multidimensional lattice paths bounded by a hyperplane
- 10.17 Multidimensional paths with a general boundary
- 10.18 The reflection principle in full generality
- 10.19 q-Counting of lattice paths and Rogers–Ramanujan identities
- 10.20 Self-avoiding walks
吐个槽,以为逛组合学就不要看到大段复杂的公式了,结果。。。后面的哪些公式\(\omega\varpi\)都出来了,还一堆上下标。。。\(\sum\)下面求和范围都密密麻麻写两行。。。
方法
如果某人尝试去列出格子路径计数问题中的一些重要方法,那么会包括下面这些:
- 生成函数;拉格朗日反演公式 ;residue calcus
- 一一映射
- reflection principle
- cycle lemma
- 转移函数方法
- 核方法
- the path switching involution for non-intersecting lattice paths
- manipulation of two-rowed arrays for turn enumeration
- 正交多项式;连分数
10.2 Lattice paths without restrictions 无限制格子路径
2维的例子,从(a,b)到(c,d),允许(0,1)和(1,0)
c+d-a-b \\
c-a
\end{array}\right)
\]
n维的例子,从\(\mathbf{a}\)到\(\mathbf{e}\),每次允许一个维度+1
\sum_{i=1}^{d}\left(e_{i}-a_{i}\right) \\
e_{1}-a_{1}, e_{2}-a_{2}, \ldots, e_{d}-a_{d}
\end{array}\right):=\frac{\left(\sum_{i=1}^{d}\left(e_{i}-a_{i}\right)\right) !}{\left(e_{1}-a_{1}\right) !\left(e_{2}-a_{2}\right) ! \cdots\left(e_{d}-a_{d}\right) !}
\]
2维的例子,从(a,b)到(c,d),允许\((0,\pm1)\)和\((\pm1,0)\),走n个steps
n \\
\frac{n+c+d-a-b}{2}
\end{array}\right)\left(\begin{array}{c}
n \\
\frac{n+c-d-a+b}{2}
\end{array}\right)
\]
2维的例子,从(a,b)到(c,d),允许(0,1)和(1,0)和(1,1)
c+d-a-b-k \\
k, c-a-k, d-b-k
\end{array}\right)
\]
一个带权重计数,联系了格子路径计数和整数分拆
记号\(a(P)\)表示path \(P\)的水平step和x轴夹的面积的代数和
一个q-模拟
c+d-a-b \\
c-a
\end{array}\right]_{q}
\]
举例:从(0,0)到(2,2)有6种
是UURR,URUR,RURU,RRUU,URRU,RUUR
4 \\
2
\end{array}\right]_{q}=\frac{\left(1-q^{4}\right)\left(1-q^{3}\right)}{(1-q)\left(1-q^{2}\right)}=\left(1+q^{2}\right)\left(1+q+q^{2}\right)=1+q+2 q^{2}+q^{3}+q^{4}
\]
10.3 Linear boundaries of slope 1
Theorem 10.3.1 在y=x对角线下
c+d-a-b \\
c-a
\end{array}\right)-\left(\begin{array}{c}
c+d-a-b \\
c-b+1
\end{array}\right)
\]
其中\(a \geq b,c\geq d\)
特例有:
ballot problem
c+d+1 \\
d
\end{array}\right) \ where \ c\geq d
\]
卡特兰数
2 n \\
n
\end{array}\right)
\]
Theorem 10.3.3 在两条斜率1的对角线之间
|L((a, b) \rightarrow(c, d) \mid x+t \geq y \geq x+s)| \\
\quad=\sum_{k \in \mathbb{Z}}\left(\left(\begin{array}{c}
c+d-a-b \\
c-a-k(t-s+2)
\end{array}\right)-\left(\begin{array}{c}
c+d-a-b \\
c-b-k(t-s+2)+t+1
\end{array}\right)\right)
\end{array}
\]
其中\(a+t\geq b\geq a+s\) and \(c+t\geq d\geq c+s\)
如果利用一些余数微积分的知识,我们可以改写成有sine和cosine的formula,这样容易分析渐进性质:
|L((a, b) \rightarrow(c, d) \mid x+t \geq y \geq x+s)| \\
=\sum\limits_{k=1}^{\lfloor(t-s+1) / 2\rfloor}\frac{4}{t-s+2}\left(2 \cos \frac{\pi k}{t-s+2}\right)^{c+d-a-b}
\cdot \sin \left(\frac{\pi k(a-b+t+1)}{t-s+2}\right) \cdot \sin \left(\frac{\pi k(c-d+t+1)}{t-s+2}\right)
\end{array}
\]
10.4 Simple paths with linear boundaries of rational slope,部分一
Theorem 10.4.1 rational Catalan number
r+s \\
r,s
\end{array}\right)
\]
这里没错。。。我找了个pdf
这个数如今被称为有理卡特兰数,
如果让\(r=n,s=n+1\),那么成为卡特兰数\(\frac{1}{n+1}\left(\begin{array}{c}
2n \\
n
\end{array}\right)\)
Theorem 10.4.5
c+d+1 \\
d
\end{array}\right)
\]
其中,\(\mu\)是一个非负整数,\(c\geq \bold{\mu} d\)
Lemma 10.4.6 Cycle Lemma
Theorem 10.4.7
10.5 Simple paths with linear boundaries with rational slope,部分二
10.6 Simple paths with a piecewise linear boundary
picewise 分段的,逐段的
像下面这样
Theorem 10.6.1
10.7 Simple paths with general boundaries
Theorem 10.7.1
a_{i}-b_{j}+1 \\
j-i+1
\end{array}\right)\right)
\]
10.8 Elementary results on Motzkin and Schröder paths
一些著名paths
常见的就这么几种
Motzkin paths 允许(1,1),(1,-1),(1,0) 不会到x轴下方
Schröder paths 允许(1,1),(1,-1),(2,0) 不会到x轴下方
Catalan paths 允许(1,1),(1,-1) 不会到x轴下方
Dyck paths 上面的3种只要出发点和终点都在x轴上,就叫做Dyck paths
Theorem 10.8.1
Motzkin paths enumeration
L((a, b) \rightarrow(c, d) ; M \mid y \geq 0) \mid \\
\quad=\sum_{k=0}^{c-a}\left(\begin{array}{c}
c-a \\
k
\end{array}\right)\left(\left(\begin{array}{c}
c-a-k \\
(c+d-k-a-b) / 2
\end{array}\right)-\left(\begin{array}{c}
c-a-k \\
(c+d-k-a+b+2) / 2
\end{array}\right)\right)
\end{array}
\]
Schröder paths enumeration
|L((a, b) \rightarrow(c, d) ; S \mid y \geq 0)|=\sum_{k=0}^{(c-a) / 2}\left(\begin{array}{c}
c-a-k \\
k
\end{array}\right) \\
\cdot\left(\left(\begin{array}{c}
c-a-2 k \\
(c+d-2 k-a-b) / 2
\end{array}\right)-\left(\begin{array}{c}
c-a-2 k \\
(c+d-2 k-a+b+2) / 2
\end{array}\right)\right)
\end{array}
\]
Corollary 10.8.2
出发点和结束点都在x轴上的Motzkin paths计数
n \\
2 k
\end{array}\right) \frac{1}{k+1}\left(\begin{array}{c}
2 k \\
k
\end{array}\right)
\]
出发点和结束点都在x轴上的Schröder paths计数
n / 2+k \\
2 k
\end{array}\right) \frac{1}{k+1}\left(\begin{array}{c}
2 k \\
k
\end{array}\right)
\]
10.9 A continued fraction for the weighted counting of Motzkin paths
给每个Motzkin path定义一个weight,定义为:
是所有step权重的乘积,
up-step的权重是\(1\),level step at height \(h\)的权重是\(b_h\),down step from height \(h\) to height \(h-1\)的权重是\(\lambda_h\)
Theorem 10.9.1 Motzkin path带权重
Theorem 10.9.2 Motzkin和Schröder number的GF
Theorem 10.9.3 Dyck path带权重
10.10 Lattice paths and orthogonal polynomials
10.11 Motzkin paths in a strip
10.12 Further results for lattice paths in the plane
10.13 Non-intersecting lattice paths
一些定义
有点像以前写过的routing,non-intersecting但是可以cross
Theorem 10.13.1
其实还是这个:以前写过的routing
剩下的看不懂看不懂看不懂
10.14 Lattice paths and their turns
10.15 Multidimensional lattice paths
10.16 Multidimensional lattice paths bounded by a hyperplane
10.17 Multidimensional paths with a general boundary
10.18 The reflection principle in full generality
10.19 q-Counting of lattice paths and Rogers–Ramanujan identities
10.20 Self-avoiding walks
说这个求精确解是复杂的,求渐进的情况是很多的。给你列出了参考文献
其中推荐的standard book(标准教科书)N.MadrasandG.Slade. The self-avoiding walk. Probability and its Applications, Birkh¨auser Boston, Inc., Boston, MA, 1993.
资料来自网络
书用的是Handbook of Enumerative Combinatorics by Miklos Bona
许多组合大牛写的组合计数综述合集,几乎覆盖组合计数学的各个方面
【读书笔记】格子路径计数LatticePathEnumeration 学一半的笔记的更多相关文章
- 牛客网 暑期ACM多校训练营(第一场)A.Monotonic Matrix-矩阵转化为格子路径的非降路径计数,Lindström-Gessel-Viennot引理-组合数学
牛客网暑期ACM多校训练营(第一场) A.Monotonic Matrix 这个题就是给你一个n*m的矩阵,往里面填{0,1,2}这三种数,要求是Ai,j⩽Ai+1,j,Ai,j⩽Ai,j+1 ,问你 ...
- 跟着鸟哥学Linux系列笔记3-第11章BASH学习
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 跟着鸟哥学Linux系列笔记2-第10章VIM学习 认识与学习bash 1. ...
- 【DG】[三思笔记]一步一步学DataGuard
[DG][三思笔记]一步一步学DataGuard 它有无数个名字,有人叫它dg,有人叫它数据卫士,有人叫它data guard,在oracle的各项特性中它有着举足轻理的地位,它就是(掌声)..... ...
- 堆优化Dijkstra计算最短路+路径计数
今天考试的时候遇到了一道题需要路径计数,然而蒟蒻从来没有做过,所以在考场上真的一脸懵逼.然后出题人NaVi_Awson说明天考试还会卡SPFA,吓得我赶紧又来学一波堆优化的Dijkstra(之前只会S ...
- 【洛谷】P1176: 路径计数2【递推】
P1176 路径计数2 题目描述 一个N×N的网格,你一开始在(1,1),即左上角.每次只能移动到下方相邻的格子或者右方相邻的格子,问到达(N,N),即右下角有多少种方法. 但是这个问题太简单了,所以 ...
- 洛谷——P1176 路径计数2
P1176 路径计数2 题目描述 一个N \times NN×N的网格,你一开始在(1,1)(1,1),即左上角.每次只能移动到下方相邻的格子或者右方相邻的格子,问到达(N,N)(N,N),即右下角有 ...
- 洛谷 P1176 路径计数2
P1176 路径计数2 题目描述 一个N×N的网格,你一开始在(1, 1),即左上角.每次只能移动到下方相邻的格子或者右方相邻的格子,问到达(N, N),即右下角有多少种方法. 但是这个问题太简单了, ...
- 《Linux就该这么学》培训笔记_ch02_一些必须掌握的Linux命令
本文在原来作者的基础上做一些符合自己的修改.原文参考: <Linux就该这么学>培训笔记_ch02_一些必须掌握的Linux命令. 本章的内容虽然多,基本都是书本原话,但是笔记能精 ...
- 《Linux就该这么学》培训笔记_ch03_管道符、重定向与环境变量
<Linux就该这么学>培训笔记_ch03_管道符.重定向与环境变量 文章最后会post上书本的笔记照片. 文章主要内容: 输入输出重定向 管道命令符 命令行的通配符 常用的转义字符 重要 ...
- 《Linux就该这么学》培训笔记_ch04_Vim编辑器与Shell命令脚本
<Linux就该这么学>培训笔记_ch04_Vim编辑器与Shell命令脚本 文章最后会post上书本的笔记照片. 文章主要内容: Vim编辑器 Shell脚本 流程控制语句 if语句 f ...
随机推荐
- kvm介绍(1)
- Linux 服务器配置。
关于防火墙 1.首先不管防火墙有没有关 都使用systemctl stop firewalld 关闭防火墙 2.然后使用 yum install iptables-services 安装或更新服务 3 ...
- 我的编程之路刷题⑦:Problem 2719.--约瑟夫问题
2719: 约瑟夫问题 时间限制 : 1.000 sec 内存限制 : 128 MB 题目描述 有M个人,其编号分别为1-M.这M个人按顺序排成一个圈.现在给定一个数N,从第一个人开始依次报数, ...
- Kafka的启动 并创建topic
一.进入到kafka的bin目录下,运行 ./kafka-server-start.sh -daemon /app/kafka/config/server.properties 注意:如果是0.9版本 ...
- ubuntu 安装错误解决
1. ubuntu 安装错误解决: Preparing to unpack .../apport_2.20.9-0ubuntu7.15_all.deb .../var/lib/dpkg/info/ap ...
- 安装 vue devtools 时,npm i 和 npm run build 报错问题
1.如果 npm i 报错,运行如下命令: npm i --legacy-peer-deps 2.如果 npm run build 报错,运行如下命令: npm install -g yarn yar ...
- net-snmp 自定义OID利用脚本获取值
两种办法: 1)pass方式 /etc/snmp/snmpd.conf 写脚本 脚本需要注意:要连续输出三行:1.OID 2.类型 3.值 如果不按照这个规定,直接输出值,将会报错. 检查 第二种方法 ...
- 数据库ip被锁了怎么办
由于多次访问失败,导致ip被限制,登录时会报错 Internal error/check (Not system error) 如何解决: 找一台同事的机子,(或者修改自己的ip),然后打开sql 的 ...
- C语言历史与C++的区别
前期演变: C语言的前身是1967年由Martin Richards为开发操作系统和编译器而提出的两种高级程序设计语言BCPL和B.BCPL.Ken Thompson在BCPL的基础上,提出了新的功能 ...
- C语言初级阶段8——预处理
C语言初级阶段8--预处理 预定义符号 1.概念:预处理是编译之前做的一些事. 2.常用的预定义符号: 注意:: (1)-(4)的格式占位符都用%是,如:printf("%s",D ...