浅谈生成函数推导斐波那契数列以及特征函数
一.关于生成函数
1.数列的多项式表示法
对于一个数列 a n a_n an,我们可以利用一个多项式来表示它,即 A ( x ) = Σ a i x i A(x)=\Sigma a_i x^i A(x)=Σaixi
举个例子,对于数列 a n = n a_n=n an=n,它的多项式表示法就是 A ( x ) = x + 2 x 2 + 3 x 3 + . . . A(x)=x+2x^2+3x^3+... A(x)=x+2x2+3x3+...
这里的多项式是形式幂级数,也就是变量只是一个符号,我们不关心它取值带来的影响,只关心它所携带的信息。
因为本篇着眼于文化课上的生成函数应用,所以暂且不提指数型生成函数
2.生成函数的封闭形式
再举个例子,对于序列 < 1 , 1 , 1 , 1... > <1,1,1,1...> <1,1,1,1...>,它的生成函数要写成一个多项式的形式,十分不直观,我们可以考虑把它的生成函数写成一个封闭的形式。
这里,分享两个方法。
设该数列的生成函数为 A ( x ) A(x) A(x)
Solution 1:
根据我们小学就学过的等比数列求和公式,
A
(
x
)
=
1
−
x
n
1
−
x
A(x)=\frac{1-x^n}{1-x}
A(x)=1−x1−xn
所以 l i m n → + ∞ A ( x ) = 1 1 − x , ( ∣ x ∣ < 1 ) lim_{n\rightarrow+\infty} A(x)=\frac{1}{1-x},(|x|<1) limn→+∞A(x)=1−x1,(∣x∣<1)
Solution 2:
A ( x ) ⋅ x + 1 = A ( x ) A(x)⋅x+1=A(x) A(x)⋅x+1=A(x)
S o So So w e we we h a v e have have A ( x ) = 1 1 − x A(x)=\frac{1}{1-x} A(x)=1−x1
推广一下,又有
1
1
−
k
x
=
1
+
k
x
+
k
2
x
2
+
k
3
x
3
.
.
.
\frac{1}{1-kx}=1+kx+k^2x^2+k^3x^3...
1−kx1=1+kx+k2x2+k3x3...
也就是说,生成函数为 1 1 − k x \frac{1}{1-kx} 1−kx1的数列的通项公式为 a n = k n a_n=k^n an=kn
3.生成函数的应用
生成函数一般有两个用途
1.对于给定的递推公式,求其通项公式
2.解决一些计数类问题
二.斐波那契数列通项公式的推导
我们设斐波那契数列的通项公式为 f n f_n fn,设其生成函数为 F ( x ) F(x) F(x),那么
F ( x ) = Σ f i x i = f 1 x + Σ i ≥ 2 f i x i F(x)=\Sigma{f_ix^i}=f_1x+ \Sigma_{i\geq2}{f_ix^i} F(x)=Σfixi=f1x+Σi≥2fixi
= x + Σ i ≥ 2 ( f i − 2 + f i − 1 ) x i =x+\Sigma_{i\geq2}(f_{i-2}+f_{i-1})x^i =x+Σi≥2(fi−2+fi−1)xi
= x + x 2 Σ i ≥ 2 f i − 2 x i − 2 + x Σ i ≥ 2 f i − 1 x i − 1 =x+x^2\Sigma_{i\geq2}f_{i-2}x^{i-2}+x\Sigma_{i\geq2}f_{i-1}x^{i-1} =x+x2Σi≥2fi−2xi−2+xΣi≥2fi−1xi−1
= x + x 2 F ( x ) + x F ( x ) =x+x^2F(x)+xF(x) =x+x2F(x)+xF(x)
所以,
F
(
x
)
=
x
1
−
x
−
x
2
F(x)=\frac{x}{1-x-x^2}
F(x)=1−x−x2x
可用待定系数法分解为:
F
(
x
)
=
1
5
(
(
1
1
−
1
+
5
2
x
)
−
(
1
1
−
1
−
5
2
x
)
)
F(x)=\frac{1}{\sqrt5}((\frac{1}{1-\frac{1+\sqrt5}{2}x})-(\frac{1}{1-\frac{1-\sqrt5}{2}x}))
F(x)=51((1−21+5x1)−(1−21−5x1))
根据之前的结论,
f
n
=
1
5
(
(
1
+
5
2
)
n
−
(
1
−
5
2
)
n
)
f_n=\frac{1}{\sqrt5}((\frac{1+\sqrt5}{2})^n-(\frac{1-\sqrt5}{2})^n)
fn=51((21+5)n−(21−5)n)
三.关于特征函数
对于一个递推式
a
n
=
a
n
−
1
+
a
n
−
2
a_n=a_{n-1}+a_{n-2}
an=an−1+an−2,可以写成
x
2
=
x
+
1
x^2=x+1
x2=x+1的形式,可再都降个次,也就是
x
=
1
+
1
x
x=1+\frac{1}{x}
x=1+x1的形式,我们再观察上面的
F
(
x
)
F(x)
F(x),发现互为倒数,也就是说特征函数可以由生成函数来推导。
(UPDATE:前面证明需把数列扩展至第0位)