卡特兰数(Catalan number)

Catalan数列

目录

定义

Number

Catalan数列的前几项为(从 \(f_1\) 开始):
1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190, 6564120420, 24466267020, 91482563640, 343059613650, 1289904147324, 4861946401452, ...
在递归定义中,递推起点(边界) \(f_0=f_1=1\)
\(f_0\) 可理解成 值为 \(1\)

说明

首先,Catalan数 并没有十分明确的意义,只是一个十分常见的数学规律

但可以将 Catalan数 理解为在平面直角坐标系上,从原点 \(O(0,0)\) 开始,每一次只能向上或向右移动一步,直到移动到第一象限的点 \(N(n,n)\)\(n \ge 0\) , \(N\) 有可能位于原点 \(O\) 的位置),Catalan数列 第 \(n\) 项(就是 \(f_n\) ) 就是总方案数的 值

另外,还可以将 Catalan数 理解为括号匹配 —— 对于 \(f_n\) 来说:就是有 \(2n\) 个括号( \(n\)个左括号, \(n\) 个右括号),并将这些括号进行匹配, \(f_n\) 就是这 \(2n\) 个括号匹配后,符合条件的总方案个数的 值


除此之外,还有其它的理解方法(例如 进出栈问题二叉树构成问题 等)

表示

递推起点(边界) \(f_0=f_1=1\)

1. 递推定义

\[\begin{aligned} f_n &= f_0\cdot f_{n-1}+ f_1\cdot f_{n-2}+\dots +f_{n-2}\cdot f_1+f_{n-1}\cdot f_0 \\ &= \sum_{k= 1}^{n}f_{k-1}\cdot f_{n-k} \end{aligned} \]

2. 递推关系

\[f_n= \frac{4n-2}{n+1}\cdot f_{n-1} \]

3. 通项公式

\[\begin{aligned} f_n &= \frac{1}{n+1}\cdot C_{2n}^n \\ &= \frac{C_{2n}^n}{n+1} \end{aligned} \]

4. 通项公式II

\[f_n= C_{2n}^n- C_{2n}^{n-1} \]

证明

(对于每个公式,并非按照顺序证明,以公式相互的关联依次证明)

1. 公式4

  1. 通项公式II
    $ f_n= C_{2n}^n- C_{2n}^{n-1} $$

关于此公式,应该是有多种证明,在此介绍一种常见的证明方法,如下:

首先,如下图(就以下面的这个例子证明)
image

就拿这张图来说吧

如图,从原点 \(O(0,0)\) 到 点 \(N(7,7)\) ,且每一次只能向上或向右移动一步,并不超过第一象限的角平分线(就是不超过图中蓝色的一条 —— \((x,x)\),即不到达图中红色的一条 —— \((x,x+1)\) ),那么合法的总方案数的值就是 \(f_n\) (Catalan数列 的 第 \(n\) 项)
其中,黄色的与紫色的线就是合法的,而绿色的就是不合法的

我们还可以将其转化为括号匹配——其中向右为 \((\) ,向上为 \()\)
那么图中三条线就可以分别表示为:
黄色线—— \(((())((())))()\)  显然是合法的
紫色线—— \(((((((()))))))\)  显然是合法的
绿色线—— \(()))))(((())((\)  显然是不合法

但是

想要证明公式 \(f_n= C_{2n}^n- C_{2n}^{n-1}\) ,我们就需要用到正难则反的思想——就是 总的-不满足(不合法)的 (间接法)

“总的” 就是 \(C_{2n}^n\)

Why?

可以理解为 \(2n\) 个括号(其中左括号有 \(n\) 个,右括号也有 \(n\) 个),如果我们先在 \(2n\) 个括号的位置中选出 \(n\) 个左括号的位置(右括号也可以),那么右括号(左括号)的位置同样确定了

例如:当 \(n=5\) 时,(此处选出一种情况分析)从 \(2n\)(也就是\(10\)) 个位置中选出 \(n\) 个右括号的位置,为
(-(-(-(--(- ——(其中短横线为未定的右括号的位置)
显然 右括号的位置已经是确定了的

现在我们将不满足(不合法)的设为 \(A\) ,那么就是

\[f_n= C_{2n}^n- A \]

大家都知道, \(A\) 肯定是 \(C_{2n}^{n-1}\) ,但是是怎么得到的呢?

好,下面先看看下面这张图
image
这是一张与 \(f_7\) 有关的图——从 \((0,0)\)\((7,7)\)

其中,绿色的线,表示为 \((()))(())))(((\)
显然是不合法的
因为绿线越过了蓝线,并碰到了红线

不过我们可以将绿线从第一次碰到红线的点开始,将后面的点(线)按红线 \((y=x+1)\) 对称
操作完后就如紫线所示
显然,紫线终究会到达点 \(N'(6,8)\) ,表示为 \((()))))(((()))\) ,共有 \(6\) 个左括号 \(8\) 个右括号
对于每一条紫线,都有一条不合法的绿线与之对应——就是 一 一 对 应
对于 \(f_7\) 不合法的就是从 \(14\) 个括号中选出 \(6\) 个左括号(或者 \(8\) 个右括号),有 \(C_{14}^{6}\) 或者 \(C_{14}^{8}\) ,这两个式子是相等的
然后用上之前的公式,求得 \(f_7\) 的值,即

\[f_7=C_{14}^7-C_{14}^6 \]

显然,对于任意一个 \(f_n\) —— 从 \((0,0)\)\((n,n)\) ,都可以以上述方法求得
即 任意一条绿线(不合法) 沿 红线(\(y=x+1\)) 对称之后, 都会到达 点 \((n-1,n+1)\)
同样是有 \(n-1\) 个左括号与 \(n+1\) 个右括号
且绿线与红线是 一 一 对 应
则不合法的就有 \(C_{2n}^{n-1}\)\(C_{2n}^{n+1}\) (两个式子相等)

对应上面的公式

\(f_n= C_{2n}^n- A\)

我们可以得到其中的 \(A=C_{2n}^{n-1}=C_{2n}^{n+1}\)
所以得到公式

\[f_n= C_{2n}^n-C_{2n}^{n-1} \]

得证 公式4



2. 公式1

紧接着,就是证明公式1

递推起点(边界) \(f_0=f_1=1\)
1. 递推定义
\( \begin{aligned} f_n &= f_0\cdot f_{n-1}+ f_1\cdot f_{n-2}+\dots +f_{n-2}\cdot f_1+f_{n-1}\cdot f_0 \\ &= \sum_{k= 1}^{n}f_{k-1}\cdot f_{n-k} \end{aligned} \)

对于这一个公式就会更主要的运用到括号匹配原理,属于直接法

首先让我们先来熟悉一下括号匹配
\(f_1\) --> \(2\) 个括号
\(f_2\) --> \(4\) 个括号
\(f_3\) --> \(6\) 个括号

\(\cdots\cdots\)
\(f_n\) --> \(2n\) 个括号


接下来就进入主要的证明过程

首先 就直接以 \(f_n\) 为例 进行证明
\(f_n\) 是可以理解为有 \(2n\) 个括号 可以组成的合法的括号序列的个数的值
我们设其中的一个括号序列为 \((()())((()()))\)
如下图
image
显然,共有 \(n\) 个左括号,我们就抓与最后一个右括号匹配的左括号(设这是第 \(i\) 个左括号)的标准进行分类讨论

\(i\) 个左括号前就有 \((i-1)\) 括号,即有 \(f_{i-1}\) 种情况
\(i\) 个左括号及以后就有 \((n-i)\) 括号,即有 \(f_{n-i}\) 种情况
这种情况下,共有 \(f_{i-1}\cdot f_{n-i}\) 种情况

很容易发现, \(i\) 的取值为 \(1\le i\le n\)

所以(公式中用 \(k\) 代替 \(i\)

\[f_n= \sum_{k= 1}^{n}f_{k-1}\cdot f_{n-k} \]

得证 公式1



接下来的两个公式就比较的简单了

3. 公式3

  1. 通项公式
    \( \begin{aligned} f_n &= \frac{1}{n+1}\cdot C_{2n}^n \\ &= \frac{C_{2n}^n}{n+1} \end{aligned} \)

其实这个公式就是由前面已经证明的公式4推到而来

  1. 通项公式II
    $ f_n= C_{2n}^n- C_{2n}^{n-1} $

具体过程如下:

\[\begin{aligned} f_n &= C_{2n}^n-C_{2n}^{n-1} \\ &=\frac{(2n)!}{n!\cdot n!}-\frac{(2n)!}{(n+1)!\cdot (n-1)!} \\ &=\frac{1}{n+1}\cdot (\frac{(2n)!\cdot (n+1)}{n!\cdot n!}-\frac{(2n)!}{n!\cdot (n-1)!}) \\ &=\frac{1}{n+1}\cdot (\frac{(2n)!\cdot (n+1)}{n!\cdot n!}-\frac{(2n)!\cdot n}{n!\cdot n!}) \\ &=\frac{1}{n+1}\cdot \frac{(2n)!\cdot (n+1-n)}{n!\cdot n!} \\ &=\frac{1}{n+1}\cdot \frac{(2n)!}{n!\cdot n!} \\ &=\frac{1}{n+1}\cdot C_{2n}^n \\ &=\frac{C_{2n}^n}{n+1} \\ \therefore f_n &= \frac{1}{n+1}\cdot C_{2n}^n \\ &= \frac{C_{2n}^n}{n+1} \end{aligned} \]



得证 公式3




4. 公式2

  1. 递推关系
    \( f_n= \frac{4n-2}{n+1}\cdot f_{n-1} \)

得证 公式2

证毕

推荐链接

%%%1
%%%2
%%%3







~~~

posted @ 2022-12-30 19:06  Mingrui_Yang  阅读(121)  评论(0编辑  收藏  举报