- 900 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 01:44:44 ]
- まーがんがれ。言語仕様はずいぶんかわってるので,アルゴリズムに集中して
勉強したほうがいいね。まぁ,おれはその本読んだ事ないのでアレだけど,お勧めは - C をある程度知っているなら ANSI Common Lisp あたりを読んでみる - 難しいと感じたなら,古い本だけど培風館の Lisp (1) (2) に挑戦 こっちは学生に訳させたのか日本語が破綻しているが,内容的には 入門から簡単な Garbage Collection の仕組みまでと充実してる. - 英語が苦にならないなら Practical Common Lisp とか Norvig の PAIP,OnLisp とか アカデミックな風味が好きなら Programming Scheme, HTDP, SICP にも挑戦してもいい 自然言語ネタならPAIP にもちょっとあるよ.PAIP の一番最初の例はルールベー スのランダム文章作成だよん. (defparameter *simple-grammar* '((sentence -> (noun-phrase verb-phrase)) (noun-phrase -> (Article Noun)) (verb-phrase -> (Verb noun-phrase)) (Article -> the a) (Noun -> man ball woman table) (Verb -> hit took saw liked))) (defvar *grammar* *simple-grammar*) (defun rule-lhs (rule) (first rule)) (defun rule-rhs (rule) (rest (rest rule))) (defun rewrites (category) (rule-rhs (assoc category *grammar*))) (defun generate (phrase) (cond ((listp phrase) (mappend #'generate phrase)) ((rewrites phrase) (generate (random-elt (rewrites phrase)))) (t (list phrase))))
|

|