ちいさく しまう ぎじゅつ、あっしゅく
ながい にもつを かばんに いれるとき、おなじ ふくを くるくる まいて ちいさくして いれたこと ありますね。すてた ものは ひとつも ないのに ばしょは すくなくて すむ。データも おなじことが できます。おなじ じょうほうを そのままに、しまう ばしょだけ へらすのが あっしゅくです。
くりかえしを へらす
まえに じょうほうが 0 と 1、ビットで
ばしょを とると みました。
ばしょを すくなく とって しまえるなら
おなじ じょうほうを より ちいさく おけますね。
いちばん やさしい うでは くりかえし へらしです。
おなじ もじが れつで つづくとき
それを ひとつずつ ぜんぶ かかず
なにが なんかい くりかえすかだけ かきます。
AAAA は A が よんかい、こんなふうに。
くりかえしの もじの かたまりを おしてみて。れつで かかれた ものが なにが なんかいかに へって、ながさが みじかく なります。
ながい かたまりが みじかく へりましたね。
すてた もじは ひとつも ない。
なにが なんかいかを かいただけです。
だから また ひろげれば もとどおり。
くりかえしが おおいほど もっと へります。
でも おなじ もじが れつでなく
おなじ かけらが あちこちに ちらばっていたら
それは どう へらせるでしょう?
パターンを みじかく
ちらばった くりかえしも へらせます。
よく でてくる ながい かけらを みつけて
そこに みじかい コードを ひとつ きめて あげます。
すると ながい かけらが でるたびに
その みじかい コードに かえて かきます。
コードが なにを いみするかは
かたほうに ひょうで かいて おけば いい。
よく でてくる ものほど ききめが おおきい。
たくさん かえるほど たくさん へるからです。
よく でてくる かけらを おして みじかい コードを わりあててみて。その かけらが コードに かわり ぜんたいの ながさが へります。
ながい かけらが みじかい コードに かわって
ぜんたいが めに みえて へりましたね。
くりかえしを へらすのも、みじかい コードを あたえるのも
けっきょく おなじ きもちです。
おなじ じょうほうを より すくない ばしょに しまうこと。
でも こうして へらした あとで
あとから もとの ないようが ひつような はず。
また ひろげると ほんとうに そのまま もどるでしょうか?
もどせば げんぽんの まま
あっしゅくの いちばん たよれる やくそくです。
ちいさく へらしてから また ひろげると
もじ ひとつ まちがえず げんぽんが もどります。
すてた ものが ないから とうぜんですね。
A よんかいは また AAAA に なり
みじかい コードは また ながい かけらに なる。
こうして ひとつも うしなわない あっしゅくを
むそんしつと いいます。
ぶんしょうや プログラムのように ひともじも
まちがえては いけない ものに ぴったりです。
あっしゅくした ものを おして ひろげてみて。へらした ものが もとの もじに もどり、げんぽんと おなじか ならべて たしかめます。
ひろげた ものと げんぽんが ぴったり あいましたね。
ちいさく しまっても うしなった ものが ない。
だから あんしんして あっしゅくして おき
ひつようなとき そのまま よみがえらせられます。
なら いつも できるだけ つよく
あっしゅくすれば いいのでしょうか?
じつは そこに まちかえる ものが ひとつ あります。
なにと なにを まちかえるのか みてみましょうか?
もっと ちいさく vs じかん
あっしゅくには つよさを えらべます。
そっと あっしゅくすると はやいが ちいさくならず
つよく あっしゅくすると もっと ちいさくなるが
あっしゅくと かいとうに じかんが もっと かかる。
くりかえしと パターンを ていねいに さがすほど
ちいさくなるが その ぶん てまが かかるからです。
だから せいかいは ばあいごとに ちがう。
ばしょが おしければ つよく、
はやさが いるなら そっと えらべば いい。
あっしゅくの つよさを えらんで おしてみて。つよくするほど おおきさは ちいさくなるが じかんは ながくなる まちかえが みえます。
おおきさと じかんが たがいに ひっぱるのが みえましたね。
りょうほうは もてません。
もっと ちいさく しまうほど もっと まち
はやく おわらせるほど ちいさくならない。
だから あっしゅくは えらんで つかう どうぐです。
ながく ほかんするなら つよく、
よく あけて みるなら そっと。
さあ ぜんたいを いちど まとめましょう。
まとめて みましょう
ひとことに まとめると こうです。
あっしゅくは おなじ じょうほうを より ちいさく しまう。
くりかえしは なにが なんかいかに へらし
よく でてくる かけらには みじかい コードを あたえる。
もどせば げんぽんの ままで うしなう ものが ない。
つよく あっしゅくすると もっと ちいさいが
じかんが もっと かかるので ばあいで えらぶ。
ちいさく しまいつつ もどせば そのまま、
それが あっしゅくです。
かなめを じゅんに おして ふりかえって。(くりかえし へらし -> よく でる かけらに みじかい コード -> もどせば げんぽんの まま -> もっと ちいさく vs じかんの まちかえ)
これで おなじ じょうほうを より ちいさく しまう
うでを てに いれました。
くりかえしを へらし みじかい コードを あたえるだけで
ばしょを かしこく せつやくできます。
しかも もどせば げんぽんの ままなので
あんしんして ちいさく しまって おけます。
データを ちいさく、でも まるごと あつかう
この かんかくが つぎの はなしに つながります。
いっしょに つづけて みていきましょう。