Upload
sylvia
View
31
Download
0
Embed Size (px)
DESCRIPTION
An Introduction to Artificial Intelligence. Lecture 5: Constraint Satisfaction Problems Ramin Halavati ([email protected]). - PowerPoint PPT Presentation
Citation preview
An Introduction to Artificial Intelligence
Lecture 5: Constraint Satisfaction ProblemsRamin Halavati ([email protected])
In which we see how treating states as more than just black boxes
leads to the invention of a range of powerful new search methods
and a deeper understanding of problem structure and complexity.
What is Constraint Satisfaction?
• A set of variables: X1,X2,…,Xn.
• A set of constraints: C1,C2,…,Cm.
• Each variable, a domain: D1,D2,…,Dn.
• State: An assignment of values to Xis.
• Consistent: Obeying all constraints.
• Complete: All variables having values.
• Solution: A complete, consistent state.
• Objective Function: Extra!
Real World Samples of CSP
• Assignment problems
– e.g., who teaches what class
• Timetabling problems
– e.g., which class is offered when and where?
• Transportation scheduling
• Factory scheduling
•
•
–
•
–
CSP, Sample
• To assign one of {red, green, blue} to each of 7
variables: WA, BT, SA, Q, NSW, V, T.
• Constraints:
– WA ≠ NT,WA ≠ SA ,
NT ≠ Q, SA ≠ Q , …
• Solution:
– {WA = red , NT = green,
Q = red , NSW = green, …
Formulation
• Initial State: { }
• Successor Function: Value assignment to one
variable with no conflict.
• Goal Test: Consistent, Complete, assignment.
• Path Cost: 1 for each step.
Constraint Types
• Constraint Types:
– Unary / Binary / More…
• Auxiliary Variables
• Variables: F T U W, R O X1 X2 X3
• Constraints: All Different (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
–
–
•
TWO+TWOFOUR
TWO+TWOFOUR
Recursive Back Track Algorithm
• Recursive Back Track( assignment , CSP )
If assignment is complete, return assignment.
Var Select an unassigned variable.
For each Value in Domain (Var),
if Consistent( assignment + Var Value ) Then
result RBT (assignment + Var Value )
if ( result ≠ failure ) return result.
Return failure.
Major Questions…
1. Which variable to assign.
2. What to assign.
3. How to prevent further repetitions of a failure.
Minimum Remaining Values (MRV)
• To choose one which is most likely to fail
• Immediate recognition
of failure
Benchmark
Problem Backtracking Backtracking + MRV
USA 4-Coloring > 1000 K > 1000 K
N-Queens (2-50) > 40000 K 13500 K
Zebra 3859 K 1 K
Most Constraining Variable (MCS)
• To choose one who interferes the others most!
• Major reduction in
branching factor.
55
33
33
33
22
22
00
Least Constraining Value (LCS)
• To choose a value which puts minimum constraint on
other variables.
• To leave maximum
flexibility.
Forward Checking
• Keep track of remaining legal values for unassigned variables
• Terminate search when any variable has no legal values
Benchmark
Problem BT BT +
MRV
Forward
Checking
FC +
MRV
USA > 1 M > 1 M 2 K 60
N-Queens > 40 M 13.5 K >40 M 817 K
Zebra 3859 K 1 K 35 K 500
Arc Consistency
• AB is consistent if for each remaining value in
domain of A, there may be a consistent value in
domain of B.
– Consistent:
• SANSW, NSWV,…
– Not C.:
• NSWSA, NTSA,…
Arc Consistency Checking Algorithm (AC-3!)
• AC3( csp )Fill queue with all available arcs of csp.While queue not empty,
(Xi,Xj) RemoveHead( queue )If RemoveInconsistentValues(Xi,Xj) Then
for each Xk in Neighbor (Xi) do Add (Xk,Xi) to queue.
• Remove Inconsistent Values (Xi,Xj)removed false.For each x in Domain (Xi)
if no allowed value in Domain (Xj) after assignment of x to Xi,delete x from Domain (Xi); removed true.
Return removed.
Special Constraints…
• All Different
– Sort remaining variables based on their number of choices…
• Resource Constraints
– Checking the sums, …
• Flight271 [0,165] , Flight272 [0,385]
• Flight271+Flight272 = 420
Flight271 [35,165] , Flight272 [255,385]
• Bounds Propagation
Intelligent Backtracking
1. Q Red
2. NSW Green
3. V Blue
4. T Red
5. SA ?
• Chronological Backtracking
1111
2222
3333
4444
????
Back Jumping
1. Q Red
2. NSW Green
3. V Blue
4. T Red
5. SA ?
• Conflict Set: {Q, V, NSW}
NOTE: Back Jumping doesn’t help Forward Checking.
1111
2222
3333
4444
????
Local Search for Constraint Satisfaction Problems
• Min Conflict Algorithm
– Create a random complete state.
– For a fixed number of times
• If current state is consistent, return.
• Choose a random variable v, and change assignment of v to a
value that causes minimum conflict.
• Scheduling Hubble’s weekly observation:
– From 3 weeks to 10 minutes!
• Extra advantage: Online Updating
Benchmark
Problem BT BT +
MRV
Forward
Checking
FC +
MRV
Min
Conflicts
USA > 1 M > 1 M 2 K 60 64
N-Queens > 40 M 13.5 K >40 M 817 K 4 K
Zebra 3859 K 1 K 35 K 500 2 K
Heuristics based on Structure
• Sub Problems
– Finding Connected Components
• Constraint Trees
AA
BB
CC
DD
EE
FF
Heuristics based on Structure
• Constraint Trees:
– Order nodes.
– From last to first, remove all
values from domain of parent
which may violate arc-consistency.
– From first to last, assign a
remaining value.
AA
BB
CC
DD
EE
FF
AA
BB
CC DD
EEFF
11
33
22
55
44
66
How to convert Constraint Graph to Constraint Tree
• Cut-Set Conditioning
– To select a set of nodes that subtracting them results in a tree.
– To check the rest for all valid assignments of this set.
Tree Decomposition
• Include all variables
• Each constraint must be in at least one sub problem.
• If a variable is in two sub-probs, it must be in all sub-
probs along the path.