This course is no longer offered

22924 Constraint Processing Techniques and Applications

Credits: 4 graduate credits in Computer Science

Prerequisite: Admission to the graduate program in Computer Science 1

Required: Prolog and Artificial Intelligence 2

The course is based on a reader edited by Amnon Meisels.

Constraint networks became an object of research about 20 years ago and represent a tool for the representation of problems in various fields, from temporal reasoning problems, through scheduling problems, to manpower timetabling problems. There are two main fields in the area of constraint processing (CP): Constraint programming and intelligent search algorithms. This course focuses on intelligent search algorithms, and details all the major algorithms and their characteristics. Constraint programming is presented through logical programming languages (EcLiPSe or Sicstus) and arithmetic methods for dealing with constraints. It is meant to give the student a realistic sense of what can be done simply and quickly with constraint programming techniques.

Topics: Introduction to constraint networks; Constraint programming; Intelligent backtracking algorithms and their characteristics; Experimental characteristics of intelligent search algorithms; Scheduling problems and solution methods; Random and local search methods; Distributed constraint networks and search algorithms for DisCSPs.


1Students who have not fulfilled this requirement may, under certain circumstances, enroll in this course.

2Students with no prior knowledge of Prolog need to acquire such knowledge according to the instructions that appear in the course guide.