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 2004/2005.
- Number: 326.531
- Title: Logic Programming
- Lecturer: Temur
Kutsia
- Time: Wed 16:15-18:00
- Place: T 212
- Starts: October 6
- Final Exam: January 26
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.
- Lecture Notes:
- Introduction - ps, pdf
- Questions, variables, conjunctions - ps, pdf
- Rules, goals - ps, pdf
- Prolog syntax - ps, pdf
- Data structures - ps, pdf
- Mapping, recursion - ps, pdf
- Accumulators, difference structures - ps, pdf
- Backtracking, the cut - ps, pdf
- Examples - ps, pdf
- Unification - ps, pdf
- Computational model - ps, pdf
- Constraint logic programming - ps, pdf
- Grammar rules - pdf
- Efficiency issues - ps,
pdf
- Homeworks:
- Programs:
chap3assembly.pl,
chap3assembly-acc.pl,
chap3assembly-hole.pl.
Einstein's puzzle: description and solution.
- Programming Projects:
- Project 1. Project group: Arnold Aribowo, Aleksei Lissitsin, Erik Pitzer.
- Project 2. Project group: Hongping Tao, Weifeng Jiang.
- Project 3. Project group: Andreas Sotsas, Markus Stadlbauer, Johannes Watzl.
- Additional material:
- System:
SWI-Prolog. For Windows users
there is a convinient SWI-Prolog
editor.
- Some useful on-line resourses:
WWW Virtual Library: Logic
programming, Prolog newsgroup.
|