Prolog

    - Content List

 

Modules consisting of learning material

  • Module 1 - Some unification, some data types and some built-in predicates

    This Module has the primary objective of introducing the reader to Prolog's powerful matching features (often called "unification"). In the process, the reader will learn about some of Prolog's data types and some of Prolog's built-in predicates.

  • Module 2 - The structured object data type and storing and retrieving facts

    This Module introduces another data type, the structured object. Using this, it is possible to write simple and useful Prolog programs.

  • Module 3 - Representing information, search strategies and simple rules

    The previous Module introduced the structured object and showed how they could be used to store information in a similar way to a database. Queries with more than one goal were used to retrieve information held in more than one object. This Module shows how rules can be written that encapsulate general knowledge within programs.

  • Module 4 - Backtracking and recursion

    The previous Module used a simple network to show how to write rules to traverse this network. This Module introduces a small change to the network to introduce non-determinism. This allows Prolog's search mechanism to be revealed in greater detail, which in turn allows a closer examination of the technique of recursion.

  • Module 5 - Lists and list processing

    This Module introduces the list, the most influential data type in artificial intelligence programming. It starts with an introduction to lists in Prolog and how lists are typically processed. The major section looks at list processing operations, splitting them into three groups, classified by the nature of their terminating condition. Some of the examples given in this section work but are not the most efficient method of implementation in practical Prolog, so some examples based on the use of accumulators are given.

  • Module 6 - Output and program design

    This Module gives an example of output in Prolog. This example is part of a program that is later used to demonstrate program design in Prolog.