フィボナッチ数列は、13世紀のイタリアの数学者レオナルド・フィボナッチによって紹介された数列です。この数列は非常にシンプルな規則で生成されます。最初の2項は1, 1で、3項目以降は直前の2項の和として定義されます。つまり、漸化式で表すと次のようになります。
F₁ = 1, F₂ = 1
F_n = F_{n-1} + F_{n-2} (n ≥ 3)
この規則に従って数列を続けると。
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610...
と無限に続いていきます。
フィボナッチ数列の最も基本的な性質として、隣接する2項は互いに素(最大公約数が1)であることが挙げられます。例えば、8と13、13と21などの隣り合う数字の組み合わせは、必ず互いに素になります。これは数学的帰納法を用いて証明することができます。
また、フィボナッチ数列には周期性も存在します。任意の整数mに対して、フィボナッチ数列をmで割った余りの列は必ず周期的になります。例えば、10で割った余りの列は60項ごとに同じパターンが繰り返されます。
フィボナッチ数列の一般項(n番目の項)は、ビネの公式として知られる以下の式で表すことができます。
F_n = (φⁿ - (1-φ)ⁿ)/√5
ここでφは黄金比(1+√5)/2 ≈ 1.618です。一見複雑な式ですが、計算すると必ず整数値になるという不思議な性質を持っています。
フィボナッチ数列と黄金比の関係は、数学における最も美しい関係の一つです。フィボナッチ数列の隣接する項の比(F_{n+1}/F_n)を計算していくと、その値は黄金比φ ≈ 1.618...に限りなく近づいていきます。
具体的に計算してみましょう。
このように、項数が増えるにつれて、その比率は黄金比に収束していきます。この性質は、ビネの公式からも数学的に証明することができます。
黄金比はギリシャ時代から「最も美しい比率」として知られ、古代の建築や芸術作品に意図的に取り入れられてきました。パルテノン神殿の正面の縦横比や、レオナルド・ダ・ヴィンチの「モナ・リザ」の構図にも黄金比が用いられているとされています。
また、黄金比は数学的にも特別な性質を持っています。例えば、φ² = φ + 1という関係があり、これはフィボナッチ数列の漸化式と密接に関連しています。この関係から、φⁿ = F_n·φ + F_{n-1}という美しい公式も導かれます。
フィボナッチ数列は純粋な数学の世界だけでなく、私たちの身の回りの様々な場所に姿を現しています。特に自然界での出現は顕著です。
植物の世界では、多くの花の花びらの数がフィボナッチ数になっていることが知られています。例えば、ユリは3枚、キンセンカは5枚、マーガレットは13枚、ひまわりの種は螺旋状に並び、その数は隣接するフィボナッチ数(例:34と55)になっていることが多いです。
また、松ぼっくりやパイナップルの鱗片の配列、植物の葉の茎からの生え方(葉序)もフィボナッチ数列に関連しています。これは、植物が最も効率よく日光を受けられるような配置になっているためと考えられています。
動物界では、ミツバチの家系図がフィボナッチ数列に従うことが知られています。オスのミツバチは受精卵からではなく未受精卵から生まれるため、オスは母親のみを持ちますが、メスは両親を持ちます。そのため、n世代前の祖先の数はフィボナッチ数列に従うのです。
コンピュータサイエンスの分野では、フィボナッチヒープというデータ構造や、フィボナッチ探索というアルゴリズムにフィボナッチ数列が応用されています。また、暗号技術や疑似乱数生成にも利用されることがあります。
金融市場では、エリオット波動理論という相場分析手法にフィボナッチ数列が取り入れられています。この理論では、相場の上昇・下降のパターンがフィボナッチ数列に関連する波動で説明できるとされています。
フィボナッチ数列は様々な方向に拡張・一般化することができます。その代表的なものをいくつか紹介します。
まず、リュカ数列は初項をL₁ = 1, L₂ = 3として、フィボナッチ数列と同じ漸化式L_n = L_{n-1} + L_{n-2}で定義される数列です。リュカ数列は。
1, 3, 4, 7, 11, 18, 29, 47, 76, 123, 199...
と続きます。リュカ数列もフィボナッチ数列と同様に、隣接項の比は黄金比に収束します。
また、トリボナッチ数列は、直前の3項の和を次の項とする数列です。初項をT₁ = 1, T₂ = 1, T₃ = 2として。
T_n = T_{n-1} + T_{n-2} + T_{n-3} (n ≥ 4)
と定義されます。トリボナッチ数列は。
1, 1, 2, 4, 7, 13, 24, 44, 81, 149, 274...
と続きます。
さらに一般化すると、k-ボナッチ数列は直前のk項の和を次の項とする数列です。フィボナッチ数列はk=2、トリボナッチ数列はk=3の場合に相当します。
負の添え字を持つフィボナッチ数も定義できます。F_{-n} = (-1)^{n+1}F_nという関係があり、これにより数列は負の方向にも拡張できます。
...8, -5, 3, -2, 1, -1, 0, 1, 1, 2, 3, 5, 8...
また、フィボナッチ数列の項を2で割った余りを並べると。
1, 1, 0, 1, 1, 0, 1, 1, 0...
という周期3の数列になります。同様に、3で割った余りは周期8、4で割った余りは周期6になるなど、mod nでの周期性も興味深い性質です。
フィボナッチ数列に関連する興味深い定理の一つに、ゼッケンドルフの定理があります。この定理は、任意の正の整数が「連続しないフィボナッチ数の和」として一意に表現できることを示しています。
例えば、42という数を考えてみましょう。42はフィボナッチ数列の中で42以下の最大のフィボナッチ数34と、その次に小さいフィボナッチ数8の和として表すことができます。
42 = 34 + 8
別の例として、17を考えると。
17 = 13 + 3 + 1
と表せます。ここで注意すべきは、使用するフィボナッチ数が「連続しない」という条件です。例えば、8と5は連続するフィボナッチ数なので、同時に使用することはできません。
ゼッケンドルフの定理による表現は、貪欲法(グリーディアルゴリズム)を用いて簡単に求めることができます。具体的には、表現したい数以下の最大のフィボナッチ数から始めて、可能な限り大きなフィボナッチ数を順に選んでいく方法です。
この定理は、コンピュータサイエンスの分野でも応用されています。例えば、フィボナッチ符号という可変長符号化方式は、ゼッケンドルフの定理に基づいており、データ圧縮に利用されることがあります。
ゼッケンドルフの定理は、フィボナッチ数列の持つ「完全性」を示す一例であり、整数論における美しい結果の一つです。この定理の証明には、フィボナッチ数列の性質と貪欲法の最適性の証明が組み合わされています。
フィボナッチ数列の計算は、一見単純に見えますが、大きな項を求める場合には計算効率が重要になります。ここでは、いくつかの効率的な計算方法を紹介します。
最も単純な方法は、漸化式F_n = F_{n-1} + F_{n-2}を直接用いる方法です。しかし、この方法で再帰的に計算すると、同じ値を何度も計算することになり、非常に非効率です。例えば、F_5を計算するために、F_4とF_3を計算し、F_4を計算するためにF_3とF_2を計算し...というように、計算量が指数関数的に増加します。
より効率的な方法は、動的計画法(DP)を用いる反復法です。F_1からF_nまでを順番に計算し、結果を配列に保存していく方法です。この方法では計算量はO(n)となり、大幅に効率が改善されます。
function fibonacci(n) {
let fib = [0, 1];
for (let i = 2; i <= n; i++) {
fib[i] = fib[i-1] + fib[i-2];
}
return fib[n];
}
さらに効率的な方法として、行列の累乗を利用する方法があります。フィボナッチ数列の漸化式は、2×2行列の累乗として表現できます。
(Fn+1FnFnFn−1)=(1110)n
この行列累乗は分割統治法を用いて計算でき、計算量はO(log n)まで削減できます。
また、前述のビネの公式を用いる方法もあります。
Fn=5ϕn−(1−ϕ)n
ここでφは黄金比(1+√5)/2です。この方法はO(1)の計算量で任意のフィボナッチ数を直接計算できますが、浮動小数点数の精度の問題があるため、非常に大きなnに対しては正確な値を得られない可能性があります。
実際のプログラミングでは、用途や必要な精度によって適切な方法を選択することが重要です。特に大きな数を扱う場合は、多倍長整数演算をサポートするライブラリを使用することも検討すべきでしょう。
フィボナッチ数列の8つの性質(一般項・黄金比・互いに素)についての詳細な解説
フィボナッチ数列は金融市場分析においても重要な役割を果たしています。特に、ラルフ・ネルソン・エリオットによって開発されたエリオット波動理論では、フィボナッチ数列とその比率が市場の波動パターンを説明する重要な要素となっています。
エリオット波動理論では、市場の上昇トレンドは5つの波(インパルス波)で構成され、下降トレンドは3つの波(修正波)で構成されると考えます。合計で8つの波動となりますが、この5、3、8という数字はすべてフィボナッチ数列の一部です。さらに、インパルスの副次波は5波動、3波動、5波動、3波動、5波動の合計21波動で構成され、これもフィボナッチ数です。
また、波動間の価格変動の比率もフィボナッチ比率に従うことが多いとされています。例えば、上昇トレンドの中の調整(下落)は、直前の上昇の61.8%(フィボナッチ比率の逆数)程度になることが多いと言われています。
トレーダーはこれらのフィボナッチ比率(特に23.6%、38.2%、50%、61.8%、78.6%)を用いて、価格の反転ポイントや目標価格を予測します。フィボナッチ・リトレースメントやフィボナッチ・エクステンションと呼ばれるツールは、多くのチャート分析ソフトウェアに実装されており、日々の取引で活用されています。
エリオット波動理論の創始者であるエリオットは、著書「自然の法則」の中で、フィボナッチ数列が自然界や人間活動を大きく支配していると述べています。例えば、ピアノの1オクターブが8つの白鍵と5つの黒鍵の計13鍵からなっていることや、