A comprehensive introduction to the problems of artificial intelligence and techniques for attacking them. Topics include problem representation, problem-solving methods, search, pattern recognition, natural language processing, learning, expert systems, and AI programming languages and techniques. Covers both theoretical methods and practical implementations.