Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your email address or mobile phone number.
Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Frequently Bought Together
Customers Who Bought This Item Also Bought
More About the Author
Top Customer Reviews
William Zinsser said, "The essence of writing is rewriting" and the same can be said for writing computer programs. Norvig's book presents this process--how the limitations of a program are overcome by revision and rewriting. What sets Norvig apart as a writer is that, amazingly enough, he can write about debugging (the most dreaded part of computer programming) and make it a fascinating read!
Lisp has been getting a higher profile lately because of essayists like Paul Graham and Philip Greenspun; in particular, Greenspun's Tenth Rule of Programming which states: "Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp." So, should this book be read as an exhortation to return to Lisp as the preferred programming language?
Paradoxically, I think not. One third of the way through the book, Norvig shows us how to implement Prolog in Lisp. From then on out, most of the AI techniques he presents either directly use Prolog instead of Lisp (such as his excellent discussion of natural language processing using Prolog) or use Prolog as a base to build on (such as his discussions on knowledge representation).
From this we can abstract what I'd like to call Norvig's Corollary to Greenspun's Tenth Law of Programming: "Any sufficiently complicated LISP program is going to contain a slow implementation of half of Prolog". I'm leaving out the "ad hoc", "bug-ridden" part of Greenspuns's law, because Norvig's programs are neither.Read more ›
a) A historical study of Artificial Intelligence, with USABLE examples of code, or
b) A book presenting techniques for programming in Common Lisp.
As a reference about Common Lisp, it is certainly lacking, but this is no great problem when both the Common Lisp HyperSpec and Steele's book are readily available in electronic form. It provides something more important: SIGNIFICANT examples, and significant discussions on WHY you would use various Lisp idioms, and, fairly often, discussions on HOW pieces of Common Lisp are likely to be implemented. Its discussion of an implementation of the LOOP macro, for instance, provides a very different point of view than the "references" to LOOP. (Contrast too with Graham's books, which largely deprecate the use of LOOP.)
From an AI perspective, it is also very good, providing WORKING SAMPLES for a whole lot of the historically significant AI problems, including Search, PLANNER, symbolic computation, and the likes.
It would be interesting to see parallel works from the following sorts of perspectives:
- The same sorts of AI problems solved using functional languages (e.g. - ML, Haskell), to allow contrasting the use of those more modern languages. Being more "purely functional" has merits; such languages commonly lack macros, which is something of a disadvantage.
- The use of CL to grapple with some other sorts of applications, notably random access to data [e.g. - databases] and rendition of output in HTML/SGML/XML [e.g. - web server].
This book is a great read, both the code and non-code sections. Peter Norvig is clearly passionate about AI, and it comes through in his examples. His writing is clear and fun to read. His code examples are fantastic. When he begins a chapter by describing a problem, you think "wow, that's going to take ages to get through." Then you flip the page, and he's got all the code down on the next page. It's a real joy to see clear, concise, well-written code like this. This is probably what musicians feel when they listen to a Beethoven sonata.
The bad: the examples are historical (read: dated), and they don't teach you a whole lot about either AI or Lisp. If you know depth first search and regular expressions, you can breeze through the first 250 pages of this book: it won't show you anything besides some very well-written code (which, let me emphasize again, is really great to read). Unless you are using Lisp as your programming language (I'm using Haskell), section 3 (optimizing your Lisp code + Logic programming) will be hit and miss too.
So, to sum up:
If you want to learn Lisp, Norvig recommends Paul Graham's book.
If you want to learn AI, Norvig has written AI: A Modern Approach.
I spent five bucks on a used copy of this book, and felt like I got my money's worth. I would definitely not spend $80+ on it.
Most Recent Customer Reviews
Great book, bad Kindle version.
I'm an undergrad. I bought this to learn Lisp, and it's absolutely blown my mind with how good it is. Read more
The best Lisp book for experienced programmers. He shows how to develop medium sized Lisp systems. I don't know of any books that show
large Lisp systems. Read more
Peter Norvig is very knowledgeable and a great author. Highly recommended if you're interested in AI. The chapter on optimization is extremely valuable.Published 12 months ago by Timothy J. Stewart
The book is excellent. It provides a great source of information to learn Common Lisp and programming techniques. Read morePublished 15 months ago by Alexandre Rademaker
If you are programming in Common Lisp, Lisp dialects or doing research on AI, this is the very book you need. Read morePublished on September 12, 2013 by WisdomFusion
In my opinion, this book is essential reading for anyone who seriously sets out to learn about artificial intelligence, and as far as I can see, it is also prime reference material... Read morePublished on September 8, 2013 by Amazon Customer
As for AI part I must say that even though this book is somewhat old, its still very good for people new to the world of AI (such as myself). Read morePublished on January 28, 2013 by Victor Lemeshev
This is a excellent book for both the history of AI and a lot of program written very well in Common Lisp. Peter Norvig is actually
very enthusastic about AI and programming. Read more
This is a must have book for all LISP programmers, very concise and the exercises are a good pratice. Read morePublished on September 6, 2012 by Lucas