生成函数

定义

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

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

\(a\)既可以是有穷序列,也可以是无穷序列,常见例子:

\(1.\)序列\(a=<1,2,3>\)的\(OGF\)是\(1+2x+3x^2\)

\(2.\)序列\(a=<1,1,1,…>\)的\(OGF\)是\(\sum_{n\geq 0}x^n\)

\(3.\)序列\(a=<1,2,4,…>\)的\(OGF\)是\(\sum_{n\geq 0}2^nx^n\)

\(4.\)序列\(a=<1,3,5,…>\)的\(OGF\)是\(\sum_{n\geq 0}(2n+1)x^n\)

如果序列\(a\)有通项公式,那么它的\(OGF\)的系数就是通项公式

基本运算

考虑两个序列\(a\)和\(b\)的\(OGF\),分别是\(F(x)\)和\(G(x)\),那么有

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

因为\(F(x)±G(x)\)是序列\(<a_n±b_n>\)的\(OGF\)

考虑乘法运算,即卷积

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

因为\(F(x)*G(x)\)是序列\(<\sum_{i=0}^n a_ib_{n-i}>\)的\(OGF\)

封闭形式

形式幂级数形式不好表示,考虑转化为封闭形式

\(a=<1,1,1,…>\)的\(OGF \ F(x)=\sum_{n\geq 0}x^n\)可以列出

\[F(x)=1+x+x^2+…\\ xF(x)=x+x^2+x^3+…\\ xF(x)+1=F(x)\\ F(x)=\frac{1}{1-x} \]

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

考虑等比数列\(<1,p,p^2,p^3,…>\)的普通生成函数\(G(x)=\sum_{n\geq 0}p^nx^n\),有

\[G(x)px+1=G(x)\\ G(x)=\frac{1}{1-px} \]

例题

\(1.a=<0,1,1,1,…>\)

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

\(2.a=<1,0,1,0,1,…>\)

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

\(3.a=<1,2,3,4,…>\)

\[F(x)=\sum_{n\geq 0}(n+1)x^n\\ 令n=n+1\\ F(x)=\sum_{n\geq 1}nx^{n-1}\\ =\sum_{n\geq 0}(x^n)'\\ =(\frac{1}{1-x})'\\ =\frac{1}{(1-x)^2} \]

\(4.a_n=\dbinom{m}{n}\)

\[F(x)=\sum_{n}\dbinom{m}{n}x^n1^{m-n}\\ =(1+x)^m \]

\(5.a_n=\dbinom{n+m}{n}\)

归纳法证明:\(a_n=\frac{1}{(1-x)^{m+1}}\)

\[m=0时,F(x)=\frac{1}{1-x}\\ m>0时\\ \frac{1}{(1-x)^{m+1}}=\frac{1}{(1-x)^m}\frac{1}{1-x}\\ =(\sum_{n\geq 0}\dbinom{m-n+1}{n})(\sum_{n\geq 0}x^n)\\ =\sum_{n\geq 0}(\sum_{i=0}^{n}\dbinom{m-1+i}{i}x^i*1^{n-i}x^{n-i})\\ =\sum_{n\geq 0}\dbinom{n+m}{n}x^n\\ \]

斐波那契数列生成函数

上一篇:掷骰子DApp的实现


下一篇:D365 FO执行进度显示