Combines the theoretical foundations of intelligent problem-solving with he data structures and algorithms needed for its implementation. The book presents logic, rule, object and agent-based architectures, along with example programs written in LISP and PROLOG. The practical applications of AI have been kept within the context of its broader goal, understanding the patterns of intelligence as it operates in this world of uncertainty, complexity and change.