Introduction to Logic Programming
The course is an introduction to logic programming through Prolog.
It basically follows the following book:
W. F. Clocksin and C. S. Mellish. Programming in Prolog. Fourth
edition. Springer. 1994.
With each lecture the students will be given exercises involving the
concepts of the lecture. At the end of the semester students are
supposed to make a programming project or, alternatively, to take a
final written exam.
Winter Semester 2005.
- Number: 326.028
- Title: Logic Programming
- Lecturer: Temur Kutsia
- Time: Wed 16:15-18:00
- Place: T 212
- First lecture: October 5
Please register for the course via the
KUSSS system.
- Logical foundations. Introduction to Prolog programming.
- Questions, variables, conjunctions, rules, goals.
- Prolog syntax. Characters, operators, equality and matching, arithmetic.
- Using data structures. Several programming techniques on Prolog (Mapping, recursion, accumulators, difference structures).
- Backtracking, generating multiple solutions, the cut.
- Examples, debugging.
- Unification, computational model of logic programs.
- Constraint logic programming.
- Book: W. F. Clocksin and C. S. Mellish. Programming in Prolog. Fourth edition. Springer. 1994.
- Slides:
- Introduction - ps,pdf
- Questions, variables, conjunctions - ps, pdf
- Rules, goals - ps,pdf
- Prolog syntax - ps, pdf
- Data structures, mapping, recursion - pdf
- Data structures, comparison, joining, accumulators,
difference structures - pdf
- Backtracking, the cut - pdf
- Unification - pdf
- Computational Model - pdf
- Efficiency issues -
pdf
- Examples - pdf
- Homeworks:
- Programs:
- Projects:
- Connect
4 game. Project
team: Markus Gaisbauer, Andreea Ignat, Markus Schwabeneder.
- Davis-Putnam
procedure. Project team: Norbert Baumgartner, Marcus
Winkler (Presentation scheduled on January
18th).
- Sudoku solver. Project team: Manuela Gärber, Diana
Meindl.
- STRIPS planner: Christoph Spielmann (Presentation scheduled on January
25th).
- Additional material:
- System: SWI-Prolog. For Windows users
there is a convenient SWI-Prolog
editor.
- Some useful on-line resources: WWW Virtual Library: Logic
programming, Prolog
newsgroup.
Maintained by Temur
Kutsia