|
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.
|
|