i may require adding new constraints, except for… o i =1 domain filtering o i = constraint filtering Robert Woodward & Berthe Y. Choueiry Constraint Systems Laboratory Department of Computer Science & Engineering University of Nebraska-Lincoln When A Little Reasoning Saves A Lot of Hard Work A Constraint Satisfaction Problem (CSP) is defined by Applications include scheduling & resource allocation, design & product configuration, software & hardware verification, Puzzles, etc. CSPs are solved using o Search: it laboriously enumerates combinations of assignments of values to variables. Search can be done in a ‘smart’ way, but is in general tedious (i.e., exponential cost). o Constraint Propagation o Constraint Propagation: it ‘thinks’ about the constraints to remove ‘values’ (from variables) & ‘tuples’ (from constraints) that cannot participate in any solution. AC RR RG GR GG 5, 6, 7, 8 7, 8, 9, 10, 11, 12 5, 6, 7, 8 A B C B<C A<B 2<C-A<5 Constraint Propagation by Domain Filtering ABCDEJI ………………… JIHGFED ………………… Exactly 2 mines Exactly 3 mines Algorithms for Constraint Propagation enforce relational consistency properties R(i,m)C where o m is the number of constraints considered o i is the number of variables considered The task is find one solution (i.e., an assignment of values to variables satisfying all constraints) or all solutions o A set of decisions to make (variables) o A set of choices for each variable (values, domain) o A set of constraints restricting the allowable combinations of values (tuples) to variables Domain Filtering: R(1,m)C Polynomial space only for m=2 Otherwise, exponential space Two linear-space algorithms o VVP S EARCH : suitable for loose constraints o A LL S EARCH : suitable for tight constraints Constraint Filtering: R( ,m)C D UAL -AC3 only for m=2 Otherwise, none existed One exponential & three linear-space algorithms o J OIN -R(*, m)C: exponential space, conceptual o D UAL -AC2009 only for m=2 o S EARCH -R( ,m)C: suitable for loose constraints o A LL S EARCH -R( ,m)C: suitable for tight constraints R, G A B C Constraint Propagation by Constraint Filtering Acknowledgments 1. Context & Focus 2. Techniques & Contributions 3. Illustration: Minesweeper as a CSP Constraint propagation operates locally. It is ‘cheap’ (i.e., polynomial time) & can considerably reduce search effort. Thus, a little thinking can save a lot of hard work Search (ground truth) Constraint Filtering (+DF) Domain Filtering m=2m=1 Exponential Efficient, use for tight constraints loose constraints Setting m Relevance o Motivates research o Facilitates teaching of complex concepts & mechanisms o Helps in outreach & recruiting o Demystifies human fascination with puzzles Modeling Minesweeper with Constraints R( ,2)C vs. R(1,3)C o Both solve the puzzle o R( ,2)C cheaper R( ,m)C is Stronger Than R(1,m)C The focus of our research is the development of new algorithms for constraint propagation m = The Larger m, the Stronger the Propagation m is the number of constraints examined The larger m o The more cells uncovered o … the larger the cost ABCD ,1 ABCDEFG BCEF ADEFG R(1,1)C R(1,3)C R( ,2)C R( ,3)C 0,1 G A E G ABCD BCEF ADEFG ABCD BCEF ADEFG Robert Woodward o Was supported by UCARE during 2007—2008 & 2008—2009. Barry M. Goldwater Scholarship o Is the recipient of a Barry M. Goldwater Scholarship for 2008— Work on Minesweeper as a CSP was started by Josh Snyder & continued by Ken Bayer under CAREER Award # from the National Science Foundation. Ongoing evaluations are in collaboration with Shant Karakashian.