普通生成函数

定义

序列 \(a\) 的普通生成函数(ordinary generating function,OGF)定义为形式幂级数:

\[F(x)=\sum_{n}a_n x^n \]

\(a\) 既可以是有穷序列,也可以是无穷序列。常见的例子(假设 \(a\)\(0\) 为起点):

  1. 序列 \(a=\langle 1,2,3\rangle\) 的普通生成函数是 \(1+2x+3x^2\)
  2. 序列 \(a=\langle 1,1,1,\cdots\rangle\) 的普通生成函数是 \(\sum_{n\ge 0}x^n\)
  3. 序列 \(a=\langle 1,2,4,8,16,\cdots\rangle\) 的生成函数是 \(\sum_{n\ge 0}2^nx^n\)
  4. 序列 \(a=\langle 1,3,5,7,9,\cdots\rangle\) 的生成函数是 \(\sum_{n\ge 0}(2n+1)x^n\)

换句话说,如果序列 \(a\) 有通项公式,那么它的普通生成函数的系数就是通项公式。

基本运算

考虑两个序列 \(a,b\) 的普通生成函数,分别为 \(F(x),G(x)\) 。那么有

\[F(x)\pm G(x)=\sum_n (a_n\pm b_n)x^n \]

因此 \(F(x)\pm G(x)\) 是序列 \(\langle a_n\pm b_n\rangle\) 的普通生成函数。

考虑乘法运算,也就是卷积:

\[F(x)G(x)=\sum_n x^n \sum_{i=0}^na_ib_{n-i} \]

因此 \(F(x)G(x)\) 是序列 \(\langle \sum_{i=0}^n a_ib_{n-i} \rangle\) 的普通生成函数。

封闭形式

在运用生成函数的过程中,我们不会一直使用形式幂级数的形式,而会适时地转化为封闭形式以更好地化简。

例如 \(\langle 1,1,1,\cdots\rangle\) 的普通生成函数 \(F(x)=\sum_{n\ge 0}x^n\) ,我们可以发现

\[F(x)x+1=F(x) \]

那么解这个方程得到

\[F(x)=\frac{1}{1-x} \]

这就是 \(\sum_{n\ge 0}x^n\) 的封闭形式。

考虑等比数列 \(\langle 1,p,p^2,p^3,p^4,\cdots\rangle\) 的生成函数 \(F(x)=\sum_{n\ge 0}p^nx^n\) ,有

\[\begin{aligned}F(x)px+1 &=F(x)\\F(x) &=\frac{1}{1-px}\end{aligned} \]

等比数列的封闭形式与展开形式是常用的变换手段。

常用的封闭形式与展开形式的转化(方式)

1、用已知封闭形式转换

\[F(x)=\sum_{n\ge 1}x^n=\sum_{n\ge 0}x^n-1=\dfrac{x}{1-x} \]

2、代入已知封闭形式

\[F(x)=\sum_{n\ge 0}x^{2n}=\frac{1}{1-x^2} \]

3、求导(也可以用5式推出)

\[\begin{aligned}F(x)&=\sum_{n\ge 0}(n+1)x^n\\&=\sum_{n\ge 1}nx^{n-1}\\&=\sum_{n\ge 0}(x^n)'\\&=\left(\frac{1}{1-x}\right)'\\&=\frac{1}{(1-x)^2}\end{aligned} \]

4、二项式定理:

\[F(x)=\sum_{n\ge 0}\binom{m}{n}x^n=(1+x)^m \]

5、常用

\[F(x)=\sum_{n\ge 0}\binom{m+n}{n}x^n=\frac{1}{(1-x)^{m+1}} \]

广义牛顿二项式定理

我们重新定义组合数的运算:

\[\binom{r}{k}=\frac{r^{\underline{k}}}{k!}\quad(r\in\mathbf{C},k\in\mathbf{N}) \]

注:\(r^{\underline{k}}=r*(r-1)*(r-2)*...*(r-k+1)\)

注意 \(r\) 的范围是复数域。在这种情况下。对于 \(\alpha\in\mathbf{C}\) ,有广义牛顿二项式定理

\[(x+y)^m=\sum_{n\ge 0}\binom{m}{n}x^n y^{m-n} \]

二项式定理其实是广义牛顿二项式定理的一个特殊情况,而广义牛顿二项式定理是在生成函数的运算中经常要用到的公式。

posted @ 2020-12-18 20:24  UCPRER  阅读(345)  评论(0编辑  收藏  举报