Principles of Artificial Intelligence
Previous treatments of Artificial Intelligence (AI) divide the subject into its major areas of application, namely, natural language processing, automatic programming, robotics, machine vision, automatic theorem proving, intelligent data retrieval systems, etc. The major difficulty with this approach is that these application areas are now so extensive, that each could, at best, be only superficially treated in a book of this length. Instead, I have attempted here to describe fundamental AI ideas that underlie many of these applications. My organization of these ideas is not, then, based on the subject matter of their application, but is, instead, based on general computational concepts involving the kinds of data structures used, the types of operations performed on these data struc tures, and the properties of con'trol strategies used by AI systems. I stress, in particular, the important roles played in AI by generalized production systems and the predicate calculus. The notes on which the book is based evolved in courses and seminars at Stanford University and at the University of Massachusetts at Amherst. Although certain topics treated in my previous book, Problem solving Methods in Artificial Intelligence, are covered here as well, this book contains many additional topics such as rule-based systems, robot problem-solving systems, and structured-object representations.