Building problem solvers
This book is designed to teach the reader how to design and build computer problem solvers. It assumes some familiarity with basic AI ideas and a thorough knowledge of Common Lisp. It focuses on techniques for buillding reasoning systems, instead of attempting to cover every variety of AI program. The authors tie the principles of problem-solving techniques to practice and discuss the engineering issues required to scale up simple programs into extremely strong AI systems. The text includes exercises ranging from simple problems to open research questions. Primarily for advanced AI classes or AI programming classes, it combines science and engineering, theory and craft to describe the construction of AI reasoning systems and includes code illustrating the ideas.
Forbus, Kenneth D.; de Kleer, Johan . Building problem solvers. Cambridge, MA: MIT Press; 1993.