浅谈生成函数推导斐波那契数列以及特征函数

浅谈生成函数推导斐波那契数列以及特征函数

一次数学课,尊敬的Mr.ZHU与L先生提出了一个叫做特征函数的东西,作为前竞赛生的Marcelo Jin 一惊,这不正是生成函数的化简版嘛,于是他决定,周日的时候再来好好回顾一下这个有趣的算法。

一.关于生成函数

1.数列的多项式表示法

对于一个数列\(a_n\),我们可以利用一个多项式来表示它,即\(A(x)=\Sigma a_i x^i\)

举个例子,对于数列\(a_n=n\),它的多项式表示法就是\(A(x)=x+2x^2+3x^3+...\)

这里的多项式是形式幂级数,也就是变量只是一个符号,我们不关心它取值带来的影响,只关心它所携带的信息。

因为本篇着眼于文化课上的生成函数应用,所以暂且不提指数型生成函数

2.生成函数的封闭形式

再举个例子,对于序列\(<1,1,1,1...>\),它的生成函数要写成一个多项式的形式,十分不直观,我们可以考虑把它的生成函数写成一个封闭的形式。

这里,分享两个方法。

设该数列的生成函数为\(A(x)\)

Solution 1:

根据我们小学就学过的等比数列求和公式,
\( A(x)=\frac{x^n-1}{x-1} \)

所以\(lim_{n\rightarrow+\infty} A(x)=\frac{1}{1-x}\)

Solution 2:

\(A(x)⋅x+1=A(x)\)

\(So\) \(we\) \(have\) \(A(x)=\frac{1}{1-x}\)

推广一下,又有
\(\frac{1}{1-kx}=1+kx+k^2x^2+k^3x^3...\)

也就是说,生成函数为\(\frac{1}{1-kx}\)的数列的通项公式为\(a_n=k^n\)

3.生成函数的应用

生成函数一般有两个用途

1.对于给定的递推公式,求其通项公式

2.解决一些计数类问题

二.斐波那契数列通项公式的推导

我们设斐波那契数列的通项公式为\(f_n\),设其生成函数为\(F(x)\),那么

\( F(x)=\Sigma{f_ix^i}=f_1x+ \Sigma_{i\geq2}{f_ix^i} \)

\( =x+\Sigma_{i\geq2}(f_{i-2}+f_{i-1})x^i \)

\( =x+x^2\Sigma_{i\geq2}f_{i-2}x^{i-2}+x\Sigma_{i\geq2}f_{i-1}x^{i-1} \)

\( =x+x^2F(x)+xF(x) \)

所以,\(F(x)=\frac{x}{1-x-x^2}\)
可用待定系数法分解为:

\(F(x)=\frac{1}{\sqrt5}((\frac{1}{1-\frac{1+\sqrt5}{2}x})-(\frac{1}{1-\frac{1-\sqrt5}{2}x}))\)
根据之前的结论,\(f_n=\frac{1}{\sqrt5}((\frac{1+\sqrt5}{2})^n-(\frac{1-\sqrt5}{2})^n)\)

三.关于特征函数

朱老师说,对于一个递推式\(a_n=a_{n-1}+a_{n-2}\),可以写成\(x^2=x+1\)的形式,或者再都降个次,也就是\(x=1+\frac{1}{x}\)的形式,我们再观察上面的\(F(x)\),发现互为倒数,也就是说特征函数可以由生成函数来推导。
(UPDATE:前面证明需把数列扩展至第0位)

posted @ 2021-10-31 18:19  岚默笙  阅读(783)  评论(0编辑  收藏  举报