190 likes | 335 Vues
In this lecture, we delve into constraint satisfaction problems (CSPs) and their significance in artificial intelligence. By treating states as more than mere black boxes, we can uncover powerful search methods and gain insights into problem structure and complexity. Topics covered include the definition of CSPs, types of constraints, and effective search strategies such as recursive backtracking, forward checking, and local search techniques like the min-conflict algorithm. Real-world applications such as timetabling, assignment problems, and transportation scheduling will also be discussed.
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.