This unique book is a broad, clear presentation of artificial intelligence (AI) problem-solving techniques. It selects the most important among the well-defined algorithms and procedures in the field, explains them in plain language, and, where appropriate, provides ALGOL-like descriptions of them. Every technique is implemented in Prolog, a language that is quickly learned and allows for easy experimentation in a learning environment. The book includes complete source listings, and the software is available online. This book is ideal for hands-on courses in AI programming. It is also a useful primary or supplementary text in general introductory AI courses and a complete sourcebook for the practitioner.