190 likes | 326 Views
An Introduction to Artificial Intelligence. Lecture 5: Constraint Satisfaction Problems Ramin Halavati (halavati@ce.sharif.edu).
E N D
An Introduction to Artificial Intelligence Lecture 5: Constraint Satisfaction Problems Ramin Halavati (halavati@ce.sharif.edu) 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.
Overview • States/Goal(s) • Black Box vs. Structured • General Purpose Heuristics
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 +TWO FOUR
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. remove (Var Value ) from assignment Return failure.
Major Questions… • Which variable to assign. • What to assign. • 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
Most Constraining Variable • To choose one who interferes the others most! • Major reduction in branching factor. 3 3 2 5 3 2 0
Least Constraining Value (LCV) • 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
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,…
Intelligent Backtracking • Q Red • NSW Green • V Blue • T Red • SA ? 1 2 ? 3 4
Back Jumping • Q Red • NSW Green • V Blue • T Red • SA ? • Conflict Set: {Q, V, NSW} 1 2 ? 3 4
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.