フィボナッチ数列

出典: 謎の百科事典もどき『エンペディア(Enpedia)』
フィボナッチ数から転送)
ナビゲーションに移動 検索に移動

フィボナッチ数列(ふぃぼなっちすうれつ)にはさまざまな定義があり、人によって理解のしかたが異なるので、説明が難しい。

概要[編集]

素朴な定義としては、数論的なものがある。「初項が1で次項も1、そこから先は前前項と前項の和」という説明である。
{1, 1, 2, 3, 5, 8, 13, 21, 34, ……} と続く。

以下の仮定を置く、ウサギの数として説明することもある。

  • 1年目に0歳のウサギが1匹いる。
  • ウサギは2歳になると、1匹の子ウサギ(0歳)を産む。(一匹なのに産むなんて無性生殖じゃねぇか、ということは考えない。)

つまり、バイバインより少し増加速度の遅いウサギである。
このとき、数列はn年目のウサギの数になっている。

漸化式による一般化[編集]

3項間漸化式として記述し、解くことを考える。

漸化式による表現[編集]

フィボナッチ数列は、漸化式を用いて以下のように表現できる。

  • a(n+2)=a(n+1)+a(n)
  • a(1)=a(2)=1(初期値)

特性方程式[編集]

一つ目の式より、特性方程式

  • a2a1=0

を得る。この二次方程式の解は2次方程式の解の公式より

  • a=1±1+42=1±52

となって黄金比と、その有理数からみた共役無理数が出てくる。
ここで、以下でよく使う黄金比φ=1+52の性質を述べておく。黄金比は特性方程式の解だったので、
φ2φ1=0よりφ2φ=1であり、φ1=φ1
また、152=1φ=φ1

第一の書き換え[編集]

よって、黄金比を用いて漸化式は次のように書き換えられる。

  • a(n+2)φa(n+1)=(1φ)(a(n+1)φa(n))

ここで、b(n)=a(n+1)φa(n)という数列を導入すると、等比数列の問題に帰着できて

  • b(n+1)=(1φ)b(n)
  • b(1)=a(2)φa(1)=1φ(初期値)

である。これを等比数列の問題として解くと、

  • b(n)=b(1)(φ1)n1=(1φ)n

さらに、b(n)=a(n+1)φa(n)よりa(n+1)=φa(n)+b(n)なので

  • a(n+1)=φa(n)+(1φ)n

第二の書き換え[編集]

また、漸化式は次のようにも書き換えられる。

  • a(n+2)(1φ)a(n+1)=φ(a(n+1)(1φ)a(n))

ここで、c(n)=a(n+1)(1φ)a(n)という数列を導入すると、等比数列の問題に帰着できて

  • c(n+1)=φc(n)
  • c(1)=a(2)(1φ)a(1)=φ(初期値)

である。これを等比数列の問題として解くと、

  • c(n)=c(1)φn1=φn

さらに、c(n)=a(n+1)(1φ)a(n)よりa(n+1)=(1φ)a(n)+c(n)なので

  • a(n+1)=(1φ)a(n)+φn

結果の結合[編集]

上記より、

  • a(n+1)=φa(n)+(1φ)n
  • a(n+1)=(1φ)a(n)+φn

よって、

  • (1φ)a(n+1)=φ(1φ)a(n)+(1φ)n+1
  • φa(n+1)=φ(1φ)a(n)+φn+1

2式の差から

  • (2φ1)a(n+1)=φn+1(1φ)n+1

よって、

  • a(n+1)=φn+1(1φ)n+12φ1

n+1をnにして、また黄金比を代入すると、

  • a(n)=1+52n152n5

となった。これが答えである。実際にn=1,2,3と代入していくと確かにあっている。

結果の考察[編集]

このことから、一般式に無理数が含まれていても整数の数列になる数列が存在することがわかる。

さらにnが十分に大きければ、 |1+52|>1,|152|<1より、近似的に a(n+1)=φa(n)となって、フィボナッチ数列は指数関数的に爆発していることがわかる。 1<φ=1+52<2なので、バイバインよりは少しマシなウサギという説明に合致する。

人間生活との関わり・利用[編集]

ソフトウェア業界に入ると、プログラミング研修において最初にやらされるのがユークリッドの互除法であるが、このあたりは解っている奴は五分もかからずにプログラムを書き上げてしまうので、頭の悪い上司に目をつけられてハラスメントの標的になったりする。

関連項目[編集]

類似の数列[編集]

脚注[編集]