書評:素数夜曲

素数夜曲: 女王陛下のLISP

素数夜曲: 女王陛下のLISP

これはこれは、またしてもとんでもない良書に出会ってしまったものだ。

(独学とは再帰なり)

から始まる本書は、前半の整数論の章と後半の Scheme の章、計およそ900ページから成る大作だ。

内容は、少し優秀な高校生なら読めるレベル。それでいて数学と Scheme の奥深さを申し分なく感じさせてくれるとてもジューシーな一冊。

整数論は約数の説明から始まり、フィボナッチ、フラクタルオイラー関数、ゼータ関数といかにも豊穣な味わいを彷彿とさせる世界へ誘われる。今挙げた単語は、単語の意味を理解するのはそう難しくない。フィボナッチ数列は小学生でも扱えるし、フラクタルオイラー関数は中学生でも理解できる。ゼータ関数も背景はともかくとして関数を理解するだけなら高校生に難なく出来る。

しかし、それでいて味わい深い。フェルマーの最終定理が人々を魅了し続けたように、単純で味わい深いものにはとてつもない魅力がある。ゼータ関数フェルマーの最終定理に負けず劣らずシンプルで、同じようにゼータ関数の持つ深淵の深さも負けず劣らず。ゼータ関数に関する予想、リーマン予想は数学上最も重要な未解決問題とされながらも、およそ150年解決には至っていない。


単純と奥深さの2つを併せ持つモノは人々の心を掴みやすいようだ。
そのような魅力を持つ究極のモノが、素数。


そう、素数。「1と自分以外で割り切れない数」という理によって構成されるこの数(列)は、本書の 900 ページはおろか全人類の叡智を凝縮しても未だ全貌は相見えない。だからこそ面白いのだ。

しかし整数論を読んだからと言って、自分で問題を解けるようになるほど上達するわけではない。与えられた知識をなんとか飲み込めても、そこから新たな知を生み出すのはそう簡単ではない。でも大丈夫、新たな知を生み出すための道具、Scheme の扱い方が付録として載っているからだ。付録といってもその量は前半の整数論の章を凌ぐ、およそ500ページ。本書は、整数論Scheme の異なる(しかしどちらも好奇心をくすぐる)二冊の合冊といって良い。

付録とバカにすることなかれ、冒頭は初心者に優しく四則演算や変数から始まるものの、あっという間にラムダ算法やチャーチ数に入り、ふと気づけばYコンビネータが普通に出てくる。この付録をこなせたならば立派な Schemer になれることは間違いない。


さて前半の整数論と後半の Scheme で、知識と道具の両者を手に入れた。どちらか片方だけでは使いドコロが難しい事もあるが、本書は 900 ページという厚手の本になるマイナスポイントを背負ってまで知識と道具の2つをセットで我々に提供してくれた。なんと親切なことか!この2つをセットで与えてくれたことにより、素数という底の見えない深淵の深さを知り、深淵に降りるための道具を手に入れた。そして何より好奇心が刺激されるという付加価値までついて。


プログラマなら、いや少なくとも理系であるならば、新しい知識を得たり解けそうで解けない問題にぶつかった時は知的興奮を得るはずだ。
本書はそのような知的興奮の扉を開ける最良の一冊。