1. 程式人生 > 其它 >淺談生成函式推導斐波那契數列以及特徵函式

淺談生成函式推導斐波那契數列以及特徵函式

淺談生成函式推導斐波那契數列以及特徵函式

一次數學課,尊敬的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)\),發現互為倒數,也就是說特徵函式可以由生成函式來推導。