闲话 731

核方法(Kernel method),一种神秘的解析方法来解生成函数的(通常是多元的)式子。


简单的例子:求 Dyck 路,即横着每次可以走斜上斜下,不能走到 \(y\) 轴下面,从 \((0,0)\) 走到 \((n,0)\) 的方案数。

\(f_i(z)\) 为走到 \((n,i)\) 的方案数的 OGF。那么显然有:

\[f_i(z)=zf_{i-1}(z)+zf_{i+1}(z)\\ f_0(z)=1+zf_1(z) \]

\[F(z,x)=\sum _{n\ge 0}f_n(z)x^n \]

那么就有:

\[F(z,x)=zxF(z,x)+\frac zx (F(z,x)-F(z,0))+1 \]

因此

\[F(z,x)=\frac{zF(z,0)-x}{zx^2-x+z} \]

在这里令 \(x=0\) 没有效果。但是神秘的是设分母为

\[zx^2-x+z=z(x-r_1(z))(x-r_2(z)) \]

这里

\[r_1(z)=\frac{1-\sqrt{1-4z^2}}{2z},zr_2(z)=\frac{1+\sqrt{1-4z^2}}{2} \]

因此,当 \((x,z)\to 0\) 的时候,

\[x-r_1(z)\to x-z,x-zr_2(z)\to x-1 \]

因此如果分子不能整除 \(x-r_1(z)\),该分式无法在 \((0,0)\) 附近展开成幂级数;但是这和定义矛盾。所以分子整除 \(x-r_1(z)\)

这是说:\(zF(z,0)-x\bigg|_{x=r_1(z)}=0\),因此 \(zF(z,0)=r_1(z)\)


还有一个航航拉史的例题。

有一群航航去厕所拉史,厕所有两筒纸分别有 \(n,m(n\ge m)\) 张,他一次拿一张(这就是为什么他擦不干净),有 \(p\) 的概率拿更多纸的那一筒,\(q=1-p\) 的概率拿更少的那一筒。求一个纸筒耗光时另一筒的期望纸数。

这个写出递归式是简单的。设答案为 \(M_{n,m}\),则有:

\[M_{n,0}=n\\ M_{n,n}=M_{n,n-1}\\ M_{n,m}=pM_{n-1,m}+qM_{n,m-1} \]

设对角线

\[F_0(z)=\sum _{m\ge 0}M_{m,m}z^m=\sum _{m\ge 1}M_{m,m-1}z^m=F_1(z) \]

设 OGF

\[F(z,x)=\sum_{0\le n\le m}M_{m,n}z^mx^{m-n} \]

通过一通极霸推导,得到:

\[F(z,x)=\frac{(q-px)F_1(z)-\frac{zx^2(1-pzx)}{(1-zx)^2}}{pz(x-r_1(z))(x-r_2(z))} \]

其中

\[x-r_1(z)=x-\frac{1-\sqrt{1-4pqz}}{2pz},z(x-r_2(z))=zx-\frac{1+\sqrt{1-4pqz}}{2p} \]

此时考虑 \((x,z)\to (0,0)\);应该有 \(\frac{F(x,z)}z\to 1\)

所以一定有 \(x-r_1(z)\mid (q-px)F_1(z)-\frac{zx^2(1-pzx)}{(1-zx)^2}\)。这样又可以代入 \(x=r_1(z)\) 了。

\(C(z)=(1-\sqrt{1-4z})/2\),就有

\[F_1(z)=\frac{z}{q(1-z)^2}(q-C(pqz)) \]

因为

\[r_1(z)=\frac{C(pqz)}{pz},\frac{1}{r_2(z)}=\frac{pzr_1(z)}{q} \]

此外,通过一通推导还可以发现:

\[F_{m,m}\sim 2\sqrt{\frac m\pi}-\frac{1}{4\sqrt{\pi m}} \]

posted @ 2024-07-31 14:59  British_Union  阅读(11)  评论(1编辑  收藏  举报