seegongsik
単語帳
アルゴリズム

といた こたえを また つかう

フィボナッチを さいきで といた ことが ありますか。fib(5)を もとめるには fib(4)と fib(3)を、fib(4)は また fib(3)と fib(2)を よびます。でも fib(2)は あちこちで 何ども でてきます。まったく 同じものを 何かいも ときなおしている のです。といた こたえを どこかに かいておいたら どう でしょう。

01

同じものを また とく

さいきは 大きな もんだいを
小さな もんだいに わって ときます。
フィボナッチが まさに それです。
fib(5)は fib(4)と fib(3)を、
fib(4)は また fib(3)と fib(2)を よびます。
でも よく 見ると、
fib(2)が この えだ あの えだで
何ども また でてきます。
下の 木で
ノードを 一つ おしてみましょう。

fib(5)を さいきで とくと、こんな 木が ひろがります。ノードを 一つ おしてみましょう。
どの ノードでも おしてみて ください。同じ 小さな もんだいが 木の あちこちに かくれています。

同じ 小さな もんだいが 木の あちこちに また でます。(ノード クリック → 同じ値 ぜんぶ きょうちょう)

見えますね。
同じ fib(2)を
一かいでなく 何かいも ときます。
fib(3)も 同じです。
nが 大きく なると
この じゅうふくは すごく ふえます。
もう といてある こたえを
また ときなおすのは
だれが 見ても もったいないです。

02

こたえを かいておく

かいけつは いがいと かんたんです。
といた こたえを
メモに かいておくのです。
つぎに 同じものが また 必要なら、
けいさんしなおさず
メモから ただ とりだして つかいます。
はじめてのものだけ けいさんし、
見たことが あるのは とりだせば いいです。
ボタンを おして
よびだしを 一つずつ しょりしましょう。

同じ よびだしが また きます。つぎの よびだしを おして しょりしましょう。
fib(2)
fib(3)
fib(2)
fib(4)
fib(2)
fib(3)
メモ ちょう
まだ からです
ボタンを おすと よびだしが 一つずつ きます。はじめては けいさん、見たことが あるのは メモから とりだし。

はじめては けいさんして かき、見たことが あるのは メモから とりだします。(これが メモか)

けいさんは さいしょの 一かいだけです。
あとは ぜんぶ
メモから とりだして つかうので、
同じものを 二ど とく ことが
すっかり なくなります。
こうして といた こたえを
かいておいて また つかうのを
メモか と いいます。
名まえは りっぱでも
なかみは「かいておく」です。

03

下から 表を うめる

同じ かんがえを
ぎゃくに する ことも できます。
上から わって おりる かわりに、
いちばん下の 小さな 値から
表を うめて 上へ いくのです。
fib(0)と fib(1)は そのまま わかります。
その 二つを たして fib(2)、
fib(1)と fib(2)を たして fib(3)。
下の マスが もう かいてあるので、
上の マスは たすだけで すみます。

ぎゃくに、いちばん下の 0と1から 表を うめて 上へ いきましょう。
fib(0)0さいしょから わかる 値
fib(1)1さいしょから わかる 値
fib(2)?
fib(3)?
fib(4)?
fib(5)?
fib(6)?
fib(0)=0, fib(1)=1は そのまま わかります。ここから 上へ 一マスずつ うめます。

0,1から 一マスずつ 上へ うめます。(つぎの マス = すぐ下の 二マスの 合計 · ボトムアップ)

この やり方は メモ さえ
必要 ありません。
表 じたいが メモ だからです。
下から 上へ
順に 一かい とおすだけで、
ときなおしが まったく ありません。
メモか が
「必要な とき かいておく」なら、
これは「さきに ぜんぶ かいておく」です。
どちらも なかみは 同じです。

04

ぐっと はやく なる

では どれだけ はやく なるのか。
かいておく 一手で
変わるものは とても 大きいです。
じゅんすい さいきは
じゅうふくまで ぜんぶ とくので、
nが 大きく なるほど
しごとが ばくはつ するように ふえます。
メモは かく マスを たった 一かいずつ、
nに ひれいする ぶんだけ ときます。
nを ふやしながら 二つを くらべましょう。

nを 大きく しながら、二つの やり方の しごとりょうを くらべましょう。
n = 5
じゅんすい さいき15 回 とく
メモ6 回 とく
fib(5)では、じゅんすい さいきは 15回、メモは 6回 ときます。なんと 3ばいの さです。nが 大きく なるほど さが ばくはつ します。

同じ nでの とく 回数。(じゅんすい さいき=しすうで ばくはつ · メモ=nに ひれいする せんけい)

ちがいが 見えますね。
nが すこし 大きく なるだけで
じゅんすい さいきの ぼうは
がめんを つきぬけそうに のびます。
メモの ぼうは
ほとんど そのままです。
同じ こたえを また とかない、
この 一つが
おそいと はやいを わけるのです。

05

まとめ

どうてき けいかくほうは
むずかしい 名まえですが
なかみは 三あしです。
同じものを また といていると 気づき、
といた こたえを かいておき、
また つかうから ぐっと はやく なる。
下の カードを 一つずつ おして
三あしを まとめましょう。

どうてき けいかくほうは たった 三あしです。一つずつ おして あきらかに しましょう。
1
同じものを また とく
さいきが 同じ 小さな もんだいを 何どもとく
2
かいておく
といた こたえを メモに かいて また とりだす
3
ぐっと はやく
しすうが せんけいに、さが ばくはつする
ボタンを おして 三あしを 一つずつ あきらかに しましょう。

また とく → かいておく → ぐっと はやく。(ぶんかつ とうちは かさならず メモ ふようだった ことを かいしゅう)

前回の ぶんかつ とうちでは
わった かけらが かさならず
かいておく ものが ありませんでした。
そこが まさに わかれみちです。
かけらが かさなる とき、
つまり 同じ 小さな もんだいが
何ども また でてくる とき、
はじめて かいておく 一手が
すべてを 変えるのです。

一言でいうとさいきは よく 同じ 小さな もんだいを 何ども ときなおします。フィボナッチの 木を 見るだけでも fib(2)が あちこちに また でてきます。といた こたえを メモに かいて また つかえば、同じものを 二ど とく ことが ありません。これが メモか です。ぎゃくに、いちばん下の 小さな 値から 表を うめて 上へ いっても 同じ かんがえです。すると しすうてきに おそかったものが せんけいに、ぐっと はやく なります。ぶんかつ とうちは わった かけらが かさならないので かいておく ものが ありませんでしたが、かさなる ときは かいておく 一手が すべてを 変えます。
アルゴリズム
このページがお役に立ったなら支援する