| ||||||||||||||||||
| ||||||||||||||||||
|
||||||||||||||||||
|
Prolog is not an easy language to learn, therefore it must be even harder to teach! Prolog Programming for Artificial Intelligence tackles Prolog learning from an excellent perspective - applications to AI. This means though that the reader must be willing to dive head-first into things. The first chapter looks at things like recursive rules and how backtracking works while it introduces the user to the basics of Prolog. This can make the reading quite heavy going, not simple bedtime reading! Each section is well written, with clear and concise diagrams and example code. Each section also has exercises to help the reader gain further insight into the topics covered. At the end of each chapter, Bratko presents a summary of the concepts as well as follow-up references. The book is sensibly divided into two parts. Part I covers the language itself whereas Part II covers its applications to AI. Although Part I and Part II are quite separate, Part I still uses AI principles and problems throughout, such as tree building and the 8-Queens Problem. There is also a definite emphasis on the applications though since only 240 of the 700 pages are dedicated to the language itself. Part I covers all the major parts of Prolog: lists, user-defined operators, controlling backtracking (using cut etc.), input and output, operations of data structures as well as some more general sections covering coding style and programming tips. This is very important since a Prolog programmer must think in Prolog, since it isn't procedural. The writing style is, on the whole, very accessible and the sections are well organized. Part II then looks at basic problem solving strategies, tree searching, problem decomposition and constraint logic programming. While these chapters aren't the most invigorating, they are definitely important and present potentially painfully boring material in a palatable way. After that there are two chapters on expert systems, planning, machine learning, inductive logic programming and qualitative reasoning. These chapters are much more interesting, especially the machine learning chapter. It is worth noting that the CLP, Qualitative reasoning and Inductive Logic Programming chapters are new for the 3rd edition of the book. The last three chapters are probably the most interesting: Language Processing with Grammar Rules, Game Playing and Meta-Programming. The book ends with a short but good series of Appendixes listing some commonly used predicates and some differences between Prolog implementations as well as answers to some of the exercises and a complete index. Overall an excellent book that is perfectly suitable for a keen Prolog student.
Submitted: 23/02/2002 |
|
|||||||||||||||||
All content copyright © 1998-2007, Generation5 unless otherwise noted.
- Privacy Policy - Legal - Terms of Use -