zoukankan      html  css  js  c++  java
  • Asymptotic I Catalan Number

    卡特兰数出现在许多计数问题中。

    常见的例子有:$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 $$

  • 相关阅读:
    Swift入门篇-Hello World
    Swift入门篇-swift简介
    Minecraft 插件 world edit 的cs 命令
    搭建本地MAVEN NEXUS 服务
    MC java 远程调试 plugin 开发
    企业内部从零开始安装docker hadoop 提纲
    javascript 命令方式 测试例子
    ca des key crt scr
    JSF 抽象和实现例子 (函数和属性)
    form 上传 html 代码
  • 原文地址:https://www.cnblogs.com/Patt/p/10454746.html
Copyright © 2011-2022 走看看