0% found this document useful (0 votes)
21 views44 pages

Constraint Satisfaction Problems: Dr. Shahnawaz Qureshi

Uploaded by

Sami Ahmed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views44 pages

Constraint Satisfaction Problems: Dr. Shahnawaz Qureshi

Uploaded by

Sami Ahmed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 44

Constraint Satisfaction Problems

Dr. Shahnawaz Qureshi


Standard Search Problems
 Previous search problems:
 Problems can be solved by searching in a space
of states
 state is a “black box” – any data structure that
supports successor function, heuristic function,
and goal test – problem-specific

 Constraint satisfaction problem


 states and goal test conform to a standard,
structured and simple representation
 general-purpose heuristic

2
Constraint Satisfaction Problems (CSP)
 CSP is defined by 3 components (X, D, C):
 state: a set of variables X, each Xi , with values from
domain Di
 goal test: a set of constraints C, each Ci involves some
subset of the variables and specifies the allowable
combinations of values for that subset
 Each constraint Ci consists of a pair <scope, rel>, where
scope is a tuple of variables and rel is the relation, either
represented explicitly or abstractly
 X1 and X2 both have the domain {A, B}
 Constraints:
 <(X1, X2), [(A, B), (B, A)]>, or
 <(X1, X2), X1 ≠ X2>

3
Solution
 Each state in a CSP is defined by an assignment of
values to some or all of the variables
 An assignment that does not violate any constraints
is called a consistent or legal assignment
 A complete assignment is one in which every
variable is assigned
 A solution to a CSP is consistent and complete
assignment
 Allows useful general-purpose algorithms with more
power than standard search algorithms

4
Example: Map Coloring

 Variables: X = {WA, NT, Q, NSW, V, SA, T }


 Domains: Di = {red, green, blue}
 Constraints: adjacent regions must have different colors
 Solution?

5
Solution: Complete and Consistent Assignment

 Variables: X = {WA, NT, Q, NSW, V, SA, T }


 Domains: Di = {red, green, blue}
 Constraints: adjacent regions must have different colors
 Solution? {WA = red, NT = green, Q = red, NSW = green, V = red,
SA = blue, T = red}.

6
Constraint Graph
 Constraint graph: nodes are variables, arcs are
constraints
 Binary CSP: each constraint relates two variables
 CSP conforms to a standard pattern
 a set of variables with assigned values
 generic successor function and goal test
 generic heuristics
 reduce complexity

7
CSP as a Search Problem
 Initial state:
 {} – all variables are unassigned
 Successor function:
 a value is assigned to one of the unassigned variables with
no conflict
 Goal test:
 a complete assignment
 Path cost:
 a constant cost for each step
 Solution appears at depth n if there are n variables
 Depth-first or local search methods work well

8
CSP Solvers Can be Faster
 CSP solver can quickly eliminate large part of
search space
 If {SA = blue}
 Then 35 assignments can be reduced to 25
assignments, a reduction of 87%

 In a CSP, if a partial assignment is not a solution,


we can immediately discard further refinements of it

9
Exercise (1)
 Consider the problem of
crossword puzzle: fitting words
into a rectangular grid. Assume
that a list of words is provided
and that the task is to fill in the
blank squares using any subset of
the list. Formulate this problem
precisely in two ways:
 As a general search problem. Choose
an appropriate search algorithm.
 As a constraint satisfaction problem.
 Word vs. letters

10
Exercise (2)
 Problem formulation as CSP:
 Class scheduling: There is a fixed number of
professors and classrooms, a list of classes to be
offered, and a list of possible time slots for
classes. Each professor has a set of classes that
he or she can teach.

11
Types of Variables
 Discrete variables
 finite domains:
 n variables, domain size d  O (d n) complete assignments
 e.g., Boolean CSPs, such as 3-SAT (NP-complete)
 Worst case, can’t solve finite-domain CSPs in less than
exponential time
 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
12
Types 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

13
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

14
What Search Algorithm to Use?
 Since we can formulate CSP problems as standard
search problems, we can apply search algorithms
from chapter 3 & 4
 If breadth-first search were applied
 branching factor? nd
 tree size? nd * (n-1)d * … * d = n! * dn leaves
 complete assignments? dn

 A crucial property to all CSPs: commutativity


 the order of application of any given set of actions has no
effect on the outcome
 Variable assignments are commutative, i.e., [ WA = red
then NT = green ] same as [ NT = green then WA = red ]

15
Backtracking Search
 Only need to consider assignments to a single
variable at each node  b = d and there are d n
leaves

 Backtracking search is used for a depth-first search


that chooses values for one variable at a time and
backtracks when a variable has no legal values left
to assign

 Backtracking search is the basic uninformed


algorithm for CSPs

16
Backtracking Search Algorithm

17
Backtracking Example

18
Backtracking Example

19
Backtracking Example

20
Backtracking Example

21
Improving Backtracking Efficiency
 We can solve CSPs efficiently without
domain-specific knowledge, addressing the
following questions:

 in what order should variables be assigned,


values be tried?

 what are the implications of the current variable


assignments for the other unassigned variables?

 when a path fails, can the search avoid repeating


this failure?

22
Variable and Value Ordering 1/3
 Minimum remaining values (MRV)
 choose the variable with the fewest “legal”
values
 also called most constrained variable or
fail-first heuristic
 does it help in choosing the first variable?

23
Variable and Value Ordering 2/3
 Most constraining variable:
 selecting the variable that has the largest
number of constraints on other
unassigned variables
 also called degree heuristics
 Tie-breaker among MRV

24
Variable and Value Ordering 3/3
 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

25
Propagating Information through Constraints

 Forward checking:
 Keep track of remaining legal values for unassigned
variables
 Terminate search when any variable has no legal values

26
Propagating Information through Constraints

 Forward checking:
 Keep track of remaining legal values for unassigned
variables
 Terminate search when any variable has no legal values

27
Propagating Information through Constraints

 Forward checking:
 Keep track of remaining legal values for unassigned
variables
 Terminate search when any variable has no legal values

28
Propagating Information through Constraints

 Forward checking:
 Keep track of remaining legal values for unassigned
variables
 Terminate search when any variable has no legal values

29
Propagating Information through Constraints
 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
by propagating implications of a constraint of one variable
onto other variables

30
Node Consistency
 A single variable is node-consistent if all the
values in the variable’s domain satisfy the
variable’s unary constraints

 For example, SA dislikes green

 A network is node-consistent if every


variable in the network is node-consistent

31
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

32
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

33
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

34
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

35
AC-3 Algorithm
 Time complexity O (n 2d 3)

36
Example
 Use the AC-3 algorithm to show that arc consistency is
able to detect the inconsistency of the partial
assignment {WA = red, V = blue} in the following map
coloring problem.

37
One Possible Trace
 One possible trace of the algorithm:
 remove SA-WA, delete R from SA
 remove SA-V, delete B from SA, leaving only G
 remove NT-WA, delete R from NT
 remove NT-SA, delete G from NT, leaving only B
 remove NSW-SA, delete G from NSW
 remove NSW-V, delete B from NSW, leaving only R
 remove Q-NT, delete B from Q
 remove Q-SA, delete G from Q
 remove Q-NSW, delete R from Q, leaving no proper assignment
for Q

38
Path Consistency
 Consider map-coloring with only two colors
 Every arc is consistent initially
 Check the set {WA, SA} path consistenty
with respect to NT

 More generally, k-consistency


 1-consistency = node consistency
 2-consistency = arc consistency
 3-consistency = path consistency

39
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

40
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

41
8-Queen Example

Min-conflicts is quite effective for many CSPs.


Given a random initial state, can solve n-queens in
almost constant time for arbitrary n with high
probability (e.g., n = 10,000,000)

42
Min-Conflicts Algorithms for CSP

43
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

44

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy