*数値関数による長文圧縮 [#rddb2d60] フィールド全体を通して規則性に乏しく, どういう経路を選んでもかなりのバイト数を要する問題は, しばしば''長文''と呼ばれます. ~ 今回は, 数値関数の助けを借りて長文を攻略する手法を紹介しましょう. **基本的な考え方 [#ad322ddf] 不規則な長文であるほど, 多くの種類のパーツを作りたいわけですが, ~ それら全てについて, 良い圧縮率を誇る関数を考えるのは, 困難といえるでしょう. ~ 例えば1変数関数f(X)を用いて, f(---)の形で多くの種類のパーツを作る場合, ~ 当然その引数もたくさんの種類が必要になってくるはずで, ~ でも引数の部分が巨大になると良い圧縮率は得られません. そこで, 数値に注目します. 数値は, 1から255までの255種類ありながら, どれもが1Bとして扱われます. ~ したがって, 上手い数値関数f(T)を作ると, > 255種類のパーツが, 全て2バイトf(--)として記述できる! ことになります. **実装例 [#wd85c0bb]