30 of 30 people found the following review helpful:
5.0 out of 5 stars
This book is an Eye-Opener!, November 24, 2004
This review is from: Knowledge Representation and Reasoning (The Morgan Kaufmann Series in Artificial Intelligence) (Hardcover)
I love this book- It is a comprehensive introduction into knowledge representation, with enough detail to create your own knowledge representation programs.
Are you a programmer who wonders what it really means when an object *IS* another object, in the form of inheritance found in object-oriented systems? Ever confused by the nuances of multiple inheritance? Ever wonder what XML or OOP or Relational Databases have to do with each other? Ever wonder if all those A.I. programmers in the 70s actually created anything useful? Ever wonder how type systems work? Ever wonder how to store complicated and vague data into a database?
This book doesn't really have answers to these questions (nobody really does, in my opinion) but learning the information in this book is the first step you'll want to take to get closer to some answers...
It basically covers 3 main topics: FOL (traditional logic like you probably learned in college) Frames (sort of the grandaddy of OOP) and Description Logics (a really powerful synthesis of object-thinking with strict logical fundamentals)
This book has a bit of hairy mathematical notation in it, so if your not comfortable talking about things like "an object x that is an element in the domain" some of the chapters will require a bit of effort on your part. The authors are careful, however, to follow every difficult mathematical analysis with some concrete examples that ease the learning process- I often wish examples were more frequent in other theoretical tombs like this. Any computer programmer can process this text with a bit of moderate effort.
I couldn't imagine being a professional programmer and not knowing the information in this book now that I have read it. Although the topics in this book are somewhat obscure today, I think they will receive far greater appreciation in the future- especially among medical software developers. Here's your chance to be ahead of the curve in the field of knowledge representation!
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
24 of 24 people found the following review helpful:
5.0 out of 5 stars
Don't have to be a math buff to understand, June 23, 2005
This review is from: Knowledge Representation and Reasoning (The Morgan Kaufmann Series in Artificial Intelligence) (Hardcover)
I came across this book looking for a text that would explain the context of First Order Logic, why it is used for so many knowledge representation problems, how it is used to solve them, and its limitations. I must say that this is far and away the best book I've found to answer these questions. If you search around a little at the competition, you will find much of the text quickly turning to mathematical proofs and deductions in their explanations. While this is of course necessary and helpful, it doesn't (for me) really give an idea of how and why these methods are used practically. You can tell that these authors spent some time on ensuring consistency and fluency of the writing, which I find so very helpful.
I'm trying to think of something bad to say about it: I wish it were longer! If you read the preface you will see the authors call it an introduction, which is definitely true. Maybe they will team up again for a more in-depth text on some aspect of this subject.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
11 of 11 people found the following review helpful:
3.0 out of 5 stars
Ok, but not enlightening, January 2, 2010
This review is from: Knowledge Representation and Reasoning (The Morgan Kaufmann Series in Artificial Intelligence) (Hardcover)
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.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No