I own an old edition of the classic Russell and Norvig (R&N) which I read 10 years ago and did not feel like going through the huge new 2009 edition to learn about current topics, so I went looking for something a bit more recent with a focus on knowledge representation, and came up with this book. I have to say unfortunately that while not a bad book, it does not cover much more than the old R&N (side note on this: R&N is very comprehensive and covers the full AI spectrum. This book seems biased toward one particular school of AI. This may or may not be bad for you: if you're not interested in the additional material in R&N, such as neural nets, you're possibly better off with this book. I doubt there are many of you in this case though) and tends to be less pedagogical. It is also more uneven regarding the depth at which topics are covered, with a fairly strong bias toward the topics where the authors appear to be active researcher. Such a bias would be ok for a more advanced textbook, but we're talking about a fairly introductory text here, and it feels a bit unbalanced. I cannot therefore recommend it highly, but I am not highly critical either, as I still managed to learn a couple of things. Below are detailed notes, which I hope might be of interest to outline the stronger points. As a side note, this is a very theoretical book, with no direct programming application or exercises. This did not bother may, but may not be clear from the other reviews.
The introduction sets the scene well and provides a useful conceptual background. How the following chapters are articulated against the principles discussed in the introduction is not always straightforwardly clear though. In that sense, the authors may fall a bit short of their overall goal.
The second chapter (the language of first order logic) is unlikely to be big news for anybody schooled in undergraduate mathematics, but I understand the material must be included for the sake of completeness and autonomy. The third chapter is entitled "expressing knowledge" and in my view does not really do justice to the topic, as demonstrated by the matter covered in the afterthought section "other sorts of facts": these "other facts" include statistical and probabilistic facts, default and prototypical facts, intentional facts (beliefs etc...). The book deals with some of these later to be fair.
At this point in the book, all that has been achieved is to show how one can use first order logic (FOL) to deal logically with some problems that a six years old can probably solve without the need for the framework. Chapter 4 shows that it is possible to teach FOL to a computer and to have him assess the truth of a statement formulated in FOL given a number of others FOL statements. The algorithm is not completely trivial but not overly complex either. Unfortunately, the time taken to deal with such tasks is potentially very large for problems not amazingly complex if one allows FOL statements of arbitrary structured. Chapter 5 is dedicated to the exploration of Horn clauses, which are basically a type of FOL statement for which algorithms are available that converge faster. This motivates the need to embed some hints on how to reason with a given problem within computer languages. Chapters 6 and 7 explore this respectively in the context of PROLOG and of the so-called "production rules systems". As one gets familiar with the above approaches, a number of limitations become clear and the subsequent chapters are about moving away somewhat from FOL. Chapter 8 introduces object oriented representation, using a formalism a bit on the heavy side for a concept that's actually fairly clear. Give or take a few examples, a reader of R&N is on familiar ground up to this point in the book. The next chapters, respectively on description logics and inheritance cover material that was less familiar to me and might be a reason to dig into this book. It shows a couple of neat ideas (taxonomies, inheritance networks) and how reasoning with such data structures can be difficult when one encounters contradictions. This motivates the need to clarify the concept of "default", which is done in chapter 11, another good chapter in my view. Chapter 12 includes an introduction to probabilities that probably ranks with chapter 2 as something most readers don't really need. It also covers fairly superficially bayesian networks, influence diagrams and the Dempster Shafer theory. In all honesty given the brisk pace at which this is all done, I don't think it's really possible to get much out of what's covered here.
The concepts in the next chapter (Explanation and Diagnostic) were newer to me. While not straigthforward to implement, it seems the core approach of the authors is here at an advantage over other more opaque techniques.
The next two chapters ("Actions" and "Planning") deal with topics that are closer to the preoccupation of standard AI. As they're both good topics to motivate the AI endeavour, introducing them earlier might have made more sense.
The last chapter is about "the tradeoff between expressiveness and tractability". The authors look back at the big picture that had been evoked during the introduction, but which had to some extent taken the back seat during most of the time. Fairly uncontroversially, they point out that being able to deal with very expressive languages is desirable, but typically fraught with tractability issues. One senses that the
PS: I bought the Kindle edition of the book, and as unfortunately too frequent, it suffers from some navigational issues: the table of content does not link correctly to the materials referenced (links are off by a few pages) and citations are not hyperlinked, which makes it less than user-friendly to determine what book or article stands behind the reference [137]. This is something the publishers really ought to sort out, as I cannot think of any good justification for such sloppiness.