|
|||||||||||||||||||||||||||||||||||
|
9 Reviews
|
Average Customer Review
Share your thoughts with other customers
Create your own review
|
|
Most Helpful First | Newest First
|
|
43 of 44 people found the following review helpful:
5.0 out of 5 stars
An Excellent Reference on WHY to write good Lisp,
By
This review is from: Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp (Paperback)
This book is equally excellent regardless of whether you wish to regard it as: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].
33 of 33 people found the following review helpful:
5.0 out of 5 stars
Excellent study of both AI and Common Lisp,
By A Customer
This review is from: Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp (Paperback)
I have no background in computer science or AI, but found myself needing to use Lisp for various creative and artistic purposes. I've spent a lot of money on books relating to Common Lisp, but I wish I had just gotten this one and Touretzky's "Gentle Introduction to Symbolic Computation." The particular strengths of this book are its detailed discussion of advanced topics, especially optimization, and the practical overview of current and historical AI topics through programming examples. Very clearly written.
57 of 61 people found the following review helpful:
5.0 out of 5 stars
Norvig's Corollary to Greenspun's Tenth Law of Programming,
By
This review is from: Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp (Paperback)
This book has been called "The best book on programming ever written". I'd have to agree--it is certainly the best that I've ever read.
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. But it is quite remarkable the degree to which, once having absorbed Prolog, Norvig uses Prolog as the basis for further development, rather than Lisp. Is this a book about Prolog then? Again, no. What is the take-away message? It is this: as our world becomes more and more complex, and as the problems which programmers are facing become more and more complex, we have to program at a higher and higher level. Norvig does not stop at just embedding Prolog in Lisp. He also shows us how to embed scheme as well. Excellent discussion on the mysterious call/cc function and on continuations. In a capsule review, it is impossible to really give an overview of a 1,000 page book like this one. But the scope and heft of the volume really needs to be commented on: the programs presented in this book are like basis vectors, the totality of which nearly span the space of programming itself. In no way should this be considered "just an AI book" or "just a LISP book". This book transcends language, time, and subject matter. It is a programmer's book for the ages.
15 of 15 people found the following review helpful:
5.0 out of 5 stars
The best treatment of classical AI techniques available,
By terry.west@cybersafe.com (Issaquah, Washington) - See all my reviews
This review is from: Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp (Paperback)
This is an extremely advanced book on AI techniques. The examples are the best that I have seen in thirty years of Lisp involvment. The author treats many of the classical AI programs and implements them with Common Lisp. Sophisticated search strategies are discussed with example code being given for all of them. A very strong chapter on program optimization is included, a subject often omitted by Lisp writers. Included is complete code for Eliza as well as a treatment of EMYCIN. The author also treats the implementation of embedded languages and gives PROLOG and SCHEME as examples. The book is addressed to production level programmers. This book is definately not for beginners in the Lisp language.
11 of 11 people found the following review helpful:
5.0 out of 5 stars
One of the Best,
By
This review is from: Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp (Paperback)
"Paradigms of Artificial Intelligence Programming" is one of the best books of computer science that I have ever read. I put it up there in the pantheon with "Structure and Interpretation of Computer Programs". I have found more useful and mind expanding material in these case studies than I have in many other books on computer science. I highly recommend this book to anyone, even if they have never used Lisp.
13 of 16 people found the following review helpful:
5.0 out of 5 stars
My bible,
By A Customer
This review is from: Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp (Paperback)
I borrowed this one from a friend, and I am hesitant to return it. The sections on optimization have been reread often. I would not say the book is advanced. A college degree and one semester of LISP instruction, (and maybe access to an "old timer") should be sufficient if you patiently work your way through. The latter chapters are relatively independent of each other, so don't worry if a section seems too hard. The chapter on GPS is of historical interest, but so obviously dated that I did not work any of the examples in this chapter - but that's the strength of the book - different people will find different chapters interesting.
4 of 4 people found the following review helpful:
5.0 out of 5 stars
Amazing book about designing programs,
By Eli Bendersky (Israel) - See all my reviews
This review is from: Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp (Paperback)
Don't let the title of the book fool you: Yes, it presents all its code in Common Lisp and yes, the domain it discusses mostly is Artificial Intelligence, but PAIP (as it's affectionately called by fans) is a book about the general process of designing programs and implementing them. It's just a by-product that along the way you will learn Common Lisp (which is a very interesting language) and will get familiar with some very interesting problems in the fields of AI, code optimization, search, compilation and OOP/
Peter Norvig is a masterful programmer and writer. His code is excellently thought-out and designed, and shines with originality and clarity at every snippet you read. Every chapter has interesting insights and great code in it. Reading through this book from cover to cover is a behemoth task, but even starting small is great. Norvig even includes several exercises *with solutions* for each chapter, which really helps understanding the material. In short, PAIP is one of the best books about programming and computer science I have ever read. It is highly recommended.
2 of 3 people found the following review helpful:
3.0 out of 5 stars
A mediocre AI / LISP book with very well-written examples,
By Aditya (Chicago, IL) - See all my reviews
Amazon Verified Purchase(What's this?)
This review is from: Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp (Paperback)
First, the good: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.
22 of 37 people found the following review helpful:
4.0 out of 5 stars
Not advanced, but good and vast,
This review is from: Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp (Paperback)
The strength of this book is its combination of breadth and completeness: there is working code (well beyond the toy stage) of a large number of different AI systems that cover a large subset of what is commonly considered AI.The programming itself is rather basic, and very straightforward. In many places an advanced programmer would have avoided a global variable, unified code through the use of higher-order functions, had functions communicate through a shared local environment, created a lazy list, you name it. The author avoids most of these more advanced approaches in order to present the ideas behind the approaches without being sidetracked into programming technique issues, and that is the correct choice for this book. Even as it is, there is already the duplicity of teaching Common Lisp and teaching AI programming. That being said, the code in general is not bad at all, even though I wouldn't want my students to learn CL programming from it. The author has simply bent down to the level of, a good C programmer, and worked from there. His main intention being to teach AI programming approaches, he has spent much less time to raise the programming level of his audience. Knowing the author's level of Lisp programming, I can't wait to see a book by his hand on how to use abstraction as an organising principle in programming. |
|
Most Helpful First | Newest First
|
|
Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp by Peter Norvig (Paperback - October 15, 1991)
$102.00 $76.78
In Stock | ||