Title: Foundations of Constraint Processing
1Constraint Satisfaction 101
- Foundations of Constraint Processing
- CSCE421/821, Fall 2005
- www.cse.unl.edu/choueiry/F05-421-821/
- Berthe Y. Choueiry (Shu-we-ri)
- AVH 123B
- choueiry_at_cse.unl.edu
- Tel 1(402)472-5444
2Outline
- Motivating example, application areas
- CSP Definition, representation
- Some simple modeling examples
- More on definition and formal characterization
- Basic solving techniques
- (Implementing backtrack search)
- Advanced solving techniques
- Issues research directions
3Motivating example
- Context You are a senior in college
- Problem You need to register in 4 courses for
the Spring semester - Possibilities Many courses offered in Math, CSE,
EE, CBA, etc. - Constraints restrict the choices you can make
- Unary Courses have prerequisites you have/don't
have Courses/instructors you
like/dislike - Binary Courses are scheduled at the same time
- n-ary In CE 4 courses from 5 tracks such as at
least 3 tracks are covered - You have choices, but are restricted by
constraints - Make the right decisions!!
4Motivating example (contd)
- Given
- A set of variables 4 courses at UNL
- For each variable, a set of choices (values)
- A set of constraints that restrict the
combinations of values the variables can take at
the same time - Questions
- Does a solution exist? (classical decision
problem) - How two or more solutions differ? How to change
specific choices without perturbing the solution? - If there is no solution, what are the sources of
conflicts? Which constraints should be
retracted? - etc.
5Practical applications
Adapted from E.C. Freuder
- Radio resource management (RRM)
- Databases (computing joins, view updates)
- Temporal and spatial reasoning
- Planning, scheduling, resource allocation
- Design and configuration
- Graphics, visualization, interfaces
- Hardware verification and software engineering
- HC Interaction and decision support
- Molecular biology
- Robotics, machine vision and computational
linguistics - Transportation
- Qualitative and diagnostic reasoning
6Constraint Processing
- is about ...
- Solving a decision problem
- While allowing the user to state arbitrary
constraints in an expressive way and - Providing concise and high-level feedback about
alternatives and conflicts - Related areas
- AI, OR, Algorithmic, DB, TCS, Prog. Languages,
etc.
7Power of Constraints Processing
- Flexibility expressiveness of representations
- Interactivity
-
- users can
constraints
8Outline
- Motivating example, application areas
- CSP Definition, representation
- Some simple modeling examples
- More on definition and formal characterization
- Basic solving techniques
9Defining a problem
- General template of any computational problem
- Given
- Example a set of objects, their relations, etc.
- Query/Question
- Example Find x such that the condition y is
satisfied - How about the Constraint Satisfaction Problem?
10Definition of a CSP
- Given P (V, D, C )
- V is a set of variables,
- D is a set of variable domains (domain values)
- C is a set of constraints,
- Query can we find a value for each variable such
that all constraints are satisfied?
11Other queries
- Find a solution
- Find all solutions
- Find the number of solutions
- Find a set of constraints that can be removed so
that a solution exists - Etc.
12Representation I
- Given P (V, D, C ), where
- Find a consistent assignment for
variables
- Constraint Graph
- Variable ? ? node (vertex)
- Domain ? node label
- Constraint ? arc (edge) between nodes
13Representation II
- Given P (V, D, C ), where
14Outline
- Motivating example, application areas
- CSP Definition, representation
- Some simple modeling examples
- More on definition and formal characterization
- Basic solving techniques
15Example II Temporal reasoning
- Give one solution .
- Satisfaction, yes/no decision problem
16Example III Map coloring
- Using 3 colors (R, G, B), color the US map such
that no two adjacent states have the same color - Variables?
- Domains?
- Constraints?
17Example III Map coloring (contd)
- Using 3 colors (R, G, B), color the US map such
that no two adjacent states have the same color
18Example IV Resource Allocation
- What is the CSP formulation?
19Example IV RA (contd)
Interval Order
R1, R3
T1
R1, R3
T2
R1, R3, R4
R1, R3
T2
T4
T3
R1, R2, R3
T5
R2, R4
T6
R2, R4
T7
20Example V Puzzle
- Given
- Four musicians Fred, Ike, Mike, and Sal, play
bass, drums, guitar and keyboard, not
necessarily in that order. - They have 4 successful songs, Blue Sky,
Happy Song, Gentle Rhythm, and Nice
Melody. - Ike and Mike are, in one order or the other,
the composer of Nice Melody and the
keyboardist. - etc ...
- Query Who plays which instrument and who
composed which song?
21Example V Puzzle (contd)
- Formulation 1
- Variables Bass, Drums, Guitar, Keyboard, Blue
Sky, Happy Song - Gentle Rhythm and Nice
Melody. - Domains Fred, Ike, Mike, Sal
- Constraints
- Formulation 2
- Variables Fred's-instrument, Ike's-instrument,
, - Fred's-song, Ikes's-song, Mikes-song,
, etc. - Domains
- bass, drums, guitar, keyboard
- Blue Sky, Happy Song, Gentle Rhythm, Nice
Melody - Constraints
22Example VI Product Configuration
- Train, elevator, car, etc.
- Given
- Components and their attributes (variables)
- Domain covered by each characteristic (values)
- Relations among the components (constraints)
- A set of required functionalities (more
constraints) - Find a product configuration
- i.e., an acceptable combination of components
- that realizes the required functionalities
23Example VII Cryptarithmetic puzzles
- DX1 DX2 DX3 0,1
- DFDTDUDWDRDO0,9
- OO R10X1
- X1WW U10X2
- X2 TT O 10X3
- X3F
- Alldiff(F,D,U,V,R,O)
24Constraint types examples
- Example I algebraic constraints
- Example II
- (algebraic) constraints
- of bounded difference
- Example III IV coloring, mutual exclusion,
difference constraints - Example V VI elements of C must be made
explicit
25More examples
- Example VII Databases
- Join operation in relational DB is a CSP
- View materialization is a CSP
- Example VIII Interactive systems
- Data-flow constraints
- Spreadsheets
- Graphical layout systems and animation
- Graphical user interfaces
- Example IX Molecular biology (bioinformatics)
- Threading, etc
26Outline
- Motivating example, application areas
- CSP Definition, representation
- Some simple modeling examples
- More on definition and formal characterization
- Basic solving techniques
27Representation (again)
- Macrostructure G(P)
- - constraint graph for
- binary constraints
- - constraint network for
- non-binary constraints
- Micro-structure ? (P)
- Co-microstructure co-?(P)
(V1, a ) (V1, b)
(V2, a ) (V2, c)
(V3, b ) (V3, c)
no goods
(V1, a ) (V1, b)
(V2, a ) (V2, c)
(V3, b ) (V3, c)
28Constraint arity I
- Given P (V, D, C ) , where
- How to represent the constraint V1 V2
V4 lt 10 ?
29Constraint arity II
- Given P (V, D, C ) , where
Constraints universal, unary, binary, ternary,
, global. A Constraint Network
30Domain types
- P (V, D, C ) where
- Domains
- Restricted to 0,1 Boolean CSPs
- Finite (discrete), enumeration works
- Continuous, sophisticated algebraic techniques
are needed - Consistency techniques on domain bounds
31Constraint terminology
- Arity
- universal, unary, binary, ternary, , global
- Scope
- The set of variables to which the constraint
applies - Definition
- Extension all allowed tuples are listed
- Constrained Decision Diagrams (Cheng Yap,
AAAI 05) - Intention when it is not practical (or even
possible) to list all tuples - Define types/templates of common constraints to
be used repeatedly linear constraints, All-Diff
(mutex), Atmost, TSP-constraint,
cycle-constraint, etc.) - Implementation
- predicate, set of tuples (list or table), binary
matrix (bit-matrix), etc.
32Complexity of CSP
- Characterization
- Decision problem
- In general, NP-complete
- by reduction from 3SAT
33Proving NP-completeness
- Show that ?1 is in NP
- Given a problem ?1 in NP, show that an known
NP-complete problem ?2 can be efficiently reduced
to ?1 - Select a known NP-complete problem ?2 (e.g.,
SAT) - Construct a transformation f from ?2 to ?1
- Prove that f is a polynomial transformation
- (Check Chapter 3 of Garey Johnson)
34What is SAT?
- Given a sentence
- Sentence conjunction of clauses
- Clause disjunction of literals
- Literal a term or its negation
- Term Boolean variable
- Question Find an assignment of truth values to
the Boolean variables such the sentence is
satisfied.
35CSP is NP-Complete
- Verifying that an assignment for all variables is
a solution - Provided constraints can be checked in polynomial
time - Reduction from 3SAT to CSP
- Many such reductions exist in the literature
(perhaps 7 of them)
36Problem reduction
- Example CSP into SAT (proves nothing, just
an exercise) - Notation variable-value pair vvp
- vvp ? term
- V1 a, b, c, d yields x1 (V1, a), x2 (V1,
b), x3 (V1, c), x4 (V1, d), - V2 a, b, c yields x5 (V2, a), x6 (V2, b),
x7 (V2,c). - The vvps of a variable ? disjunction of terms
- V1 a, b, c, d yields
- (Optional) At most one VVP per variable
-
-
37CSP into SAT (cont.)
- Constraint
- Way 1 Each inconsistent tuple ? one disjunctive
clause - For example
how many? - Way 2
- Consistent tuple ? conjunction of terms
- Each constraint ? disjunction of these
conjunctions - ? transform into conjunctive normal form (CNF)
- Question find a truth assignment of the Boolean
variables such that the sentence is satisfied
38Outline
- Motivating example, application areas
- CSP Definition, representation
- Some simple modeling examples
- More on definition and formal characterization
- Basic solving techniques
- Modeling and consistency checking
- Constructive, systematic search
- Iterative improvement, local search
39How to solve a CSP?
- Search
- 1. Constructive, systematic
- 2. Iterative repair, local search
40Before starting search!
- Consider
- Importance of modeling/formulation
- To control the size of the search space
- Preprocessing
- A.k.a. constraint filtering/propagation,
consistency checking - reduces size of search space
41 Importance of modeling
- N-queen formulation 1
- Variables?
- Domains?
- Size of CSP?
- N-queens formulation 2
- Variables?
- Domains?
- Size of CSP?
0,1
42Constraint checking
B
A lt B
A
5.... 18
B lt C
1.... 10
2 lt C - A lt 5
3- B 5 .. 13
4.... 15
C
43Constraint checking
- Arc-consistency every combination of two
adjacent variables - 3-consistency, k-consistency (k ? n)
- Constraint filtering, constraint checking, etc..
- Eliminate non-acceptable tuples prior to search
- Warning arc-consistency does not solve the
problem
still is not a solution!
44Systematic search
- Starting from a root node
- Consider all values for a variable V1
- For every value for V1, consider all values for
V2 - etc..
- For n variables, each of domain size d
- Maximum depth? fixed!
- Maximum number of paths? size of search
space, size of CSP
45Systematic search (I) Back-checking
- Systematic search generates dn possibilities
- Are all possibilities acceptable?
- Expand a partial solution only when it is
consistent - This yields early pruning of inconsistent paths
46Systematic search (II) Chronological backtracking
- What if only one solution is needed?
- Depth-first search Chronological backtracking
- DFS Soundness? Completeness?
47Systematic search (III) Intelligent backtracking
- What if the reason for failure was higher up in
the tree? - Backtrack to source of conflict !!
- Backjumping, conflict-directed backjumping,
etc.
48Systematic search (IV) Ordering heuristics
- Which variable to expand first?
- Heuristics
- most constrained variable first (reduce branching
factor) - most promising value first (find quickly first
solution)
49Systematic search (V) Back-checking
- Search tree with only backtrack search?
Root node
Q
50Systematic search (VI) Forward checking
- Search Tree with domains filter by Forward Check
Root node
51Improving BT search
- General purpose methods for
- Variable, value ordering
- Improving backtracking intelligent backtracking
avoids repeating failure - Look-ahead techniques propagate constraints as
variables are instantiated
52Search-tree branching
- K-way branching
- One branch for every value in the domain
- Binary branching
- One branch for the first value
- One branch for all the remaining values in the
domain - Used in commercial constraint solvers ILOG,
Eclipse - Have different behaviors (e.g., WRT value
ordering heuristics Smith, IJCAI 95)
53Summary of backtrack search
- Constructive, systematic, exhaustive
- In general sound and complete
- Back-checking expands nodes consistent with past
- Backtracking Chronological vs. intelligent
- Ordering heuristics
- Static
- Dynamic variable
- Dynamic variable-value pairs
- Looking ahead
- Partial look-ahead
- Forward checking (FC)
- Directional arc-consistency (DAC)
- Full (a.k.a. Maintaining Arc-consistency or MAC)
54CSP a decision problem (NP-complete)
- Modeling abstraction and reformulation
- Preprocessing techniques
- eliminate non-acceptable tuples prior to search
- Systematic search
- potentially dn paths of fixed lengths
- chronological backtracking
- intelligent backtracking
- variable/value ordering heuristics
- Search hybrids
- Mixing consistency checking with search
look-ahead strategies
55 Non-systematic search
- Iterative repair, local search modifies a global
but inconsistent solution to decrease the number
of violated constraints - Examples Hill climbing, taboo search, simulated
annealing, GSAT, WalkSAT, Genetic Algorithms,
Swarm intelligence, etc. - Features Incomplete not sound
- Advantage anytime algorithm
- Shortcoming cannot tell that no solution exists
56Outline of CSP 101
- We have seen
- Motivating example, application areas
- CSP Definition, representation
- Some simple modeling examples
- More on definition and formal characterization
- Basic solving techniques
- We will move to
- (Implementing backtrack search)
- Advanced solving techniques
- Issues research directions