Focusing on fundamental scientific and engineering issues, this book communicates the principles of building and using knowledge systems from the conceptual standpoint as well as the practical. Previous treatments of knowledge systems have focused on applications within a particular field, or on symbol-level representations, such as the use of frame and rule representations. Introduction to Knowledge Systems presents fundamentals of symbol-level representations including representations for time, space, uncertainty, and vagueness. It also compares the knowledge-level organizations for three common knowledge-intensive tasks: classification, configuration, and diagnosis. The art of building knowledge systems incorporates computer science theory, programming practice, and psychology. The scope of this book is appropriately broad, ranging from the design of hierarchical search algorithms to techniques for acquiring the task-specific knowledge needed for successful applications. Each chapter proceeds from concepts to applications, and closes with a brief tour of current research topics and open issues. Readers will come away with a solid foundation that will enable them to create real-world knowledge systems using whatever tools and programming languages are most current and appropriate.