Bill Clementson's Blog

Bits and pieces (mostly Lisp-related) that I collect from the ether.

May 2004
Sun Mon Tue Wed Thu Fri Sat
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Apr  Jun

PAIP

Tuesday, May 18, 2004

PAIPpad Peter Norvig's book Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp (usually shortened to just "PAIP") has got to be one of the best programming books (in any programming language) ever. It's well written, the code is interesting to read and learn from and he covers a range of AI and non-AI programming topics in it. He starts off the book with a general introduction to Lisp, followed by implementations of a number of classic early AI programs (GPS, ELIZA, STUDENT, a cut-down MACSYMA). He then gets into Tools & Techniques, covering memoization, compilers, coding efficiency, logic programming & Prolog, OO & CLOS, and Knowledge Representation/Reasoning. The book then moves into some advanced AI areas (symbolic math, expert systems, constraint-based programming, games, natural language processing). Finally, in the last section of the book, Norvig implements a Scheme interpreter and compiler in CL and covers a number of other areas of CL not covered previously.

Although this book's title might make you think it's only relevant if you're interested in Artificial Intelligence, it doesn't really matter whether you're interested in AI or not, this book is just a fantastic resource for learning how to program in CL. In fact, Peter acknowledges this dual focus when he identifies 4 separate paths through the book, depending on your interests:
  • Introductory AI course
  • Advanced AI course
  • Advanced Programming languages course
  • Professional Lisp programmer
The soruce code for the book is available on his site. If you get through PAIP and are interested in going further with AI, Peter Norvig has an advanced AI book as well: "Artificial Intelligence: A Modern Approach".

emacs Copyright © 2004 by Bill Clementson