PROLOG: Programming for Artificial Intelligence 3/e

Industrial Robot

ISSN: 0143-991x

Article publication date: 1 April 2003

977

Keywords

Citation

Rigelsford, J. (2003), "PROLOG: Programming for Artificial Intelligence 3/e", Industrial Robot, Vol. 30 No. 2. https://doi.org/10.1108/ir.2003.04930bae.001

Publisher

:

Emerald Group Publishing Limited

Copyright © 2003, MCB UP Limited


PROLOG: Programming for Artificial Intelligence 3/e

PROLOG: Programming for Artificial Intelligence 3/e

Ivan BratkoAddison-Wesley (Pearson Education)2001678 pp.ISBN 0-201-40375-7£36.99 paperback

Keywords: Artificial intelligence

“Prolog: Programming for Artificial Intelligence” not only provides a good introduction to the programming language Prolog, but shows how it can be used to solve interesting problems and implement AI techniques.

The book comprises of 23 chapters divided into two main parts. Part 1 focuses on the Prolog Language and teaches the novice how to use Prolog and experienced programmers new methods for solving problems. Chapter 1, an Introduction to Prolog, discusses topics including how Prolog answers questions, defining relations by facts, defining relations by rules, and the declarative and procedural meaning of programs. Chapter 2 addresses the Syntax and Meaning of Prolog Programs, while Lists, Operators and Arithmetic are discussed in chapter 3. Chapter 4, Using Structures: Example Programs, shows how to retrieve structured information from a database, how to perform data obstruction, simulating a non-deterministic automation, a travel agent problem, and the eight queens problem.

Chapter 5 addresses Controlling Backtracking, while communication with files is discussed in chapter 6, Input and Output. The remaining four chapters in this section present More Built-in Predictates, Programming Style and Technique, Operations on Datastructures, and Advanced Tree Representations.

The second part of the book, Prolog in Artificial Intelligence, shows how Prolog can be used as a tool for teaching and solving AI problems. Chapter 11 addresses Basic Problem-Solving Strategies, while chapter 12 introduces the Best-First Heuristic Search. The following four chapters present Problem Decomposition and AND/OR Graphs, Constraint Logic Programming Knowledge Representation and Expert Systems, and An Expert System Shell, respectively.

Chapter 17, Planning, discusses topics including representing actions, protecting goals, and goal regression. Machine Learning, Inductive Logic Programming, and Qualitative Reasoning are presented in the following three chapters, while chapter 21 introduces Language Processing with Grammar Rules. The final two chapters of the book address Game Playing, and Meta-Programming, respectively.

Overall, this book is a superb introduction to the Prolog programming language. Its focus on problems rather than procedures makes it an excellent teaching resource for engineering and computer science students. As the book concentrates on using Prolog for Artificial Intelligence, it will be of interest to those interested or involved with expert systems, machine learning, and game playing. Complete programs are included in the text and the source code and further teaching materials can be downloaded from the companion Web site at http://www.booksites.net/bratko.

Related articles