# 159.3021 Lecture 11 Last Time: Local Search, Constraint Satisfaction Problems Today: More on CSPs.

## Presentation on theme: "159.3021 Lecture 11 Last Time: Local Search, Constraint Satisfaction Problems Today: More on CSPs."— Presentation transcript:

159.3021 Lecture 11 Last Time: Local Search, Constraint Satisfaction Problems Today: More on CSPs

159.3022 What is a CSP? A special kind of search problem in which states are defined by the values of a set of variables and the goal test specifies a set of constraints that the values must obey. e.g. 8 queens – assign positions to queens timetabling – assign rooms to classes scheduling – assign times to classes circuit layout – assign position to components sudoko – assign numbers to boxes

159.3023 Example – Map colouring assign each region a colour, neighbouring regions must be different colours

159.3024 How are the constraints described? 2 ways: As rules, e.g. WA != NT, WA != SA, NT != SA, NT !=Q, SA !=Q, SA != NSW, Q != NSW, NSW != V, SA !=V As possible values, e.g. {(WA,NT)}={(red,green),(red,blue),(green,red),(green,blue),(blue,re d),(blue,red)}

159.3025 What types of constraints are there? Constraints can be unary, binary, or higher-order: Unary: concern the value of a single variable Binary: relate pairs of variables (in 8-Queens all constraints are binary) Higher-order: triples, 4-tuples,...

159.3026 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 d n 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

159.3027 Backtracking Example

159.3028 Can backtracking be improved? Three methods 1. Which variable should be assigned next? 2. In what order should its values be tried? 3. Can we detect inevitable failure early?

159.3029 Which variable to try next? Minimum remaining values (MRV) Choose the variable with the fewest legal values (most constrained variable)

159.30210 What if variables have the same MRV? Use the Degree Heuristic choose the variable with the most constraints on remaining variables

159.30211 Which value to try next? 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

159.30212 What is forward checking? Keep track of remaining legal values for unassigned variables Terminate search when any variable has no legal values

159.30213 Example: 4 Queens 1 3 2 4 3241 X1 {1,2,3,4} X3 {1,2,3,4} X4 {1,2,3,4} X2 {1,2,3,4}

159.30214 4 Queens 1 3 2 4 3241 X1 {1,2,3,4} X3 {,2,,4} X4 {,2,3, } X2 {,,3,4}

159.30215 4 Queens 1 3 2 4 3241 X1 {1,2,3,4} X3 {,,, } X4 {,2,3, } X2 {,,3,4}

159.30216 4 Queens 1 3 2 4 3241 X1 {1,2,3,4} X3 {,2,, } X4 {,,3, } X2 {,,,4}

159.30217 4 Queens 1 3 2 4 3241 X1 {1,2,3,4} X3 {,2,, } X4 {,,, } X2 {,,,4}

159.30218 4 Queens 1 3 2 4 3241 X1 {,2,3,4} X3 {1,,3, } X4 {1,,3,4} X2 {,,,4}

159.30219 4 Queens 1 3 2 4 3241 X1 {,2,3,4} X3 {1,,, } X4 {1,,3, } X2 {,,,4}

159.30220 4 Queens 1 3 2 4 3241 X1 {,2,3,4} X3 {1,,, } X4 {,,3, } X2 {,,,4}

159.30221 4 Queens 1 3 2 4 3241 X1 {,2,3,4} X3 {1,,, } X4 {,,3, } X2 {,,,4}

159.30222 What is 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

Download ppt "159.3021 Lecture 11 Last Time: Local Search, Constraint Satisfaction Problems Today: More on CSPs."

Similar presentations