[an error occurred while processing this directive]

    Instructor: Rina Dechter
    Days: Tuesday/Thursday
    Time: 11:00a.m.-12:20p.m.
    Location: CS 259

    Course Goals

    The purpose of this course is to familiarize students with the theory and techniques of constraint processing, using the constraint network model. This model offers a natural language for encoding world knowledge in areas such as scheduling, vision, diagnosis, prediction and design, and it facilitates many computational tasks relevant to these domains. The course will focus on techniques for constraint processing. It will cover search techniques, consistency algorithms and structure based techniques, and will focus on properties that facilitate efficient solutions. Extensions will be given into applications such as temporal reasoning, diagnosis, scheduling, and probabilistic Bayes networks. The constraint language Eclipse will be used for modelling and solving constraint problems. The topics covered will be taken from the following list.


    • The constraint network model, examples. Graph representations, partial orders between networks of constraints, the minimal network.
    • Constraint Programming using Eclipse
    • Approximation algorithms: local-consistency vs. global-consistency, arc and path-consistency, directional-consistency, relational-consistency, adaptive-relational-consistency.
    • Backtracking strategies: Look-back schemes: backjumping, constraint learning. Look-ahead schemes: forward-checking, variable and value orderings, constraint propagation. The Davis-Putnam algorithms.
    • Local search greedy algorithms: GSAT
    • Topology-based concepts and algorithms: tree-width vs. local-consistency, tree-solving algorithm, adaptive-consistency, tree-clustering, the bi-connected component, cycle-cutset, optimization the bucket-elimination-conditioning framework.
    • Constraint-based tractable classes: row-convexity, tightness, looseness, implicational and functional constraints, Horn clauses.
    • Temporal constraint networks: quantitative, qualitative, and integrated temporal networks.
    • Constraint Logic Programming
    • Moving from constraint satisfaction to constraint optimization.
    • Bayes networks vs. constraint networks.


    • Class notes, collection of papers.
    • "Programming with Constraints: An Introduction," by Kim Marriott and Peter J. Stuckley, 1998.


    • Homeworks
    • Midterm
    • A term project which may consist of a programming project and/or a paper presentation, and critique, empirical evaluation of methods, experimenting with existing tools, etc.) The last two weeks will be devoted to paper and project presentations.

    Some useful links:

    Grading Policy:

      Homeworks and projects (60%), Midterm (40%).