斐波那契数列
費波那西數列(Fibonacci Sequence),又譯費波拿契數、斐波那契數列、費氏數列、黃金分割數列。
- F0 = 0
- F1 = 1
- Fn = Fn − 1 + Fn − 2
用文字來說,就是費波那西數列由 0 和 1 開始,之後的費波那西係數就由之前的兩數相加。首幾個費波那西係數是(OEIS A000045):
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946,………………
特別指出:0不是第一項,而是第零項。
目录 |
[编辑] 源起
根據高德納(Donald Ervin Knuth)的《計算機程序設計藝術》(The Art of Computer Programming),1150年印度數學家Gopala和金月在研究箱子包裝物件長闊剛好為 1 和 2 的可行方法數目時,首先描述這個數列。 在西方,最先研究這個數列的人是比薩的李奧納多(又名費波那西),他描述兔子生長的數目時用上了這數列。
- 第一個月有一對剛誕生的兔子
- 第二個月之後牠們可以生育
- 每月每對可生育的兔子會誕生下一對新兔子
- 兔子永不死去
假設在 n 月有新生及可生育的兔子總共 a 對,n+1 月就總共有 b 對。在 n+2 月必定總共有 a+b 對: 因為在 n+2 月的時候,所有在 n 月就已存在的 a 對兔子皆已可以生育並誕下 a 對後代;同時在前一月(n+1月)之 b 對兔子中,在當月屬於新誕生的兔子尚不能生育。
[编辑] 表達式
為求得費波那西數列的一般表達式,可以借助線性代數的方法。高中的初等數學知識也能求出。
[编辑] 初等代數解法
已知
- a1 = 1
- a2 = 1
- an = an − 1 + an − 2
[编辑] 首先構建等比數列
設an + αan − 1 = β(an − 1 + αan − 2)
化簡得
an = (β − α)an − 1 + αβan − 2
比較係數可得:

不妨設β > 0,α > 0
解得:

所以有an + αan − 1 = β(an − 1 + αan − 2), 即
為等比數列。
[编辑] 求出數列{an + αan − 1}
由以上可得:

變形得:
。 令
[编辑] 求數列{bn}進而得到{an}

設
,解得
。 故數列
為等比數列
即
。而
, 故有 
又有
和 
可得 ![a_{n}=\frac{\sqrt{5}}{5} \cdot \left[\left(\frac{1 + \sqrt{5}}{2}\right)^{n} - \left(\frac{1 - \sqrt{5}}{2}\right)^{n}\right]](http://upload.wikimedia.org/wikipedia/zh/math/e/b/b/ebbc3dfc4c53d561ada6e5225de82e78.png)
得出 an 表達式
![a_{n}=\frac{\sqrt{5}}{5} \cdot \left[\left(\frac{1 + \sqrt{5}}{2}\right)^{n} - \left(\frac{1 - \sqrt{5}}{2}\right)^{n}\right]](http://upload.wikimedia.org/wikipedia/zh/math/e/b/b/ebbc3dfc4c53d561ada6e5225de82e78.png)
[编辑] 線性代數解法
[编辑] 構建一個矩陣方程
設Jn為第n個月有生育能力的兔子數量,An為這一月份的兔子數量。
上式表達了兩個月之間,兔子數目之間的關係。而要求的是,An+1的表達式。
[编辑] 求矩陣的特徵值:λ
行列式:-λ*(1-λ)-1*1=λ2-λ-1
當行列式的值為0,解得λ1=
或 λ2=
[编辑] 特徵向量
將兩個特徵值代入
求特徵向量
得
=
=
[编辑] 分解首向量
第一個月的情況是兔子一對,新生0對。
將它分解為用特徵向量表示。
(4)
[编辑] 用數學歸納法證明
從
=
可得
(5)
[编辑] 化簡矩陣方程
將(4) 代入 (5)
根據 3
[编辑] 求A的表達式
現在在6的基礎上,可以很快求出An+1 的表達式,將兩個特徵值代入 6 中
(7)
(7)即為An+1 的表達式
[编辑] 近似值
[编辑] 用計算機求解
可通過編程觀察斐波那契數列。分為兩類問題,一種已知數列中的某一項,求序數。第二種是已知序數,求該項的值。
可通過遞歸遞推的算法解決此兩個問題。 事實上當n相當巨大的時候,O(n)的遞推/遞歸非常慢……這時候要用到矩陣加速這一技巧。
[编辑] 和黃金分割的關係
斐波那契數亦可以用連分數來表示:


而黃金分割數亦可以用無限連分數表示:
[编辑] 和自然的關係
許多的生物構成都和斐波那契數列有正相關。例如人體從肚臍至頭頂之距離和從肚臍至腳底之距趨近於
,向日葵的種子螺旋排列99%是Fn。
[编辑] 恆等式
證明以下的恆等式有很多方法。以下會用組合論述來證明。Fn可以表示成用多個1和多個2相加令其和等於<mat 不失一般性,我們假設n ≥ 1。Fn + 1是計算了將1和2加到n的方法的數目。若第一個被加數是1,有Fn種方法來完成對n-1的計算;若第一個被加數是2,有F(n-1)來完成對n-2的計算。因此,共有Fn + Fn − 1種方法來計算n的值。
- F1 + F2 + F3 + ... + Fn = Fn + 2 − 1
計算用多個1和多個2相加令其和等於n+1的方法的數目,同時最後一個加數是2的情況。
如前所述,當n 0,有Fn + 2種這樣的方法。因為當中只有一種方法不用使用2,就即 1 + 1 + ... + 1 (n+1項),於是我們從Fn + 2減去1。
- 若第1個被加數是2,有Fn個方法來計算加至n-1的方法的數目;
- 若第2個被加數是2、第1個被加數是1,有Fn − 1個方法來計算加至n − 2的方法的數目。
- 重複以上動作。
- 若第n + 1個被加數為2,它之前的被加數均為1,就有F(0)個方法來計算加至0的數目。
若該數式包含2為被加數,2的首次出現位置必然在第1和n+1的被加數之間。2在不同位置的情況都考慮到後,得出Fn + Fn − 1 + ... + F0為要求的數目。
- F1 + 2F2 + 3F3 + ... + nFn = nFn + 2 − Fn + 3 + 2
- F1 + F3 + F5 + ... + F2n − 1 = F2n
- F2 + F4 + F6 + ... + F2n = F2n + 1 − 1


[编辑] 相關的數列
費波那西數列是費波那西n步數列步數為2的特殊情況,也和盧卡斯數列有關。
[编辑] 和盧卡斯數列的關係
[编辑] 反費波那西數列
反費波那西數列的遞歸公式如下:
- Gn + 2 = Gn − Gn + 1
如果它以1,-1,之後的數是:1,-1,2,-3,5,-8, ...
即是F2n + 1 = G2n + 1,F2n = − G2n。
反費波那西數列兩項之間的比會趨近
。
[编辑] 巴都萬數列
費波那西數列可以用一個接一個的正方形來表現,巴都萬數列則是用一個接一個的等邊三角形來表現,它有Pn = Pn − 2 + Pn − 3的關係。
[编辑] 應用
1970年,Yuri Matiyasevich 指出了偶角標的斐波那契函數
- y = F2x
正是滿足 Julia Robison 假設的丟番圖函數,因而證明了希爾伯特第十問題是不可解的。
[编辑] 相关猜想
斐波那契數列中是否存在無窮多個素數?
在斐波那契數列中,有素數: 2,3,5,13,89,233,1597,28657,514229,433494437,2971215073,99194853094755497,1066340417491710595814572169,19134702400093278081449423917…… 目前已知最大素數是第81839個斐波那契數,一共有17103位數。
[编辑] 參考
- Donald E. Knuth: THE ART OF COMPUTER PROGRAMMING Volume 1/Fundamental
Algorithms. 第一章第 1.2.8 節《斐波那契數》。
- 《数学之恋》【美】克里福德A皮科夫著,湖南科技出版社



(4)
=
(5)![{J_{n+1}\choose A_{n+1}} = \lambda^n \cdot [\frac{1}{\sqrt{5}} \cdot \begin{pmatrix}1\\\frac{1}{2} (1 + \sqrt{5})\end{pmatrix}-\frac{1}{\sqrt{5}} \cdot \begin{pmatrix}1\\\frac{1}{2} (1 - \sqrt{5})\end{pmatrix}]](http://upload.wikimedia.org/wikipedia/zh/math/4/4/6/446d66dd22fa3aa2c6eeb0f88537af46.png)



(7)



