so, I have been teaching myself lisp, and discovering
aspects of computer sciences that for some reasons I
had completely missed before (have been dwelling into
low level system stuff for too long); I'd like to keep
exploring and add things to my reading list (not necessarily
specific to Lisp, but with the idea of expanding my horizons
towards AI);
I heard good things about Peter Norvig's books, but I was
wondering which one I should pick up first (these books aren't
cheap, and also seem to require a significant investment
in time and effort, hence my question); should I start
with 'Artificial Intelligence: A Modern Approach" or
"Paradigms of Artificial Intelligence Programming: Case
Studies in Common Lisp"? I was leaning for the latter
(because of its CL based approach, it is often mentioned
in this newsgroup and it looked a bit more 'hands on' than
the former (superficial opinion based on browsing the
readers' reviews on Amazon);
thanks,
--Sylvain
Sylvain wrote:
> so, I have been teaching myself lisp, and discovering
> aspects of computer sciences that for some reasons I
> had completely missed before (have been dwelling into
> low level system stuff for too long); I'd like to keep
> exploring and add things to my reading list (not necessarily
> specific to Lisp, but with the idea of expanding my horizons
> towards AI);
>
> I heard good things about Peter Norvig's books, but I was
> wondering which one I should pick up first (these books aren't
> cheap, and also seem to require a significant investment
> in time and effort, hence my question); should I start
> with 'Artificial Intelligence: A Modern Approach" or
> "Paradigms of Artificial Intelligence Programming: Case
> Studies in Common Lisp"? I was leaning for the latter
> (because of its CL based approach, it is often mentioned
> in this newsgroup and it looked a bit more 'hands on' than
> the former (superficial opinion based on browsing the
> readers' reviews on Amazon);
>
> thanks,
>
> --Sylvain
From Norvig's web page, http://www.norvig.com/Lisp-retro.html, at the
bottom, one can probably conclude that AIMA is better if you want to
learn about AI (and I recommend it very much), and that PAIP is better
if you want to learn how to program in Lisp, or see how classic AI
programs can be implemented. The authors of AIMA, that is Norvig and
Russell have source code available in Lisp, as well as other languages.
It isn't a programming text, it is an AI textbook. PAIP is a
programming text, and a damn good one.
So if you care about learning about AI in general, get AIMA. If you
care about seeing a good lisp programmer's workflow applied to AI
problems, get PAIP.
If you just want something that you'll enjoy reading and learn something
from, get PAIP. I enjoyed reading it very much, whereas with AIMA I had
to struggle to push myself to read some chapters. It is a textbook,
afterall.
Andy
I own both books, and I can say I enjoyed AIAMA a little more that PAIP
mainly because I was looking for a more general approach to AI
(algorithms, background info). I bought PAIP because that book shows
you how to get started coding that kind of stuff in CL. BTW, it also
has an excellent section on speeding up the performace of your code,
and a decent macros section as well. AIAMA is harder to read, but I
found that it is much more worth it if you want to learn about AI.
Philip Haddad
http://www.norvig.com/Lisp-retro.html
>where Cast is the real type of x. This would only work with classes that observe
> the UnaryFunction interface (which comes from JGL and is not built-in to Java).
> Python, as of version 2.1, supports first-class functions almost as well as Lisp:
> you would write lambda x: f(g(x)). The only drawback is that closed-over
> variables are read-only.
interesting claim norvig makes here. that the ONLY drawback of
python's anonymous
functions are thay they treat enclosed variables as read-only ... when
i was trying
to use python the most annoying feature of anon-functions was that they
did
not allow any control structures, no ifs, no looping etc.. you can
basically only use them in place
of very simple expressions.
From: Marcin 'Qrczak' Kowalczyk
Subject: Re: newbie: which Norvig's book to read first?
Date:
Message-ID: <87zmmvs6xb.fsf@qrnik.zagroda>
"Jimka" <·····@rdrop.com> writes:
>> Python, as of version 2.1, supports first-class functions almost as
^^^^^^^^^^^^^^^^^^^^^
>> well as Lisp: you would write lambda x: f(g(x)). The only drawback
>> is that closed-over variables are read-only.
> when i was trying to use python the most annoying feature of
> anon-functions was that they did not allow any control structures,
> no ifs, no looping etc..
You confused local functions with anonymous functions. Named functions
in Python are equally first-class and do allow control structures.
--
__("< Marcin Kowalczyk
\__/ ······@knm.org.pl
^^ http://qrnik.knm.org.pl/~qrczak/