Programming with Logic and Constraints

Lecturer(s):Roman Bartak (Charles University)
Type:Foundational Course
Section:Logic and Computation
Time: 9.00-10.30 (Slot 1)
Room:EM 2.44


The course describes techniques behind constraint logic programming (CLP)
framework. It concentrates on the practical/algorithmic issues (how CLP
works and how to use it effectively) rather than on the theoretical
background (how to prove it). The course is targeted to everyone
interested in solving combinatorial optimisation problems.
First, I will introduce the basic concepts of logic programming; the
notions of backtracking and unification will be explained using examples
in Prolog. The main part will be devoted to constraint satisfaction
techniques and their integration into logic programming framework. I will
explain the notion of constraint as an extension to unification. Then the
basic constraint propagation techniques, namely arc-consistency, will be
presented. Global constraints and their implementation techniques will
also be discussed. The final part will focus on the depth-first search
techniques and their integration with constraint propagation. The course
is concluded with examples of modeling problems using CLP.


© ESSLLI 2005 Organising Committee 2004-12-01