フィボナッチ数列と名前も定義も似てる「フィボナッチ文字列」と「フィボナッチ列」
フィボナッチ数列と名前も定義も似てる「フィボナッチ文字列」と「フィボナッチ列」
フィボナッチ数 (フィボナッチ数列) は定義が簡単なので、高校生やもしかしたら小学生でも知っている人は多いかもしれません。
それに定義がとても似ている「フィボナッチ文字列」と、フィボナッチ文字列を01列化した「フィボナッチ列」。これらを混同しないようにしながら見てみましょう。
フィボナッチ数
最初に1, 1 (あるいは0, 1) を用意して、
と直前の2つの数を足していってどんどん次の項を求めていくことができます。
つまり、
となるような
「フィボナッチ数」と書くと定数のようにも誤認されうるため、数列としては「フィボナッチ数列」とも呼びます。
プログラム的に値を求めるときは漸化式を用いるよりも一般項を直接使ったほうが扱いやすい場合があります。
または
簡単化として、床関数を使ってよいなら
という表し方もあります。
フィボナッチ文字列
これを フィボナッチ文字列 (Fibonacci word) と呼びます。
数列と考えてしまうと混乱してしまうかもしれないので、"0"と"1"の代わりに"a"と"b"で表してみましょう。
文字数は足し算になっているのでフィボナッチ数の増え方(1文字、2文字、3文字、5文字、8文字、…)をしていますね!
フィボナッチ文字列は直前の2つの数を加算の代わりに文字列連結した、フィボナッチ数の文字列バージョンと考えてよいでしょう。
0と1を逆にした定義もできます。
フィボナッチ列
フィボナッチ文字列は最初の2項以外は先頭が同じで末尾にどんどん文字列が追加されていくので、充分長い文字列を得られたとしたときの
このときの
じつは一般項も見つかっています。
フィボナッチ研究集会で、ワイソフ配列について発表したときに「フィボナッチ列」も知らない人が多かったので、2017年8月25日に 日本フィボナッチ協会 第15回研究集会報告書 にある通り「フィボナッチ列とそれを応用した黄金比の近似」と題して発表しました。
まとめ
- フィボナッチ数、フィボナッチ数列:
- フィボナッチ文字列:
- フィボナッチ列: