The fourth edition of this best-selling guide to Prolog and Artificial Intelligence has been updated to include key developments in the field while retaining its lucid approach to these topics. New and extended topics include Constraint Logic Programming, abductive reasoning and partial order planning.
Divided into two parts, the first part of the book introduces the programming language Prolog, while the second part teaches Artificial Intelligence using Prolog as a tool for the implementation of AI techniques.
This textbook is meant to teach Prolog as a practical programming tool and so it concentrates on the art of using the basic mechanisms of Prolog to solve interesting problems. The fourth edition has been fully revised and extended to provide an even greater range of applications, making it a self-contained guide to Prolog, AI or AI Programming for students and professional programmers.
Part i The Prolog Language
1 Introduction to Prolog
2 Syntax and Meaning of Prolog Programs
3 Lists, Operators, Arithmetic
4 Programming Examples
5 Controlling Backtracking
6 Built-in Predicates
7 Constraint Logic Programming
8 Programming Style and Technique
9 Operations on Data Structures
10 Balanced Trees
Part ii Prolog in Artificial Intelligence
11 Problem-Solving as Search
12 Heuristic Search and A* Algorithm
13 Best-First Search: Minimising Time and Space
14 Problem Decomposition and AND/OR Graphs
15 Knowledge Representation and Expert Systems
16 Probabilistic Reasoning with Bayesian Networks
18 Partial order planning and GRAPHPLAN
19 Scheduling, Simulation and Control with CLP
20 Machine Learning
21 Inductive Logic Programming
22 Qualitative Reasoning
23 Language Processing with Grammar Rules
24 Game Playing
Appendix A: Some Differences Between Prolog Implementations
Appendix B: Some Frequently Used Predicates
Solutions to Selected Exercises
Professor Ivan Bratko leads the AI Lab in the Faculty of Computer and Information Science at Ljubljana University. He has taught Prolog world-wide as well as applying Prolog in medical expert systems, robot programming, qualitative modelling and computer chess research.