This second edition contains revised chapters taking into account recent research advances. More advanced exercises have been included, and "Part II The Prolog Language" has been modified to be compatible with the new Prolog standard. This is a graduate level text that can be used for self-study.
Addressed to readers at different levels of programming expertise, The Practice of Prolog offers a departure from current books that focus on small programming examples requiring additional instruction in order to extend them to full programming projects. It shows how to design and organize moderate to large Prolog programs, providing a collection of eight programming projects, each with a particular application, and illustrating how a Prolog program was written to solve the application. These range from a simple learning program to designing a database for molecular biology to natural language generation from plans and stream data analysis. Leon Sterling is Associate Professor in the Department of Computer Engineering and Science at Case Western Reserve University. He is the coauthor, along with Ehud Shapiro, of The Art of Prolog. Contents: A Simple Learning Program, Richard O'Keefe. Designing a Prolog Database for Molecular Biology, Ewing Lusk, Robert Olson, Ross Overbeek, Steve Tuecke. Parallelizing a Pascal Compiler, Eran Gabber. PREDITOR: A Prolog-Based VLSI Editor, Peter B. Reintjes. Assisting Register Transfer Level Hardware Design, Paul Drongowski. Design and Implementation of a Partial Evaluation System, Arun Lakhotia, Leon Sterling. Natural Language Generation from Plans, Chris Mellish. Stream Data Analysis in Prolog, Stott Parker.
This new edition covers the latest advances in logic programming research. Its clear and authoritative treatment of the theory is combined with an emphasis on practical programming issues. This is a broad and highly readable introduction to the subject for advanced students and programmers.
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.