next up previous contents
Next: Numerical Analysis II Up: Lent Term 1999: Part Previous: Software Engineering

Prolog for Artificial Intelligence

Lecturer: Dr W.F. Clocksin (wfc@cl.cam.ac.uk)

No. of lectures: 12

This course is a prerequisite for Artificial Intelligence (Part II).

Introduction.
History, syntax, semantics, getting started running programs.

Goals.
Clauses, procedures, backtracking.

Data structures and unification.
Recursion in data and process. Variables are holes in data structures.

List processing.
Some practical programming examples.

Mappings.
Some principles of structuring problem solving.

Accumulators.
Ways of constructing tail-recursive procedures from specifications.

Difference structures.
Probably the best programming technique ever invented.

Computing with difference structures.
Ways of exploiting the above.

Modifying backtracking.
Ways of specifying control over the default chronological backtracking execution rule.

Case studies.
The remaining lectures are case studies that demonstrate larger programs and use the programming techniques previously introduced. The case studies are chosen from an ever-changing set including formula manipulation, digital circuit analysis, knowledge representation, the Fast Fourier Transform, compiling procedural languages.

Recommended books:


Clocksin, W.F. (1997). Clause and Effect: PROLOG Programing for the Working Programmer. Berlin: Springer-Verlag.

Bratko, I. (1986). PROLOG: Programming for Artificial Intelligence. Addison-Wesley.

Shoham, Y. (1994). Artificial Intelligence Techniques in PROLOG. Morgan Kaufmann.


next up previous contents
Next: Numerical Analysis II Up: Lent Term 1999: Part Previous: Software Engineering
Christine Northeast
1998-10-01