2008年11月9日日曜日

Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp を覗いてみることにする

少々考えて、ついにPAIPを覗いてみることにした。PAIPはCL「勉強」のひとつの目標としていたので、感慨深い。

PAIPについて少し書いてみる。著者はPeter Norvig。現在はGoogleの技術をひっぱる一人だ。もともとAI方面であり、その著書のひとつがPAIPである。現在はPythonistaであるという。Rubyならわかるが、Pythonへ、というのがどういう考えなのかは私は理解できていない。PAIPはCLと古典的AIについて書かれた本というのが世の中の位置付けだが、特にそのCLの書きぶりがキレイでありCLをやらない人でも読んで得るもの多し、と言われている。

CLの書きぶりについては、キレイという評価とともに、筋が良いというか基本に忠実という評判だ。なので、職人的というか先進的というかなんというかのプログラミングスキルではないらしい。なので、上級者向け、というものではなく、本来敷居は低い本らしい。

敷居を高く感じさせるのは、CLのイントロは付いているけど、それは本格的には別のところでやっといてね、ということだろう。導入部に推奨書籍がいくつか挙げられている。なので、CLの基礎はまあ身についていることを前提としているということ。で、CLの基礎を身につけるって、すっごく簡単というほど簡単ではないということじゃないか。

後は、題材がAIプログラミングなので、そもそも扱っている問題がいろいろ考えさせる部分が多いということもあるかと思う。

PAIPを読み込めば、CL入門者からCL初級者に格上げしてもいいように思う。さらにその上で、Norvigのもうひとつの著書であるAIMAを読み込めばCL中級者と言えるのではないか。(AIMAはCLソースが公開されている)

私自身としては計算理論というか計算機科学の訓練がまだ弱いので(シプサも中断中)、時期尚早かもしれない。

しかし、ここで一度背伸びして、当面の目標の高さを確かめてみてもいいかな、と考えた。学習プロセスには、深く掘ってみるタイミングと、幅広く視野を広げて鳥瞰するというタイミングがあるように思う。それがいい形でスパイラルしていくのが効果があると思える。今は視野を広げるタイミングという判断だ。

というわけで、PAIPを覗いてみる。いつまでにどうこうという目標は立てない。なんだかよくわからなくなって、読んでいる意味がなくなったらいつでも撤退しようと思う。

0 件のコメント: