07 – Constraint Satisfaction Problems
Agenda
What is Search For?
Constraint Satisfaction
© Daniel S. Weld
4
Chinese Constraint Network
© Daniel S. Weld
5
Soup
Total Cost
< $30
Chicken
Dish
Vegetable
Rice
Seafood
Beef Dish
Appetizer
Must be
Hot&Sour
No
Peanuts
No
Peanuts
Not
Chow Mein
Not Both
Spicy
Constraint Satisfaction Problems
Constraint Satisfaction Problems
CSP Examples
Example: Map Coloring
Implicit:
Explicit:
Example: N-Queens
Implicit:
Explicit:
Constraint Graphs
Constraint Graphs
[Demo: CSP applet (made available by aispace.org) -- n-queens]
Screenshot of Demo N-Queens
Example: Cryptarithmetic
Example: Sudoku
9-way alldiff for each row
9-way alldiff for each column
9-way alldiff for each region
(or can have a bunch of pairwise inequality constraints)
Varieties of CSPs and Constraints
Varieties of CSPs
Varieties of Constraints
e.g., cryptarithmetic column constraints
Real-World CSPs
Solving CSPs
Standard Search Formulation
Search Methods
[Demo: coloring -- dfs]
Video of Demo Coloring -- DFS
Backtracking Search
Backtracking Search
is called backtracking search (not the best name)
Backtracking Example
Backtracking Search
[Demo: coloring -- backtracking]
Video of Demo Coloring – Backtracking
Improving Backtracking
Filtering
Filtering: Forward Checking
WA
SA
NT
Q
NSW
V
[Demo: coloring -- forward checking]
Video of Demo Coloring – Backtracking with Forward Checking
Filtering: Constraint Propagation
WA
SA
NT
Q
NSW
V
Consistency of A Single Arc
Delete from the tail!
WA
SA
NT
Q
NSW
V
Arc Consistency of an Entire CSP
Remember: Delete from the tail!
WA
SA
NT
Q
NSW
V
Enforcing Arc Consistency in a CSP
[Demo: CSP applet (made available by aispace.org) -- n-queens]
Video of Demo Arc Consistency – CSP Applet – n Queens
Limitations of Arc Consistency
What went wrong here?
[Demo: coloring -- arc consistency]
[Demo: coloring -- forward checking]
Video of Demo Coloring – Backtracking with Forward Checking – Complex Graph
Video of Demo Coloring – Backtracking with Arc Consistency – Complex Graph
Ordering
Ordering: Minimum Remaining Values
Ordering: Least Constraining Value
1000 queens feasible
QUESTIONS