Next: About this document ...
Up: Descriptions of Courses and
Previous: Knowledge Representation and Engineering
Contents
Subsections
Here are links to the
course home page
and
the formal TQA
description.
This course describes the practical connection between Horn clause logic and computation via programming. The reference point for the course is the Prolog programming language - a principal aim being to develop students' programming expertise through experience in typical applications.
- Declarative representation with Horn clauses:
Syntax (structured terms, logical operators, etc.);
The relationship between Horn clauses and predicate logic (Lloyd Topor transformations);
Semantics of Horn clause definitions;
Recursion (well founded orderings);
Term matching;
Sequences as binary terms;
Patterns of problem description (incremental specification).
- Computation with Horn Clauses:
Standard Prolog computation model;
Specialised notation for sequence processing;
Computation as finite domain constraint solving;
Distributed computation via tuple spaces;
Defining computation models via meta-interpretation.
- Search, state and computation:
Avoiding search through problem representation;
Forcing exhaustive search;
Limiting search;
Closed world negation;
Annotating clauses to reduce search;
Tabled resolution;
Adapting the clause base.
- Relationship to common software engineering paradigms:
Databases;
Object orientation;
Rule based systems;
Multi-agent systems.
Four programming exercises.
References:
* Clocksin, W.F. and Mellish, C.S., Programming in
Prolog: Using the ISO Standard (5th edition), 2003
* Sterling, L. & Shapiro, E., The Art of Prolog, 1994
Next: About this document ...
Up: Descriptions of Courses and
Previous: Knowledge Representation and Engineering
Contents
Colin Stirling
2006-01-05