0% found this document useful (0 votes)
7 views

CSC3402 Lecture5 Constraini Satisfaction Problem

Uploaded by

Godfrey Bwalya
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

CSC3402 Lecture5 Constraini Satisfaction Problem

Uploaded by

Godfrey Bwalya
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 34

CSC3402-Introduction to

AI

Lesson 5: Constraint
Satisfaction Problems
Outline
 Constraint Satisfaction Problems (CSP)
 Backtracking search for CSPs
 Local search for CSPs

CSC3402 - Constraint
11/05/24 Satisfaction 2
Constraint satisfaction problems
(CSPs)

 Standard search problem:


 state is a "black box“ – any data structure that supports
successor function, heuristic function, and goal test
 CSP:

state is defined by variables Xi with values from domain Di
 goal test is a set of constraints specifying allowable
combinations of values for subsets of variables

 Simple example of a formal representation language

 Allows useful general-purpose algorithms with more


power than standard search algorithms

CSC3402 - Constraint
11/05/24 Satisfaction 3
Example: Map-Coloring

 Variables WA, NT, Q, NSW, V, SA, T



Domains Di = {red,green,blue}
 Constraints: adjacent regions must have different colors
 e.g., WA ≠ NT, or (WA,NT) in {(red,green),(red,blue),
(green,red), (green,blue),(blue,red),(blue,green)}

CSC3402 - Constraint
11/05/24 Satisfaction 4
Example: Map-Coloring

 Solutions are complete and consistent


assignments, e.g., WA = red, NT = green,Q =
red,NSW = green,V = red,SA = blue,T = green

CSC3402 - Constraint
11/05/24 Satisfaction 5
Constraint graph
 Binary CSP: each constraint relates two variables
 Constraint graph: nodes are variables, arcs are
constraints

CSC3402 - Constraint
11/05/24 Satisfaction 6
Varieties of CSPs
 Discrete variables
 finite domains:

n variables, domain size d  O(dn) complete assignments

e.g., Boolean CSPs, incl.~Boolean satisfiability (NP-complete)
 infinite domains:

integers, strings, etc.

e.g., job scheduling, variables are start/end days for each job

need a constraint language, e.g., StartJob1 + 5 ≤ StartJob3

 Continuous variables
 e.g., start/end times for Hubble Space Telescope
observations
 linear constraints solvable in polynomial time by linear
programming
CSC3402 - Constraint
11/05/24 Satisfaction 7
Varieties of constraints
 Unary constraints involve a single variable,
 e.g., SA ≠ green

 Binary constraints involve pairs of variables,


 e.g., SA ≠ WA

 Higher-order constraints involve 3 or more


variables,
 e.g., cryptarithmetic column constraints

CSC3402 - Constraint
11/05/24 Satisfaction 8
Example: Cryptarithmetic

 Variables: F T U W R O X1 X2 X3
 Domains: {0,1,2,3,4,5,6,7,8,9}
 Constraints: Alldiff (F,T,U,W,R,O)

O + O = R + 10 · X1

X1 + W + W = U + 10 · X2

X2 + T + T = O + 10 · X3

X3 = F, T ≠ 0, F ≠ 0

CSC3402 - Constraint
11/05/24 Satisfaction 9
Real-world CSPs
 Assignment problems

e.g., who teaches what class
 Timetabling problems

e.g., which class is offered when and where?
 Transportation scheduling
 Factory scheduling

 Notice that many real-world problems


involve real-valued variables

CSC3402 - Constraint
11/05/24 Satisfaction 10
Standard search formulation
(incremental)

Let's start with the straightforward approach, then fix it


States are defined by the values assigned so far

 Initial state: the empty assignment { }


 Successor function: assign a value to an unassigned variable
that does not conflict with current assignment
 fail if no legal assignments
 Goal test: the current assignment is complete
1. This is the same for all CSPs
2. Every solution appears at depth n with n variables
 use depth-first search
3. Path is irrelevant, so can also use complete-state formulation
4. b = (n - l )d at depth l, hence n! · dn leaves

CSC3402 - Constraint
11/05/24 Satisfaction 11
Backtracking search
 Variable assignments are commutative}, i.e.,
[ WA = red then NT = green ] same as [ NT = green then WA =
red ]
 Only need to consider assignments to a single variable at each

node
 b = d and there are dn leaves
 Depth-first search for CSPs with single-variable assignments is
called backtracking search

 Backtracking search is the basic uninformed algorithm for CSPs

 Can solve n-queens for n ≈ 25


CSC3402 - Constraint
11/05/24 Satisfaction 12
Backtracking search

CSC3402 - Constraint
11/05/24 Satisfaction 13
Backtracking example

CSC3402 - Constraint
11/05/24 Satisfaction 14
Backtracking example

CSC3402 - Constraint
11/05/24 Satisfaction 15
Backtracking example

CSC3402 - Constraint
11/05/24 Satisfaction 16
Backtracking example

CSC3402 - Constraint
11/05/24 Satisfaction 17
Improving backtracking
efficiency
 General-purpose methods can give
huge gains in speed:
 Which variable should be assigned next?
 In what order should its values be tried?
 Can we detect inevitable failure early?

CSC3402 - Constraint
11/05/24 Satisfaction 18
Most constrained variable
 Most constrained variable:
choose the variable with the fewest legal
values

 a.k.a. minimum remaining values


(MRV) heuristic


CSC3402 - Constraint
11/05/24 Satisfaction 19
Most constraining variable
 Tie-breaker among most constrained
variables
 Most constraining variable:
 choose the variable with the most
constraints on remaining variables

CSC3402 - Constraint
11/05/24 Satisfaction 20
Least constraining value
 Given a variable, choose the least
constraining value:

the one that rules out the fewest values in the
remaining variables

 Combining these heuristics makes 1000


queens feasible

CSC3402 - Constraint
11/05/24 Satisfaction 21
Forward checking
 Idea:
 Keep track of remaining legal values for unassigned
variables
 Terminate search when any variable has no legal values

CSC3402 - Constraint
11/05/24 Satisfaction 22
Forward checking
 Idea:
 Keep track of remaining legal values for unassigned
variables
 Terminate search when any variable has no legal values

CSC3402 - Constraint
11/05/24 Satisfaction 23
Forward checking
 Idea:
 Keep track of remaining legal values for unassigned
variables
 Terminate search when any variable has no legal values

CSC3402 - Constraint
11/05/24 Satisfaction 24
Forward checking
 Idea:
 Keep track of remaining legal values for unassigned
variables
 Terminate search when any variable has no legal values

CSC3402 - Constraint
11/05/24 Satisfaction 25
Constraint propagation
 Forward checking propagates information from assigned
to unassigned variables, but doesn't provide early
detection for all failures:

 NT and SA cannot both be blue!


 Constraint propagation repeatedly enforces constraints
locally

CSC3402 - Constraint
11/05/24 Satisfaction 26
Arc consistency
 Simplest form of propagation makes each arc
consistent
 X Y is consistent iff
for every value x of X there is some allowed y

CSC3402 - Constraint
11/05/24 Satisfaction 27
Arc consistency
 Simplest form of propagation makes each arc
consistent
 X Y is consistent iff
for every value x of X there is some allowed y

CSC3402 - Constraint
11/05/24 Satisfaction 28
Arc consistency
 Simplest form of propagation makes each arc
consistent
 X Y is consistent iff
for every value x of X there is some allowed y

 If X loses a value, neighbors of X need to be


rechecked
 CSC3402 - Constraint
11/05/24 Satisfaction 29
Arc consistency
 Simplest form of propagation makes each arc consistent
 X Y is consistent iff
for every value x of X there is some allowed y

 If X loses a value, neighbors of X need to be rechecked


 Arc consistency detects failure earlier than forward
checking
 Can be run as a preprocessor or after each assignment
CSC3402 - Constraint
11/05/24 Satisfaction 30

Arc consistency algorithm
AC-3

 Time complexity: O(n2d3)


 CSC3402 - Constraint
11/05/24 Satisfaction 31
Local search for CSPs
 Hill-climbing, simulated annealing typically work
with "complete" states, i.e., all variables assigned

 To apply to CSPs:

allow states with unsatisfied constraints

operators reassign variable values

 Variable selection: randomly select any conflicted


variable

 Value selection by min-conflicts heuristic:



choose value that violates the fewest constraints

i.e., hill-climb with h(n) = total number of violated
constraints
CSC3402 - Constraint
11/05/24 Satisfaction 32
Example: 4-Queens
 States: 4 queens in 4 columns (44 = 256 states)
 Actions: move queen in column
 Goal test: no attacks
 Evaluation: h(n) = number of attacks

 Given random initial state, can solve n-queens in


almost constant time for arbitrary n with high
probability (e.g., n = 10,000,000)

CSC3402 - Constraint
11/05/24 Satisfaction 33
Summary
 CSPs are a special kind of problem:

states defined by values of a fixed set of variables

goal test defined by constraints on variable values
 Backtracking = depth-first search with one variable assigned
per node
 Variable ordering and value selection heuristics help
significantly
 Forward checking prevents assignments that guarantee later
failure
 Constraint propagation (e.g., arc consistency) does additional
work to constrain values and detect inconsistencies
 Iterative min-conflicts is usually effective in practice
CSC3402 - Constraint
11/05/24 Satisfaction 34

You might also like