The standard AI text is Artificial Intelligence: A Modern Approach by Russell and Norvig, but I'd like to argue that Elaine Rich's AI book is better i...moreThe standard AI text is Artificial Intelligence: A Modern Approach by Russell and Norvig, but I'd like to argue that Elaine Rich's AI book is better in many ways.
First, it is shorter, and it covers less. While that makes it less suitable as a desk reference than the Russell/Norvig book, it makes it perhaps better as an introductory text, as it's a bit more focused, more content to cover "core" AI rather than comprehensively cover every aspect of the field like Russell/Norvig.
Second, and this may run counter to what a lot of people may say, but frankly the Rich book is simply more readable. She's a better writer overall, and lays out the material in a way that I think is more instructive and more informative. I think that, as an introductory text, this book works much better than Russell/Norvig. Despite Russell/Norvig devoting more overall text to explaining any given topic, I think Rich's coverage of the same material tends to be clearer.
There's no denying that nothing is going to knock Russell/Norvig from it's throne any time soon, but I have to suggest for any professor teaching an introductory AI class to at least consider Rich's book, which as a student I found helped me with the material much more than A Modern Approach.
I've seen a lot of complaints about this book being overly formal, grounded in theoretical material too much. As a theory-focused student, I actually liked that, and I think a lot of the complaints are from students who just wanted to build Quake bots or something. Besides, Russell/Norvig is just as formal, if not more so.
Elaine Rich's Automata, Computability, and Complexity book is, to me, the CLRS of automata theory. CLRS never goes terribly deep into it's algorithms,...moreElaine Rich's Automata, Computability, and Complexity book is, to me, the CLRS of automata theory. CLRS never goes terribly deep into it's algorithms, but it provides an extremely wide breadth of material backed by solid explanations and clear prose.
While the Sipser book probably remains my favorite book on Theory and Automata, Rich's book definitely covers more, and definitely covers it at a slower pace, making sure not to lose students. Sipser's book is excellent as long as you can follow along, but if something comes along that doesn't make sense to you, the book offers you no assistance. Rich, on the other hand, takes more time to explain things to make sure they are clear. As a result of this slower pace and wider variety of material, Rich's book is certainly larger and more intimidating.
I think Rich's book makes for a better desk reference than a tutorial (like CLRS), though I have to note that Rich's writing style is excellent and clear, so it doesn't make for a poor tutorial text at all. Rich covers lots of complexity-related topics that Sipser barely mentions as well, so this book makes a great reference for basic complexity theory.
One complaint is that it, like Sipser and most other Theory and Automata books, introduces FSM and PDA before Turing machines. I acknowledge that this is more or less the standard order for academica, but I strongly feel that introducing TMs and computability/noncomputability first helps frame an understanding of regular languages and context-free languages that makes them more approachable and interesting. I can't really fault this book for doing what everyone else does, but I felt I had to mention it.
All in all, this is an excellent, expertly-written desk reference for Automata/Theory, and I highly recommend it to anyone interested in CS theory.(less)