卡特兰数出现在许多计数问题中。
常见的例子有:$n$ 个节点的有序二叉树,$2n$ 个括号构成的合法括号序列。
在上面所举的两个例子中,很容易看出卡特兰数满足递推:
$$
C_{n+1} = sum_{i = 0}^{n} C_i C_{n-i }, quad(n ge 1)
$$
$C_0 = 1$
卡特兰数的闭形式,亦即上述递推式的解为
$$
C_n = frac{1}{n+1} inom{2n}{n} = frac{(2n)!}{n!(n+1)!}
$$
曾经我对于如何推导这个式子很感兴趣,实际上推导过程很容易搜到,维基百科上就有。
现在我摘录一种最常见的借助生成函数的证明,以备查看。
定义 $C_n$ 的生成函数
$$
c(x) = sum_{n = 0}^{infty} C_n x^n
$$
为了利用上述递推关系,我们考虑 $c(x)^2$ 的幂级数展开式中 $x^n$ 项的系数
egin{aligned}
c(x)^2 &= sum_{n = 0}^infty sum_{i = 0}^{n} C_i C_{n-i} x^n \
&= sum_{n = 0}^infty C_{n+1} x^n
end{aligned}
注意到 $x sum_{n = 0}^infty C_{n+1} x^n = sum_{n = 0}^infty C_{n+1} x^{n+1} = sum_{n = 1}^infty C_{n} x^{n}$
于是有
egin{equation}
c(x) = 1 + xc(x)^2 label{E:1}
end{equation}
eqref{E:1} 是关于 $c(x)$ 的一元二次方程,解之即得 $c(x)$ 的闭形式,再将此闭形式展开即得 $C_n$ 的表达式。
解得
$$ c(x) = frac{1 pm sqrt{1 - 4x}} {2x} $$
注意到 $c(x)$ 在 $x = 0$ 处的极限应为 $0$,据此可知上式中分母上应取负号,即
egin{equation}
c(x) = frac{1 - sqrt{1 - 4x}} {2x} label{E:2}
end{equation}
现在问题归结为如何将 eqref{E:2} 展成幂级数。
要解决这个问题,我们需要知道一个东西,那就是二项式定理的推广形式。
回忆我们所学过的二项式定理,$(x + y)^n$ 中的指数 $n$ 必须是非负整数。先哲牛顿推广了初等的二项式定理,他证明了指数可以为任意实数 $r$,二项式定理同样成立。即有
$$(x+y)^r = sum_{k = 0}^{infty} inom{r}{k} x^k y ^{r-k} $$
其中
$$inom{r}{k} = frac{r (r-1) (r-2) dots (r - k + 1)} {k!}$$
$r (r-1) (r-2) dots (r - k + 1)$ 也称作「$r$ 的降 $k$ 阶乘」,记作 $(r)_k$,这种记法称作 Pochhammer 符号。
二项式定理的一般形式在物理上很有用处,我念本科时不知道这么个好东西,常常看不懂书上的一些推导过程。
借助推广的二项式定理,我们很容易写出 $sqrt{1 - 4x}$ 的展开式
egin{aligned}
sqrt{1 - 4x} &= (1 - 4x)^{1/2} \
&= sum_{k = 0}^{infty}inom{1/2}{k} (-4x)^k \
&= sum_{k = 0}^{infty} frac{(-1){k-1}(2k-3)!!}{2k k!} (-4x)^k \
&= sum_{k = 0}^{infty} frac{(-1){k-1}}{4k (2k -1) }frac{2^k (2k-1)!!}{k!} (-4x)^k \
&= sum_{k = 0}^{infty} frac{(-1){k-1}}{4k (2k -1) } inom{2k}{k} (-4x)^k \
&= sum_{k = 0}^{infty} frac{-1}{ 2k -1 } inom{2k}{k} x^k
end{aligned}
进而
egin{aligned}
1 - sqrt{1 - 4x} &= sum_{k = 1}^{infty} frac{1}{ 2k -1 } inom{2k}{k} x^k \
&= sum_{k = 0}^{infty} frac{1}{ 2k + 1 } inom{2k+2}{k+1} x^{k+1} \
&= sum_{k = 0}^{infty} frac{2}{k+1} inom{2k}{k} x^{k+1}
end{aligned}
从而
$$ frac{1 - sqrt{1 - 4x}} {2x} = sum_{k = 0}^{infty} frac{1}{ k+1 } inom{2k}{k} x^k $$
因此
$$ C_n = frac{1}{n+1} inom{2n}{n} $$
补充
$C_n$ 还可写成
$$ C_n = inom{2n}{n} - inom{2n}{n + 1} $$
另外,$C_n$ 的相邻两项满足
$$ C_{n+1} = frac{2(2n+1)}{n + 2} C_n $$