フィボナッチ数 は、コンピューターサイエンスの学生にとって再帰の一般的な紹介になっており、自然界に存在するという強い議論があります。これらの理由から、私たちの多くはそれらに精通しています。
また、他の場所のコンピューターサイエンスにも存在します。シーケンスに基づく驚くほど効率的なデータ構造とアルゴリズムで。
思い浮かぶ2つの主な例があります。
他の数値シーケンスよりも有利なこれらの数値の特別な特性はありますか?それは空間的な品質ですか?他にどのようなアプリケーションがありますか?
他の再帰問題で発生する多くの自然数列があるので、私には奇妙に思えますが、 Catalan ヒープを見たことはありません。
フィボナッチ数には、あらゆる種類の本当に素晴らしい数学的な性質があり、コンピューターサイエンスで優れています。ここにいくつかあります:
これ以上の理由があると確信していますが、これらの理由のいくつかが主な要因であると確信しています。お役に立てれば!
フィボナッチ数列は、実際、自然/生命のいたるところに見られます。動物の個体数の成長、植物細胞の成長、雪片の形、植物の形、暗号、そしてもちろんコンピューターサイエンスのモデリングに役立ちます。自然のDNAパターンと呼ばれていると聞きました。
フィボナッチヒープについてはすでに言及されています。ヒープ内の各ノードの子の数は最大でlog(n)です。また、m個の子を持つノードを開始するサブツリーは、少なくとも(m + 2)番目のフィボナッチ数です。
ノードとスーパーノードのシステムを使用するTorrentのようなプロトコルは、フィボナッチを使用して、新しいスーパーノードがいつ必要になるか、およびそれが管理するサブノードの数を決定します。フィボナッチスパイラル(黄金比)に基づいてノード管理を行います。以下の写真をご覧ください。ノードがどのように分割/マージされているか(1つの大きな正方形から小さな正方形へ、またはその逆)写真を参照してください: http://smartpei.typepad.com/.a/6a00d83451db7969e20115704556bd970b-pi
自然界のいくつかの出来事
http://www.mcs.surrey.ac.uk/Personal/R.Knott/Fibonacci/sneezewort.GIF
http://img.blogster.com/view/anacoana/post-uploads/finger.gif
http://jwilson.coe.uga.edu/EMAT6680/Simmons/6690Pictures/pinecone3yellow.gif
あなたがCSと自然の理解可能な例でシンプルで簡潔な方法でうまく説明できるアルゴリズムを持っているなら、誰かより良い教育ツールを思い付くことができますか?
[[0,1]、[1,1]]行列のべき乗としての計算は、Operational Researchの最も原始的な問題と考えることができます(Prisoner's Dilemmaのようなものは、Game Theoryの最も原始的な問題です)。
別のデータ構造を追加しましょう:フィボナッチツリー。ツリー内の次の位置の計算は、前のノードを追加するだけで行えるため、興味深いものです。
http://xw2k.nist.gov/dads/html/fibonacciTree.html
これは、AVLツリー上のtemplatetypedefによる議論と密接に関係しています(AVLツリーは、最悪の場合フィボナッチ構造を持つことができます)。場合によっては、2の累乗ではなくフィボナッチステップでバッファが拡張されることもあります。
明確な答えはないと思いますが、1つの可能性は、セットSを2つのパーティションS1とS2に分割し、その1つをサブパーティションS11とS12に分割し、その1つがS2-多くのアルゴリズムに対する可能性の高いアプローチであり、フィボナッチ数列として数値的に説明できる場合があります。
これについてのトリビアを追加するために、フィボナッチ数はウサギのパン粉を表します。 (1、1)、2匹のウサギから始めて、それらの人口は指数関数的に増加します。
連続するフィボナッチ数である周波数を持つシンボルは、最大深度のハフマンツリーを作成します。このツリーは、最大長のバイナリコードでエンコードされたソースシンボルに対応します。フィボナッチ以外のソースシンボル周波数は、より短いコードでよりバランスの取れたツリーを作成します。コード長は、特定のハフマンコードのデコードを担当する有限状態マシンの記述の複雑さに直接影響します。
推測:1番目(fib)の画像は38ビットに圧縮され、2番目(均一)の画像は50ビットに圧縮されます。ソースシンボルの周波数がフィボナッチ数に近いほど、最終的なバイナリシーケンスが短くなり、圧縮が向上し、ハフマンモデルで最適になるようです。
参考文献:
ブロー、M。(1993)。ハフマン符号の最大長について。情報処理レター、45(5)、219-223。 doi:10.1016/0020-0190(93)90207-p