局所的関係と再帰

プログラミング言語 Lisp - 入門からマルチメディアまで」に、再帰についてとても良い表現があった。

例はフィボナッチ数列フィボナッチ数列の一般項、
(「数学ガール」でいうところの、「閉じた式」)には、フィボナッチ数列のすべての情報が含まれている。
逆に、一般項を知るためには、フィボナッチ数列全体を知っていなければならない。
(ミルカさんと「僕」が母関数というテクニックで捕まえたあれだ。)
局所的関係をもとにした再帰的な定義は簡単だ(逆に全体的な数列の動きは分かりにくいが)。

プログラミング言語 Lisp 入門からマルチメディアまで、p. 131
あらゆる局面に適用できる局所的関係を発見することが、再帰的関数定義を行う重要な出発点である。
再帰的定義の基本は、根気強く扱いやすい規模の小さい例から局所的関係を類推することである。
つまり、トップダウン的な理詰めによる思考ではなく、経験から帰納的に局所的関係を抽出することが
再帰的定義の成功する秘訣である。

数学的なセンスがいるのかもしれないが、意識的に局所的関係を見つけ出す、ことが大事だ。